我有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
并按预期换行。但是l
,r
和c
列不会换行。
您可能有兴趣使用tabularx
包裹的tabularx
环境。它提供了一个X
列规范,该规范会中断(如p{<len>}
),但会扩展以填充一些预先指定的宽度。用法类似于
\begin{tabularx}{\linewidth}{p{5cm}Xp{5cm}}
% Your tabular stuff here
\end{tabularx}
在上面的代码片段中,表格将很\linewidth
宽,并且X
-column 会填满剩余的部分\linewidth-10cm
(以及一些列间距)。