longtable
提供\\*
可以防止分页符,并。longtable
重新定义\hline
以支持此功能- 然后,
multirow
增强\cline
以支持该功能。
可以使用包选项“longtable”来加载增强功能,请参阅texdoc multirow
第 3.6 节。 - 看来
\hhline
fromhhline
包不能使用\\*
。
有没有办法让hhline
工作\\*
?也许这个答案可以作为起点,但我不确定。
\documentclass{article}
\usepackage{array}
\usepackage{longtable}
\usepackage[longtable]{multirow}
\usepackage{hhline}
\usepackage[table]{xcolor}
\textheight4\baselineskip
\pdfpageheight5\textheight
\begin{document}
\begin{longtable}{*{3}{|l}|}
\hline
A & B & C \\ \hline
A & B & C \\ \hline
A & B & C \\* \cline{2-3}
A & \cellcolor{pink}B & C \\* \cline{2-3}
A & B & C \\ \hline
\end{longtable}
\newpage
\begin{longtable}{*{3}{|l}|}
\hline
A & B & C \\ \hline
A & B & C \\ \hline
A & B & C \\* \hhline{|~|-|-|}
A & \cellcolor{pink}B & C \\* \hhline{|~|-|-|}
A & B & C \\ \hline
\end{longtable}
\end{document}
我需要\cellcolor
在里面使用longtable
因此\hhline
似乎是必须的,根据texdoc colortbl
,第 10 节。
答案1
在longtblr
环境中tabularray
封装、\\*
和\cline
单元颜色按预期工作:
\documentclass{article}
\usepackage[height=3cm,paperheight=4cm,width=3cm,paperwidth=4cm]{geometry}
\usepackage{tabularray}
\usepackage{xcolor}
\SetTblrTemplate{head,foot}{empty}
\begin{document}
\begin{longtblr}{*{3}{|l}|}
\hline
A & B & C \\ \hline
A & B & C \\ \hline
A & B & C \\* \cline{2-3}
A & \SetCell{pink} B & C \\* \cline{2-3}
A & B & C \\ \hline
\end{longtblr}