`sorting=none` приводит к неправильному порядку десяти и более ссылок в одном \cite{}

`sorting=none` приводит к неправильному порядку десяти и более ссылок в одном \cite{}

Я хочу создать библиографию с помощью BibLaTeX, и поскольку я хочу, чтобы ссылки отображались в порядке цитирования, я использую опцию пакета sorting=none. Однако в одном месте моего документа мне нужно процитировать десять ссылок одновременно, т. е. одной \cite{}командой. В этом случае (отсутствие) сортировки в библиографии идет не так.

Минимальный рабочий пример выглядит следующим образом:

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

Составление этого (с pdflatex, biber, pdflatex, pdflatex) приводит к библиографии, в которой ссылки появляются в неправильном порядке: 10-я запись test:jпоявляется второй, между test:aи test:b; см. следующий снимок экрана.

Результат компиляции с неправильным порядком библиографии

Мне кажется, что на каком-то этапе процесса создания библиографии ссылки сортируются по их положению в \cite{}командене численно, а лексикографически, в результате чего ссылка № 10 появляется между № 1 и № 2.

Интересно, что это, похоже, какая-то проблема Бибера: использование BibLaTeX с backend=bibtexи компиляция с bibtexвместо biberсортирует библиографию правильно.

Я что-то упустил или нашел ошибку в Biber?

(Я использую TeX Live 2022 с Biber версии 2.18 и BibLaTeX версии 3.18b.)

решение1

Это вызвано ошибкой в ​​Biber v2.18, которая была исправлена ​​в v2.19.

Biber 2.18 ввел intciteorderполе сортировки (порядок записей в одном \cite{}), которое с тех пор использовалось для sorting=none. Однако для сортировки intciteorderошибочно рассматривалось как строка, а не целое число, что привело к как раз неправильному поведению сортировки, описанному в вопросе. Это было исправлено всовершение 7942d2eБибера, который был включен в Biber v2.19.

(Поэтому мне нужно либо обновиться до TeX Live 2023 [пока я использую Debian Stable], либо найти другой обходной путь…)

Связанный контент