web-dev-qa-db-ja.com

ラテックスから透明な背景の方程式をエクスポートする

前文:LinuxでLaTexを使用しています(Ubuntu 10.4.1)

LaTeXで生成された方程式を、デスクトップパブリッシングプログラムで使用するために高解像度のビットマップ形式またはベクター画像形式のいずれかにエクスポートしたいと思います。ただし、ターゲットドキュメントの背景は色付きであるため、PDFを白い背景でレンダリングするため、GIMPを単純に使用することはできません(そうです)。

透明な背景でPDFを生成するために、LaTeXドキュメントに入れることができるコマンド、またはこれらの方程式を抽出する別の方法はありますか?

3
sargant

透明な背景のPNGには、次のようにdvipngを使用します。

dvipng -D 1000 -bg Transparent -pp pagenumber document.dvi

どこ -ppは画像を作成するページ番号であり、-DはDPIであり、高解像度画像の場合は膨大な数に設定されます。

結果は、方程式、および実際に他のラテックスレンダリングされたオブジェクトを抽出するためにトリミングできる大きなアルファチャネルPNGです。

4
sargant

LaTeX自体を使用してこれを行う方法はわかりませんが、結果についてはImageMagickを使用することもできます。彼は台本です。

#!/bin/bash
texfile="$1"
pdffile="${texfile%.tex}.pdf"
pngfile="${texfile%.pdf}.png"
pdflatex -interaction=batchmode "$texfile"
pdfcrop "$pdffile" "${pdffile%.pdf}-cropped.pdf"
pdftoppm -png -f 1 -l 1 "${pdffile%.pdf}-cropped.pdf" > "$pngfile" 
convert "$pngfile" -transparent white "${pngfile%.png}-transparent.png"

Dvipngの最初のコマンドでは、pdflatexではなく通常のlatexを使用できます。より高い解像度が必要な場合は、pdftoppmに適切なオプションを追加します(たとえば、300dpiの場合は-r300、間違えない限りデフォルトは150 dpiです)。

代わりにベクターグラフィックが必要な場合は、Inkscapeまたはdvisvgmを試すことができますが、私はそれらの経験があまりありません。

0
frabjous