Webで数式を書く方法

久しぶりに土日ともに休みだと最初の日の午前はどうでもいいハックをしてしまうことがよくある(木曜日に群馬大でしゃべるスライドを作らなければいけないのだが)。今朝は,PHPの使えるWebページにTeXの書式で数式を簡単に書く方法を考えた。TeX WikiのmimeTeXの項目を見ればmimeTeX,imgTeX,texvcといったものがすでにあることはわかるのだが,mimeTeXはC言語で書かれたCGIでTeXとは完全に同じではないし,imgTeXはPerlで書かれたCGIでFastCGIモジュールをApacheにインストールしないといけないようだし,texvcはよくわからなかったので,PHPで書いてみたら,十数行で書けてしまった。ハックというほどのことはなかった。QA: mimeTeXもどきにやりかたを書いた。

これを使って書いたサンプルページ:Brunner-Munzel検定

ASCIIMathML.jsはどうでしょうか

ASCIIMathML.js http://www1.chapman.edu/~jipsen/mathml/asciimath.html を使えばLaTeX形式の入力をMathMLに自動変換してくれます。
JavascriptとMathMLを使うことに支障がなければ,かなりおすすめだと思うのですが如何でしょうか。

Re: ASCIIMathML.jsはどうでしょうか

ありがとうございます。何となく既視感がするので,前にも見たかもしれません。Safariでは駄目だったのですがFirefoxなら何とか数式に見えました(平方根は全然駄目ですが)。フォント環境を整えればいいのかも。しかし今のところどなたにでも見てもらうには画像しかなさそうです。

ちなみに,私のサンプルはComputer Modernにしたのですが,もっときれいなフォントや一般的なフォント(PalatinoとかTimesとか)にしたほうがよかったかもしれません。私の環境(Vineのapt-getで入れたdvipng)ではComputer Modern以外mktexpkが働いてしまったので(そちらのほうがきれいかもしれませんが)FreeType/T1libで可能なComputer Modernにしてしまいました。このあたりはまた時間があれば見直します。

Timesにしました

http://oku.edu.mie-u.ac.jp/~okumura/stat/brunner-munzel.php
Times (mathptmx) の144dpiにしてみました。低解像度ではComputer Modernはあまり読みやすくないように思います。

Re: ASCIIMathML.jsはどうでしょうか

FirefoxでMathMLをまともに表示するには, http://www.mozilla-japan.org/projects/mathml/fonts/ に記されているようにフォント環境を整備する必要があります。

「ブラウザを選ばずに」ということでしたらおっしゃる通り,画像にするしかないですね。w3m-imgでもきれいに見えています。

# いっそLaTeX表記のままというのも(一部の人には)読みやすいかも(^^;

Re: ASCIIMathML.jsはどうでしょうか

Firefoxの世界シェアが2割を超えたという話もありますが,それに加えてMathMLフォント環境整備となると,会社や学校のPC室などで自由にインストールできない場合もあることも考えれば,読む側の環境整備に頼るのはまだまだ無理のように思います。とりあえずは画像のaltにTeX表記のテキストが入るようになっていますので,w3mで画像を切っても何とか読めるでしょうか。

mimeTeX の出力が気に入らず、似たような事をやっていた記憶があります。

http://mytexpert.sourceforge.jp/?mimetex

Re: 昔

あら,同じことですね!

コメントの表示オプション

お好みの表示方法を選択し、「設定の保存」をクリックすると、表示方法を変更することができます。