我正在尝试构建一个有三列的表格,其中可以在中间一列中放入一段较长的文本。该代码适用于 2 列,但不适合 3 列。有人能帮忙吗?
\documentclass{article}
\newlength\mylength
\setlength\mylength{\dimexpr.5\columnwidth-2\tabcolsep-0.5\arrayrulewidth\relax}
\begin{document}
\begin{table}
%% \centering % not needed
\caption{Simulation parameters}
\begin{tabular}{p{\mylength}|p{\mylength}}
\hline
\textbf{Variable} &\textbf{Defintion} & \textbf{Source} \\\hline \\
\hline
ABCDEF & Long Text Long Text LongLong Text Long Text LongLong Text Long Text LongLong Text Long Text LongLong Text Long Text Long Text & Database Name \\ \\
\hline
\end{tabular}
%\label{table: simulation parameters}
\end{table}
\end{document}
答案1
您的表格代码有更多问题:
- 定义了两列,但你使用了三列
- 而
\\ \hline \\ \hline
应该是\\ \hline\hline
- 表格不够平衡。你应该重新考虑它的设计,例如第一列、第二列以及最后一列的列类型
tabularx
(这不是明确的要求)l
X
\documentclass{article}
\begin{document}
\begin{table}
%% \centering % not needed
\caption{Simulation parameters}
\begin{tabular}{*{3}{p{\dimexpr0.33\linewidth-2\tabcolsep\relax}}}
\hline
\textbf{Variable} & \textbf{Defintion} & \textbf{Source} \\
\hline\hline
ABCDEF & Long Text Long Text LongLong Text Long Text Long Long Text Long Text Long Long Text Long Text Long Long Text Long Text Long Text & Database Name \\
\hline
\end{tabular}
%\label{table: simulation parameters}
\end{table}
\end{document}
例如带有tabularx
和 的表格版本booktabs
:
\documentclass{article}
\usepackage{booktabs, tabularx}
\begin{document}
\begin{table}[ht]
\caption{Simulation parameters}
\begin{tabularx}{\linewidth}{ l X l}
\toprule
\textbf{Variable} & \textbf{Defintion} & \textbf{Source} \\
\midrule
ABCDEF & Long Text Long Text LongLong Text Long Text Long Long Text Long Text Long Long Text Long Text Long Long Text Long Text Long Text & Database Name \\
\bottomrule
\end{tabularx}
%\label{table: simulation parameters}
\end{table}
\end{document}