包含多列且长文本适合列内的表格

包含多列且长文本适合列内的表格

我正在尝试构建一个有三列的表格,其中可以在中间一列中放入一段较长的文本。该代码适用于 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(这不是明确的要求)lX

\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}

相关内容