`\\` 标记后的 [length] 是什么意思

`\\` 标记后的 [length] 是什么意思

\[length] 是什么意思?像这样:

\documentclass{article}
\begin{document}
mmmmm\\[-0.33em]
mmmmm

mmmmm

\hspace{-0.33em}mmmmm
\end{document}

为什么这些渲染效果不一样?

答案1

首先,LaTeX 命令可以接受必需参数和可选参数。必需参数(通常)用花括号括起来,而可选参数则用方括号括起来。

接下来,如果字符串

mmmmm\\[-0.33em]

发生在arraytabular类似环境中,子字符串\\是插入换行符的指令,并且[-0.33em]表示选修的指令的参数\\。如果参数(应该是长度)为正数,则会插入额外的垂直空格(与该参数的数量相同);如果参数为负数,则会从插入的默认垂直空间量中减去该量\\

(附言:如果你使用\\ 外部和类似arraytabular环境,很可能你做错了什么……)

相比之下,\hspace是一个用于插入或减去的文本模式命令水平的空间。顺便说一下,对于 LaTeX,\hspace{0pt}不是与“什么都不做”相同——插入“零长度空格”可以具有显著且(如果使用正确)非常方便的用例。

简而言之,没有理由相信这一点\\[-0.33em]\hspace{-0.33em}更不用说应该,产生相同的结果。

相关内容