将 citep{} 样式从 (NAME, YEAR) 更改为 (Name (YEAR))

将 citep{} 样式从 (NAME, YEAR) 更改为 (Name (YEAR))

我对 LaTeX 非常着迷,正在用它写我的学士论文。但是,我的大学有一个引用标准,目前我无法达到。使用以下样式:

\usepackage{cite} \usepackage[round]{natbib} \bibliographystyle{ecta1}

现在,如果我想进行相应的引用(而不是一对一引用),我通常使用以下命令(以 Shleifer 1993 为例):

\citep{Shleifer1993}

在文本中显示如下:

(Shleifer,1993)

我想要的是它显示如下:

(Shleifer(1993))

我该怎么做?谢谢您的回答!诚挚问候,Seït

答案1

使用一些 hack,应该独立于参考书目样式(我找不到ecta1.bst)。请注意,filecontents*环境只是为了使示例自成一体:您将使用您的 bib 文件。

\begin{filecontents*}{\jobname.bib}
@article{uthor2015,
  author={A. Uthor},
  title={Title},
  journal={Journal},
  year={2015},
}
\end{filecontents*}

\documentclass{article}
\usepackage{natbib}

\makeatletter
\bibpunct{(}{\ifNAT@swa)\fi)}{;}{a}{ (\@gobble}{,}
\makeatother

\begin{document}

\citep{uthor2015}

\citet{uthor2015}

\bibliographystyle{plainnat}
\bibliography{\jobname}

\end{document}

在此处输入图片描述

答案2

用这个:

\newcommand\citeP[1]{(\cite{#1})}

相关内容