我想要两个参考文献列表:一个针对特定作者(假设为 Victor),另一个针对所有其他作者。基于此问题,我想到这个例子
\documentclass{article}
\usepackage[
style=numeric-comp,
sorting=ynt,%sorting=none,
sortcites=true,
maxnames=99,
]{biblatex}
\addbibresource{biblatex-examples.bib}
% https://tex.stackexchange.com/questions/125744/
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{\step[fieldsource=author,match=Victor,final]
\step[fieldset=keywords, fieldvalue=victor]}}}
\defbibcheck{victors}{%
\ifkeyword{victor}{}{\skipentry}}%
\defbibcheck{notvictors}{%
\ifkeyword{victor}{\skipentry}{}}%
\begin{document}
% \nocite{sorace,padhye} % Possible fix?
Some items are cited \cite{sorace} More items \cite{aksin,vazques-de-parga,wassenberg}
Even more item \cite{padhye} and \cite{almendro,kowalik,laufenberg}.
\medskip
\printbibliography[title={The Victors},check=victors]
\printbibliography[title={And the Victors not},check=notvictors]
\end{document}
效果很好。但是,我希望两个列表中的引用数量增加。有两种情况我特别感兴趣:
sorting=none
。在这种情况下,由于排序是基于引用顺序的,因此我可以通过添加\nocite{sorace,padhye}
在最开头来强制输出我想要的输出。但是,我想知道是否有办法避免在文档开头维护引用列表(或者,是否有办法使用nocite
特定关键字调用所有引用?)。sorting=ynt
。在这种情况下,我希望每个列表内的顺序为ynt
,但引用次数必须在列表间增加。
这两种情况都有可能解决吗?
答案1
独立于所选sorting
模板,大多数拆分参考书目设置(不重叠)都受益于defernumbers=true,
。该选项将确保参考文献的编号遵循参考书目中的显示,而不是全局排序顺序。
\documentclass{article}
\usepackage[
style=numeric-comp,
sorting=ynt,%sorting=none,
defernumbers=true,
maxnames=99,
]{biblatex}
\addbibresource{biblatex-examples.bib}
% https://tex.stackexchange.com/questions/125744/
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{\step[fieldsource=author,match=Victor,final]
\step[fieldset=keywords, fieldvalue=victor]}}}
\defbibcheck{victors}{%
\ifkeyword{victor}{}{\skipentry}}%
\defbibcheck{notvictors}{%
\ifkeyword{victor}{\skipentry}{}}%
\begin{document}
% \nocite{sorace,padhye} % Possible fix?
Some items are cited \cite{sorace} More items \cite{aksin,vazques-de-parga,wassenberg}
Even more item \cite{padhye} and \cite{almendro,kowalik,laufenberg}.
\medskip
\printbibliography[title={The Victors},check=victors]
\printbibliography[title={And the Victors not},check=notvictors]
\end{document}
defernumbers
使用该.aux
文件,因此可能需要额外的 LaTeX 运行(如果需要更多运行,文件中会提到)。有时,如果您更改排序选项或出现(不相关的)LaTeX 错误,编号可能会“卡住”,在这种情况下,删除该文件(以及和)并重新编译.log
可能会有所帮助。.aux
.bbl
.bcf