我尝试重新定义\citename
命令以仅打印第一作者的姓名(和等短语)使用以下代码:
\newcommand\citefirstname{\AtNextCite{\defcounter{maxnames}{1}}\citename}
不幸的是,作者姓名现在已正确缩写(即,仅打印第一作者的姓名),但没有等短语。
知道该怎么办吗?
MWE 粘贴在下面。
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{bibliography.bib}
@article{Cohen2005,
title={A survey of current work in biomedical text mining},
author={Cohen, Aaron M and Hersh, William R},
journal={Briefings in Bioinformatics},
volume={6},
number={1},
pages={57--71},
year={2005}
}
\end{filecontents}
\usepackage[style=apa,backend=biber]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\addbibresource{bibliography.bib}
\newcommand\citefirstname{\AtNextCite{\defcounter{maxnames}{0}}\citename}
\begin{document}
\citefirstname{Cohen2005}{author}
\end{document}
答案1
biblatex-apa
具有非常特殊的默认名称格式以符合 APA 规则。因此,如果您想使用\citename
它,明确请求labelname
名称格式可能更安全。
请注意,biblatex-apa
定义\citeauthor*
为打印中的名字labelname
。也许这就是您要找的。
\documentclass{article}
\usepackage[style=apa,backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}
\newcommand\citefirstname{\AtNextCite{\defcounter{maxnames}{0}}\citename}
\begin{document}
\citefirstname{sigfridsson}[labelname]{author}
\citeauthor*{sigfridsson}
\end{document}
Sigfridsson 等人
Sigfridsson 等人