Open source projects

Applications & libraries


Ebib is a program for managing bibliographic references as used in scientific publications.

Ebib uses the standard .bib file format for its bibliographic database files, which are displayed in a user-friendly way, allowing viewing, editing, searching/filtering entries, creating bibliographic notes and reading lists, viewing attached PDF files and URLs/DOIs, etc.

Since Ebib runs inside Emacs, it integrates well with it, e.g., for inserting references into your text or looking up citations.

Note that in this context it helps to think of Emacs not as an editor but as a virtual machine, similar to the JVM or the Python VM, but running Lisp code: Ebib's scope is broader than that of an editor plugin; it is best thought of as an application in its own right, running on the Emacs VM.


Parsebib is a library for parsing bibliography files in .bib format, written in Emacs Lisp. It offers a high-level API that can parse an entire .bib file in one go, and a low-level API that returns the data in the .bib file piecemeal, allowing the calling program to fine-tune the way it stores the data.

Parsebib is used by Ebib, but also by essentially all other .bib-based citation management plugins available for Emacs, given that they all depend on the bibtex-completions library, which in turn depends on parsebib.


Pymal is an interpreter for a Lisp-like language written in Python. The design of the interpreter is based on the Make a Lisp guide, the implementation is my own. I wrote Pymal primarily as a way to learn Python.


SLS is intended to be a simple image viewer in Python. I would like to explore a different way of displaying a directory tree of image files that does not make use of a sidebar with the directory tree but still allows the user to keep track of the directory structure.

Currently, the project is still in its infancy, so stay tuned.

Emacs plugins


Writeroom-mode is a plugin that turns Emacs into a distraction-free writing environment: It makes Emacs full-screen, removes the status line ("modeline", in Emacs parlance) and centres the text.


Pandoc-mode is a plugin that allows Emacs to communicate with Pandoc, the Swiss army knife of text conversion. With pandoc-mode, a user can set all of Pandoc’s myriad command-line options, create different profiles for different conversion targets and run Pandoc, all from the comfort of Emacs.


Nswbuf (new switch-buffer, successor to an earlier plugin ‘swbuff’) is a plugin that makes it possible to quickly switch between buffers (files) without making use of a tab bar.


Being primarily a programmer's editor, Emacs usually does word-wrap using hard newlines. For prose text, Emacs can be configured to use soft line-wrapping, but with the disadvantage that lines are wrapped at the window edge, even if the editor window is very wide. Visual-fill-column makes it possible to soft-wrap text at a user-defined width, regardless of the window width.

Get In Touch

Github E-mail Website

© 2021 Joost Kremers.

Icons made by Smashicons and DinosoftLabs from