答案1
您的问题可以通过原始构造来说明:
$[\mathop{[[[[]]]]}\limits^{[[[[]]]]}_{[[[[]]]]}]$
确实,上面的字距比下面的字距小。TeXbook 附录 G 第 13a 段说,上面的字距最大为 (xi9, xi11-dp),下面的字距最大为 (xi10, xi12-ht)。Computer Modern 给出的值如下:
xi9 = \fontdimen9\textfont3 = 1.11111pt
xi10 = \fontdimen10\textfont3 = 1.66666pt
xi11 = \fontdimen11\textfont3 = 1.99998pt
xi12 = \fontdimen12\textfont3 = 6.0pt
dp = \dp\hbox{$\scriptstyle[]$} = 1.75pt
ht = \ht\hbox{$\scriptstyle[]$} = 5.25pt
我们可以看到上面的最大值是 xi9,下面的最大值是 xi10。因此,我们的 kern 高于 1.11111pt,而 kern 低于 1.66666pt。
您可以通过以下方式设置更好的字距:
\fontdimen9\textfont3=1.666666pt
然后你就会在上方和下方看到相同的字距。已通过测试pdftex document
。
如果我们使用luatex
,那么设置\fontdimen
就无关紧要了,我们必须改用LuaTeX 原语:
\Umathlimitabovevgap\textstyle=1.6666666pt
luatex document
已由或测试optex document
。
我也测试了 LatinModern 字体的 Unicode-math,发现 Computer Modern 的 bug 已经在这里修正,上下字距统一设置为 1.666666pt。所以,你可以使用 Unicode-math Latin Modern 来解决你的问题。