Slide #2: What'S To Stay, What'S To Go Compatibility in The Latex World Frank Mittelbach Rio, July 2018
Slide #2: What'S To Stay, What'S To Go Compatibility in The Latex World Frank Mittelbach Rio, July 2018
Abstract
In this talk I take a look at the major disruptions
that have rocked the LATEX world in the past decades The new compatibility
What's to stay, what's to go
Major Disruptions in
Compatibility in the LaTeX
approach 40 years
and how we handled them, covering some of the re- World
Frank Mittelbach
sulting consequences. Rio, July 2018
and classes which was not covered initially. As the Commercial Typewriters (since approx 1870)
classes and the extension packages have different re- TeX (1978/79+)
and authors to use when necessary. iTeX solves it all (announced 2010, available ???)
Slide #3
structural needs
user needs
Major Disruptions in
40 years
external
influences
Frank Mittelbach
Slide #1
preliminary draft, August 6, 2018 13:00 preliminary draft, August 6, 2018 13:00
?2 preliminary draft, August 6, 2018 13:00 TUGboat, Volume 0 (9999), No. 0
birth of TeX
Major Disruptions in
40 years external LaTeX 2.09 ->
LaTeX2e
influences
Slide #5 Slide #8
get it going
Flexible font usage
external
influences Mature LaTeX2e
Slide #6 Slide #9
LaTeX2e (1994)
user needs graphics and color needs less time (and interest) by Leslie to manage
preliminary draft, August 6, 2018 13:00 preliminary draft, August 6, 2018 13:00
TUGboat, Volume 0 (9999), No. 0 preliminary draft, August 6, 2018 13:00 ?3
more user new code base with many new features built-in, e.g.,
kernel (2015)
needs + NFSS, language support, amsmath, graphics, color, etc
external starting point approach The new compatibility
influences
approach
many standard extension packages packages + classes (2018)
after some period with
corrections and additions
goal(s) correctly process documents even after many years
conclusion
further development then happened
essentially frozen kernel code only in packages (5000+ these days)
Mature LaTeX2e
fixltx2e
failed why?
package development
So what now?
incompatible changes without renames current code goes into the kernel and (surrounded by
\IncludeInRelease and \EndIncludeIn Release).
use of each and everything as hooks into kernel code
Older Code only goes there
package development
creation of all kind of package interdependencies conclusion: works well, but is not convenient to use
(loading order, release level etc)
and not really suitable for package or class level
starting point
goal(s)
So what now?
Handling disruptions Mature LaTeX2e
initial compatibility
approach (failed eventually)
failed why?
got stuck
Slide #13
preliminary draft, August 6, 2018 13:00 preliminary draft, August 6, 2018 13:00
?4 preliminary draft, August 6, 2018 13:00 TUGboat, Volume 0 (9999), No. 0
\DeclareRelease{<name>}{<date>}{<external-file>}
\DeclareRelease{<name>}{<later-date>}{<external-file>}
...
\DeclareCurrentRelease{<name>}{<date>} packages + classes (2018)
\ProvidesPackage ...
sounds familiar?
Outlook
Slide #16
Slide #19
starting point
goal(s)
approach
once you finished a paper you can now freeze its processing
conclusion
The new compatibility WHO NEEDS THES FONTS WITH ALL
(subject to usage of the concept) by simply adding approach THESE UNNECESSARY CHARACTERS?
\RequirePackage[<current-date>]{latexrelease} (1994)
at its top with a better chance that it will still work in the future
THIS WILL BREAK THE
though for important works like, say, a book I would still WORLD (2018)
suggest to save the texmf tree along with the sources
Slide #17
Slide #20
Frank Mittelbach
https://www.latex-project.org
preliminary draft, August 6, 2018 13:00 preliminary draft, August 6, 2018 13:00