仅居中 LaTeX 表格标题

36

我希望只居中表格的标题,而不是特定列的正文。例如:

\begin{table}[!t]
\centering
\caption{
\bf{My table}}
\begin{tabular}{l|c|}
...
\end{tabular}
\end{table}

这会创建一个左对齐的列和一个居中对齐的列。我希望所有标题都居中对齐,但表格的正文实际上是左对齐的。如果每个列中的条目很宽,没有将标题居中对齐就有点奇怪(它会在标题中留下很多空白)。

第二个问题是是否有办法强制让表格在LaTeX中独占一页?或者任何图形都行吗?

3个回答

51

使用以下方式定义标题:

\multicolumn{1}{c}{Heading}

随意在c的前后加上竖线|


第一个参数指定要跨越的列数。 - Svante
是的。我假设他想要每列都有一个标题。通常在这种情况下,就是这样的情况。 - dmckee --- ex-moderator kitten
3
抱歉,我只是想把那个当作一条注释;你说得完全正确。 - Svante
1
@Svante:不用道歉,这是一个好的提示,为答案增加了价值。我没有在这里输入它,因为我已经在其他地方回答了那个问题,而且我感到有点懒。 - dmckee --- ex-moderator kitten
由于在每个标题单元格中添加\centering似乎可以达到相同的效果,您能详细说明为什么指定一个多列可能是更好的选择吗? - undefined
我刚刚意识到,在表格单元格中,\centering 应该在后面加上 \arraybackslash,因为它会改变双反斜杠的定义,而双反斜杠在表格中用作行分隔符。 - undefined

8
为了让表格(或其他浮动元素)显示在单独的页面上,请使用位置参数 p
\begin{table}[p]
  ...

然后它将出现在章节/部分的末尾,或者当您发出\clearpage\cleardoublepage时。


1
嘿!错过了问题的那一部分。 - dmckee --- ex-moderator kitten

0
使用caption包。
\usepackage{caption} 
\captionsetup[table]{skip=6pt}    

或者

\captionsetup[table]{aboveskip=6pt}
\captionsetup[table]{belowskip=6pt}

在导言中添加

\begin{table}[!t]
\centering
\caption{\bfseries{My table}}
\begin{tabular}{l|c|}
...
\end{tabular}
\end{table}

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