我需要使用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}
有什么建议么?