MathML


MathML とはMathematical Markup Language の略で, その名の通り数学表現用の言語です。Web 上の表現技術の規格化推進組織であるW3C, すなわちWorld Wide Web Consortium(ワールド・ワイド・ウェブ・コンソーシアム)が勧告する数学表示の標準です。TeX が組版, すなわち印刷出版物のために開発されたのとは対照的にMathML はWeb 用に開発されました。つまりはTeX はWeb のブラウザー上では認識されません。かといってMathML が現在すべてのブラウザーにデフォルトでサポートされているわけではなく,現在対応に積極的なブラウザーとしては FireFox が知られています。

MathJax


MathJax はWeb ブラウザーに広く採用されているJavaScript を応用したMathML 表示ツールです。米国数学会とMathType の開発元Design Science (現WIRIS America)社が共同で開発しました。この技術を用いるとブラウザーの別なく美しい数式表示が可能となります。またInternet Explorer 上でもMathPlayer の手助けを必要としません。
MathJax のサイトに移動

MathML 対応ソフトウェア


MathType をはじめ, この開発元のDesign Science (現WIRIS America)社とともに, W3C の設立および活動に携わってきたWolfram Research 社のMathematica, さらにMaple などの数式処理システム, Microsoft Office, Apache OpenOffice, LibreOffice といったソフトウェアスイートも読み込みできます。

OMML との関係


OMML とはOffice Math Markup Language の略で,Microsoft 社がOffice 2007 から採用している新しい数式フォーマットを指します。現在のOffice に内蔵されている「数式ツール」のフォーマットであり,それ以前はMathType の数式フォーマットと「数式エディタ(Microsoft 数式3.0)」というMathType ベースの簡易版の数式作成編集ツールが採用されていました。OMML についてはOffice MathML と呼ぶ人もありますが,これはW3C 勧告の正規のMathML とは似て非なるものです。ただし,かなり共通している部分があり,MathML のコードも解せます。

Presentation MathML とContent MathML

MathML にはPresentation MathML とContent MathML という二種類の異なるコード形式が存在します。前者は数式のレイアウトに関する直接的な命令を下し, 後者は数学の公式に則った命令を下すコードになっています。具体的に言えば, 例えば前者がシグマ記号の上下にそれぞれn と=1 という数値を入れるという指示であるとすれば, 後者はあらかじめ「総和」の数式マクロ(エレメント)を用いて, 「=1 からn まで」の配置すべき位置に来るように指示しています。前者はその数式の内容が分からなくても作成は可能なものの, 後者はそれなりの数学知識がないと作成が困難です。しかし視力障害をもった研究者や学生が音声変換ソフトウェアを用いた場合のように後者の方がはるかに分かりやすいというケースも考えられます。MathType 7 が対応しているのは, 前者のみとなります。またFireFox, Microsoft Office などのMathML 対応ソフトウェアも然りですが,Mathematica については, その両方に対応しています。

Presentation MathML 2.0

トークン・エレメント:

mi

math identifier

識別子(分数や変数など)の表示

mn

math number

数の表示

mo

math operator

演算子, 括弧, 区切り文字の表示

mtext

math text

テキストの表示

mspace/

math space

スペースの表示

ms

math string-literal

文字列リテラル(" " で囲んだ文字列)の表示

mglyph

math glyphs

非標準フォントの特殊シンボルの表示

一般的なレイアウト:

mrow

math(subexpressions) in ro

水平に部分式を表示

mfrac

math(subexpressions) fraction

部分式から分数で表示

msqrt

math square root

平方根を表示

mroot

math radical root

累乗根を表示

mstyle

math style change

スタイル変更

merror

math syntax error message

構文エラー・メッセージを囲む

mpadded

math space padded

間隔調整

mphantom

math phantom

不可視表示

mfenced

math fenced

括弧で囲む

menclose

math enclose(with a stretching symbol)

長い記号で囲む

スクリプトと限界:

msub

math subscript

下付き文字を追加

msup

math superscript

上付き文字を追加

msubsup

math subscript-superscript pair

上下付き文字を追加

munder

math underscript

真下付き文字を追加

mover

math overscript

真上付き文字を追加

munderover

math underscript-overscript pair

真上付きと真下付き文字を追加

mmultiscripts

math multi-prescripts

複数の真上付きと真下付き文字を追加

表:

mtable

math table

表や行列を表示

mtr

math table row

表や行列の行を表示

mtd

math table data

表や行列のエントリ

maligngroup/

math alignment group

整列

malignmark/

math alignment point marker

整列の目印

mlabeledtr/

math labeled table row

ラベル付きの表や行列の行

アクション:

maction

math actions

部分式にアクション(ハイパーリンクなど)を追加


MathML 3

2010 年10 月にMathML 3.0 がW3C から勧告(リコメンド)されました。MathML 3.0 は2.0 をベースにしており, これに新しい要素(エレメント)が追加されています。MathType 7.0 より MathML 3.0 の新しい要素に対応しています。

- ウィンドウを閉じる -