在长表中的行组之间添加额外的空间,分页符除外

在长表中的行组之间添加额外的空间,分页符除外

我正在处理一张表格,需要在行组之间添加额外的空间。我目前的做法是,用 结束组内除最后一行之外的所有行\\*(这可以防止在使用该行的行末出现分页符)。每组的最后一行都以 结尾,\\[\ExtraRowSpace]其中\ExtraRowSpace是某个长度(例如2cm)。

这种方法的唯一问题是,在表格的每一页(最后一页除外)的末尾,最后一行数据和之间都有一个令人讨厌的间隙\bottomrule。有什么方法可以有条件地在表格中的行组之间插入额外的空间,以便在分页符之前不会添加空间?

下面的文档对该问题进行了简单的演示:

\documentclass[12pt]{article}
\usepackage{longtable}
\usepackage{booktabs}
\newcommand{\ExtraRowSpace}{2cm}
\begin{document}
\begin{center}
\begin{longtable}{cccc}
\toprule
\textbf{A} & \textbf{B} & \textbf{C} & \textbf{D} \\
\midrule
\endfirsthead
\toprule
\textbf{A} & \textbf{B} & \textbf{C} & \textbf{D} \\
\midrule
\endhead
\bottomrule
\endfoot
\bottomrule
\endlastfoot
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d
\end{longtable}
\end{center}
\end{document}

答案1

可以使用软件包的功能修复此问题booktabs。只需将每次使用的 替换\\[2cm]为即可\\ \addlinespace[2cm]。使用\addlinespace命令可以booktabs删除页面末尾的多余空间。以下是文档的修复版本:

\documentclass[12pt]{article}
\usepackage{longtable}
\usepackage{booktabs}
\newcommand{\ExtraRowSpace}{2cm}
\begin{document}
\begin{center}
\begin{longtable}{cccc}
\toprule
\textbf{A} & \textbf{B} & \textbf{C} & \textbf{D} \\
\midrule
\endfirsthead
\toprule
\textbf{A} & \textbf{B} & \textbf{C} & \textbf{D} \\
\midrule
\endhead
\bottomrule
\endfoot
\bottomrule
\endlastfoot
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\ \addlinespace[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\ \addlinespace[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\ \addlinespace[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\ \addlinespace[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\ \addlinespace[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\ \addlinespace[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\ \addlinespace[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\ \addlinespace[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\ \addlinespace[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\ \addlinespace[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d \\ \addlinespace[\ExtraRowSpace]
a & b & c & d \\* a & b & c & d \\* a & b & c & d \\* a & b & c & d
\end{longtable}
\end{center}
\end{document}

相关内容