序言:我在 Linux 上使用 LaTex(Ubuntu 10.4.1)
我想将 LaTeX 生成的方程式导出为高分辨率位图或矢量图像格式,以便在桌面出版程序中使用。但是,目标文档有彩色背景,因此我不能简单地使用 GIMP(似乎如此),因为它会在白色背景上呈现 PDF。
是否有一个命令可以放入 LaTeX 文档中以生成具有透明背景的 PDF,或者另一种提取这些方程式的方法?
答案1
使用dvipng
透明背景的 PNG,例如:
dvipng -D 1000 -bg Transparent -pp pagenumber document.dvi
其中,-pp
是制作图像的页码,-D
是 DPI,对于高分辨率图像,设置为较大的数字。
结果是一个大的 alpha 通道 PNG,然后可以将其裁剪以提取方程式,以及任何其他乳胶渲染的对象。
答案2
我不知道使用 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 的命令中使用常规 latex 而不是 pdflatex。如果您想要更高的分辨率,请向 pdftoppm 添加适当的选项(例如,-r 300 表示 300 dpi;如果我没记错的话,默认值为 150 dpi)。
如果您想要矢量图形,您可以尝试 Inkscape 或 dvisvgm,但我对这些没有太多经验。