答案1
如果我尝试更简单的例子
\documentclass[extrafontsizes,36pt]{memoir}
\begin{document}
$M()$\par
$M_{}()$
\showoutput
\end{document}
我得到以下信息(仅相关部分)
....\mathon
....\OML/lmm/m/it/36 M
....\kern3.76044
....\OT1/lmr/m/n/36 (
....\OT1/lmr/m/n/36 )
....\mathoff
[...]
....\mathon
....\OML/lmm/m/it/36 M
....\hbox(0.0+0.0)x0.5, shifted 5.39998
....\OT1/lmr/m/n/36 (
....\OT1/lmr/m/n/36 )
....\mathoff
差异是由于在第一种情况下,TeX 在 M 和括号之间插入斜体校正,而如果有下标则不会这样做。
在第二种情况下,仅\scriptspace
插入(当原子具有下标或上标字段时,TeX 总是会添加这个空格),默认为 0.5pt,并且不会随着字体大小的改变而改变。
在 10pt 尺寸下,我们得到
....\mathon
....\OML/cmm/m/it/10 M
....\kern1.09026
....\OT1/cmr/m/n/10 (
....\OT1/cmr/m/n/10 )
....\mathoff
[...]
....\mathon
....\OML/cmm/m/it/10 M
....\hbox(0.0+0.0)x0.5, shifted 1.49998
....\OT1/cmr/m/n/10 (
....\OT1/cmr/m/n/10 )
....\mathoff
空间仍然较大,但只有 0.59026pt,除非我们放大输出,否则几乎无法察觉。
故事的寓意是:除非其他字段非空,否则切勿添加空的下标/上标。