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 とk=1 という数値を入れるという指示であるとすれば, 後者はあらかじめ「総和」の数式マクロ(エレメント)を用いて, 「k=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
|
部分式にアクション(ハイパーリンクなど)を追加
|
2010 年10 月にMathML 3.0 がW3C から勧告(リコメンド)されました。MathML 3.0 は2.0 をベースにしており, これに新しい要素(エレメント)が追加されています。MathType 7.0 より
MathML 3.0 の新しい要素に対応しています。
|