这是一个简单的例子,我花了很长时间才确定是什么导致了这种行为。
tabularray
在文档中的大多数示例中,colspec
键是第一个要指示的。但是,如果您想使用@{}
删除第一列之前和最后一列之后的空格,colspec
则必须在 之后colsep
。
这是正常的、预期的行为还是一个错误?或者@{}
语法是否不鼓励使用tabularray
?
感谢您的见解并祝您有美好的一天。
%%%% MWE
\documentclass{scrartcl}
\usepackage{tabularray}
\begin{document}
\begin{tblr}{
colsep=12pt,
colspec={|@{}lcr@{}|},
}
a & b & c
\end{tblr}
\begin{tblr}{
% colspec first, @{} does not work
colspec={|@{}lcr@{}|},
colsep=12pt,
% column{1}={leftsep=0pt}, % needed to have the same effect as @{} before first column
% column{Z}={rightsep=0pt}, % needed to have the same effect as @{} after last column
}
a & b & c
\end{tblr}
\end{document}
%%%%
答案1
作为作者tabularray
包,我可以确认这@{}
是一种受支持的语法。
由于和都会@{}
改变colsep
列分隔的大小,因此它们互相覆盖是正常行为。
更详细地说,colsep=12pt
是
column{1} = {leftsep=12pt,rightsep=12pt},
column{2} = {leftsep=12pt,rightsep=12pt},
column{3} = {leftsep=12pt,rightsep=12pt},
whilecolspec={|@{}lcr@{}|}
是
hline{1},
column{1} = {leftsep=0pt,halign=l},
column{2} = {halign=c},
column{3} = {halign=r,rightsep=0pt},
hline{3},
因此,您需要在此用例colsep
之前放置。colspec