我经常在我的 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