Пакет 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также сгенерированным там.

Связанный контент