ブログ・Wikiにおける数式使用に関する考察

(2010/3/7 追記)
「数式を画像化するサイトやサービス」(by 結城浩さん)
http://www.hyuki.com/d/200912.html#i20091219090000


「数式の使えるWebサービスまとめ」(in 「ナンクル力学系」)
http://arataka.wordpress.com/2008/12/20/equations-in-web/
等もご参照ください。


アクチュアリー試験とは直接関係ないのですが、(無料の)ブログ・Wikiサービスでの数式使用について考えてみます。

ブログ・Wiki等で数式を使ってみたいというニーズは(少数ながら?)当然存在すると考えられます。
私もその一人ですが、ネット上に散在している情報をまとめることにより、このようなニーズをお持ちの方に少しでも資することを目的としています。

ただし、全て無料サービスなので今後サービスの改廃等の可能性があることをご了解ください。
(下でNGと書いてあるものがOKになっていたりその逆にOKであるものがNGになっていたりする可能性は、ありえます。あくまで今日(2008年9月21日)現在の状況とお考えください。)
また、ソフトのインストール・使用等については当然ながら自己責任でお願いいたします。

(I)まず、数式から画像を生成または表示する仕組みについていくつかのパターンに分類しておきます。

(A)texvc,dvipng
TeXから直接画像を作成する方式です。綺麗な画像が得られるのですが、サーバー側にTeXの処理系その他がインストールされている必要があります。
基本的には画像を作ってそれをサーバーに保存するので、2度目の表示からは時間が短縮されます。
Wikipediaで使われているのはこの方式(texvc)です。

(B)mimetex
はてなダイヤリーで使われているのはこの方式です。
作成者のサイト
http://www.forkosh.com/mimetex.html
で各種OS(Windowsも含めて!)の実行(バイナリ)ファイルが入手可能です。
cgiC言語コンパイルした実行ファイル)が実行できる環境にあればよいため(したがって個人でレンタルしているサーバーなどでも使いやすい)手軽に扱えますが、画質は(A)のほうが優れています。
画像を保存しないため同じ数式でも表示する都度cgiを回すことになります。
(それが、ときどきはてなダイヤリーで数式表示に不具合が生じる
http://d.hatena.ne.jp/actuary_math/20080809
一因だと思われます。)

なお、同じ会社がmathtex
http://www.forkosh.com/mathtex.html
をいうのを作っていますが、こちらはTeX処理系に依存した仕組みのようです。

(C)phpmathpublisher
PHP「だけ」で記述された数式の処理ツールです。
PHPだけで記述されているので、PHPが実行できるサーバーであればこれをインストールすれば作成可能です。
Wordpressなどにプラグインで入れることもできます。
画質はやはり(A)のほうが優れている他、数式の表現がTeX方式ではなく独自のもの
http://www.xm1math.net/phpmathpublisher/doc/help.html
であり、あまり複雑な表現はできません。(例えば半角の「・」(TeXだと\cdot)が使えないようです。)
ただし、(B)と違い一度作った数式を保存しておくため、2度目の表示からはスムーズにできるというメリットがあります。

(D)jsMath
Java Scriptで動作させるものなので閲覧者のPCでJava ScriptをONにしておく必要があるのは当然のことですが、その他に閲覧者のPCでフォントの導入が必要になります。(Windowsであれば、コントロールパネル→フォントに該当のフォントを入れるのでレジストリとかを操作するものではないのですが。)
以下の例では、自サーバー(プロバイダーから与えられている領域だと考えられます)に当該Java Scriptを入れて動作させているようです。
http://kimball.blog.so-net.ne.jp/2007-12-08-1
http://kimball.blog.so-net.ne.jp/2008-08-31
サーバー側にJava Scriptその他を入れらればいいので、phpCGIも不要です。
jsMathそのものの導入については
http://www.geisya.or.jp/~mwm48961/jsmath/users/welcome.html
などをご覧ください。

(II)以上を踏まえ、まず各種の無料のレンタルサービスについてみてみます。

(1)はてなダイヤリー(ツール:(B))
http://d.hatena.ne.jp

言わずと知れたここ「はてなダイヤリー」です。主要な無料ブログサービスのうち数式表示システムを「内蔵」しているのはおそらくここだけだと思います。

(2)@wiki (ツール:(A)・(B))
http://atwiki.jp/

