Я пытаюсь научиться 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. Есть идеи, как сделать это удобным для пользователя способом, оставив код для фактической таблицы максимально чистым?