\[length] 是什么意思?像这样:
\documentclass{article}
\begin{document}
mmmmm\\[-0.33em]
mmmmm
mmmmm
\hspace{-0.33em}mmmmm
\end{document}
为什么这些渲染效果不一样?
答案1
首先,LaTeX 命令可以接受必需参数和可选参数。必需参数(通常)用花括号括起来,而可选参数则用方括号括起来。
接下来,如果字符串
mmmmm\\[-0.33em]
发生在array
或tabular
类似环境中,子字符串\\
是插入换行符的指令,并且[-0.33em]
表示选修的指令的参数\\
。如果参数(应该是长度)为正数,则会插入额外的垂直空格(与该参数的数量相同);如果参数为负数,则会从插入的默认垂直空间量中减去该量\\
。
(附言:如果你使用\\
外部和类似array
的tabular
环境,很可能你做错了什么……)
相比之下,\hspace
是一个用于插入或减去的文本模式命令水平的空间。顺便说一下,对于 LaTeX,\hspace{0pt}
,不是与“什么都不做”相同——插入“零长度空格”可以具有显著且(如果使用正确)非常方便的用例。
简而言之,没有理由相信这一点\\[-0.33em]
,\hspace{-0.33em}
更不用说应该,产生相同的结果。