6th ConTEXt User Meeting   (Breskens, The Netherlands, October 8 - 12, 2012)

# Abstracts

## Mari Voipio, Finland

### Metapost workshop

A pragmatic approach to MetaPost", or, "How to get useful results out of MetaPost if are not a programmer, are not a mathematician, and are a complete beginner besides.

### TeXtile crafts

When I suddenly found myself with a textile craft book to be translated and prepared for printing, I thought of ConTeXt. Life happened and the booklet is still sitting on my desk waiting for its turn, but in the meanwhile I have learned many other things about TeX based systems and started to exploit their potential in crafts.

The experience has been mind-blowing! I come up with new implementations almost weekly, although I don't usually try things out until I have a real need for them. I am not a programmer, but I realize that a computer is especially useful in reducing the tedious repetitiveness of the planning stages. Nothing can ever prepare a crafter to what happens when you play with real yarn and real paper and glue, but the "what if that's lighter blue" and "I guess this really is wrong font here" process can be speeded up significantly by computer simulation.

I don't feel complete until I've shared my knowledge with others. I don't get that many face-to-face opportunities to that, so I decided to go online instead.

## Leo Arnold, Germany

### Many versions from one source - LaTeX for lecturers and teachers

Composing problem sheets can be a tedious task: Errors in problems and solutions are often found while or after typesetting. Hence graphs and calculations have to be redone and incongruencies arise. In this talk we develope a unified pdflatex approach to generate both problem and solution sheets from the same source document. Focusing on mathematical problems we then explore a variety of possiblities to automate calculations and plotting by integrating free math software into LaTeX.

## YAMAMOTO Munehiro, Japan

### TeX Typesetting Circumstances for Japanese Publishing

I have seen that TeX typeset products have a low share in Japanese publishing. So, I sent out questionnaires about TeX publishing to about 30 publishing/printing/production companies. I will show the result of the questionnaires and the summary of that.

## KITAGAWA Hironori, Japan

### Japanese Typesetting with LuaTeX

There are some issues for typeset Japanese documents by LuaTeX. Some of them, such as end-of-line rule and the value of a grouped variable 'at the end of a \hbox', are (partially) resolved by writing Lua codes. Also we can discuss the specification of LuaTeX on vertical typesetting, referring to that of Japanese pTeX.

## Kees van der Laan, Netherlands

### Recreational TeX&Co - with a serious undertone

Recreational use of TeX&Co in my work is enumerated and elucidated.
The third generation of graphical software, PostScript, in cooperation with TeX will be the main subject of discussion.
PostScript is not sufficient.
Now and then MetaPost is used to specify a problem in a declarative way, or at the end Photoshop is used to enrich the graphics interactively by colour.
All my pictures have a recreational flavour because none has been triggered by practical need.
Interesting is the combined use of Turtle Graphics and recursion.
TeX codes and PostScript codes are compared, although they are like apples and pears, intrinsically incomparable, but have been used for the same purpose.
The most astonishing is that so much from BLUE.tex passed by unnoticed. In this note I'll try to draw your interest and hope that BLUe.tex will be saved from oblivion, or at the least that the paradigms used in there will be embraced.

The serious undertone in TeX is about minimal mark-up or better still about the absence of user mark-up, where TeX will insert the mark-up.
The serious undertone in PostScript is about printing along paths, especially for the special cases where the paths are implicit.

### Julia fractals in PostSCript

Lauwerier's BASIC codes for visualization of the various fractals have been converted into PostScript defs. Examples of use are included. A glimpse into Chaos theory in order to understand the principles and peculiarities of the underlying Julia sets is given. From BASIC codes to PostScript library defs entails software engineering skills. The paper exhibits experimental fractal geometry, practical use of minimal TeX, as well as ample EPSF programming, and is the result of my next step in acquainting myself with Lauwerier's 10+ years work on fractals.

## Willi Egger, Netherlands

### Conference folder workshop

Because the main theme of this year's EuroTeX has todo with recreation, we offer a workshop for making an intriguing though simple portfolio. Materials necessary will be provided.

## Hans Hagen, Netherlands

### context: the script

