在 booktabs longtable 中的页面顶部规则后留出间距,与同一表中其他规则后的间距保持一致

在 booktabs longtable 中的页面顶部规则后留出间距,与同一表中其他规则后的间距保持一致

适当放置后,longtable包代码\midrule\endhead会在环境生成的第一行之后的每一页的第一行之前放置一条水平线longtable。下面的简单代码会生成一个延伸到第二页的表格,但第二页上的第一条规则(由上述命令生成)在该页第一行的文本上方太高,从而导致行大小不均匀。

(截图后添加了红框以强调。) 在此处输入图片描述

如何使此行与表中其他行(单行)的大小相同?

\documentclass[11pt, a4size]{article}
\usepackage{booktabs}
\usepackage{longtable}

\begin{document}

\begin{longtable}[t]{p{15cm}}
\textbf{Lorem ipsum}
\endfirsthead

\midrule
\endhead

\bottomrule
\endlastfoot

\toprule
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. \\
\midrule
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. \\
    [...a few dozen repetitions...]
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. \\
\midrule
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. \\
\midrule
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. \\
\midrule
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. \\
\midrule
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. \\
\end{longtable}

\end{document}

答案1

编辑 似乎您在下一页中发现了在列标题后longtable使用a 的错误/缺陷\midrule。这不应该发生(请参阅软件包手册第 7 页顶部的描述)。

解决您的问题的可能方法是使用\specialrule(请参阅下面的 MWE,其中考虑到人们通常在每个页面上重复列标题):

\documentclass[11pt, a4size]{article}
\usepackage{booktabs,longtable}

\usepackage{lipsum}
\begin{document}

\begin{longtable}[t]{p{15cm}}
\caption{Lorem ipsum}
\label{tab:mylongtabletest} \\
    \toprule
\textbf{Column header}      \\
    \midrule
\endfirsthead
    \toprule
\textbf{Column header}      \\
% Adding \midrule here introduce undesired vertical space
% between column header and text below on the next page(s).
% As solution can be used `specialrule as follows:
    \specialrule{\lightrulewidth}{\abovetopsep}{0pt} % <--------
\endhead
\multicolumn{1}{r}{\footnotesize\emph{Continue on the next page}}   \\
\endfoot
    \bottomrule
\endlastfoot
% table body
\lipsum[66] \\
    \midrule
\lipsum[66] \\
    \midrule
\lipsum[66] \\
    \midrule
\lipsum[66] \\
    \midrule
\lipsum[66] \\
    \midrule
\lipsum[66] \\
    \midrule
\lipsum[66] \\
    \midrule
\lipsum[66] \\
    \midrule
\lipsum[66] \\
    \midrule
\lipsum[66] \\
    \midrule
\lipsum[66] \\
    \midrule
\lipsum[66] \\
    \midrule
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. \\
\end{longtable}

\end{document}

现在垂直间距符合预期。

在此处输入图片描述

(第一页)

在此处输入图片描述

(第二页)

相关内容