使用 LaTeX 编程——添加名称和特征

使用 LaTeX 编程——添加名称和特征

我需要办理很多证书,我有一份姓名列表,每个姓名都有一个特征(A、B 或 C)。我已经设计了证书的整个结构,并将“姓名”和“特征”留空。

我的问题是,是否有可能做类似的事情

while (i in list):
 code for structure with line name = i and charactertistic = char[i]
 i+=1
newpage

在其中LaTeX,我的意思是将列表及其特征写在代码中。

答案1

在这里我应用了类似哈希表的东西,用作name/characteristics捆绑对并用一个小的辅助宏将它们拆分,将名称设置为属性键,将特征设置为键值。

所有键的迭代都是用 完成的\prop_map_inline

一些重要说明:

  • 键必须是唯一的——再次指定它们只会覆盖旧值。
  • 出现的顺序不一定与指定顺序相同!

\documentclass{article}

\usepackage{expl3}

\ExplSyntaxOn
\prop_new:N \l_felipe_prop_list 

\def\helpercmd#1/#2{%
  \prop_put:Nnn \l_felipe_prop_list {#1} {#2}
}

\newcommand{\fillproplist}[1]{%
  \seq_set_from_clist:Nn \l_tmpa_seq {#1}
  \seq_map_inline:Nn \l_tmpa_seq {%
    \helpercmd ##1 % Splitting!
  }
}


\newcommand{\displaynamecharacteristics}{%
  \prop_map_inline:Nn \l_felipe_prop_list {%
    \displaynamechar{##1}{##2}% using a specialized display macro
  }
}

\ExplSyntaxOff
% Change the `\displaynamechar` macro at will: #1 -> key name, #2 -> key value
\newcommand{\displaynamechar}[2]{%
  Name = #1 \hfill Characteristics: #2%

}


\begin{document}
\fillproplist{Gandalf/A, Frodo/B, Sauron The Dark Lord/C}

\displaynamecharacteristics
\end{document}

enter image description here

相关内容