[Tex/LaTex] How to make last names of authors appear first in the bibliography

bibtex

I want my bibliography to be display last names before first names, instead of first name, last name. How do I do that in an article document class, the natbib citation management package, and the plainnat bibliography style? Do I have to change entries in my bibtex file or is there a command for that?

This is what my bibtex entries look like so far:

@article{battin2009boundless,
  title={The boundless carbon cycle},
  author={Battin, Tom J and Luyssaert, Sebastiaan and Kaplan, Louis A and Aufdenkampe, Anthony K and Richter, Andreas and Tranvik, Lars J},
  journal={Nature Geoscience},
  volume={2},
  number={9},
  pages={598--600},
  year={2009},
  publisher={Nature Publishing Group}
}

Bibtex example

How can I change it to 'Battin, T.J. ….'?

HereĀ“s (hopefully) my minimum working example:

\documentclass[12pt]{article}
\usepackage[round]{natbib}
\usepackage[nottoc,numbib]{tocbibind}

\begin{document}

\cite{battin2009boundless}

\bibliographystyle{plainnat}
\bibliography{mybib}

\end{document}

bibtex file:

@article{battin2009boundless,
  title={The boundless carbon cycle},
  author={Battin, Tom J and Luyssaert, Sebastiaan and Kaplan, Louis A and Aufdenkampe, Anthony K and Richter, Andreas and Tranvik, Lars J},
  journal={Nature Geoscience},
  volume={2},
  number={9},
  pages={598--600},
  year={2009},
  publisher={Nature Publishing Group}
}

Best Answer

You need to change a single line in the bibliography style file to achieve your formatting objective. I suggest you proceed as follows:

  • Locate the file plainnat.bst in your TeX distribution. Make a copy of this file, and call the copy, say, plainnat-reversed.bst. (Do not edit an original file of the TeX distribution directly.

  • Open the file plainnat-reversed.bst in a text editor. The text editor program you use to edit your tex files will do fine.

  • In the file plainnat-reversed.bst, locate the function format.names. (It starts on line 216 in my copy of the file.)

  • Inside this function, locate the following line:

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

    Change this line to

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

    If you also want to truncate the given names to just their initials, change the line to

        { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't :=
    
  • Save the file plainnat-reversed.bst either in the directory where you main tex file is located or in a directory that's searched by BibTeX. If you choose the second option, be sure to update the filename database of your TeX distribution suitably.

  • In your main tex file, change the instruction \bibliographystyle{plainnat} to \bibliographystyle{plainnat-reversed}. Rerun LaTeX, BibTeX, and LaTeX twice more to fully propagate all changes.

Happy BibTeXing!

A full MWE:

enter image description here

\RequirePackage{filecontents}
\begin{filecontents}{mybib.bib}
@article{battin2009boundless,
  title={The boundless carbon cycle},
  author={Battin, Tom J. and Luyssaert, Sebastiaan and Kaplan, Louis A. and Aufdenkampe, Anthony K. and Richter, Andreas and Tranvik, Lars J.},
  journal={Nature Geoscience},
  volume={2},
  number={9},
  pages={598--600},
  year={2009},
  publisher={Nature Publishing Group}
}
\end{filecontents}

\documentclass[12pt]{article}
\usepackage[round]{natbib}
\bibliographystyle{plainnat-reversed}

\begin{document}
\cite{battin2009boundless}
\bibliography{mybib}   
\end{document}