我正在使用一个 .bib 文件,需要使用 biblatex (biber) 为每个章节创建多个参考书目 + 最后创建一个全局参考书目。使用 refsection 的多个参考书目一切顺利,但是,我无法创建全局参考书目。
我在这里发现了一个非常相似的问题:多个书目和一个全局书目 - 均带有全局标签- 然而解决方案
\nocite{*}
对我来说不起作用,因为我只需要那些引用的参考文献(我的.bib 文件非常大。
我的例子:
\usepackage[refsection=chapter, style=authoryear-comp,natbib=false,mcite=false,backend=biber]{biblatex}
\addbibresource{refs.bib}
\begin{document}
\begin{refsection}
blabla \cite{}
\printbibliography[heading=subbibintoc]
\end{refsection}
% and now the global one that should include all previously cited documents
\printbibliography[heading=bibintoc]
\end{document}
\begin{refsection}
blabla \cite{}
\printbibliography[heading=subbibintoc]
\end{refsection}
它既不产生全球书目,也不产生目录中的条目。
答案1
我用段代替部分。然后您将获得全局书目的相同且唯一的键,并且您也可以获得全局书目。
最后一个\printbibliography
没有说明它适用于哪个段,而是显示所有段。这对我来说是有效的,尽管我不认为这是 Biblatex 文档所说的。它说的默认值segment
是“0”,并且段 0 仅由任何环境之外的引用组成。(如果您segment=0
明确地放置在那里,则不会在那里得到列表。)
\begin{filecontents}{refs.bib}
@Book{book1,
author = {Thor, A. U.},
year = 2012,
title = {Book1}}
@Book{book2,
author = {Thor, A. U.},
year = 2013,
title = {Book2}}
@Book{book3,
author = {Thor, A. U.},
year = 2014,
title = {Book3}}
\end{filecontents}
\documentclass{article}
\usepackage[style=authoryear-comp]{biblatex}
\addbibresource{refs.bib}
\begin{document}
\tableofcontents
\section{Foo}
\begin{refsegment}
\cite{book1}
\printbibliography[segment=1, title={First bib}, heading=subbibintoc]
\end{refsegment}
\section{Bar}
\begin{refsegment}
\cite{book2}
\printbibliography[segment=2, title={Second bib}, heading=subbibintoc]
\end{refsegment}
\printbibliography[title={Global bib}, heading=bibintoc]
\end{document}