我尝试以内联方式引用作者:
\citeauthor{label} have shown...
虽然我通常只会使用“作者 A等“,在这种情况下,我想展开所有作者。这是因为这篇论文的作者通常用缩写来分组(ABCD 定理(来自作者 A、B、C 和 D)指出...)。
我怎样才能展开这篇论文的所有作者?
答案1
对于一次性事件,您可以\AtNextCite{\AtEachCitekey{\defcounter{maxnames}{999}}}
在\citeauthor
想要提及所有名称之前使用。
当然,这很快就会变得乏味,所以强烈建议将其打包成一个新命令(\citeallauthors
比如说)。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=numeric]{biblatex}
\newrobustcmd*{\citeallauthors}{%
\AtNextCite{\AtEachCitekey{\defcounter{maxnames}{999}}}%
\citeauthor}
\begin{filecontents}{\jobname.bib}
@book{elk,
author = {Anne Elk and Annie Hacker and James Hacker and Humphrey Appleby},
title = {A Theory on Brontosauruses},
year = {1972},
publisher = {Monthy \& Co.},
location = {London},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \citeauthor{elk}
ipsum \AtNextCite{\AtEachCitekey{\defcounter{maxnames}{999}}}\citeauthor{elk}
ipsum \citeallauthors{elk}
Lorem \citeauthor{yoon}
ipsum \citeauthor{companion}
dolor \citeauthor{sigfridsson}
\printbibliography
\end{document}
此解决方案要求您手动选择是否提及所有名称。如果您始终想提及特定来源的所有名称,请使用maxcitenames
每个条目级别的选项。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=numeric]{biblatex}
\begin{filecontents}{\jobname.bib}
@book{elk,
author = {Anne Elk and Annie Hacker and James Hacker and Humphrey Appleby},
title = {A Theory on Brontosauruses},
year = {1972},
publisher = {Monthy \& Co.},
location = {London},
options = {maxcitenames=999},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \citeauthor{elk}
Lorem \citeauthor{yoon}
ipsum \citeauthor{companion}
dolor \citeauthor{sigfridsson}
\printbibliography
\end{document}