I am using natbib with biblostyle agsm for my references. I like to replace the "and" in the references list between author names with a simple comma. Redefining it like this had no effect

\renewcommand\harvardand{ ,}

I tried editing the agsm.bst myself but with no success.

  • Please post what you've tried so far, as a compilable example – user31729 Oct 9 '15 at 16:47

If you're willing to edit (a copy of) the file agsm.bst, you could proceed as follows:

  • Locate the file agsm.bst in your TeX distribution and make a copy. Name the copy, say, agsmcomma.bst. (Don't modify an original file of the TeX distribution.)

  • Open the file agsmcomma.bst in a text editor.

  • Replace just the first of four instances of " \harvardand\ " with ", ". This should be the instance inside the function format.names. (I assume you're OK with & showing up in the authoryear-style citation call-outs.)

  • Save the file agsmcomma.bst either in the directory where your main tex file is located or in a directory that's searched by BibTeX. If you choose the latter method, be sure to update the filename database of your TeX distribution suitably.

  • Be sure to load the "new" bibliography style with the instruction


    Moreover, re-run LaTeX, BibTeX, and LaTeX twice more to fully propagate all changes.

Addendum: Here's a full MWE (minimum working example). It uses the harvard citation management package, since agsm is part of the harvard package. If you wish to use the natbib package, you should load the har2nat package: It loads natbib internally and "translate" most of the macros provided by the harvard package into natbib equivalents. Switching from loading harvard to loading har2nat will result in "and" instead of & in the citation call-outs; the bib entries will remain formatted with commas.

enter image description here

First, line 184 of agsmcomma.bst:

        { ", " * t * }

Now the LaTeX code. It starts with the setting up of a minimal bib file

  author = "Jane Doe and Dane Roe",
  title  = "Thoughts",
  journal= "Circularity Today",
  year   = 3001,
  volume = 1,
  number = 2,
  pages  = "3-4",
  author = "Jonah Zapato and Jordan Zwicky",
  title  = "Further Thoughts",
  journal= "Circularity Today",
  year   = 3002,
  volume = 5,
  number = 6,
  pages  = "7-8",

\usepackage{harvard} % 'harvard' package provides 'agsm' style
\cite{jddr}, \cite{jzjz}
  • I just copied and renamed agsm.bst to the directory where my main tex file is located and changed the line with \harvardand\ in the format.names function to { ", " * t * }. After loading the new file with bibliographystyle and compiling it with latex, bibtex and latex nothing in the ref list changed. there's still "and" between the names. – Kai Oct 9 '15 at 22:05
  • @Kai - I'll post an addendum with an MWE (minimum working example) that shows the effects of my suggested edit to a modified version of agsm.bst. – Mico Oct 10 '15 at 5:15
  • thanks for the MWE. unfortunately still no success - it just stays the same. can I provide you maybe my fill agsm.bst? – Kai Oct 10 '15 at 18:15
  • @Kai - I sent you an email message with some specific suggestions on how to fix up the copy of the agsm file. (The problem was that the agsm file had already been modified, in a way that impaired the correct functioning of the format.names function.) – Mico Oct 10 '15 at 19:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.