在行首添加额外的垂直线会为表格边框添加填充

在行首添加额外的垂直线会为表格边框添加填充

我正在尝试使用longtblr(因为它最终将跨越多页)创建一个表格,这样一些行可能是复合行。也就是说,多个后续行都被视为单个分组项目。

最初,我想使用行突出显示,但这似乎不够明显。当我尝试hlines 时也是如此。然后我想到我可以使用 double vline(我尝试了 double hline,但这似乎将行与表格的其余部分完全分开)。但是,当我这样做时,它实际上将第二条 vline 添加到左侧而不是右侧,从而奇怪地将表格的边框推开,使得只有分组的行连接在一起。

我见过其他解决方案使用multicolumn列规范来包含额外的 vline,但是,这会触发错误,因为longtblr不再支持旧接口。

以下是我所拥有的以及我所创造的:

\documentclass{minimal}

\usepackage[absolute]{textpos}
\usepackage{newpxtext,eulerpx}
\usepackage[svgnames,table]{xcolor}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{tabularray}

\begin{document}

\begin{longtblr}{row{1} = {bg=black, fg=white, font=\sffamily},colspec = {|X[1.25,c]X[1,c]X[0.75,l]c|},width = 1.0\linewidth,caption={},rowhead=1, rowfoot=1}
  Type & Name & Attributes & Number\\
  \SetRow{lightgray}
  TypeA & NameA & {AttributeA.1 \\ AttributeA.2} & {\SetCell{fg=yellow}3} \\
  \SetRow{white}
  TypeF & NameF & {AttributeF.1 \\ AttributeF.2} & \SetCell{fg=red}5 \\
  \SetRow{lightgray}
  TypeG & NameG & {AttributeG.1 \\ AttributeG.2} & \SetCell{fg=red}5 \\
  \SetRow{white}
  TypeH & NameH & {AttributeH.1 \\ AttributeH.2} & \SetCell{fg=red}5 \\
  \hline
  %grouped items, 2 rows
  \SetVline[1]{6-7}{1pt}
  \SetVline[2]{6-7}{1pt}
  \SetRow{lightgray}
  TypeC & NameC & {AttributeC.1 \\ AttributeC.2} & \SetCell{fg=red}5 \\
  \SetRow{lightgray}
  TypeD & NameD & {AttributeD.1 \\ AttributeD.2} & \\
  \hline
  \SetRow{white}
  TypeE & NameE & {AttributeE.1 \\ AttributeE.2} & {\SetCell{fg=purple}4} \\
  \hline
\end{longtblr}

\end{document}

多个 vline 错误

如何将第二条垂直线推到单元格内的右侧,而不是沿着外边框推到左侧?或者,还有其他方法可以创建此或者指示分组行的另一种方法?

编辑:这是我尝试过的粗略绘制的编辑。请注意,外部表格边框与正常边框一样,colspec而附加行边框位于外部边框内的右侧。

可能期望

请注意,如果有更好的方法来表示行依赖性,那么非文字答案也可能有效。

相关内容