pgffor 地图元素

pgffor 地图元素

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} 

在此处输入图片描述

相关内容