当使用 LaTeX 创建大型表格时,表格也会延伸到页脚。如果我使用该longtable
包,那么它对于较长的表格来说工作正常,并且不会延伸到页脚区域,但是当表格尺寸较小时,它会将表格分成两部分,这是不必要的。
我正在创建一份包含许多不同大小表格的报告。LaTeX 中是否有任何包可以自动根据大小调整表格大小?现在,我手动使用\begin{tabular}
和\end{tabular}
调整小表格,使用\begin{longtable}
和\end{longtable}
调整长表格。
答案1
您可以修改水平宽度使用多种选择的表格:
- 手动进行列间分离,例如,
\begin{tabular}{@{10}{@{\hspace{<len>}}c@{\hspace{<len>}}}} % Inter-column gap of <len>
修改命令如
\tabcolsep
或\extracolsep
来调整列间间距。通过以下方式调整整个表格的大小以适合行宽
graphicx
包裹\resize{<h-len>}{<v-len>}{<stuff>}
命令:
\resizebox{\linewidth}{!}{%
\begin{tabular}{...}
...
\end{tabular}%
}%
- 使用固定宽度的表格。这可以使用环境
tabular*
,也可以tabularx
使用tabularx
包裹。后者提供了一个可伸缩列说明符。但是,如果表格宽度大于,则X
这些都不会缩小表格以适应。例如:\linewidth
\linewidth
\begin{tabular*}{\linewidth}{<column specs>}
...
\end{tabular*}
\usepackage{tabularx}% http://ctan.org/pkg/tabularx
...
\begin{tabularx}{\linewidth}{<column specs>}
...
\end{tabularx}
- 使用不同的字体,例如
\small
。但是,这会使整个表格与文档的其余部分看起来/感觉不同。不推荐。
更多信息请阅读TeX FAQ 上的固定宽度表格条目。
为了调整垂直长度在您的桌子上,您可以尝试以下操作之一:
\resizebox{<h-len>}{<v-len>}{<stuff>}
使用与上述类似的方式使用命令调整垂直长度。这次,设置<h-len>=!
为保持纵横比。\arraystretch
使用类似方法修改参数\renewcommand{\arraystretch}{0.8}
\\[<len>]
使用而不是指定手动行跳过,\\
以生成新的表格行。这让您可以控制行之间的跳过大小。