我想为我的参考文献设置三个不同的部分。假设Reference1
、References2
和References3
。我的参考文献的自定义排序。但是,我希望每个参考文献的编号从上一个列表继续。假设References1
包含1
到100
参考文献。我需要References2
包含 到 的参考20
文献,并且从 到结束。在我的包中,我使用包。101
120
References3
121
LaTeX
biblatex
有人知道该怎么做吗?
答案1
注意:以下答案适用于 TeX Live 2014 中包含的 Biblatex/Biber(可能也适用于某些早期版本)。从 TeX Live 2015 开始,refsection 被视为完全独立的环境,其计数器从 1 开始,不受 的影响resetnumbers=false
。但是,它确实尊重resetnumbers=n
。因此,您可以存储 refsection 的最后一个数字,并将新 refsection 中的数字设置为存储的数字 + 1。
感谢 @moewe 提供此解决方案的实现https://github.com/plk/biblatex/issues/1222。
代码(参见下面原始答案中的完整 MWE):
\begin{document}
\begin{refsection}
Some text \autocite{B02,A01}.
\printbibliography[title={References1}]
\numgdef\resetnum{\csuse{blx@labelnumber@\therefsection}+1}
\end{refsection}
\begin{refsection}
Some more text \autocite{Z00,C03}
\printbibliography[title={References2}, resetnumbers=\resetnum]
\end{refsection}
\end{document}
原始答案,适用于 TeX Live 2014:
这可以使用 s 来实现refsection
,每个 s 都包含 中使用的引文的参考书目refsection
。BibLaTeX 的全局选项sorting=none
会导致参考文献按其在文本中出现的顺序进行编号。resetnumbers=false
的选项printbibliography
与全局选项相结合会defernumbers=true
导致在 s 中进行连续编号。如果结果不符合预期,refsection
您可能需要在某个时候删除.aux
、.bbl
、.bcf
、文件。.blg
MWE,改编自https://tex.stackexchange.com/a/42273/89417:
\documentclass{article}
\usepackage[sorting=none,defernumbers=true]{biblatex}
\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,
keywords = {pub},
author = {Cuthor, C.},
year = {2003},
title = {Charlie},
}
@misc{Z00,
keywords = {pub},
author = {Zuthor, Z.},
year = {2000},
title = {Zulu},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\begin{refsection}
Some text \autocite{B02,A01}.
\printbibliography[title={References1},resetnumbers=true]
\end{refsection}
\begin{refsection}
Some more text \autocite{Z00,C03}
\printbibliography[title={References2},resetnumbers=false]
\end{refsection}
\end{document}
结果: