Octopress - TeX で数式表示!

Updated:


WordPress でブログを運営していた時は、TEX によるちょっとした数式表示をプラグインで実現していました。
(多少手の混んだ数式は別途、TEX ソフトで作成して画像を表示させていました)

少し調べてみたところ、Octopress 用のプラグインがありました。
そのプラグインを使用せず、_config.ymlmarkdown: rdiscountmarkdown: kramdownmarkdown: maruku に変更後、TEX 書式を ‘$’ や ‘$$’ で囲った上で JavaScript を使用する方法もあるようですが、当方はプラグインを利用する方法を採用することにしました。

0. 前提条件Permalink

  • Linux Mint 13 Maya (64bit)
  • Ruby 1.9.3-p194
  • Octopress 2.0

使用する環境は特に問わないはず。

1. プラグインのインストールPermalink

こちら から MathJax.rb をダウンロードし、plugins ディレクトリに配置する。

2. head.html の編集Permalink

MAthJax.js を読み込めるように _includes/custom/head.html に以下の記述を追加する。

File: _includes/custom/head.html

1
2
 
<script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>

3. 使い方Permalink

数式をブロックとして表示させるには、{% math %}{% endmath %} で囲み、数式をインラインで表示させるには、{% m %}{% em %} で囲む。

{% math %}
N(m,\sigma^{2})=\frac{1}{\sigma\sqrt{2\pi}}e^{-\frac{(x-m)^2}{2\sigma^{2}}}
{% endmath %}

とすれば、以下のように表示されるはず。

N(m,σ2)=1σ2πe(xm)22σ2

ただ、インラインで <^ 等を使用すると正常に変換さいれないことある(?)
jekyll が {% m %} よりも先に <^ 等を変換しているように見える。
しかし、これは <^ 等の前後にスペースを挿入すれば解消する。

参考サイトPermalink


若干解せない部分もあるが、これで、一応はちょっとした数式を容易に記述できるようになりました。
ちょっとした数式ばかりか、本格的なものまで記述可能です。

当方の過去の WordPress から移行した記事も全てインライン部分は(自作の XML ファイルからの変換スクリプトで)対応させました。

ちなみに、このプラグインとは別に GoogleChart API の TEX 画像を取得するプラグインも試してみましたが、取得した画像の見た目が綺麗でなかった(画像が荒かったり、位置が多少ずれたりする)ので、こちらのプラグインにしてみました。

また、当方は自作サーバに TEX をインストール済みで利用できる状態なので、外部サービスを使わず自前で TEX 変換処理したいところでもありますが。。。

以上。





 

Sponsored Link

 

Comments