我正在写一篇博士论文,要求我同时使用\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}]}