我有一段代码,用于迭代项目列表,但我在几个地方都这样做,并且想避免每次都重新定义该列表。这是我的工作:
\foreach \f in {193, 87, 88, 85, 80, 81, 79, 89}{
\includegraphics{\f.png}
}
我希望能够做这样的事情:
\foreach \f in \allfs{
\includegraphics{\f.png}
}
有没有办法定义\allfs
这样我可以迭代它?我试过只做\newcommand\allfs{{193, 87, 88, 85, 80, 81, 79, 89}}
但那不起作用。它会查找文件{193, 87, 88, 85, 80, 81, 79, 89}.png
抱歉,如果这是一个重复的问题,我很难找到正确的搜索方式
答案1
我宁愿\foreach
使用/.list
key,这样就不需要像\f
循环变量这样的宏,也不需要组。在这种情况下,它特别方便,因为它可以与 key 配对/.expanded
。
\documentclass{article}
\usepackage{pgffor}
\usepackage{graphicx}
\begin{document}
\newcommand\allfs{{a,b,c,duck}}
\pgfkeys{include graphics/.code={\includegraphics{example-image-#1.pdf}\par}}% \par is only added for this example
\pgfkeys{include graphics/.list/.expanded=\allfs}
\end{document}