我正在帮助一位同事完成他的博士论文,我们需要在每章的末尾展示参考书目。
问题是:在这种情况下,有没有人有一个使用latex+bibtex 的最小工作示例?
我们使用的当前文档结构如下:
main.tex
chap1.tex
chap2.tex
...
chapn.tex
biblio.bib
其中main.tex
包含每章的包、文档声明、宏和\include
s。biblio.bib
是唯一的bibtex 文件(我认为将所有引文放在一个地方更容易)。
我们已经搜索并尝试了不同的乳胶包,阅读并遵循他们的文档。具体来说,bibitems 和 chapterbib。
bibitems 成功生成bu*.aux
文件,但是在为每个文件运行 bibtex 时,由于文件中没有\bibdata
元素而发生错误.aux
。
chapterbib 也会生成一个文件,但 bibtex 以在文件中使用多个(每章一个).aux
导致的错误结束。\bibliography{file}
.tex
一些同事建议为每章使用单独的 bibtex 文件,这可能是将来在不同章节中引用相同出版物时的维护问题。
如果可能,我们希望继续使用这种文档结构。因此,如果有人能对这个问题有所了解,我们将不胜感激。
谢谢。
更新:MWE 找到 感谢 Habi 的帮助,这是一个工作示例:
使用上面提到的文档结构:
% main.tex
\documentclass{report}
\usepackage{url}
\usepackage{natbib}
\usepackage{chapterbib}
\begin{document}
\include{chap1}
\include{chap2}
% other chapters ...
\end{document}
% chap1.tex
\chapter{one chapter}
text~\cite{paper1}
text~\cite{paper2}
% don't forget:
\bibliographystyle{plainnat}
\bibliography{biblio}
% chap2.tex
\chapter{another chapter}
text~\cite{paper2, paper3}
% don't forget, again:
\bibliographystyle{plainnat}
\bibliography{biblio}
% biblio.bib
@Article{paper1,
author = {John Smith},
title = {A title},
journal = {A Journal},
year = {2010}
}
@Article{paper2,
author = {John Doe},
title = {A paper},
journal = {Another journal},
year = {2009}
}
@Article{paper3,
author = {Yuppie Networking},
title = {My paper},
journal = {The best journal},
year = {2000}
}
最后,生成文档:
#!/bin/bash
latex main.tex
for auxfile in chap*.aux
do
bibtex `basename $auxfile .aux`
done
latex main.tex
latex main.tex