如何在 hline 后添加垂直空间支柱?

如何在 hline 后添加垂直空间支柱?

我知道在 之后的第一行和 之前的最后一行添加“struts”的表格技巧\hline。我在我的整个文档中都使用它,这样看起来不错。

longtable但是,现在我在/环境中工作supertabular。如果到达分页符,这些环境会添加一个运行头,在我的情况下,运行头以 结尾\hline

现在我遇到了一个问题。虽然longtable/supertabular环境知道分页符发生在哪里,并添加了新的页眉,不知道。我无法在适当的位置添加“上方”支柱。

我看到的唯一选项是在头部添加一个“下方”支柱\hline。但我不知道该怎么做……?!?

答案1

 \hline
 \noalign{\vskip 3in}    

在行后留出一些空格。

答案2

以下是不是直接回答您的问题,而是建议考虑采取不同的、(在我看来)最终更简单的方法来解决您的问题。

和您现在一样,我也曾经将 strut 放置在各种\hline指令的上方和下方,以改善环境的整体外观tabular(或tabular*supertabular等)。我想我是在阅读 Claudio Beccari 的一篇题为“表格和数组的正确间距”的文章后开始以这种方式使用 strut 的,该文章发表于TeX 和 TUG 新闻,第 2 卷,第 3 期,1993 年。(本文可在线查阅;参见第 10-11 页,例如,http://mirror.utexas.edu/ctan/info/digests/ttn/ttn2n3.pdf。我觉得还是值得一读的。)

然后,就在几年前,我“发现”了书签包,它采用对面的解决在表格中水平线周围获得适当间距的问题的方法。该包无需更改 之前/之后文本行的深度/高度(通过插入适当的支柱)\hline,而是提供命令\toprule\bottomrule\midrule\cmidrule:这些命令会自动在相应的水平线下方和/或上方插入适当数量的垂直空白。(此外,这些水平线往往看起来更专业,因为它们的宽度并不相同,但这是另一个问题。)

那么,假设您需要创建一个包含三列的超长表格,并且假设您将使用环境xtabular- 通过加载表格包——创建此表。然后您可以设置如下内容:

\tablefirsthead{%  % for table header on first page
\toprule
  Col 1 header & Col 2 header & Col 3 header \\
\midrule
}

\tablehead{%     % for table headers except on first page
\multicolumn{3}{l}{\small\emph{Continued from previous page}} \\
\midrule[\heavyrulewidth]  % line with same width as \toprule but with more spacing
  Col 1 header & Col 2 header & Col 3 header \\
\midrule
}

\tabletail{%    % for table tails except on very last page
\midrule[\heavyrulewidth]  %line with same width as \bottomrule but with more spacing
\multicolumn{3}{r}{\small\emph{Continued on next page}} \\
}

\tablelasttail{\bottomrule}  % table tail on very last page

\tablecaption{A very long table} \label{tab:verylong}
\begin{xtabular}{lcc}
% various lines
\midrule
% various lines
\midrule
% various lines
% ...
\end{xtabular}

我认为这种方法之所以如此吸引人,是因为您将booktabs所有与在各个水平线周围设置适当的垂直空白相关的工作委托给了 LaTeX,尤其是包的宏。您(作者)无需弄清楚在哪里插入 struts。

相关内容