
Ich habe ein kleines Problem mit biblatex
dem Paket. Beim Versuch, es zu kompilieren (mit pdflatex), wird die folgende WARN-Meldung zurückgegeben:
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
Ich habe den folgenden minimalen Code für meine Tex-Datei verwendet:
\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}
Nachfolgend präsentiere ich auch den minimalen Bib-Code mit den beiden problematischen Referenzen.
@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},
}
Anscheinend tritt das Problem auf, weil das {\'n}
Zeichen nicht in ' ' kodiert werden kann latin1
. Ich versuche, den Code zu ändern, aber ohne Erfolg. Ich wäre wirklich dankbar, wenn jemand wüsste, wie ich dieses Problem lösen könnte.
Antwort1
Diese Meldung ist nur eine Warnung und Sie können sie getrost ignorieren, wenn Sie entschieden haben, dass sich das Ergreifen dieser Maßnahme (z. B. die Verwendung von utf8
anstelle von latin1
) für Sie nicht lohnt (ich möchte hinzufügen, dass ich absolut davon überzeugt bin, dass die Kodierung aller Elemente in UTF-8 hier die beste Lösung wäre, aber Sie werden Ihre Gründe haben).
Die Warnung erfolgt, weilNist nicht in Latin-1 enthalten und kann daher nur als LaTeX-Makrokombination statt des echten Zeichens exportiert werden, wenn Sie auf Latin-1 bestehen (tatsächlich ist Biber hier etwas radikaler als wahrscheinlich nötig: es schreibt den gesamten Eintrag mit ASCII-Makros aus und nicht nur das fehlerhafte Zeichen). Dies ist unabhängig von der Eingabe der Zeichen, da Biber intern alles nach UTF-8 konvertiert, um sortieren zu können. Es geht nur darum, wie das Zeichen in die .bbl
Datei geschrieben wird, um es mit weiterverarbeiten zu können biblatex
.
Sie können die Warnung vermeiden, indem Sie Biber mit der Option anrufen --output-safechars
, also
biber --output-safechars <filename>
Dadurch bleiben alle Nicht-ASCII-Zeichen in Makroform und es wird nicht versucht, Zeichen in den Nicht-ASCII-Bereich von Latin-1 zu konvertieren. (Sie würden also einen Unterschied feststellen, .bbl
wenn Sie einen Eintrag mit ausschließlich Latin-1-Zeichen hätten.)
Beachten Sie, dass
volume = {\bfseries 80},
ist nicht sehr semantisch. Versuchen Sie
volume = {80},
mit
\DeclareFieldFormat[article,periodical]{volume}{\mkbibbold{#1}}% volume of a journal
stattdessen.