큰 bib 파일이 있는 Windows에서 biber 2.15의 버그

큰 bib 파일이 있는 Windows에서 biber 2.15의 버그

방금 MikTeX 배포판을 업데이트했고 현재 3.15a biber와 함께 2.15를 실행하고 있습니다 biblatex. 그리고 갑자기 문제가 생겼습니다. 1888개의 항목이 포함된 턱받이 파일이 있는데, biblatex이전 버전에서는 잘 작동했지만 지금은 이를 사용하려고 하면 중단되는 것 같습니다. 문제가 biber또는 에 있는지는 모르겠지만 biblatex다음을 시도해 보십시오.

원래 파일에서 두 개의 턱받이 파일을 만들었습니다.여기그리고여기. 다음 MWE를 사용하면 제대로 작동하며 두 인용이 모두 해결됩니다.

\documentclass{article}
\usepackage[french, german, UKenglish]{babel}
\usepackage[backend=biber, style=authoryear]{biblatex}
\addbibresource{Test.bib}
\addbibresource{Test2.bib}

\begin{document}
Let's test: \textcite{Arnold2002}, \textcite{Setty1973}

\printbibliography
\end{document}

그러나 두 bib 파일을 하나로 결합하여 컴파일하려고 하면 인용이 해결되지 않습니다. 데이터베이스를 두 개로 분할하면 제대로 작동하므로 새로운 동작 biber이나 biblatexbib 파일의 파일 크기/항목 수 제한이 있는 것 외에는 이 동작에 대한 다른 이유를 볼 수 없습니다 . 실제로 인용된 항목의 양이 아니라 bibtex데이터베이스에 있는 항목의 개수입니다. 아니면 뭔가를 간과하고 있습니까? 어떤 도움이라도 대단히 감사하겠습니다.

편집 1:

여기에 -파일이 있습니다 .blg. 실제로 "[1095]"라는 오류 메시지가 있지만 이해할 수 없습니다.

[0] Config.pm:312> INFO - This is Biber 2.15 (beta)
[0] Config.pm:315> INFO - Logfile is 'DatabaseTest.blg'
[311] biber-MSWIN64:330> INFO - === 
[385] Biber.pm:415> INFO - Reading 'DatabaseTest.bcf'
[882] Biber.pm:952> INFO - Found 2 citekeys in bib section 0
[998] Biber.pm:4334> INFO - Processing section 0
[1068] Biber.pm:4523> INFO - Looking for bibtex format file 'TestFull.bib' for section 0
[1095] Utils.pm:411> ERROR - Data file 'TestFull.bib' cannot be read in encoding 'utf8': Wide character at C:\Users\Manue\AppData\Local\Temp\par-4d616e7565\cache-b32225defac3568d1e921af5a7245ca571b236aa\inc\lib/Win32/Unicode/File.pm line 163.
[1095] Biber.pm:132> INFO - ERRORS: 1

편집 2:

이제 한계 길이를 확인했습니다. 사용 가능한 파일여기내가 처리할 수 있는 만큼의 항목이 포함되어 있습니다. 여기에는 1477개 항목, 25026개 라인, 1,048,339바이트가 포함됩니다. 이 파일은 제대로 작동하지만 다음과 같은 모의 항목을 하나 더 추가하자마자

@Article{Test3,
  author       = {Author, A. and Author B. and Author, C.},
  date         = {2020},
  journaltitle = {A Journal},
  title        = {A nice title of a certain topic which I cannot even imagine},
  issue        = {3},
  pages        = {1--18},
  volume       = {12}
}

위와 같은 오류가 발생합니다. 이것은 제대로 작동하는 길이 제한인 것 같습니다 biblatex.

편집 3:

여기변경 사항 없이 JabRef(.bib)에서 직접 작동하지 않는 전체 파일입니다. 그리고여기Cygwin으로 내보낸 hex dump와 동일한 파일입니다.

답변1

Ulrike Fischer의 새로운 실험에 따르면, 이는 특정 bib 파일 크기에서 중단되는 새로운 버전의 biber의 버그임이 합리적으로 확실합니다.

https://github.com/plk/biber/issues/332

편집하다:

현재로서는 두 가지 가능한 수정 방법이 있습니다.

  1. bib-file을 각각 크기가 1MB 미만인 여러 파일로 분할하세요.
  2. 다음에서 사용 가능한 현재 개발 버전인 biber 2.16을 사용하세요.소스포지, 버그가 수정되었습니다.

편집 2:

biber 2.16은 2021년 4월에 출시되었습니다. 이제 최대 100MB의 bib 파일이 지원됩니다. 시스템에서 이 문제가 발생하는 경우 biber 2.16 이상을 사용해야 합니다.

답변2

(아직) 코멘트를 쓸 수 없습니다. 답변: 이는 OS 관련 문제인 것 같습니다. 문제없이 Linux에서 테스트했습니다. github 이슈 트래커에 최근 보고된 문제가 있습니다(https://github.com/plk/biber/issues/332) 귀하의 문제와 유사하며 EOL 마커와 관련이 있을 수 있습니다. 이슈 트래커의 솔루션이 귀하에게 적합한지 확인해 주시겠습니까? 특히 해당 사용자는 LF 전용 EOL 마커로 변환하면 문제가 해결되었다고 보고했습니다.

답변3

나는 팔로우했다이것기본적으로 내 EOL이 CRLF가 아닌 LF인지 확인하고 이를 통해 내 문제를 정리하고 내 파일이 UTF-8로 인코딩되었는지 확인했습니다.

답변4

Windows 10에서 TexLive2019 및 TexStudio 3.0.1과 완벽하게 작동하는 4500개 이상의 항목이 포함된 bib 파일이 있습니다. 다른 Windows 10 컴퓨터로 이동했을 때 TexLive2020 및 TexStudio 3.0.1을 다운로드했습니다. 내 문서를 컴파일하려고 할 때 즉시 이 오류가 발생했습니다. Google 드라이브에서 다운로드했기 때문에 두 컴퓨터에서 실행되는 동일한 bib 파일입니다. 따라서 이것은 확실히 파일 인코딩 문제라기보다는 버그인 것 같습니다.

편집: 저는 Notepad++와 JABREF를 사용하여 파일을 세 개의 .bib 파일로 분할한 다음 TexStudio의 각 부분에 \addbibresource{}를 사용했습니다. (파일 사이에 공백과 쉼표가 없는 단일 add 명령에서 세 개의 파일 이름을 인식하도록 할 수 없었습니다.) 이제 정상적으로 실행됩니다.

관련 정보