我將 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