Bei biblatex dürfen Präfixe für Nachnamen im Index nicht großgeschrieben werden

Bei biblatex dürfen Präfixe für Nachnamen im Index nicht großgeschrieben werden

Das Senden von bibliographischen Einträgen an den Index biblatexführt zu Großschreibungen von Präfixen, was manchmal unerwünscht ist. Beispielsweise niederländische Namen mit PräfixLieferwagenoder französische Namen mit Präfixdewerden in Indizes manchmal nicht großgeschrieben. Außerdem, vielleicht etwas ungewöhnlicher, aber möglicherweise trotzdem relevant, habe ich kürzlich von einem Forscher erfahren, der nur mit seinem Namen in Kleinbuchstaben zitiert werden möchte (ich glaube, das war irgendwo in SocSci).

MWE:

\begin{filecontents}{test.bib}
    @misc{vanTrijp2013,
        author = {van Trijp, Remi},
        date = {2013},
        title = {A Comparison between approach A and B},
    }
\end{filecontents}

\documentclass{article}
\usepackage[indexing=cite,style=authoryear,useprefix=true]{biblatex}
\addbibresource{test.bib}
\makeindex
\begin{document}
    \cite{vanTrijp2013}
\end{document}

Dadurch entsteht folgender Eintrag in der .dxDatei:

\indexentry{van Trijp, Remi@\MakeCapital {van} Trijp, Remi}{1}

Und das ergibt den IndexeintragVan der Linden, Remi, Obwohlvan der Linden, Remiwäre vorzuziehen. Ich hätte es gerne \MakeCapitaloptional, ohne die Sortierung der Einträge im Index durcheinander zu bringen.

Das Problem hängt möglicherweise mit „ \mkbibindexnamefrom“ zusammen biblatex.def, wobei \MakeCapital„fest codiert“ ist.

Eine mögliche Lösung besteht darin etoolbox, mithilfe von einfach das \MakeCapitalaus der Definition zu löschen:

\patchcmd{\mkbibindexname}{\ifdefvoid{#3}{}{\MakeCapital{#3} }}{\ifdefvoid{#3}{}{#3 }}{}{}

Ich glaube jedoch nicht, dass es eine nachhaltige Lösung ist, den Code eines Pakets auf diese Weise zu ändern. Kennen Sie eine bessere Möglichkeit, dies zu tun?

Antwort1

Auch wenn die eigentliche Definition \mkbibindexnameetwas entmutigend aussieht, der BenutzerIstdas Makro ändern, wenn ihnen die Ausgabe nicht gefällt. Es wäre also vollkommen in Ordnung, das Makro zu patchen, wie Sie vorschlagen. Es stellt sich die allgemeine Frage, ob es besser ist, ein Makro zu patchen oder neu zu definieren (siehe zum BeispielBibmacros, Bibliografietreiber, Formate von Biblatex – patchen oder neu definieren?) und für „kleine“ Makros wie diese \mkbibindexnamewürde ich normalerweise den Redefine-Weg dem Patchen vorziehen, aber das ist eine Frage der persönlichen Vorliebe.

Für diese Anwendung könnten wir das betreffende Makro wie folgt neu definieren

\documentclass{article}
\usepackage[indexing=cite,style=authoryear,useprefix=true]{biblatex}
\usepackage{makeidx}

\makeatletter
\renewcommand*{\mkbibindexname}[4]{%
  \ifuseprefix
    {\ifdefvoid{#3}{}{#3 }%
     \@firstofone #1% remove spurious braces
     \ifdefvoid{#4}{}{ #4}%
     \ifdefvoid{#2}{}{, #2}}
    {\@firstofone #1% remove spurious braces
     \ifdefvoid{#4}{}{ #4}%
     \ifboolexpe{%
       test {\ifdefvoid{#2}}
       and
       test {\ifdefvoid{#3}}}
       {}
       {,}%
     \ifdefvoid{#2}{}{ #2}%
     \ifdefvoid{#3}{}{ #3}}}
\makeatother

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{vanTrijp2013,
  author = {van Trijp, Remi},
  date   = {2013},
  title  = {A Comparison between approach A and B},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\makeindex
\begin{document}
  \cite{vanTrijp2013}
  \printindex
\end{document}

van Trijp, Remi, 1

Es sollte auch möglich sein, optional auf einen Namen zuzutreffen \MakeCapital, wenn eine bestimmte Option gesetzt ist. Dann müsstest Du allerdings entscheiden, wie Du biblatexdavon erzählen möchtest.

verwandte Informationen