迭代数组

迭代数组

让我们假设这个例子

\documentclass{article}
\newcommand\printlist[1]{
  Loop to get each element \el and its index \ind from {#1}{
    \ind. \el\\
  }
}
\begin{document}
\printlist{A, B, C}
\end{document}

它会给出输出

enter image description here

如何实现循环来从数组中获取每个元素及其索引{#1}

答案1

那么使用 怎么样\foreach

\documentclass{article}
\usepackage{tikz}
\newcommand{\printlist}[1]{%
\foreach \x [count=\xi] in {#1} {\xi. \x\par}%
}
\begin{document}
    \printlist{A, B, C}
\end{document}

enter image description here

答案2

我知道的最简单的方法是使用expl3

\documentclass{article}
\usepackage{xparse}

\ExplSyntaxOn
\NewDocumentCommand{\printlist}{m}
 {
  \begin{enumerate}
  \clist_map_inline:nn { #1 } { \item ##1 }
  \end{enumerate}
 }
\ExplSyntaxOff

\begin{document}

\printlist{A,B,C}

\end{document}

该函数\clist_map_inline:nn从其第一个参数中获取每个(逗号分隔)项,并将其传递给#1第二个参数中指定的处理。此处,#第二个参数中的 必须加倍,因此我们需要##1,因为我们在定义中使用它。

相关内容