# biblatex: filter out publications from a specific author without biber with many authors

this is follow-up to a recent question: On my system with TexLive 2012 (biblatex 1.7-1), I am trying to separate the publications of a specific author from all other references (e.g. in case you want to have your own publications separated from others works). For this, I used this solution, which seems to be exactly what I was looking for:

\DeclareBibliographyCategory{byname}
\DeclareIndexNameFormat{byname}{% Test could be refined
\ifboolexpr{ test {\ifdefstring{\lastname}{#1}}
and ( test {\ifdefstring{\firstname}{#3}}
or test {\ifdefstring{\firstinit}{#4}} ) }
{}}
\AtDataInput{%
\indexnames[byname]{author}}
...
\printbibliography[category=byname]


However, I encountered a problem of this solution with works that have "many" authors. For some reason, the category filter does not work anymore if the above solution is applied to references with more authors than the variable maxnames holds, if the name-filter is not the first author.

The following minimal example demonstrates the issue:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=alphabetic,maxbibnames=99]{biblatex}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@book{aaronson1,
author = {A. Aaronson and B. Beronson},
title = {Random Title},
publisher = {Random Publisher},
year = 2000
}
@book{aaronson2,
author = {A. Aaronson and B. Beronson and C. Cerenson and D. Derenson and E. Erenson and F. Ferenson},
title = {Book with many others},
publisher = {Random Publisher},
year = 2003
}
\end{filecontents}

\bibliography{\jobname.bib}

% Variants of each could be added
\newcommand{\firstinit}{B.}
\newcommand{\firstname}{Berni}
\newcommand{\lastname}{Beronson}

\DeclareBibliographyCategory{byname}

\DeclareIndexNameFormat{byname}{% Test could be refined
\ifboolexpr{ test {\ifdefstring{\lastname}{#1}}
and ( test {\ifdefstring{\firstname}{#3}}
or test {\ifdefstring{\firstinit}{#4}} ) }
{}}

\AtDataInput{%
\indexnames[byname]{author}}

\begin{document}
\section{Beronson's books}
\nocite{*}
\section{Not Beronson's books}
\nocite{*}
\end{document}


This seems to me, like the filter is applied at the wrong time - after the list of authors has been cut off to the first author.

Is there any modification to this code to allow multiple authors? Or do I have to go for biber and the source map feature (as suggested here) if I do not want to add keywords or multiple .bib files?

\AtDataInput{\indexnames[byname]{author}}

\AtDataInput{\indexnames[byname][1-99]{author}}

The second optional argument of the form <start>-<stop> specifies the items in the name list over which the indexing directive should be executed. By default <start> is 1. The <stop> value is the total number of names in the list, unless this exceeds maxnames. In this case <stop> defaults to minnames.