5

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?

Alan Munn
  • 218,180
Zih-Hua
  • 51
  • There are various ways to do this. See Overriding fields in a bibtex file for some good suggestions. – Alan Munn Apr 28 '13 at 18:12
  • If the answers in the linked question are sufficient for you, we can close this question as a duplicate. – Alan Munn Apr 29 '13 at 22:04
  • @Alan I don't know why. I still can't get my journal name abbreviated. I even tried custom bib several time, but still can't make it. – Zih-Hua May 16 '13 at 22:26
  • @Zih-Hua Without seeing what you've now tried, it's hard to tell what the problem is. Did you use the procedure outlined in the other question? If so, post a link your modified .bib file, and post a minimal document that shows the problem. Do you get abbreviated names with the .bst file I created? – Alan Munn May 16 '13 at 22:35
  • @Alan I did get abbreviated names with the .bst file you provided., but it abbreviated journals with one word like Nature as well. I also have to find a way to modify the author initials to meet my request. Anyway, it did work with the abbreviation issue. Here's the .bst file I created using custum-bib, but I can't get abbreviated names. Can somebody help this one out? https://www.dropbox.com/s/wwigf98fob99ggt/thesis.bst – Zih-Hua May 18 '13 at 21:41
  • Here's the minimal document \documentclass[12pt,a4paper]{book} \usepackage[warnundef]{jabbrv} \usepackage[round, colon]{natbib} \bibliographystyle{thesis} \bibliography{library} \end{document} – Zih-Hua May 18 '13 at 21:58
  • Does the .bst file you created do everything else you want except for abbreviate the journal names? (i.e. does it do what you want with author names?) If so, I can take a look at it to see what the problem is with abbreviating the journal names. But if it still needs some work, then that may be another question. – Alan Munn May 19 '13 at 00:34
  • @Alan Yes, the .bst file I created meets all the requests expect for abbreviation of the journal names. Would you please have a look at it? I tried several times and still can't get it. I'm wondering if it is the problem of "stored journal name". I've tried every option, but all give the same results. Or should I use other package as well? – Zih-Hua May 19 '13 at 12:24
  • @zih-hua I've added a full answer on how to modify your custom-bib generated file. Hopefully this will work for you. – Alan Munn May 19 '13 at 13:51

2 Answers2

1

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 '.'
Alan Munn
  • 218,180
  • 1
    Thanks a lot. I did get the abbreviation. However, I got another problem. I got author names followed by the full journal name which didn't happen with the original thesis.bst file I created. I tried to get rid of it, but can't find the way. Here's an example: Trujillo A.J., Casals I., Guamis B. (2000) Journal of Chromatography. A. Analysis of major ovine milk proteins by reversed-phase high-performance liquid chromatography and flow injection analysis with electrospray ionization mass spectrometry., J. Chromatogr. A. 870, 371–80. – Zih-Hua Jun 06 '13 at 12:34
1

I have written a bibstyle file vancouver-authoryear.bst that allows you to use natbib style authoryear citations with vancouver style references.

Please see this for my previous post on the steps to follow to get this done

Sample output:

enter image description here