将编译后的 pdf 从 tex 文件中复制到文件夹中

将编译后的 pdf 从 tex 文件中复制到文件夹中

为了保持 .tex 文件所在文件夹的整洁,我成功地采用了其他帖子中建议的策略(例如这里 或者这里)、设置-output-directory=build并在构建高级选项中-aux-directory=build添加./build日志文件和pdf文件的附加搜索路径。

这是可行的,尽管所有文件(包括 pdf)现在都在build子文件夹中,但我希望将 pdf 放在 .tex 文件所在的同一文件夹中。

为了实现这个目的,我创建了一个简单的批处理文件,copy.bat并将其放在 .tex 文件所在的同一文件夹中。其内容如下:

for /R "%cd%\build" %%f in (*.pdf) do copy "%%~f" ".\"

它的作用是将所有 pdf 文件从 build 子文件夹复制到当前文件夹。如果从终端运行,它会按预期工作。

现在,我想从我正在处理的 tex 文件中运行 .bat 文件。我已更改 PdfLatex 命令选项,现在它是:

pdflatex.exe -synctex=1 -interaction=nonstopmode --shell-escape -output-directory=build -aux-directory=build %.tex

然后我将其包含\immediate\write18{"./copy.bat"}在我的 tex 文件中,但尝试编译时出现错误(pdf 已损坏)。我真的不明白为什么。作为一个附带问题,你会使用不同的策略将 pdf 复制到 tex 目录中吗?

相关内容