如何使 \hhline 与 longtable 的 \\* 一起工作

如何使 \hhline 与 longtable 的 \\* 一起工作
  1. longtable提供\\*可以防止分页符,longtable重新定义\hline以支持此功能
  2. 然后,multirow增强\cline以支持该功能。
    可以使用包选项“longtable”来加载增强功能,请参阅texdoc multirow第 3.6 节。
  3. 看来\hhlinefromhhline包不能使用\\*

有没有办法让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}

在此处输入图片描述

相关内容