![单个 .tex 文件,多个 .bib 文件](https://linux22.com/image/258837/%E5%8D%95%E4%B8%AA%20.tex%20%E6%96%87%E4%BB%B6%EF%BC%8C%E5%A4%9A%E4%B8%AA%20.bib%20%E6%96%87%E4%BB%B6.png)
我正在编写一份协作文档,其中每个作者编辑一个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
,您还可以自动影响refsection
、chapter
或part
,section
而无需指定环境。