
Я использую .bib
файл для списка моих ссылок. Когда я запускаю Biber в TeXstudio, ссылки компилируются правильно, но я получаю следующее предупреждение:
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
Я посмотрел файл .bib
и поискал проблемные символы, но не вижу ничего, что могло бы вызвать ошибку. Я также попытался заменить верхнюю ссылку, которая может содержать ошибку, но это не помогло. Файл, упомянутый в предупреждении, похоже, является каким-то временным файлом, который снова исчезает после компиляции (?).
Вот как выглядит мой файл .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.
Я что-то пропустил?
решение1
Если вы скопируете и вставите свой код в конвертер Unicode таким образом, чтоhttps://w3c.github.io/xml-entities/unicode-names.html ты найдешьчто у вас есть невидимый
U+feff ZERO WIDTH NO-BREAK SPACE
в линиипослекомментарий. Поскольку этот невидимый символ не скрыт от Biber с помощью символа комментария, он выдает это безобидное предупреждение. (Как BibTeX Biber игнорирует текст за пределами записей. Но в отличие от BibTeX Biber предупреждает о возможных нежелательных символах, если только текст за пределами записей не помечен как комментарий с помощью %
. BibTeX не распознает %
как символ комментария. Смотритекомментарии к коду в файле biblatex,Не приветствуются ли комментарии в файле BibTeX?,Закомментируйте разделы текста в файле bib.)
Вы всегда можете проигнорировать предупреждения Бибера о «мусорном персонаже», они всего лишь признак того, что что-томощьбыть неправильным в вашем .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},
}
Бибер не будет жаловаться на комментарий как таковой.
Обратите внимание, что обычно лучше заканчивать инициалы имени точкой, а не просто указывать букву.
решение2
У меня была похожая проблема, и я не смог найти ответа, даже с помощью конвертера Unicode.
Хитрость заключалась в удалении скрытого символа прямо перед «@article».
решение3
Вот скрипт для печати строк с не-ASCII символами. Он предполагает, что строка может быть декодирована с помощью 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}')
Использование:python3 nonascii.py filename.bib