【问题标题】:Does one rendering have multiple MathML expressions?一个渲染是否有多个 MathML 表达式?
【发布时间】:2015-04-09 14:33:50
【问题描述】:

我目前正在研究数学表达式识别。我正在查看CROHME dataset 并找到了这个:

<math xmlns='http://www.w3.org/1998/Math/MathML'>
    <mrow>
        <mi xml:id="y_1">y</mi>
        <mrow>
            <mo xml:id="=_1">=</mo>
            <mrow>
                <mi xml:id="A_1">A</mi>
                <mrow>
                    <mi xml:id="x_1">x</mi>
                    <mrow>
                        <mo xml:id="+_1">+</mo>
                        <msup>
                            <mi xml:id="A_2">A</mi>
                            <mn xml:id="2_1">2</mn>
                        </msup>
                    </mrow>
                </mrow>
            </mrow>
        </mrow>
    </mrow>
</math>

渲染到(带有http://www.mathmlcentral.com/Tools/FromMathML.jsp

mrow 的应用对我来说似乎相当随意。这个表达式在语义上是否与

相同?
<math xmlns='http://www.w3.org/1998/Math/MathML'>
    <mrow>
        <mi xml:id="y_1">y</mi>
        <mo xml:id="=_1">=</mo>
        <mi xml:id="A_1">A</mi>
        <mi xml:id="x_1">x</mi>
        <mo xml:id="+_1">+</mo>
        <msup>
            <mi xml:id="A_2">A</mi>
            <mn xml:id="2_1">2</mn>
        </msup>
    </mrow>
</math>

<math xmlns='http://www.w3.org/1998/Math/MathML'>
    <mrow>
        <mi xml:id="y_1">y</mi>
        <mo xml:id="=_1">=</mo>
        <mrow>
            <mi xml:id="A_1">A</mi>
            <mi xml:id="x_1">x</mi>
        </mrow>
        <mo xml:id="+_1">+</mo>
        <msup>
            <mi xml:id="A_2">A</mi>
            <mn xml:id="2_1">2</mn>
        </msup>
    </mrow>
</math>

这三个 MathML 表达式有什么区别?它们都应该渲染成相同的吗?

【问题讨论】:

    标签: mathml


    【解决方案1】:

    mrow 的存在是为了允许在元素/标签中使用长表达式,这些元素/标签可以有有限数量的子元素。例如,“x + y”的平方根必须写为

    <math>
    <msqrt>
    <mrow>
    <mi>x</mi>
    <mo>+</mo>
    <mi>y</mi>
    </mrow>
    </msqrt>
    </math>
    

    渲染软件必须渲染

    <math>
    <mi>x</mi>
    </math>
    

    <math>
    <mrow>
    <mi>x</mi>
    </mrow>
    </math>
    

    以同样的方式。

    支持你的问题,

    这个表达式在语义上是不是相同的

    我们正在谈论表示 MathML,所以不要谈论语义。

    这三个 MathML 表达式有什么区别?

    不同之处在于表达式的 MathML 树。如果你打算通过一些软件来处理表达式,它可以基于 MathML 树做出一些假设,并基于它有不同的行为。

    它们都应该渲染成相同的吗?

    是的。

    【讨论】:

      猜你喜欢
      • 2015-09-14
      • 1970-01-01
      • 2020-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-13
      相关资源
      最近更新 更多