[Tex/LaTex] How to instruct \fullcite to use maxbibnames rather than maxcitenames

author-numberbiblatexciting

For my PhD thesis, I am including a List of appended papers automagically. To generate the references, I used to use \bibentry, but now I switched to biblatex and headed for \fullcite hoping it to be an equivalent. Alas, \fullcite uses maxcitenames to decide the number of authors; I'd like it to use maxbibnames so that the number of authors printed is like it is in the bibliogaphy.

\documentclass{article}
\usepackage[maxbibnames=99,maxcitenames=1]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A. and Buthor, B. and Cuthor, C. and Duthor, D.},
  year = {2001},
  title = {Alpha},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
This is by \textcite{A01}, or, more completely:
\fullcite{A01}.

\printbibliography
\end{document}

The desired effect:

This is by Author et al. [1], or, more completely, A. Author, B. Buthor, C. Cuthor, and D. Duthor, Alpha, 2001

The actual effect:

resulting document

How do I get a full citation with all authors (or maxbibnames no. of authors) with \fullcite or a similar command in biblatex? If I change maxcitenames, then Author et al. [1] will also be affected, and this is not desired.

All my \fullcite occurences are concentrated in one part of the document that uses no other citation commands, so a solution temporarily changing maxcitenames would be acceptable for me.

Best Answer

You may change the definition of the \fullcite and \footfullcite cite macros so that they locally use the value of maxbibnames.

\documentclass{article}
\usepackage[maxbibnames=99,maxcitenames=1]{biblatex}
\makeatletter
\DeclareCiteCommand{\fullcite}
  {\defcounter{maxnames}{\blx@maxbibnames}%
    \usebibmacro{prenote}}
  {\usedriver
     {\DeclareNameAlias{sortname}{default}}
     {\thefield{entrytype}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
\DeclareCiteCommand{\footfullcite}[\mkbibfootnote]
  {\defcounter{maxnames}{\blx@maxbibnames}%
    \usebibmacro{prenote}}
  {\usedriver
     {\DeclareNameAlias{sortname}{default}}
     {\thefield{entrytype}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
\makeatother
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A. and Buthor, B. and Cuthor, C. and Duthor, D.},
  year = {2001},
  title = {Alpha},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
This is by \textcite{A01}, or, more completely:
\fullcite{A01}.

\printbibliography
\end{document}

enter image description here