我有一个由几个子文件组成的文档,因此使用命令-aux-directory
将所有临时文件放在子文件夹“auxdir”中,以保持我的工作文件夹清晰(并且让我保持理智)。
但是,我现在无法使用 Vim LaTeX-Suite 的多重编译功能,大概是因为它遵循的算法(这里)仅当它在辅助文件中找到一行时才会运行 BibTeX \bibdata
,但如果辅助文件不在同一个目录中,它似乎无法执行此操作。
结果是,除非我关闭该选项,或者除非我手动在辅助文件上运行 BibTeX,否则根本不会编译参考书目-aux-directory
。我希望有人能给我指出一种更简单的方法!
答案1
有几种工具可以帮助您。
arara
cool 工具arara
提供了几条规则来从文档内部指定所有编译步骤。
例如,您想要使用pdflatex
++进行编译bibtex
,pdflatex
则需要在主文档的序言中添加以下几行:
% arara: pdflatex
% arara: bibtex
% arara: pdflatex
遵循这些规范后,你可以使用以下方法编译你的文档
arara myfile.tex
也可以提供规则的选项。
% arara: pdflatex: { options: { -aux-directory=auxdir } }
% arara: bibtex: { files: [auxdir/filename1, auxdir/filename2] }
TrY
另一种同样有效的方法是 TrY 工具。它仅适用于 Unix 系统,您可以键入完整的小脚本来代替规则。
上述使用 TrY 改编的示例为:
%$ pdflatex myfile.tex
%$ bibtex myfile.aux
%$ pdflatex myfile.tex
编译步骤如下:
try myfile.tex