pgffor 的 foreach 可以接受元素的“数组”。我需要使用另一个数组(查找表)映射这些元素,因为我既需要元素,也需要映射的值。
例如,假设我正在做一些加密工作,并以非标准的方式将字母映射到数字
\foreach \i in {a,b,c,d,e}
{
\i = \lookup{\i}{\data}
}
我猜数据是某种类型的关联数组,里面的内容如下
a = 12, b = 16, c = 3, d = 9, e = 19
然后 foreach 将打印
a = 12
b = 16
c = 3
d = 9
e = 19
我也可以简单地使用另一个数组,并且我想同时遍历它们,例如
\foreach \i,\j in {a,b,c,d,e} , {12,16,3,9,19}
{
\i = \j
}
(我不想要某种类型的嵌套循环,这不是我想要做的)
越简单的解决方案越好。我不想做任何极其复杂的事情
答案1
在这个问题中,你心里有一些选择,也有一些你可能不会做的事情,但问题一点也不明确。我猜是以下一些。
\documentclass{article}
\usepackage{pgffor,pgfmath}
% Got some array from Excel via =randbetween(1-26)
\def\Sometwentysixnumarray{{11,4,8,12,17,20,13,9,12,16,4,19,6,11,4,26,10,13,14,15,15,1,5,1,26,14}}
\begin{document}
\foreach \x[count=\xi from 0] in {a,...,z}{
\pgfmathparse{\Sometwentysixnumarray[\xi]}
\x = \pgfmathresult,
}
\end{document}