第 40 页TeXbook,
相反,您可以通过说“\csname\endcsname”从字符标记列表转到控制序列。
因此\csname TeX\endcsname
等于\TeX
。但是,\TeX
包含四个标记,即\
0 T
11 e
11 X
11。那么,为什么这里不需要\csname
第一个标记\
0呢?
答案1
使用标准类别代码时,当 TeX 读取四个人物 \•T•e•X
(空格仅用于在视觉上分隔字符)它看到\
哪个类别代码为 0,因此它知道必须构建一个单身的令牌。
因此它查找下一个并找到T
,其被分配了类别代码 11,所以现在 TeX 知道它必须构建一个控制字,因此它会读取所有后续字符,直到找到一个不属于类别代码 11 的字符。此时,它形成一个单身的在这种情况下,标记|TeX|
(在 TeXbook 中,您会看到控制序列名称周围的一个框)并进入状态年代(跳过空格)。切勿将“读取部分”与 TeX 形成的标记相混淆。
类别代码 0 字符仅用于启动建立控制序列的程序姓名并且没有以任何方式保存。
如果你说
\catcode`|=0 |TeX
您将获得与 完全相同的令牌\TeX
。
类似地,\csname TeX\endcsname
产生完全相同的标记。