Nicht-ASCII-Zeichen in Biblatex

Nicht-ASCII-Zeichen in Biblatex

Ich verwende biblatexmit backend=biberund der folgenden .bibDatei:

@article{concellon_synthesis_2006,
    title = {Synthesis of Enantiopure ({αS,βS)-} or ({αR,βS)-β-Amino} Alcohols by Complete Regioselective Opening of Aminoepoxides by Organolithium Reagents {LiAlH4} or {LiAlD4}},
    volume = {71},
    number = {17},
    journal = {J. Org. Chem.},
    author = {Concellón, José M. and Bernad, Pablo L. and del Solar, Virginia and Suárez, José Ramón and García-Granda, Santiago and Díaz, M. Rosario},
    month = aug,
    year = {2006},
    pages = {6420--6426},
}

Ich kann dies erfolgreich mit kompilieren biber, aber dann pdflatexschlägt der Befehl aufgrund des αund βin der .bblDatei fehl. Ich bin erstaunt darüber, dass es für dieses Problem anscheinend keine elegante Lösung gibt, obwohl dies zumindest in der wissenschaftlichen Literatur ein alltägliches Szenario zu sein scheint.

Welche Möglichkeiten habe ich, dieses Problem zu beheben?

Antwort1

Sie müssen den von Ihnen verwendeten Unicode-Zeichen, die nicht standardmäßig festgelegt sind, eine Bedeutung zuweisen. Hier ist eine Möglichkeit.

\begin{filecontents*}{\jobname.bib}
@article{concellon_synthesis_2006,
    title = {Synthesis of Enantiopure ({αS,βS)-} or ({αR,βS)-β-Amino} Alcohols by Complete Regioselective Opening of Aminoepoxides by Organolithium Reagents {LiAlH4} or {LiAlD4}},
    volume = {71},
    number = {17},
    journal = {J. Org. Chem.},
    author = {Concellón, José M. and Bernad, Pablo L. and del Solar, Virginia and Suárez, José Ramón and García-Granda, Santiago and Díaz, M. Rosario},
    month = aug,
    year = {2006},
    pages = {6420--6426},
}
\end{filecontents*}
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{newunicodechar}
\newunicodechar{α}{\ensuremath{\alpha}}
\newunicodechar{β}{\ensuremath{\beta}}

