当要包含的图形位于输出目录中时,epstopdf 包会失败

当要包含的图形位于输出目录中时,epstopdf 包会失败

重现错误:

  1. 创建b.eps包含任何内容的文件。例如,以下命令将创建b.eps

    asy -noV -o b -c 'draw((0, 0)--(1, 1));'
    
  2. 创建文件夹./d/,并放入b.eps其中。

  3. ./a.tex在当前目录中创建内容:

    \documentclass{article}
    \usepackage{graphicx}
    \begin{document}
    \graphicspath{{d/}}
    \includegraphics{b}
    \end{document}
    
  4. 用 编译pdflatex --shell-escape --recorder --output-directory=d/ a.tex

  5. 查看錯誤。


我认为发生错误的原因在于:当图形位于输出目录中时,LaTeX 无法正确确定.eps相对于当前目录的文件路径,因此无法传递给epstopdf--- 因此无法将其转换为pdf

这个问题可以修复吗?


作为一种解决方法,可以明确指定图形的路径:

\includegraphics{d/b}

但我也想知道是否有适当的解决方案。

背景是我正在使用asypictureB带有一些补丁的包使其与任意的一起工作--output-directory,并且该.asy文件当然是在中创建的output-directory,这使得.eps也在那里生成。

相关内容