有两个参考文献列表,每个列表按名称排序

有两个参考文献列表,每个列表按名称排序

我想要两个参考文献列表:一个针对特定作者(假设为 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

相关内容