The History of MPybtex


Version 0.13.2-a

(released on August 28 2010)

Unofficial branch: MPybtex:

  • Reference Manager (.ris), EPrints3 (.epr), METS (.mets) parsers
  • Python style files can now be defined by user in directory with .tex source file

Version 0.13.2

(released on February 26 2010)

  • BibTeX parser: fixed a bug with parsing strings containing braces, like "Error in {DNA}".

Version 0.13.1

(released on February 18 2010)

  • Fixed ImportError: No module named kpathsea errors. One of the source files was missing from pybtex-0.13.tar.bz2 for some strange reason. Sorry about that. ;)

Version 0.13

(released on February 14 2010)

  • Implemented --min-crossrefs option.
  • All command line options of the original BibTeX are not supported.
  • Pybtex now respects BSTINPUTS, BIBINPUTS and TEXMFOUTPUT environment variables.
  • BibTeX bibliography parser now strips excessive whitespace from fields, like BibTeX does.

Version 0.12

(released on November 21st 2009)

  • Pybtex now works correctly with \input{filename} in LaTeX files.
  • Added a proper$ BibTeX function instead of a stub.
  • Added -e/--encoding command line option.
  • Fixed non-working --bibtex-encoding option.
  • Added proper error messages on missing plugins, file IO errors, some BibTeX interpreter errors, etc.
  • Fallback to backslash-encoding when printing messages to the console - to make them printable regardless of the locale.

Version 0.11

(released on September 7th 2009)

  • Made text.lentgh$ and text.prefix$ BibTeX built-in functions treat braces and TeX special characters properly (like the original BibTeX functions do).
  • Changed purify$ to replace ties and hyphens by spaces.
  • Fixed a bug in substring$ with negative start values.
  • Fixed .bst file grammar to allow underscores in identifiers.
  • BibTeX name parser: ties are now treated as whitespace when splitting name parts.
  • Implemented BibTeX-like text wrapping - the resulting .bbl output should now be byte-for-byte identical to that of BibTeX in most cases.

Version 0.10

(released on August 24th 2009)

  • Added support for multiple bibliography databases.
  • Pythonic bibliography formatter: added helper functions to simplify writing BibTeX-like name formatting styles in Python. Added a tool for automatic conversion of BibTeX {ll}{, ff}-like patterns into Python.
  • BibTeX parser: added missing characters to the caracter set of the valid identifiers.
  • BibTeX parser: a comma is now allowed between the last field and the closing brace.
  • BibTeX name parser: when splitting name parts into words, whitespace at brace level > 0 is now ignored.
  • BibTeX name parser: fixed parsing of single-word lowercase names and complex von names, like in "Andrea de Leeuw van Weenen".
  • Fixed broken --label-style and --name-style options.
  • Added (autogenerated) manpages.
  • Added this changelog.

Version 0.9

(released on August 17th 2009)

  • Implemented \citation{*}.
  • Implemented crossrefs.
  • BibTeX .bib parser now supports newlines inside strings.
  • Fixed: .bib filename from .aux file was ignored.
  • Fixed incorrect argument passing to
  • Fixed incorrect whitespace handling in the name parsing code.

Version 20090402

(released on February 04th 2009)

  • Fixed yet more encoding-related bugs.
  • Cleaned up some old nasty code, updated the documentation, added more tests.

Version 20080918

(released on September 18th 2008)

  • Added HTML backend. The pythonic bibliography formatter can now produce LaTeX, HTML, and plaintext.
  • BibTeXML writer now indents the resulting XML.
  • Removed the dependency on external elementtree.
  • Improved the interface of the pybtex-convert script. It is just convert foo.bib foo.yaml now.
  • Fixed several bugs in the BibTeX interpreter.
  • Fixed several encoding-related bugs.

Version 20070513

(released on May 13th 2007)

  • Added an interpreter for the BibTeX stack language. Pybtex now supports BibTeX style files.
  • Added a YAML bibliography format (both input and output).
  • Improved processing of names with {braces}.
  • Added support for @preamble to both BibTeX parser and writer.
  • Introduced an experimental pythonic template language to make bibliography formatting easier with a more functional-oriented approach.
  • Added support for incollection entries to the experimentl pythonic bibliography style.
  • cElementTree is now used for BibTeXML parsing, if present.
  • Added some documentation files (finally).

Version 20060416

(released on April 16th 2006)

  • Added BibTeX and BibTeXML formatters for bibliography databases. Added a database conversion tool.
  • Improved name splitting in the BibTeX parser.
  • Locale encoding is now used by default.
  • Added richtext.Check class to simplify formatting of optional bibliography fields.
  • Added support for booklet and inbook entry types to the experimentl pythonic bibliography style.

Version 20060402

(released on April 2nd 2006)

  • Added initial Unicode support and input/output encodings.
  • Introduced output backends to make bibliography styles markup-independent. Added LaTeX and Plaintext backends.
  • Improved BibTeXML parser, add support for pre-parsed names (<bibtex:first>, <bibtex:middle> and so on).
  • Added default macros for month names to the BibTeX parser.
  • Added an experimental richtext.Phrase (former Pack class (former Packer class)) class to make creating sentences and delimited lists easier.
  • Added experimental support for pluggable name and label styles to the pythonic bibliogrphy formatter.
  • Made Pybtex work on Windows by renaming to Duh.

Version 0.1

(released on March 4th 2006)

Initial release. This version already has a basic BibTeX .bib parser, BibTeXML parser and a proof-of-concept pythonic bibliography formatter.