Ich habe Probleme, biblatex
die autopunct
Option des csquotes
Pakets bei der Verwendung zu respektieren polyglossia
. Ich möchte meine Referenzen als drucken
IN Proceedings. „Titel der Arbeit.“ In: 2019.
nicht so wie
IN Proceedings. „Titel der Arbeit“. In: 2019.
(Beachten Sie die Platzierung des .
„Vorher“-Zeichens ”
.)
Im folgenden MWE wird dies erreicht, wenn ich Babel verwende, abernichtwenn ich verwende polyglossia
.
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@inproceedings{example,
author = {Proceedings, I. N.},
year = {2019},
title = {Title of the Work},
}
\end{filecontents}
\newif\ifusepolyglossia
\usepolyglossiatrue
%\usepolyglossiafalse
\ifusepolyglossia
\usepackage{polyglossia}
\setdefaultlanguage[variant=usmax]{english}
\else
\usepackage[american]{babel}
\fi
\usepackage[autopunct]{csquotes}
\usepackage[backend=biber]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\cite{example}
\printbibliography
\end{document}
Mache ich etwas falsch oder ist mir in einem dieser Pakete einfach ein Fehler aufgefallen? Ich kompiliere mein Dokument mit LuaLaTeX.
Antwort1
Dies ist das Ergebnis einer Inkompatibilität zwischen der Sprachschnittstelle von biblatex
und . With kann nur die Hauptsprache ( in diesem Fall) erkennen, nicht aber die Sprachvariante ( ). Oft bleibt dieses Problem unbemerkt, kann aber in bestimmten Randfällen wie diesem unerwünschte Effekte verursachen. Aus diesem Grund wird beim nächsten von eine Warnung ausgegeben, wenn es erneut mit verwendet wird:polyglossia
polyglossia
biblatex
english
american
version
biblatex
polyglossia
https://github.com/plk/biblatex/issues/845.
Das vollständige amerikanische Interpunktionsschema für Zitate wird nur aktiviert, wenn biblatex
amerikanisches Englisch ( american
) erkannt wird, und nicht bei generischem Englisch ( english
), das ansonsten mit amerikanischem Englisch identisch ist. Bei polyglossia
erkennen wir immer nur english
, sodass das US-Interpunktionsschema nicht aktiviert ist. (Nur um das klarzustellen: Die Verschiebung der Interpunktion um Anführungszeichen, die biblatex
in der Bibliographie durch erzeugt werden, wird ausschließlich durch biblatex
und dessen Befehle gesteuert \uspunctuation
, und die Option \stdpunctuation
. csquotes
' autopunct
hat hier keinen Einfluss.)
Die folgende Zeile aktiviert die US-Anführungszeichen-Interpunktionsregeln auch bei normalemenglish
\DefineBibliographyExtras{english}{\uspunctuation}
Alternativ können Sie english
mitamerican
\DeclareLanguageMapping{english}{american}
Beachten Sie jedoch, dass davon in der Dokumentation ausdrücklich abgeraten wird biblatex
. Der Vorteil dieses Ansatzes gegenüber dem spezifischen \DefineBibliographyExtras{english}{\uspunctuation}
wäre, dass automatisch kopiert würdeallevon american
s-Einstellungen auf english
und nicht nur auf die \uspunctuation
.
\documentclass{article}
\newif\ifusepolyglossia
\usepolyglossiatrue
%\usepolyglossiafalse
\ifusepolyglossia
\usepackage{polyglossia}
\setdefaultlanguage[variant=usmax]{english}
\else
\usepackage[american]{babel}
\fi
\usepackage[autopunct]{csquotes}
\usepackage[backend=biber]{biblatex}
\DefineBibliographyExtras{english}{\uspunctuation}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{sigfridsson}
\printbibliography
\end{document}
Ein damit verbundenes Problem wird diskutiert inBiblatex-Chicago und nicht-US-amerikanischer Anführungszeichenstil?.Lokalisiertes Datum mit Biblatex und Polyglossia,\DeclareLanguageMappingSuffix, Vererbung und Polyglossie in BiblatexUndWie können wir Polyglossia-Sprachvarianten mit Biblatex-Bibliografien kompatibel machen?Beheben Sie die Kompatibilitätsprobleme zwischen biblatex
und polyglossia
.
Vor einiger Zeit hätte ich noch ausdrücklich empfohlen, polyglossia
es babel
möglichst aufzugeben, da babel
es (wieder) aktiv weiterentwickelt wird und polyglossia
weitgehend brachliegt. babel
Funktioniert in der Praxis genauso gut (wenn nicht sogar besser) polyglossia
für die meisten (west-)europäischen Sprachen, macht aber babel
auch Fortschritte in Bereichen, in denen polyglossia
es traditionell stärker war (Hebräisch, Arabisch, ...). SieheEntscheiden Sie sich zwischen Polyglossia und Babel für LuaLaTeX im Jahr 2019. Vor kurzem gab es einige Entwicklungen auf dempolyglossia
GitHub-Seite, also gewinnt das Projekt vielleicht wieder an Dynamik. (Nebenbei denke ich, dass die LaTeX-Community davon profitieren würde, wenn die beiden Projekte in irgendeiner Form zusammengeführt würden, anstatt unabhängig voneinander mit einem ähnlichen Ziel weiter entwickelt zu werden. Die Höhen und Tiefen der Entwicklung verwirren die Leute nur darüber, welches Paket sie nehmen sollen.)