何时需要使用{}
将参数压缩到命令中?
示例:
在 TeX 中,我们看到很多类似这样的调用,\vskip\onelineskip
而这个宏 ( \vskip
) 被定义为接受一个参数。这样写是不是更好\vskip{\onelineskip}
?
答案1
\vskip
它不是一个宏,而是一个 TeX 原语,并且它的语法与带参数的宏不同。
语法是
\vskip<glue specification>
基本上<glue specification>
可以是一个跳过寄存器或显式粘合,例如
\vskip 1pt plus 2pt minus 1pt
请参阅 TeXbook 或 TeX by Topic 以了解更多信息。
另一方面,LaTeX宏 \vspace
接受一个参数。如果此参数是单个标记(例如,命名的跳过寄存器),则可以省略括号,因此
\vspace\onelineskip
或者
\vspace{\onelineskip}
是等价的。但是
\vskip{\onelineskip}
将导致错误消息。