Baris tabel terlalu lebar
Saya telah membuat tabel yang terlihat bagus. Namun, untuk beberapa baris yang memiliki teks panjang tidak terwakili dengan benar dalam tabel Latex.
Sayangnya, mereka keluar dari lebar textblock. Apakah ada cara untuk membungkus secara otomatis berdasarkan panjangnya?
\begin{table}[htbp]
\caption{Variable Descriptions}
\label{tab:2}
\begin{center}
\begin{tabular}{|c|c|}\hline
Variables & Descriptions\\\hline
\textit{ln(wage)} & log of wage\\
\textit{educ} & years of education, years of education, years of education, years of education, years of education\\
\textit{black} & 1 if black and 0 if not\\
\textit{hisp} & 1 if hispanic and 0 if not\\
\textit{exper} & years of experience\\
\textit{exper$^{2}$} & years of experience squared\\
\textit{married} & 1 if married and 0 if not\\
\textit{union} & 1 if belongs to a union and 0 if not\\\hline
\end{tabular}
\end{center}
\end{table}
Di sini bagaimana saya bisa membungkus teks untuk baris yang memiliki teks "tahun pendidikan, tahun pendidikan, tahun pendidikan, tahun pendidikan, tahun pendidikan"?
Jawaban
Menggemakan komentar sebelumnya @leandriis, saya ingin merekomendasikan Anda beralih dari lingkungan tabular
ke tabularx
lingkungan dan menggunakan X
jenis kolom untuk kolom kedua untuk memungkinkan pemutusan baris otomatis. Anda harus merasa bebas untuk mengatur lebar keseluruhan selain \textwidth
; pada contoh di bawah ini, saya menggunakan 0.8\textwidth
.
Selain itu, saya ingin menyarankan agar Anda (a) menggunakan perataan kiri daripada memusatkan kedua kolom, (b) menyediakan lebih banyak struktur dalam tabel dengan menempatkan empat variabel dummy dalam grup dan memberinya sub-header , dan (c) menggunakan lekukan gantung di kolom kedua untuk meningkatkan keterbacaan.
Opsional, Anda mungkin ingin (d) menghilangkan semua aturan vertikal dan menggunakan beberapa macro pengguna dari booktabs
paket - \toprule
, \midrule
, \bottomrule
, dan \addlinespace
- untuk memberikan meja yang lebih terbuka dan mengundang "terlihat".
Secara terpisah, menurut saya akan terlihat agak ceroboh untuk menggunakan nama variabel seperti \textit{ln(wage)}
. IMNSHO, $\ln(\textit{wage})$
lebih disukai karena menggunakan huruf tegak untuk "ln" serta tanda kurung tegak.

\documentclass{article}
\usepackage{tabularx} % for 'tabularx' env. and 'X' col. type
\usepackage{ragged2e} % for \RaggedRight macro
\usepackage{booktabs} % for \toprule, \midrule etc macros
%% create a derivative column type called 'L':
\newcolumntype{L}{>{\RaggedRight\hangafter=1\hangindent=1.5em}X}
% How to typeset variable names:
\newcommand\vn[1]{\textit{#1}}
\begin{document}
\begin{table}[htbp]
\centering
\caption{Variable Names and Descriptions\strut}
\label{tab:2}
\begin{tabularx}{0.8\textwidth}{@{} l L @{}}
\toprule
Name & Description\\
\midrule
$\ln(\vn{wage})$ & logarithm of wage\\
\vn{educ} & years of education, years of education, years of education, years of education, years of education\\
\vn{exper} & years of experience\\
\vn{exper$^{\,2}$}& years of experience squared\\
\addlinespace
\multicolumn{2}{@{}l}{Dummy variables:}\\
\vn{black} & 1 if black, 0 if not\\
\vn{hisp} & 1 if hispanic, 0 if not\\
\vn{married} & 1 if married, 0 if not\\
\vn{union} & 1 if belongs to a union, 0 if not\\
\bottomrule
\end{tabularx}
\end{table}
\end{document}
Tambahan untuk mengatasi permintaan tindak lanjut OP: Instruksi
\begin{tabularx}{0.8\textwidth}{@{} l L @{}}
memulai tabularx
lingkungan yang lebar keseluruhannya 0.8\textwidth
dan yang berisi 2 kolom. Kolom pertama adalah tipe l
, yang merupakan tipe kolom LaTeX dasar, untuk kolom yang isinya harus rata kiri tanpa pemutusan garis, dan yang kedua adalah tipe L
. The L
jenis kolom didefinisikan sebelumnya dalam jawabannya melalui \newcolumntype
direktif. The L
kolom jenis ini berasal dari X
jenis kolom yang, pada gilirannya, didefinisikan dalam tabularx
paket sebagai turunan dari lebih mendasar p
jenis kolom. Untuk tujuan kita, dua karakteristik utama dari X
tipe kolom adalah (i) secara otomatis memungkinkan pemutusan garis sesuai kebutuhan (tidak seperti l
tipe kolom) dan (ii) lebarnya dihitung secara dinamis oleh LaTeX sebagai residual, yaitu. , sebagai perbedaan antara lebar keseluruhan atau target dari tabularx
lingkungan (di sini 0.8\textwidth
:) di satu sisi dan lebar semua kolom lain yang mungkin ada (di sini: hanya 1 kolom, yang sel terluasnya diatur oleh kata \vn{married}
) ditambah spasi kosong antar kolom di sisi lain. ( L
Jenis kolom berbeda dari X
jenis kolom yang mendasari dalam dua cara: Ini mengeset isinya ragged-right daripada benar-benar dibenarkan, dan ini menerapkan "indentasi gantung", dimulai dengan baris kedua sel.) Akhirnya, kedua @{}
partikel berfungsi untuk menekan padding spasi yang seharusnya disisipkan di kiri kolom pertama dan di kanan kolom terakhir.