You are here: DocumenTation

Bibi - The BibTeX Manager

This is the help file for Bibi, the BibTeX Manager, version 1.6.1

For more information or for bug reports, don't hesitate to contact Ute Platzer at ute @


Bibi is a tool for editing and managing BibTeX files. Apart from simply editing a file in a graphical user interface, Bibi offers lots of other possibilities!

Editing files

  • Load and save BibTeX files (of course)
  • Files may include @string macro definitions
  • Create new entries using templates for the most common types of entries (article etc.)
  • Add entries by pasting text from a PubMed record, including automated replacement for common terms by TeX macros
  • Add entries by pasting text in BibTeX format
  • Modify, delete, clone entries, ...

Managing files

  • Merge multiple files, detecting duplicate entries even if they're not identical but only similar
  • Detect and remove duplicate entries from a single file
  • Check file for consistent syntax
  • Generate keys for the entries automatically
  • Search for entries
  • Select some entries and put them into a new file

XML/HTML extension

  • Export entries in XML format
  • Transform XML to HTML web pages with an XSL stylesheet (e.g. this:
  • Sort entries into categories
  • Include links to PDF or PS documents

Editing files

For each file, an editor window is displayed which contains a list of all entries and an editor for the selected entry (type of entry, Key, plus a table with the fields),

  • To add a new field, hold down Ctrl and click with the left mouse button somewhere on the table.
  • To remove a field, hold down the shift key and click witht the left mouse button on the field you want to remove.
  • To edit table cell contents,
    • click on the cell in the first ("field") column - a combo box will appear. It contains the names of common BibTeX fields. Either select a name, or type a new name
    • double-click on cells in the second ("value") column, or single-click and press F2, and then enter text. Linux users will be happy to hear that pasting from the selection with the middle mouse button works!

Add new entries

There are four possibilities to add new entries:
  1. Click the "new" button in the editor window - a new entry with no fields will be created.
  2. Select "New from Template" from the "Edit" menu - you can create a new entry of a specific type, which already contains fields common for the elected entry type (e.g. "editor" for "book" entries).
  3. Paste a PubMed record. Select "Paste PubMed" from the "Edit" menu.
  4. Paste one or more BibTeX extries, e.g. from another file. Select "Paste BibTeX" from the "Edit" menu.

Adding entries from the PubMed Library

PubMed is a Web-based retrieval system for literature references in the area of medicine, biology, and life sciences in general. It can be found at this URL: http://www.ncbi.nlm.nih.goc/pubmed. Bibi can parse the entries, so you can paste text directly from the web page into Bibi.

The format of a PubMed Record is this:

Authors (without dots inside).
Title (without dots).
Journal title.
Year month; volume(number): page-page. [optional a note.] [PMID: optional]


Mutai H, Heller S. 
 Vertebrate and invertebrate TRPV-like mechanoreceptors.
Cell Calcium. 2003 Mar;33(5-6):471-8. Review.
PMID: 12765692 

This is the "Summary" format. In the future, Bibi will offer a parser for the "Abstract" format, as well.

Features of the parsing process

  • Linebreaks and whitespaces are ignored.
  • The month is abbreviated in the record, only the first three letters are shown. This is automatically expanden during Bibi's parsing process.
  • The dashes between page numbers and volume numbers are replaced by two dashes to make the resulting LaTeX document more beautiful.
  • The end-page number is expanded to match the start-page number in length, i.e. "12345-51" is replaced by "12345-12351".
  • The title may not contain dots other than at the end - otherwise, the program cannot know where the title ends! Sometimes, the title does contain dots, then Bibi will present a text box and ask you to correct the prooblem manually.
  • For the exact syntax of the authors, look here.
  • If any problems occur during parsing, Bibi will present you with an error message and a text box containing the pasted text and will ask you to correct the problem.

The resulting Bibtex entry looks like this:

author:    Mutai, H. and Heller, S.
title:     Vertebrate and invertebrate TRPV-like mechanoreceptors.
journal:   Cell Calcium
year:      2003
month:     March
volume:    33
number:    5--6
pages:     471--478
note:      Review.
pmid:      12765692

Automatic replacement for tex macros

You can define pieces of text which Bibi will look for in a PubMed record and will automatically replace by other text, e.g. to convert some specific strings in the title of articles to TeX macros. To do this, you create a macro definition file the location of which you specify in the preferences (File Menu - Preferences). The file is plain text: the first line specifies the text to search, and the second line specifies by what it shall be replaced.

Example macro definition file:


This macro definitions applied to the above entry produce:

author:    Mutai, H. and Heller, S.
title:     Vertebrate and \invert TRPV--like mechanoreceptors.
journal:   Cell Calcium
year:      2003
month:     March
volume:    33
number:    5--6
pages:     471--478
note:      Review.
pmid:      12765692

Changes are highlighted. The replacements are performed in the order given in the file and they are case-sensitive. To convert "vertebrate" to "\vert" and "invertebrate" to "\invert" independent of the case, you need the following file:


Don't put the vertrebrate-replacement before the invertebrate, or you'll get something like "in\vert"!

You can use this replacement to get rid of dots within the title if they occur in a specific context, e.g. if you often parse PubMed records that contain "C. elegans" in the title, you can use a macro definition like tis:

C. elegans 
C elegans 
and you will no longer get a parse error everytime.

Managing files

Checking file syntax

To make sure your bibtex file conforms to bibtex syntax, and can also be understood by the Bibi tool, use the menuitem "Tools → Check file".This invokes a procedure that checks especially the format of the author names (see authors), but also makes sure the page numbers are separated by – this looks nicer in LaTeX output.


There is a feature to automatically generate keys for all entries, or for those which don't have a key, or for the selected entry. The key is generated from the author names and the year and has the form Author_year if there's only one author, or FirstAuthor_et_al_year if there are multiple authors. To avoid duplicate keys, a, b, c are appended for the second, third, forth article with the same first author and year. The key generation will only work correctly if the author names are in the correct form (see authors).

Syntax of author and editor names

The string with the author/editor names should be in the following format

 Lastname, Firstname and Anothername, F.M. and Smith Jun., Fred L.  

The other format also understood by Bibtex is this

Firstname Lastname and F. M. Anothername and Fred L. Smith Jun.

However, this is ambiguous because it is not clear where the first names end and the last names start. This format is not supported by all functions of Bibi (e.g., xml file generation, and automatic key generation).

The format in which PubMed delivers the authors is

Lastname F, Anothername FM, Smith Jun FL.

If you use the "New Entry ... from Pubmed" feature, this is converted automatically to the "Bibi-accepted" format.


You can search a bibtex file for a specific text. This can be done via the "Find" menu item in the "Edit" menu, or by clicking on the binoculars. Searching gives you a subset of all entries that match your query. The result is only a view, not a copy of the original, so if you modify some entries in the result, the originals will also be modified! If you really want a copy, save the result in a new file, close it and re-load it.

You can search either all fields or one specific field, e.g. if you're looking for an author name, select "author" in the "Field to search" combo box in the "Find" dialog. You can also enter a new field name if you need to, e.g. if you have a field named "foo" in some of your entries... If you regularly want to search for the field "foo" you may want to add it to the combo box. This can be done by specifying a file in the File → Preferences that contains the names of all search fields for the combo box. An example file is contained in the data/ directory of your Bibi distribution: data/bibi-search.dat – you may want to simply extend that (but you must still specify it in the preferences). The file is plain text and contains one field name per line, empty lines are ignored.

XML/HTML Extensions

Bibi can export any BibTeX file as an XML file. The XML file has exactly the syntax expected by the (Bib)XML→HTML transforming XSL stylesheet provided at This stylesheet can be used with xsltproc or Saxon

(there's one for each transformer) to generate a set of HTML pages. I'll just explain two things about this here. For more information, esp. on the names of special fields in the BibTeX entries, please refer to the authopilot website.

Sorting your entries into categories

You can assign categories to your entries so that several web pages will be generated, one for each category. To do this, add fields named catid1, catid2, ... to your entry and enter the specific caategroy as the field value.

Example: If catid1 = animal and catid2 = cat or dog, you'll have html pages like this:

   Cat  ref1
   Dog  ref3 

Specifying location of pdf document

Create an extra field called "pdf" and specify the filename of the corresponding pdf document. There will be a link to this location on the web page.