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}