表格列固定宽度不火

表格列固定宽度不火

我有springer svjour3 模板用户指南中说,对于表格,可以使用常见的 Latex 2e 命令。

现在,我想制作一个覆盖整个页面的表格(无论我选择一列还是两列设置,错误都是相同的),其中有三列,宽度为 6cm。单元格内的文本应自动换行。

% For tables use
\begin{table*}
% table caption is above the table
\caption{Please write your table caption here}
\label{tab:1}       % Give a unique label
% For LaTeX tables use
\begin{tabular}{ p{5 cm} l p{5 cm} l p{5 cm} }
\hline\noalign{\smallskip}
first & second & third  \\
\noalign{\smallskip}\hline\noalign{\smallskip}
number & Some very very long text. And even more longer text in this column. & number \\
number & number & Some very very long text. And even more longer text in this column. \\
\noalign{\smallskip}\hline
\end{tabular}
\end{table*}

问题是,无论我如何操作表格命令的参数,我都只能为一列生成所需的 5cm,其余列将忽略它,并尽可能长地运行,并超出 pdf 页面。可能是什么原因造成的?

答案1

您的l列规范导致了此问题:p{5cm}将固定该列的宽度为5cm并按预期换行。但是lrc列不会换行。

您可能有兴趣使用tabularx包裹tabularx环境。它提供了一个X列规范,该规范会中断(如p{<len>}),但会扩展以填充一些预先指定的宽度。用法类似于

\begin{tabularx}{\linewidth}{p{5cm}Xp{5cm}}
  % Your tabular stuff here
\end{tabularx}

在上面的代码片段中,表格将很\linewidth宽,并且X-column 会填满剩余的部分\linewidth-10cm(以及一些列间距)。

相关内容