如何自定义引用样式(作者、年份)?

如何自定义引用样式(作者、年份)?

我正在使用 Overleaf,与我的 bib 相关的序言是:

\usepackage{natbib}
\bibliographystyle{plainnat}

在文档中,我想以 的形式调用引用(Hoek, 2007)。我设法做到了,但是输入文本有点长而且很烦人:

(\citeauthor{hoek2007}, \citeyear{hoek2007})

我对命令还不熟悉,我尝试了一下,但 Overleaf 命令的解释让我看不懂。我尝试了以下方法:

\newcommand{\citeay}[1]{(\citeauthor{#1}, \citeyear{#1})}

但的结果\citeay{hoek2007}只是[1]

答案1

但结果\citeay{hoek2007}只是[1]。:-(

您需要使用以下natbib选项加载包:authoryearround

\usepackage[authoryear,round,<other options>]{natbib}

在文档中,我想要以 的形式 [创建引用标注] (Hoek, 2007)

无需创建您调用的宏\citeay。只需使用 natbib 的\citep宏(我猜是“括号式引用调用”的缩写)。

答案2

我本来想在评论中输入这段内容,但我不知道如何在 StackExchange 上格式化评论。

在编写 MWE 时,我发现了问题的根源:

\documentclass{article}
%\documentclass{revtex4-1}


\usepackage[utf8]{inputenc}
\usepackage[authoryear,round]{natbib}
\bibliographystyle{plainnat}

\begin{document}
Some words and stuff. \citep{hoek2007}.

\bibliography{sample}
\end{document}

使用时\documentclass{article} \citep{...}会产生所需的(Hoek, 2007)。但是当我\documentclass{revtex4-1}出于某种原因使用时,它会覆盖它(我之所以使用此文档类,是因为我使用了模板)。因此,根据 Overleaf 上的错误消息,至少有一件事发生了冲突:

LaTeX Error: Option clash for package natbib.

相关内容