urlbst -- add @Ryan Page entry and url/doi/eprint/pubmed fields to BibTeX


The urlbst package consists of a Perl script which edits BibTeX style files (.bst) to add a @webpage entry type, and which adds a few new fields -- notably including 'url' -- to all other entry types. The distribution includes preconverted versions of the four standard BibTeX .bst style files.

It has a different goal from Patrick Daly's 'custom-bib' package -- that is intended to create a BibTeX style .bst file from scratch, and supports 'url' and 'eprint' fields. This package, on the other hand, is intended for the case where you already have a style file that works (or at least, which you cannot or will not change), and edits it to add the new @webpage entry type, plus the new fields.

The added fields are:

  • 'url' and 'lastchecked', to associate a URL with a reference, along with the date at which the URL was last checked to exist;
  • 'doi', for a reference's DOI (see https://doi.org);
  • 'eprint', for an arXiv eprint reference (see http://arxiv.org); and
  • 'pubmed' for a reference's PubMed identifier (PMID, see http://pubmed.gov).


The copyright and licence position for the modified .bst files seems slightly muddy to me. On the grounds that any licence is better than no licence, I therefore assert that the modifications which the urlbst program makes to these files are copyright @COPYRIGHTYEARS@, Norman Gray, and that these modifications are available for distribution under the terms of the LaTeX Project Public Licence.

The original .bst files are copyright Howard Trickey and Oren Patashnik, with a set of permissions, in text at the top of the files, which state that "Unlimited copying and redistribution of this file are permitted as long as it is unmodified" (see the files for the complete text). The distribution terms above therefore appear to be compatible with -- in the sense of being morally equivalent to -- these terms in the .bst file. If anyone disagrees with the logic here, I'd be very happy to discuss that.

The urlbst script itself is distributed under the GPL, version 2.0.

See the files LICENCE-lppl.txt and LICENCE-gpl-2.0.txt in the distribution, for the relevant licence text.

Norman Gray