[Tex/LaTex] REVTeX bibliography author initals

bibliographiesbibtexrevtex

I am trying to get my bibliography in a REVTeX4.1 document to print out:

Smith, PJ

as the author instead of

Peter John Smith

(which of course is horrible if you're searching for alphabetically sorted surnames.

My MWE is as follows:

\documentclass[a4paper,twocolumn,       %   A4 paper, two columns
  nofootinbib,superscriptaddress,       %       
  aps,prb,citeautoscript, 10pt,         %   The prb style of RevTex uses superscript cross-references for citations
  eqsecnum,notitlepage,showkeys]{revtex4-1}
  % Either of the following 2 lines (from other similar questions) don't seem to work/compile
%\usepackage[style=authoryear,firstinits,url=false]{biblatex}
%\usepackage[round, sort&compress, authoryear]{natbib}
\usepackage{hyperref}   % Hyperref likes to be the last package included but putting it last breaks figure references!
\begin{document}
The manuscript elements have been formatted for you with LaTeX. 
References can be included such as \cite{Ehrlich2006} or \cite{Kindig2009}.
Multiple references are also handled \cite{Staal2007, Iwamoto2002,CDCgirlGrowthCharts}.
\bibliographystyle{plain}
\bibliography{PAPER_JSAE_template_BIBLIOGRAPHY}
\end{document}

With PAPER_JSAE_template_BIBLIOGRAPHY.bib containing:

@Article{Staal2007,
   Author="Staal, J.  and van Ginneken, B.  and Viergever, M. A. ",
   Title="{{A}utomatic rib segmentation and labeling in computed tomography scans using a general framework for detection, recognition and segmentation of objects in volumetric data}",
   Journal="Med Image Anal",
   Year="2007",
   Volume="11",
   Number="1",
   Pages="35--46",
   Month="Feb"
}
@mastersthesis{Kindig2009,
    author    = "Matthew W. Kindig",
    title     = "Tolerance to failure and geometric influences on the stiffness of human ribs under anterior-posterior loading",
    school    = "University of Virginia",
    type     = "Master''s thesis",
    address  = "",
    year      = "2007",
    month    = "",
    note     = "",
}
@online{CDCgirlGrowthCharts,
  author = {National Center for Health Statistics},
  title = {{CDC} Clinical Growth Charts},
  year = 2000,
  url = {http://www.cdc.gov/growthcharts/clinical_charts.htm},
  urldate = {30/09/2010}
  howpublished = {\url{http://www.cdc.gov/growthcharts/clinical_charts.htm}} 
}
@article{Ehrlich2006,
   author = {Ehrlich, Peter F  and Brown, J Kristine and Sochor, Mark R  and Wang, Stewart C and Eichelberger, Martin E},
   title = {Factors influencing pediatric injury severity score and Glasgow coma scale in pediatric automobile crashes: results from the Crash Injury Research Engineering Network},
   journal = {Journal of Pediatric Surgery},
   volume = {41},
   number = {11},
   pages = {1854-1858},
   year = {2006}
}
@inproceedings{Iwamoto2002,
   author = {Iwamoto, M. and Kisanuki, Y. and Watanabe, I. and Furusu, K. and Miki, K. and Hasegawa, J.},
   title = {Development of a finite element model of the total human model for safety (THUMS) and application to injury reconstruction},
   booktitle = {Proceedings of the International IRCOBI Conference},
   year = {2002}
}

enter image description here

How can I make my bibliography authors get labeled consistently as above, without, of course, going through the .bib file and renaming everyone?

Best Answer

The formatting of the references is controlled by the bibliography style file you've chosen; in the present MWE, that would be the plain style. To change the formatting of the authors' names to meet your preferences -- Albert Bertram Smith to be typeset as Smith, AB -- one needs to change one line in the file plain.bst.

  • Find the file plain.bst in your TeX distribution, and make a copy named (say) myplain.bst. Don't edit the original file directly.

  • Open the file myplain.bst in your favorite editor and locate the following line in the function format.author:

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

    and change it to

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

    Addendum: If you do not want a comma between the surname and the initial(s) of the given name(s), i.e., if you want Smith AB, and no comma between the initials and any "Junior" part, set this line to:

        { s nameptr "{vv~}{ll}{~f{}}{~jj}" format.name$ 't :=
    
  • Save the file, 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 second method, be sure to update the TeX filename database per your TeX distribution's recommendations.

  • Start using the new style by setting the instruction \bibliographystyle{myplain}.

When running your MWE with the new bibliography style file on one of your bib entries, I get:

enter image description here


Note that you should probably add curly braces around Glasgow and Crash Injury Research Engineering Network in the title field, to prevent the words from being converted to lowercase.

On a related subject, in the entry CDCgirlGrowthCharts, you really should set the author field as

author = {{National Center for Health Statistics}} 

rather than

author = {National Center for Health Statistics},

Doing so tells BibTeX that it's dealing with a "corporate author" which should be sorted under N. You may have noticed that the entry is (incorrectly) sorted under H in the bibliography shown i your posting. Why is this happening? It's because BibTeX currently thinks it's dealing with a personal author" with given names National and Center, "von" component for, and surname Health Statistics. Ouch!!! You may not have noticed until now that something was amiss (other than the fact that the entry is sorted under "H"), because the plain bibliography style is set to typeset the full given names, followed by the "von" part and the surname; by sheer luck, this just happens to produce the correct sequence -- in this particular case. If you were to run the unmodified entry through the myplain bibliography style, the author's name would be typeset as for Health Statistics, NC, telling you rather quickly that something's not quite right.

Related Question