Miguel de Benito Delgado

Miguel de Benito is a mathematician living in Munich who likes to code in his spare time. He has fixed (quite?) a few bugs and has contributed to the Qt interface for TeXmacs while generally pestering everyone. He is interested in several subprojects (see below), including the Qt port, using TeXmacs to develop for TeXmacs and designing a better user interface and user experience altogether.

If you are interested in contributing in any of those areas, you can contact him at <mdbenito@texmacs.org>.

Miguel drinks his tea without any sugar and can hold his breath for 5 to 10 seconds in a good day.

1.Projects, old and new

I'm interested (at least) in the following projects. Other than an obvious show-off, this list is an attempt to place blame where it is due: many of these items are partially or sub-optimally implemented due to lack of time. Please contact me with any ideas or suggestions or if you want to help out. For bug reports, please use the bug tracker.

QT port

Based on 's work I've implemented some new standard widgets (color palettes, embedded TeXmacs buffers, filtered input widgets, tree views, …) and tweaked/fixed a few old ones. I've also heavily commented the code in the hope of fooling some poor soul into helping us.

TeXmacs as an IDE to itself

(In particular for Scheme code edition). To this purpose I've implemented basic tab completion, contextual help popups and easy code browsing (jump to definitions, symbol lists, module browsing), bracket matching for all languages, customizable syntax highlighting (this still needs an interface, 2014)… Proper parsing and indexing of all code is in the queue. The amount of room for improvement is overwhelming and the overall result not that impressive, I know.

Better bibliography management

I've implemented autocompletion for bibliographic keys, a simple bibliography dialog and a few other related things. I'm also of a Zotero client and embedding bibliographic data into documents (2014).

Automatic update mechanism

I wrote the (as of late 2014 yet to be used) update notification system for MacOS and Windows using Sparkle and WinSparkle. The Linux port is in the queue (hopefully in 2014).

MetaWeblog integration

I played with this idea for a while some time ago (2013). with some thoughts. Mostly I need someone to want to help out with the definition of macros and styles, then I'll write the backend.


I've mainly written about many of the widgets available for user interface design, as well as a bit about the URL system, preferences management, the default persistent storage mechanism and perhaps a couple other minor things. I've also worked in tools for automated extraction of (but dropped it because of… the lack of actual documentation to display (as of 2012)). [More (and better) work has been done by Joris to extract and display macro documentation from the manual.]

Printing interface

An old (2010) implementation of a printing widget using lpr to work around some features of the fixed OS default dialogues. It's written in C++ in src/src/Plugins/QTMPrint*, and should be deprecated any time now (2014) in favour of a pure Scheme implementation.

Bug fixing and minor tweaks

(And cleaning the tracker of old junk.) Besides from fixing any bugs I can, I developed some tools for the translation of strings in the code. In particular one to gather all strings used in the GUI (see DeveloperTranslations) and edit/reload them from within the editor. [I think there's some overlap with similar functionality implemented by Andrey Grozin.]

2.Some tutorials

I often document the process of developing new features for TeXmacs using a TeXmacs document: a poor-man's literate programming of sorts. I've formatted some of these drafts into rough tutorials with the idea that they might help the newcomer. Here are a few of them:

Note. It is best to read the original TeXmacs files with interactive Scheme sessions where one may experiment with the code. They can be found in the project's source code, inside the directory web/miguel.