MathML - すべての要素: 初心者のための包括ガイド
こんにちは、数学者およびウェブ開発者の卵さんたち!あなたの近所の親切なコンピュータサイエンスの先生として、私はMathMLの世界にあなたを誘う興奮的な旅を楽しみにしています。これまでに一行もコードを書いたことがない方でも心配しないでください。我们从零开始、少しずつ進んでいきます。で、お気に入りの飲み物を片手に、数学的なマークアップの魅力的な世界に飛び込みましょう!

MathMLとは?
本格的な詳細に飛び込む前に、まずMathMLとは何かを理解しましょう。MathMLは、数学的記号を記述し、その構造と内容の両方を捉える方法で、Mathematical Markup Languageの略です。まるで数学用のHTMLのようなものです。すごくないですか?
数学者、科学者、教育者が複雑な数学的なアイデアをコンピュータが理解し、表示できるようにするための普遍的な言語と考えられます。コンピュータに数学的眼鏡を与えるようなものです!
MathMLを始める
MathMLを使うためには、まずウェブページに「数学」を話す準備をしなければなりません。これには<math>タグを使います。以下は簡単な例です:
<math xmlns="http://www.w3.org/1998/Math/MathML">
<!-- あなたの数学的な表現をここに -->
</math>この長いURLに驚かないでください。这只是浏览器にMathMLのルールブックを見つける場所を教えています。
基本的なMathML要素
では、MathMLの冒険でよく使う基本的な要素から始めましょう。
数値と演算子
数値と基本的な演算子を書くには、<mn>(数値)と<mo>(演算子)タグを使います。以下は簡単な加算の例です:
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mn>2</mn>
<mo>+</mo>
<mn>3</mn>
</math>これは「2 + 3」と表示されます。
簡単ですね、でしょう?
変数
数学では、未知の値を表すために文字を使うことがよくあります。MathMLでは、変数には<mi>(識別子)タグを使います。以下は簡単な方程式の例です:
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mi>x</mi>
<mo>=</mo>
<mn>5</mn>
</math>これは「x = 5」と表示されます。
分数
少し複雑なものに挑戦しましょう。分数には<mfrac>タグを使います。これは常に二つの子要素を含みます:分子と分母です。
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
</math>これは美しい分数「1/2」と表示されます。
高度なMathML要素
準備ができたら、さらに高度なMathML要素を見てみましょう。
級数と下付き文字
級数(指数)や下付き文字には、それぞれ<msup>と<msub>タグを使います。以下にx²とH₂Oの書き方を示します:
<math xmlns="http://www.w3.org/1998/Math/MathML">
<msup>
<mi>x</mi>
<mn>2</mn>
</msup>
<mtext>と</mtext>
<msub>
<mi>H</mi>
<mn>2</mn>
</msub>
<mi>O</mi>
</math>根
平方根やn次根には、<msqrt>と<mroot>タグを使います。以下にその使い方を示します:
<math xmlns="http://www.w3.org/1998/Math/MathML">
<msqrt>
<mn>9</mn>
</msqrt>
<mtext>と</mtext>
<mroot>
<mn>8</mn>
<mn>3</mn>
</mroot>
</math>これにより、9の平方根と8の立方根が表示されます。
すべてを組み合わせる
これまで学んだ様々なMathML要素を組み合わせて、より複雑な表現を作ってみましょう。二次方程式の解き方をどうぞ?
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mi>x</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mo>-</mo>
<mi>b</mi>
<mo>±</mo>
<msqrt>
<msup>
<mi>b</mi>
<mn>2</mn>
</msup>
<mo>-</mo>
<mn>4</mn>
<mi>a</mi>
<mi>c</mi>
</msqrt>
</mrow>
<mrow>
<mn>2</mn>
<mi>a</mi>
</mrow>
</mfrac>
</math>素晴らしいですね!
MathML要素の参照表
ここに、これまでカバーしたMathML要素(そして少し余分なもの)のハンディな表を示します:
| 要素 | 説明 | 例 | 
|---|---|---|
| <math> | MathMLのルート要素 | <math>...</math> | 
| <mn> | 数値 | <mn>42</mn> | 
| <mo> | 演算子 | <mo>+</mo> | 
| <mi> | 識別子(変数) | <mi>x</mi> | 
| <mtext> | テキスト | <mtext>Hello</mtext> | 
| <mspace> | スペース | <mspace width="1em"/> | 
| <mrow> | グループ要素 | <mrow>...</mrow> | 
| <mfrac> | 分数 | <mfrac><mn>1</mn><mn>2</mn></mfrac> | 
| <msqrt> | 平方根 | <msqrt><mn>9</mn></msqrt> | 
| <mroot> | n次根 | <mroot><mn>8</mn><mn>3</mn></mroot> | 
| <msup> | 級数 | <msup><mi>x</mi><mn>2</mn></msup> | 
| <msub> | 下付き文字 | <msub><mi>x</mi><mn>1</mn></msub> | 
| <munderover> | 下付きと上付き | <munderover><mo>∑</mo><mn>0</mn><mi>n</mi></munderover> | 
| <mtable> | テーブル | <mtable>...</mtable> | 
| <mtr> | テーブル行 | <mtr>...</mtr> | 
| <mtd> | テーブルセル | <mtd>...</mtd> | 
結論
おめでとうございます!あなたはMathMLの世界への最初の一歩を踏み出しました。基本的なことから高度な要素まで見てきましたし、複雑な公式を作成もしました。忘れてはならないのは、MathMLも他の言語同様、練習によって習得できるものです。最初は難しいと感じるかもしれませんが、時間と忍耐を持って続ければ、すぐに美しい数学的な表現が書けるようになるでしょう。
この終わりに、有名な数学者、ポール・エルデッシュの言葉を思い出します:「数が美しくないなら、何が美しいんだ?」MathMLを使えば、その美しい数をウェブ上に生き生きと表現できます!
練習を続け、好奇心を持ち続け、最も重要なのは、数学とコーディングを楽しむことです。あなたが次に数学の表現方法を革命させる人になるかもしれません!
次回まで、ハッピーコーディングを、そしてあなたの方程式が常に均衡するようお祈りします!
Credits: Image by storyset
