Showing posts with label custom-bib. Show all posts
Showing posts with label custom-bib. Show all posts

Wednesday, February 16, 2011

natbib-compatible BibTeX style (BST) file for Springer LNCS publications

UPDATE: Additionally, if you prefer "References" instead of "Bibliography", you have to re-define the \bibname macro in your document (e.g., just after you include natbib). Just add a
\rewewcommand\bibname{\refname}
or a
\renewcommand\bibname{References}
and you should be up and running with your desired bibliography name.
For some reason, the folks over at Springer do not like to make their BibTeX style (BST) files natbib compatible. This omission seems egregious when considering the kind of authors that would submit to journals and conferences that use LNCS-style formatting. Springer does provide LaTeX support files for LNCS, but the included BST file is not natbib compatible (because it was not built with natbib and author–year extensions turned on, which are needed in natbib even when numbered references are used). What makes things more difficult is that it is produced by hacking another BST (titto.bst) that was originally generated properly using makebst, and many of the hacks were already implemented natively in merlin.mbs. So much more of the postfix BST language was hacked directly rather than would have been necessary if the correct docstrip driver options were picked in the first place. So that makes it more challenging to reproduce a refactored version with additional natbib functionality without worrying about introducing regressions.

Nevertheless, I've done my best, and I've made the the natbib-compatible result splncsnat.bst available for download. I was able to remove the need for some of the manual editing by a smarter choice of docstrip options, but I still ended up having to create a patch on top of a stock docstrip-generated BST (the docstrip driver splncsnat-unpatched.dbj and patch splncsnat.patch are also available). Hopefully that helps someone out there.
  • splncsnat.bst: natbib-compatible BST file for Springer LNCS-type publications
    Download and place splncsnat.bst in same directory as document's TeX source code. In the TeX preamble of the document, use
    \usepackage[numbers]{natbib}
    \bibliographystyle{splncsnat}
    and then in the text use macros like
    \cite{smith77}       % to get a "[1]" in the text
    \citep{smith77} % to get a "[1]" in the text
    \citet{smith77} % to get a "Smith [1]" in the text
    \citeauthor{smith77} % to get a "Smith" in the text
    The normal \bibliography{FILENAME} can be used at the end of the text where the BBL will be inserted by BibTeX.
  • splncsnat-unpatched.dbj: docstrip driver used to generate splncsnat-unpatched.bst
  • splncsnat.patch: patch used to generate splncsnat.bst from splncsnat-unpatched.bst (assuming version 4.20 [2007/04/24 (PWD, AO, DPC)] of merlin.mbs)
Of course, you need only splncsnat.bst to get up and running.

Thursday, June 28, 2007

spmpscinat.bst: A natbib style file for Journal of Mathematical Biology (e.g., Springer journals)

UPDATE: I learned how to use custom-bib's makebst. I've updated the spmpscinat.bst file in a more proper way by using makebst. I also regenerated the spmpsci.bst file so it properly reverses editor names to match the JMB format. I will submit these to JMB and hopefully they'll use them. FYI, these were mostly generated from spmpscinat.dbj and spmpsci.dbj, respectively.

I was frustrated to find out that the Journal of Mathematical Biology (JMB) has been using some outdated LaTeX support files. In particular, they distribute a BiBTeX style file that has no support for natbib use (or anything similar, like apacite). This appears to be less of a problem with JMB and more of a problem with Springer in general (i.e., most of its journals). They actually expect people to type the names of the authors that they reference directly (either that or use references (e.g., [2]) as nouns, which is bad style even though it saves space)! Can you believe that?

Civilized people use a package like natbib to do something like \citet{SK86} on every textual citation, which will then generate "Stephens and Krebs (1986)" (in Harvard mode) or "Stephens and Krebs [61]" (in numerical mode). There are lots of good reasons to do this. For one, it prevents me from accidentally turning "Krebs" into "Krbes".

To deal with this, I took the abbrvnat.bst style file packaged with natbib and hacked its support into the spmpsci.bst file from Springer. The result is spmpscinat.bst, which seems to work as desired for most bibliography entries I have tried.

I don't have a lot of experience with working with BiBTeX support files, so I have a feeling that it would have been better to use custom-bib to generate a BiBTeX style file in the JMB format that would be compatible with natbib. I may do that later.

So basically, I reserve the right to update or changed spmpscinat.bst at any time and without any notice, so look out for updates.