LaTeX の数式や図を 画像 として欲しいことがあります——スライド用の PNG、Web 用の SVG など。手順は「その一片だけ組版し、余白を切り詰め、ラスタ化またはベクタ化する」。道具は TeX2img(一発)、dvisvgm(→SVG)、ImageMagick+Ghostscript(→PNG)、そして余白を切る pdfcrop。
一発で — TeX2img
TeX2img は、LaTeX ソースをコンパイルして PDF にし、そこから きっちり切り詰めた画像(PNG・SVG・JPEG など)を、透過・アンチエイリアス付きで作ります。数式や図の画像を作るのに最も手軽で、とくに日本でよく使われます。
手作りのパイプライン
まず一片だけを組版します——standalone クラス は内容に合わせて自動で切り詰めます(通常の PDF なら pdfcrop で余白を除去)。そのうえで、ベクタ(SVG) なら dvisvgm(拡大しても劣化しない。Web や数式向き)、ラスタ(PNG) なら ImageMagick(magick -density 300 in.pdf out.png)。ImageMagick は Ghostscript で PDF を描画するので、-density を上げると高解像度に、必要に応じ透過も指定できます。Ghostscript で直接ラスタ化(-sDEVICE=pngalpha)することも可能です。
terminal
pdfcrop eq.pdf eq-crop.pdf # 余白を切り詰め / trim margins
magick -density 300 eq-crop.pdf eq.png # PDF → PNG(300dpi, Ghostscript 経由)
dvisvgm --pdf eq-crop.pdf # PDF → SVG(ベクタ)使い分け
- 手早く数式・図の画像 → TeX2img。
- Web 用に劣化しないベクタ → dvisvgm(SVG)。
- PNG/JPEG が要る → pdfcrop → ImageMagick(Ghostscript)。高解像度は
-densityを上げる。 - 図を単体ファイルにするなら standalone クラスが自動で切り詰める。