Caracteres de lixo no arquivo .bib

Caracteres de lixo no arquivo .bib

Estou usando um .bibarquivo 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 .bibarquivo 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

informação relacionada