見出し画像

MathML仕様書を和訳してみて驚いたこと

MathML仕様書"Mathematical Markup Language (MathML) Version 3.0 2nd Edition"を、2019年11月~2021年7月の約1年半かけて和訳しました。和訳した仕様書は、"数学用マークアップ言語 (MathML) ヴァージョン 3.0 第2版"で公開しています。MathMLそのものは、何度も書いて利用したことがあったのですが、仕様書を和訳してみて驚いたことがありました。

DTDファイルを使用しない

MathML2のころは、XMLファイルでDTDファイルを参照するDOCTYPE宣言を書いて利用するという方法が主流でした。現在の主流な書き方は、DOCTYPE宣言を書かない整形式の文書とする書き方で、ただただ時代の変化を感じて驚きました。

厳格なコンテントMathMLって哲学的

MathMLを利用する場合、ブラウザで表示できるプレゼンテーションMathMLを利用することばかりでした。なので、コンテントMathMLについては、概念は知っているけど実質利用したことが無いという状況でした。
そのコンテントMathMLの意味を規定するために、厳格なコンテントMathMLというのが使われています。apply要素を利用し、OpenMathの定義を参照して、意味を規定するのですが、LISPのような構文が書かれていて、なんとも哲学的だと驚きました。

mstackの使い方が分かっても利用できない

利用したことが無かったのですが、筆算を記述できるmstackという要素があります。MathMLと筆算という組合せに面白そうと興味を惹かれていたのですが、実際に使ってみようとするとMathMLに対応しているFirefoxですら表示されません。どうもFirefoxが対応していないようで、「一番MathMLが表示できるブラウザですらこの状況か」とちょっと驚くとともに悲しくなりました。

こういった具合に3つ挙げさせて頂いたのですが、『MathMLを使ってみることと、仕様の細かい部分を理解することでは、違った発見がある』というのが和訳してみた一番の収穫でした。

この記事が気に入ったらサポートをしてみませんか?