biblatex:\citeauthor 应比 \textcite 显示更多名称(没有“et al.”)

biblatex:\citeauthor 应比 \textcite 显示更多名称(没有“et al.”)
  • 我正在使用\citeauthor该包biblatex来打印出版物的作者姓名。
  • 我想要\citeauthor打印所有名称(仅受限制maxbibnames而不受限制maxcitenames)。
  • 有没有一个干净的方法来做到这一点?
  • 我是灵活的关于细节(例如包括或不包括名字)。

在此处输入图片描述

\documentclass{article}
\usepackage[maxcitenames = 2, maxbibnames = 10]{biblatex}

% See https://ctan.org/tex-archive/macros/latex/contrib/biblatex/doc/examples
\addbibresource{biblatex-examples.bib}

\begin{document}
\begin{description}
\item[cite] \textcite{padhye}
\item[citeauthor] \citeauthor{padhye}: Here, I need the full list (up to 'maxbibnames = 10') of authors as shown in the bibliography.
\end{description}
\printbibliography 
\end{document}

答案1

这里的想法和我如何指示 \fullcite 使用 maxbibnames 而不是 maxcitenames?\citeauthor. 取(的原始定义ll. 2172-2181 在biblatex.defv3.17中) 并添加一个\defcounter{maxnames}{\blx@maxbibnames}以将计数器本地设置maxnames为其参考书目值。

\documentclass{article}
\usepackage[maxcitenames = 2, maxbibnames = 10]{biblatex}

\makeatletter
\DeclareCiteCommand{\citeauthor}
  {\defcounter{maxnames}{\blx@maxbibnames}%
   \boolfalse{citetracker}%
   \boolfalse{pagetracker}%
   \usebibmacro{prenote}}
  {\ifciteindex
     {\indexnames{labelname}}
     {}%
   \printnames{labelname}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
\makeatother

\addbibresource{biblatex-examples.bib}

\begin{document}
\begin{description}
\item[cite] \textcite{padhye}
\item[citeauthor] \citeauthor{padhye}
\item[cite] \textcite{padhye}
\end{description}
\printbibliography 
\end{document}

引用 Padhye 等人。 [1] 引用作者 Padhye、Firoiu 和 Towsley 引用 Padhye 等人。 [1] Jitendra Padhye、Victor Firoiu 和 Don Towsley。

相关内容