2

LaTeX 中的pgffor包允许循环通过包含“类似列表”信息的命令。pgf 如手册第 88 节所述,该pgffor包还允许同时迭代两组“listlike”信息,有点像python'szip函数。这是一个例子:

\documentclass{article}

\newcommand\iterable{
  item1/description1,
  item2/description2,
  item3/description3}

\usepackage{pgffor}
\begin{document}
  \foreach \i/\q in \iterable{
    \noindent \i \q\\
  }
\end{document}

以上将同时遍历\iterable由正斜杠字符分隔的项目/。但是,如果我有大量不同的“列表”,那么在\iterable命令中维护它们可能会很困难。

是否pgffor允许将可迭代项目分成不同的命令,以便我可以更好地跟踪需要迭代的项目?例如:

\newcommand\iterable1{item1,item2,item3}
\newcommand\iterable2{description1, description2, description3}
4

1 回答 1

0

可能不是最快的解决方案,但您可以遍历这两个列表:

\documentclass{article}

\newcommand\iterablea{item1,item2,item3}
\newcommand\iterableb{description1, description2, description3}

\usepackage{pgffor}
\begin{document}
  \foreach \i [count=\xi] in \iterablea {
  \foreach \q [count=\xq] in \iterableb {
    \ifnum\xi=\xq
      \noindent \i{} \q\par
    \fi
  }}
\end{document}
于 2021-10-09T15:53:51.047 回答