
Ich verwende eine .bib
Datei, um meine Referenzen aufzulisten. Wenn ich Biber in TeXstudio ausführe, werden die Referenzen korrekt kompiliert, aber ich erhalte die folgende Warnung:
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
Ich habe mir die Datei angeschaut .bib
und nach problematischen Zeichen gesucht, kann aber nichts erkennen, was den Fehler verursachen könnte. Ich habe auch versucht, die oberste Referenz zu ersetzen, die den Fehler enthalten könnte, aber das hat nicht geholfen. Bei der in der Warnung erwähnten Datei handelt es sich anscheinend um eine Art temporäre Datei, die nach der Kompilierung wieder verschwindet (?).
So sieht meine .bib-Datei aus:
% 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.
Übersehe ich etwas?
Antwort1
Wenn Sie Ihren Code in einen Unicode-Konverter kopieren und einfügen, so dasshttps://w3c.github.io/xml-entities/unicode-names.html du wirst findendass du eine unsichtbare
U+feff ZERO WIDTH NO-BREAK SPACE
in der Schlangenachder Kommentar. Da dieses unsichtbare Zeichen von Biber nicht durch ein Kommentarzeichen verborgen wird, erzeugt es diese harmlose Warnung. (Wie BibTeX ignoriert Biber Text außerhalb von Einträgen. Aber anders als BibTeX warnt Biber vor möglichen Junk-Zeichen, es sei denn, der Text außerhalb von Einträgen ist mit als Kommentar gekennzeichnet %
. BibTeX erkennt dies nicht %
als Kommentarzeichen. SieheCodekommentare in einer Biblatex-Datei,Sind Kommentare in einer BibTeX-Datei nicht erwünscht?,Kommentieren Sie Textabschnitte in der Bib-Datei aus.)
Man kann Bibers Warnungen vor "Junk Character" immer ignorieren, sie sind nur ein Zeichen dafür, dass etwaskönntein Ihrem kann etwas falsch sein .bib
, wie eine fehlende oder falsche Klammer oder ein Komma. Aber das muss nichts Schlimmes bedeuten. Normalerweise erhalten Sie einen schwerwiegenden Fehler, wenn etwas wirklich falsch ist.
Der Trick besteht darin,Entfernen Sie das unsichtbare Zeichen
% 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},
}
Über den Kommentar an sich wird sich Biber nicht beschweren.
Beachten Sie, dass es normalerweise besser ist, die Initialen von Vornamen mit einem Punkt zu beenden, anstatt nur den Buchstaben anzugeben.
Antwort2
Ich hatte ein ähnliches Problem und konnte auch mit einem Unicode-Konverter keine Antwort finden.
Der Trick bestand darin, ein verstecktes Symbol direkt vor dem „@article“ zu löschen.
Antwort3
Hier ist ein Skript zum Drucken von Zeilen, die Nicht-ASCII-Zeichen enthalten. Es setzt voraus, dass die Zeile mit UTF-8 dekodiert werden kann:
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}')
Verwendung:python3 nonascii.py filename.bib