`sorting=none` führt zu einer falschen Reihenfolge für zehn oder mehr Referenzen in einem \cite{}

`sorting=none` führt zu einer falschen Reihenfolge für zehn oder mehr Referenzen in einem \cite{}

Ich möchte mit BibLaTeX eine Bibliographie erstellen und da ich die Referenzen in der Reihenfolge der Zitate anzeigen lassen möchte, verwende ich die Paketoption sorting=none. An einer Stelle in meinem Dokument muss ich jedoch zehn Referenzen auf einmal, also mit einem \cite{}Befehl, zitieren. In diesem Fall geht die (Nicht-)Sortierung in der Bibliographie schief.

Ein minimales funktionierendes Beispiel sieht wie folgt aus:

\begin{filecontents}[overwrite]{test.bib}
@article{test:a, title = {Test a}}
@article{test:b, title = {Test b}}
@article{test:c, title = {Test c}}
@article{test:d, title = {Test d}}
@article{test:e, title = {Test e}}
@article{test:f, title = {Test f}}
@article{test:g, title = {Test g}}
@article{test:h, title = {Test h}}
@article{test:i, title = {Test i}}
@article{test:j, title = {Test j}}
\end{filecontents}

\documentclass{article}

\usepackage[sorting=none]{biblatex}
\addbibresource{test.bib}

\begin{document}
Tests are great \cite{test:a,test:b,test:c,test:d,test:e,test:f,test:g,test:h,test:i,test:j}.

\printbibliography
\end{document}

Das Kompilieren (mit pdflatex, biber, pdflatex, pdflatex) führt zu einer Bibliografie, in der die Referenzen in der falschen Reihenfolge erscheinen: Der 10. Eintrag test:jerscheint als zweiter, zwischen test:aund test:b; siehe folgenden Screenshot.

Kompilierungsergebnis mit falscher Bibliographiereihenfolge

Mir scheint, dass irgendwann im Prozess der Erstellung der Bibliographie die Referenzen nach ihrer Position im \cite{}Befehl sortiert werdennicht numerisch, sondern lexikographisch, sodass die Referenznummer 10 zwischen Nr. 1 und Nr. 2 erscheint.

Interessanterweise scheint dies eine Art Biber-Problem zu sein: Die Verwendung von BibLaTeX mit backend=bibtexund die Kompilierung mit bibtexanstelle von bibersortiert die Bibliografie richtig.

Habe ich etwas übersehen oder einen Fehler in Biber gefunden?

(Ich verwende TeX Live 2022 mit Biber Version 2.18 und BibLaTeX Version 3.18b.)

Antwort1

Dies wird durch einen Fehler in Biber v2.18 verursacht, der in v2.19 behoben wurde.

Biber 2.18 führte das intciteorderSortierfeld (die Reihenfolge der Einträge in einem \cite{}) ein, das seitdem für verwendet wird sorting=none. Allerdings wurde die Sortierung intciteorderfür fälschlicherweise als Zeichenfolge und nicht als Ganzzahl behandelt, was genau zu dem in der Frage beschriebenen falschen Sortierverhalten führte. Dies wurde korrigiert inBekenntnis 7942d2evon Biber, die in Biber v2.19 integriert wurde.

(Also muss ich entweder auf TeX Live 2023 aktualisieren [während ich auf Debian Stable bin] oder einen anderen Workaround finden …)

verwandte Informationen