我想在矩阵中使用循环变量。\loop
并且\foreach
在数学模式下不起作用(在矩阵中也不起作用),\pgfplotsforeachungrouped
仅在一个级别起作用:
\begin{equation}
A =
\begin{bmatrix}
\pgfplotsforeachungrouped \m in {1,...,3}
{
a_{\m,1} &
}
\end{bmatrix}
\end{equation}
但嵌套循环不起作用:
\begin{equation}
A =
\begin{bmatrix}
\pgfplotsforeachungrouped \m in {1,...,3}
{
\pgfplotsforeachungrouped \n in {1,...,3}
{
a_{\m,\n} &
} \\
}
\end{bmatrix}
\end{equation}
我该如何修复它?
答案1
您可以使用不同的方法:
\documentclass{article}
\usepackage{xparse,amsmath}
\ExplSyntaxOn
\NewDocumentCommand{\formalmatrix}{mmm}
{% #1 = letter, #2 = rows, #3 = columns
\begin{bmatrix}
\int_step_inline:nnnn { 1 } { 1 } { #2 }
{
\int_step_inline:nnnn { 1 } { 1 } { #3 - 1 }
{
\tl_put_right:Nn \l_adel_formalmatrix_tl { #1\sb{##1,####1} & }
}
\tl_put_right:Nn \l_adel_formalmatrix_tl { #1\sb{##1,#3} \\ }
}
\tl_use:N \l_adel_formalmatrix_tl
\end{bmatrix}
}
\tl_new:N \l_adel_formalmatrix_tl
\ExplSyntaxOff
\begin{document}
\[
\formalmatrix{a}{2}{3}
\qquad
\formalmatrix{b}{4}{2}
\qquad
\formalmatrix{c}{4}{1}
\qquad
\formalmatrix{d}{1}{4}
\]
\end{document}