As the question title states, is it okay to write just
<math>a <msup>x 2</msup> + b x + c</math>
or do you really need to write
<math>
<mrow>
<mi>a</mi> <mo>⁢</mo> <msup><mi>x</mi><mn>2</mn></msup>
<mo>+</mo><mi>b</mi><mo>⁢</mo><mi>x</mi>
<mo>+</mo><mi>c</mi>
</mrow>
</math>
As far as Firefox goes it doesn't render a
Invalid Markup
error, but that hardly means other browser might not in the future if the spec actually prohibits it officially.
答案 0 :(得分:0)
正如问题标题所述,是否可以只写
<math>a <msup>x 2</msup> + b x + c</math>
否,不是
。你真的需要写吗?<math> <mrow> <mi>a</mi> <mo>⁢</mo> <msup><mi>x</mi><mn>2</mn></msup> <mo>+</mo><mi>b</mi><mo>⁢</mo><mi>x</mi> <mo>+</mo><mi>c</mi> </mrow> </math>
是,请参阅http://www.w3.org/TR/MathML3/chapter2.html#fund.syntax。
就Firefox而言,它不会呈现&#34;无效标记&#34;错误,但这很难意味着如果规范实际上正式禁止它,其他浏览器将来可能不会。
在开始浏览器中呈现&#34;无效标记&#34;任何不遵守规范的错误。今天浏览器尝试纠正标记。例如
<p>
<ul>
<li>foo</li>
<li>bar</li>
</ul>
<p>
由于您需要使用,无效
<p></p>
<ul>
<li>foo</li>
<li>bar</li>
</ul>
<p></p>
但是没有浏览器会停止渲染页面。
答案 1 :(得分:0)
MathML用于数学表示标记。它旨在提供正确排版数学公式所需的所有信息。
在数学排版中,标识符(或简称&#34;变量&#34;),运算符和数字的排版方式不同。有很多细微的差别,但仅举几例:标识符通常是斜体样式(并使用数学衬线字体),而数字是罗马风格。操作员在任何一方都使用微妙的间距规则。这只是几个例子。
由于演示MathML并非旨在描述公式的含义,而仅仅是外观,所有这些信息必须在标记中进行编码。 MathML渲染器也可以不解释公式。它会查看标记并相应地呈现。
直接创作MathML并不容易,事实上,它主要是以编程方式完成的,而不是直接输入。如果您需要更简单的方法,请尝试使用ASCIImath或LaTeX。像MathJax这样的渲染器也可以渲染它们。