`sorting=none`을 사용하면 하나의 \cite{}에서 10개 이상의 참조에 대해 잘못된 순서가 발생합니다.

`sorting=none`을 사용하면 하나의 \cite{}에서 10개 이상의 참조에 대해 잘못된 순서가 발생합니다.

BibLaTeX를 사용하여 참고문헌을 만들고 싶고, 참고문헌이 인용 순서대로 표시되기를 원하므로 패키지 옵션을 사용합니다 sorting=none. 그러나 내 문서의 한 지점에서 한 명령으로 10개의 참고 문헌을 동시에 인용해야 합니다 \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:atest:b

편집 결과, 참고문헌 순서가 잘못됨

제가 보기에는 참고문헌을 작성하는 과정 중 어느 시점에서 참조가 명령에서의 위치에 따라 정렬되는 것 같습니다 \cite{}.숫자로가 아니라 사전순으로, 참조 번호가 발생합니다. 10번 사이에 나타납니다. 1과 아니오. 2.

흥미롭게도 이것은 일종의 Biber 문제인 것 같습니다. 참고 문헌을 올바르게 정렬하는 대신 BibLaTeX를 사용 backend=bibtex하고 컴파일하는 것입니다 .bibtexbiber

제가 간과한 것이 있거나 Biber에서 버그를 발견한 것인가요?

(저는 Biber 버전 2.18 및 BibLaTeX 버전 3.18b가 설치된 TeX Live 2022를 사용하고 있습니다.)

답변1

이는 v2.19에서 해결된 Biber v2.18의 버그로 인해 발생합니다.

Biber 2.18에는 intciteorder정렬 필드(하나의 항목 순서 \cite{})가 도입되었으며 이후 sorting=none. 그러나 정렬이 intciteorder정수가 아닌 문자열로 잘못 처리되어 질문에 설명된 잘못된 정렬 동작이 발생했습니다. 이것은 수정되었습니다.7942d2e비버의 헌신, Biber v2.19에 통합되었습니다.

(그래서 [Debian stable을 사용하는 동안] TeX Live 2023으로 업데이트하거나 다른 해결 방법을 찾아야 합니다…)

관련 정보