3-D phylogenetic trees? What's next?

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