\csname
如果尚未定义控制序列,则似乎会自动定义该控制序列。下面的代码创建了一个文档,其中创建了“ab c”;交换\csname
行和\foo
行会产生错误。我原本以为\csname
如果与未定义的控制序列一起使用,只会产生错误,但事实却似乎将序列定义为空的?
\documentclass{article}
\begin{document}
a
\csname foo\endcsname
b
\foo
c
\end{document}
它在 pdflatex 和 lualatex 中的行为完全相同,除了一些语法差异外,在 pdftex 和 luatex 中也会发生相同的行为。这是预期的行为吗(如果是,记录在哪里),我该如何解决它?