Natbib 样式显示参考文献列表中的引用术语

Natbib 样式显示参考文献列表中的引用术语

我正在写一篇博士论文,要求我同时使用\citet\citep样式引用(因此据我所知,需要 natbib)。我希望citep参考文献阅读[Mitchell 2013]citet参考文献阅读Mitchell [2013],并希望最后的参考文献列表包含以下citep形式,例如:

[Mitchell 2013]: Henry Mitchell, 2013. The Biography.

我不太在意确切的参考文献列表样式,但到目前为止,citep除了数字参考文献样式之外,我还能找到任何在开头复制文本的样式。如果我不使用 natbib,那么有很多参考文献样式citep在开头包含,例如these.bst,但这样我就失去了citet

答案1

使用 natbib 与plainnat.bst,假设您已经设置\bibpunct();A{},好,您可以定义:

\let\oldBibitem\bibitem
\renewcommand{\bibitem}[2][]{\oldBibitem[#1]{#2}\StrBefore{#1}{(}\ (\StrBetween{#1}{(}{)}):}

您还需要\usepackage{xspace}在顶部。

这使得条目显示为:

Mitchell (2013): Henry Mitchell, 2013. The Biography.

通过编辑宏可以轻松修改括号字符和位置。

答案2

根据要求:如果您需要,\citet您可以始终像这样定义它:

\newcommand{\citet}[1]{\citeauthor{#1} [\citeyear{#1}]}

相关内容