具有字体变化的自定义 tabularray 环境

具有字体变化的自定义 tabularray 环境

我正在尝试学习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}

第一个表是我想要的,但是如果我尝试将rowsrow{1}定义移动到自定义环境中,则来自的字体更改命令colspec优先于中的命令row{1}。(请注意,重复row{1}设置\begin{my-tabular}有效,但感觉很笨拙。)

我可能忽略了一些相当明显的东西,但我想不出一种方法来让定义\SetTblrInner覆盖 colspec 字体更改。有什么想法可以以用户友好的方式做到这一点,同时让实际表格的代码尽可能干净吗?

相关内容