[Tex/LaTex] Wrong alphabetical order in .bbl file

bibtexsorting

I have a problem with alphabetical order of my bibliography, which is not due to my .bib file, but rather in the way in which the .bbl file is generated. Let me explain the problem by means of a fictitious example.

Imagine that in my .bib file I have the following two entries:

@article{ABC14,
    author = {Abel, A. and Barnett, B. and Conway, C.},
    journal = {Journal 1},
    title = {Title 1},
    year = {2014}
}
@article{AD10,
    author = {Abel, A. and Donald, D.},
    journal = {Journal 2},
    title = {Title 2},
    year = {2010}
}

After running bibtex, I obtain a .bbl file where the two corresponding entries are

\bibitem[Abel and Donald(2010)]{AD10}
A. Abel and D. Donald.
\newblock {Title 2}.
\newblock \emph{Journal 2}, 2010.

\bibitem[Abel et~al.(2014)Abel, Barnett, and Conway]{ABC14}
A. Abel, B. Barnett and C. Conway.
\newblock {Title 1}.
\newblock \emph{Journal 1}, 2014.

As a consequence, these two articles appear in the wrong alphabetical order in the bibliography at the end of my article. I suspect that the issue lies somewhere in the .bst file and, in particular, in the function FUNCTION {format.names} which introduces the "et al." in place of the full list of authors. Anyhow, how can I fix this issue?

Best Answer

As @UlrikeFischer has already pointed out in a comment, and as @Robert has confirmed in a separate answer, the alphabetical sorting mechanism employed by the plainnat and abbrvnat bibliography styles appears to thrown off if the citation keys of entries with the same first author are followed by either "et al" (for three or more authors) or just a single (second) author.

Until this issue is fixed by the author/maintainer of the natbib package, you'll have to employ the \noopsort device that's illustrated in the following example.

enter image description here

\documentclass{article}

\usepackage{filecontents}
\begin{filecontents}{mybib.bib}
@preamble{ "\providecommand\noopsort[1]{}" }
@article{ABC14,
    author  = {Adrienne \noopsort{1}Abel and Bertha Barnett and Christine Conway},
    journal = {Journal 1},
    title   = {Title 1},
    year    = {2014},
}
@article{AD10,
    author  = {Adrienne \noopsort{2}Abel and Deirdre Donald},
    journal = {Journal 2},
    title   = {Title 2},
    year    = {2010},
}
\end{filecontents}

\bibliographystyle{abbrvnat}
\usepackage[round]{natbib}

\begin{document}
\nocite{*}
\bibliography{mybib}
\end{document}
Related Question