
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:j
erscheint als zweiter, zwischen test:a
und test:b
; siehe folgenden Screenshot.
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=bibtex
und die Kompilierung mit bibtex
anstelle von biber
sortiert 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 intciteorder
Sortierfeld (die Reihenfolge der Einträge in einem \cite{}
) ein, das seitdem für verwendet wird sorting=none
. Allerdings wurde die Sortierung intciteorder
fü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 7942d2e
von 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 …)