BibTeX renderer plugin

A simple plugin to render BibTeX data in Wiki pages. The plugin reads BibTeX files and supports various ways to include citations or any bibliography items in the text.

You can get the source from

svn co


Configuration data is located in the bibtex-renderer/config directory, see source:config/ for examples.
The following configuration files will be read:

  • source (e.g., config/source.sample) contains a list of BibTeX files (one in a line, globbing enabled) that are read in on initialization of the plugin, i.e., start of the web service (or re-reading the database, see below).
  • config/templates/*.rhtml provide ERB templates for rendering data. (Templates are not automatically reimported on change.)
  • homepage contains a mapping from author names to homepages, for any mapping, links will be rendered automatically. The structure of the file for each line is: lastname-pattern firstname-pattern url.
  • *.attr contains additional attributes that will added to BibTeX entries (with preceeding '$'). File structure is: key value. Empty lines are ignored, lines ending with \ cause the next line to be concatenated to value.
  • All configuration files must not be world writable! Invalid permissions will result in no or partial initialization.
  • For configuration files, lines starting with '#' are ignored.


  • Check RAILS_ROOT/log/bibtex.log in case of problems.
  • Make sure that permissions are set correctly (see above)!

Examples and usage

cite and putbib

cite renders a citation within text, and putbib renders the bibliography for this page.


Here is an example with some text [1,2] and more text with another citation [3].

The cite primitives included above are coded as


putbib renders the bibliography:

[1] Mario Botsch, Mark Pauly, Christian Rössl, Stephan Bischoff, and Leif Kobbelt.
Geometric modeling based on triangle meshes.
In SIGGRAPH Course Notes, Boston, USA, 2006. ACM.
[BibTeX] [abstract] [pdf]

[2] Mario Botsch, Mark Pauly, Christian Rössl, Stephan Bischoff, and Leif Kobbelt.
Geometric modeling based on triangle meshes.
In Eurographics Tutorial Notes, page 180, Vienna, Austria, September 2006. Eurographics, Eurographics.
[BibTeX] [abstract] [pdf]

[3] Mario Botsch, Mark Pauly, Leif Kobbelt, Pierre Alliez, Bruno Lévy, Stephan Bischoff, and Christian Rössl.
Geometric modeling based on polygonal meshes.
In Eurographics Tutorial Notes, Crete, Greece, 2008. Eurographics.
[BibTeX] [more]


style refers to a template, the default is putbib (putbib.rhtml), an alternative is, e.g., short.

Note: There is only one bibliography collection per Wiki page (no multiple putbib directives).


bibitem renders a \bibitem block in place. The bibitem template is used by default.
Another template can be specified as optional first argument separated by #.

Arguments are either a list of identifiers as for cite or a query specification
(see below).

!bibitem{ 'attribute' => /value/,...}
!bibitem{template#'attribute' => /value/,...}

The short template, e.g., renders a more compact version with less information.



Similar to bibitem but render BibTeX source (using the bibtex template).




author={Botsch, Mario and Pauly, Mark and Kobbelt, Leif and Alliez, Pierre and L{\'e}vy, Bruno and Bischoff, Stephan and R{\"o}ssl, Christian},
title={Geometric modeling based on polygonal meshes},
booktitle={SIGGRAPH Course Notes},
address={San Diego, California},
type={Course Notes (revised)},
note={revised course notes},

Additional features


Any key prefixed by % is ignored. Use this feature to "comment out" entries.



Mario Botsch, Mark Pauly, Christian Rössl, Stephan Bischoff, and Leif Kobbelt.
Geometric modeling based on triangle meshes.
[BibTeX] [abstract] [pdf]

Link to pdf/ps files

The default templates will automatically render links to pdf/ps files if available.
This files must be located in RAILS_ROOT/public/files, and the names are the lower case bibtex keys with ':' replaced by '-'.

Web pages

The plugin generates the following Web pages with BibTeX information.
  • bibtex/ show all available BibTeX entries
  • bibtex/show?id={key|query} show a certain BibTeX entry/entries
  • bibtex/abstract?id={key|query} same as above but show more information about the publication(s)