数学模式下 \mspace 和 \hspace 有什么区别?

数学模式下 \mspace 和 \hspace 有什么区别?

我知道该amsmath包提供了额外的数学间距命令,例如以下 \,对于\thinspace\:对于\medspace\;对于\thickspace,也有相应的负空格,例如\negthinspace\negmedspace\negthickspace。但是从包文档中可以看出:

为了最大程度地控制数学间距,请使用 \mspace 和“数学单位”。

此外,我测试了\mspace命令生效的任何地方\hspace,命令也会生效。我想知道在数学模式下使用这两个命令时有什么区别?如果它们之间没有区别,我为什么要费心使用\mspace\hspace常用的命令呢?

如能得到任何提示或帮助,我们将不胜感激!

答案1

一旦明确

  1. \mspace只能在数学模式下使用(并且需要amsmath),
  2. \mspace仅接受以单位表示的长度mu(但plusminus组件也接受fil[ll]单位)或以mu基础参数表示的长度(\thinmuskip\medmuskip\thickmuskip),
  3. \hspace不接受mu单位,

我们可以描述其中的差异。

这两个命令都会插入不会干扰原子之间自动间距的空间。然而,

  • mu单位的值\mspace取决于当前的数学样式;
  • emex单位的值\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单位。

相关内容