将 MathML 转换为 LaTeX:限制求和符号的位置

将 MathML 转换为 LaTeX:限制求和符号的位置

使用时 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 的屏幕截图

在此处输入图片描述

相关内容