我正在尝试使用longtblr
(因为它最终将跨越多页)创建一个表格,这样一些行可能是复合行。也就是说,多个后续行都被视为单个分组项目。
最初,我想使用行突出显示,但这似乎不够明显。当我尝试hline
s 时也是如此。然后我想到我可以使用 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}
如何将第二条垂直线推到单元格内的右侧,而不是沿着外边框推到左侧?或者,还有其他方法可以创建此或者指示分组行的另一种方法?
编辑:这是我尝试过的粗略绘制的编辑。请注意,外部表格边框与正常边框一样,colspec
而附加行边框位于外部边框内的右侧。
请注意,如果有更好的方法来表示行依赖性,那么非文字答案也可能有效。