何时使用 {} 来解决争论

何时使用 {} 来解决争论

何时需要使用{}将参数压缩到命令中?

示例:
在 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}

将导致错误消息。

相关内容