编辑:Phelype Oleinik 已在 LaTeX3 的错误跟踪器中针对该问题提出了一个问题: https://github.com/latex3/latex3/issues/839
以下代码出现错误。
\documentclass{article}
\usepackage{array}
\NewDocumentEnvironment{MyEnv}{b}
{$\begin{array}{cc}#1\end{array}$}
{}
\begin{document}
\begin{MyEnv}x&y\end{MyEnv}
\begin{tabular}{cc}
smth & \begin{MyEnv}x&y\end{MyEnv}
\end{tabular}
\end{document}
b
这是说明符的一个错误吗xparse
?
答案1
正如 Phelype 评论的那样,我们研究了这个问题,可能会添加隐藏嵌套所需的特殊表组&
,但同时您可以使用新的环境挂钩功能添加它们。
\documentclass{article}
\usepackage{array}
\NewDocumentEnvironment{MyEnv}{b}
{$\begin{array}{cc}#1\end{array}$}
{}
\BeforeBeginEnvironment{MyEnv}{{\ifnum0=`}\fi}
\AfterEndEnvironment{MyEnv}{\ifnum0=`{\fi}}
\begin{document}
\begin{MyEnv}x&y\end{MyEnv}
\begin{tabular}{cc}
smth & \begin{MyEnv}x&y\end{MyEnv}
\end{tabular}
\end{document}