![如何强制 Latex 用“et al.”缩写其他作者?](https://linux22.com/image/326468/%E5%A6%82%E4%BD%95%E5%BC%BA%E5%88%B6%20Latex%20%E7%94%A8%E2%80%9Cet%20al.%E2%80%9D%E7%BC%A9%E5%86%99%E5%85%B6%E4%BB%96%E4%BD%9C%E8%80%85%EF%BC%9F.png)
我使用“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
在加载时指定该选项。而且,由于参考书目样式使用括号中的作者年份样式引文标注,因此选项和natbib
ecta
natbib
round
numberyear
(尽管提供它们也没有什么坏处)。
单独的注释:不要.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}