有限会社アットフリークス社の各種サービスの1つです。
(同社のサービスについては上記ページの右下の方にある「お勧め関連サービス」をご参照ください。)

数式については、前はmimetexだけだったのですがdvipngに対応するようになりました。
注意すべき点としては、数式が使えるモードにはアットウィキモードとウィキぺディアライクモードがあるようです(他にも使えるモードがあるかも知れませんが)が、(dvipngを使うとして)アットウィキモード
http://www6.atwiki.jp/actuary_math/pages/17.html
だと不等号(<,>)とアンパーサンド(&)が上手く反映されないということです。(うまいやり方があるのかもしれませんが)

ウィキぺディアライクモードにすれば大丈夫です。
http://www6.atwiki.jp/actuary_math/pages/18.html

(3)formula(ツール:(A))
http://formula.s21g.com/

合同会社S21G (エスツーワンジー)
http://www.s21g.com/
が運営している、ブログなどにリンクを貼り付けると表示されるというサービスです。

はてなダイヤリーでも使用できるようで、実際に使用例があります。
http://d.hatena.ne.jp/mickey24/20080914

Yahooでもできるようです。
http://blogs.yahoo.co.jp/actuary_math/25496533.html
(以下のmathtexのテストと同じです。)

また、この数式を使うと自動的に使ったところにリンクが張られる仕組みになっているようです。

なお、この会社では自前のブログ
http://blog.s21g.com/
も運営しており、そこのブログでも数式が使用できます。
(例えば、 http://blog.s21g.com/articles/875 。なお、投稿したら数式の画像でストックされます。)

(4)wikidot.com(ツール:(A))
http://www.wikidot.com/

海外のWIKIサービスです。
ポーランドの会社が運営しているようです。
http://www.wikidot.com/contact
(言語設定で英語かポーランド語(Polish)を選ぶようになっています。)

上記(2)と違い、不等号(<,>)とアンパーサンド(&)に神経質になる必要がありません。
タイトルを日本語にすると上手く動作しないようですが、中身は日本語でも大丈夫なようです。
http://actuary-math.wikidot.com/actuary

運営規約(英語)
http://www.wikidot.com/legal:terms-of-service
を見ると中身に日本語を書くことは禁止されていないと思います(多分)。

なお、言うまでもないことですが、申込は英語で行う必要があります。

(5)Press9(ツール:(C))
http://www.press9.net

Press9は、Wordpressを自分でインストールすることなく無料かつ日本語で利用できるサービスです。
ドメインはhttp://ID.press9.netかhttp://ID.wordpress.ne.jp
ここでは自動でリンクされないように全角にしていますが、実際には半角です。)
前はFTPでカスタマイズが可能だったそうですが、今はできなくなっていて、その代わりにプラグインをリクエストしてインストールしてもらえるようになっています。

ここでは、プラグイン
http://blog.kraeuterbruederchen.de/wordpress/wpmathpublisher/#download

http://blog.kraeuterbruederchen.de/wp-content/uploads/2008/07/wpmathpublisher2.zip
をリクエストして入れてもらい数式が使えるようになりました。
http://actuaries.press9.net

ただし、Wordpress公式のサイト
http://wordpress.org/extend/plugins/wpmathpublisher/
で紹介されているにも関わらず、
プラグインを入れるまでに何度かやり取りが必要でした。(恐らくそういうプラグイン導入のリクエストがほとんどなかったのでしょう)

今後もしPress9で入れようとされる方がいらっしゃったら、伝えなければいけない(かもしれない)ポイントとしては以下の(a)〜(c)のようなものがあります。
(a)上記のファイルの場所(あるいはファイルそのものの送付)
(b)
/wp-content/plugins/
の下に
/wpmathpubisher
というフォルダーを作りそこに(a)のファイル一式を入れる
(c)
/wp-content/plugins/wpmathpubisher/img
というフォルダーをつくりパーミッションを0777に設定
(ここに画像が書きこまれます)

また、入れてもらったあとで、プラグインを有効化しその後、設定画面のデザイン→WpMathPublisherで画像の字(Font Color)と背景の色(Background Color)を調整する必要があります。
通常は、
Font Color・・・Red: Green: Blue: とも0(黒)Transparency:(透明性)は0(透過性なし)
Background Color・・・Red: Green: Blue: とも255(白)Transparency: は127(透過性あり)
で大丈夫でしょう。(デフォルトは字も、背景も数字が入っていないので、0(黒)と見なされるようで、何も設定しないと真っ黒の画像だけが出てきます。)