The ConTeXt runner context has inherited a few features from its predecessor texexec. Instead of hardcoding functionality for typesetting listings and manipulating pdf files in the script itself they are now isolated in tex files. In this presentation I will show some of these lesser known features of the script.

### context: after the cleanup

After the transition from MkII to MkIV a cleanup stage has been started. What is involved in this cleanup and what will happen afterwards. This is more a discussion than a presentation and users are invited to express their wishes and priorities.

### (visual) debugging

Compared to MkII the MkIV code has more tracing on board. At the Lua end we have trackers and recently a start has been made to extend that to the TeX end, where it will replace the \trace*true like macros. As part of the cleanup the original visual debugger module has been replaced by an even less intrusive variant. It provides the usual visual clues about what goes on the page. The new mechanism is more advanced that the old one but still assumes some knowledge of what happens inside TeX. In this presentation we will explain some of this.

### mixed columns

One of the last things to redo in MkIV is the page builder. Although bits and pieces have been redone, some major effort is needed to upgrade multi columns mechanisms. We (currently) have three mechanisms: regular columns that can be mixed with single column mode, simple columns that can be used in a boxed way, and columnsets. The first two have been replaced by a new mechanism tagged as mixed columns. This mechanism permits instances of multicolumns, either or not in the page flow or in boxes, and the old mechanisms will go. Of course we try to remain compatible as much as possible. In this talk we can discuss some of the issues involved and identify future needs.

### xml

In TeX and in Lua.

### tricks with the parbuilder

(Hans Hagen, Idris Samawi Hamid)

In this presentation Idris and I will discuss the optimizer for (mostly) Arabic scripts. The optimizer is plugged in the paragraph builder and uses advanced OpenType features. We will discuss the concepts, implementation and usage.

### a couple of styles

When you keep an eye on what modules get added to ConTeXt, you will notice that quite some of them are a mixture of TeX, METAPOST and Lua. I will show a few that might have gone unnoticed. They can often serve as an example for your own local usage.

### lexing

As I use SciTE most of the time, there is some mutual influence between coding and visualized in this editor. Especially the possibility to write more advanced lexers has lead to some changes (for the good) in the code base. Here I will show some of that (as it might help those who browse the source).

## Taco Hoekwater, Netherlands

### Parsing PDF content streams with LuaTeX

The epdf module inside luatex offers an interface to libpoppler, the pdf inclusion library. Using that, it is possible to parse the actual PDF content streams of external documents. For this, one can use pure lua code, or the embedded (much faster) binary module presented here.

### MetaPost path resolution isolated

The latest development version of the MPlib C library allows direct application access to the internal routines that calculate control points for graphic paths based on curl, tension or direction specifiers, without the need to write MP program code. This talk explains the program interface to that functionality.

### MetaClock

Just a bit of fun.

## Uwe Ziegenhagen, Germany

### Professional Business Reports with LaTeX

LaTeX is usually associated with typesetting academic content such as paper, Bachelor or PhD theses. In my talk I would like to give an overview how TeX may be used in business environments to typeset not only invoices and letters but also to create professionally looking reports.

## Patrick Gundlach, Germany

### Database publishing with LuaTeX and the speedata Publisher

Database Publishing is the repetitive (semi) automatic transformation from a data source to some kind of output (HTML, PDF, epub,...). A common task is to have an excel sheet, a product information management system or a webshop database and generate reports, data sheets, product catalogs or other kind of PDF documents out of it. Database publishing is often equal to "InDesign Publishing" with the help of some plugin that automates the task of pulling data from the database into the document. The user can (and must) make the resulting document more beautiful.

There are several alternatives to this approach, especially when you need 100% unattended workflows. Each alternative has advantages and of course drawbacks. 1) ConTeXt fills this gap nicely, but requires a very knowledgable programmer. 2) Many times users write some perl or python scripts that reads the database contents and produces some kind of output, perhaps LaTeX code that must be run with PDFLaTeX. This is a fast approach, but tend to get very hackerish after some time. 3) There is a standardized way of transforming XML to PDF called XSL-FO. This w3c standard has the big advantage that many tools exist to help the user in the task of publishing. But XSL-FO is very limited in its capabilities to produce reasonable documents.

