使用 \hline 时防止 longtable 拆分单元格

使用 \hline 时防止 longtable 拆分单元格

尽管这个问题看起来很琐碎而且需要回答好几次,但我还没有找到解决办法 :-( 我正在使用 来longtable描述一组计算机基准测试。每个基准测试条目由行、“标题”(名称、参考)和“描述”组成。现在我不想longtable拆分标题行和描述行,而是将它们打印在同一页上。这可以使用 来完成\\*。现在的问题是我想\hline在标题和描述之间有一个,但两个潜在选项都不起作用:

  • \\\hline *:Latex 编译错误
  • \\*\hline :标题和描述分开

有办法实现吗?谢谢!

答案1

您可以将headline和放在同一行中的description单独位置。您甚至可以为其创建一个宏,例如:tabularlongtable

\newcommand{\benchmark}[2]{%
\begin{tabular}{@{}p{\linewidth}@{}}
 #1 \\ \midrule
 #2
 \end{tabular}%
 }

完整代码:

\documentclass{article}
\usepackage{longtable,booktabs}
\usepackage[textheight=3cm]{geometry}   %% 3cm only for demo
\newcommand{\benchmark}[2]{%
\begin{tabular}{@{}p{\linewidth}@{}}
 #1 \\ \midrule
 #2
 \end{tabular}%
 }
\begin{document}
  \begin{longtable}{@{}l@{}}\toprule[1pt]
  \endfirsthead
  \toprule[1pt]
  \endhead
    \benchmark{Headline}{Some Description}\\\toprule[1pt]
    \benchmark{Headline}{Some Description}\\\toprule[1pt]
    \benchmark{Headline}{Some Description}\\\toprule[1pt]
    \benchmark{Headline}{Some Description}\\\toprule[1pt]
    \benchmark{Headline}{Some Description}\\\toprule[1pt]
  \end{longtable}
\end{document}

在此处输入图片描述

相关内容