我正在嘗試學習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 字體更改的定義。有什麼想法如何以用戶友好的方式做到這一點,使實際表的程式碼盡可能乾淨?