可能重复:
\relax 和 {} 之间有什么区别?
标题暗示了这个问题。我时不时地会在 TeX.SE 中看到宏,也\relax
经常看到命令。
- 我想知道它有什么作用以及我应该在何时何地使用它?
- 使用时有什么注意事项吗?(有副作用吗?)
如果您能用一个简单的例子来支持您的答案就太好了。
答案1
虽然\relax
它本身不执行任何操作,但它是停止另一个命令扩展的安全命令。以下是一些示例:
(纯文本)
\hskip 5pt\relax
——在没有的情况下\relax
,\hskip
将继续寻找plus
或minus
(latex)位于行尾,
\\ \relax [...]
将防止括号中的内容被解释为增加垂直空间的尺寸
(实际上,这个问题的答案已经很好地解释了这个问题。
答案2
这就是所谓的无操作:它不执行任何操作,并且用于各种你不想执行任何操作的地方,但语法要求某物。TeX 的规则还规定,在\if
语句中,未定义的宏将与 相等\relax
。因此,它是一种通用的空值。
(空括号组{}
是另一种无意义的,因为问题链接见大卫卡莱尔 (David Carlisle) 的说明)。