单个 .tex 文件,多个 .bib 文件

单个 .tex 文件,多个 .bib 文件

我正在编写一份协作文档,其中每个作者编辑一个main.tex文件并提供一个<author>.bib文件(不\include,不\input......我知道这不是理想的选择,但这不是我的决定)。

我们遇到的问题是我们无法在每章末尾提供多个参考书目(chapterbib需要使用\include,手册中提到了一些关于单个文件的内容,但我不是很清楚如何做到这一点)

一个最小的例子是这样的:

% main.tex
\documentclass[a4paper,11pt,oneside,openright]{book}
\usepackage{natbib}
\usepackage{chapterbib}

\begin{document}
\chapter{Author 1}
\section{author 1 section}
..something
\addcontentsline{toc}{section}{\bibname}
\bibliographystyle{unsrtnat}
\pagestyle{plain}
\bibliography{author_1}

\chapter{Author 2}
\section{author 2 section}
..something
\addcontentsline{toc}{section}{\bibname}
\bibliographystyle{unsrtnat}
\pagestyle{plain}
\bibliography{author_2}

\end{document}

作者_1.bib

@article{lagrange1772essai,
  title={Essai sur le probleme des trois corps},
  author={Lagrange, J.L.},
  journal={{\OE}uvres},
  volume={6},
  pages={229--324},
  year={1772}
}

作者_2.bib

@article{euler1741solutio,
  title={Solutio problematis ad geometriam situs pertinentis},
  author={Euler, L.},
  journal={Commentarii academiae scientiarum Petropolitanae},
  volume={8},
  pages={128--140},
  year={1741}
}

可能会发生 author_1.bib 和 author_2.bib 包含相同的参考(可能具有相同的 id 键)。

有什么提示可以告诉我们如何做到这一点吗?

答案1

使用该软件包时,答案非常简单biblatex。它在某种程度上与兼容natbib,但如果您可以将其全部抛弃,那就更好了。

biblatex您可以将不同的 bib 文件列到您的 latex 文档中,并将它们分配到特定的部分,以供单独的参考书目(refsections在 biblatex 术语中)使用\addbibresource[]{}

\documentclass[a4paper,11pt,oneside,openright]{book}
\usepackage{biblatex}
\addbibresource{author_1}
\addbibresource{author_2}
\begin{document}
\chapter{author 1 section}
\begin{refsection}[author_1]
...
\printbibliography[heading=subbibliography]
\end{refsection}
\chapter{author 2 section}
\begin{refsection}[author_2]
...
\printbibliography[heading=subbibliography]
\end{refsection}
\end{document}

我建议您阅读的完整文档biblatex,您还可以自动影响refsectionchapterpartsection而无需指定环境。

相关内容