MathML 演示

1 位贡献者:

MathML 演示

你能看到页面中整齐的数学公式吗?没有?那太糟了。这是你应该看到的样子。要修复这个情形,请下载一个支持 MathML 的Mozilla 版本。

你已经拥有一个支持 MathML 的版本但是你看到的和截屏不同?那可能是因为你缺少需要的 MathML 字体.

现在你已经万事俱备了,你应该可以看到这个带有变音符号的行内方程式: x ^ + xy ^ + xyz ^ . 接下来是一个小公式, det | a c b d | = a d - b c , 它也可以排版成独立行公式风格,如 det | a b c d | = a d - b c .

数学排版要求很多。 MathML in Mozilla 项目 旨在实现 MathML 规范以达到“所见即所标记”,换句话说“所见即所创造”, 或者英文缩写成 “WYSIWYM”。这两者之间的不同在于标记! ( ... ( ( a 0 + a 1 ) n 1 + a 2 ) n 2 + ... + a p ) n p ( ... ( ( a 0 + a 1 ) n 1 + a 2 ) n 2 + ... + a p ) n p

这个粗体方程式的根 y 3 + p y + q = 0 也是粗体 y = - q 2 + q 2 4 + p 3 27 2 3 + - q 2 - q 2 4 + p 3 27 2 3 .

至于方程式 a x 2 + b x + c = 0 的根,你可以点击黄色区域的任意位置进行放大或者缩小:

Zoomable Math

HTML Content

    <p>
      <math display="block">
        <mstyle id="zoomableMath" mathbackground="yellow">
          <mrow>
            <mi>x</mi>
            <mo>=</mo>
            <mfrac>
              <mrow>
                <mrow>
                  <mo>-</mo>
                  <mi>b</mi>
                </mrow>
                <mo>&#xB1;</mo>
                <msqrt>
                  <mrow>
                    <msup>
                      <mi>b</mi>
                      <mn>2</mn>
                    </msup>
                    <mo>-</mo>
                    <mrow>
                      <mn>4</mn>
                      <mi>a</mi>
                      <mi>c</mi>
                    </mrow>
                  </mrow>
                </msqrt>
              </mrow>
              <mrow>
                <mn>2</mn>
                <mi>a</mi>
              </mrow>
            </mfrac>
          </mrow>
        </mstyle>
      </math>
    </p>

JavaScript Content

      function zoomToggle()
      {
      if (this.hasAttribute("mathsize")) {
      this.removeAttribute("mathsize");
      } else {
      this.setAttribute("mathsize", "200%");
      }
      }

      function load()
      {
      document.getElementById("zoomableMath").
      addEventListener("click", zoomToggle, false);
      }

      window.addEventListener("load", load, false);

考虑这样一个有趣的标记 { u t + f ( u ) x = 0 u ( 0 , x ) = { u - 若  x < 0 u + 若  x > 0 或者其他复杂的标记 Ell ^ Y ( Z ; z , τ ) := Y ( l ( y l 2 π i ) θ ( y l 2 π i - z ) θ ( 0 ) θ ( - z ) θ ( y l 2 π i ) ) × ( k θ ( e k 2 π i - ( α k + 1 ) z ) θ ( - z ) θ ( e k 2 π i - z ) θ ( - ( α k + 1 ) z ) ) π ( n ) = m = 2 n ( k = 1 m - 1 ( m / k ) / m / k ) - 1 ϕ W s k ( Ω g ) ( | α | k α ϕ ξ α L s ( Ω g ) s ) 1 / s

请参考MathML 项目页面的链接以浏览更多样例。如果你正在创建你自己的 Mozilla 的二进制版本,请参考目录 mozilla/layout/mathml/tests

当你在 Mozilla 中尝试 MathML,面对那些没有按照 MathML 规范实现的少数情况,你有没有想做什么呢?或者那些看上去有些碍眼的部分,你是否希望能够做得更好一点吗?或者那些以前没有问题的东西现在出问题了?在这些情况下,欢迎前往Bugzilla报告错误。 Bugzilla 是一个记录这些东西的大仓库,要知道,如果那些错误没有被报告,你的问题怎么会解决?!

参与是你贡献的一部分,一起来让Gecko 成为一个优雅、符合标准的 MathML 渲染工具。你可以通过以下方法反馈:在互联网上书写 MathML 内容体现,在Bugzilla里报告错误,在待办事项列表中选择一个条目,甚至检查或改进当前的代码

文档标签和贡献者

向此页面作出贡献: fred.wang
最后编辑者: fred.wang,