5

I have the following BibTeX entry:

@article{pubmed18800157,
    author = {Heng, T.S. and Painter, M.W. and Immunological Genome Project Consortium},
    title = {The {I}mmunological {G}enome {P}roject: networks of gene expression in immune cells.},
    journal = {Nat. Immunol.},
    pages = {1091-1094},
    volume = {9},
    number ={10},
    year = {2008},
},
%\bibliographystyle{unsrt}

When the bibliography is generated, it puts comma a the end of the author: enter image description here

Notice the comma after M.W. Painter. Is there a way to remove it?

Joseph Wright
  • 259,911
  • 34
  • 706
  • 1,036

2 Answers2

6

To get rid of that Oxford comma, you'll need to modify the .bst file – in your case that is unsrt.bst. Locate the file .bst file on your system, copy and rename it (to unsrtnox.bst, for example) and put it somewhere LaTeX can find it.

The relevant function is called FUNCTION {format.names} (unsrt.bst, l. 185).

If you get rid of the four lines

numnames #2 >
  { "," * }
  'skip$
if$

making it (in our case of unsrt.bst)

FUNCTION {format.names}
{ 's :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
      nameptr #1 >
  { namesleft #1 >
      { ", " * t * }
      { t "others" =
          { " et~al." * }
          { " and " * t * }
        if$
      }
    if$
  }
    't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}

the comma before the last name disappears.

The test above is evoked at the penultimate name (otherwise a comma is printed following the name) and checks if the list contains more than two names, if so, the comma will be printed anyway. Getting rid of this test prevents the comma from being printed.

moewe
  • 175,683
6

Complementary to the approach of editing a .bst file, if you are willing to shift to biblatex then you can do this using the trad-unsrt style and a very minor customisation:

\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{pubmed18800157,
    author = {Heng, T. S. and Painter, M. W. and {Immunological Genome Project Consortium}},
    title = {The {Immunological} {Genome} {Project}:
      networks of gene expression in immune cells.},
    journal = {Nat. Immunol.},
    pages = {1091-1094},
    volume = {9},
    number ={10},
    year = {2008},
},
\end{filecontents}
\documentclass{article}
\usepackage[backend=bibtex,bibstyle=trad-unsrt]{biblatex}
\bibliography{\jobname}
\renewcommand*{\finalnamedelim}{\addspace \bibstring {and}\space}

\begin{document}

\textcite{pubmed18800157}

\printbibliography

\end{document}

Note that this has nothing to do with institutional authors: the same is true for any list of three or more authors with the unsrt style.

Joseph Wright
  • 259,911
  • 34
  • 706
  • 1,036