LaTex Architecture
LaTex Architecture
I presume this is one of several dozen bugs that would arise over the years if anyone were foolish enough to try allowing "_" in command names.
Leslie Lamport
1982 TeX2
4 years later
4 years later 4 years later 5 years later 5 years later
1990 TeX3
1994 LaTeX2e
?
???
2012
LaTeX3 beta
At the end of this message I attached the .log file for Frank's test file tparm4. This job crashes on 'pool size exceeded', for which I've been afraid since Frank sent his first proposal for the new kernel. The new font selection scheme, the new macronaming convention, the resource database, ... : they all eat truck-loads full of pool space!
I *do* like the interfaces of the modules I just mentioned, but I think this project is definitely going in the wrong direction: it's nice but impractical!
A few generic support commands, e.g., \@startsection Limited flexibility, limited scope
except for limited support of context for lists Some hardwired context settings, e.g., footnotes in minipages
A Typesetting Example
adjusted individually
Design A
Design B
offer
Design A
Design B
creates
Values A
Values B
define context
overwrite values in document has
select
select
Abstract Design
Parameters
Nesting and sequencing of structural elements in the document defines context Elements belong to one or more classes, e.g., list (generic), itemize (specific) Encountered elements update the context and applicable rules are carried out
Notation:
<list itemize> <note> !head * . !head<list start of environment of class list end of environment of class itemize completed environment of class note element of class head loose nesting tight nesting sequencing
Explanation List immediately follows a heading List nested within list An itemize nested within some list
list><itemize
<float*<caption>*<caption
Live demo
much more consistent documentation clarifying which functions are expandable or not restructuring code into l3kernel, l3packages, l3experimental and l3trial
faster \prg_return_...: conditional code, faster seq and prop by a factor at least 3 on sample documents (e.g., siunitx) for those parts that have been moved to l3kernel
module xcoffins / l3coffins module xgalley initial work on font support (xfss)
first task converting the highly optimized NFSS to less optimal but more readable code
There is nothing more difficult to take in hand, more perilous to conduct or more uncertain in its success than to take the lead in the introduction of a new order of things.
Machiavelli