\usepackage{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\cite{concellon_synthesis_2006}
\printbibliography
\end{document}

Bildbeschreibung hier eingeben

Die Verwendung filecontentsdient nur dem Erhalt eines in sich geschlossenen MWE.


Eine andere Lösung besteht in der Verwendung des \textgreekPakets, das ebenfalls von erspart, newunicodecharda es die Bedeutung der griechischen Unicode-Buchstaben als gleichwertig mit ihrem \text...Gegenstück definiert. So αwird \textalpha.

\begin{filecontents*}{\jobname.bib}
@article{concellon_synthesis_2006,
    title = {Synthesis of Enantiopure ({αS,βS)-} or ({αR,βS)-β-Amino} Alcohols by Complete Regioselective Opening of Aminoepoxides by Organolithium Reagents {LiAlH4} or {LiAlD4}},
    volume = {71},
    number = {17},
    journal = {J. Org. Chem.},
    author = {Concellón, José M. and Bernad, Pablo L. and del Solar, Virginia and Suárez, José Ramón and García-Granda, Santiago and Díaz, M. Rosario},
    month = aug,
    year = {2006},
    pages = {6420--6426},
}
\end{filecontents*}
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{textgreek}

\usepackage{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\cite{concellon_synthesis_2006}
\printbibliography
\end{document}

Das Ergebnis ist

Bildbeschreibung hier eingeben

Antwort2

biber ist so konzipiert, dass es in genau dieser Situation automatisch in TeX-Makros umkodieren kann. Dies wird im biber-Handbuch erklärt - das Problem, mit dem Sie konfrontiert sind, ist eine Einschränkung von inputencPDFLaTeX, das nicht vollständig UTF-8 versteht. Laden Sie biblatex mit der safeinputencOption und rufen Sie dann biber mit der --output_safecharsset=fullOption auf. Dadurch wird alles automatisch für Sie erledigt.

Um zu den Textgreek-Varianten zu wechseln, ist es ganz einfach: Sie benötigen eine benutzerdefinierte UTF-8<->TeX-Makro-XML-Konvertierungsdatei (biber wird mit einer Standarddatei geliefert, die für die meisten Anwendungen geeignet ist). Um die Textgreek-Varianten zu verwenden, holen Sie sich diese Datei:

https://www.dropbox.com/s/ln3ht1xd9mmgu9w/recode.xml

Dann ruf Biber so an:

biber --recodedata=<path to file downloaded above>

Stellen Sie dann einfach sicher, dass Sie die Option „Biblatex“ \usepackage{textgreek}in Ihrem LaTeX-Dokument verwenden .safeinputenc

Eine viel einfachere Möglichkeit, damit umzugehen, ist einfach auf LuaLaTeX umzusteigen, da Biber problemlos mit UTF-8 zurechtkommt. Dann besteht keine Notwendigkeit für eine spezielle Biber-Option oder die safeintputencBiblatex-Option.

Antwort3

Wenn Sie Unicode verwenden möchten, sollten Sie Folgendes in Betracht ziehen:Schriftspezifikationzusammen mit einer Unicode-Schriftart mit griechischen Buchstaben (die praktisch alle Unicode-Schriftarten haben). Hier habe ich Linux Libertine verwendet.

\documentclass{article}
\usepackage{filecontents,fontspec,biblatex}
\setmainfont[Ligatures=TeX]{Linux Libertine O}

\begin{filecontents}{\jobname.bib}
@article{concellon_synthesis_2006,
    title = {Synthesis of Enantiopure ({αS,βS)-} or ({αR,βS)-β-Amino} Alcohols by Complete Regioselective Opening of Aminoepoxides by Organolithium Reagents {LiAlH4} or {LiAlD4}},
    volume = {71},
    number = {17},
    journal = {J. Org. Chem.},
    author = {Concellón, José M. and Bernad, Pablo L. and del Solar, Virginia and Suárez, José Ramón and García-Granda, Santiago and Díaz, M. Rosario},
    month = aug,
    year = {2006},
    pages = {6420--6426}}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\cite{concellon_synthesis_2006}
\printbibliography
\end{document}

Bildbeschreibung hier eingeben

Antwort4

Dank PLK und cgnieder konnte ich eine Lösung finden, mit der ich zufrieden bin. Sie basiert auf der Antwort von PLK, stellt aber auch sicher, dass die griechischen Buchstaben aufrecht stehen.

\begin{filecontents*}{\jobname.bib}
@article{concellon_synthesis_2006,
    title = {Synthesis of Enantiopure ({αS,βS)-} or ({αR,βS)-β-Amino} Alcohols by Complete Regioselective Opening of Aminoepoxides by Organolithium Reagents {LiAlH4} or {LiAlD4}},
    volume = {71},
    number = {17},
    journal = {J. Org. Chem.},
    author = {Concellón, José M. and Bernad, Pablo L. and del Solar, Virginia and Suárez, José Ramón and García-Granda, Santiago and Díaz, M. Rosario},
    month = aug,
    year = {2006},
    pages = {6420--6426},
}
\end{filecontents*}
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{textgreek}

\usepackage[backend=biber, safeinputenc]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\cite{concellon_synthesis_2006}
\printbibliography
\end{document}

Nun wird die Makrodatei (gefunden aufBiber CTAN /biblatex-biber-1.5/lib/Biber/LaTeX/recode_data.xml) muss bearbeitet werden. Dies:

<maps type="greek" set="full">
    <map><from>alpha</from>      <to hex="3B1">α</to></map>
    <map><from>beta</from>       <to hex="3B2">β</to></map>
    ...
    <map><from>Omega</from>      <to hex="3A9">Ω</to></map>
  </maps>

Muss folgendermaßen geändert werden:

  <maps type="wordmacros" set="base,full">
    <map><from>textalpha</from>      <to hex="3B1">α</to></map>
    <map><from>textbeta</from>       <to hex="3B2">β</to></map>
    ...
    <map><from>textOmega</from>      <to hex="3A9">Ω</to></map>
  </maps>

und in Ihrem Arbeitsverzeichnis gespeichert. Das Paket textgreekstellt den \textalphaBefehl bereit, der zu einem aufrechten Ergebnis führt α.

Ausführen Bibermit den folgenden Optionen:

--recodedata=recode_data.xml

Und der folgende pdflatexDurchlauf sollte eine Bibliographie mit aufrecht stehenden griechischen Buchstaben ergeben.

verwandte Informationen