Create  Edit  Diff  FrontPage  Index  Search  Changes  History  RSS  Source  Login

x-tdiary Diff - ひらくの工房

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

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

! 概要
WEB日記/Blogシステムである [[tDiary|http://www.tdiary.org/]] において、TeXの数式を自動的にMathML変換して記事本文に埋め込む事を目的として開発した、プラグイン集です。

例えば、日記の本文中に \$\sum_a^b\$ と書けば、$\sum_a^b$ ([[MathMLを見られるWEBブラウザ|ReportsSupportingBrowser]]でリンクをクリックしてみてください) と表示出来ます。

! ダウンロード
[[x-tdiary-0.20.1.tar.gz|http:files/x-tdiary-0.20.1.tar.gz]]tDiary-2.2系で使う場合はtDiary-2.2(EUC)用を、CVS Trunkで使う場合はtDiary Trunk(UTF8)用をダウンロードしてください。

* tDiary-2.2(EUC)用 : [[x-tdiary-0.21-euc.tar.gz|http:files/x-tdiary-0.21-euc.tar.gz]]
* CVS Trunk(UTF8)用 : [[x-tdiary-0.21-trunk.tar.gz|http:files/x-tdiary-0.21-trunk.tar.gz]]

! ファイル構成
x-tdiary-0.20.1x-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-math4tDiary]]をご覧ください。

!!x-html_anchor.rb : XHTMLアンカープラグイン

[[html_anchor.rb|http://docs.tdiary.org/ja/?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
これらのキャッシュを削除しておかないと、日記の更新時に例外が発生してしまいます。