2

I am trying to adopt citations and references/bibliography to my needs:

  1. If a publication has more than two authors, the shortened et al. notation should be used (e.g. Harris et al.). This can be achieved by setting maxcitenames=2 and works as desired.
  2. The author list in the references/bibliography should not be shortened completely and et al. should only be appended if the max. number of authors allowed is exceeded (e.g. Harris, C.R., Millman, K. J., van der Walt, S. J. et al. instead of Harris, C.R. et al.).

I did not find a way to achieve the second point. Most often maxbibnames is set to a higher number, e.g. maxbibnames=99, to show all authors. Unfortunately, I do have some references with a lot of authors which would nearly fill a 1/4 page of the references and should therefore be shortened in the way explained above.

Is there a way to do so? Can this be realized with some of the many options which can be passed to biblatex?

My MWE is as follows:

\documentclass{article}    
\usepackage{filecontents}

\begin{filecontents*}{\jobname.bib}   
    @article{Harris_2020,
    title     = {Array programming with {NumPy}},
    author    = {C. R. Harris and K. J. Millman and S. J. van der Walt and R. Gommers and P. Virtanen and D. Cournapeau and E. Wieser and J. Taylor and S. Berg and N. J. Smith and R. Kern and M. Picus and S. Hoyer and M. H. van Kerkwijk and M. Brett and A. Haldane and J. Fern{\'{a}}ndez del R{\'{i}}o and M. Wiebe and P. Peterson and P. G{\'{e}}rard-Marchant and K. Sheppard and T. Reddy and W. Weckesser and H. Abbasi and C. Gohlke and T. E. Oliphant},
    year      = 2020,
    journal   = {Nature},
    publisher = {Springer Science and Business Media {LLC}},
    volume    = 585,
    number    = 7825,
    pages     = {357-362},
    doi       = {10.1038/s41586-020-2649-2}
    }    
\end{filecontents*}
    
\usepackage[
    bibstyle=bwl-FU,
    backend=biber,
    citestyle=authoryear,
    maxcitenames=2,
    maxbibnames=3,
]{biblatex}

\renewbibmacro{in:}{}
\DeclareNameAlias{sortname}{family-given}
\DeclareDelimFormat{finalnamedelim}{\addspace\bibstring{and}\space}
\addbibresource{\jobname.bib}

\begin{document}
    \parencite{Harris_2020}
    \printbibliography
\end{document}

Producing an output of:

Output of MWE

1 Answer 1

2

You want to set minbibnames as well.

The rules are that a list longer than maxnames is truncated to a list of length minnames + "et al.". If you want to see many names in case of truncation, you need to increase minnames as well.

\documentclass{article}

\usepackage[
  backend=biber,
  bibstyle=bwl-FU,
  citestyle=authoryear,
  maxcitenames=2,
  minbibnames=3, maxbibnames=3,
]{biblatex}

\renewbibmacro{in:}{}
\DeclareNameAlias{sortname}{family-given}
\DeclareDelimFormat{finalnamedelim}{\addspace\bibstring{and}\space}

\begin{filecontents*}{\jobname.bib}
@article{Harris_2020,
  title     = {Array programming with {NumPy}},
  author    = {C. R. Harris and K. J. Millman and S. J. van der Walt and R. Gommers
               and P. Virtanen and D. Cournapeau and E. Wieser and J. Taylor
               and S. Berg and N. J. Smith and R. Kern and M. Picus and S. Hoyer
               and M. H. van Kerkwijk and M. Brett and A. Haldane
               and J. Fernández del Río and M. Wiebe and P. Peterson
               and P. Gérard-Marchant and K. Sheppard and T. Reddy
               and W. Weckesser and H. Abbasi and C. Gohlke and T. E. Oliphant},
  year      = 2020,
  journal   = {Nature},
  volume    = 585,
  number    = 7825,
  pages     = {357-362},
  doi       = {10.1038/s41586-020-2649-2}
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
  \parencite{Harris_2020,aksin,sigfridsson,nussbaum}
  \printbibliography
\end{document}

(Harris et al. 2020; Aksın et al. 2006; Sigfridsson and Ryde 1998; Nussbaum 1978)//Harris, C. R., Millman, K. J., Walt, S. J. van der, et al. (2020).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .