Extracting Bibliographies From Freemind

[This entry is now deprecated, please see Thunderdell (Freemind Extract).]

I've been using the Freemind mind-mapper to represent my readings. While I'm not terrible fond of Java — startup/exit are very slow and I prefer Python obviously — the application is very nice. Fortunately, the data format is in XML, though a rather odd schema, so I can easily go at it with Python and xmltramp regardless.

Freemind extract relies upon a particular patterns.xml (in tar ball below) and certain conventions in the mind-map to create bibtex or OpenOffice.org CSV files.

  • Authors are green and bound to F3.
  • Titles are navy blue and bound to F4.
  • Excerpts are blue and bound to F5.
  • Annotations are purple and bound to F6.
  • Abstracts are gray and bound to F7.
  • Citations are magenta and bound to F8.
  • My comments are left black, or F1

A citation node looks like "y=2000 p=Basic Books a=New York, NY".

The resulting OpenOffice.org semi-colon delimited file will have this entry (many thanks to David Wilson for answering my many questions):

"Lessig 2000";"1";"New York, NY";;"Lessig,
  Lawrence";;;;;;;;;;;;;"Basic Books";;;"Code: And Other Laws of

The BibTex entry will look like:

   address = {New York, NY},
   author = {Lawrence Lessig},
   publisher = {Basic Books},
   title = {Code: And Other Laws of Cyberspace},
   year = {2000},

The tar file includes these utilities:

  • be.py: extract a MM from a bibtex file (dependent on bibstuff)
  • de.py: extract a MM from a dictated text file
  • fe.py: extract bibliographic data from bibliographic MM (dependent on xmltramp)
  • ff.py: fix the case of titles of a bibliographic MM
  • te.py: parse inconsistently formatted textual bibliographies into bibliographic MM (e.g., from syllabi, cb2Bib is cool too)

Comments !