仅为第一作者重新定义 citename 命令

仅为第一作者重新定义 citename 命令

我尝试重新定义\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 等人

相关内容