[Tex/LaTex] How to change .bst file to get a comma between publisher and year


I'm getting lost in the .bst file I created with "latex makebst". For a book entry, I chose the option

%   %: (def) Publisher as normal block without parentheses
% pub-par,%: Publisher in parentheses 
  pub-date,%: Publisher and date in parentheses (Oxford, 1994)
% pub-date,pub-xc,%: Publisher and date in parentheses, no comma (Oxford 1994)
% pub-date,pub-xpar,%: Publisher and date without parentheses Oxford, 1994
% pub-date,pub-xpar,pub-xc,%: Publisher and date, no parentheses, no comma Oxford 1994

However, after running bibtex and pdflatex I got:

(Oxford University Press, Oxford1961)

What do I have to change in the .bst file (or the .dbj file) to get the desired result, i.e.:

(Oxford University Press, Oxford, 1961) ?

The bib file entry:

  Title = {The Principles of Nuclear Magnetism}, 
  Author = {Abragam, A.}, 
  Publisher = {Oxford University Press}, 
  Year = {1961}, 
  Address = {Oxford}, 
  Pages = {304},

Best Answer

It turns out that this issue has been noticed here.

Although it doesn't say how to fix the merlin.mbs file, it tells you how to fix the .bst file.

Basically, in the lines following:

FUNCTION {format.org.or.pub}

there is a line like this:

{ ", " swap$ * * }

Replace it by:

{ ", " swap$ * ", " * }

It fixed it for me! It's still not ideal, but at least you don't need to mess with the .bib or the .bbl.

I suspect that there is a typo somewhere between lines 6866 and 6954 in merlin.mbs. But I'm not familiar enough with this type of file to confidently fiddle with it... Maybe someone here can?

Related Question