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





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
  • 5
    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
  • 2
    @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
  • 1
    @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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.