如何使用 natbib 为同一作者的多个引文添加所有格 's?

如何使用 natbib 为同一作者的多个引文添加所有格 's?

我正在使用该软件包apacite,其中包含用于文内引用和参考文献列表管理的选项natbibapa,到目前为止,它运行良好,但当我想引用同一作者的两个来源 + 添加所有格 's 时,我遇到了麻烦。当只有一位作者时,我有以下解决方案来将 's 添加到我的引文中:

\usepackage{csquotes}
\usepackage[natbibapa]{apacite}
\newcommand\cites[1]{\citeauthor{#1}'s\ (\citeyear{#1})}

但是,当我想写“Smith and Johnson's (2011, 2015)”时,我会在文本中写入以下内容:

\cites{SmithJohnson2011,SmithJohnson2015}

但我最终得到的是“Smith and Johnson;Smith and Johnson's (2011, 2015)”。我不知道在包含同一作者的更多论文时如何重新定义命令以获得正确的格式。有人能帮忙吗?

答案1

为了处理一般情况,我认为\cites需要采用两个单独的参数,例如

\newcommand\cites[2]{\citeauthor{#1}'s \citeyearpar{#2}}

在此处输入图片描述

\documentclass{article} % or some other suitable document class

\begin{filecontents}[overwrite]{mybib.bib}
@misc{sj2011,author="Susan Smith and Janine Johnson", title="Thoughts 1", year=2011}
@misc{sj2015,author="Susan Smith and Janine Johnson", title="Thoughts 2", year=2015}
\end{filecontents}

\usepackage[natbibapa]{apacite}
\bibliographystyle{apacite}
\newcommand\cites[2]{\citeauthor{#1}'s \citeyearpar{#2}}

\begin{document}
\cites{sj2011}{sj2011,sj2015}
\bibliography{mybib}
\end{document}

相关内容