不带外括号的多个引用

不带外括号的多个引用

使用 AAAI 风格包括在这里 详情请见此处,当我引用几位作者时,例如:

\cite{X,Y,Z}

我得到:

(Xauthor, Xyear; Yauthor, Yyear; Zauthor, Zyear)

当我这样引用时:

\citealt{X,Y,Z}

我得到:

XauthorYear; YauthorYear; ZauthorYear

有没有办法不用外括号来引用?这样我就可以实现

Yada yada yada (e.g., Xauthor, Xyear; Yauthor, Yyear; Zauthor, Zyear)

代替

Yada yada yada (e.g., (Xauthor, Xyear; Yauthor, Yyear; Zauthor, Zyear))

或者

Yada yada yada (e.g., (XauthorYear; YauthorYear; ZauthorYear))

我能找到的唯一解决办法就是

\citeauthor{xcitation} \citeyear{xcitation}, \citeauthor{ycitation}  \citeyear{ycitation}, \citeauthor{zcitation} \citeyear{zcitation}

但似乎这是一种更有效的方式来实现这一目标。

(注意:正如下面的评论中提到的,这个答案接受的解决方案涉及使用 natbib,这是提交给 AAAI 会议时明确禁止的包。如果您确实需要向 AAAI 会议提交文档,则此页面不包含您的答案。)

答案1

您可以natbib在序言中添加以下内容来使用包:

\usepackage{natbib}

然后,根据natbib 文档当您使用:

\citeauthor*{jon90}--> 琼斯、贝克和威廉姆斯

\citet*{jon90}--> 琼斯、贝克和威廉姆斯 (1990)

\citep*{jon90}-->(琼斯、贝克和威廉姆斯,1990 年)

\citealt{jon90}--> Jones、Baker 和 Williams,1990 年

答案2

根据 AAAI 作者工具包提供的说明,不允许使用 natbib 包。他们写道,如果您使用它...

[...] 你的参考文献将会被弄乱,而且你的论文将会被退回给你。

他们建议的解决方法是:

如果您使用了 natbib 命令,可以使用一种不精确的解决方法(尽管它并不总是有效)。您可以在序言中放入以下内容(在删除 \usepackage{natbib} 之后

\newcommand{\citet}[1]{\citeauthor{#1} \shortcite{#1}}
\newcommand{\citep}{\cite}
\newcommand{\citealp}[1]{\citeauthor{#1} \citeyear{#1}}

相关内容