我希望有一份由两部分组成的文档,具有共同的书目,但排序基于第二部分的出现顺序。在我看来,自然的做法是使用defernumbers=true
第一部分并\printbibliography
打印第二部分的内容(我将第二部分放在第一refsegment
部分上,refsection
因为我想要一个共同的书目)。
然而我得到的输出是
一[1][2]二[1][3][4][2]
我希望
一[1][4]二[1][2][3][4]
参考文献的顺序主要由第二部分出现的顺序决定。
\documentclass{article}
\usepackage[
backend=biber,
citestyle=numeric,
defernumbers=true,
refsegment=section,
sorting=none
]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
\section{One}
\cite{bertram}\cite{doody}
\section{Two}
\cite{bertram}\cite{glashow}\cite{gillies}\cite{doody}
\printbibliography[segment=2]
\end{document}
是否可以按文档中途给定点之后的首次出现进行排序?
动机是准备一份带有一些封面说明的单一文档,其中第一部分可以引用与主文档相同的参考书目,但也可以删除,并且主文档看起来完整(即,第二部分+参考书目无论是否与第一部分编译看起来相同,参考书目中的引用顺序由它们在第二部分中被引用的顺序决定)。
答案1
只需从辅助文件中复制 biblatex 添加的内容以停止标题中的引用计数,如果将它们复制到表格列表中,则会导致
\documentclass{article}
\usepackage[
backend=biber,
citestyle=numeric,
defernumbers=true,
refsegment=section,
sorting=none
]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
\section{One}
\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\boolfalse{citetracker}
\cite{bertram}\cite{doody}
\section{Two}
\booltrue {citerequest}\booltrue {citetracker}\booltrue {pagetracker}\booltrue {backtracker}\booltrue{citetracker}
\cite{bertram}\cite{glashow}\cite{gillies}\cite{doody}
\printbibliography[segment=2]
\end{document}
(可能有更官方的界面但是......)