TeXbook 第 46 页称其\csname\endcsname
与空(又名 null)控制序列相同。
但为什么它们的印刷方式不同\show
?比较
\endlinechar=-1
\def\
{a}
\def\x{\
}
\show\x
相对
\endlinechar=-1
\def\
{a}
\def\x{\csname\endcsname}
\show\x
这里的规则是什么以及哪些情况偏离了这些规则?
答案1
您引用的规则意味着这两个\show
显示相同的 csname 令牌
\expandafter\show\csname\endcsname
\endlinechar=-1
\show\
\bye
在您的情况下,您没有显示名称为空的令牌,而是显示两个不同的定义,\x
在第一种情况下,替换文本\x
是名称为空的单个 csname,\show
显示为\csname\endcsname
但第二个定义有替换文本两个令牌\csname
,\endcsname
这些尚未执行,因此像往常一样\show
在两个名称后显示一个空格\csname \endcsname