PackagingCon

Tools for packaging and using Portable TeX Documents
2021-11-10 , Room 3

Both software and documents have dependencies. This talk focuses on managing document dependencies, to reduce both network and computation latency, and to ensure reproducible build (or typesetting) behaviour. Web development has a strong focus on reducing user experienced latency, as does serverless cloud computing.

At present human activity and large downloads are required to achieve these goals for TeX documents. To improve matters the speaker has introduced the concept of Portable TeX Documents (PTD). The PTD concept is intended to bring to source documents and the TeX community benefits similar to the benefits Portable Document Format (PDF) brought to Word users and Adobe.

The concepts and tools underlying PTD, particularly mounting git as a read-only file system, and the use of git backing stores (alternate object databases) are likely to be useful elsewhere. This is particularly true when most of the variability of a system lies in a small folder of text files (which is the case for TeX's typesetting inputs).


Adobe's Portable Document Format (PDF) stores the output of a typesetting process. It includes a structured storage system for storing dependencies such as fonts, graphics, multimedia objects and other resources. The speaker is creating similar tools and standards for the inputs to a typesetting process. It will allow authors and others to collaborate using Portable TeX Documents (PDT).

A key technology will be git used with a backing store (ie alternate object database). Each PDT will be a git tree containing all typesetting inputs. Shared resources such as fonts and style files will be placed in the backing store. Being able to mount a git repository as a read-only file system would be very helpful. Use of PTD will greatly reduce the human, bandwidth and storage cost of typesetting a new TeX document in your inbox. It will also greatly increase the sender's confidence that your output will be identical to theirs.

The basic idea of PDT is to use git with a backing store. This technology and associated tools will be most helpful when most of the variability of the system lies in a small folder of text files (which is the case for TeX's typesetting inputs). For more information see video discussion of Portable TeX Documents.

See also: SLIDES for this talk (PDF). (71.8 KB)

I'm a long-term user and developer of TeX. I'm now retired from the Open University in the UK, where I was the LaTeX officer. My talk on Portable TeX Documents is based on my experience of problems in packaging TeX, informed by my knowledge of Python, Elm and Debian.

https://jfine2358.github.io/