텍스트 내 참조를 위해 표시되는 저자 수를 일시적으로 변경합니다.

텍스트 내 참조를 위해 표시되는 저자 수를 일시적으로 변경합니다.

저는 style=authoryear-icomp, maxbibnames=50, maxcitenames=2로 biblatex를 사용합니다. 따라서 일반적으로 각 참고문헌에는 \cite를 통해 두 명의 저자가 지정됩니다. 대부분의 경우 이는 완벽한 설정입니다. 그러나 일부 \cite 호출의 경우 표시되는 작성자 수를 명시적으로 늘리고 싶습니다. 그리고 나는 bibtex가 저자들을 압축(그룹화)하도록 하고 싶습니다.

현재 "\cite{paper2001,paper2002,paper2003}"에 대한 결과는 다음과 같습니다.

"Author1, Author2, 외 2001; Author5, Author6, 외 2002, 2003"

하지만 내가 갖고 싶은 것은:

"저자1, 작성자2, 작성자3 및 작성자4 2001; 작성자5, 작성자6, 작성자7 및 작성자8 2002, 2003"

단일 인용(단지 하나의 논문)의 경우 \AtNextCite를 사용하여 동작을 수정할 수 있습니다(참조https://tex.stackexchange.com/a/142202).

\AtNextMultiCite와 동일한 방법을 사용하면 출력이 압축되지 않습니다. 따라서 이전 예에서는 두 개의 참조 논문에 대한 저자 5-8 목록의 두 배를 얻게 됩니다.

압축을 유지하면서 일시적으로(\cite 호출 한 번으로) 표시되는 작성자 수를 늘릴 수 있는 방법은 무엇입니까?

MW웹:

\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}

답변1

당신이 사용할 수있는

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

\cite다음 인용문의 모든 인용이 전체 이름 목록을 사용하는지 확인하세요 .

에서 사용되는 방법입니다.blx-natbib.def, 또한보십시오https://github.com/plk/biblatex/issues/354

관련 정보