数学置标语言


数学置标语言 (正體)

Free Web Hosting with Website Builder

数学置标语言Mathematical Markup LanguageMathML),是一种基于XML的标准,用来在互联网上书写数学符号和公式的置标语言。它是由W3C的数学工作组提出的。语言规格1.01版于1999年7月公布,2.0版于2001年2月出现。W3C的数学工作组之后又在2003年10月发布了MathML的最终版——2.0第二版。

由于数学符号和公式的结构复杂且符号与符号之间存在多种逻辑关系,MathML的格式十分繁琐。因此,大多数人都不会去手写MathML,而是利用其它的工具来编写,其中包括TeX到MathML的转换器。在现在几个主要的网页浏览器中,最新版的MozillaMozilla FirefoxNetscape Navigator都已经对MathML提供直接的支持。微软Internet Explorer在安装了MathPlayer插件后也可以识别MathML。此外,MathML还得到了一些办公软件的支持,如OpenOffice.orgMicrosoft Office

结构和句法

MathML十分类似HTML,但非常繁琐。它继承了角括号和双标签(<标签>内容</标签>)的用法。

例如,书写以下的公式(LaTeX):

x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}

若用LaTeX,只需要一行代码:

x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}

但用MathML,则需要:

<math xmlns="http://www.w3.org/1998/Math/MathML">
 <mi>x</mi>
 <mo>=</mo>
 <mfrac>
  <mrow>
   <mrow>
    <mo>-</mo>
    <mi>b</mi>
   </mrow>
   <mo>&PlusMinus;</mo>
   <msqrt>
    <msup>
     <mi>b</mi>
     <mn>2</mn>
    </msup>
    <mo>-</mo>
    <mrow>
     <mn>4</mn>
     <mo>&InvisibleTimes;</mo>
     <mi>a</mi>
     <mo>&InvisibleTimes;</mo>
     <mi>c</mi>
    </mrow>
   </msqrt>
  </mrow>
  <mrow>
   <mn>2</mn>
   <mo>&InvisibleTimes;</mo>
   <mi>a</mi>
  </mrow>
 </mfrac>
</math>

虽然如此,由于MathML是严格遵守XML规范的语言,很多已经运用XML的软件可以轻易的读懂MathML。这也是这种语言的制作者W3C组织宁可选择复杂的句法也要和标准一致的一个重要原因。

参看

外部链接







Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History