Mathematical Markup Language
出典: フリー百科事典『ウィキペディア(Wikipedia)』
拡張子: | .mml |
---|---|
MIME Type: | application/mathml+xml |
開発者: | World Wide Web Consortium |
種別: | マークアップ言語 |
派生元: | XML |
国際標準: | 1.01 (Recommendation) 2.0 (Recommendation) |
Mathematical Markup Language(MathML、マスエムエル)は、XMLアプリケーションの一つで、数式を記述するためのマークアップ言語である。単体では数式の記述しかできないため、文書として利用するにはXHTMLに埋め込んでXHTML文書して扱うなどする。
目次 |
[編集] 歴史
コンピュータ上で数式を記述する要求はウェブが普及する前からあった。なかでもTeXは有名でかつよく使われており、数式の表記方法としてもテキストのみで表記せざるを得ないときなどに用いられる他、ウィキペディアを含むウィキ等での数式を表現する手段として今日でもよく使われている。しかし、HTML上で数式を表現する手段がなく、ウェブで数式を表現するには画像にするか、PDFなどHTML以外の形式にすることが多い。
なお、HTML 3.0では数式を表現できるようにしていた。1995年の案ではMATH要素が入れられることになっていた[1]。これはMathematicaで有名な Wolfram Research の提案をもとにしたものである。しかしHTML3.0は後に破棄され、またほとんどのブラウザはMATH要素に対応しなかった。HTMLに数式を載せること自体は果たせなかったものの、後のW3CのMathワーキンググループの前身といえる HTML Math Editorial Review Board が設立されるなどした。ちなみに、これは現在のMathMLと違って、TeXの数式表記に似た表記法であった。
1999年7月にMathML規格バージョン1.01が勧告され、2001年2月にバージョン2.0が発表された。そして2003年10月にバージョン2.0がW3CのMathワーキンググループから勧告された。
MathMLのオリジナルのバージョンでは名前空間が決められていなかった。というのも、まだXML名前空間の仕様自体が決まっていなかったからである。こうした事情から名前空間を指定されないことが多いが、名前空間を http://www.w3.org/1998/Math/MathML と指定しないとMathMLと認識しない実装も多い。
[編集] 例
よく知られた二次方程式の解の公式を例にする:
これをTeXで記述すると以下のようになる:
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
MathMLで記述すると以下のようになる:
<math> <mrow> <mi>x</mi> <mo>=</mo> <mfrac> <mrow> <mrow> <mo>-</mo> <mi>b</mi> </mrow> <mo>±</mo> <msqrt> <mrow> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo>-</mo> <mrow> <mn>4</mn> <mo>⁢</mo> <mi>a</mi> <mo>⁢</mo> <mi>c</mi> </mrow> </mrow> </msqrt> </mrow> <mrow> <mn>2</mn> <mo>⁢</mo> <mi>a</mi> </mrow> </mfrac> </mrow> </math>
このように人間の可読性を求めるならばTeXのほうが優れているが、XMLアプリケーションであるMathMLはコンピュータによる数式の意味認識において有利となるよう設計されている。人間がMathMLを直接書いたり編集したりすることは意図としていない[1]。
[編集] ソフトウェアでの対応状況
2007年1月現在、普及はしているとは言い難いが、MathML出力をサポートしているソフトは増えてきつつある。
PubliconなどWolfram Researchの製品でMathMLを取り扱える。また、OpenOffice.orgやKOfficeといった一部のメジャーなオフィススイートの数式エディタでは MathML 出力が可能である。TeXmacsなどのWYSIWYGなエディタでMathML出力をすることができるものや、MathMLをネイティブに読込・保存できるソフトとしてFormulator[2]、Amayaなどがある。
他の数式表現形式からMathMLに変換するソフトもあり、例えばTeXからの変換ソフトとしてConTeXtやMathTpe、itex2mmlなどがある。またウェブ上で変換をするページもある。
ウェブブラウザでMathMLにネイティブで対応しているのはGeckoを積んでいるブラウザ(Mozilla Firefoxなど)である[3]。他のブラウザではプラグインによる表示となる。例えばInternet ExplorerではDesign Science MathPlayerをインストールすることでMathMLを表示できるようになる。
[編集] 註
[編集] 外部リンク
- W3C Math Home 規格書、FAQ、ソフトウェアの一覧がある