Titeleintrag in Biblatex formatieren

Titeleintrag in Biblatex formatieren

Ich versuche, eine Liste von Veröffentlichungen mit zu setzen biblatexund 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 titlecasehierfü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}

Bildbeschreibung hier eingeben

Aktualisieren: Vielleicht ist hier eine Erklärung hilfreich, warum titlecaseanstelle von titleverwendet werden sollte. Wenn wir uns die Definition des Makros titlein 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 + subtitleDruckanweisungen 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.titlesubtitle\MakeSentenceCasetitle\printfield[titlecase]\MakeSentenceCasetitlecasetitlesubtitle

verwandte Informationen