TeX Live中的本格做法
一个简单的例子:
\documentclass{article}
\pagestyle{empty}
\begin{document}
\[E=mc^2\]
\end{document}
% 文件名:m.tex
如果你想得到.png
文件呢,可以使用:
latex m && dvipng m
如果你想得到.svg
文件呢,可以使用:
latex m && dvisvgm -n m
当然了,上面都是使用.dvi
文件做处理,用.pdf
文件处理,也没问题:
pdflatex m && dvisvgm --pdf m.pdf
这就得到了SVG文件。
一点注记
我为什么没推荐pdftocairo
这个程序呢?虽然windows版本的TeX Live自带,但是其他平台的TeX Live可就不一定自带了。因为这是poppler
中的程序,当前的TeX Live中的可执行程序已经不依赖poppler
了,大部分都替换成了Paweł Jackowski的pplib
了。 Windows版的TeX Live中保留,只能说是一种历史惯性。
鉴于其他答案都列举了pdftocairo
的用法,此处就不再介绍了。
思路打开,把.pdf
文件转换成图像,那做法就很多了。比如说MuPDF和GhostScript。这两个软件都是Artifex的软件,都能解析.pdf
文件。
比如说MuPDF中的用法(转图):
mutool draw -o m.png m.pdf
mutool draw -o m.svg m.pdf
mutool draw -o m.ps m.pdf
而GhostScript的用法(在某些平台下面rungs
可以替换为gs
):
rungs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png16m -r300 -sOutputFile=m.png m.pdf
-sDEVICE=png16m
里面的png16m
在GhostScript里面称作device,它支持的device非常多:
Available devices:
bbox bit bitcmyk bitrgb bitrgbtags bj10e bj200 bjc600 bjc800 bmp16 bmp16m
bmp256 bmp32b bmpgray bmpmono bmpsep1 bmpsep8 cdeskjet cdj500 cdj550
cdjcolor cdjmono chameleon cljet5 cljet5c cljet5pr declj250 deskjet
devicen display dj505j djet500 djet500c dnj650c docxwrite eps2write
eps9high eps9mid epson epsonc fpng fs600 hocr ibmpro ijs imagen ink_cov
inkcov jetp3852 jpeg jpegcmyk jpeggray laserjet lbp8 lj250 lj3100sw
lj4dith lj4dithp lj5gray ljet2p ljet3 ljet3d ljet4 ljet4d ljet4pjl
ljetplus lp2563 m8510 mswinpr2 necp6 nullpage oce9050 ocr paintjet pam
pamcmyk32 pamcmyk4 pbm pbmraw pclm pclm8 pcx16 pcx24b pcx256 pcxcmyk
pcxgray pcxmono pdfimage24 pdfimage32 pdfimage8 pdfocr24 pdfocr32 pdfocr8
pdfwrite pgm pgmraw pgnm pgnmraw picty180 pj pjetxl pjxl pjxl300 pkmraw
plan planc plang plank planm planr plib plibc plibg plibk plibm png16
png16m png16malpha png256 png48 pngalpha pnggray pngmono pngmonod pnm
pnmcmyk pnmraw ppm ppmraw ps2write psdcmyk psdcmyk16 psdcmykog
psdcmyktags psdcmyktags16 psdrgb psdrgb16 pxlcolor pxlmono r4081 sj48
spotcmyk st800 stcolor t4693d2 t4693d4 t4693d8 tek4696 tiff12nc tiff24nc
tiff32nc tiff48nc tiff64nc tiffcrle tiffg3 tiffg32d tiffg4 tiffgray
tifflzw tiffpack tiffscaled tiffscaled24 tiffscaled32 tiffscaled4
tiffscaled8 tiffsep tiffsep1 txtwrite uniprint xpswrite
看到里面的docxwrite
没有,其实你还可以使用下面的命令:
rungs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=docxwrite -sOutputFile=m.docx m.pdf
是的,你是可以直接用GhostScript把.pdf
文件转换成.docx
文件的(当然,排版可能就丢失了)。
上面说的这几个软件,在与TeX Live相关的可用性上如下:
Windows | macOS | 其他 | |
---|---|---|---|
MuPDF | 需要安装 | 需要安装 | 需要安装 |
GhostScript | 可用 | 可用 | 需要安装 |
pdftocairo | 可用 | 需要安装 | 需要安装 |