使用命令在 tabularray 中生成表格行

使用命令在 tabularray 中生成表格行

我有一个命令,可以生成一个表行以插入到tblr环境中,如下所示:

\documentclass{book}
\usepackage{tabularray}
\begin{document}

\newcommand\MyRow[2]{
    #1 & #2 \\
}

\begin{tblr}{l l}
    A & B \\
    C & D \\
    %\MyRow{E}{F}   % Fails here with "Misplaced alignment tab character &"
\end{tblr}

\end{document}

使用该命令tabutblr会出现对齐字符放错位置的错误&

Misplaced alignment tab character &.

我尝试用 覆盖类别代码&\catcode38=12但没有帮助。如何从自定义命令生成 tblr 行?

答案1

根据部分tabularray 包手册中的“3.2.3 首先展开宏”您需要使用密钥expand=\MyRow。您只能获得顶级扩展\MyRow

\documentclass{book}
\usepackage{tabularray}
\begin{document}

\newcommand\MyRow[2]{#1 & #2 \\}

\begin{tblr}[expand=\MyRow]{l l}
    A & B \\
    C & D \\
    \MyRow{E}{F}% Does not fail with "Misplaced alignment tab character &".
\end{tblr}

\end{document}

在此处输入图片描述


问题“tabularray:如何使用存储在宏中的表内的 \if 条件注释掉某些行?”它的答案提供了一些技巧来更好地控制扩张。

相关内容