我正在尝试学习tabularray
并希望设置一些自定义环境。我真的很喜欢能够将一些布局标记移出实际表格代码的想法,但有些组合我无法工作。
\documentclass{article}
\usepackage{xcolor}
\usepackage{tabularray}
\NewTblrEnviron{my-tabular}
\SetTblrInner[my-tabular]{
rows={font=\sffamily},
row{1} = {bg=black!10,font=\sffamily\bfseries},
}
\NewColumnType{Z}{X[font=\ttfamily]}
\begin{document}
\begin{tblr}{
colspec={ZX},
rows={font=\sffamily},
row{1}={bg=black!10,font=\sffamily\bfseries},
}
Header left & Header right \\
item 1 left & item 1 right \\
item 2 left & item 2 right
\end{tblr}
\begin{my-tabular}{
colspec={ZX},
% row{1}={bg=black!10,font=\sffamily\bfseries},
}
Header left & Header right \\
item 1 left & item 1 right \\
item 2 left & item 2 right
\end{my-tabular}
\end{document}
第一个表是我想要的,但是如果我尝试将rows
和row{1}
定义移动到自定义环境中,则来自的字体更改命令colspec
优先于中的命令row{1}
。(请注意,重复row{1}
设置\begin{my-tabular}
有效,但感觉很笨拙。)
我可能忽略了一些相当明显的东西,但我想不出一种方法来让定义\SetTblrInner
覆盖 colspec 字体更改。有什么想法可以以用户友好的方式做到这一点,同时让实际表格的代码尽可能干净吗?