我正在尝试将我的参考书目分成两部分。第一部分是文档中某个特殊部分的本地部分,另一部分负责其余的引用。这两个参考书目可能有共同的引用,在这种情况下,我希望重复该条目。问题是,我还希望全局参考书目(位于本地参考书目之后)从本地参考书目中使用的最后一个数字开始编号。
展示此方法的 MWE 如下:
\documentclass{scrartcl}
\usepackage[
backend=biber,
bibencoding=utf8,
style=numeric,
firstinits=true,
isbn=false,
doi=true,
url=false,
clearlang=true,
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,
author = {Cuthor, C.},
year = {2003},
title = {Charlie},
}
@misc{D04,
author = {Duthor, D.},
year = {2004},
title = {Delta},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\section{First}
\begin{refsection}
Some text \autocite{A01,C03,D04}.
\printbibliography[heading=subbibliography]
\end{refsection}
\section{Second}
Some text \autocite{A01,B02}.
\printbibliography[resetnumbers=4,heading=subbibliography]
\end{document}
这种行为是我想要的,但代价是我必须手动将选项设置resetnumbers
为本地书目中的最后一个数字加一。
问题:有没有办法避免手动设置重启号码?
理想情况下,我希望看到一个按预期使用 Biblatex 选项的解决方案,而不是获取本地参考书目中最后一个参考的计数器值并将其粘贴到选项中resetnumbers
。
编辑:我愿意接受以下任何一种方式来处理两个书目中的重复条目(例如 MWE 中的 A01):
- 条目显示在两个参考书目中,但编号不同,按照每个参考书目的顺序排列。或者,
- 该条目仅显示在第一个参考书目中,相关编号用于所有后续引用。
答案1
这并不是我们想要的行为,但最好为同一篇论文分配相同的编号?无论哪种方式,这都是一个很好的起点,而且评论太长了。
\documentclass{scrartcl}
\usepackage[
backend=biber,
style=numeric,
defernumbers=true
]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{D04,
author = {Duthor, D.},
year = {2004},
title = {Delta},
}
@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}
\addbibresource{\jobname.bib}
\begin{document}
\section{First}
\begin{refsegment}
Some text \cite{A01,C03,D04}.
\printbibliography[segment=1]
\end{refsegment}
\begin{refsegment}
\section{Second}
Some text \cite{A01,B02}.
\printbibliography[segment=2]
\end{refsegment}
\end{document}
它使用refsegments
而不是refsections
。