RefDB Features: Emacs support

RefDB integrates nicely into Emacs. Combined with editing modes for SGML, XML, LaTeX, Muse, and RIS documents, you'll get an integrated authoring environment with direct access to your bibliographic data. "Cite-while-you-write", document transformation, and previewing is just a few mouseclicks away for DocBook SGML and XML as well as for TEI XML documents.

On this page
ris mode
refdb mode


Emacs support is not included in the RefDB sources, but available separately as an autotools-based package including a manual, allowing a ./configure && make && make install kind of installation on most Unix-style systems. There is also a Debian package available. If you want to test the latest versions, follow the links provided below to access the current Subversion versions.

ris mode

Author: Markus Hoenicka <>

Download ris.el (subversion) (see above for a packaged version)

If your editor of choice should be Emacs or XEmacs, the RIS major mode (ris.el) will make editing RIS datasets a little bit more comfortable. Font-locking will help you to spot syntax errors. Especially the end tag (ER - ) is prone to lack the trailing space if you're not careful. The ris-mode displays valid tags in blue, except the special type (TY - ) and end (ER - ) tags which are shown in red. The tag contents are colored according to several criteria. If the contents of a field is limited in length, the color will extend only up to that limit. Author/editor, publication date, and reprint fields are checked for a valid content. ris-mode also provides the following commands:

The mode currently does not check the length of author entries, nor does it handle continued lines in any way. It does not attempt to check whether a reference is complete (e.g. it won't notify you if there is no author)

To install this mode on your system, follow the instructions in the manual or in the elisp code.

Emacs ris-mode

Fig. 1: Emacs ris-mode. The reference shows the effects of a few common syntax errors: (1) the last author has a space after the period, (2) the secondary publication date lacks the mandatory slashes, (3) the JF tag is misspelled, and (4) the ER tag lacks the trailing space. Note also that fields with unlimited length (like AD) and fields with limited length (like KW) are colored differently.

Emacs refdb-mode

Current Author: Markus Hoenicka <>

Download refdb-mode.el (subversion) (see above for a packaged version)

This minor mode for Emacs and XEmacs is a frontend, and then some, for RefDB.

To install this mode on your system, follow the instructions in the elisp code, or use the autotools-based package for a simplified installation.

Emacs refdb-mode demos

In order to see refdb-mode in action, please see the following Flash demos. They will open in a separate browser window (if nothing happens, your browser suppresses popups. Right-click the link and select "Open in new tab"). A Flash 5 plugin is required to view the demos. If you can't view the demos, please refer to the screenshots below.

Reference management (548kB)

Creating citations and bibliographies (1100kB)

Retrieving references

Emacs refdb-mode

Fig. 2: Emacs refdb-mode, showing the available menu commands to retrieve references. The two buffers show the result of retrieving references in risx format. The output buffer contains the data proper, which can be edited and validated using the automatically invoked nXML mode. The messages buffer contains the command summaries of the most recent commands.

Retrieving references from a region

Emacs refdb-mode getref on region

Fig. 3: You can mark any word or phrase while editing your document and see whether there is a matching reference in your RefDB database. This also means that you can use refdb-mode with any major mode even if there is no specific support for it. To insert a "citation" into an arbitrary document, just type the citation key (e.g. in brackets in a text, or in a comment of any programming language). Double-click the citation key and retrieve the associated reference via the menu shown above.

Inserting citations

Emacs insert citations

Fig. 4: Put the cursor somewhere into the reference you want to cite, or select a region containing the relevant citations. Then use one of the menu commands to insert a RefDB citation for DocBook or TEI into the kill ring. Back in your document, yank the citation.

Converting bibliographic data

Emacs refdb-mode data conversion

Fig. 5: refdb-mode offers commands to run the bibutils tools on the contents of the current buffer. This makes import of reference data not directly supported by RefDB a breeze. Shown here is the import of MODS data.

Selecting databases

Emacs refdb-mode database selection

Fig. 6: Select one of the databases which you have access to from a convenient menu.

Administering your RefDB installation

Emacs refdb-mode administration

Fig. 7: refdb-mode contains a complete interface to all administrative tasks. The mode will invoke sudo for all commands that require administrative privileges.