是否可以使用单个 main.bib 文件在每章后添加反向引用?

是否可以使用单个 main.bib 文件在每章后添加反向引用?

我使用 LaTeX + BibTeX 撰写论文。我.tex为每一章都创建了一个单独的文件。我会为每一章生成一个参考书目。但所有参考资料都来自同一个文件 ( main.bib)。

因此,在很多情况下,不同的章节会引用相同的参考文献。因此,一个参考文献可以在整个论文的参考书目中出现多次(但在不同的章节中)。我想使用来自hyperref包裹。我只是想知道是否有可能这样做?

% chapter 1
Bibliography
[1]. A and B, Nature, 1991. 15, 20.
...

% chapter 2
Bibliography
...
[3]. A and B, Nature, 1991. 55, 67.
...

答案1

您可能想要尝试使用该chapterbib软件包。(也有软件包bibunits,但由于您声明您的章节包含在单独的.tex文件中,因此使用该软件包可能最容易chapterbib。)该软件包旨在为每个章节单独创建参考书目,无论您有多少个 bib 文件。

以下 MWE 演示了如何使用这个包以及一个非常基本的设置。它加载了包natbib、、chapterbibhyperref以及backref参考书目样式文件plainnat.bst。该文件demo.bib包含:

@article{abadir:1993a,
    author       = "Karim M. Abadir",
    title        = "{OLS} bias in a nonstationary autoregression",
    journal      = "Econometric Theory",
    year         = 1993,
    volume       = 9,
    number       = 1,
    pages        = "81--93"
}

“章节”文件demo-1.texdemo-2.texdemo-3.tex每个文件都包含(它们是相同的):

\chapter{Hello}  
\citet{abadir:1993a}\clearpage\citet{abadir:1993a}
\bibliographystyle{plainnat}
\bibliography{demo}

(请注意,每章都发出两次引用调用。)整体驱动文件demo.tex包含:

\documentclass{book}
\usepackage{natbib,chapterbib,hyperref,backref}
\begin{document}
\include{demo-1}
\include{demo-2}
\include{demo-3}
\end{document}

在 上运行 (pdf)latex 两次;在、 和demo.tex上各运行一次 bibtex ;并在 上再运行 (pdf)latex 两次。编译后的文档应包含 11 页(第 1 章和第 2 章各 4 页,第 3 章 3 页)。第 11 页上的第 3 章的排版参考书目如下所示:demo1.texdemo2.texdemo3.texdemo.texdemo.pdf

在此处输入图片描述

第 1 章和第 2 章参考书目的反向引用应分别为“第 1、2 页”和“第 5、6 页”。

当然,您可以调整反向引用的外观;backref有关详细信息,请参阅包的手册。

答案2

以下解决方案基于biblatex并提供您想要的内容:它使用biblatex以下概念(参见biblatex手册第 3.5.4 节)定义引文跟踪的上下文。通过refsegment=chapter类选项,每章都成为一个独立的段;在每章末尾打印特定段的参考书目;在文档末尾打印包含完整参考书目的章节。所有这些都与反向引用配合得很好,biblatex专用的类选项为其提供内置支持。

C1

C2

满的

唯一(可能)的问题可能是反向引用始终是完整的。这意味着如果您在第 1 章和第 2 章中都引用了来源,则第 1 章参考书目的反向引用列表也将包含第 2 章中相应页面的条目。

\documentclass{book}

\usepackage[defernums=true, hyperref, backref, refsegment=chapter]{biblatex}
% Define typesetting of references heading
\defbibheading{references}[References]{% 
  \section*{#1}% 
  \markboth{#1}{#1}%
}

% Define typesetting of bibliography heading
\defbibheading{bibliography}[Complete Bibliography]{% 
  % define as above if you want to have this numbered as well:
  \chapter*{#1}%
  \addcontentsline{toc}{chapter}{#1}
  \markboth{#1}{#1}%
}


% The filtecontent package is just used to create an example .bib-File
% automatically out of the following (for the MWE)
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
@misc{B02,
  author = {Buthor, B.},
  year = {2002},
  title = {Bravo},
}
@misc{C03,
  author = {Cuthor, C.},
  year = {2003},
  title = {Charlie},
}
\end{filecontents}

% The bibtex database to use (mybib for mybib.bib)
\bibliography{\jobname}


\begin{document}

\tableofcontents
\cleardoublepage

\chapter{First Chapter}

Some more text \autocite{A01,B02}.

% print the segment-specific bibliography (using the references style 
% defined above for the heading
\printbibliography[heading=references,segment=\therefsegment]

\chapter{Second Chapter}

Some text \autocite{A01,C03}.

\printbibliography[heading=references,segment=\therefsegment]


% print the full bibliography (using the bibliography style 
% defined above for the heading above
\printbibliography[heading=bibliography]

\end{document}

相关内容