创建一个不间断的 cline

创建一个不间断的 cline

我有一个 LaTeX 长表,其中有连接的单元格,因此有一个 cline。

长表是自动生成的,所以我无法手动插入命令,因为这太费工作量了。

我不希望表格在合并单元格处中断(见所附屏幕截图)。合并单元格的数据应始终位于同一页上。

不受欢迎的破坏行为

我通过创建“nobreakhline”并将其用在我不想中断的地方,实现了“hline”的类似行为。

\def\nobreakhline{%
\multispan\LT@cols\unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr
\noalign{\penalty10000}}

我想为我的 clines 复制这种行为,但我对 LaTeX 还不够了解,不知道如何实现这一点。

我希望有人能帮助我,如果还有其他问题,我很乐意提供更多信息:)

提前致谢!保罗

答案1

您可以在其中插入惩罚,\cline但这不会对正常表格造成任何损害,因为无论如何都不会发生分页。

\makeatletter
\def\@cline#1-#2\@nil{%
  \omit
  \@multicnt#1%
  \advance\@multispan\m@ne
  \ifnum\@multicnt=\@ne\@firstofone{&\omit}\fi
  \@multicnt#2%
  \advance\@multicnt-#1%
  \advance\@multispan\@ne
  \leaders\hrule\@height\arrayrulewidth\hfill
  \cr
  \noalign{\nobreak\vskip-\arrayrulewidth}}
           %^^^^^^^^
\makeatother

相关内容