# Biblatex: Add cited "et al." authors to index

I have references with long lists of authors. I want to credit them all by listing them in the index, but since I don't want to clutter my main text, I display a maximum of two names in the citations.

How do I still add all co-authors to the index?

Here is my MWE:

\documentclass{article}

% Bibliography configuration
\usepackage[%
maxcitenames=2, % cite: 1, 2, or 1st + et al.
maxbibnames=99, % bib:  all authors
indexing=cite   % put citations in index
]{biblatex}

\begin{filecontents*}{database.bib}
@Article{BahOlsLat10,
author            = {Bahador Bahrami and Karsten Olsen and
Peter E. Latham and Andreas Roepstorff and
Geraint Rees and Chris D. Frith},
title             = {Optimally Interacting Minds},
journal           = {Science},
year              = {2010},
volume            = {329},
number            = {5995},
pages             = {1081--1085},
doi               = {10.1126/science.1185718}
}

@Book{BakEll11,
author    = {Paul Baker and Sibonile Ellece},
title     = {Key Terms in Discourse Analysis},
year      = {2011},
publisher = {Continuum International Publishing Group},
isbn      = {978-1-8470-6320-5}
}
\end{filecontents*}

\usepackage{makeidx}
\makeindex

\begin{document}

\textcite{BahOlsLat10,BakEll11}

\clearpage

\printbibliography

\printindex

\end{document}


What happens: The two authors of the book both get listed in the index, but only the first author of the article with six authors.

What I tried and does not work: Setting indexing=true will add all author names to the index, but the page numbers refer to the bibliography (here: page 2). I want to have index entries of the 2nd, 3rd, 4th, ... authors pointing to where the citation was (here: page 1).

The Biblatex documentation on the \indexnames macro helped me out (which is called to add a list of names to the index):

\indexnames[<format>][<start>–<stop>]{<name list>}

This command is similar to \printnames ...

And for \printnames there is the crucial hint:

If you want to override maxnames and minnames and force printing of the entire list, you may refer to the listtotal counter in the second optional argument:

\printnames[...][-\value{listtotal}]{...}


So look for the original macro in biblatex.def:

\newbibmacro*{citeindex}{%
\ifciteindex
{\indexnames{labelname}%
\indexfield{indextitle}}
{}}


And overwrite it your own code to make explicit that all entries from that list should be used:

\renewbibmacro*{citeindex}{%
\ifciteindex
{\indexnames[][-\value{listtotal}]{labelname}%
\indexfield{indextitle}}
{}}


Works like a charm.