TeXの数式をPNG, GIFなどの画像に変換 その1


このエントリーをはてなブックマークに追加

TeXで生成した数式を画像に変換するのにL2Pというコマンドが役立った。方法を以下にまとめておく。試したOSはMac OS X 10.7.2 (Lion)。以下の画像は変換例。なお、以下に説明する方法では日本語を含む式を正しく変換できない。日本語を含む式の変換方法は別エントリにまとめた。

準備

要はPATHが通っているところに"latex", "dvips", "convert"がありさえすればOK。Linuxを含む他の環境でも動くと思われる。

使用例

例えば以下のようなワンライナーを書くと、インライン数式モード($と$とで数式を囲った時のモード)での数式がout.pngに保存される。

  • l2p -i '$4x^2-7=\cos{2 \pi x}$' -o 'out.png'

この記事の冒頭に貼った画像が、このコマンドにより得られる画像である。ただインライン数式モードでは積分の記号などが美しく表示できない。積分記号を美しく見せるには、eqnarray*を使うのがよい。そのためには、ファイルin.txtに

\begin{eqnarray*}
\int_{0}^{\pi} \sin x \, dx
\end{eqnarray*}

と書いて

  • l2p -o 'out2.png' in.txt

と実行すればよい。
この方法に得られる画像は以下の通り。

なお、このl2pコマンドの実態Perlスクリプトなので、これを編集して常に数式がeqnarrayに囲まれるようにもできるかもしれない。

どうでもいい補足

上記の書き方だとπはイタリックで出力される。だが、厳密に言えばπやeなどの物理定数はローマン体で書くことになっているので注意。また、dxのdをローマン体で書く流派も存在する。(参考 http://www.okada-lab.org/Ronbun/Fonts/FusawashiiFont.php)