Anzahl der angezeigten Autoren für Referenzen im Text vorübergehend ändern

Anzahl der angezeigten Autoren für Referenzen im Text vorübergehend ändern

Ich verwende biblatex mit style=authoryear-icomp, maxbibnames=50 und maxcitenames=2. Daher werden normalerweise für jede Referenz über \cite zwei Autoren genannt. Für die meisten Fälle ist dies eine perfekte Einstellung. Für einige Aufrufe von \cite möchte ich jedoch die Anzahl der angezeigten Autoren explizit erhöhen. Und ich möchte bibtex die Autoren komprimieren (gruppieren) lassen.

Im Moment bekomme ich für "\cite{paper2001,paper2002,paper2003}":

„Autor1, Autor2, et. al 2001; Autor5, Autor6, et. al 2002, 2003“

Aber ich hätte gerne:

„Autor1, Autor2, Autor3 und Autor4 2001; Autor5, Autor6, Autor7 und Autor8 2002, 2003“

Für einzelne Zitate (nur ein Paper) kann das Verhalten mit \AtNextCite angepasst werden (siehehttps://tex.stackexchange.com/a/142202).

Die Verwendung des gleichen Tricks mit \AtNextMultiCite komprimiert die Ausgabe nicht. Daher würde ich im vorherigen Beispiel die Liste der Autoren 5-8 für die beiden referenzierten Arbeiten zweimal erhalten.

Wie kann ich vorübergehend (für einen Aufruf von \cite) die Anzahl der angezeigten Autoren erhöhen und gleichzeitig die Komprimierung beibehalten?

MWEB:

\documentclass{article}
\usepackage{bbding}
\usepackage[
    sortcites=true,
    style=authoryear-icomp,    
    firstinits=true,
    uniquename=init,      
    maxbibnames=50,            
    maxcitenames=2,            
    autocite=inline,           
    block=space,                   
    date=short,                
    backend=biber,
    sorting=nyt,
    ]{biblatex} % For the bibliography
\addbibresource{\jobname.bib}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@article{paper2001,
  author = {Author1 and Author2 and Author3 and Author4},
  year = {2001},
  title = {paper1},
  publisher = {Publisher},
}

@article{paper2002,
  author = {Author5 and Author6 and Author7 and Author8},
  year = {2002},
  title = {paper2},
  publisher = {Publisher},
}

@article{paper2003,
  author = {Author5 and Author6 and Author7 and Author8},
  year = {2003},
  title = {paper3},
  publisher = {Publisher},
}
\end{filecontents}

\begin{document}
\noindent Usually I want to have the abbreviated version: \cite{paper2002,paper2003}.\Checkmark \\\\
\noindent But sometimes, I'd like to list all authors like in the References. Instead I get:\\
\cite{paper2001,paper2002,paper2003}

\printbibliography

\end{document}

Antwort1

Sie können

\AtNextCite{\AtEachCitekey{\defcounter{maxnames}{999}}}

um sicherzustellen, dass alle Zitate in den nächsten \citeListen die vollständigen Namen verwenden.

Dies ist die Methode, die inblx-natbib.def, siehe auchhttps://github.com/plk/biblatex/issues/354

verwandte Informationen