我想bNiceMatrix
通过在命令中存储行来构建一个。这是一个 mwe。
\documentclass[a5paper]{article}
\usepackage{nicematrix}
\begin{document}
This is the matrix I want.
\[
\begin{bNiceMatrix}[light-syntax]
w x y z;
a b c d;
\end{bNiceMatrix}
\]
Something goes wrong when I try to store the second row in a command.
\newcommand{\MySecondRow}{a b c d}
\[
\begin{bNiceMatrix}[light-syntax]
w x y z;
\MySecondRow ;
\end{bNiceMatrix}
\]
\end{document}
问题似乎是在单个标记\MySecondRow
内进行处理。这可以修复吗?bNiceMatrix
答案1
的 6.27 版 (2024-02-13)nicematrix
有一个新键light-syntax-expanded
,专门用于解决这种情况。当该键生效时,环境主体会先展开(在 TeX 意义上:它是e
LaTeX3 类型的展开),然后再拆分成行(但在提取潜在的 之后\CodeAfer
)。
\documentclass[a5paper]{article}
\usepackage{nicematrix}
\begin{document}
This is the matrix I want.
\[
\begin{bNiceMatrix}[light-syntax]
w x y z;
a b c d;
\end{bNiceMatrix}
\]
With the key \verb|light-syntax-expanded|.
\newcommand{\MySecondRow}{a b c d}
\[
\begin{bNiceMatrix}[light-syntax-expanded]
w x y z;
\MySecondRow ;
\end{bNiceMatrix}
\]
\end{document}