Cambiar temporalmente el número de autores mostrados para referencia dentro del texto

Cambiar temporalmente el número de autores mostrados para referencia dentro del texto

Utilizo biblatex con style=authoryear-icomp, maxbibnames=50 y maxcitenames=2. Por lo tanto, normalmente se nombran dos autores para cada referencia mediante \cite. En la mayoría de los casos, este es un escenario perfecto. Sin embargo, para algunas llamadas de \cite me gustaría aumentar explícitamente el número de autores mostrados. Y me gustaría dejar que bibtex compacte (agrupe) a los autores.

En este momento obtengo "\cite{paper2001,paper2002,paper2003}":

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

Pero me gustaría tener:

"Autor1, Autor2, Autor3 y Autor4 2001; Autor5, Autor6, Autor7 y Autor8 2002, 2003"

Para citas individuales (sólo un artículo), se puede utilizar \AtNextCite para modificar el comportamiento (verhttps://tex.stackexchange.com/a/142202).

Usar el mismo truco con \AtNextMultiCite no comprime la salida. Por lo tanto, en el ejemplo anterior, obtendría el doble de la lista de autores 5 a 8 para los dos artículos a los que se hace referencia.

¿Cómo puedo aumentar temporalmente (para una llamada de \cite) el número de autores mostrados mientras mantengo la compresión?

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}

Respuesta1

Puedes usar

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

para asegurarse de que todas las citas a continuación \citeutilicen las listas de nombres completos.

Este es el método utilizado enblx-natbib.def, ver tambiénhttps://github.com/plk/biblatex/issues/354

información relacionada