【问题标题】:Compiling multiple LaTeX files in Windows在 Windows 中编译多个 LaTeX 文件
【发布时间】:2025-12-04 10:20:02
【问题描述】:

我有一个包含许多 LaTeX 文件的文件夹,这些文件都使用相同的自定义 LaTeX 类。现在我想重新编译所有这些 LaTeX 文件。它们排列在与文件夹同名的主文件的单独文件夹中,例如foo0001/foo0001.texfoo0002/foo0002.tex。有没有办法使用 Windows bat 脚本来编译/构建所有这些文档?

【问题讨论】:

    标签: latex batch-file pdflatex


    【解决方案1】:

    好吧,你可以直接遍历它们:

    for /r %%x in (*.tex) do pdflatex "%%x"
    

    如果当前路径是相关的(LaTeX 是否获取相对于当前目录而不是相对于源文件的相对资源?)那么你可以先进入目录,编译,然后再次退出目录:

    for /r %%T in (*.tex) do (
      pushd "%%~dpT"
      pdflatex "%%~nxT"
      popd
    )
    

    【讨论】:

    • 除此之外还有什么可以使文档中的相对路径从文档的文件夹中读取的吗?假设 /foo/bar.tex 包含 /../../resource.tex。从 /foo 运行此命令不会从 /foo/bar/ 返回 2 个目录,而是从 /foo...
    • 非常感谢!这就像需要的那样工作。