为什么 longtable 在后续页面的头部之后添加垂直跳过以及如何修复这个问题?

为什么 longtable 在后续页面的头部之后添加垂直跳过以及如何修复这个问题?

为什么 longtable 在后续页面的头部之后添加垂直跳过以及如何修复这个问题?

\documentclass{article}
\usepackage[a6paper,margin=4mm]{geometry}
\usepackage{booktabs,caption,longtable}
\usepackage{lipsum}
\usepackage{tikz}
\pagestyle{empty}
\parindent=0pt
\begin{document}

\begin{longtable}{rp{8cm}}
\caption{Example table}
\\\toprule
\textbf{P} & \textbf{Text}
\\\toprule
\endfirsthead

\caption[]{Example table (continued)}
\\\toprule
\textbf{P} & \textbf{Text}
\\\toprule
\endhead

\multicolumn{2}{r}{\footnotesize continued on the next page}
\endfoot

\bottomrule
\endlastfoot

1 & \lipsum[1]\vspace{-\baselineskip}
\\*\midrule
2 & \lipsum[2]\vspace{-\baselineskip}
\\*\midrule
3 & \lipsum[3]\vspace{-\baselineskip}
\\*\midrule
4 & \lipsum[4]\vspace{-\baselineskip}
\end{longtable}

\begin{tikzpicture}[remember picture, overlay, color=red, line width=0.2pt]
\draw ([yshift=-18.9mm]current page.north west) -- ([yshift=-18.9mm]current page.north east);
\draw ([yshift=-19.9mm]current page.north west) -- ([yshift=-19.9mm]current page.north east);
\end{tikzpicture}%

\end{document}

在此处输入图片描述在此处输入图片描述

上述文档及其页面图像清楚地显示了该问题(我使用 TikZ 来强调这一点)。

答案1

它是 ; 后面的空格\midrule,您可以通过引入显式的 来取消它\addlinespace

\begin{longtable}{rp{8cm}}
\caption{Example table}
\\\toprule
\textbf{P} & \textbf{Text}
\\\midrule[\heavyrulewidth]
\endfirsthead

\caption[]{Example table (continued)}
\\\toprule
\textbf{P} & \textbf{Text}
\\\midrule[\heavyrulewidth]
\addlinespace[0pt]
\endhead

\multicolumn{2}{r}{\footnotesize continued on the next page}
\endfoot

\bottomrule
\endlastfoot

1 & \lipsum*[1]
\\\midrule
2 & \lipsum*[2]
\\\midrule
3 & \lipsum*[3]
\\\midrule
4 & \lipsum*[4]
\end{longtable}

请注意,在该位置上\midrule[\heavyrulewidth]优于\toprule\lipsum*避免了最后的\par命令,这样就不需要退格了。

相关内容