强大的命令

强大的命令

\protect使用新定义或宏的主要原因是什么,或者使用\DeclareRobustCommand而不是仅仅使用\def?(如果主要是为了更好的错误消息,我个人可以接受Prolog的“否”。如果最好在任何地方开始使用它,那么要加载哪些包和最佳实践?)

想要:我能用一句话给其他人答案,解释为什么\DeclareRobustCommand在某个地方使用,而在其他地方却没有\def

动机:有时你会根据现有的宏编写代码,然后将其放入文章中。\DeclareRobustCommand有时会使用。然后合著者或编辑会回复:你为什么需要这个看起来很复杂的代码?你会告诉他们什么?

答案1

“如果您没有将命令定义为健壮的,那么用户必须\protect在命令前面使用所有移动参数,例如标题标题、写入文件等,因此该命令对用户来说更复杂。 – David Carlisle 3 月 5 日上午 9:22”

这最终就是我在寻找的:我可以用一句话告诉其他人为什么在某些地方使用 \DeclareRobustCommand。

相关内容