- 我正在使用
\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.def
v3.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}