使用 tabularray 包,在几个特定的​​表格单元格之间添加垂直线,使用单元格本身的命令

使用 tabularray 包,在几个特定的​​表格单元格之间添加垂直线,使用单元格本身的命令

我正在使用该tabularray软件包,并且我想在表格中的几个特定单元格之间插入垂直边框,如下表左侧所示。如 MWE 代码所示,我可以通过hline结合使用选项和相关单元格的行号来获得此类行。但是,我想在不使用绝对行号的情况下做到这一点如果可能的话 — — 理想情况下,在与边框本身相邻的单元格之一中使用命令,类似于 MWE 中的“所需源”代码 — — 这样我就可以在表的其他位置添加/删除行,并让这些边框段保持正确的内容行。

(在我最终的用例中,还存在多行和多列单元格,以及具有背景颜色的单元格,因此强烈建议采用能够与这些单元格很好地兼容的解决方案。)

在此处输入图片描述

\documentclass[margin=3mm]{standalone}
\usepackage{tabularray}
\newcommand{\cellvline}{\textbullet} % placeholder to be redefined

\begin{document}
Desired output:
\begin{tblr}{vline{1,Z},hline{1,Z},vline{2}={3}{solid},vline{4}={2}{solid}}
  a1 & a2 & a3 & a4 \\
  b1 & b2 & b3 & b4 \\
  c1 & c2 & c3 & c4 \\
\end{tblr}
\hspace{2em}

Desired source:
\begin{tblr}{vline{1,Z},hline{1,Z}}
  a1 & a2 & a3 & a4 \\
  b1 & b2 & b3 & \cellvline b4 \\
  c1 & \cellvline c2 & c3 & c4 \\
\end{tblr}
\end{document}

答案1

最简单且似乎是唯一的方法:

\documentclass[margin=3mm]{standalone}
\usepackage{xcolor}
\usepackage{tabularray}

\begin{document}
\begin{tblr}{hline{1,Z}={solid},  vline{1,Z}={1-Z}{solid},
             vline{2}={Z}{solid, fg=red}, 
             vline{Y}={Y}{solid,fg=blue},
             colspec= {Q[c]}
             }
  a1 & a2 & a3 & a4 \\
  b1 & b2 & b3 & b4 \\
  c1 & c2 & c3 & c4 \\
\end{tblr}
\end{document}

在此处输入图片描述

编辑:
您可以在表格单元格中插入“\SetVline”,但是,您仍然需要知道单元格在哪一行......

\documentclass[margin=3mm]{standalone}
\usepackage{xcolor}
\usepackage{tabularray}

\begin{document}
\begin{tblr}{hline{1,Z}={solid},  vline{1,Z}={1-Z}{solid},
             colspec= {Q[c]}
             }
  a1 & a2 & a3 & a4 \\
  b1 & b2 & b3 & \SetVline{2}{blue5} b4 \\
  c1 & \SetVline{3}{red5}  c2 
          & c3 & c4 \\
\end{tblr}
\end{document}

结果和以前一样。

相关内容