0

I want to have two lists of references: One for a specific author (let's say Victor) and another for all other authors. Based on this question, I came up with this example

\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}

which works well. However, I would like to have the citation numbers be increasing across the two lists. There are two cases I am particularly interested in:

  • sorting=none. In this case, since sorting is based on citation order, I could force the output I am after by adding \nocite{sorace,padhye} at the very beginning. However, I am wondering if there's a way to avoid having to maintain a list of citations at the beginning of the document (or alternatively, is there a way to call nocite on all references with a particular keyword?).
  • sorting=ynt. In this case, I want the order within each list to be ynt, but the citation number must be increasing across lists.

Is either of these cases possible to resolve?

Tohiko
  • 1,789
  • 1
    Regardless of the sorting setting you can get increasing numbers in disjoint bibliographies (like this one) with the option defernumbers=true,. – moewe May 13 '22 at 19:15
  • Yes, defernumbers=true works exactly as I want. Thanks! – Tohiko May 14 '22 at 09:56

1 Answers1

1

Independent of the selected sorting template, most split bibliography setups (that are non-overlapping) benefit from defernumbers=true,. That option will make sure that the numbering of your references follows the appearance in the bibliography and not the global sort order.

\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}

Increasing numbers in bibliography

defernumbers uses the .aux file and may therefore need additional LaTeX runs (if more runs are required, this will be mentioned in the .log file). Sometimes the numbering might "get stuck" if you change sort options or have (unrelated) LaTeX errors, in that case it may help to delete the .aux file (and for good measure also the .bbl and .bcf) and recompile.

moewe
  • 175,683