abbrvnat 没有 natbib 包

abbrvnat 没有 natbib 包

我需要使用abbrvnat不包含natbib包的样式进行引用,因为此包与我正在使用的期刊类不兼容。问题是,当我有多个作者时,我希望引用显示为:

(Jones 等人,1990 年)

然而,它表现为

(Jones 等人,(1990)Jones、Baker 和 Williams)

我想删除年份之后出现的作者列表,但我无法使用,\citep因为它需要natbib包。

注意:我使用的是自然语言工程期刊使用的以下课程。以下是课程中的参考书目部分。

%  ****************************************
%  *           BIBLIOGRAPHY               *
%  ****************************************

\renewcommand\@biblabel[1]{#1}
\newenvironment{thebibliography}[1]{%
    \section*{References}%
    \addcontentsline{toc}{section}{References}
    \list{}{\labelwidth\z@ \leftmargin 1em \itemindent -1em}
    \small \parindent\z@
    \parskip\z@ \@plus .1\p@\relax
    \def\newblock{\hskip .11em \@plus .33em \@minus .07em}
    \sloppy\clubpenalty\z@ \widowpenalty\@M
    \sfcode`\.\@m\relax}
    {\endlist}

\newif\if@altcite
\def\@cite#1#2{\if@altcite #2\else (#1)\fi\global\@altcitefalse}
\def\@biblabel#1{}

\newlength{\bibhang}
\setlength{\bibhang}{2em}

\def\bibtitle{References}
\def\bibheadtitle{REFERENCES}

\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
  \def\@citea{}\@cite{\@for\@citeb:=#2\do
    {\@citea\def\@citea{; }\@ifundefined
       {b@\@citeb}{{\bf ?}\@warning
       {Citation `\@citeb' on page \thepage \space undefined}}%
{\csname b@\@citeb\endcsname}}}{#1}}

\def\cite{\@ifnextchar [{\@tempswatrue\global\@altcitetrue\@citex}
  {\@tempswafalse\global\@altcitefalse\@citex[]}%
}

\let\@internalcite\cite
\def\cite{\def\citename##1{##1}\@internalcite}
\def\shortcite{\def\citename##1{}\@internalcite}

有什么建议么?

相关内容