mathタグ -数式を記述する|HTML辞典

<math>タグとは?

<math> タグは、HTML 内で数式を記述するためのタグであり、MathML(Mathematical Markup Language)を使用して数学表記をレンダリングできます。
ブラウザが MathML に対応していれば、ネイティブな数学表記が可能になります。

基本情報

コンテンツモデル

MathML コンテンツ(MathML Content)。

閉じタグの有無

<math>開始タグ(<math>)と閉じタグ(</math>)の両方が必要 です。

基本的な記述方法

<math>
<mfrac>
<mi>a</mi>
<mi>b</mi>
</mfrac>
</math>

上記のコードでは、a/b の分数表記が表示されます。

使用できる主な MathML 要素

タグ説明
<mi>変数や識別子(例:x, y)<mi>x</mi>
<mn>数値(例:1, 2, 3)<mn>2</mn>
<mo>演算子(例:+, -, ×, ÷)<mo>+</mo>
<mfrac>分数<mfrac><mi>a</mi><mi>b</mi></mfrac>
<msup>上付き文字<msup><mi>x</mi><mn>2</mn></msup>
<msub>下付き文字<msub><mi>a</mi><mn>1</mn></msub>
<msqrt>ルート(平方根)<msqrt><mn>4</mn></msqrt>
<mrow>数式のグループ化<mrow><mi>a</mi><mo>+</mo><mi>b</mi></mrow>

CSSを使ったデザイン変更

<math> タグのデフォルトデザインはブラウザ依存ですが、CSS で調整できます。

math {
font-size: 1.2em;
}

mfrac {
line-height: 1.5;
}

このスタイルを適用すると、数式のフォントサイズが大きくなり、可読性が向上します。

適切な使用例

✅ 分数を表示する

<math>
<mfrac>
<mi>a</mi>
<mi>b</mi>
</mfrac>
</math>

a/b の形式で表示されます。

✅ 上付き・下付き文字を使用する(指数表記)

<math>
<msup>
<mi>x</mi>
<mn>2</mn>
</msup>
</math>

のように表示されます。

✅ ルートを表記する

<math>
<msqrt>
<mn>16</mn>
</msqrt>
</math>

√16 の形式で表示されます。

適切でない使用例(誤った使い方)

<math> の中に直接テキストを記述する

<!-- NG: 変数や数値をタグなしで書く -->
<math>
a + b = c
</math>

正しい書き方(適切な MathML タグを使用)

<math>
<mrow>
<mi>a</mi>
<mo>+</mo>
<mi>b</mi>
<mo>=</mo>
<mi>c</mi>
</mrow>
</math>

<math> を HTML の通常の数式表記の代わりに使用する

<!-- NG: MathML をサポートしていない環境では正しく表示されない -->
<p>2 × 2 = <math><mn>4</mn></math></p>

通常の HTML で表現するか、MathML 対応を確認

<p>2 × 2 = 4</p>

<math>タグと他のタグの違い

タグ役割特徴適切な用途
<math>数式を記述MathML をサポート科学・数学の表記
<sup>上付き文字シンプルな指数表記 などの簡単な数式
<sub>下付き文字化学式や添字表記H₂O などの化学式
<code>コードの記述数学的なコード表記プログラム内の数式

使用上の注意点

<math> は MathML に対応したブラウザでのみ適切にレンダリングされる

  • 最新のブラウザでは多くが対応しているが、一部環境では正しく表示されない可能性がある。

<math> の代替として LaTeX(KaTeX や MathJax)を使う選択肢もある

  • MathML が適用できない環境では、LaTeX ベースのレンダリングが有効な場合もある。

<math> を使わなくても、シンプルな数式なら <sup><sub> で代用できる

  • 例えば <sup> を使うことで <math> なしでも表現可能。

関連タグ

  • <sup> – 上付き文字を表記
  • <sub> – 下付き文字を表記
  • <code> – コードを記述
  • <var> – 変数の表記

まとめ

<math> タグは、HTML の MathML を使用して数学表記を記述するためのタグ です。
数学や科学の表記を正確に表現できますが、対応ブラウザを考慮する必要があります。