I found it easy to produce an index from biblatex using the makeidx package, biblatex's indexing=cite option, and the \makeindex and \printindex commands. However, what I did not find easy was to have an index of names only, with no titles mentioned. Please have a look at the following MWE, which I take from the biblatex example documents (20), slightly adjusted:
\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}
I tried to insert
\renewbibmacro*{citeindex}{%
\ifboolexpr{ test {\ifciteindex} and not test {\iffootnote} }
{\indexnames{author}}{}}
as proposed here, but that doesn't seem to work. So, any ideas how I can get an index of names only?
Best Answer
You need to add
indexing=cite
to yourbiblatex
options.To avoid
\citetitle
from adding the title to the index, you need to modify the\citetitle
macro to change what it indexes. I've made the assumption that if you cite a title, you still want the author to appear on the index on that page, so I've modified\citetitle
to index the authors' names. But if you don't want that you can just remove the indexing code altogether from\citetitle
.Here's a complete example: