我有一个 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