17th ConTEXt Meeting: Prague–Sibřina, Czech Republic, September 10th–16th, 2023


New proposals (and requests) should be addressed to Taco Hoekwater.

The math formula builder

Hans Hagen

As follow up on last years math related presentations I will discuss the things that were added cq. configured. Some fundamental decisions were made and these will be explained.

The paragraph builder

Hans Hagen

As a side track of enhancing the math builder we also added some new features to the paragraph builder. Probably the most interesting extension is sub runs that can kick in when the result so far is too bad. We can also discuss to what extent more is needed. For instance, in practice profiling (available as Lua driven feature) only kicks in seldom. What do users really need and use, and where does wishful thinking not go hand in hand with using features that are there (like the ability to control hyphenation, ligature building, kerning etc.). Can we have perfection without user intervention?

The page builder

Hans Hagen

The page builder is less sophisticated than the par builder, if only because it has its own complications, like inserts. We're in the process of adding some more control but it can interfere with what we already have and one can wonder if it is worth the trouble. I will also discuss some new features.

The code base

Hans Hagen

One of the objectives of Luametatex has been to add some primitives that can be used to avoid helpers that don't really fit well into the TeX syntax. The current repertoire made it possible to refactor some code in a more natural way. As with everything ConTeXt the code should not look too bad and also look consistent: at the lowest level as well as at the user level.

In this presentation I will discuss how we can find some balance between programming in low level (high performance) primitives, using convenient helpers (that avoid some pitfalls at the cost of performance) and applying user level commands.


Hans Hagen

Quite some effort has been put into making ConTeXt LMTX as fast as possible without sacrificing the way it is codes. There is not that much to gain in the Luametatex engine and macros, also because we spend quite some time in Lua (font handling and backend) which adds to the flexibility.

What makes processing a document slow? Where does TeX (or better: ConTeXt) spends most of its time? How can users who depend on performance make sure to not create bottlenecks? What are the usage scenarios? How can we speed up processing? Feel free to come up with usage scenarios and solutions!


Hans Hagen

Do we need floats in TeX ? What is currently provided and how can they be used. And how about Metapost (as test bed for it)?


Hans Hagen

Discussion! Here we can also discuss the installer (how to host it yourself), the Wiki, manuals, etc. Don't hesitate to come up with topics.


Hans Hagen

If there is interest I can give an update on what has been added (done) since the last meeting. I can also demonstrate how one can run (and compile) LMTX on a mobile phone.

Architectural guides for Bonn – book production with ConTeXt

Henning Hraban Ramm

Dreiviertelhaus publishes a series of small architectural guides about modernist buildings in Bonn that is typeset in ConTeXt. The booklets include OpenStreetMap cartography and interesting details like full page images with inset captions.

Field report from Chaos Communication Camp 2023

Henning Hraban Ramm

Like in 2019, there was (will have been) again a TeX “village” at the big hacker camp near Berlin.

ConTeXt on Web – New Online Application for ConTeXt Users

Zdeněk Svoboda, Tomáš Hála

This paper introduces a web application for convenient use of the ConTeXt typographic system. Its mission is to make the ConTeXt typographic system accessible to a wider range of users without having to install the software on their own computer.

The technologies used and the structure of the application will be described, in particular the interface with the editor and the various tools to facilitate the creation of document, such as designers for the layout, tables, lists, etc. The application generates and displays the PDF document.

Thanks to the aforementioned features and the intuitive controls, the application becomes a user-friendly platform that can make learning ConTeXt easy.

Counting Systems as Rough and Fine Grained Representations

Willi Egger, Hans Hagen

There exists a large number of counting and numbering systems, some of them only known in the past. Mostly a base of 10 is/was used. However there are exceptions like binary, hex or octal systems and there are indigenous populations who use the base 20. The focus will be on this base 20 system(s) which provide the rough representation of a calculating system. We should though keep in mind, that there is also an aspect of fine grained representation, involving precision calculations. Examples hereof are floating-point and Unum (Universal number) calculations. Both aspects will be discussed during this presentation. We will also show how to hook visualisation into the number conversion subsystem.

Movable type vs. computer bits

Willi Egger

Hans spends considerable time with optimising ConTeXt and the luametaTeX engine to give better horizontal and vertical spacing by working continuously on the paragraph- and the page-builder. This conference a lot of talking is about this kind of optimisations. In order to remember what at the invention of movable type was possible and what we can achieve nowadays this presentation will (re)introduce old time typesetting techniques and vocabulary. - This retrospective can be helpful when we try to make up our minds with respect to what actually makes sense, contrary to wishful thinking and unrealistic demands: so there can be discussions!

A bit of fun

Willi Egger, Hans Hagen

This time the meeting starts with a workshop that will provide us a tool that we will use during the conference. No more details will be revealed here.

Introduction to FontForge

Taco Hoekwater

A quick(ish) look at the fontforge program, and how it can be used to create fonts by anybody

MetaPost basic definitions

Taco Hoekwater

Many of the most used commands in Metapost are not really primitives of the engine itself. This is an overview of low-level identifiers that are actually defined in macro packages, perhaps surprisingly so.

String art graphics

Taco Hoekwater

Extracting information from ConTeXt source files

Jean-Michel Hufflen

We put into action some tools that allow us to parse all or part of TeX-like source files and process suitable information. For example, we can use them to extract some metadata of several articles and build a table of contents automatically. If such source files are written using LaTeX, some features allow us to increase our programs' efficiency. We are interested in discovering such features about ConTeXt's texts. In particular, the complete contents of an issue whose articles are written in ConTeXt could be arranged itself with ConTeXt.

The wheels on the bus

Pavneet Arora


Creating a customizable letter style with the layer mechanism.

Wolfgang Schuster

An editor for Pandoc types

Massimiliano Farinella

An editor for Pandoc abstract syntax tree (AST) lets you visually modify any docu­ment readable by Pandoc and export it into any output format it writes. Configura­tions make the editor customisable to different workflows.

Optimising paragraphs with additional steps

Mikael Sundqvist