令牌可能具有的所有可能的 \含义

令牌可能具有的所有可能的 \含义

在我正在编写的调试包中,我需要分析输入流中的任意标记。可能的结果是什么\meaning<token>

  • 宏观:((\protected) (\long) (\outer) macro:#1#2->...#1...#2...确切的特征是?的存在->
  • 字符(隐式或显式):the letter Abegin-group character {等。
  • 原始的,例如,\relax
  • \toks23\char"12\count0, 和别的?

可能还有很多其他类型我不知道...... select font cmr10?数学字符?盒子?

如果有一份完整的列表就好了。此外,也欢迎提供一些关于如何解析含义并从中提取有用信息的提示。

答案1

该文件的输出列出了我能想到的所有内容。(已编辑(三次)回应评论。)

\catcode`\>=\active
\long\def>#1{\immediate\write0{\meaning#1.}}
>\bgroup
>\egroup
>@
\catcode`\@=11
>@ >$ >& ># >^ >_
>\z@
>\z@skip
\newmuskip\bar >\bar
>\mscount
>\toks@
% outer macros must be handled specially
\edef\foo{\meaning\newbox}\immediate\write0{\foo.}
\long\def\longm#1{Blah #1} >\longm
\long\outer\def\olongm#1{Blah #1}
\edef\foo{\meaning\olongm}\immediate\write0{\foo.}
>\relax % Example of a TeX primitive
>\voidb@x
>\intop
>\tenrm
>\undefined
% See the comments for remarks on these five:
>\topmark
>\firstmark
>\botmark
>\splitfirstmark
>\splitbotmark
\end

答案2

这又是一个需要研究程序代码的问题,我想说:模块§296 是起点,然后你必须遵循打印命令尽管 TeX spaghetti 代码。不幸的是,后一个例程在整个代码中被分割,或多或少是整个代码(或者更确切地说,它被分割成 40 个部分)。如果您拥有 TeX 源代码的打印版本,那么 §227 就是您的朋友,它是开始的地方。这样,您将找到诸如end of alignment template等等之类的东西。

相关内容