![将 MathML 转换为 LaTeX:限制求和符号的位置](https://linux22.com/image/403056/%E5%B0%86%20MathML%20%E8%BD%AC%E6%8D%A2%E4%B8%BA%20LaTeX%EF%BC%9A%E9%99%90%E5%88%B6%E6%B1%82%E5%92%8C%E7%AC%A6%E5%8F%B7%E7%9A%84%E4%BD%8D%E7%BD%AE.png)
使用时 David Carlisle 的样式表将 MathML 转换为 LaTeX,在大多数情况下,上限和下限都正确地放置在求和符号的上方和下方。但是当我将以下 MathML 转换为 LaTeX 时,限值被放置在下标和上标位置(如下面的屏幕截图所示)。
问题:为什么会发生这种情况以及我们该如何解决它?
评论:我在 Windows 10 上使用最新版本的 MiKTeX。
MathML 文件:
<?xml version="1.0" encoding="utf-16"?>
<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML">
<mml:mrow>
<mml:msubsup>
<mml:mo stretchy="true">∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced separators="|">
<mml:mrow>
<mml:mfrac linethickness="0pt">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:msup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>-</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mrow>
</mml:math>
从上述 MathML 生成 LaTeX(使用 David 的样式表):
\[\let\par\empty
{{{{\mo{\unicode{8721}}}}\sb{{k={0}}}\sp{{n}}}{{\left({{\frac{{n}}{{k}}}}\right)}{\msup{{x}}{{k}}}{\msup{{a}}{{n-k}}}}}
\]
上述生成的 PDF 的屏幕截图: