![您能否将任意标记序列可扩展且无歧义地映射到数字或第 12 类明确字符标记的字符串?](https://linux22.com/image/448757/%E6%82%A8%E8%83%BD%E5%90%A6%E5%B0%86%E4%BB%BB%E6%84%8F%E6%A0%87%E8%AE%B0%E5%BA%8F%E5%88%97%E5%8F%AF%E6%89%A9%E5%B1%95%E4%B8%94%E6%97%A0%E6%AD%A7%E4%B9%89%E5%9C%B0%E6%98%A0%E5%B0%84%E5%88%B0%E6%95%B0%E5%AD%97%E6%88%96%E7%AC%AC%2012%20%E7%B1%BB%E6%98%8E%E7%A1%AE%E5%AD%97%E7%AC%A6%E6%A0%87%E8%AE%B0%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2%EF%BC%9F.png)
如何映射任意括号平衡的非外部标记序列可扩展且明确地转换为数字或仅由第 12 类明确字符标记组成的字符串,如果可能的话,仅使用可以在 Knuthian-TeX 中实现的宏/东西?
起初,我想到循环将所有标记字符串化,然后计算某种明确的校验和,但字符串化会丢失有关类别的信息,因此这种方法无法区分所有可能的标记序列。
如果能给出一个关于如何处理这个问题的概述,我将非常感激。然后我可以自己思考具体实施的细节。
然而,我仍有疑虑:
如果可以以百分之百可靠的方式做到这一点,那么这可以作为一种可扩展的方法来区分,例如,
- 一个活跃的字符标记等于该吊坠的非活跃吊坠。
\relax
从原始开始冻结\relax
。- 无名控制序列(可通过
\csname\endcsname
或通过 .tex 输入行末尾的转义字符(反斜杠)产生,而\endlinechar
值为负值)来自名称为 的控制序列csname⟨escapechar⟩endcsname
(可通过 产生\csname csname\string\endcsname\endcsname
),而这些控制序列具有相同的非外部含义。 - 当字符代码对应于构成控制序列名称的字符时,让单字母控制序列中的显式(非外部)字符标记等于该显式字符标记,而当字符代码
\escapechar
具有负值时则让其等于该显式字符标记。 \the
通过从原始字体命令应用到字体命令而获得的冻结字体控制序列。- ...
我是否可以得出结论:仅限于 Knuthian-TeX 提供的方法的可扩展方法不可能百分之百可靠和实用?
如果可扩展性/坚持使用 Knuthian-TeX 不是问题,该如何处理这个问题?