MathML

読み:ますえむえる / 英語表記:Mathematical Markup Language

Webページなどに、画像を使わずに数式を表示するための、XMLに基づくマークアップ言語。W3Cが定めている。

イマシルちゃんの解説

Webページに分数やルート(√)みたいな数式を載せたいとき、昔は数式を画像にして貼り付けることが多かったんだ。
でも画像だと、拡大するとぼやけるし、読み上げソフトで読めないし、中の数字を書き換えるのも大変。

MathMLは、数式を「文字とタグ」で書くための言葉なんだ。
ブラウザがきれいに表示してくれるし、目が不自由な人の読み上げにも対応できるんだよ!

より深い解説

定義

MathML(Mathematical Markup Language)は、W3Cが勧告した、数式を記述するためのXMLのマークアップ言語である。HTML5では、HTMLの文書の中に直接書くことができる。

2種類の記述

種類表すもの例
プレゼンテーションMathML数式の見た目(どう表示するか)分数の線、上付き文字の位置
コンテンツMathML数式の意味(何を計算するか)「足し算」「関数の適用」

記述の例

x² + 1 を、プレゼンテーションMathMLで書くと、次のようになる。

<math>
  <msup><mi>x</mi><mn>2</mn></msup>
  <mo>+</mo>
  <mn>1</mn>
</math>
要素意味
mi識別子(変数など)
mn数
mo演算子
msup上付き(べき乗)
mfrac分数
msqrt平方根

画像で表示する方法との比較

MathML数式の画像
拡大ぼやけないぼやける
アクセシビリティ読み上げソフトが数式として読める代替テキストに頼る
検索・再利用数式をテキストとして扱えるできない
編集文字を書き換えればよい画像を作り直す

手で書くには記述が長くなるため、実際には、LaTeXの数式記法で書いてMathMLに変換したり、JavaScriptのライブラリで表示したりすることが多い。

似た名前の言語との区別

言語用途
MathML画像を使わずに数式を表示するための、XMLのマークアップ言語
SysMLシステムの設計と検証のための、UMLを拡張したモデリング言語
SystemCC++を基にした、ハードウェアとソフトウェアの協調設計のための記述言語

実際の試験ではここに出る!

この用語が出てくる記事

↑