如何缩小LaTeX表格?

69

我有一个LaTeX表格,看起来是这样的:

\begin{table}[!ht]
\centering
\small
\caption{
\bf{Caption}}
\begin{tabular}{l|c|c|l|c|c|c|c|c}
field1 & field 2 & ... \\ 
\hline
...

问题是即使使用“\small”,表格仍然太大,因为我使用了:

\usepackage{setspace} 
\doublespacing

在标题中,我该如何:

  1. 使表格单倍行间距?以及
  2. 使表格更小?

我希望它能够适应整个页面。

6个回答

129

2
这种方法有几个严重的缺点。其中之一是文档中字体大小不均匀,字母形状选择也不够优化,请参见 https://tex.stackexchange.com/questions/425453/why-not-scale-elements-that-contain-text 了解更多细节。 - samcarter_is_at_topanswers.xyz
简直太美了! - Pedram

72

除了先前提到的使用\singlespacing来减小表格高度之外,减小表格宽度的一种有用方法是在\begin{tabular}命令之前添加\tabcolsep=0.11cm并删除列之间所有竖线。惊人的是,文本列之间使用了大量的空间。您可以将字体大小缩小到比\small更小,但我通常不会使用比\footnotesize更小的字体。


这就是我一直在寻找的答案。很多人要求你分别调整列的大小,而只缩小整个表格的间距会更容易。 - Electric Coffee

8
如果内容太长,可以使用longtable包。如果内容太宽,可以在列规范符中使用p{width}代替l、r或c。你还可以使用比\small更小的字号,例如\footnotesize\tiny。我建议使用setspace包中的选项来去除双倍行距,可能是\singlespace或类似的选项。

6

还有一个singlespace环境:

\begin{singlespace}
\end{singlespace}

1
应该将其放置在 \begin{tabular} 中吗? - alper

3
你可以在表格开头添加\singlespacing。查看setspace说明获取更多选项。

0
如果您想要一个更小的表格(例如,如果您的表格超出了可以显示的区域),您可以简单地更改

\usepackage[paper=a4paper]{geometry} \usepackage[paper=a3paper]{geometry}


请注意,这仅在您不打算打印表格时有帮助,因为它将显得太小了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接