
У меня небольшая проблема с biblatex
пакетом. Когда я пытаюсь скомпилировать (с помощью pdflatex), возвращается следующее сообщение WARN:
Process started: biber.exe AuxDirectory/"example"
INFO - This is Biber 2.12
INFO - Logfile is 'AuxDirectory/example.blg'
INFO - Reading 'AuxDirectory/example.bcf'
INFO - Found 2 citekeys in bib section 0
INFO - Processing section 0
INFO - Looking for bibtex format file 'example.bib' for section 0
INFO - LaTeX decoding ...
INFO - Found BibTeX data source 'example.bib'
INFO - Overriding locale 'pt-BR' defaults 'variable = shifted' with 'variable = non-ignorable'
INFO - Overriding locale 'pt-BR' defaults 'normalization = NFD' with 'normalization = prenormalized'
INFO - Sorting list 'none/global//global/global' of type 'entry' with template 'none' and locale 'pt-BR'
INFO - No sort tailoring available for locale 'pt-BR'
INFO - Writing 'AuxDirectory/example.bbl' with encoding 'latin1'
WARN - The entry 'Adam2009' has characters which cannot be encoded in 'latin1'.
- Recoding problematic characters into macros.
WARN - The entry 'Adam2010' has characters which cannot be encoded in 'latin1'.
- Recoding problematic characters into macros.
INFO - Output to AuxDirectory/example.bbl
INFO - WARNINGS: 2
Process exited normally
Я использовал следующий минимальный код для своего tex-файла:
\documentclass[a4paper,twoside,openright,final]{memoir}%
\usepackage{fouriernc}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{lastpage}
\usepackage{indentfirst}
\usepackage[backend=biber,style=numeric-comp,sorting=none,sortlocale=auto,bibencoding=auto,backref=true,date=year]%
{biblatex}
\usepackage{url}
\usepackage[english,brazilian]{babel}
\usepackage{csquotes}
\settrimmedsize{297mm}{210mm}{*}
\setlength{\trimtop}{0pt}
\setlength{\trimedge}{\stockwidth}
\addtolength{\trimedge}{-\paperwidth}
\settypeblocksize{247mm}{160mm}{*}
\setulmargins{3cm}{*}{*}
\setlrmargins{*}{*}{1.5}
\setmarginnotes{17pt}{51pt}{\onelineskip}
\setheadfoot{\onelineskip}{2\onelineskip}
\setheaderspaces{*}{2\onelineskip}{*}
\checkandfixthelayout
\frenchspacing
\addbibresource{example.bib}
\makeatother
\begin{document}
\cite{Adam2009}
\cite{Adam2010}
\printbibliography
\end{document}
Ниже я также представляю минимальный bib-код с двумя проблемными ссылками.
@Article{Adam2009,
author = {Adam, C. and Klimas, P. and S{\'a}nchez-Guill{\'e}n, J. and Wereszczy{\'n}ski, A.},
title = {Compact baby Skyrmions},
journal = {Physical Review D},
year = {2009},
volume = {\bfseries 80},
issue = {10},
month = {11},
pages = {105013},
doi = {10.1103/PhysRevD.80.105013},
url = {https://link.aps.org/doi/10.1103/PhysRevD.80.105013},
urldate = {2019-01-31},
numpages = {14},
publisher = {American Physical Society},
}
@Article{Adam2010,
author = {Adam, C. and Roma{\'n}czukiewicz, T. and S{\'a}nchez-Guill{\'e}n, J. and Wereszczy{\'n}ski, A.},
title = {Investigation of restricted baby Skyrme models},
journaltitle = {Phys.ical Review D},
year = {2010},
volume = {\bfseries 81},
number = {8},
month = {4},
pages = {085007},
doi = {10.1103/PhysRevD.81.085007},
url = {https://link.aps.org/doi/10.1103/PhysRevD.81.085007},
urldate = {2019-01-31},
numpages = {10},
publisher = {American Physical Society},
}
Видимо, проблема возникает из-за того, что {\'n}
символ не может быть закодирован в ' latin1
'. Я пытаюсь изменить код, но безуспешно. Я буду искренне благодарен, если кто-то узнает, как решить эту проблему.
решение1
Это сообщение — всего лишь предупреждение, и его можно смело игнорировать, если вы решили, что предпринимать какие-либо действия (например, использовать utf8
вместо latin1
) не стоит (позвольте мне добавить, что я абсолютно уверен, что кодирование всего в UTF-8 было бы здесь наилучшим решением, но у вас будут свои причины).
Предупреждение появляется, потому чтонне содержится в Latin-1 и, таким образом, может быть экспортирован только как комбинация макросов LaTeX вместо реального символа, если вы настаиваете на Latin-1 (на самом деле Biber немного более радикален, чем, вероятно, необходимо здесь: он выпишет всю запись с ASCII-макросами, а не только проблемный символ). Это не зависит от ввода символов, поскольку Biber преобразует все в UTF-8 внутренне, чтобы иметь возможность выполнять сортировку. Он касается только того, как символ записывается в файл .bbl
для дальнейшей обработки с помощью biblatex
.
Вы можете избежать предупреждения, вызвав Biber с опцией --output-safechars
, например
biber --output-safechars <filename>
Это оставит все символы, не входящие в ASCII, в форме макроса и не будет пытаться преобразовать какие-либо символы в диапазон Latin-1, не входящий в ASCII. (Так что вы увидите разницу, .bbl
если бы у вас была запись, содержащая только символы Latin-1.)
Обратите внимание, что
volume = {\bfseries 80},
не очень семантично. Попробуйте
volume = {80},
с
\DeclareFieldFormat[article,periodical]{volume}{\mkbibbold{#1}}% volume of a journal
вместо.