TeXで生成した数式を画像に変換するのにL2Pというコマンドが役立った。方法を以下にまとめておく。試したOSはMac OS X 10.7.2 (Lion)。以下の画像は変換例。なお、以下に説明する方法では日本語を含む式を正しく変換できない。日本語を含む式の変換方法は別エントリにまとめた。
準備
- TeXのインストール
- http://www2.kumagaku.ac.jp/teacher/herogw/index.html からDrag & Drop UpTeXをダウンロード
- 展開フォルダを/Application以下に置く
- 以下のようにしてPATHを通す
- PATH=/Applications/UpTeX.app/teTeX/bin:$PATH
- ImageMagickのインストール
- sudo port install ImageMagick
- L2Pのインストール
- http://redsymbol.net/software/l2p/?pref=d からL2Pをダウンロード
- 適当な場所に展開、必要ならPATHを通す
要は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
- その他のオプションは http://static.redsymbol.net/software/l2p/dist/l2p-doc.html を参照。
なお、このl2pコマンドの実態はPerlスクリプトなので、これを編集して常に数式がeqnarrayに囲まれるようにもできるかもしれない。
どうでもいい補足
上記の書き方だとπはイタリックで出力される。だが、厳密に言えばπやeなどの物理定数はローマン体で書くことになっているので注意。また、dxのdをローマン体で書く流派も存在する。(参考 http://www.okada-lab.org/Ronbun/Fonts/FusawashiiFont.php)