当设置 maxnames=N 时,打印 \citename 中的所有作者

当设置 maxnames=N 时,打印 \citename 中的所有作者

我想做的是,在一个我设置maxnames为小数字的文档中打印完整的作者列表以供参考。我希望将姓名打印为名字 姓氏. 可以使用\citename{<ref>}{author},但它将被截断何时maxnames生效。我想我需要定义一种新的格式以供使用\citename,但我还不太清楚应该如何做。

梅威瑟:

\documentclass{article}
\usepackage[style=authoryear,maxnames=3]{biblatex}
\addbibresource{biblatex-examples.bib}

\begin{document}
This should print Aks\i{}n et al. (2006): \textcite{aksin}

\bigskip

Here I would like to print all the authors, not just `Özge Aks\i{}n et al':
\citename{aksin}{author}
\end{document}

答案1

您可以创建自定义命令:

\documentclass{article}
\usepackage[style=authoryear,maxnames=3, backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}

% creation of \citeallnames command
\newcommand\citeallnames{\AtNextCite{\defcounter{maxnames}{99}}\citename}

\begin{document}
This should print Aks\i{}n et al. (2006): \textcite{aksin}

\bigskip

All authors with customized command:
\citeallnames{aksin}{author}

\end{document}

相关内容