我知道该amsmath
包提供了额外的数学间距命令,例如以下 \,
对于\thinspace
、\:
对于\medspace
和\;
对于\thickspace
,也有相应的负空格,例如\negthinspace
、\negmedspace
和\negthickspace
。但是从包文档中可以看出:
为了最大程度地控制数学间距,请使用 \mspace 和“数学单位”。
此外,我测试了\mspace
命令生效的任何地方\hspace
,命令也会生效。我想知道在数学模式下使用这两个命令时有什么区别?如果它们之间没有区别,我为什么要费心使用\mspace
更\hspace
常用的命令呢?
如能得到任何提示或帮助,我们将不胜感激!
答案1
一旦明确
\mspace
只能在数学模式下使用(并且需要amsmath
),\mspace
仅接受以单位表示的长度mu
(但plus
和minus
组件也接受fil[ll]
单位)或以mu
基础参数表示的长度(\thinmuskip
,\medmuskip
和\thickmuskip
),\hspace
不接受mu
单位,
我们可以描述其中的差异。
这两个命令都会插入不会干扰原子之间自动间距的空间。然而,
mu
单位的值\mspace
取决于当前的数学样式;em
或ex
单位的值\hspace
取决于公式开始时的当前文本字体。
具体来说,假设 18mu 对应于符号字体(数学组 2)中的 1em 值,则以下两个公式将给出截然不同的结果
$\scriptscriptstyle a\mspace{18mu}b$
$\scriptscriptstyle a\hspace{1em}b$
这是因为前者使用 em \scriptscriptfont2
(10pt 大小的默认值为cmsy5
),而后者使用标准文本字体中的 em(默认值为cmr10
)。
答案2
不清楚
我测试过,
\mspace
命令在任何地方生效,\hspace
命令也会生效
这\mspace
只不过是使用 TeX 的薄包装器,\mskip
它需要一个<muglue>
规范,即mu
在数学模式下有意义的单位。
\mspace
可以使用宏仅有的在数学模式中。
宏\hspace
确实不是承接mu
单位。