Me resultó fácil producir un índice a partir de biblatex usando el paquete makeidx, la opción indexing=cite de biblatex y los comandos \makeindex y \printindex. Sin embargo, lo que no me resultó fácil fue tener un índice sólo de nombres, sin mencionar títulos. Eche un vistazo al siguiente MWE, que tomé de los documentos de ejemplo de biblatex (20), ligeramente ajustado:
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[indexing,style=authortitle,backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}
\usepackage{makeidx}
\renewbibmacro*{citeindex}{\indexnames{labelname}{}}
\makeindex
\begin{document}
\section*{Indexing with the \texttt{makeidx} package}
\nocite{*}
\cite{piccato,gaonkar,malinowski,coleridge,gerhardt,cicero}
\index{Example entry}
\clearpage
\printbibliography
\printindex
\end{document}
Intenté insertar
\renewbibmacro*{citeindex}{%
\ifboolexpr{ test {\ifciteindex} and not test {\iffootnote} }
{\indexnames{author}}{}}
como se propusoaquí, pero eso no parece funcionar. Entonces, ¿alguna idea de cómo puedo obtener un índice de nombres únicamente?
Respuesta1
Necesitas aumentar indexing=cite
tus biblatex
opciones.
\usepackage[indexing=cite,style=authortitle,backend=biber]{biblatex}
Para evitar \citetitle
agregar el título al índice, debe modificar la \citetitle
macro para cambiar lo que indexa. Supuse que si cita un título, aún desea que el autor aparezca en el índice de esa página, por lo que lo modifiqué \citetitle
para indexar los nombres de los autores. Pero si no lo desea, puede eliminar el código de indexación por completo de \citetitle
.
Aquí tienes un ejemplo completo:
\documentclass[a4paper]{article}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[indexing=cite,style=authortitle,backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}
\DeclareCiteCommand{\citetitle}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\ifciteindex
{\indexnames{labelname}}
{}%
\printfield[citetitle]{labeltitle}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand*{\citetitle}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\ifciteindex
{\indexnames{labelname}}
{}%
\printfield[citetitle]{title}}
{\multicitedelim}
{\usebibmacro{postnote}}
\usepackage{makeidx}
\renewbibmacro*{citeindex}{\indexnames{labelname}{}}
\makeindex
\begin{document}
\section*{Indexing with the \texttt{makeidx} package}
\nocite{*}
\cite{piccato,gaonkar,malinowski,cicero}
\citetitle{coleridge,gerhardt}
\index{Example entry}
\clearpage
\printbibliography
\printindex
\end{document}