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

相關內容