\show 必须怎样打印空控制序列?

\show 必须怎样打印空控制序列?

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

相关内容