9 March 2026
TeXmacs plugins
I like
TeXmacs. There are several difficulties when I use it,
but still, I like the concept: To have one big system that ensures high-quality typesetting.
The output is like LaTeX's output, but TeXmacs tries to avoid supporting thousands of extra packages
and the difficulty of interferences when some packages are incompatible.
What I really like is sessions. Users can put the inputs and outputs of conversations
during computer algebra computations into TeXmacs documents, save them, and when reopening
the document, sessions can be edited or continued. Of course, there are several limitations,
but the basic concept is working well. Scientific results can be reproduced in a simple way.
In this figure the macOS version of TeXmacs is shown, after starting a GeoGebra Discovery session.
The user is typing various commands, including one that is to be sent to the CAS View and to be computed symbolically.
The red messages come from the standard error and could be removed by hand, but for the long term,
it would be more elegant to not show them at all. All inputs are supported by GeoGebra automagically,
except the input
. which creates an immediate screenshot of the Graphics View and the picture will
be inserted in the TeXmacs document as
PostScript.
While there are some feature requests on my own side, the first public version is surprisingly nice.
It is already mature enough to start writing a book with reproducible GeoGebra constructions in mind.
The GeoGebra language seems rich enough to avoid using the toolbar, to drag and drop objects,
to enable or disable them, to start an animation or stop it, among many other features.
Another plugin
Meanwhile a have second book in mind to write: on reproducible research concerning old historical
texts, in particular, studying ancient versions of the Bible. My research project called
bibref
already reached a mature stage, but recording of the scientific results was still a question.
Should I use LaTeX and copy-paste data from the application in the LaTeX document, or use something
more handy? Here I decided to play with TeXmacs again, and I have a nice result which could be
a good solution.
The bibref tool has a command line version, so the first steps when programming a new plugin
were easier as for GeoGebra Discovery.
In this second project I tried to be more pragmatical by focusing on tab completion as well.
To be honest, it was extremely difficult to find the right way how the communication protocol should
work between bibref and TeXmacs. Maybe I missed the correct and most relevant documentation,
and by spending hours of conversations with an AI bot I had to conclude that at the end of the day,
I am still almost alone.
Luckily, the tab completion works very efficiently now, however, I would like to see some syntax
highlighting in the input code as well. Until now I did not find a solution how to do that.
Here you can find two TeXmacs files and the installation notes of the new plugin.
They show the current state of my work.
Writing the plugin for bibref was technically more challenging, because I had to extend the
command line version of bibref to support automatic conversion of GraphViz files to PostScript.
Luckily, the graphviz library has a good support to do that, not only for PostScript but also for SVG.
As an extra result, the web variant of the command line version of bibref can display the
SVG output directly in the
terminal window:
Such a terminal session cannot be saved (at the moment), so TeXmacs is definitely better if
reproducible data is prioritized.
Entries on topic technical developments
- Embedding realgeom in GeoGebra (9 July 2021)
- Web version of Tarski (1 October 2021)
- Developing Giac with Qt Creator on Windows (24 January 2022)
- Compiling Giac via MSYS2/CLANG32 (2 April 2022)
- Terminals on the web (28 June 2022)
- Torus puzzle (15 April 2023)
- Tube amoeba (16 April 2023)
- XaoS in WebAssembly (30 August 2023)
- Debut of GNU Aris in WebAssembly (11 November 2023)
- JGEX 0.81 (in Hungarian) (10 December 2023)
- xaos.app (2 January 2024)
- Compiling and running bibref-qt on Wine (22 August 2024)
- Treasure of Count Goldenwald (6 January 2025)
- Developing C++ code for desktop and web with cmake (7 March 2025)
- Statement analysis in bibref (8 March 2025)
- An online Qt GUI version of bibref (20 April 2025)
- JGEX via CheerpJ (5 July 2025)
- Connecting ISBTF's LXX-NT database with bibref (10 July 2025)
- GraphViz as a WebAssembly module (13 August 2025)
- bibref: Support for LXX 3.2 and StatResGNT 1.4, and some technical infos (23 December 2025)
- Towards reproducible builds via Docker (15 January 2026)
- TeXmacs plugins (9 March 2026)
|
Zoltán Kovács
Linz School of Education
Johannes Kepler University
Altenberger Strasse 69
A-4040 Linz
|