我想创建一个列表,每个条目可以保存不同的值。例如,我想列出用户,每个用户都有用户名、年龄和国家/地区。现在我希望能够遍历列表并获取用户名、年龄和国家/地区这三个值,以便我可以打印此列表:
Anna|27|England
Bob|35|Italy
例如这样:
The user Anna is 27 and comes from England.
The user Bob is 35 and comes from Italy.
有没有什么好的解决方案?我已经尝试了 etoolbox 软件包,但无法解决这个问题。
提前致谢!
答案1
答案2
我展示了一种方法,首先在宏中累积数据\list
,然后\printlist
对其进行迭代\list
。仅使用 TeX 基元:
\def\printlist#1{\expandafter\printlistA#1{}}
\def\printlistA#1{\ifx\relax#1\relax \else
\printitem#1\end \expandafter\printlistA\fi}
\def\list{{Anna|27|England}{Bob|35|Italy}}
\def\printitem #1|#2|#3\end{The user #1 is #2 and comes from #3.\par}
\printlist\list