钛钾Z 手册在命令描述中有着这样的智慧结晶\foreach
(重点是我的):
最简单的情况是,‹变量›是一个 TeX 命令,如
\x
或\point
。(如果你想找点乐子,你也可以使用活动字符。如果你不知道什么是主动角色,那你很幸运。)
这LaTeX 维基百科有几段关于它们的文字,它们似乎是 Plain TeX 的一个怪癖,但除了给出的示例之外,我想不出任何使用它们的合理理由。虽然我认为自己对 LaTeX 相当熟练,但在 Plain TeX 和理解整个工作原理方面,我还是个新手。
主动角色的目的是什么?为什么要使用它们?我很好奇为什么 Ti钾Z 手册的作者可能写了这样的声明。
答案1
经典的例子是,~
在纯 tex 和 latex 中有一个宏(在 LaTeX 中也称为 \nobreakspace
),可以产生不可破坏的空间。
在 LaTeX 中,每个超过 127 个字符(字节)都处于活动状态,以实现inputenc
输入编码的处理。
基本上,活动字符被设置为以与命令名完全相同的方式扩展为宏替换,并且可以以\def
相同的方式进行定义。
它们对于设置特别有用圣诞颂歌几乎没有\
可见的命令。
LaTeX 中主动字符的其他主要用途是 Babel 的“简写”,例如,通常"
将其扩展为重音命令,因此"o
是\"{o}