# Modify abbrvnat bibliography style so that last name comes first in typeset entries

I use \bibliographystyle{abbrvnat} as bibliography style in LaTeX \documentclass{book}.

All is fine except that I would like the bibliography to sort alphabetically the last name of the author, instead of his/her initials. Has anybody come across that? Any help is much appreciated.

• Do you use BibTex? – EJG89 Jan 17 '14 at 11:51
• Welcome to TeX.SX! You can have a look at our starter guide to familiarize yourself further with our format. – karlkoeller Jan 17 '14 at 11:51
• @EJG89 yes I do, sorry forgot to mention it – Mary Jan 17 '14 at 11:52

Only just noticed your posting; I hope the following answer will still be useful to you.

If I understand your objective correctly, you want the surnames to be listed before the initials of the first (and, if present, any middle) names in the references, with a comma separating the surname from the first and middle names.

Starting out from the bibliography style file abbrvnat.bst, your objective may be achieved as follows:

• Locate the file abbrvnat.bst in your TeX distribution. Make a copy of this file, and name the copy, say, myabbrvnat.bst. (Don't modify a file that's part of the TeX distribution directly.

• Open the file myabbrvnat.bst in your favorite text editor. (The one you use to edit your .tex files will do.) Seach for the following line:

{ s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$'t :=  (it'll be in the function called format.names) and change it to { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't :=


You can probably guess that "vv" stands for "von part" of a name, "ll" stands for "last name", etc. The ordering suggested above conforms to U.S. usage, which places the "von part" before the last name, as in "von der Vogelweide, W." If, instead, you want the "von part" to come after the first names' initials, i.e., if you want the name to be typeset as "Vogelweide, W. von der", you should change the line above to

{ s nameptr "{ll}{, jj}{, f. }{, vv}" format.name\$ 't :=

• Save the file myabbrvnat.bst either in the directory where your main .tex file is located or in a directory that's searched by your TeX distribution. If you choose the latter option, be sure to update the TeX filename database in a way that's appropriate for your TeX distribution.

• Start using the new style file by issuing the command \bibliographystyle{myabbrvnat}. Be sure to run LaTeX, BibTeX, and LaTeX twice more with this new setup so that all changes are propagated fully.

For instance, suppose the bib entry you provided in a comment to the other answer, viz.,

@ARTICLE{KoBaTr00,
author = {D. Komatitsch and C. Barnes and J. Tromp},
title  = {Wave propagation near a fluid-solid interface:
a spectral element approach},
journal = geophysics,
year    = {2000},
volume  = {65},
pages   = {623-631},
number  = {2},
doi     = {10.1190/1.1444758},
}


is stored in a file called temp.bib. Then, the following MWE

\documentclass{article}
\usepackage{natbib,url}
\bibliographystyle{myabbrvnat}
\begin{document}
\nocite{*}
\bibliography{temp}
\end{document}


will produce the following output:

• Sorry for the late verification, your answer is helpful, it solves the problem I had. – Mary Apr 30 '14 at 9:31
• i would have up-voted but i need more reputation; your answer is accepted. thanks – Mary Apr 30 '14 at 11:56

I suspect that you store the author names in the wrong way making the compiler think the initial is part of the last name. The correct way in describing the author (source wikipedia) http://en.wikipedia.org/wiki/BibTeX#Author_formatting

Last name prefixes such as von, van and der are handled automatically, provided they are in lower case to distinguish them from middle names. Multiple word last names are distinguished from first and middle names by placing the last names first, then a comma, then the first and middle names. Name suffixes such as Jr., Sr., and III are generally handled by using two comma separators as in the following example:

@Book{hicks2001,
author    = "von Hicks, III, Michael",
title     = "Design of a Carbon Fiber Composite Grid Structure for the GLAST
Spacecraft Using a Novel Manufacturing Technique",
publisher = "Stanford Press",
year      =  2001,
edition   = "1st",
isbn      = "0-69-697269-4"
}


If the author does not use a comma to separate the name suffix from the last name, then curly brackets {Hicks III} may be used instead.

Multiple authors should be separated with an and, not with commas:

@Book{Torre2008,
author    = "Joe Torre and Tom Verducci",
publisher = "Doubleday",
title     = "The Yankee Years",
year      =  2008,
isbn      = "0385527403"
}


The way the author shows in the bibliography depends on the bibliographystyle. An overview of styles is given here:

overview of styles

To sort alphabetically and display the author as last name, initals for instance choose 'ametsoc' as style.

• Very instructive comment, indeed it works; unfortunately I have hundreds of entries in my *.bib library, thus changing all the names would be a painful job. Thanks! – Mary Jan 17 '14 at 12:03
• Maybe you could use a third-party program as EndNote (maybe) or JabRef (doubtful) to fix it? How is it that you store authors now? – EJG89 Jan 17 '14 at 12:54
• @ARTICLE{KoBaTr00, author = {D. Komatitsch and C. Barnes and J. Tromp}, title = {Wave propagation near a fluid-solid interface: a spectral element approach}, journal = geophysics, year = {2000}, volume = {65}, pages = {623-631}, number = {2}, doi = {10.1190/1.1444758} } This is an example of how I store an article. I am not familiar with the third-party programs you mention above, I will look them up though. – Mary Jan 17 '14 at 13:04
• This particular description does not pose a problem and is recognized as Komatitsch et al. by JabRef – EJG89 Jan 17 '14 at 13:06
• So does in the manuscript when I cite this article; however my question is how can this be shown as : Komatisch D, Barnes C, Tromp J... in the bibliography, instead of D. Komatitsch,.. . – Mary Jan 17 '14 at 13:09