\protect
使用新定义或宏的主要原因是什么,或者使用\DeclareRobustCommand
而不是仅仅使用\def
?(如果主要是为了更好的错误消息,我个人可以接受Prolog的“否”。如果最好在任何地方开始使用它,那么要加载哪些包和最佳实践?)
想要:我能用一句话给其他人答案,解释为什么\DeclareRobustCommand
在某个地方使用,而在其他地方却没有\def
。
动机:有时你会根据现有的宏编写代码,然后将其放入文章中。\DeclareRobustCommand
有时会使用。然后合著者或编辑会回复:你为什么需要这个看起来很复杂的代码?你会告诉他们什么?
答案1
“如果您没有将命令定义为健壮的,那么用户必须\protect
在命令前面使用所有移动参数,例如标题标题、写入文件等,因此该命令对用户来说更复杂。 – David Carlisle 3 月 5 日上午 9:22”
这最终就是我在寻找的:我可以用一句话告诉其他人为什么在某些地方使用 \DeclareRobustCommand。