Create  Edit  Diff  FrontPage  Index  Search  Changes  History  RSS  Source  Login

x-tdiary

注意

このページのドキュメントは最新のバージョン0.20.1に対応したものですが、リンク先のドキュメントは古いバージョンのままになっている場合があります。

概要

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)用をダウンロードしてください。

ファイル構成

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

これらのキャッシュを削除しておかないと、日記の更新時に例外が発生してしまいます。

Last modified:2008/07/11 23:53:42
Keyword(s):
References:[FrontPage] [x-math4tDiary] [bbs]