Beastie: an experimental BibTeX processor

Beastie is an experiment in parsing and processing BibTeX files.

Beastie is:

The goals of this project are:

The .bst language counts as rather niche. It has substantial amusement value, but expertise could hardly be said to be widespread (of course, one could complain that Scheme has some niche aspects, but it also has its numerous compensating virtues).

The implementation of the .bst language is intended to be fairly complete, in the sense that it is nearly a drop-in replacement for the bibtex program, and deviations from that program are bugs, where they are not noted as deliberate exceptions.

Beastie also provides a framework for writing alternative bibliography tools. The ‘experimental’ status means that it is not yet fully-featured in that respect. The fact that it implements the .bst language confirms its scope, and acts as some indicator of ‘correctness’, and the examples/ directory in the distribution illustrates how one would go about writing a from-scratch style file, but there isn't (yet) a drop-in Scheme-based alternative to, for example, plain.bst.

It is a goal of Beastie to go slightly beyond BibTeX, and to make it a little easier to use .bib files to generate HTML or other formats, or for the output of beastie to be ingested into other processing pipelines. This has informed some of the choices made.

Features

The project has a few deliberate limitations, discussed, along with tentative future plans, in the main documentation.

Most of this is implemented in an embedded copy of s7, from ccrma.stanford.edu.

Resources

The program is distributed under the terms of the 2-clause BSD licence, and includes some material with different licences. See the file LICENCE.txt for details.

Release notes

v0.14.1, 2026 August 2

v0.14.0, 2026 August 2

v0.13.1, 2025 October 26

v0.13, 2025 October 26

v0.12, 2025 August 3

v0.11.2, 2025 July 18

v0.11.1, 2025 July 13

v0.11, 2025 July 13

v0.10, 2024 September 6

v0.9.1, 2024 July 13

v0.9, 2024 July 5

v0.8, 2024 May 11

v0.7, 2024 March 17:

Norman
2026 August 02