有没有一种简单的方法可以同时为\citet
和 分别使用逗号分隔符\citep
?目前是[comma]{natbib}
,但是(例如,Black and White, 2006, Pink, 2006)看起来很丑,White and Black (2006); Pink(2006) 也是如此。
答案1
如果我正确理解了你的意思,我认为这应该可以做到。
\usepackage{natbib}
\usepackage{etoolbox}
\makeatletter
\newcommand\bibstyle@comma{\bibpunct(),a,,}
\newcommand\bibstyle@semicolon{\bibpunct();a,,}
\makeatother
\pretocmd\citet{\citestyle{comma}}\relax\relax
\pretocmd\Citet{\citestyle{comma}}\relax\relax
\pretocmd\citep{\citestyle{semicolon}}\relax\relax
\pretocmd\Citep{\citestyle{semicolon}}\relax\relax
您也许可以省略\citestyle
并直接使用\bibpunct
。