定义 \@nil 安全吗?

定义 \@nil 安全吗?

最近我遇到了一个随机问题dblfnote,TeX 告诉我它正在尝试执行\@nil,这是未定义的。

现在,我做了研究,发现source2e\@nil通常用作列表宏中的分隔符。这正是dblfnote它的用途。

有什么原因我不能定义\@nil为完全空白吗token?比如

\makeatletter\def\@nil{}\makeatother

它永远不应该被执行,那么定义它有什么坏处吗?至少作为临时解决办法?

答案1

大多数用途\@nil只是用作\@nil宏参数分隔符,因此定义是什么并不重要,但是这是故意地未定义。如果您有代码试图执行,\@nil那么之前会有一个错误,并且永远不应该被评估的代码正在被评估。将其定义为某个东西只会掩盖其他地方的问题。

相关内容