MathJaxのホワイトペーパー“Towards MathJax v3.0”が発表されました。MathJaxはV3.0でかなり根本的な方針変換を行うようです[1]。
MathJaxは、2010年8月4日にV1.0がリリースされ、5年間でWebにおける数式表示のデファクトスタンダードになりました。この間、コアを除くモジュールの開発は大幅に進みました。しかし、コア部分は、当初の主要ブラウザであったIE6以降をターゲットにして開発されたV1.0からまったく更新されていません。V1.0の開発時には、ブラウザのレイアウト機能が低かったので、それを補うために、様々な回避策を実装していました。しかし、最近のWeb標準とブラウザのレイアウト機能の進歩により、そうした対策は不要となりました。現時点では、プログラムの保守の負荷が大きくなってしまったため、新しいV3.0では、現在の古いブラウザを対象とするHTML+CSS出力を廃止し、新しいCommonHTML出力をデフォルトにします。また、APIも変わります。このような変更は、過去のバージョンとは非互換の改造となります。
実装し直しにあたり、大きな方針の変更が決まりました。
当初は、WebブラウザのMathMLネイティブサポートまでのつなぎ役として位置付けられていました。しかし、この5年でブラウザのMathMLサポート実現は当初の期待よりも遠ざかってしまい、今後も期待できないことがはっきりしてきました。
このため、数式をHTML+SVGとして出力する方向へと方針転換するようです。また、従来は、クライアントのブラウザの上でのみ動くものでした。しかし、今後は、ブラウザのみではなく、サーバー上でも動くようになるとのこと。
[1] MathJax whitepaper “Towards MathJax v3.0” releasedDecember 15, 2015
[2] Safari とFireFoxのMathMLレンダリングの改良は、クラウドファンディングを利用したボランティアの手で進んでいる
[3] WebKitの数式(MathML)でSafariはボランティアの努力を採用し、数式を表示できる。Chromeは同じものを不採用として批判を浴びる。
[4] EDUPUBで数式をどのように表わすのか? MathMLが飛翔するか、それともSVGなのか?