また、Press9(Wordpress)のテーマによっては数式が上手く表示できなかったり(数式そのもの表示できない、表示できるが表示がずれる)数式が枠で囲まれたりすることがあるので適宜調整が必要です。

同じようにしてWordpressを自前のサーバーなどにインストールされている方は、上記のプラグインを入れれば、CGI等が不要で(簡単な)数式が扱えるようになります。

(6)Latex for Blogger(ツール:(B))
http://userscripts.org/scripts/show/7966

BloggerLatexを扱うための仕掛けだそうです。

FireFox
Greasmonkey( https://addons.mozilla.org/ja/firefox/addon/748
Latex for Bloggerhttp://userscripts.org/scripts/source/7966.user.js
の3段階が必要です。

Latex for Bloggerを使ったサイト
http://lifehackintokyo.blogspot.com/2007/12/latex.html
のソースをみると
<img src=”http://www.forkosh.dreamhost.com/mimetex.cgi?f%28x%29=%5Cfrac%7B1%7D%7B%5Csqrt%7B2%5Cpi%7D%5Csigma%7De%5E%7B−%5Cfrac%7B1%7D%7B2%7D%28%5Cfrac%7Bx−%5Cmu%7D%7B%5Csigma%7D%29%5E2%7D” align=”middle” border=”0” />
(ここでもリンクされないために全角にしてありますが実際には半角です。)
とあることから、実際には、mimetexの開発者のサイトのcgiを呼び出すコードを生成している模様です。

これでよいのであれば、上記の道具をいれなくても直接HTMLコードを記述すればよいことになります。
そして、mimetex→mathtexにすればより鮮明な画像が得られます。

上記のリンク(ただし、mimetex→mathtex)を直接する方法を試してみました。
http://actuary-math.blogspot.com/

これも上記のPress9と同様、テンプレートによって、インラインで(行の途中に)数式を書くことができなかったり数式が枠で囲まれたりするので、適宜テンプレートを選択する必要があります。

この方式でよいのであればYahooブログでも対応可能です。
やはり、mathtexのリンクを直接書いてみました。(ただし、WIKI文法で作成の必要があります。)
http://blogs.yahoo.co.jp/actuary_math/25496533.html

(III)次に、PC上でブログ・WIKIの数式を含む記事の作成・編集を行い、サーバーにアップロードする仕組みについてみています。

(7)mimetex.xvcd for xfy blog editor(ツール:(B))
http://rikima.dip.jp:8081/rikima/xfy/mimetex-xvcd-for-xfy-blog-editor/

ジャストシステムのブログ作成ツールxfy Blog Editor
http://www.justsystems.com/jp/products/xfy_blog/
(個人非商用に限り無償)
におけるmimetexの組み込みツールのようです。

(8)ひとりmimetex(ツール:(B))
http://www.vector.co.jp/soft/winnt/net/se416898.html

ひとりWiki
http://www2u.biglobe.ne.jp/~MAS/soft/hitoriwiki/index.html
というWikiをローカルで作る(作ったWikiをアップロードすることも可能)がありますが、そこにプラグインで上記(B)のWindows版のmimetexのdllを組み込んで使えるソフトがあります。

これを使えば数式画像の入ったWikiをPCで作ってそれをサーバーにアップロードすることにより、数式表示のWikiを作ることが可能と考えられます。(自分ではちゃんと試していません。)

http://d.hatena.ne.jp/u_1roh/20061215/1166146382
http://d.hatena.ne.jp/u_1roh/20060326
などもご参照ください。

(IV)最後に、数式(TeX)の画像をオンラインで取得する方法のいくつかについてみてみます。少量の数式であれば、これらで作った画像をブログ・WIKIに貼り付けるという手法も考えられます。

(9)TeXclip
http://maru.bonyari.jp/texclip/texclip.php

(10)eqn2gif (オンライン版)
http://www.mech.tohoku-gakuin.ac.jp/rde/contents/library/ps2img/cgi-bin/eqn2gif.cgi
(「少なからずサーバに負荷がかかりますので、つかってみて便利そうでしたら、ダウンロードの上ご使用下さい。」とあることにご注意ください。)

(11)tex2png(海外)
http://frog.isima.fr/bruno/share/tex2png/
過度の使用が「明確に」禁じられていることにご注意ください。)