我がサイト dmng.dyndns.org の一区画「自然科学」では数式を表示するために MathML を採用している。
ええと、確か導入したのが平成19年 (西暦2007年) だったかと思う。当時は Inernet Explorer 6 が席巻していたのだが、どうせ場末のサイト。訪問者には IE ならプラグイン、 Firefox なら数式フォントのダウンロードを促していた。快適に閲覧するにはそうしろと。一応画像ページも PDF もあるから、嫌ならそれで見ろと。
TeX のソースを MathML に変換するツールも作ったなあ。
あれから3年。未だに拙サイトでは 75% が IE で、そのうち 22% が IE6 (全体の 16% ) である。MathML に対応している Firefox が 12% 程度であることを考えると、 IE6 の支配率は大きい。
まあ、 IE6 は拙サイトでは完全に排除しているが、それはそれとして。
「質量 $m$ の物質 P が、速度 $v_0$ で等速直線運動をしている。時刻 $t_1$ から加速度 $a$ で等加速度直線運動を始めた。$t=t_1$ 以降の速度 $v$ の式を書け。」
\[ v=v_0 + a(t-t_1)\]
ん?
\[ I=\int_{a}^{b}f(x) dx \]
お! こ、これはっ! す、数式!?
IE でも OK ですって!?
なんと。
MathJax なる JavaScript のライブラリーが出てるではないか!
これはつまり「TeX ソースをベースとした、PDF、HTML などの他形式出力」という media-independent な考えではなく、純粋に「HTML コンテンツの中に数式を楽に表示する」という、私が素朴に望んでいたものをまさに実現するものである!
そう。単に Web 上で数式を載せたいだけなのだ。いちいちブラウザーごとにページを用意したり、あるいは排除したりすることなど本来あってならないことである。
このページのソースを見ると分かるかと思うが、文章中に、普通に TeX の数式を入力するだけで表示されている。例えば ¥[ E=\frac{mc^2}{¥sqrt{1-¥frac{v^2}{c^2}}}¥]と書くと、インラインでなくちゃんとブロックで \[ E=\frac{mc^2}{\sqrt{1-\frac{v^2}{c^2}}}\] と表示される。なんという楽ちんさか!
しかも iPhone / iPad などのモバイル端末でもちゃんと表示される。時間はかかるが。
TeX からの変換ツールが巷に転がっていたにもかかわらず、結局日の目を見なかった MathML 。この普及を目指して自然科学のページを作ったのだが、ちと方針を変えることにした。
大抵のブラウザーなら、 JavaScript を無効にしていなければ、誰も分け隔て無く閲覧できる。何という理想郷。
MathML のページは旧ページとして残すとして、ちょこちょこと整理していく予定。