在匹配模式下使用嵌套循环

在匹配模式下使用嵌套循环

我想在矩阵中使用循环变量。\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}

在此处输入图片描述

相关内容