[英]LaTeX: bibliography per chapter
我正在帮助一位同事完成他的博士论文,我们需要在每一章的末尾提供参考书目。
问题是:有人使用 latex + bibtex 为这种情况提供最小的工作示例吗?
我们使用的当前文档结构如下:
main.tex
chap1.tex
chap2.tex
...
chapn.tex
biblio.bib
其中main.tex
包含每一章的包、文档声明、宏和\include
。 biblio.bib
是唯一的 bibtex 文件(我认为将所有引文放在一个地方更容易)。
我们搜索并尝试了不同的 latex 包,阅读并遵循他们的文档。 具体来说,bibitems 和 chapterbib。
bibitems 成功生成了bu*.aux
文件,但是当为它们中的每一个运行 bibtex 时,会发生错误,因为.aux
文件中没有\bibdata
元素。
chapterbib 也生成一个.aux
文件,但 bibtex 以在.tex
文件(每章一个)中使用多个\bibliography{file}
引起的错误结束。
一些同事建议为每一章使用一个单独的 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
前段时间,我很快在Chapterbib上记下了一些笔记。 他们对您有帮助吗?
那是一个TeX常见问题解答项目 :
可以为文件的每个“章节”提供一个单独的书目,即“章节
chapterbib
”软件包(随附一堆其他好的书目内容)。 该软件包允许您为每个\\included
文件提供不同的书目(即,尽管使用了软件包的名称,但书目的可用性与文档的组件源文件有关,而不是与逻辑上构成文档的章节有关)。 [...]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.