
Ich versuche, eine Liste von Veröffentlichungen mit zu setzen biblatex
und möchte die Eintragstitel in Groß- und Kleinschreibung (oder Groß-/Kleinschreibung/Titelschreibung) ändern. Ich habe versucht, mit zu arbeiten, \DeclareFieldFormat{title}{\MakeSentenceCase{#1}}
aber es scheint nicht zu funktionieren.
MWE:
%\RequirePackage{filecontents}
\begin{filecontents}{pub.bib}
@article{article1,
author={Author One and Author Two},
title={Title of Article One},
date= {2018},
}
@article{article2,
author={Author One and Author Two},
title={Title of article two},
date= {2017},
}
\end{filecontents}
\documentclass{article}
\usepackage[
backend=biber,
sorting=ynt,
giveninits=true,
maxbibnames=99,
]{biblatex}
\DeclareFieldFormat*{title}{\MakeCapital{#1}} % Change titles to sentence case
\addbibresource{pub.bib}
\begin{document}
\nocite{*}
\printbibliography[type=article, title={Publications}]
\end{document}
Antwort1
Sie sollten titlecase
hierfür verwenden.
\DeclareFieldFormat*{titlecase}{\MakeSentenceCase{#1}}
Ein vollständiges MWE:
%\RequirePackage{filecontents}
\begin{filecontents}{pub.bib}
@article{article1,
author={Author One and Author Two},
title={Title of Article One},
date= {2018},
}
@article{article2,
author={Author One and Author Two},
title={Title of article two},
date= {2017},
}
\end{filecontents}
\documentclass{article}
\usepackage[
backend=biber,
sorting=ynt,
giveninits=true,
maxbibnames=99,
]{biblatex}
\DeclareFieldFormat*{titlecase}{\MakeSentenceCase{#1}} % Change titles to sentence case
\addbibresource{pub.bib}
\begin{document}
\nocite{*}
\printbibliography[type=article, title={Publications}]
\end{document}
Aktualisieren: Vielleicht ist hier eine Erklärung hilfreich, warum titlecase
anstelle von title
verwendet werden sollte. Wenn wir uns die Definition des Makros title
in ansehen biblatex.def
, finden wir Folgendes:
\newbibmacro*{title}{%
\ifboolexpr{
test {\iffieldundef{title}}
and
test {\iffieldundef{subtitle}}
}
{}
{\printtext[title]{%
\printfield[titlecase]{title}%
\setunit{\subtitlepunct}%
\printfield[titlecase]{subtitle}}%
\newunit}%
\printfield{titleaddon}}
Beachten Sie, dass die Formatierungsanweisung [title]
für title + subtitle
Druckanweisungen gilt. Das ist notwendig, da es eine allgemeine Anforderung von Bibliographiestilen ist, dass der Titel einiger gängiger Eintragstypen in Anführungszeichen gesetzt wird, also ein einzelnes Anführungszeichenpaar für „Titel“ und „Untertitel“. Die Formatierungsanweisung wird einzeln auf und [titlecase]
angewendet . Eine Konsequenz davon ist, dass Sie, wenn Sie versuchen, die Formatierungsanweisung anzuwenden, ihr eine Folge von Anführungszeichen und Interpunktionsanweisungen mit ihren eigenen individuellen Formatierungsanweisungen zuführen . Wie Sie bemerkt haben, verhält sich das nicht gut. Aber selbst wenn dies eine bereinigte Zeichenfolge wäre, würden Sie einen unerwünschten Kleinbuchstaben am Anfang des Untertitels erhalten (Sie würden beide zusammen an zuführen ). Kurz gesagt, das ist genau so vorhanden, wie es ist, um es einem zu ermöglichen , und separat zu behandeln , und das wäre der geeignete Rahmen, um alle Anweisungen zur Groß- und Kleinschreibung von Sätzen anzuwenden.title
subtitle
\MakeSentenceCase
title
\printfield
[titlecase]
\MakeSentenceCase
titlecase
title
subtitle