如何对两位以上的作者使用“John et. al. 1990”引文?

如何对两位以上的作者使用“John et. al. 1990”引文?

我正在尝试使用 natbib 进行引用。每当我尝试使用两个以上的作者进行引用而不是使用“et. al.”时,引用就会变成数字格式,而不是作者年份引用。

我正在使用它作为

\usepackage[longnamesfirst, authoryear]{natbib} 

\bibliographystyle{plainnat}

答案1

plainnat样式应该会按预期工作。以下是示例:

\documentclass{article}
\begin{filecontents}{\jobname.bib}

@article{Sag1985,
    Author = {Ivan A Sag and G Gazdar and T Wasow and S Weisler},
    Journal = {Natural Language \& Linguistic Theory},
    Pages = {117-171},
    Title = {Coordination and How to Distinguish Categories},
    Volume = {3},
    Year = {1985}}
\end{filecontents}
\usepackage[longnamesfirst, authoryear]{natbib}
\bibliographystyle{plainnat}
\begin{document}
First mention \cite{Sag1985}. Second mention    \cite{Sag1985}

\bibliography{\jobname}
\end{document}

代码输出

答案2

你使用的引用方案告诉 LaTeX 在第一次引用时打印完整的作者列表,并在第一次引用时打印缩写的作者列表(带有)为下一个。所以

\documentclass{article}
\usepackage[longnamesfirst, authoryear]{natbib}

\begin{document}
A citation \citep{a}

Another \citep{a}

A citation \citep{b}

Another \citep{b}

\bibliographystyle{plainnat}
\bibliography{mybib}
\end{document}

使用以下(假)数据库mybib.bib

@article{a,
author={Alpher, A. and Bethe, B. and Gamow, G.},
title={A nice title},
journal={J. Niceties},
year=2013,
pages={1234-5678},
}
@article{b,
author={Alpher, A. and Bethe, B. and Gamow, G. and Delta, D.},
title={A nice title},
journal={J. Niceties},
year=2013,
pages={1234-5678},
}

将打印

引文 [Alpher、Bethe 和 Gamow,2013a]
另一篇 [Alpher et al.,2013a]
引文 [Alpher、Bethe、Gamow 和 Delta,2013b]
另一篇 [Alpher et al.,2013b]

如果你使用\citep*,则会获得完整列表:

引文 [Alpher、Bethe 和 Gamow,2013a]
另一篇 [Alpher、Bethe 和 Gamow,2013a]
引文 [Alpher、Bethe、Gamow 和 Delta,2013b]
另一篇 [Alpher、Bethe、Gamow 和 Delta,2013b]

还有\citet*,用于“文本引用”。

答案3

据我所知有三种方法可以帮助您。

第一种方法,最简单,但我认为最不令人满意,就是修改 .bib 文件的引用,只保留第一作者的名字,后面跟着“and others”。plainnat 会自动将“and others”更改为“et al.”

第二种方法是使用另一种已经包含此“中继”功能的书目样式。

第三个涉及更改您的 plainnat.bst 文件。我将向您推荐另一个答案在这个 stackexchange 上。

相关内容