x-tdiary
概要
WEB日記/Blogシステムである tDiary において、TeXの数式を自動的にMathML変換して記事本文に埋め込む事を目的として開発した、プラグイン集です。
例えば、日記の本文中に $\sum_a^b$ と書けば、$\sum_a^b$ (MathMLを見られるWEBブラウザでリンクをクリックしてみてください) と表示出来ます。
ダウンロード
tDiary-2.2系で使う場合はtDiary-2.2(EUC)用を、CVS Trunkで使う場合はtDiary Trunk(UTF8)用をダウンロードしてください。
- tDiary-2.2(EUC)用 : x-tdiary-0.21-euc.tar.gz
- CVS Trunk(UTF8)用 : x-tdiary-0.21-trunk.tar.gz
ファイル構成
x-tdiary-0.21-* |-- dot.htaccess_rewrite_sample |-- lib | |-- eim_xml.rb | |-- math_ml | | `-- util.rb | `-- math_ml.rb |-- plugin | |-- en | | `-- x-math.rb | |-- ja | | `-- x-math.rb | |-- x-html_anchor.rb | `-- x-math.rb `-- style |-- blogmathwiki_style.rb |-- mathstyle.rb `-- mathwiki_style.rb
各ファイルの解説
キットには、以下のプラグインとスタイルが含まれています。
x-math.rb : MathMLプラグイン
主に以下の2つの機能を提供するプラグインです。
- tDiaryがブラウザ側に出力する本来はHTMLであるデータを、XHTMLとして出力します
- LaTeX形式の数式をMathMLに変換してページ中に埋め込むメソッドを提供します
バージョン0.18から、XHTML化プラグイン(x-tdiary.rb)をx-math.rbに統合しました。
インストール後に特に設定しなければ、tDiaryは、基本的にHTMLモードとして動作し、URLで明示したときにのみXHTMLモードで動作します。
ブラウザがXHTMLに対応しているかどうかを判別して、自動的にXHTMLモードで動作させることも出来ます。
XHTMLモードでは、(もしあれば)MathMLプラグインで指定された数式はMathMLに変換して出力し、HTMLモードではTeXの数式自体をXHTMLモードへのリンクとして表示します。
数式変換機能の詳細についてはこちらをご覧ください。
x-html_anchor.rb : XHTMLアンカープラグイン
html_anchor.rbのXHTML化キット版です。
通常のリンク(?date=20050101等)に代わって、HTMLモード用のリンク(20050101.html等)と、XHTMLモード用のリンク(20050101.xhtml等)を生成します。
Apacheのmod_rewriteが必要です。
MathWikiスタイル/BlogMathWikiスタイル
WikiスタイルやBlogWikiスタイルに、以下のような数式記法の追加を中心とした拡張を行ったものです
- 数式モード : LaTeXの各数式環境と同様の記法が使えます
- $...$, \(...\) : 文中に数式を書く際に使用します
- $$...$$, \[...\] : 数式だけの段落を書く際に使用します
- eqnarray環境 : LaTeXのeqnarray*環境と同様のものです。
- 単独の記号命令 : 文中で \alpha などとして英文字からなるLaTeXの記号命令を直接記述できます。
- \によるエスケープ : \の直後に書かれた文字は、前述の英文字だけからなる命令でなければ、単にその文字として扱われます。特に、数式モードのための$記号(記述例 "\$")やプラグインのための{記号(記述例\{)をエスケープして文中に書くことができます。また、"\hoge"などLaTeXの命令ではない英文字列が続く場合は、単にその英文字列として出力します。特に、存在しない命令が記述された旨のエラーメッセージを出力することはありません。
- \<x...x>によるエスケープ : 複数行をまとめてエスケープするための記法です。'x'には任意の文字列を使うことができます。'\<x'と'x>'に囲まれた中の文字列では、前述の数式モードや単独の記号命令の変換と\によるエスケープを行いません。
インストール方法
以下、tDiaryがインストールされているディレクトリ(例えば /home/foo/public_html/tdiary)を ${tdiary} と記します。
ダウンロードしたファイルを展開すると、以下のようなファイル・ディレクトリが作られます。
x-tdiary-0.x/ x-tdiary-0.x/x-html_anchor.rb x-tdiary-0.x/x-math.rb x-tdiary-0.x/dot.htaccess_rewrite_sample x-tdiary-0.x/lib/ x-tdiary-0.x/lib/eim_xml.rb x-tdiary-0.x/lib/mathml.rb x-tdiary-0.x/lib/math_ml/ x-tdiary-0.x/lib/math_ml/util.rb x-tdiary-0.x/ja/ x-tdiary-0.x/ja/x-math.rb x-tdiary-0.x/en/ x-tdiary-0.x/en/x-math.rb x-tdiary-0.x/style/ x-tdiary-0.x/style/mathwiki_style.rb x-tdiary-0.x/style/blogmathwiki_style.rb
プラグインのインストール
最初の3つのファイル
x-tdiary-0.x/x-html_anchor.rb x-tdiary-0.x/x-tdiary.rb x-tdiary-0.x/x-math.rb
は、tDiaryのプラグイン用ディレクトリ ${tdiary}/misc/plugin にコピーします。
ディレクトリ x-tdiary-0.x/lib は、MathMLプラグインが利用するライブラリが入っています。 ${tdiary}/misc/libの下にx-tdiary-0.x/lib/以下のファイル/ディレクトリをすべてコピーしてください。
ディレクトリ x-tdiary-0.x/ja と x-tdiary-0.x/en は、プラグイン用の言語リソースが入っています。 このディレクトリの中のファイルは、 ${tdiary}/misc/plugin/ja と${tdiary}/misc/plugin/en にコピーします。
コピーが終わると、${tdiary}/misc/plugin ディレクトリは次のようになるはずです。(以下では、すでにインストール済みの他のプラグインや言語リソースファイルは省略しています。)
misc/lib/ misc/lib/eim_xml.rb misc/lib/mathml.rb misc/lib/math_ml/ misc/lib/math_ml/util.rb misc/plugin/ misc/plugin/x-html_anchor.rb misc/plugin/x-tdiary.rb misc/plugin/x-math.rb misc/plugin/ja/ misc/plugin/ja/x-math.rb misc/plugin/en/ misc/plugin/en/x-math.rb
スタイルファイルのインストール
プラグインをインストールするだけでも数式を日記中に書き込むことは出来ますが、$...$記法などを使うためにはスタイルファイルもインストールする必要があります。
tDiaryのBlogキットを使っている場合は x-tdiary-0.x/style/ 以下のファイルをすべて ${tdiary}/tdiary/ にコピーしてください。
Blogキットを使っていない場合は x-tdiary-0.x/style/blogmathwiki_style.rb を除くすべてのファイルを ${tdiary}/tdiary/ にコピーしてください。
Blogキットを使う場合は更に
- x-tdiary-0.x/style/blogmathwiki_style.rb
- ${tdiary-blogkit}/tdiary/blogwiki_style.rb
を ${tdiary}/tdiary/ にコピーする必要もあります。
面倒であれば、とりあえず上記のファイルをすべてコピーして
${tdiary}/tdiary/blogmathwiki_style.rb ${tdiary}/tdiary/blogwiki_style.rb ${tdiary}/tdiary/mathstyle.rt ${tdiary}/tdiary/mathwiki_style.rb
とすれば(既存のファイルは一覧から省略していますが、残っていても削除してはいけません)動くはずです。
最後に、${tdiary}/tdiary.conf の @style の行を以下のように書き換えてください。
Blogキットを使わない場合
#@style = 'tDiary' @style = 'MathWiki' # 上の行をコメントアウト(行頭に#をつける)して、この行を追加する。
Blogキットを使う場合
#@style = 'Blog' #@style = 'BlogWiki' # Wikiスタイルを使いたい場合はこっち #@style = 'BlogRD' # RDスタイルを使いたい場合はこっち @style = 'BlogMathWiki' # 上3行をコメントアウト(行頭に#をつける)して、この行を追加する。
M具体的な記法ついてはMathWikiを参照してください。
キャッシュファイルの削除
最新のXHTML化キットをインストールした後は、必ず以下のキャッシュファイルを削除してください。
- data/cache/200704.parser などの、月別キャッシュ
- (makerss.rbプラグインを使っている場合) data/cache/makerss.cache
これらのキャッシュを削除しておかないと、日記の更新時に例外が発生してしまいます。
Keyword(s):
References:[x-math4tDiary] [bbs] [FrontPage]