画像化(TeX2img / dvisvgm / ImageMagick)

LaTeX の数式や図を 画像 として欲しいことがあります——スライド用の PNG、Web 用の SVG など。手順は「その一片だけ組版し、余白を切り詰め、ラスタ化またはベクタ化する」。道具は TeX2img(一発)、dvisvgm(→SVG)、ImageMagickGhostscript(→PNG)、そして余白を切る pdfcrop

一発で — TeX2img

TeX2img は、LaTeX ソースをコンパイルして PDF にし、そこから きっちり切り詰めた画像(PNG・SVG・JPEG など)を、透過・アンチエイリアス付きで作ります。数式や図の画像を作るのに最も手軽で、とくに日本でよく使われます。

手作りのパイプライン

まず一片だけを組版します——standalone クラス は内容に合わせて自動で切り詰めます(通常の PDF なら pdfcrop で余白を除去)。そのうえで、ベクタ(SVG) なら dvisvgm(拡大しても劣化しない。Web や数式向き)、ラスタ(PNG) なら ImageMagickmagick -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 が要る → pdfcropImageMagick(Ghostscript)。高解像度は -density を上げる。
  • 図を単体ファイルにするなら standalone クラスが自動で切り詰める。