yabib - Yet Another BibTeX Tool
by
Jürgen Rinas email homepage
 
Contents of this page
What's this down
Some Internals and Hints down
Preconditions down
Documentation down
ChangeLog down
Download down
Listed on down
 
What's this homepage top of page

yabib is a tool to organize your collection of publications with BibTeX.

If you do scientific work, normally you have a huge number of publications to handle.
To cite them in your work you need BibTeX entries for them, but if you have publications as files on your computer you can do much more with these meta informations.

Most of your files have more or less "intelligent names" like 0123456789.pdf (especially if you downloaded them from IEEEXplore), so what to do?

  • Rename them? (So you will loose the link to the original filename and probably download the same file once again.)
  • Copy all of them into your specific project directory? (So the files are lost in your directory tree.)
  • Put all in the same directory? (So you'll end up with a mess of several hundred files.)

yabib is a program to help you to clean up your paper collection. It uses the .bib file format as an input format and creates a clearly arranged html file where all meta informations are visible and your collected publications are linked.
Therefor the BibTeX format was completed with the fields filename and location.
filename is the (unique) filename of your file (e.g. filename = {0123456789.pdf}) without any path. yabib will use this informations to locate your file in directory trees you specify.
location is a field that should be used for the location of publications that are only available in printed form (e.g. filename = {my bookshelf at home} or filename = {library in xyz building}).

As an example I've created the file example.bib. It contains examples for papers with or without electronic version available. @string macros are supported.

The command
yabib --bibtex-inputfile=example.bib --scan-directory=./ --xml-outputfile=example.xml --docbook-outputfile=example.docbook --html-outputfile=example.html
was used to generate the files example.xml, example.docbook and example.html.

  • example.xml (XML file used as internal representation)
    - use "view page source" on our browser!
  • example.docbook (DOCBOOK bibliography file)
    - use "view page source" on our browser!
  • example.html (HTML output with linked papers)
 
Some Internals and Hints homepage top of page

Hint for daily usage:
The command line of yabib can get a little long, so that it's a good idea to create an alias in your .bashrc file (e.g alias myyabib='yabib --bibtex-inputfile ~/pubs/collectedpubs.bib --scan-directory ~/first_project_tree_with_pubs_in_it/ --scan-directory ~/second_project_tree/ --scan-directory ~/third_project_tree/ --check-entries --check-double-entries --html-outputfile ~/pubs/collectedpubs.html').

I'm using XML for the internal representation of the meta information, because it corresponds to the structure of the BibTeX format. It's very easy to convert XML data to html documents using the transformation language XSLT.
Therefor the XSLT script /usr/share/yabib/yabib_html.xsl is build to generate the html output. (Change it if you don't like my design.)

I've not implemented all bells and whistles concerning the special characters BibTeX can handle. There may be some missing circumflex, strokes and other decorations. If you need some of them, drop me a line.

 
Preconditions homepage top of page

The following tools and libraries are necessary to compile yabib. They should be available on any modern Linux system.

necessary tools:

  • bison - a general-purpose parser generator
  • flex - a fast lexical analyzer generator
 
Documentation homepage top of page

For some more documentation look at the man pages:

 
ChangeLog homepage top of page

yabib 0.0.19 - Wed, 21 Apr 2010 21:09:08 +0200

  • corrected error handling for command line option
  • removed dependency on libxmlccwrap ... it is now included in the source

yabib 0.0.18 - Tue, 24 Jun 2008 19:21:52 +0200

  • code cleanups for g++ 4.3.1

yabib 0.0.17 - Wed, 18 Jun 2008 18:52:01 +0200

  • corrected path to yabib_html.xsl

yabib 0.0.16 - Tue, 03 Jun 2008 22:39:07 +0200

  • a few cleanups

yabib 0.0.15 - Mon, 30 Jan 2006 22:50:35 +0100

  • a few cleanups
 
Download homepage top of page

I've prepared a debian package for this program. You can download this via
apt-get update; apt-get install yabib
if you configure your system to include my debian repository.

 
Listed on homepage top of page
Valid XHTML 1.1!

Comments on this page ]