TeXbook(第 20 次印刷,Addison-Wesley 1991)描述了原语\noexpand<token>
是如何扩展的(第 213 页):
\relax
扩展就是标记本身;但是,如果标记是一个通常会按照 TeX 扩展规则进行扩展的控制序列,则该标记将被解释为其含义为“ ”。
鉴于此,我期望以下纯 TeX 手稿排版为“是”。事实上,它排版为“否”。为什么?
\def\foo{bar}%
\expandafter\ifx\noexpand\foo\relax yes\else no\fi%
\bye