mimetex

mimetexという数式を表示するCGIを本格導入しようかと思っています。設置自体ははるか昔に既にしてあって、試験的に他の場所で運用したりとかもしていたのですが、結構使い勝手が良いし、何より式が見やすいので講座が見やすくなる気がするので、講座「なでしこ on Math」用に入れてみようかなぁと。

ただちょっと困っているのが、若干遅いこと。まだIEでしか確認作業をしていないので何とも言えませんが、10個程度噛ませただけでかなりラグが発生してしまい、連続でリロードしたりした場合などは表示されない場合がありました。一応mimetexは出力をキャッシュするよう設定しているので、同じ数式に対してはキャッシュを取りに行くハズで、CGI自体がそこまで遅いはずがなくて、単純に画像が10個だから重いのかもしれません。しかしそれだと講座丸々一つに画像を使いまくることができなくて、せっかくの恩恵を受けられない。

例えば、以下は今書きかけの講座で出てくる、数学ばりばりの証明です。

  1. [X,Y]=A[x,y] (1) とする。
  2. f は一次変換だから、必ず原点を原点に移す。
  3. よって直線 l は原点を通り、その方程式は aX+bY=0 (2) とおける。
  4. (ただし、 a,b(a,b)≠(0,0) なる定数。)
  5. 式(2)を行列の積で書き直せば、 (a,b)[X,Y]=0
  6. 従って式(1)の両辺に左から (a,b) をかければ、 0=(a,b)A[x,y] (3)
  7. 式(3)が任意の x,y に対して成り立つから、 (a,b)[[p,q],[r,s]]=(0,0)
  8. つまり、 ap+br=0,aq+bs=0 となり、式(2)を満たす。
  9. ゆえに、点 (p,r),(q,s) は直線 l 上の点である。

今更思いました。なんでこんな証明書いたんでしょうかf(^^;)。サイトと講座の趣旨に合っていな(ry

行列がふんだんに使われていてもこの通り、非常に見通しがよくなり、雰囲気良いんじゃないかなーって思うのですが……。遅いですか?重いですか?

うーん。。。直線「」とか一次変換「」みたいなたった一文字でも画像にしてるんですよねぇ。その方が数学っぽく見えるから。でもそういう小さい部分を削っても、一つのブロックだけでも余裕で4個や5個は数式が出てくる。つまり10個程度はさくっと表示して欲しかったわけですが……。

あー、あと、行列や数式を何回も書くのがダルいので、何か補助プログラムを書きたい。a,b,c,dを入力したらその行列の画像を出力するコードを自動で出力してくれるようなやつ。今はほぼ手作業で、自前でtexスクリプト書いてTerapadに登録してある自作ツール(なでしこ)でURLEncodeするという手順を踏んでいる。かなり面倒なんだよなぁ。うーん。土日で終わるかなぁ。明日はゲームしたいからなぁ。

とりあえず、どうにか目の前の書きかけ講座を今週末にあげることに全力を注ぎます。ではっ。