私は、style=authoryear-icomp、maxbibnames=50、maxcitenames=2 で biblatex を使用しています。したがって、通常は、\cite 経由で各参照に 2 人の著者が指名されます。ほとんどの場合、これは完璧な設定です。ただし、\cite の呼び出しによっては、表示される著者の数を明示的に増やしたい場合があります。また、bibtex で著者を圧縮 (グループ化) できるようにしたいと思います。
現時点では、「\cite{paper2001,paper2002,paper2003}」は次のようになります。
「著者1、著者2、その他 2001; 著者5、著者6、その他 2002、2003」
しかし、私は次のものを望んでいます:
「Author1、Author2、Author3、Author4 2001; Author5、Author6、Author7、Author8 2002、2003」
単一の引用(1つの論文のみ)の場合、\AtNextCiteを使用して動作を変更できます(https://tex.stackexchange.com/a/142202)。
\AtNextMultiCite で同じトリックを使用すると、出力は圧縮されません。したがって、前の例では、参照された 2 つの論文の著者 5 ~ 8 のリストが 2 倍になります。
圧縮を維持しながら、一時的に(\citeの1回の呼び出しで)表示される著者の数を増やすにはどうすればよいですか?
ウェブ:
\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