12th ConTEXt Meeting: Prague–Sibřina, Czech Republic, September 2–8, 2018


New proposals should be addressed to Taco Hoekwater or Hans Hagen.

LuaTeX: the move from 5.2 to 5.3

Hans Hagen and Luigi Scarso

At the end of 2017 we started experimenting with Lua 5.3 that we wanted to switch to at some point. Because the number system in Lua is now automatically working with integers or floats we expected some issues. In this talk we will discuss what we really ran into.

LuaTeX: how useful is FFI

Hans Hagen and Luigi Scarso

For a while we can now interface to external modules using the FFI mechanism, which has advantages as well as drawbacks. Here we will give an update on where we stand and how ConTeXt can (or might) use it.

ConTeXt: running remote

Hans Hagen

When you want to use ConTeXt as a service you will face the problem that a run takes time and can block the parent process. The past decades we have come up with several solutions. Here I will present the approach we use currently.

ConTeXt: unexpected usage

Hans Hagen

The development of ConTeXt (with LuaTeX) is a continuous process and is driven by user demands, changes in the ecosystem, like fonts, but also by personal needs. Because we’re not talking of macros alone but also of a rather large library of Lua code, I can also run applications on top of LuaTeX with ConTeXt supporting them one way or another. In this talk I will discuss how I abuse the system in domotica.

ConTeXt: stepwise execution

Hans Hagen

In a ConTeXt run you’re either in TeX or in Lua. Switching between them is easy but it happens in chunks: as with some distributed processing systems you pipe TeX source code from Lua to TeX’s input and when done transfer goes back to TeX and the pipeline is processed. In that pipeline you can of course go back to Lua etc. and we so that frequently in ConTeXt. Here I will discuss a variant based on going to TeX and back in the middle of a Lua callout.

ConTeXt: bidi

Idris Samawi Hamid, Luigi Scarso and Hans Hagen

While Idris Samawi Hamid and Luigi Scarso are cooking up bidi in an editor, and Idris Samawi Hamid baking a new font, we also decided to further finetune right to left typesetting in ConTeXt. There is already a whole repertoire of (largely font related) features but many of them are dedicated to fonts and checking issues with fonts and opentype rendering (in engines). The low level system in LuaTeX has recently be cleaned up a bit too so this is a good moment to wrap up the state.

ConTeXt: side floats

Hans Hagen

Putting floats next to the text is sort of tricky. There are simply too many border cases to cover. After stepwise improving the code, which of course then broke existing (user) tricks I decided to do a more drastic cleanup, using a bit more of what we can do with Lua. The new approach is mostly compatible but might give different spacing but at least we’re more predectable so that we can at some point say “This is it”.

Using TeXLua for trackplan graphics

Taco Hoekwater

TeXLua, combined with some of the Lua library files from ConTeXt, can easily be used to do parsing of almost any file format. I am using that approach to generate graphics from my model railroad trackplan that is itself designed in xtrkcad. The LPeg library and some helpers are used to parse the file format and generate Metapost source that is then converted into PNG images.

A use case for \valign

Taco Hoekwater

The TeX primitive command \halign is the backbone of traditional macros for predominantly horizontal tabular material. Its companion primitive \valign can be used for predominantly vertical material, but column-based tabular material is rare so there is no pre-made support for it in ConTeXt. Since I was required to typeset a table like that, I wrote a small set of higher-level macros to allow use of \valign in a ConTeXt-friendly manner.

mtxrun scripts

Taco Hoekwater

The mtxrun command allows the execution of separate scripts. Most of these are written by Hans, and he occasionally creates new ones. This talk will walk through the mtxrun scripts in the distribution, and show you how to write your own.

MFLua 1.0

Luigi Scarso

MFLua 1.0 is the first tagged release, to appear in TeXLive 2019. This talk aims to show how can be used to make a simple font delegating Lua to implement the backend.

MARCS—An online report card system with ConTeXt back end

Pavneet Arora

The very specific needs of a Canadian Study-Abroad high school for a remotely accessible report card system had become acute. Unlike standardized report cards which primarily focus on grades, and stock phrases on a per course level, the requirements were for extensive feedback in the form of teacher comments on a per unit or module basis. Students were thus given the opportunity to use the guidance to improve their work right from the outset and throughout each course. A final, published report card needed to be output. The system had to serve multiple constituencies: students, parents, teachers, teaching assistants, administrative staff, school directors, and school boards with differing granularity of access and control. The work done to develop MARCS, a web based report card system based on the Laravel PHP framework, and with its ConTeXt back-end for creating print ready report cards will be presented.

ConTeXt: in one second


On the web you can find these “Learn ‘foo’ in 1 second” tutorials (well, Luigi Scarso did find them). In this group activity we will see how far we can come in one, two, five, ten or more seconds. It can even become a wiki corner.

ConTeXt: font tracing and tricks

Hans Hagen

This is a placeholder for some examples (like the virtual hz example from the manual).