改变引文中作者姓名的显示方式?

改变引文中作者姓名的显示方式?

例如,目前如果我执行以下命令,\cite{name}我会得到以下结果:

(作者 1,2000 年)
(作者 1;作者 2,2000 年)
(作者 1;作者 2;作者 3,2000 年)

我希望当作者超过 2 位时,et al. 的意思是“等”,而当作者只有 2 位时,则使用“和”。因此:

(作者 1,2000 年)
(作者 1 和作者 2,2000 年)
(作者 1 等,2000 年)

有可能得到它吗?

我发现模型导入了这些包:

\usepackage[bibjustif,abnt-etal-cite=3,abnt-full-initials=yes]{abntcite}
\usepackage[toc,page]{modelo/tex/appendix}
\usepackage[portuguese,brazilian,portuges]{babel}
\usepackage[utf8]{inputenc}
\usepackage{abnt-alf}
\usepackage{graphicx}
\usepackage{multicol}
\usepackage{listings}
\usepackage{booktabs}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{eucal}
\usepackage{amssymb}
\usepackage{mathrsfs}

如果我编辑,abnt-etal-cite=2我就可以得到我需要的 et al。但是两个作者姓名之间的分隔符怎么办?

答案1

abntcite 软件包在 CTAN 上不可用。根据这次讨论,该软件包和/或随附的样式文件在两年前存在一些缺陷。我建议您使用软件包biblatex而是按照您想要的方式处理作者姓名。

\documentclass{article}

\usepackage[style=authoryear,maxnames=2]{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{Aut10a,
  author = {Author, A.},
  year = {2010},
  title = {And now for something completely different},
}

@misc{Aut10b,
  author = {Author, A. and Buthor, B.},
  year = {2010},
  title = {And now for something completely different},
}

@misc{Aut10c,
  author = {Author, A. and Buthor, B. and Cuthor, C.},
  year = {2010},
  title = {And now for something completely different},
}
\end{filecontents}

\bibliography{\jobname}

\begin{document}

\parencite{Aut10a}

\parencite{Aut10b}

\parencite{Aut10c}

% Name cap also in bibliography
\printbibliography

% No name cap in bibliography
\printbibliography[maxnames=99]

\end{document}

答案2

我建议删除\usepackage[bibjustif,abnt-etal-cite=3,abnt-full-initials=yes]{abntcite}并放在 某处\bibliographystyle{plainnat}。这样应该可行。此外,尝试加载\usepackage[round]{natbib}并使用\citep{ }括号中的引用命令和\citet{ }文本引用命令。

相关内容