
\csname
問題の制御シーケンスがまだ定義されていない場合は、自動的に定義されるようです。以下のコードは、「ab c」を作成するドキュメントを作成します。\csname
行と\foo
行を入れ替えるとエラーが発生します。未定義の制御シーケンスで使用すると、単にエラーが発生すると予想していました\csname
が、代わりにシーケンスが空に定義されているようです。
\documentclass{article}
\begin{document}
a
\csname foo\endcsname
b
\foo
c
\end{document}
pdflatex と lualatex ではまったく同じように動作し、構文上の違いはあるものの、pdftex と luatex でも同じ動作が起こります。これは想定された動作ですか (想定されている場合、どこに文書化されていますか)。また、どうすれば回避できますか。