我在 latex 文件中创建 tikz 代码时使用 imagemagick 将 pdf 文件转换为图像。代码如下:
\documentclass[preview,border=2pt,2pt]{standalone}
\documentclass[convert={density=300,outext=.png}]{standalone}
...
但是第二行调用 imagemagick convert 不起作用。我需要这方面的帮助。谢谢。
答案1
问题中的示例有两个documentclass
命令,这在 LaTeX 中是不允许的。您可以使用单个命令,并将convert
选项添加到第一行的选项中。
请注意,第二个2pt
选项不会执行任何操作,它会生成一个警告,可以将其删除。还请注意,您需要使用shell-escape
允许调用的选项运行 LaTeX convert
。我自己不使用 TeXstudio,但根据如何在 TeXMakerX 中使用 -shell-escape 标志调用 latex?您可以通过多种方式来实现,其中一种方式是在文件开头添加编译指令,如下例所示。
梅威瑟:
% !TeX TXS-program:compile = txs:///pdflatex/[--shell-escape]
\documentclass[preview,border=2pt,convert={density=300,outext=.png}]{standalone}
\begin{document}
\Huge converted pdf
\end{document}
结果(请注意,方块表示透明度,因为它们是不可见的,所以才显示出来):
除此之外,.png
还会.pdf
自动生成。
答案2
你可以将 TikZ 外部化编写<filename>.tex
为
\providecommand*\classoptions{}
\documentclass[\classoptions]{article}
...
然后pdflatex
像这样调用两次
pdflatex "\def\classoptions{preview,border=2pt,2pt}\input{<filename>.tex}"
pdflatex --shell-escape "\def\classoptions{convert={density=300,outext=.png}}\input{<filename>.tex}"
生成一个.pdf
和转换后的文件。