[Tex/LaTex] How to modify bibliography style

bibliographiesbibtex

I'm using natbib package and bibliography style jtbnew which I would like to modify in this way. Instead of having author's name and (year). I would prefer author's name and (year):
For example instead of Browder, A. (1996). Mathematical Analysis I would like to get
Browder, A. (1996): Mathematical Analysis

Best Answer

You can get BibTeX to insert a colon instead of a period after (yyyy) by modifying the function date.block in the file jtbnew.bst. (Save the existing file to a new file, and modify only the new file.) This function is defined as follows in jtbnew.bst:

FUNCTION {date.block}
{
  new.block
}

The function new.block, defined elsewhere in the file jtbnew.bst, essentially inserts a period ("full stop")and a space. For your purposes, the content of the date.block function needs to be modified, say as follows:

FUNCTION {date.block}
{
  ":" *
  add.blank
}

(I'll leave it to your imagination to guess that the add.blank function does...) Save the modified .bst file and start using it instead of jtbnew.bst.

By the way, if you find that you need to make more than just one or two adjustments to an existing bibliography style file in order to get the style you need, you may find it advantageous to run the makebst.tex utility; type "latex makebst" from a command window and follow the prompts. Running this utility will create an entirely new style file that incorporates all of your formatting requirements from the get-go, without further need to decipher and make sense of the rather dense internals of BibTeX's infix programming language.