[Tex/LaTex] Bibliography style (vancouver)

bibliographiesbibtexnatbib

I'm quite new with LaTeX, but am trying to write my master's thesis with it.
I'm running into a problem with the bibliography style.

This is what the school asks for the reference style (with the abbreviation of journal names):

Gibson J.P. (1989) Selection strategies and artificial evolution.
Theor.
Appl. Genet. 78,87-92.

And in the text, the citation has to be "author, year" form.
I think that it's Vancouver style without numeration.

I used the natbib package.

However, when I downloaded the Vancouver .bst file from CTAN
after compiling, I cannot get the abbreviation of the Journal name.

The .bst file I downloaded from Elsevier doesn't work either.

Does anybody have any ideas about how I can abbreviate journal names?

Best Answer

Based on our discussion in the comments, you created a new .bst file using the custom-bib package. This .bst file then needs to be modified to be used with the jabbrv package.

It seems that the .bib files created by custom-bib package are a bit more sophisticated than the basic .bst files assumed by the package, and the modification suggested in the package web site doesn't work. Thanks to some discussion in chat with Joseph Wright, here's a modified function that works:

FUNCTION {format.journal}
{journal duplicate$ empty$
  'pop$
  {
    "\JournalTitle{" swap$ * "}" *
    emphasize
    output
  }
if$
}

This function is added to the .bst file and the following line in the {article} function of the .bst file

journal "journal" output.check

is changed to

format.journal "journal" output.check

Name the new .bst file jabbrv_thesis. I've put a copy here:

Modified .bst file

Now you can use the jabbrv package to do the abbreviations. To do this you use:

\usepackage[warnundef]{jabbrv}
\bibliographystyle{jabbrv_thesis}

If there are particular journal names that you don't want abbreviated (e.g. Nature) then you need to edit the jabbrv-ltwa-en.ldf file (located in the jabbrv folder) and comment out the \DefineJournalAbbreviation lines for those names. If there words that aren't abbreviated, but should be, (these will show up in the warnings) then you need to add lines like the following to your document.

\DefineJournalAbbreviation{<full name>}{<abbreviation>} % no final '.'
Related Question