在每章末尾添加参考书目

在每章末尾添加参考书目

我有一个项目,要求为每一章维护单独的参考书目,并且参考文献出现在每章的末尾。我正在使用natbib并且我知道我应该使用

\usepackage{natbib}
\usepackage{chapterbib}

但我的目录结构有问题(我认为)。这是我的结构

Main directory
    book.tex
    abbr.bib (this incluses @string abbreviation definitions for journal names)
    ch1-directory
       ch1.tex
       ch1.bib
    ch2-directory
       ...

我的文件内容的一个最小示例book.tex如下:

\documentclass{book}
\usepackage[square,sort]{natbib}
\usepackage{chapterbib}
\begin{document}
    \include{ch1-directory/ch1}
\end{document}

我的ch1.tex文件最后有以下内容:

\bibliographystyle{plainnat}
\bibliography{../abbr,ch01}

使用 Bibtex 处理该book.tex文件会出现两个错误:

I couldn't open database file ../publications.bib
---line 15 of file ch-1/ch01.aux
 : \bibdata{../abbr
 :                 ,ch01}
I'm skipping whatever remains of this command
I found no database files---while reading file book.aux
Warning--I didn't find a database entry for "Luhn:1958fk"
Warning--I didn't find a database entry for "Bertossi:2011uq"
Warning--I didn't find a database entry for "Deutch:2012kx"
Warning--I didn't find a database entry for "Carenini:2011vn"
Warning--I didn't find a database entry for "Armbrust:2010ys"

我不知道我做错了什么。我确实在这里找到了关于将参考资料放在章节末尾的其他讨论,但它们没有我所拥有的嵌套目录结构,这似乎是主要问题。

答案1

您是否考虑过使用 biblatex 来代替 natbib 和 chapterbib?Biblatex 负责格式化、排序和按章节划分参考书目。我在我的一本书中使用了它,其中我也使用了每章参考书目。我序言中的相应条款是

\usepackage[firstinits=true,
            bibencoding=inputenc,
            hyperref=auto,
            pagination=none,
            %style=standard,
            refsection=chapter]
{biblatex}

如果我没记错的话,有一个

style=natbib

模拟 natbib 包的格式样式的选项。

答案2

来自chapterbib手册

每个包含的文件都应该有自己的\bibliographystyle\bibliography命令,并且您应该在每个包含的文件上单独运行 bibtex,而不是在主文件或根文件上运行。

相关内容