Pages

2005-09-24

dvipng 1.6 を使ってみる |AUCTeX|LaTeX|

dvipng は、TeX の DVI ファイルから PNG (or GIF) 画像を生成するコマンド。今回は簡単な使い方を書いてみる。

先に書いておくけど、dvipng 1.6 はまだ日本語に対応していない。

インストール

インストール方法は、普通の GNU 方式。通常、以下の操作で OK なはず。

$ ./configure
$ make
# make install

必須のパッケージは、 gd と libing, libz, Texinfo。gd 以外、ほとんどのシステムでデフォールト・インストールされてるはず。

dvipng を使ってみる

こんな TeX ソースを試してみよう。

\documentclass{article}
\begin{document}
This is a test of dvipng.
\newpage
\pagestyle{empty}
\begin{equation}
1 + 2 + \cdots + 10 = \sum_{i=1}^{10} i = \frac{10(10-1)}{2}
\end{equation}
\end{document}

ファイル名を dvipng.tex とする。コンパイルは次の通り。

$ platex dvipng.tex
$ ls
dvipng.aux  dvipng.dvi  dvipng.log  dvipng.tex

出来上がった DVI ファイルを dvipng にかけてみよう。

$ dvipng dvipng.dvi
$ ls
dvipng.aux  dvipng.dvi  dvipng.log  dvipng.tex 
        dvipng1.png  dvipng2.png

      

dvipng1.pngdvipng2.png というファイルが出来た。このように、dvipng は、1 ページごとに PNG 画像を生成し file#NUM.png という名前で出力する。

PNG ファイルの中身を見てみよう。

dvipng1.png は、縦長の画像になった。dvipng は基本的に、文字が表示された範囲だけを PNG にする。この場合、ページ番号がページ下にあるため縦長の画像になってしまった。

dvipng2.png は数式の画像。ページ番号を出力させないよう \pagestyle{empty} という命令を使った。今回、サンプルということで改ページ後に入れたけど、本来、このコマンドはプリアンブルに入れるもの。

dvipng のオプション

よく使いそうなものだけ、ピップアップ。詳しいことは、info を読んで下さい。

-T tight
dvipng2.png を見れば分かるが、左上に空白部分が残っている。このオプションを指定すると、できる限り空白部分を除くようになる。
-bg transparent
背景部分を透明にする。
-fg 'rgb 1.0 0.0 0.0'
前景色 (文字の色) を指定する。
--gif
PNG 画像の代わりに GIF 画像を出力する。
-pp firstpage-lastpage
firstpage から lastpage までを dvipng する。

さっきの dvipng.dvi の 2 ページ目を赤色で出力してみませう。

$ dvipng -T tight -bg transparent -fg 'rgb 1.0 0.0 0.0' -pp 2:2 dvipng.dvi

dvipng2.png Webpage やプレゼンなんかで、TeX の数式を PNG で貼り付けたくなることがあると思う。そんな時、dvipng は役に立つ。

ref

No comments:

Post a Comment