在子文件夹和多个操作系统中的辅助文件上运行 Bibtex

在子文件夹和多个操作系统中的辅助文件上运行 Bibtex

我的博士论文有一个完整的框架,基于 classicthesis/arsclassica。各个章节位于这样的子文件夹中。

  • 主文本
  • 章节/项目1/项目1.tex
  • 章节/project2/project2.tex
  • ...

我习惯chapterbib在每章后添加一个参考部分。章节文件通过 包含在主文档中\include,这样我就可以.aux在每个子文件夹中获得单独的文件。我需要.aux对子文件夹中的文件运行 bibtex,以便.bbl创建章节参考所需的文件。

我办公室和家里的所有机器都运行 Linux,我使用 Vim 作为编辑器,并编写了一个简单的 shell 脚本来执行此操作。

#!/bin/bash
pdflatex main.tex
for auxfile in $(find * -name "*.aux"); do bibtex $auxfile; done
pdflatex main.tex
pdflatex main.tex

现在,我把模板给了一个朋友,她同时使用 Windows 和 OS X。她的编辑器是 Texmaker。给定的编译配置文件都不适用于此,因为它们不能bibtex在其他文件上运行。手动打开子章节并bibtex在我的计算机上执行工作,奇怪的是,这对她来说也不起作用,但我需要再次检查。无论如何,最好使用自动例程。

如果我添加类似的东西

for auxfile in $(find * -name "*.aux"); do bibtex $auxfile; done 

作为 Mac 上 Texmaker 中用户指定的命令,我收到了消息"Error: Could not start the command",即使我从命令行执行它时它可以工作。

因此,我正在寻找一个(或两个)解决方案来添加一个配置文件,该配置文件执行通常的编译例程,并且还在 \included 章节的 .aux 文件上运行 bibtex。需要在 OS X 和 Windows 中运行,因此解决方案可能会有所不同。如有必要,我可以上传我准备的一个最小工作示例。

相关内容