Was ich bekomme:
A. Autor: „Irgendein Artikeltitel?“. Egal, welche Zeitschrift.
B. Buthor, „Ein Artikel?“. Ein anderes Journal.
Was ich möchte:
A. Autor: „Irgendein Artikeltitel?“. Egal, welche Zeitschrift.
B. Buthor, „Ein Artikel?“. Ein anderes Journal.
Und die Silbentrennung sollte natürlich sprachabhängig sein. ;)
autolang=other
ist keine Option, da dadurch andere Teile der Bibliografie übersetzt würden, was meiner Meinung nach nicht beeinträchtigt werden soll.
Ich bin gestolpert überBibLaTeX langid mit autolang=hyphen bewirkt, dass csquotes lokalisierte Anführungszeichen verwendetund das alte Verhalten ist größtenteils das, was ich will (mit dem kleinen Hinweis, dass ich nicht weiß, wie es sich hinsichtlich der Zeichensetzung wie bei den Fragezeichen oben verhalten hat).
MNWE:
\documentclass{scrartcl}
\usepackage[british,french]{babel}
\usepackage[autostyle=true]{csquotes}
\usepackage[autolang=hyphen]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{eng,
author = {Author, A.},
title = {Some article title?},
journal = {Whatever Journal},
year = {2019},
langid = {british},
}
@article{fra,
author = {Buthor, B.},
title = {Un article ?},
journal = {Another Journal},
year = {2019},
langid = {french},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
Antwort1
Sie können Folgendes versuchen.
Eine Anmerkung zu den Satzzeichen. In deinem Beispiel gibt es zwei Arten:
Satzzeichen in Feldern, wie zB das Fragezeichen im Titel:
{Some article title?}
,Durch Makros aus BibLaTeX erstellte Satzzeichen, z. B. der Doppelpunkt nach dem
In:
.
Der erste Typ lässt sich mit pdflatex nur schwer an die Sprache anpassen, da die Catcodes bereits eingefroren sind. Mit lualatex funktioniert es.
\documentclass{scrartcl}
\usepackage{ifluatex}
\ifluatex\else
\usepackage[T1]{fontenc} %with pdflatex
\fi
\usepackage[british,french]{babel}
\usepackage[autostyle=true]{csquotes}
\usepackage[autolang=hyphen]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{eng,
author = {Author, A.},
title = {Some article title?},
journal = {Whatever Journal},
year = {2019},
langid = {british},
editor={D. Editor}
}
@article{fra,
author = {Buthor, B.},
title = {Un article?},
journal = {Another Journal},
year = {2019},
langid = {french},
editor={D. Editor}
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\makeatletter
\def\blx@hook@initlang{%
\csq@reset=0 \csq@setstyle{\abx@field@langid}%
%optional for the colon after "In":
\ifdefstring{\abx@field@langid}{french}{}
{\def\FDP@colonspace{}%
\def\FDP@thinspace{}}%
}
\makeatletter
\begin{document}
\nocite{*}
\printbibliography
\end{document}
Ausgabe mit lualatex:
Ausgabe mit pdflatex
Antwort2
Die Verwendung autolang=other
(und das Laden der T1
Schriftkodierung) erledigt den Job:
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[british,french]{babel}
\usepackage[autostyle=true]{csquotes}
\usepackage[autolang=other]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{eng,
author = {Author, A.},
title = {Some article title?},
journal = {Whatever Journal},
year = {2019},
langid = {british},
}
@article{fra,
author = {Buthor, B.},
title = {Un article ?},
journal = {Another Journal},
year = {2019},
langid = {french},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}