为什么 tblr 不能与包含 & 的命令一起使用?

为什么 tblr 不能与包含 & 的命令一起使用?

我正在使用包含多个单元格的命令(包含一个&来分隔它们)。

它与tabular它一起工作,但是与它不一起工作tbrl。为什么?

\documentclass{article}

\usepackage{tabularray}
\newcommand{\ab}{a & b}

\begin{document}
    \begin{tblr}{c|l}
        \ab \\
    \end{tblr}
\end{document}

错误信息是misplaced alignment tab character &

答案1

expand使用表格规范中的参数:

\documentclass{article}

\usepackage{tabularray}
\newcommand{\ab}{a & b}

\begin{document}
    \begin{tblr}[expand=\ab]{c|l}
        \ab \\
    \end{tblr}
\end{document}

在此处输入图片描述

更多相关信息请参见在文档第 30 页,理由是:

与传统的 tabular 环境不同,tabularray 环境在使用 l3regex 拆分表体时需要查看每个 & 和 \。并且您不能将单元格文本放在用 定义的任何表命令中\NewTableCommand。但您可以使用 outer 键expand让 tabularray 在拆分表体之前将指定宏的每个出现情况展开一次。请注意,您无法展开用 定义的命令\NewDocumentCommand

相关内容