TeX の数式や文書を画像に変換して貼り込む tDiary プラグイン
汎用的なメソッドで、指定した文字列を TeX 文書とみなしてコンパイルします。 たとえば、普通の TeX 文書 <%= tex 'Hello \TeX !!' %> を埋め込んだり インテキストな数式モード <%= tex '$f(x) = \frac{x^2}{1+x}$' %> などに 利用します。
tex コマンドでも $数式$ や \[数式\] のように囲めば数式が書けますが、 数式だけを書く場合は eq を使うと自動で囲んでくれるので便利です。
<%= eq '\int F(x)\mathrm{d}x=\sum_{k=0}^{n}\frac{a_{k}}{k+1}x^{k+1}' %>
のように長い数式も式だけ書けばOKです。
Ruby の2次元配列を行列としてコンパイルします。 1番目の引数に配列の配列を、2番目の引数にカッコの種類を、 3番目の引数に配置を指定します。2番目と3番目の引数は省略できます。 デフォルトはカッコなし、配置は ccc のように区切りなしになります。 カッコの種類は :paren, :brack, :brace, :vert, :Vert, :floor, :ceil, :angle が指定できます。
platex, dvips, pstoimg がインストールされ、httpd を実行しているユーザ (nobody など)のパスに入っている必要があります。 コマンド名などは tdiary.conf のカスタマイズオプションで変更できますので、 適宜 .tex → .dvi → .ps → .png の変換を行うプログラムを指定してください。
次に tDiary がインストールされているディレクトリに tex ディレクトリを作り、 httpd が書き込めるようにします。できていなければ作るべきディレクトリが <%= tex %> の出力メッセージに表示されるので参考にしてください。
たとえば http://example.net/~foo/tdiary/ の実体が ~/public_html/tdiary/ で httpd を nobody で実行している場合、
% mkdir ~/public_html/tdiary/tex # chown nobody ~/public_html/tdiary/tex # chmod 2775 ~/public_html/tdiary/tex
のようにすれば良いと思います。ディレクトリ名 tex は tdiary.conf の @options['tex.dir'] で変更できます。tDiary のインストールディレクトリ からの相対パスを指定してください。
あとは、他のプラグインと同様 tDiary の plugin/ ディレクトリの下に このファイルをコピーすれば使えるようになります。
設定ファイル tdiary.conf の中で以下の値を指定することにより、 tex プラグインの挙動をカスタマイズすることができます。
使用するフォントの大きさを変更できます。デフォルトは 12pt です。
例:@options['tex.pointsize'] = '10pt'
使用するドキュメントクラスをを変更できます。デフォルトは 'report' です。
例:@options['tex.documentclass'] = 'jarticle'
使用する TeX コンパイラを変更します。内部で % がファイル名に置換されます。 %.tex から %.dvi を生成するコマンドラインを指定してください。 デフォルトは ASCII pLaTeX の 'platex %.tex' です。
例:@options['tex.latex'] = 'platex %.tex'
DVI ファイルを PS ファイルに変換するのに使うコマンドを変更します。 内部で % がファイル名に置換されます。 %.dvi から %.ps を生成するコマンドラインを指定してください。 デフォルトは ASCII dvipsk の 'dvips %.dvi' です。
例:@options['tex.dvips'] = 'dvips %.dvi -o %.ps'
PS ファイルから PNG ファイルに変換するのに使うコマンドを変更します。 内部で % がファイル名に置換されます。 %.ps から %.png を生成するコマンドラインを指定してください。 デフォルトは latex2html の 'pstoimg -crop a -antialias -transparent %.ps' です。
例:@options['tex.pstoimg'] = 'pstoimg -crop a %.ps'
画像がうまく生成されないときに値を true にするとエラーログをファイルに 出力するようになります。画像が入るべき位置にログファイルへのリンクが表示 されます。このアイデアは zunda さんの tex.rb から頂きました。
例:@options['tex.log'] = true
通常は、一度生成した画像ファイルがあればそれを使い回しますが、 @options を変更した場合など、何らかの事情で画像ファイルを 作り直したい場合に値を true にすると画像を再生成するようになります。 (注意:毎回表示される全ての画像を生成してしまうので、 再生成がうまく行ったら false にするかコメントアウトしましょう)
例:@options['tex.recompile'] = true
生成される画像ファイルの置き場所を変更できます。デフォルトは 'tex' です。
例:@options['tex.dir'] = 'images/tex'
ディレクトリはあらかじめ作って httpd が書き込めるようにしておく必要が あります。上記のインストールの項も参照してください。
Copyright (C) 2003 KATAYAMA Toshiaki <k@bioruby.org>,
YAMADA Rikuhiro <rikuhiro@kuicr.kyoto-u.ac.jp>
You can redistribute and/or modify this file under the terms of the LGPL.