Publications by topic: Coding & Testing
The LaTeX release workflow and the LaTeX dev formats
- Frank Mittelbach
- TUGboat 40:2, 2019
- Abstract
How do you prevent creating banana software (i.e., software that gets ripe at the customer site)? By proper testing! But this is anything but easy.
The paper will give an overview of the efforts made by the LaTeX Project Team over the years to provide high-quality software and explains the changes that we have made this summer to improve the situation further.
From the TUG Conference 2018 (Rio de Janeiro, Brazil)
Compatibility in the LaTeX world (handouts)
- Frank Mittelbach
- TUG Conference 2018 (Rio de Janeiro, Brazil)
- Abstract:
In this talk I take a look at the major disruptions that have rocked the LaTeX world in the past decades and how we handled them, covering some of the resulting consequences.
In the latest part of this saga a rollback concept for the LaTeX kernel was introduced (around 2015). Providing this feature allowed us to make corrections to the software (which more or less didn’t happen for nearly two decades) while continuing to maintain backward compatibility to the highest degree.
I will give some explanation on how we have now extended this concept to the world of packages and classes which was not covered initially. As the classes and the extension packages have different requirements compared to the kernel, the approach is different (and simplified). This should make it easy for package developers to apply it to their packages and authors to use when necessary.
-
Video of the talk recorded by IMPA on YouTube: What’s to stay, what’s to go – Compatibility in the LaTeX world
-
Conference published in TUGboat 39:2, 2018 A rollback concept for packages and classes
A quarter century of doc (handouts)
- Frank Mittelbach
- TUG Conference 2018 (Rio de Janeiro, Brazil)
- Abstract:
In this talk I will re-examine my poor attempts at Literate Programming and how they have shaped (for the better or worse) the LaTeX world in the past decades. It’s about time to rethink some of the concepts invented back then—but can we still evolve?
Video of the talk recorded by IMPA on YouTube: What’s to stay, what’s to go – A quarter century of doc (I messed up the start so real talk starts at 00:02:30)
A rollback concept for packages and classes
- Frank Mittelbach
- Paper published in TUGboat 39:2, 2018
- Abstract:
In 2015 a rollback concept for the LaTeX kernel was introduced. Providing this feature allowed us to make corrections to the software (which more or less didn’t happen for nearly two decades) while continuing to maintain backward compatibility to the highest degree.
In this paper we explain how we have now extended this concept to the world of packages and classes which was not covered initially. As the classes and the extension packages have different requirements compared to the kernel, the approach is different (and simplified). This should make it easy for package developers to apply it to their packages and authors to use when necessary.
An article discussing the new rollback concept for packages and
classes. Together with the latexrelease
package this forms a
comprehensive release management and compatibility solution for the
LaTeX universe.
See also video of the talk recorded by IMPA on YouTube: What’s to stay, what’s to go – Compatibility in the LaTeX world and the corresponding handouts Compatibility in the LaTeX world.
The box-glue-penalty algebra of TeX and its use of \prevdepth
- Frank Mittelbach
- Published paper, TUGboat volume 36, number 1, 2015
- Abstract:
This article discusses certain aspects of TeX’s approach to line breaking and its consequences for automatically calculating the right amount of vertical space between lines in more complex layouts.
It starts with giving a short introduction to the box-glue-penalty algebra used by TeX to model material to typeset. We then look at how the program calculates the vertical glue between lines in which the parameter \prevdepth plays a crucial role. Next we examine different types of output routines and evaluate how and to what extent the TeX algorithms can accommodate their goals.
The final conclusion is that this is an area where we can pose problems that cannot be resolved using current TeX, ε-TeX, pdfTeX, or XeTeX, unless you restrict the allowable input, as there is no way to obtain some of the information used by TeX’s algorithms for later manipulation of the result.
Like the answer to many questions these days, the situation is (probably) different with LuaTeX — probably, because I haven’t actually tried it, but given the additional possibilities offered by LuaTeX a solution should be feasible.
This article discusses certain aspects of TeX’s approach to line breaking and its consequences for automatically calculating the right amount of vertical space between lines in more complex layouts.
From the TUG Conference 2015 (Darmstadt, Germany)
Twenty-one is only half the truth (mindmap)
- Frank Mittelbach
- TUG Conference 2015 (Darmstadt, Germany)
- Video of the talk: Twenty-one is only half the truth (via River Valley TV)
Hidden behind this title is a presentation of the new LaTeX kernel compatibility concept that was introduced with 2015 release of LaTeX (42/2 years after the first release).
From the UK-TUG meeting in 2014
Some video footage from the meeting in November 2014 on LaTeX2e and LaTeX3 development topics.
Fixing LaTeX2e (video)
- David Carlisle
- UK-TUG meeting in 2014
A talk describing the plans for a better maintenance approach (compared to fixltx2e which doesn’t work)
The trace package
- Frank Mittelbach
- Published paper, TUGboat, Volume 22 (2001), No. 1/2
This article describes the trace package that is useful when debugging complex (or not so complex) LaTeX code.
Default docstrip headers
- Published paper, 1998
- Keywords: documentation of LaTeX2e packages
An article about docstrip headers appeared in TUGboat volume 19, number 2. It describes a change in the wording of the default headers and gives some hints on how to have your own specific headers on your files.
Publications by topic
Under each topic you will find relevant articles and papers on related subjects published by the LaTeX3 project as well as links to videos of their conference presentations.
Publications by year
A alternative view of all publications ordered by year is given on the Publications by Year page.
Books by project members and others
A list of books that we think are useful is given on the Books Page. By buying documentation through this website you support the volunteer work of project members to keep LaTeX useful for you.
- Current LaTeX (LaTeX2e)
- LaTeX -> LaTeX3
- PDF, Tagging, Accessibility
- Coding, Testing & Support
- Other topics independent of the LaTeX version