语境
我有一个深色的表格标题,标题中有白色垂直线。我想将这些选项设置为环境的默认选项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
会这样做。