(Translated by https://www.hiragana.jp/)
Mathematical Markup Language - Wikipedia コンテンツにスキップ

Mathematical Markup Language

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』
MathML
拡張子かくちょうし.mml
MIMEタイプapplication/mathml+xml
開発かいはつしゃWorld Wide Web Consortium
最新さいしんばん
3.0 2nd Edition
(2014-4-10)
種別しゅべつマークアップ言語げんご
派生はせいもとXML
ウェブサイトwww.w3.org/Math/

Mathematical Markup Language(マスマティカル マークアップ ランゲージ りゃくMathML(マスエムエル))は、XMLアプリケーションのひとつで、数式すうしき記述きじゅつするためのマークアップ言語げんごである。単体たんたいでは数式すうしき記述きじゅつしかできないため、文書ぶんしょとして利用りようするにはXHTMLんでXHTML文書ぶんしょとしてあつかうなどする。

歴史れきし

[編集へんしゅう]

コンピュータじょう数式すうしき記述きじゅつする要求ようきゅうウェブ普及ふきゅうするまえからあった。なかでもTeX有名ゆうめいでかつよく使つかわれており、数式すうしき表記ひょうき方法ほうほうとしてもテキストのみで表記ひょうきせざるをないときなどにもちいられるほか、ウィキペディアをふくウィキとうでの数式すうしき表現ひょうげんする手段しゅだんとして今日きょうでもよく使つかわれている。しかし、HTMLうえ数式すうしき表現ひょうげんする手段しゅだんがなく、ウェブで数式すうしき表現ひょうげんするには画像がぞうにするか、PDFなどHTML以外いがい形式けいしきにすることがおおい。

なお、HTML 3.0では数式すうしき表現ひょうげんできるようにしていた。1995ねんあんではMATH要素ようそれられることになっていた[1]。これはMathematica有名ゆうめいな Wolfram Research の提案ていあんをもとにしたものである。しかしHTML3.0はのち破棄はきされ、またほとんどのブラウザはMATH要素ようそ対応たいおうしなかった。HTMLに数式すうしきせること自体じたいたせなかったものの、W3CのMathワーキンググループの前身ぜんしんといえる HTML Math Editorial Review Board が設立せつりつされるなどした。ちなみに、これは現在げんざいのMathMLとはちがい、TeX数式すうしき表記ひょうき表記ひょうきほうであった。

1999ねん7がつにMathML規格きかくバージョン1.01がW3CのMathワーキンググループから勧告かんこくされた。そして2001ねん2がつにバージョン2.0が勧告かんこくされ、2003ねん10月にバージョン2.0だい2はん勧告かんこくされた。その2010ねん10月にバージョン3.0が勧告かんこくされた。

MathMLのオリジナルのバージョンでは名前なまえ空間くうかんめられていなかった。というのも、まだXML名前なまえ空間くうかん仕様しよう自体じたいまっていなかったからである。こうした事情じじょうから名前なまえ空間くうかん指定していされないことがおおいが、名前なまえ空間くうかんhttp://www.w3.org/1998/Math/MathML指定していしないとMathMLと認識にんしきしない実装じっそうおおい。

表示ひょうじ意味いみろん

[編集へんしゅう]

MathMLは数式すうしき要素ようそのその表示ひょうじをもってだけでなくその意味いみもまた処理しょりする(MathMLの後者こうしゃのものは「内容ないようMathML」としてられる[訳注やくちゅう 1])。その内容ないよう利用りようしゃにたいしてつうじるかどうかは、(ほうほどしき意味いみがその表示ひょうじからはなれてたもたれるかどうかによる。たとえば、それらにおいてMathMLがまれたウェブページはおおくのブラウザーで自然しぜんなウェブページとしてることができる、しかし視覚しかく障害しょうがい利用りようしゃはそれらをスクリーンリーダーたとえば、Internet Explorer、(あるいは)9656+ビルトのOpera9.5のためのMathPlayerプラグイン、またはFirefoxのためのFire Vox英語えいごばん拡張かくちょうばん)の利用りようとおしておなじようにMathMLをむこともできる。

表現ひょうげんMathML

[編集へんしゅう]

表現ひょうげんMathMLは(ほうほどしきの(視覚しかくてき表示ひょうじけて用途ようとしぼる、そしておおよそ30 構成こうせい要素ようそをもつ。構成こうせい要素ようそ名前なまえはすべてmからはじまる。ひとつの表現ひょうげんMathMLの表示ひょうじは、それらのレイアウトを制御せいぎょするものである(おも細部さいぶこまかく制御せいぎょするものである、おおよそ50標識ひょうしきがまたある)、上位じょういレベルの構成こうせい要素ようそ使つかってわされたところのトークンからてられる。

内容ないようMathML

[編集へんしゅう]

内容ないようMathMLは意味いみろんにおいてまたは意味いみについて、またはそれのレイアウトよりもむしろ表現ひょうげんいて用途ようとしぼる。内容ないようMathMLの中心ちゅうしん関数かんすう適用てきよう表示ひょうじするところの<apply>構成こうせい要素ようそである。適用てきようされるその関数かんすう<apply>のもとの最初さいしょ構成こうせい要素ようそであり、そしてそれのオペランドまたはパラメーターは構成こうせい要素ようそ保持ほじする。内容ないようMathMLはわずかな標識ひょうしきしかもちいない。
識別子しきべつしのようなものやかずは、表現ひょうげんMathMLとくらべて多量たりょうに、しかしcicnのようなものの構成こうせい要素ようそをもって、個別こべつにマークアップされる。トークンのたんなるほかのタイプの存在そんざいよりもむしろ、timespowerなどの、数学すうがくてき意味いみをMathMLがみとめるものである、明確めいかく構成こうせい要素ようそによってオペレーターは表示ひょうじされる。いろいろな関数かんすうとオペレーターのために100えるいろいろな構成こうせい要素ようそがある([1]よ)。

よくられた方程式ほうていしきかい公式こうしきれいにする:

これをTeX記述きじゅつすると以下いかのようになる:

x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}

MathMLで記述きじゅつすると以下いかのようになる:

<math>
 <mrow>
  <mi>x</mi>
  <mo>=</mo>
  <mfrac>
   <mrow>
    <mrow>
     <mo>-</mo>
     <mi>b</mi>
    </mrow>
    <mo>&PlusMinus;</mo>
    <msqrt>
     <mrow>
      <msup>
       <mi>b</mi>
       <mn>2</mn>
      </msup>
      <mo>-</mo>
      <mrow>
       <mn>4</mn>
       <mo>&InvisibleTimes;</mo>
       <mi>a</mi>
       <mo>&InvisibleTimes;</mo>
       <mi>c</mi>
      </mrow>
     </mrow>
    </msqrt>
   </mrow>
   <mrow>
    <mn>2</mn>
    <mo>&InvisibleTimes;</mo>
    <mi>a</mi>
   </mrow>
  </mfrac>
 </mrow>
</math>

このように人間にんげん可読かどくせいもとめるならばTeXのほうがすぐれている。しかし、XMLアプリケーションであるMathMLは本来ほんらいコンピュータによる数式すうしき意味いみ認識にんしきにおいて有利ゆうりとなるよう設計せっけいされたものであり、人間にんげんがMathMLを直接ちょくせついたり編集へんしゅうしたりすることは意図いとしていない[2]

ソフトウェアでの対応たいおうじょうきょう

[編集へんしゅう]

2015ねん現在げんざい普及ふきゅうはしているとはがたいが、MathML出力しゅつりょくをサポートしているソフトはえつつある。

エディタ

[編集へんしゅう]

MathMLをサポートするネイティブなエディタにはデザイン・サイエンス英語えいごばんからのMathFlowとMathTypeウルフラム・リサーチからのMathMagic英語えいごばんPublicon英語えいごばん、そしてWIRISがある。[3] W3CにMathMLのエディタのリストがある。[4]
MathematicaMapleおよびCasio ClassPad 300英語えいごばんのウィンドウズばんのようなものの数学すうがくのソフトウェア製品せいひん同様どうように、(OpenOffice Mathによる)Apache OpenOffice、(LibreOffice Mathによる)LibreOffice、(以前いぜん KOfficeの)Calligra Suite、そしてMS Office 2007のような主要しゅよう製品せいひんによってもMathMLはサポートされている。
Mozilla FirefoxのアドオンのFiremath英語えいごばんは、WYSIWYGのMathMLエディタを提供ていきょうする。
たいていのエディタは表現ひょうげんMathMLだけをつくす。MathDoxの数式すうしきエディタは表現ひょうげんだけでなく内容ないようMathMLもまた提供ていきょうするOpenMathエディタである。MathMLの表現ひょうげん内容ないよう、ならびにそれらのざったマークアップを編集へんしゅうするのにFormulator MathML WeaverはWYSIWYGスタイルを使つかう。

TeXmacsなどのWYSIWYGなエディタでMathML出力しゅつりょくをすることができるものや、MathMLをネイティブに読込よみこめ保存ほぞんできるソフトとしてFormulator[5]Amayaなどがある。

数式すうしき表現ひょうげん形式けいしきからMathMLに変換へんかんするソフトもあり、たとえばTeXからの変換へんかんソフトとしてConTeXtやMathType、itex2mmlなどがある。またウェブじょう変換へんかんをするページもある。

ブラウザ

[編集へんしゅう]

ブラウザでのMathMLネイティブサポート(ブラウザのレンダリングエンジンによるMathMLのレンダリング)はすすんでいない。対応たいおうしているのは、Gecko採用さいようしている Mozilla Firefox などのブラウザ[6]Safari 5.1 以降いこうにとどまる。Google ChromeではChrome 24で対応たいおうしたが、実装じっそうじょう問題もんだいからChrome 25で対応たいおうになり[7]、Chrome 109からふたた対応たいおうした[8]Microsoft Edgeでも同様どうよう対応たいおうした。Presto採用さいようしている、Opera 9.50[9]〜12.1 においては単体たんたいでほとんどの数式すうしき表示ひょうじ可能かのうとなったが、Opera 14 よりレンダリングエンジンが WebKit そして Blink になり対応たいおうとなった。

Internet Explorer対応たいおうしていない。ただしJavaScriptライブラリMathJax[10]や、Internet Explorer ようのプラグインMathPlayerなどを使つかうと、MathML対応たいおうブラウザでも表示ひょうじすることができる。

ブラウザでのMathMLのレンダリングの品質ひんしつはインストールされているフォントに依存いぞんする。STIXフォント事業じぎょうはオープンライセンスの数学すうがくフォントをリリースしている。Microsoft Windows付属ふぞくCambria Mathフォントもサポートしている。

その

[編集へんしゅう]

アンテナハウスのAH FormatterはXMLまたはHTMLちゅうまれたMathMLを可視かしして印刷いんさつしたり、PDFやSVGなどに出力しゅつりょくできる[11]

JAWS2015ねん発売はつばいされたVersion 16.0よりMathMLに対応たいおうしている[12]

ソフトウェア開発かいはつのサポート

[編集へんしゅう]

コンピューター・エイデッド・エデュケーション(遠隔えんかく教育きょういく電子でんし教科書きょうかしょ、そして教材きょうざい);魅力みりょくてきなレポートの自動じどう作成さくせい数式すうしき処理しょりシステム著作ちょさく教育きょういく出版しゅっぱんツール(ウェブとデスクトップ・オリエンテッドの両方りょうほう)、そして数学すうがく科学かがく、ビジネス、経済けいざい、そのおおくのほかのアプリケーションのような多様たようなものにおいてMathMLフォーマットのサポートはソフトウェア・アプリケーションの開発かいはつ加速かそくする。ソフトウェア開発かいはつしゃらにたいしてかれらのアプリケーションにおいて機能きのうてき数学すうがくてきなレンダリング/編集へんしゅう処理しょりれるように簡易かんい方法ほうほう提供ていきょうおこなって、いくつかのソフトウェア・ベンダーらはかれらのMathMLエディタのコンポーネント・エディションを提案ていあんする。たとえば、Hermitech LaboratoryからのFormulator ActiveX ControlはMathMLのエディタとおなじようになるようにアプリケーションへ合併がっぺいするようできる、Design Science英語えいごばんはインタラクティブな数式すうしきふくむものであるウェブ・ページをてるためのツールキットを提供ていきょうする(MathFlow DEvelopers Suite[13])。

脚注きゃくちゅう

[編集へんしゅう]
  1. ^ HTML Math
  2. ^ Mathematical Markup Language (MathML™) 1.01 Specification (Abstract)” (1999ねん7がつ7にち). 2008ねん5がつ10日とおか閲覧えつらん。 “While MathML is human-readable it is anticipated that, in all but the simplest cases, authors will use equation editors, conversion programs, and other specialized software tools to generate MathML.”
  3. ^ WIRIS editor page describing the use of MathML.Wiris.com.Retrieved on 9 May 2012.
  4. ^ MathML Software - Editors at W3C. W3C.org (24 April 2012). Retrieved on 9 May 2012.
  5. ^ Hermitech Laboratory - Formulator Mathml Weaver
  6. ^ Authoring MathML for Mozilla
  7. ^ WebKitの数式すうしき(MathML)でSafariはボランティアの努力どりょく採用さいようし、数式すうしき表示ひょうじできる。Chromeはおなじものを採用さいようとして批判ひはんびる。」『電子でんし書籍しょせき電子でんし出版しゅっぱんのCAS-UBブログ』 アンテナハウス株式会社かぶしきがいしゃ、2014ねん3がつ8にち
  8. ^ 「MathML」に対応たいおうした「Google Chrome 109」が正式せいしきばんに ~Windows 7/8.1対応たいおうはこれが最後さいご”. まどもり. 2023ねん1がつ11にち閲覧えつらん
  9. ^ Opera Desktop Team - Even more work
  10. ^ MathJax
  11. ^ MathML で記述きじゅつした数式すうしきを PDF に変換へんかん
  12. ^ JAWS16.0日本語にほんごばん
  13. ^ MathFlow, Dessci.com. Retrieved on 9 May 2012.

訳注やくちゅう

[編集へんしゅう]
  1. ^ Presentation MathMLをPMathML、Content MathMLをCMathMLのように略記りゃっきすることも一案いちあんだが、ここでは文献ぶんけんローラ・リメイ たけしゃ広幸ひろゆきやく (1998-8). HTML入門にゅうもん つづけ. プレンティスホール出版しゅっぱん. p. 489-496. ISBN 4-89471-066-8 ならった。

外部がいぶリンク

[編集へんしゅう]
  • W3C Math Home 規格きかくしょ、FAQ、ソフトウェアの一覧いちらんがある