为什么当我使用 \SetTblrInner 设置 tblr 选项时,vline 的垂直线与 colspec 不对齐?

为什么当我使用 \SetTblrInner 设置 tblr 选项时,vline 的垂直线与 colspec 不对齐?

语境

我有一个深色的表格标题,标题中有白色垂直线。我想将这些选项设置为环境的默认选项tblr。从手册,第 32 页我读到我可以使用命令来实现这一点\SetTblrInner。但是当我这样做时, 中定义的垂直线colspec与 中着色的垂直线不对齐vline

平均能量损失

这是我的出发点:

\documentclass{article}
\usepackage{xcolor}
\usepackage{tabularray}

\begin{document}   
    \begin{table}[htp]
        \begin{tblr}{
                colspec = {|l|l|l|},
                row{1} = {bg=blue, fg=white, font=\bfseries},
                hline{1,2,Z} = {},
                vline{2-Y} = {1}{white},
            }
            A & B & C\\
            1 & 2 & 3\\
            10 & 20 & 30\\
            100 & 200 & 300\\
        \end{tblr}
    \end{table}
\end{document}

在此处输入图片描述

现在我将除colspec(因为每个表都有不同)之外的所有选项移到\SetTblrInner命令中:

\documentclass{article}
\usepackage{xcolor}
\usepackage{tabularray}

\SetTblrInner{
    row{1} = {bg=blue, fg=white, font=\bfseries},
    hline{1,2,Z} = {},
    vline{2-Y} = {1}{white}
}

\begin{document}   
    \begin{table}[htp]
        \begin{tblr}{ colspec = {|l|l|l|} }
            A & B & C\\
            1 & 2 & 3\\
            10 & 20 & 30\\
            100 & 200 & 300\\
        \end{tblr}
    \end{table}
\end{document}

我得到了这个:
在此处输入图片描述

改变颜色并放大,可以看到,那条粗白部分其实不是线,而是线与线vline之间的空白处:vline|

在此处输入图片描述

问题

如何在单个表中tblr使用时设置默认选项?colspec

我尝试过的方法

我已将柱内管|colspec

colspec = {|lll|}

并将垂直线完全设置在\SetTblrInner部分中

\SetTblrInner{
    ...
    vline{2-Y} = {2-Z}{black}
}

这虽然消除了问题,但却降低了灵活性。

答案1

如果您还保留了 ,|则将colspec绘制两条垂直线。
保留它们并排列vline选项。

\documentclass{article}
\usepackage{xcolor}
\usepackage{tabularray}

\SetTblrInner{
    row{1} = {bg=blue, fg=white, font=\bfseries},
    hline{1,2,Z} = {},
    vline{1,Z} = {},
    vline{2-Y} = {1}{white},
    vline{2-Y} = {2-Z}{},
}

\begin{document}   
    \begin{table}[htp]
        \begin{tblr}{ colspec = {lll} }
            A & B & C\\
            1 & 2 & 3\\
            10 & 20 & 30\\
            100 & 200 & 300\\
        \end{tblr}
    \end{table}
\end{document}

在此处输入图片描述

这不是一个解决方法,而是软件包的一个功能。
它允许您绘制您想要的规则数量,请参见此示例:

\documentclass{article}
\usepackage{xcolor}
\usepackage{tabularray}

\begin{document}   
    \begin{table}[htp]
        \begin{tblr}{ colspec = {l|||l|||l} }
            A & B & C\\
            1 & 2 & 3\\
            10 & 20 & 30\\
            100 & 200 & 300\\
        \end{tblr}
    \end{table}
\end{document}

在此处输入图片描述

普通人也tabular会这样做。

相关内容