Con biblatex, no escriba en mayúscula los prefijos de apellidos en el índice

Con biblatex, no escriba en mayúscula los prefijos de apellidos en el índice

El envío de entradas bibliográficas al índice con biblatexmayúsculas en los prefijos a veces no es deseado. Por ejemplo, nombres holandeses con prefijocamionetao nombres franceses con prefijoDelawareA veces no se capitalizan en los índices. Además, tal vez un poco más inusual pero posiblemente relevante, recientemente me enteré de un investigador que desea ser citado con su nombre solo en minúsculas (creo que esto fue en algún lugar de 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}

Esto produce la siguiente entrada en el .dxarchivo:

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

Y esto produce la entrada del índice.Van Trijp, Remi, a pesar devan Trijp, Remisería preferible. Me gustaría que \MakeCapitalfuera opcional sin confundir la clasificación de las entradas en el índice.

El problema podría estar relacionado con \mkbibindexnamefrom biblatex.def, donde \MakeCapitalestá codificado.

Una posible solución es, usando etoolbox, simplemente eliminar \MakeCapitalde la definición:

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

Pero no creo que cambiar el código de un paquete de esta manera sea una solución sostenible. ¿Conoces una mejor manera de hacer esto?

Respuesta1

Aunque la definición real de \mkbibindexnameparece un poco desalentadora, el usuarioesSe supone que deben cambiar esa macro si no les gusta el resultado que produce. Por lo tanto, estaría perfectamente bien parchear la macro como sugieres. Existe una pregunta general sobre si es mejor parchear o redefinir una macro (ver por ejemploBibmacros, controladores de bibliografía y formatos de Biblatex: ¿parchear o redefinir?) y para macros "pequeñas" como las que \mkbibindexnamenormalmente preferiría redefinir la ruta en lugar de parchear, pero eso depende de mis preferencias personales.

Para esta aplicación podríamos redefinir la macro en cuestión de la siguiente manera

\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

También debería ser posible aplicar opcionalmente \MakeCapitala un nombre si se establece una determinada opción, pero luego tendría que decidir cómo le gustaría informar biblatexsobre esto.

información relacionada