默认情况下(在article
类中),表格标题(没有带深度的字母)与具有两行或更多行的表格非常接近。只有当表格具有一行,那么标题和表格就会有一定距离(在这种情况下,标题中具有深度的字母似乎不会改变任何东西)。
- 为什么默认距离这么小(如表1所示)?
- 为什么如果只有一条线,距离就会增加(表2)?
该图片是根据以下 MWE 创建的。
\documentclass{article}
\begin{document}
\begin{table}[h]\caption{aaaa}
\centering
\begin{tabular}{r@{ }l}
\hline
Hardly any & distance\\
\hline
between &caption and table;\\ %second row is essential!
\hline
\end{tabular}
\end{table}
\begin{table}[h]\caption{bbbb}
\centering
\begin{tabular}{r@{ }l}
\hline
Some distance between & caption and table;\\
\hline
%no second row!!
\end{tabular}
\end{table}
\end{document}
当然,有不同的“解决方法”(但这不是我的问题):
通过使用
\usepackage{caption} \captionsetup[table]{skip=5pt}
通过设置
\belowcaptionskip
为某个值\setlength\belowcaptionskip{5pt}
或者直接放在
\strut
表 1 的标题里。
答案1
该类article
设置\belowcaptionskip
为零;因此标题和表格之间没有任何垂直空间。该包通过反转标题在先的角色来解决这个问题,如果我没记错的话caption
。\abovecaptionskip
\belowcaptionskip
tabular
为什么第二种情况下的空间稍微大一些?这与 TeX 执行的行间粘合计算以及的默认垂直对齐方式有关c
。
两行tabular
的高度为 15.09999pt,这会触发\lineskip
在标题和表格之间插入粘连。相反,一行表格的高度为 8.9pt,因此会进行常规计算。
两行表格。基线跳过为 12pt,标题深度为零;表格太高,因此
\lineskip
插入粘连(1pt)。单行表格。基线间距为 12pt,标题深度为零;
\baselineskip-8.9pt=3.1pt
插入粘连。
奇怪的是,如果你使用,\begin{tabular}[t]
你会看到更大的间隙。这是为什么呢?因为表格中的顶部项目的\toprule
高度为 0.4pt;因此插入了行间粘连 12-0.4=11.6pt。