如何在 Windows 上获取具有兄弟或超级目录的“psfragfig”?

如何在 Windows 上获取具有兄弟或超级目录的“psfragfig”?

假设以下简单的乳胶testeps.eps中有一些.eps 文件:同一目录、父目录和一个名为的子目录testsub

\documentclass{article}
\usepackage{pstool}
\begin{document}
    \psfragfig*[width=15cm]{testeps} {}
    \psfragfig*[width=15cm]{testsub/testeps} {}
    \psfragfig*[width=15cm]{../testeps} {}
\end{document}

前两个工作正常,最后一个说:

"I can't write on file `../testeps-pstool.tex'}
"Emergency stop }
No file "../testeps.tex" or "../testeps-psfrag"

我在 Windows 上使用 miktex,并对我的 PdfLaTex 使用类似以下内容(在 TeXstudio 中,但我认为这并不重要)。

pdflatex.exe" -shell-escape -synctex=1 --aux-directory=C:\Windows\Temp  -interaction=nonstopmode %.tex

我尝试了-shell-escape能找到的所有 write18 排列组合。当然,\graphicspath在转换为 psfragfig 之前我曾经使用过,但它不兼容?

答案1

pstool-packageCTAN 中的文档指出了此功能(不要称之为问题) :

pstool 自身无法解决的一个问题是包含主文档子目录中不存在的图像。例如,\pstool{../Figures/myfig}默认情况下无法处理,因为pdfTEX通常没有权限写入比主文档层次更高的文件夹。目前可以通过两种不同的方式解决这个问题:(尽管可能仅适用于 Mac OS X 和 Linux):

  1. 使用以下命令授予 pdflatex 在任何地方写入的权限:openout_any=a pdflatex...
  2. 在工作目录中创建一个指向路径中更高位置的符号链接:ln -s ../testeps ./testeps例如,然后通过这个符号链接引用图形。

我已经成功测试了第二种解决方案。

花了一整天时间寻找解决方案后,我希望我在这个小组中的第一个贡献可以帮助其他人:-)

相关内容