![Bug com o biber 2.15 no Windows com arquivos bib grandes](https://rvso.com/image/420770/Bug%20com%20o%20biber%202.15%20no%20Windows%20com%20arquivos%20bib%20grandes.png)
Acabei de atualizar minha distribuição MikTeX e agora estou executando biber
2.15 com biblatex
3.15a. E de repente, me deparo com problemas. Eu tenho um arquivo bib com 1888 entradas e tentar usá-lo agora parece quebrar biblatex
, embora tenha funcionado bem em versões anteriores. Não sei se o problema está em biber
ou biblatex
, mas tente o seguinte:
Criei dois arquivos bib do original, disponíveisaquieaqui. Com o seguinte MWE funciona bem e ambas as citações são resolvidas:
\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}
No entanto, quando combino os dois arquivos bib em um e tento compilar com ele, nenhuma das citações é resolvida. Como funciona bem ao dividir o banco de dados em dois, não consigo ver nenhum outro motivo para esse comportamento além do novo biber
ou biblatex
ter um limite de tamanho de arquivo/número de entrada no arquivo bib. Não a quantidade de entradas realmente citadas, veja bem (como foi em bibtex
), mas o grande número de entradas no banco de dados. Ou estou esquecendo alguma coisa? Qualquer ajuda seria muito apreciada.
EDITAR 1:
Aqui está o .blg
arquivo. Na verdade, há uma mensagem de erro "[1095]", mas não consigo entender:
[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
EDITAR 2:
Agora identifiquei o comprimento limite. O arquivo disponívelaquicontém tantas entradas quanto consigo processar. Ele contém 1.477 entradas, 25.026 linhas e 1.048.339 bytes. Este arquivo simplesmente funciona, mas assim que eu adicionar apenas mais uma entrada simulada como
@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}
}
Eu recebo o mesmo erro acima. Este parece ser o limite de comprimento com o qual biblatex
funciona corretamente.
EDITAR 3:
Aquié o arquivo completo que não funciona diretamente do JabRef (como .bib) sem nenhuma alteração. Eaquié o mesmo arquivo que o dump hexadecimal exportado com o Cygwin.
Responder1
De acordo com novos testes de Ulrike Fischer, agora é razoavelmente certo que se trata de um bug na nova versão do biber, que quebra em um determinado tamanho de arquivo bib:
https://github.com/plk/biber/issues/332
EDITAR:
Por enquanto, existem duas soluções possíveis
- Divida seu
bib
arquivo em vários arquivos, cada um com tamanho <1 MB - Utilize a atual versão de desenvolvimento 2.16 do biber, disponível emsourceforge, onde o bug foi corrigido.
EDITAR 2:
O biber 2.16 foi lançado em abril de 2021. Arquivos bib de até 100 MB agora devem ser suportados. Se você enfrentar esse problema em seu sistema, certifique-se de usar o Biber 2.16 ou superior.
Responder2
Não posso escrever comentários (ainda) como resposta: isso parece um problema específico do sistema operacional. Testei no Linux sem problemas. Há um problema muito recente relatado no rastreador de problemas do GitHub (https://github.com/plk/biber/issues/332) semelhante ao seu problema e pode estar relacionado aos marcadores EOL. Você poderia verificar se a solução no rastreador de problemas funciona para você? Em particular, o usuário relatou que a conversão para marcadores EOL somente LF resolveu o problema.
Responder3
eu seguiessepara basicamente ter certeza de que meu EOL era LF em vez de CRLF e isso resolveu meus problemas, além de garantir que meu arquivo fosse codificado como UTF-8.
Responder4
Tenho um arquivo bib com mais de 4.500 entradas que funciona perfeitamente com TexLive2019 e TexStudio 3.0.1 no Windows 10. Quando mudei para um computador Windows 10 diferente, baixei o TexLive2020 e o TexStudio 3.0.1. Imediatamente recebi esse erro ao tentar compilar meu documento. É o mesmo arquivo bib em execução nas duas máquinas porque eu baixei-o do Google Drive. Portanto, isso definitivamente parece ser um bug e não um problema de codificação de arquivo.
EDIT: usei Notepad++ e JABREF para dividir o arquivo em três arquivos .bib e depois usei um \addbibresource{} para cada parte no TexStudio. (Não consegui reconhecer os três nomes de arquivos em um único comando add sem espaços e uma vírgula entre os arquivos.) Agora ele funciona como deveria.