How to render a normal and compressed version of the bibliography in one document?

I use biblatex and biber for the bibliography and I came to the problem that I need a subset of the bibliography to be in verbose style (all authors for 5 references) and at another place in the document I need all entries as compressed as possible (about 200-300 references).

So I currently I employed `style=numeric-comp` and `maxnames=1`. The drawback is that the `maxnames` options are global only options since biblatex 1.6. (Currently I use biblatex 1.7)

So how do I render a subset in verbose style and the rest in compressed style?

-

You can use

``````\makeatletter
\numdef\blx@maxbibnames{99}
\makeatother

\printbibliography

\makeatletter
\numdef\blx@maxbibnames{1}
\makeatother

\printbibliography
``````

The line `\numdef\blx@maxbibnames{x}` is the command executed by the option `maxnames=x`. Thus in the first case, it will print 99 names before switching to et al, in the second case, it will do the same but after the first one.

-
Awesome!, Thank you so much, this saved my live :) – math Dec 4 '12 at 11:40
you can actually use `\defcounter{maxnames}{1}` instead of going into the package internal mode. – Davy Landman Dec 4 '12 at 12:18
@DavyLandman Have you tested it? It does not work for me with BibLaTeX 2.4. – Guido Dec 4 '12 at 17:17
@Guido `\defcounter` on the user-level counter works with, say: `\AtBeginBibliography{\iftoggle{shortnames}{\defcounter{maxnames}{1}}{}}`. Resetting the low-level counter isn't a good idea. So you should at least do it locally by wrapping `\numdef` and the corresponding `\printbibliography` in a group. – Audrey Dec 4 '12 at 21:09
@Guido Issuing `\toggletrue{shortnames}` before `\printbibliography` will give the short bibliography. You'd also need `\newtoggle{shortnames}` in the preamble, of course. It will be initialized to false. – Audrey Dec 4 '12 at 21:30