
Estou usando um .bib
arquivo para listar minhas referências. Quando executo o Biber no TeXstudio as referências são compiladas corretamente, mas recebo o seguinte aviso:
WARN - BibTeX subsystem: C:\Users\[user]\AppData\Local\Temp\biber_tmp_WQTH\thesis_references.bib_15484.utf8, line 4, warning: 3 characters of junk seen at toplevel
Dei uma olhada no .bib
arquivo e procurei caracteres problemáticos, mas não consigo ver nada que possa estar causando o erro. Também tentei substituir a referência superior que pode conter o erro, mas não ajudou. O arquivo mencionado no aviso parece ser algum tipo de arquivo temporário que desaparece novamente após a compilação (?).
Esta é a aparência do meu arquivo .bib:
% Encoding: UTF-8
@article{aguzzi2013microglia,
title={Microglia: scapegoat, saboteur, or something else?},
author={Aguzzi, Adriano and Barres, Ben A and Bennett, Mariko L},
journal={Science},
volume={339},
number={6116},
pages={156--161},
year={2013},
publisher={American Association for the Advancement of Science}
}
etc.
Estou esquecendo de algo?
Responder1
Se você copiar e colar seu código em um conversor Unicode de forma quehttps://w3c.github.io/xml-entities/unicode-names.html você encontraráque você tem um invisível
U+feff ZERO WIDTH NO-BREAK SPACE
na linhadepoiso comentário. Como esse caractere invisível não está oculto do Biber com um caractere de comentário, ele produz este aviso inofensivo. (Como o BibTeX, o Biber ignora o texto fora das entradas. Mas, ao contrário do BibTeX, o Biber avisa sobre possíveis caracteres inúteis, a menos que o texto fora das entradas seja marcado como um comentário com %
. O BibTeX não reconhece %
como um caractere de comentário. Consultecomentários de código em um arquivo biblatex,Os comentários são desencorajados em um arquivo BibTeX?,Comente seções de texto no arquivo bib.)
Você sempre pode optar por ignorar os avisos de "personagem lixo" de Biber, eles são apenas um sinal de que algopoderestar errado em seu .bib
, como uma chave ou vírgula ausente ou espúria. Mas isso não precisa significar nada de ruim. Normalmente você receberá um erro grave se algo estiver realmente errado.
O truque éremova o personagem invisível
% Encoding: UTF-8
@article{aguzzi2013microglia,
title = {Microglia: scapegoat, saboteur, or something else?},
author = {Aguzzi, Adriano and Barres, Ben A. and Bennett, Mariko L.},
journal = {Science},
volume = {339},
number = {6116},
pages = {156--161},
year = {2013},
}
Biber não reclamará do comentário em si.
Observe que geralmente é melhor terminar as iniciais do nome com um ponto em vez de apenas fornecer a letra.
Responder2
Tive um problema semelhante e não consegui encontrar nenhuma resposta, mesmo com um conversor Unicode.
O truque foi excluir um símbolo oculto bem na frente do "@artigo".
Responder3
Aqui está um script para imprimir linhas com caracteres não-ascii. Assume que a linha pode ser decodificada usando UTF-8:
import sys
with open(sys.argv[1], 'rb') as f:
data = f.readlines()
for n, line in enumerate(data):
try:
line.decode('ascii')
except UnicodeDecodeError as e:
line = line.decode('utf-8')
print(f'{n}: {line}')
print(f' ^-- {e}')
Uso:python3 nonascii.py filename.bib