如何在 longtable 中的两行之间添加额外的间距?

如何在 longtable 中的两行之间添加额外的间距?

longtable我对和包有一个奇怪的行为array:当包含array包时,我无法再使用\\[...]语法更改行间距。MWE:

\documentclass[a4paper,11pt]{scrartcl}
\usepackage{longtable}
% \usepackage{array} % Uncomment to trigger problem
\usepackage{lipsum}
\begin{document}
\begin{longtable}{ p{3cm} | %>{\raggedright\let\newline\\\arraybackslash}
p{10cm} }
a & b\\
c & \lipsum[1] \\[4cm]
d & e
\end{longtable}
\end{document}

(备注:我希望右列左对齐,而不是块文本。因此我想使用该包。)不知何故,无论是否包含arrayMWE,LaTeX 似乎都会以不同的方式解释 4cm :array

  • 第 2 行和第 3 行之间没有array4cm 的间距。这是我的意图。
  • 包含array后,似乎 4cm 被解释为类似于行的最小高度。将其充分放大并更改文本量。在我编译的 PDF 中,第三行始终位于同一位置,如果文本太多,则向下推。

您能确认这个行为吗?我该怎么做才能避免这种情况?

答案1

即使没有数组,它也不会像您预期的那样工作。空间取决于长文本在哪一列:

\documentclass[a4paper,11pt]{scrartcl}
\usepackage{longtable}
% \usepackage{array} % Uncomment to trigger problem
\usepackage{lipsum}
\begin{document}
\begin{longtable}{ p{10cm} | p{10cm} }
c &\lipsum[1] \\[4cm]
xxxxxxxxxx & xxxxxxxxxxx\\
\lipsum[1] &  c\\[4cm]
xxxxxxxxxx & xxxxxxxxxxx
\end{longtable}
\end{document}

在此处输入图片描述

使用最新版本的数组,两种情况都会产生相同的结果并导致“最小高度”。

如果你真的想要一个空格,最简单的方法是插入一个额外的行:

  c &\lipsum[1] \\ \\[4cm]

另一种方法是在长文本末尾添加一条隐形规则。

相关内容