4th ConTEXt Meeting: Brejlov (Prague), Czech Republic, September 13–18, 2010


New proposals should be addressed to Taco Hoekwater.

Taco Hoekwater, Netherlands

Metapost development

Metapost 2.000 is planned for release in the summer of 2010. This presentation is a short report on the current status of the development. Metapost version 1.500 will (hopefully) be ready just in time for BachoTeX 2010, and in that release all memory arrays will have been replaced by dynamic memory allocation.

A followup in the evening program highlights some of the ugly details.

The current state of LuaTeX

TeXLive 2010 will contain luatex 0.60. This presentation gives an overview of the changes between this version and the version on last year's TeXLive.

Lua for Beginners

A tutorial that explains the basics of lua programming and demonstrates some ways it can be used within documents.

Lua for font lovers

A tutorial that explains how the luatex fontloader library works, and shows various font tricks you can do ny using lua code.

Escrito – A PostScript-compatible interpreter in Lua

Escrito is the name of an interpreter for the PostScript language written in pure lua code. Its default output device generates Portable Document Format (PDF) operators, making it ideally suitable for handling PostScript code within LuaTeX.

Using a little bit of lua glue code, it will become possible to do the following things in LuaTeX that were previously only doable via complex workarounds:

  • Include EPS images without the need for an external conversion process.
  • Support the pstricks macro package.
  • Run Kees van der Laan's PostScript programs in-line.

  • tlcontrib.metatex.org

    TL Contrib is a repository for packages and package updates that for various reasons cannot be in TeXLive itself. Think of packages that not quite free software according to the debian guidelines (for example packages that prohibit changes or come without sources), packages that prohibit commercial resale (the texlive DVDs are sold by Lehmanns), and updates for binary packages that actually are in texlive. The TL Contrib repository can be used with tlmgr to install such packages, and of course it is possible for authors to register their packages in it.

    Mojca Miklavec, Slovenia

    ConTeXt minimals, "Server edition"

    The idea is to release clean code by the time of conference that would enable anyone to set up his own mirror for ConTeXt distribution and thus increase its bus factor in case that Mojca goes to long vacations or becomes too inspired by her research work.

    Mojca Miklavec and Hans Hagen

    The database module, MkIV version

    As Hans promissed Mojca to make a mkiv variant of the database module that she loves so dearly, an actually did it, this variant will be presented at the conference by Mojca and Hans.

    Mojca Miklavec

    Some thoughts on typescripts

    When writing or adapting typescripts for the excellent Polish fonts (or any other font for that matter), I sometimes lack a few features. I will try to highlight some of them and do a quick comparison between ConTeXt and LaTeX (including simplefonts and fontspec) in a short talk, followed by discussion.

    David Březina, davi.cz

    General issues in multi-script typography

    An overview of the most common typographic issues in publications which involve two or more scripts with a horizontal reading direction (e.g. Latin, Indic, Arabic, Hebrew, etc.). The talk aims to explain the problems systematically from a partially-objective point of view and show some of the possible solutions.

    Luigi Scarso, Italy


    Modules_mkiv is an attempt to document context source code in an automatic fashion, and also a test for luatex and context mkiv. All PDFs are made with ConTeXt mkiv and luatex. See http://foundry.supelec.fr/gf/project/modules/

    Playing with Flash in ConTEXt-mkiv

    Starting from release 9, AdobeReader, the reference viewer from Adobe, comes with a Flash player embedded. The recent addition to CTAN of flashmovie package by Timo Hartmann prompted me to investigate the feasibility of an integration between ConTEXt-mkiv and flash using pdf2swf. In this experiments all tests were performed under Linux Ubuntu 8.04 with AdobeReader 9.2 installed, so I suppose they work under Windows or Mac operating systems also.

    Souvenir d'Italie

    A bit of \clip , Leptonica and something else

    Hans Hagen, Netherlands

    Context Lua Documents

    For a while now we have the Context user interface accessible at the Lua end. Although future releases will have an additional (and different) library, the current one is especially handy for users who are already familiar with Context. The CLD interface is rather simple and can be quite powerful but it also has some limitations. All of this will be discussed.

    Font Goodies

    The ability to have control over matters has always been one of TeX's virtues. Operating beyond what fonts provide out of the box is an example of this. Fonts can have features that users turn on or off, but how to know what to apply when? And how about additional features? Do we want detailed control at the TeX end or can it be done more conveniently in Lua? Here I will introduce 'font goodies' as a way out. Don't hesitate to share your wish list during this presentation.

    Why Structure Matters

    There have always been lots of structure related commands in Context. In MkIV much of the low level code has been reimplemented with future extensibility in mind. This presentation will give an update of the status and a preview of the future.

    How Luatex and Context Proceed

    As the development of Luatex and Context sort of go hand in hand there is an ongoing change in the code that makes up Context. Some of the changes and extensions are just proof of concept, others can will stay and can be used freely. In this presentation I will discuss the things that were done recently.

    Whatever You Want To Know

    As usual there can and will be sessions where you can ask whatever you like about Context, the (probably mostly unknown) tools that come with it, how it is used or can be used, etc. Feel free to submit your questions in advance.

    Requirements For Documentation

    Context evolved out of our own usage: educational documents and general documentation. This is why it is organized as it is. I will discuss a couple of characteristics and how they can help you to separate content from rending issues. I will show some sources and styles of manuals that relate to context.

    My Slowly Growing Test Suite

    It has become good practice that users post small examples on the mailing list when they run into problems or provide solutions. I also make small test files myself and for a while I've been collecting them. They are available to users and can also serve as showcases. In due time Luigi will add the output to the module collection that he maintains. I will give some demonstrations and we can discuss how to make more examples and how to organize them.

    XML processing news

    Part of the mkiv xml processing code has been rewritten. I will discucss and demonstrate a few of the new (and changed) features. (Maybe I can/will use the experimental mkiv bibtex code as an example.)

    A Context Scoop

    Normally new features are put into the kernel when they get stable. However, I decided to keep the latest trick out till the conference so that those who attend get the first view of it. Let's see how long they can keep the secret.

    Patrick Gundlach, Germany

    LuaTeX without TeX - or: the hidden beauty of TeX

    With LuaTeX you can typeset text without having to deal with TeX's input language. This is great, because you don't need to take care of catcodes anymore, you don't have to \relax after dealing with complex macros, expansion is not an issue anymore. In this talk I will present how to typeset text just by using Lua(TeX)-functions and I will show some examples, such as the \boxit macro from the TeXbook and how this could be done in Lua. This presentation does not deal with ConTeXt at all.


    This is a question and answer session on the current state of contextgarden.net. This can be done in the evening when we have some beers or coffee.

    Alan Braslau, France

    Drawing chemical structures using ppchTeX

    Chemical formulas and chemical structures can be included in a LaTeX or a ConTeXt document easily using the ppchTeX macros. I present a simple introduction to their use.

    This package has been completely re-written in mkiv (not by me!) and is now included in the core macros. The aim of this presentation is to stimulate discussion as some further development could be useful.

    Plotting data with Metafun/Metapost

    Data can be graphically presented using the Metapost/graph macros. I present here a simple introduction to their use in order to stimulate discussion on the interest of these macros and to explore alternative solutions including the possibilities to process numerical data through use of luaTeX.

    Drawing diagrams using the chart module

    ConTeXt provides a charts module to create flow charts. This module could be extended to abstract positioning, somewhat akin to the drawing of tree diagrams, very easily performed using TikZ. Other examples of diagrams of arbitrary connected cells such as pneumatic or vacuum systems will be presented.

    Willi Egger, Netherlands

    Arranging Pages for Printing

    Although e-readers are coming up it is still so, that typeset information very often will have to be printed on paper. In order to make a final product one needs to arrange the contents in such a way, that after folding the product makes a professional impression. Context does not only do a great job by typesetting, it offers also solutions to create a final product which can directly be fed to a printer in the print house. In this session I will give an overview on the currently available imposition schemes with special emphasis on flyers in different presentations.

    Wolfgang Schuster, Germany

    The letter module

    Where i got inspiration for the implementation (m-letter.tex and letterstyle.tex)

    • layer system of the module (from internals to user interface)
    • the user interface
    • workshop how to create your own style

    Module documentation

    • Methods to document a module (in the code and as a separate document)
    • How create your own command definitions (what you can see in setup-en.pdf/cont-en.xml)

    Arthur Reutenauer, France

    The ever-regenerating hydra: hyphenation patterns in Unicode, and beyond

    The hyph-utf8 project was launched in the spring of 2008, as a means of rationalizing the situation of hyphenation patterns in TeX Live. Its goal at the time was to convert all the patterns to UTF-8 so that XeTeX and LuaTeX could use them directly, and to make them also available to non-Unicode-aware TeX engines by converting them on the fly, in order to keep backward compatibility. At that point, this effort was only useful to LaTeX, because ConTeXt had been using its own copy of the patterns, but it ultimately benefited from hyph-utf8 as well, as it could use it as the sole source for hyphenation patterns.

    Since we started, the project's scope has far outgrown its original purpose: first, it was integrated in MiKTeX shortly after we began (while our target at the time was only TeX Live); and we also had the opportunity to add patterns for languages that we never had before, coming from different sources. In particular, several languages we added were, at best, extremely awkward to support in a non-Unicode environment, and we thus decided to support them only as UTF-8, in XeTeX and LuaTeX, without attempting to convert them to some 8-bit encoding. This approach will hopefully help the TeX community in supporting these languages better.

    We also had the chance to work with other projects that use the same hyphenation algorithm as TeX: OpenOffice, for starters, whose relationship to TeX is obvious, is the source for several of the “new” languages. There are also several implementations of the algorithm for Web browsers, with which we could exchange material: their primary source for patterns are always TeX distributions, but they also received files from individual contributors; we thus added a couple more languages thanks to them. Another program that uses our patterns is Apache FOP (Formatting Object Processor), a document formatter driven by XSL-FO.

    It is our hope that hyph-utf8 can become a central source of material and information on word hyphenation for all projects that may need them.

    Keynote talk

    Top Secret Surprise

    Ulrik Vieth, Germany

    Experiences typesetting OpenType math with LuaLaTeX and XeLaTeX

    When LuaTeX first provided support for OpenType math typesetting in version 0.40, high-level macro support for math typesetting was first developed for CONTEXT MkIV, while support for LuaLaTeX was initially limited to a very low-level or non-existent. In the meantime, this gap has been closed by recent developments on macro packages such as luaotfload, fontspec, and unicode-math, so LaTeX users are now provided with a unified high-level font selection interface for text and math fonts that can be used equally well with both LuaLaTeX and XeLaTeX. While a unified high-level interface greatly improves document interchange and eases transitions, it does not guarantee that identical documents will produce identical output on different engines, as there are significant differences in the underlying implementations of math typesetting. While LuaTeX aims to provide a full-featured implementation of OpenType math, XeTeX has taken a more limited approach based on the functionality of traditional TeX engines.

    Given the possibility of running exactly the same test files on both engines, it now becomes feasible to study those differences in detail and to compare the results. Hopefully this will allow drawing conclusions how the quality of math typesetting may be improved by taking advantage of a full-featured OpenType math implementation.

    Karel Píška, The Czech Republic

    Fonts with complex OpenType tables

    The paper presents development of complex OpenType fonts. The sample fonts cover Czech and Georgian handwriting with numerous letter connections.

    At the beginning, we show general principles of "advanced typography" - complex metric data represented by OpenType tables (GSUB and GPOS) - and compare them with the ligature and kerning tables in METAFONT.

    Then we describe a history of the OpenType font production - approaches, tools and techniques. We discuss crucial problems, critical barriers, attempts and ways how to reach successful solutions. We demonstrate several tools for font creating, testing, debugging and conversions between various source and binary formats. Among these tools are, for example, AFDKO, VOLT, FontForge, TTX, Font-TTF. We illustrate their features, advantages, disadvantages, and also cases of possible incompatibilities (or maybe bugs).

    Finally, we present using the OpenType fonts in the TeX world applications: XeTeX and LuaTeX (ConTeXt MkIV), the programs allowing to read and process OpenType fonts directly.

    Karel Horák, The Czech Republic

    Do it better...

    Collection of some mostly practical problems with solutions (often borrowed from other people's ideas) which all have one thing in common: get efficiently any typesetting as good as possible.

    Idris Samawi Hamid, USA

    Towards the First ConTeXt Book

    Given the breadth of ConTeXt, and the growth of the ConTeXt community, the need for a polished book that introduces its scope and power has become ever more pressing. In this talk we intend to introduce an outline of this first major ConTeXt book project, and to get input and suggestions from the participants to help make it successful.


    Oriental TeX crosses the Rubicon. Advanced Qurʾanic Typesetting in MkIV

    After years of research, the Oriental TeX Project can proudly announce that it is closing in on the holy grail of paragraph-based Arabic typography. We illustrate this by demonstrating the typesetting of the Qurʾān in LuaTeX and ConTeXt MKIV. We also discuss some details of OpenType typesetting control in MkIV as well.

    (presented by Taco)

    Aditya Mahajan, USA

    Beg, borrow, and steal --- running external filters in ConTeXt

    (presented by Luigi)

    math wishlist

    (presented by Taco)

    John Haltiwanger, Netherlands

    Subtext: A Proposed Processual Grammar for a Multi-Output Pre-Format

    Academic publishing today faces a reality in which providing multiple formats–generally HTML and PDF–is becoming a necessity. The production of multiple outputs involves a workflow of generative typesetting. Generative typesetting involves many constraints that resulting from edge cases between formats which must be accounted for. Against the backdrop of theory in the field of new media, a new approach towards generative typesetting is proposed. A separation of translation from effect, akin to the division of style and content in HTML/CSS, can effect a transmutable translation layer in which syntax, effect, and even a pre-format’s reserved characters can be defined in configuration files. This transmutability is deisirable because every generative typesetting workflow faces particular specificities which should be addressable without the introduction of "glue."