我在引用多篇论文(不同年份)且所有格格式的作者时遇到了困难。我想要像这样的引用
Smith(1997,2001)。
我设法
Smith(1997),
但不是
Smith(1997,2001)。
我使用natbib
,我使用的新命令是:
\usepackage{natbib}
\newcommand\citeapos[1]{\citeauthor{#1}'s (\citeyear{#1})}
有人能在这件事上帮助我吗?
答案1
可能的解决方案:\citeapos
采取二参数:第一个将被输入到\citeauthor
,第二个将被输入到\citeyear
:
\usepackage{natbib}
\newcommand\citeapos[2]{\citeauthor{#1}'s (\citeyear{#2})}
建议用法:\citeapos{smith97}{smith97,smith01}
。
(我尝试创建一个宏,从中提取第一个键(即,直到第一个逗号的所有内容)smith97,smith01
并将结果传递给\citeauthor
。但是,我一直收到形式为的错误Argument of \@citex has an extra }
。这就是为什么我建议设置一个双参数宏来处理属格引用标注。)