考虑以下代号simulator.tex
。
% simulator.tex
\documentclass[preview,border=12pt,varwidth]{standalone}
\usepackage{filecontents}
\begin{filecontents*}{input.tex}
\documentclass[tikz,border=12pt]{standalone}
\begin{document}
\begin{tikzpicture}
\fill[red] (0,0) circle (2);
\end{tikzpicture}
\end{document}
\end{filecontents*}
\usepackage{graphicx}
\usepackage{pgffor}
\immediate\write18{pdflatex input}
\immediate\write18{pdftops -f 1 -l 1 -eps input.pdf output.eps}
\foreach \x in {tex,pdf,log,aux}{\immediate\write18{cmd /c del input.\x}}
\begin{document}
I am importing EPS image.\\
\includegraphics{output}
\immediate\write18{cmd /c del output.eps}
\immediate\write18{cmd /c del output-eps-converted-to.pdf}
\end{document}
我使用的是 Windows,因此上述代码的某些部分仅适用于 Windows。使用以下命令编译上述代码:
latex -shell-escape simulator
dvips simulator
ps2pdf -dAutoRotatePages=/None simulator.ps
并检查存在的文件夹的内容simulator.tex
。
谁创建的output-eps-converted-to.pdf
以及为什么我无法删除它?
答案1
由于 pdfTeX 无法将 EPS 文件读取为图像,因此graphics
配置文件graphics.cfg
会加载包epstopdf
(exacter epstopdf-base
)。它使用 shell escape 功能将 EPS 文件动态转换为 PDF 文件。(它也可以配置为转换其他图像格式。)该包使用命名方案<original name>-<original extension>-converted-to.<new extension>
来避免覆盖其他有价值的图像文件。
因此您很可能已经习惯了pdflatex
处理simulator.tex
。然后触发 到的\includegraphics{output}
转换。output.eps
output-eps-converted-to.pdf