Exhuming coffins from thelast century

Frank Mittelbach
LaTeX3 Project
San Francisco June 2010

A morbid title … So what is this allabout?
• What it is not about• An exercise from the TeXbook• Examples, examples, examples, …
• A different kind of coffin• Poles and handles• Recreate „elementare typographie“• … and why is this exciting?
• Outlook

Tutankhamun coffin
14th century BC

From a TeXbook exercise``Why do you think the author of \TeX\ didn't
make boxes more symmetrical between
horizontal and vertical, by allowing reference
points to be inside the boundary instead ofinsisting that the reference point must appear
at the left edge of each box?’’

… and Don‘s answer in Appendix A``No applications of such symmetrical boxes toEnglish-language printing were apparent; itseemed pointless to carry extra generality as
useless baggage that would rarely if ever be used,merely for the sake of symmetry.
In other words, the author wore a computerscience cap instead of a mathematician's mantle
on the day that \TeX's boxes were born.
Time will tell whether or not this was afundamental error!‘’Some simple designs …
Chapter opening from TLC2

A title page from some book… or perhaps not so simple after all• Distances specified asbaseline to baseline
spacing• Main title text is shiftedto the right• Chapter text may berequired to be always inthe same place (red)… an so much for the unsuspicious title• The title is centered on thepage• The sub-title is flush-left onthe title• The publisher information isset flush-right• The author name is centeredon the free space between
left edge of the title and leftedge of the press info
• And again some vertical b2b
spacing between the objects

And what about this?
Not quite mainstream,true …
• but how would youdescribe its design?

And …
• would that be in any
way related to the way
you would specify it inLaTeX?

A „natural“ design description…
• involves relations
between objects– that are easy to describe– use naturally available
aspects of objects• does not force the useof hard-wired metric
information whereunnecessaryelementare typographie 1925
• Design by Jan Tschichold• Complex horizontal andvertical alignments
between variouselements• How would you describe
this layout to somebody?

Graphically depicting the design• well …

And what has this to do with coffins?

Some history
sometimes it takes long to realize …
• A stroll through the English
countryside, in 1997 perhaps,
discussing the need for general
handles on boxes• As a result coffins were born andimplemented and put aside again(in a mausoleum?)• Last year I tried in vain to provide
good templates for heading
designs … and then I
remembered …
• Now in 2010 coffins are back– exhumed, cleaned up– and ready for display
Coffin End
Private house off Market St in Thornton village

Poles and handles

Natural poles and handles
TeX‘s box handle

Default coffin handles

Available operations on
individual coffins• Declare new coffin• Add poles (red)• Reposition poles (green)• Rotate coffin• Typeset coffin with offset

Available operations withseveral coffins• Align at handles with optional offset• Manage resulting
BB-boxApplying coffins:
Recreate elementare typographie• Rules\sbox \rulei {\color{red}\rule{6.5in}{1pc}}\sbox \ruleii {\color{red}\rule{23.5cm}{1pc}}\sbox \ruleiii{\color{black}\rule{152pt}{10pt}}• H-Coffins\sbox \BOXa {\fontsize{52}{50}\sffamily\bfseries
mitteilungen}\sbox \BOXb {\fontsize{52}{50}\sffamily\bfseries
typographische}\sbox \BOXc {\fontsize{12}{10}\sffamily \quadzeitschrift des bildungsverbandes derdeutschen buchdrucker leipzig \textbullet{}oktoberheft 1925}\sbox \BOXf {\fontsize{28}{20}\sffamily sonderheft}• V-Coffins\setvcoffin \BOXe {180pt}{\raggedleft\fontsize{31}{36}\sffamily\bfseries
elementare\\ typographie}\setvcoffin \BOXd {140pt}{\raggedright \fontsize{13}{14}\sffamily\bfseriesnatan altman \\ otto baumberger \\ herbert mayer \\max burchartz \\ el lissitzky \\ladislaus moholy-nagy \\moln\'ar f.~farkas \\ johannes molzahn \\kurt schwitters \\ mart stam \\ ivan tschichold}Applying coffins:
Recreate elementare typographie 2\sbox \result {}\aligncoffins \result \BOXa%
mitteilungen and rule%joinsyntax\aligncoffins\result[\BOXa-t,\BOXa-r]* <box> [<handle>]\aligncoffins<box2> [<handle2> ](<offset>)\rulei[b,r](0pt,2mm)%join typographische\rotatecoffin \BOXb{90}\aligncoffins \result[\BOXa-b,\BOXa-l]\BOXb[B,r](2pt,0pt)% add rule\rotatecoffin \ruleii {90}\aligncoffins \result[\BOXb-t,\BOXb-r]\ruleii[b,r](-2mm,0pt)

Applying coffins:
Recreate elementare typographie 3% add vertical text on the right\rotatecoffin \BOXc {270}\aligncoffins \result [\BOXa-B,\BOXa-r]\BOXc [B,l](66pt,14pc)% align „authors“ on two poles\aligncoffins \result [\BOXb-l,\BOXc-B]\BOXd [t,r](-2mm,0pt)% show the handle defined by the poles\displaycoffinhandle \result {\BOXb-l}{\BOXc-B} {blue}

Applying coffins:
Recreate elementare typographie 4% add black rule\rotatecoffin \ruleiii {90}\aligncoffins \result [\BOXd-b,\BOXd-r]\ruleiii [t,l](2mm,0pt)% add main title (again using two poles from%different boxes and bb-spacing)\aligncoffins \result [\BOXc-r,\BOXd-l]\BOXe [B,r]\displaycoffinhandle \result {\BOXc-r}{\BOXd-l} {blue}% add word „sonderheft“ (bb-spacing)\aligncoffins \result [\BOXe-T,\BOXe-r]\BOXf [B,r](0pt,4pc)

… and why is this exciting?
• It allows to describe theplacement of objects inrelation to each other• It enables parameterising
designs in a natural way
combining– object relations– absolute positions

What next …
• Extend functionality– add support for ornaments and rules– support „glue“ in offset specification (?!)• Decide final syntax – change name ?

• Apply in templates for– headings,– TOC entries,– floats, and page design``No applications of such symmetrical boxes to?Questions?
English-language
printing were apparent; it seemed
pointless to carry extra generality as uselessbaggage that would rarely if ever be used, merely
for the sake of symmetry.
In other words, the author wore a computerscience cap instead of a mathematician's mantle on
the day that \TeX's boxes were born.
Time will tell whether or not this was afundamental error!‘’