[main]mg|pages

Programming

Content related to computer languages, programming, TeXmacs.

There are only two hard things in Computer Science: cache invalidation and naming things.

— Phil Karlton

GNU TeXmacs

GNU TeXmacs is a document preparation system with structured editing and high quality typography. It is designed to create beautiful technical documents. Its name can be misleading but it is not an interface to the TeX/LaTeX typesetting system, while it can export to and import from it as from/to some other popular formats like HTML and PDF.

TeXmacs document editing interfaceTeXmacs presentation interface

I contribute to its development and use it every day for my lecture notes, research papers, presentations or to take notes in seminars. Also this website is completely written and managed with TeXmacs.

I have also created and maintain several related community projects, including Notes on TeXmacs, a blog about TeXmacs, and tm-forge, a repository of user-contributed documents, styles, plugins and examples.

A review paper (pdf) about the TeXmacs project and its intended goals, circa 2013. A presentation (pdf, tm) I gave on TeXmacs and on GNU Guile scheme as its extension language.

The TeXmacs community has a forum, a Gitter chatroom and a youtube channel, there is a youtube playlist with some videos showing everyday use of the program. videos of advanced tutorials on the source code structure, macros, etc… can be found here.

The codebase is hosted at savannah (link), you find the bugtracker there. My own development Git repository (link), the svn_sync branch tracks the official SVN repository and there are several development branches.

TeXmacs Upsilon

My current development work comes together in TeXmacs Upsilon, an experimental version of GNU TeXmacs combining new features with the upstream code. It supersedes the earlier TeXmacs Vue project; Vue continues as one of its graphical interfaces, alongside Qt and the native Cocoa interface for macOS.

Upsilon brings OpenType mathematics, faster Scheme interpreters, incremental typesetting, Git integration, Zotero and CSL bibliographies, code editing with tree-sitter and language servers, and AI sessions. The same codebase also runs in the browser through WebAssembly.

The project website offers experimental builds for macOS, Linux and Windows, a browser application, a feature tour and recent changes. These are continuously tested development builds. The sources are on upsilon_texmacs; problems can be reported in the project issue tracker.

Figure from Programming

TeXmacs Upsilon: OpenType mathematics in Libertinus Math, using the Vue interface. More screenshots.

Ongoing TeXmacs subprojects

As of October 2026, the following lines of work are integrated in Upsilon. Most retain separate branches so that they can be developed and proposed upstream independently.

The open-work list tracks remaining tasks, including renderer and PDF-export consistency, CSL edge cases and testing across interfaces and platforms.

A related experiment is Vau: extracting a minimal TeXmacs typesetting core for reading and rendering documents, while exploring possible refactorings.


Blogs & other interesting places on the internet

Interfaces, rendering and text systems

Languages and interpreters

Other programming resources