16th ConTEXt Meeting: Dreifelden, Germany, September 12–18, 2022


New proposals (and requests) should be addressed to Hraban Ramm.

Injecting stuff

Hans Hagen

There are several mechanisms for adding content to the text flow: inserts, marks, adjust and local boxes. Inserts are taken into account when breaking a paragraph into lines and are for instance used for notes. Marks travel with their location and are used top set variables that can be accessed in the page builder and make it possible to synchronize for instance running headers. The adjust feature permits injection of material before and after the line where they are used. Local boxes end up at the start and/or end of a line (and can be repeated) and as such they can be taken into account when calculating the line width.
Each of these features has its own characteristics (for good reason) and find its origin in some specific typographic demand. In the meantime all these mechanisms have been upgraded in LuametaTEX and are supported in ConTEXt with generic mechanisms on top of which one can build advanced features. In this talk I will present that current state and possible usage, especially of the now more useable local boxes and users are invited to come up with possible examples of usage.
(This presentation is likely to be split into smaller parts.)

Upgrading the math engine

Hans Hagen, Mikael Sundqvist

The original TEX engine is famous for handling math. Right from the start the way it was done because the standard. In LuaTEX there has been some adaptations to OpenType math and quite a bit was already made configurable. It was a trade off between the two font models as well as the available fonts. Although e-TEX introduced a \middle as new primitive, and LuametaTEX introduced a couple of new things, not that much fundamental has happened. We are not aware of any demands with respect to the math sub|-|engine, probably because LaTEX and AMS math set an indisputable standard.
However, we can do better! Mikael Sundqvist and I spent a year more or less full time on re-engineering the LuametaTEX math engine. Mikael will present the math end of this game and I will spend some words on how the engine got adapted. We will discuss fonts, spacing, multi line formulas, alignments, and all that cam eon our path.

Under the hood: Luametafun updates

Hans Hagen

The Metafun interface to TEX has been stepwise upgraded with what LuametaTEX as to offer. Some interfaces are now more efficient and reliable. I will show a bit of that.

Stepping up MetaPost

Hans Hagen

For various reasons Mikael Sundqvist and I have seen reasons to add some functionality to the (already superb) MetaPost machinery. There are some new primitives and in the process of investigating possibilities we ran into some curious (but intentional) side effects. Time to show off.

The LMTX distribution

Hans Hagen

Together with Mojca I’m looking at the upcoming LMTX distribution. Where MkII (for pdfTEX and XETEX) has already been frozen for a long time, MkIV (for LuaTEX) is also sort of frozen. Of course we keep it up to date and apply fixes, but new functionality ends up in \LMTX. Most users already made the switch. Now that LuametaTEX is reaching a state of completion, we pick up the thread of repositories, engine source inclusion, users being able to compile a matching binary, releases, core resources (like a basic set of fonts), modules, installation in general, etc.

MetaPost and SQL

Hans Hagen

On the mailing list there was a question about storing runtime data from a MetaPost sub run. Using Lua for that is quite okay, as is the MetaPost writer. In this short talk I’ll show a way to save and restore from an SQLite database, just in case one ever needs it. (Category: weird talks)

The ValentinE concept

Götz Schnell

The entry level for typesetting with ConTEXt is quite high, which leads to a limited number of users. Unfortunately, a lot of possible users cannot benefit from high typesetting quality. It would be ideal for a widespread use of the ConTEXt system, if pupils and teachers at school and students at universities could get in touch with it.
An approach for reaching this objective is discussed, which is called the ValentinE concept. The concept consists in writing the text in the lightweight markup language Asciidoc in a similar vein as writing with a typewriter. A library, developed for this purpose in Ruby as an extension to the program Asciidoctor, undertakes the conversion into ConTEXt.
The result is a text with high typesetting quality in PDF format based on a source in plain text which can be read easily. The preview of the text in a browser or the conversion of the text to other formats are additional benefits.
Other objectives for this approach are repeatability and flexibility. Furthermore, it should be extendible and it should be possible using other capabilities of the ConTEXt typesetting system.

MetaPost: program flow control

Taco Hoekwater

A look at the program flow control primitives in the MetaPost engine.

MetaPost: pictures

Taco Hoekwater

A look at the MetaPost operations on picture objects.

Sourcebrowser indexing

Taco Hoekwater

A study group to see if we can improve the text search capabilities of the source browser.

The Danlan font

Taco Hoekwater

When Frans Goddijn first showed me the Danlan font article in September 2019, I immedi­ately thought that it would be fun to play with those letters a bit in TEX and MetaPost. This article will show what a few days playing around with a specification and MetaPost, FontForge, and ConTEXt got me. I have not created a complete font by any means, but it is just enough of one to show off a little bit and document how the creation process worked out for me.

Pocket diary

Willi Egger

Updated implementation and demo.

Date-driven lists

Willi Egger

\dasNotizbuch and the \Dashboard

Pavneet Arora

Implementation of typesetting rules for Czech and Slovak languages in ConTEXt

Tomáš Hála

Specific Czech and Slovak typesetting rules were shown earlier (CTM 2012, BachoTEX 2019). This talk will recapitulate the most important issues (repeated hyphen, dashes, three dots, quotation marks, lists, footnotes, etc.) and will introduce ways of implementation of them.
A prototype of the module containing these settings for current ConTEXt versions will be presented, too.
Some implemented features go beyond the scope of Czech and Slovak languages, so it is the good topic for a (long night) discussion to improve and extend these settings also for other languages.

A Lua module for rounding

Tomáš Hála, Tamara Kocurová, Adriana Kašparová, Hans Hagen

Working on the module for drawing statistical charts, we found out that the rounding tools were insufficient. Therefore, we decided to write our own functions for different rounding methods. We collected them into a new Lua module and after Hans’ modification for compatibility with other parts of ConTEXt, the module has been added to the ConTEXt distribution. The talk will show all these functions and their implementation.