bibstuff
Command-line utilities for searching and labeling BibTeX files
By Dylan Schwilk and Alan Isaac
The bibstuff package contains a few possibly useful utilities in python for parsing and manipulating BibTeX files.
This package contains a bibtex parser, a bibfile class for accessing entries, a search utility, a name extracting/formatting utility, and a labeling utility.
Bibstuff depends upon the SimpleParse parser generator package. You will need to install this python package to run bibstuff.
Note regarding simpleparse on linux with Python 2.5: I have found incompatibility between Python 2.5 and the simpleparse packaged in the Ubuntu repositories (as of Ubuntu Gutsy and Hardy). If you get errors referring to files in the simpleparse installation (eg /var/lib/python-support/python2.5/simpleparse/simpleparsegrammar.py) then you should uninstall the Ubuntu packages and download the latest simpleparse from sourceforge.
Bibstuff is free software distributed under the MIT-style license. Bibstuff will run on any platform that runs python: windows, unix/linux, mac, etc. If you don't have a python interpreter intalled, go to www.python.org.
Download the current gzipped release or the current development version from the bibstuff google code page.
================================
README: BibStuff (TM)
================================
:authors: Dylan W. Schwilk and Alan G. Isaac
:web site: http://www.pricklysoft.org
:source code: http://code.google.com/p/bibstuff/
:date: 2008-06-01
:version: 0.8
BibStuff License
================
See `license.txt`_, which must be included when this software is
distributed.
Installation
============
Simply type 'python setup.py install' in the unpacked directory.
Command-line tools (scripts)
===========================
These tools are installed in you python scripts directory or they can
be run directly from where they were unpacked. Each of these tools has
a command line interface and provides the -h option to describe usage.
* bib4txt.py
Creates formatted references for a text dodument. (Useful for
reStructuredText documents.) Interacts with a Bibtex style
database file (without using LaTeX or bibtex). The source text
file should include citation references in reStructuredText
format: a citation key enclosed in brackets, followed by an
underscore. Citation keys cannot be all digits. The source
document can be output with formatted citation references
substituted. In this case, the reference list is added to the
end of the file.
* biblabel.py
Creates unique keys for entries bibtex database(s). default keys
look like Schwilk+Isaac:2006 or Smith+Johnson+etal:1999 Command
line options allow you to change the default behavior.
* bibsearch.py
Search through a bibtex database for entries by key or by
regular expression. Results can be output as a (minimally)
formatted reference, a full bibtex entry, or by key. Note that
bibsearch always takes a database by name (-f option or first
argument) standard input is used for search terms.
* bibname.py
Create list of author/editor names for a bibtex database.
Options allow you to specify a name template. See the module
documentation for details.
* jabbrev.py
Replaces all journal names in a bibtex file with alternative
names (abbreviations). The abbreviation file should be in the
format: ABBREVIATION = LONG_NAME (see
/examples/journal_names.txt). I've also provides a short script
in the /examples directory that will take the list of journal
abbreviations at
http://www.csa.com/htbin/sjldisp.cgi?filename=/wais/data/srcjnl/biologset
and produce a format readable by jabbrev.py
* reflist.py
Creates a list of keys from a latex .bbl file. This tool simply
extracts reference keys from the bbl file. This is useful for
creating a bibtex database limited to those references which
occur only in a single latex file.
example: reflist.py my_doc.bbl | bibsearch.py -l my_db.bib > new_db.bib
Modules
=======
Package: bibstuff
Contains classes for interacting with *.bib files and bibtex entries
Package: bibstuff/bibstyles
Contains classes for creating reference styles
Testing
=======
No tests available yet
Related Projects
================
See the excellent discussion in chapter 13 section 4 of
*The Latex Companion*.
.. _license.txt: ./license.txt