Ich versuche, das zu lernen tabularray
und wollte einige benutzerdefinierte Umgebungen einrichten. Mir gefällt die Idee, einen Teil des Layout-Markups außerhalb des eigentlichen Tabellencodes verschieben zu können, aber es gibt einige Kombinationen, die ich nicht zum Laufen bekomme.
\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}
Die erste Tabelle ist das, was ich will, aber wenn ich versuche, die rows
und row{1}
Definitionen in eine benutzerdefinierte Umgebung zu verschieben, haben die Befehle zur Schriftartänderung aus colspec
Vorrang vor denen in row{1}
. (Beachten Sie, dass das Wiederholen der row{1}
Einstellung in \begin{my-tabular}
funktioniert, sich aber sehr umständlich anfühlt.)
Ich übersehe wahrscheinlich etwas ziemlich Offensichtliches, aber ich kann keine Möglichkeit finden, die Definitionen so zu gestalten, dass \SetTblrInner
die Colspec-Schriftartänderungen überschrieben werden. Irgendwelche Ideen, wie man das auf benutzerfreundliche Weise machen kann und dabei den Code für die eigentliche Tabelle so sauber wie möglich lässt?