08-luatex-zeromq

Let’s Connect LuaTEX to the World

(Roberto Giacomelli)

Sommario

Una delle migliori novità del mondo TEX è LuaTEX non solamente per la tipografia in sé. Questo potente motore di composizione è capace di recuperare dati da molte sorgenti diverse, una caratteristica molto importante nei contesti di produzione di imprese e studi professionali, dove le informazioni condivise sono una risorsa vitale. In questo articolo discuterò le soluzioni che ho trovato fino a ora durante la mia attività professionale, per estendere il sistema TEX con funzioni esterne come quelle dei driver SQL. Illustrerò poi l’ultima mia inattesa scoperta, sorprendentemente semplice e innovativa: connettere il codice tramite messaggi. Niente più codice di basso livello di cui prendersi cura, niente più vincoli dovuti alle incompatibilità tra programmi, ma uno strato software fornito dalla libreria ZeroMQ con cui connettere LuaTEX a servizi esterni. Illustrerò in dettaglio l’installazione di ZeroMQ, e con l’aiuto di esempi funzionanti, mostrerò come usufruire in LuaTEX di servizi costruiti con il linguaggio Rust.

Abstract

One of the best pieces of news in the TEX world is LuaTEX not only for typography itself. In fact, this very powerful typesetting engine is capable to retrieve data from a variety of sources, a very important feature especially in the production context such as business and professional teams, where shared data are a vital resource. In this paper I will describe several solutions achieved so far during my job, to execute external code like SQL drivers and pass the datasets to TEX. Then, I will introduce the latest point of view that I suddenly discovered a few weeks ago, surprisingly simple and innovative as well: connect code by messaging. No more low level artifacts to care about, no more constraints due to incompatibility between programs, but a communication layer provided by the ZeroMQ library connecting LuaTEX with distributed services. I will detail how to install ZeroMQ and, with the help of several working examples, I will show how to benefit from services built with Rust within LuaTEX.

Leggi l’articolo

Go to top