如何在使用 bibtex 时编译源外的 LaTeX?

如何在使用 bibtex 时编译源外的 LaTeX?

我经常在我的 LaTeX 代码上使用源外编译,以便将生成的文件与源文件分离,这样我就可以方便地将代码提交到存储库。命令如下:

pdflatex -c-style-errors -include-directory=dir_of_source_files -output-directory=dir_of_generated_files -aux-directory=dir_of_aux_files main_tex_file.tex

正如选项所示,编译器可以很好地管理生成的文件。最近,我转向bibtex管理我的参考书目,而不是bibitem直接在 tex 文件中输入 s。我想使用上述工作流程 - 将生成的文件放入另一个目录中。结果,我失败了。这是测试代码片段:

\documentclass{book}
\begin{document}
The device \cite{Vikas01} is special \cite{Bernard03}.
\bibliographystyle{ieeetr}
\bibliography{refs}
\end{document}

bib文件的内容为:

@BOOK{Bernard03,
  AUTHOR={Bernard Desgraupes},
  TITLE={{\LaTeX}, {A}pprentissage, guide et r{\'e}f{\'e}rence},
  PUBLISHER={Vuibert},
  YEAR={2003},
  address={Paris},
  edition={second},
  month={mar}}

@INPROCEEDINGS{Vikas01,
  AUTHOR={Kawadia, Vikas},
  TITLE={Protocols for Media Access Control and Power Control in Wireless Networks},
  BOOKTITLE={40th IEEE Conference on Decision and Control},
  YEAR={2001},
  month={mar}}

我的编译命令是:

pdflatex -c-style-errors -include-directory=dir_of_source_files -output-directory=dir_of_generated_files -aux-directory=dir_of_aux_files main_tex_file.tex
bibtex -include-directory=dir_of_aux_files main_tex_file

然后出现提示:

I couldn't open file name 'refs.aux'

并且日志文件中还有一个可疑的警告:

LaTeX Warning: Citation `Vikas01' on page 1 undefined on input line 5.

LaTeX Warning: Citation `Bernard03' on page 1 undefined on input line 5.

No file testbib.bbl.
[1
] (d:\tex\bin\testbib-shadow\au\testbib.aux)

LaTeX Warning: There were undefined references.
)

我猜测是编译器无法生成 .bbl 文件。该如何修复这个问题?

答案1

bibtex没有-include-directory开关,所以它必须.aux在调用它的目录中查看文档的文件。

所以,

bibtex dir_of_aux_files/main_tex_file

应该使用,当然末尾main_tex_file没有。.tex

相关内容