如何强制 Latex 用“et al.”缩写其他作者?

如何强制 Latex 用“et al.”缩写其他作者?

我使用“ecta”书目样式,但有一个例外,它工作得很好。我有许多不同的引文,其中包括 2 位以上的作者。但是,只有一个引文 latex 使用所有作者的姓名,而不是用 et al. 缩写。我使用以下命令:

\citep[p.~37]{james2013introduction}

bib文件中的条目如下:

@book{james2013introduction,
title={An Introduction to Statistical Learning},
author={James, Gareth and Witten, Daniela and Hastie, Trevor J. and Tibshirani, Robert John},
year={2013},
publisher={Springer}
}

我在文中得到了以下引用:

(James, Witten, Hastie, and Tibshirani, 2013: p. 37)

我尝试用多种不同的方法更改 bib 文件中的条目。但是,我找不到解决这个问题的方法,非常希望得到帮助。

PS:下面是我在文件中使用的确切代码(调用 bib-file scholar):

\documentclass[12pt,a4paper,fleqn]{article}
\usepackage[round,longnamesfirst,authoryear]{natbib}

\begin{document}

This citation causes the problem: \citep[p.~37]{james2013introduction}
\bibliographystyle{ecta}
\bibliography{scholar.bib}
\end{document}

答案1

如果您不想在第一次引用多作者作品时显示所有作者的姓名,请不要longnamesfirst在加载时指定该选项。而且,由于参考书目样式使用括号中的作者年份样式引文标注,因此选项和natbibectanatbibroundnumberyear(尽管提供它们也没有什么坏处)。

单独的注释:不要.bib在 的参数中包含子字符串\bibliography。即,写\bibliography{scholar}而不是\bibliography{scholar.bib}

在此处输入图片描述

\RequirePackage{filecontents}
\begin{filecontents}{scholar.bib}
@book{james2013introduction,
   title     = {An Introduction to Statistical Learning},
   author    = {James, Gareth and Witten, Daniela and 
                Hastie, Trevor J. and Tibshirani, Robert John},
   year      = {2013},
   publisher = {Springer},
}
\end{filecontents}

\documentclass[12pt,a4paper,fleqn]{article}
\usepackage{natbib}

\begin{document}
This citation no longer causes a problem: \citep[p.~37]{james2013introduction}
\bibliographystyle{ecta}
\bibliography{scholar}
\end{document}

相关内容