对于当前版本的 ImageMagick,ImageMagick 7.0.7-21 Q16 x64 2018-01-06
应用程序文件名已经是很久以前的了magick
,因此standalone
应该通过如下方式调用包:
\documentclass[convert={convertexe=magick,density=200,outext=.png}]{standalone}
发送命令
magick -density 200 filename.pdf filename.png
到提示符。现在此过程会产生具有透明背景的 PNG。为了避免透明,提示符命令应更改为
magick -density 200 filename.pdf -alpha remove filename.png
也就是说,-alpha remove
应该放在两个文件名之间。这意味着-alpha remove
不能简单地将 攻击为density=200
,如其他地方所建议的那样:使用独立程序将表格转换为 png。
我检查了standalone
包裹,第 17 页手动的建议使用子选项重建命令提示符command
。所以我实际上尝试这样做:
\documentclass[tikz,convert={convertexe=magick,density=200,outext=.png,command={\convertexe\space -density \density\space \infile\space -alpha remove\space \outfile}}]{standalone}
但是,命令重建似乎不起作用,因为PdfLatex
编译器在调用时Miktex
返回。! Undefined control sequence.
\convertexe
手册中的例子如下:
command={\convertexe\space -density \density\space \infile\space \ifx\size\empty\else -resize \size\fi\space -quality 90 \outfile}
怎么了?我误读了说明吗?
答案1
如果我有以下test.tex
文件
\documentclass[tikz,convert]{standalone}
\begin{document}
\begin{tikzpicture}
\draw (0,0) rectangle (2,1) node [midway] {Example};
\end{tikzpicture}
\end{document}
以及standalone.cfg
同一目录中的以下文件
\standaloneconfig{
multi=false,
crop,
convert={
convertexe=magick,
density=200,
outext=.png,
command={%
\convertexe\space
-density \density\space
\infile\space
-alpha remove\space
\outfile
}
}
}
然后运行
pdflatex -shell-escape test
导致调用外部程序
magick -density 200 test.pdf -alpha remove test.png
test.log
通过查找 ,可以在文件中看到runsys
。事实上,如果我询问有关该文件的信息,我会得到
> file test.png
test.png: PNG image data, 1700 x 2200, 4-bit grayscale, non-interlaced
更新
您也可以在选项中指定命令,但需要进行一些小的调整:
\documentclass[
tikz,
multi=false,
crop,
convert={
convertexe=magick,
density=200,
outext=.png,
command=\unexpanded{%
\convertexe\space
-density \density\space
\infile\space
-alpha remove\space
\outfile
},
},
]{standalone}
\begin{document}
\begin{tikzpicture}
\draw (0,0) rectangle (2,1) node [midway] {Example};
\end{tikzpicture}
\end{document}
在日志文件中我发现
runsystem(magick -density 200 conv.pdf -alpha remove conv.png)...executed.
以及生成的文件报告
> identify test.png
test.png PNG 159x80 159x80+0+0 8-bit Gray 16c 900B 0.000u 0:00.000