暫時更改顯示的作者數量以供文本內參考

暫時更改顯示的作者數量以供文本內參考

我將 biblatex 與 style=authoryear-icomp、maxbibnames=50 和 maxcitenames=2 一起使用。因此,通常,每個參考文獻都會透過 \cite 指定兩位作者。對於大多數情況來說,這是一個完美的設定。但是,對於 \cite 的某些調用,我想明確增加顯示作者的數量。我想讓 bibtex 對作者進行壓縮(分組)。

目前我得到「\cite{paper2001,paper2002,paper2003}」:

“作者 1、作者 2 等人 2001 年;作者 5、作者 6 等人 2002 年、2003 年”

但我想要:

“作者 1、作者 2、作者 3 和作者 4 2001 年;作者 5、作者 6、作者 7 和作者 8 2002 年、2003 年”

對於單次引用(只有一篇論文),\AtNextCite 可用於修改行為(請參閱https://tex.stackexchange.com/a/142202)。

對 \AtNextMultiCite 使用相同的技巧不會壓縮輸出。因此,在前面的範例中,我將獲得兩篇引用論文的兩倍的作者 5-8 清單。

如何在保持壓縮的同時暫時(對於 \cite 的一次呼叫)增加顯示的作者數量

行動網路:

\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

相關內容