我如何引用作者的全名(=名字+姓氏)biblatex
?
@book{Gladwell2005,
author = {Gladwell, Malcolm},
address = {New York, NY},
publisher = {Back Bay Books},
title = {Blink: The Power of Thinking Without Thinking},
year = {2005},
}
然后我想引用马尔科姆·格拉德威尔全名的书。所以我要找的是某种\citefullauthorname
宏。
答案1
人们可以\DeclarenameAlias{labelname}{<whatever>}
在新的作者引用命令中使用。
\documentclass{article}
\usepackage{biblatex}
\DeclareCiteCommand{\citeauthorfirstlast}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\DeclareNameAlias{labelname}{first-last}%
\usebibmacro{prenote}}
{\ifciteindex
{\indexnames{labelname}}
{}%
\printnames{labelname}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\citeauthorlastfirst}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\DeclareNameAlias{labelname}{last-first}%
\usebibmacro{prenote}}
{\ifciteindex
{\indexnames{labelname}}
{}%
\printnames{labelname}}
{\multicitedelim}
{\usebibmacro{postnote}}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{Knu86,
author = {Knuth, Donald E.},
year = {1986},
title = {The \TeX book},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\citeauthorfirstlast{Knu86}
\citeauthorlastfirst{Knu86}
\citeauthor{Knu86}
\printbibliography
\end{document}
答案2
您可以定义自己的引用命令,例如此命令,它将完整打印所有名称;
\DeclareCiteCommand*{\citeauthor}
{\defcounter{maxnames}{99}%
\defcounter{minnames}{99}%
\defcounter{uniquename}{2}%
\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\ifciteindex{\indexnames{labelname}}{}%
\printnames{labelname}}
{\multicitedelim}
{\usebibmacro{postnote}}
您可以像这样使用它\citeauthor*{Gladwell2005}
(请务必使用带星号的版本)。
答案3
以下是我的做法:
\nocite{reid1806analysis} Thomas Reid (1806, p.~91) pointed out the same problem
and reprimanded Aristotle severely for this and other errors.
是的,如果我更改 Reid 引文,这会导致冗余和出错。但它会生成正确的输出,不需要调试 LaTeX/BibTeX arcana,而且我还有博士学位要完成。