A common demand in high volume output is to optimize page usage. As an example: image you have six products in a group but a page only fits five. The software system should be able to re-arrange the products and change a few parameters (image size, text size, text length), so that all six products fit on the same page and thus a whole page saved. The aforementioned systems are either very demanding on the programming side or just not capable of optimizations like these.

The product of our company is filling in this gap. It provides a way to transform XML (and thus any data) to PDF. It has a specialized input language designed for the purpose of laying out elements on a page, and it has all functionality of a modern programming language (variables, loops, if-then-else switches). It can put text and graphical elements on a virtual page that is used for any kind of layout optimization. These virtual pages can be removed and re-typeset with different parameters and only the "best" page will make it to the PDF. As there is no control language for this kind of application yet, the system is inspired by the standards HTML (table layout), XPath (accessing the data and running specialized functions) and XSLT (accessing document nodes, programming constructs).

The software (called "speedata Publisher") is written in Lua and makes heavy use of the LuaTeX engine. We use TeX to break paragraphs into lines, arrange the programmatically created boxes and glue for layout of complex tables and to write clean PDF. The publisher is open source software (AGPL) and runs under the three major operating systems (Linux, Windows, Mac OS X). The documentation is mostly still in German, although we are currently translating the documentation into english.

### A journey to the land of LuaLaTeX

LuaTeX is the new shining star in the TeX world. It has proven its stability and usefulness. In this presentation I will show some examples how normal (La)TeX texts can be enriched with Lua code. LuaTeX enhances TeX in various ways: it can typeset Unicode input easily with OpenType fonts, provides better language handling and -- this is the aspect shown in the presentation -- LuaTeX offers access to TeX's internal data structures and routines. A harmless looking, yet very powerful mechanism is provided by callbacks. These callbacks are a bit like electric sockets, you can plug in your own program code that either replaces some internal TeX routine or gets run in addition to it.

I will show a few (hopefully easy to follow) examples of these routines using the pre_linebreak_filter and post_linebreak_filter and explain what kind of application can be made with these callbacks.

## Jano Kula, Czech Republic

### Run for Fun

Sports and especially long distance runs are known for the good doses of endorphin. Instead, we will show some adrenaline challenges while preparing such a sport event: 10 km run through the historic center of Prague. Plotters, tables, layers, composition.

## Jean-Michel Hufflen, France

### MlBibTeX and Its New Extensions

These last years, the kernel functions of MlBibTeX have been reused and extended in order to put new programs about bibliographies into action. Examples are the hal' program, allowing an open archive site to be populated, the mlbiblatex' program, building bibliographies suitable for the biblatex package, the mlbibcontext' program, doing the same task for ConTeXt documents. We show how all these programs are organised, and explain how some operations can be refined or extended. For a point of view related to efficiency, the programs mlbiblatex' and mlbibcontext' are written using Scheme only, so they are more effiencent than analogous programs that would interpet a .bst' bibliography style.

### Demonstration of the 'mlbibcontext' Program

The demonstration will focus on the three points:

• installation and use;
• how a ".bib" file whose field values include some LaTeX commands may or may no be used by the `mlbibcontext' program;
• how this program can evolve and provide new services to bibliographies processed with ConTeXt.

## Tomáš Hala, Czech Republic

### Differences in typesetting rules between Czech and Slovak languages (in the context of ConTeXt)

During the existence of Czechoslovakia, Czech and Slovak typesetting rules were defined by one common norm. At present, Slovak rules have mostly been fixed by official documents whereas Czech rules are rather custom based.

This contribution deals with comparison of the rules in both languages, especially with the use of hyphen, dashes, lists etc. In addition to that, some ot these items in Czech and Slovak differ considerably from those in other languages. All important items have been compared with facilities in the typesetting system ConTeXt and it seems that some situations have not been covered in configuration files. Therefore several suggestions for language settings have been made in order to make ConTeXt more general and comfortable for ordinary users.

## Luigi Scarso, Italy

### MFLua: Instrumentation of MF with Lua

We present MFLua, a METAFONT version which is capable of code instrumentation and has an embedded Lua interpreter that allows glyphs curves extraction and post-processing. We also show and discuss an example of a METAFONT source processed by MFLua to output an OpenType font.