summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-01-07 01:32:07 +0000
committerKarl Berry <karl@freefriends.org>2011-01-07 01:32:07 +0000
commit738b6caad48af590f150127a579adc3ceec948b2 (patch)
tree9c7190e2bd84c1a358c9de8781eefc9b0446bc3d /Master/texmf-dist/doc
parentb9e63b0394790cb72b3ae93eef6e877f57d46817 (diff)
xpackages (6jan11)
git-svn-id: svn://tug.org/texlive/trunk@20954 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xbase/commands-check.tex47
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xbase/ldcsetup.pdfbin339717 -> 339704 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xbase/regression-test.tex218
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xbase/template.pdfbin498349 -> 498338 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xbase/xparse.pdfbin508364 -> 508352 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xbase/xtemplate.pdfbin528320 -> 528479 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xcoffins/l3coffins.pdfbin0 -> 456429 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins-test.tex380
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins-tschichold-example.tex185
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins.pdfbin0 -> 425125 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xhead/xhead.pdfbin464704 -> 464691 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e.pdfbin327130 -> 327122 bytes
12 files changed, 565 insertions, 265 deletions
diff --git a/Master/texmf-dist/doc/latex/xpackages/xbase/commands-check.tex b/Master/texmf-dist/doc/latex/xpackages/xbase/commands-check.tex
deleted file mode 100644
index 0d79e690945..00000000000
--- a/Master/texmf-dist/doc/latex/xpackages/xbase/commands-check.tex
+++ /dev/null
@@ -1,47 +0,0 @@
-%
-% Execute this TeX file with
-% latex -interaction=batchmode commands-check
-%
-% The package loaded and the commands checked can be customised:
-\providecommand\PKG{expl3}
-\providecommand\CMDS{commands-check.cmds}
-
-\documentclass{minimal}
-\usepackage{\PKG}
-\makeatletter
-
-% "loop...if...then...repeat" from TeX by Topic:
-\def\cmdchk@loop#1\cmdchk@repeat{\def\cmdchk@body{#1}\cmdchk@iterate}
-\def\cmdchk@iterate{%
- \let\cmdchk@next\relax
- \cmdchk@body \let\cmdchk@next\cmdchk@iterate \fi \cmdchk@next}
-
-\let \@tempb \@empty
-\newread \cmdchk@read
-\openin \cmdchk@read \CMDS \relax
-
-\def\checkcmds{%
- \begingroup
- \catcode`\\=12
- \endlinechar=-1
- \loop
- \read \cmdchk@read to \@tempa \relax
- \ifx \@tempa \@empty
- \closein \cmdchk@read
- \else
- \ifcsname \expandafter \@gobble \@tempa \endcsname
- \else
- \xdef \@tempb {\@tempb ^^J!>\space\space\space\space\@tempa}
- \fi
- \repeat
- \endgroup
- \ifx\@tempb\@empty\else
- \nonstopmode
- \errmessage{\@tempb^^J}
- \batchmode
- \fi
-}
-\makeatother
-\begin{document}
-\checkcmds
-\end{document}
diff --git a/Master/texmf-dist/doc/latex/xpackages/xbase/ldcsetup.pdf b/Master/texmf-dist/doc/latex/xpackages/xbase/ldcsetup.pdf
index 1f11818baf7..7bbe633c462 100644
--- a/Master/texmf-dist/doc/latex/xpackages/xbase/ldcsetup.pdf
+++ b/Master/texmf-dist/doc/latex/xpackages/xbase/ldcsetup.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xpackages/xbase/regression-test.tex b/Master/texmf-dist/doc/latex/xpackages/xbase/regression-test.tex
deleted file mode 100644
index c7abb659a98..00000000000
--- a/Master/texmf-dist/doc/latex/xpackages/xbase/regression-test.tex
+++ /dev/null
@@ -1,218 +0,0 @@
-% \iffalse meta-comment
-%
-% Copyright (C) 1992-1994 by David Carlisle, Frank Mittelbach.
-% Copyright (C) 2008 LaTeX3 project
-% All rights reserved.
-%
-% This file is part of the validate package.
-%
-% IMPORTANT NOTICE:
-%
-% You are not allowed to change this file. In case of error
-% write to the email address mentioned in the file readme.val.
-%
-% \fi
-% regression-test.tex
- %%%%%%%%%%%%%%%%%%%
-
-% This file should not be used as a package or class file,
-% it should be \input.
-
-% The scope of this \makeatletter will then be the rest of the
-% document. Put TeX into scroll mode, and stop it showing the
-% implementation details of macros in error messages.
-\makeatletter
-\scrollmode
-\errorcontextlines=-1
-
-% Use the same \showbox settings as 2.09, unless they are changed in
-% the test file. (2e sets these to -1)
-\showboxbreadth=5
-\showboxdepth=3
-
-% Start the test, after the optional \documentclass (or \documentstyle)
-% \begin{document} commands with \START. All lines in the .log file
-% before this will be ignored. It also prints a docstrip-style
-% character table in the .tlg file so the .tlg file can easily be
-% checked for email translations.
-%
-\def\START{\typeout{START-TEST-LOG^^J^^J%
- This is a generated file for the LaTeX (2e + expl3) validation system.%
-^^J^^JDon't change this file in any respect.%
-^^J^^J\CTable^^J}}
-
-\begingroup
-\catcode`\^^\=0
-\catcode`\^^A=\catcode`\%
-^^\catcode`^^\ =11
-^^\catcode`^^\%=11
-^^\catcode`^^\#=11
-^^\catcode`^^\~=11
-^^\endlinechar=`^^\^^J
-^^\catcode`^^\\=11^^A
-^^\gdef^^\CTable{
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%%
-}^^A
-^^\endgroup{}%
-
-% The test should end with
-% \END or \end{document}
-%
-\let\@@@end\@@end
-%\let\@ED=\enddocument
-\def\END{\typeout{END-TEST-LOG}\@@@end}
-\let\@@end\END
-
-
-% After the \START should come declarations of the format and style
-% options being used.
-%
-\def\FORMAT#1{\typeout{Format: #1}%
- \def\@tempa{#1}\ifx\@tempa\@EJ\else
- \OMIT\@warning{Declared format #1,^^JActual format \@EJ}\TIMO\fi}
-
-% The old version got this information from everyjob,
-% but that does not work with LaTeX2e as \everyjob is cleared.
-\edef\@EJ{\fmtname <\fmtversion>}
-
-% Some author info:
-\def\AUTHOR#1{\typeout{Author: #1}}
-\def\ADDRESS#1{\typeout{Address: #1}}
-
-% Not all packages declare themselves to the log file, and we can not
-% rely on TeX`s output as it includes full path names, and does not
-% include version numbers etc. So for each package included give a
-% declaration like: \PACKAGES{array v2.0d}
-%
-\def\STYLE#1{\typeout{Main Style: #1}}%
-\def\STYLEOPTIONS#1{\typeout{Style Options: #1}}
-
-
-% If The class or package is loaded with options, you may
-% specify the options in the \CLASS (\PACKAGE) declaration. eg:
-%
-% \CLASS[german,a4page]{article v2.0 1994/01/02}
-% \PACKAGE{ifthen v2.2 1993/11/12}
-% \PACKAGE[dvips]{graphics v 3.8 1994/02/02}
-%
-\def\CLASS{\@ifnextchar[\OPTCLASS\XCLASS}
-\def\OPTCLASS[#1]#2{%
- \typeout{Main Class: #2^^J\@spaces Options: #1}}
-\def\XCLASS#1{%
- \typeout{Main Class: #1}}
-
-\def\PACKAGE{\@ifnextchar[\OPTPACKAGE\XPACKAGE}
-\def\OPTPACKAGE[#1]#2{%
- \typeout{Package: #2^^J\@spaces Options: #1}}
-\def\XPACKAGE#1{%
- \typeout{Package: #1}}
-
-
-% LaTeX2e always uses NFSS2 so new test files need not use
-% \FONTSELECTION but it is retained for compatibility for test files
-% written for 209/NFSS1.
-%
-\def\FONTSELECTION#1{%
- \OMIT\@@warning{\noexpand\FONTSELECTION obsolete.^^J%
- LaTeX2e always uses NFSS2}\TIMO
- \typeout{Font Selection: #1}}
-
-
-% Surround commands which produce irrelevant lines in the .log file by
-% \OMIT
-% \TIMO
-%
-\def\OMIT{\typeout{OMIT}}
-\def\TIMO{\typeout{TIMO}}
-
-% After the above declarations, and before the main tests, you may
-% optionally `declare' all the commands in the `module' that you are
-% about to test. These commands will be registered as defined,
-% undefined or relaxed (ie \let to \relax). You may wish to declare
-% commands not currently implemented, so that if they are added at a
-% later stage, the test will fail, reminding someone to document the
-% fact that the user interface has changed. So if you are testing
-% array and tabular environments, you may wish do declare
-% \extrarowheight. This is undefined in the curent latex, but would
-% become defined if Mittelbach's array.sty was incorporated into
-% latex.tex.
-%
-\def\declare@command#1{%
- \ifx#1\@undefined\typeout{Undefined \string#1}\else
- \ifx#1\relax\typeout{Relaxed \space\space\string#1}\else
- \typeout{Defined \space\space\string#1}\fi\fi}
-
-
-% To allow testing of possible changes, we allow extra code to be read
-% in before the test starts. The necessary code should be placed in a
-% file regression-test.cfg.
-%
-\OMIT
-\InputIfFileExists{regression-test.cfg}
- {\typeout{^^J***^^Jregression-test.cfg in operation^^J***^^J}}{}
-\TIMO
-
-%%%%%%%%%
-
-% We are not starved for space in the log file output, so let's make it as
-% verbose as is useful when reading the .diff's.
-\newcount \gTESTint
-
-\newcommand \SEPARATOR {%
- \typeout{%
- ============================================================%
- }%
-}
-
-\newcommand \TEST [2] {%
- \advance \gTESTint 1
- \SEPARATOR
- \typeout{%
- TEST \the\gTESTint: \detokenize{#1}}%
- \SEPARATOR
- \begingroup
- \let \TYPE \typeout
- #2%
- \endgroup
- \SEPARATOR \typeout{}%
-}
-
-\newcommand \TESTEXP [2] {%
- \advance \gTESTint 1
- \SEPARATOR
- \typeout{%
- TEST \the\gTESTint: \detokenize{#1}}%
- \SEPARATOR
- \begingroup
- \let \TYPE \@firstofone
- \typeout{#2}%
- \endgroup
- \SEPARATOR \typeout{}%
-}
-
-\def \TRUE {\TYPE{TRUE}}
-\def \FALSE {\TYPE{FALSE}}
-\def \YES {\TYPE{YES}}
-\def \NO {\TYPE{NO}}
-
-\def \NEWLINE {\TYPE{^^J}}
-
-\endinput
-
-
-
diff --git a/Master/texmf-dist/doc/latex/xpackages/xbase/template.pdf b/Master/texmf-dist/doc/latex/xpackages/xbase/template.pdf
index e4f0ad220cc..ea25911cffe 100644
--- a/Master/texmf-dist/doc/latex/xpackages/xbase/template.pdf
+++ b/Master/texmf-dist/doc/latex/xpackages/xbase/template.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xpackages/xbase/xparse.pdf b/Master/texmf-dist/doc/latex/xpackages/xbase/xparse.pdf
index 497036ac7c7..8b7b75992de 100644
--- a/Master/texmf-dist/doc/latex/xpackages/xbase/xparse.pdf
+++ b/Master/texmf-dist/doc/latex/xpackages/xbase/xparse.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xpackages/xbase/xtemplate.pdf b/Master/texmf-dist/doc/latex/xpackages/xbase/xtemplate.pdf
index 4eafd523e2f..85ed0f0edc5 100644
--- a/Master/texmf-dist/doc/latex/xpackages/xbase/xtemplate.pdf
+++ b/Master/texmf-dist/doc/latex/xpackages/xbase/xtemplate.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xpackages/xcoffins/l3coffins.pdf b/Master/texmf-dist/doc/latex/xpackages/xcoffins/l3coffins.pdf
new file mode 100644
index 00000000000..7fb1c8aef51
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xpackages/xcoffins/l3coffins.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins-test.tex b/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins-test.tex
new file mode 100644
index 00000000000..1ede1770c08
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins-test.tex
@@ -0,0 +1,380 @@
+
+\documentclass{article}
+
+\usepackage[T1]{fontenc}
+\usepackage{times,multicol}
+\usepackage{xcoffins}
+
+\usepackage{color}
+\newcommand\cbox[2][.8]{{\setlength\fboxsep{0pt}\colorbox[gray]{#1}{#2}}}
+
+\newcommand\hrulebox [2]{\setbox#1\hbox to#2{{\scriptsize\itshape
+ \color{blue}\hrulefill #2\hrulefill}}}
+\newcommand\vrulebox [2]{\setbox#1\vbox to#2{{\hsize 1pt\centering\scriptsize
+ \itshape\color{blue}\leaders\vrule\vfill
+ \hbox to0pt{\hss #2\hss}\leaders\vrule\vfill\par}}}
+
+
+\addtolength\textwidth{10pt}
+
+\showboxdepth 9999
+\showboxbreadth 9999
+\tracingonline 1
+
+
+\scrollmode
+
+\newbox\zzz
+
+
+\begin{document}
+
+
+\title{Test file for coffins}
+\author{FMi}
+\maketitle
+
+First we add a few test coffins:
+\begin{verbatim}
+ \newcoffin \aaa
+ \newcoffin \bbb
+ \newcoffin \ccc
+ \newcoffin \ddd
+\end{verbatim}
+ \newcoffin \aaa
+ \newcoffin \bbb
+ \newcoffin \ccc
+ \newcoffin \ddd
+and some boxes not set up as ordinary boxes (without extra poles):
+\begin{verbatim}
+ \newbox \xxx
+ \newbox \yyy
+\end{verbatim}
+ \newbox \xxx
+ \newbox \yyy
+
+
+If a coffin receives data a set of ``natural'' default poles are automatically added.
+\begin{verbatim}
+\sbox\aaa{\fbox{\begin{tabular}[b]{l}123\\4\\5\end{tabular}}}
+\showcoffindata \aaa
+\end{verbatim}
+\sbox\aaa{\fbox{\begin{tabular}[b]{l}123\\4\\5\end{tabular}}}
+\showcoffindata \aaa
+
+
+In contrast, boxes not declared as coffins have no poles defined. However, if
+used as coffins at least the natural default poles can be used without
+further problems, i.e.,they are changed to coffins automatically on use.
+\begin{verbatim}
+\sbox\xxx{\fbox{Some very looooonggg Caption Text}}
+\showpoles \xxx
+\end{verbatim}
+\sbox\xxx{\fbox{Some very looooonggg Caption Text}}
+\showcoffindata \xxx
+
+
+Using \verb|\setvcoffin| instead of \verb|\sbox| gives us the codes with
+\texttt{T} and \texttt{B}. Similar to \verb|\parbox| this command requires to
+specify a target width of the box:
+\begin{verbatim}
+\setvcoffin \aaa {1.5cm} {\centering
+ \fbox{\begin{tabular}[b]{l}123\\4\\5\end{tabular}}}
+\showcoffindata \aaa
+\end{verbatim}
+\setvcoffin \aaa {1.5cm} {\centering
+ \fbox{\begin{tabular}[b]{l}123\\4\\5\end{tabular}}}
+\showcoffindata \aaa
+
+There are a dozen natural poles per box (some with multiple names); you can
+move each of the poles to someplace else (either to an absolute position in
+``box space'' or relative to its previous position). The coordinates can
+refer to box dimensions (using \verb|\height|, \verb|\depth|,
+ and \verb|width|). First we move some pole and add one
+additional one:
+\begin{verbatim}
+\setcoffinpole \aaa [h]{t}(\height -3pt)
+\setcoffinpole \aaa [v]{l}(0pt)
+\setcoffinpole \aaa [h]{mybottom}(\depth +2pt)
+\showcoffindata \aaa
+\end{verbatim}
+\setcoffinpole \aaa [h]{t}(\height -3pt)
+\setcoffinpole \aaa [v]{l}(0pt)
+\setcoffinpole \aaa [h]{mybottom}(\depth +2pt)
+\showcoffindata \aaa
+
+
+More interesting in many cases is the relative move of poles. For this the
+poles better exist or one gets an error and \texttt{0pt,0pt} is used:
+\begin{verbatim}
+\adjustcoffinpole \aaa [h]{H}(1pt)
+\adjustcoffinpole \aaa [v]{l}(1pt)
+\adjustcoffinpole \aaa [h]{undefined}(1pt)
+\showcoffindata \aaa
+\end{verbatim}
+\adjustcoffinpole \aaa [h]{H}(1pt)
+\adjustcoffinpole \aaa [v]{l}(1pt)
+\adjustcoffinpole \aaa [h]{undefined}(1pt)
+\showcoffindata \aaa
+
+
+
+\sbox \aaa {\fontsize{14.4}{5.5pc minus .5pc}\sffamily C\,H\,A\,P\,T\,E\,R
+ \fontsize{36}{40pt}\selectfont 2}
+
+\setvcoffin \bbb {11cm}
+ {\raggedleft\normalfont\fontsize{36}{38pt}\bfseries
+ The Structure of a \LaTeX{} Document}
+
+\setvcoffin \ccc {13cm}
+ {Some sample blind text to produce paragraph data after a heading.
+ Some sample blind text to produce paragraph data after a heading.
+ Some sample blind text to produce paragraph data after a heading.
+ Some sample blind text to produce paragraph data after a heading.
+ \endgraf
+ Some more sample blind text to produce paragraph data after a heading.
+ Some more sample blind text to produce paragraph data after a heading.
+}
+
+
+Suppose you have the following blocks of text:
+
+\bigskip
+
+\noindent\cbox{\usebox\aaa}
+
+\begin{multicols}{2}
+\ttfamily\tiny
+\ExplSyntaxOn
+ \noindent \coffin_print_pole_values:Nn \aaa \\
+\ExplSyntaxOff
+\end{multicols}
+
+\medskip
+
+\noindent\cbox{\usebox\bbb}
+
+\medskip
+
+\noindent\cbox{\usebox\ccc}
+
+\bigskip
+
+produced by:
+\begin{verbatim}
+\sbox \aaa {\fontsize{14.4}{5.5pc minus .5pc}\sffamily
+ C\,H\,A\,P\,T\,E\,R
+ \fontsize{36}{40pt}\selectfont 2}
+\setvcoffin \bbb {11cm}
+ {\raggedleft\normalfont\fontsize{36}{38pt}\bfseries
+ The Structure of a \LaTeX{} Document}
+\setvcoffin \ccc {13cm}
+ {Some sample blind text to produce paragraph
+ data after a heading. ... }
+\end{verbatim}
+
+How do you turn this into a heading of TLC2?
+
+
+\newbox\RBi
+\newbox\RBii
+\newbox\RBiii
+
+\hrulebox\RBi{62pt}
+\vrulebox\RBii{90pt}
+\vrulebox\RBiii{60pt}
+
+\aligncoffins \bbb [T,r] \aaa [H,r](-62pt,60pt)
+\aligncoffins \ccc[T,r] \bbb[B,r](62pt,90pt)
+
+ \aligncoffins * \ccc[\bbb-T,\bbb-hc] \RBiii[b,hc](28pt,0pt)
+ \aligncoffins * \ccc[\bbb-b,\bbb-r] \RBi[H,r](0pt,-5pt)
+ \aligncoffins * \ccc[\bbb-B,\bbb-hc] \RBii[t,r](14pt,0pt)
+
+\newpage
+
+How do you best define/describe the following design?
+
+\medskip
+
+\noindent\cbox{\usebox\ccc}
+
+
+
+
+
+
+\newpage \pagestyle{empty}
+
+\newcoffin \eee
+\newcoffin \fff
+\newcoffin \ggg
+
+\sbox \aaa {\small\scshape les vases communicants}
+\sbox \bbb {\scshape comunicating}
+\sbox \ccc {\fontsize{70pt}{60pt} \bfseries Ve\S els}
+\sbox \ddd {\scshape andr\'e breton}
+\setvcoffin \eee {4.7cm}{\noindent Translated by Mary Ann Caws \&\break
+ Geoffrey T.\,Harris, with notes \&\break
+ introduction by Mary Ann Caws\parfillskip=0pt\relax
+ }
+\sbox \fff {University of Nebraska Press: Lincoln \& London}
+
+\setvcoffin \ggg {100mm}{\noindent\fbox{\parbox{97mm}{\leavevmode\vspace*{228mm}}}}
+
+
+\aligncoffins \ccc [H,r] \ddd [H,r](0pt,-12pt)
+\aligncoffins \ccc [t,l] \bbb (0pt,6pt)
+\aligncoffins \ccc [H,r] \aaa [H,r](0pt,138pt)
+\aligncoffins \eee [T,l] \ccc (0pt,22pc)
+\aligncoffins \fff \eee [B,l](0pt,4pc)
+\aligncoffins \ggg [b,l] \fff [B,l](54pt,11pc)
+
+
+\vspace*{-2cm}
+\noindent\cbox{\usebox\ggg}
+
+
+\newpage
+
+\section{Rotation}
+
+\sbox \aaa {\tabcolsep0pt\begin{tabular}[c]{|c|}\hline a\\b\\cccccccccccccc\\d
+ \\e\\e\\e\\e\\\hline\end{tabular}}
+\sbox \bbb {\fbox{A sample Text}}
+
+% just for the sake of it:
+\adjustcoffinpole \aaa {T}(24pt)
+\displaycoffinpoles \aaa {black}
+x\cbox{\usebox \aaa }x
+%
+\rotatecoffin \aaa {45}
+\displaycoffinhandle \aaa {b}{hc} {blue}
+\displaycoffinhandle \aaa {b}{l} {blue}
+\displaycoffinhandle \aaa {t}{r} {blue}
+\displaycoffinhandle \aaa {vc}{r} {blue}
+\displaycoffinhandle \aaa {vc}{l} {blue}
+\quad
+x\cbox{\usebox \aaa }x
+\rotatecoffin \aaa {45}
+\displaycoffinhandle \aaa {b}{r} {red}
+\displaycoffinhandle \aaa {vc}{l} {red}
+\quad
+x\cbox{\usebox \aaa }x
+
+\vspace{1cm}
+
+\rotatecoffin \aaa {45}
+\displaycoffinhandle \aaa {b}{l} {yellow}
+%
+x\cbox{\usebox \aaa }x
+%
+
+\vspace{1cm}
+
+x\cbox{\usebox \bbb }x
+%
+\rotatecoffin \bbb {45}
+\displaycoffinhandle \bbb {B}{hc} {yellow}
+\quad
+x\cbox{\usebox \bbb }x
+
+
+\section{Rotation + alignment}
+
+\aligncoffins \aaa [b,l] \bbb[B,hc](30pt,0pt)
+x\cbox{\usebox \aaa }x
+
+
+After we have aligned a roated box with some other box we need to decide about
+the bounding box of the new box. Right now this become the enclosing box and
+we do not maintain information about the inner boxes. So when we rotate that
+new box there seems to be unnecessary space in the enclosing bounding box,
+even though that is correct if you think of the aligned box being unrotated.
+
+There is at least the possibility to refer to the handles of the inner boxes
+as one can see by two of the green handles
+
+\medskip
+
+\rotatecoffin \aaa {45}
+\displaycoffinhandle \aaa {vc}{hc} {green}
+\displaycoffinhandle \aaa {H}{l} {green}
+\displaycoffinhandle \aaa {\aaa-T}{\aaa-r} {green}
+\displaycoffinhandle \aaa {\bbb-H}{\bbb-r} {green}
+%\quad
+x\cbox{\usebox \aaa }x
+
+We could do better, if we want to, by actually checking for max and
+min of all inner bounding box corners and construct the result BB box from
+that---but is it worth it?
+
+Perhaps it is! After all, the current implementation shows different results
+depending on when you align boxes and when you rotate, e.g., aligning first
+gives totally different bounding box results.
+
+\newpage
+
+Aligning first and then 135 + 45 rotation gives this:
+
+\sbox \aaa {\tabcolsep0pt\begin{tabular}[c]{|c|}\hline a\\b\\cccccccccccccc\\d
+ \\e\\e\\e\\e\\\hline\end{tabular}}
+\sbox \bbb {\fbox{A sample Text}}
+\rotatecoffin \bbb {90}
+
+\aligncoffins \aaa [b,l] \bbb[B,hc](-30pt,0pt)
+x\cbox{\usebox \aaa }x
+\qquad
+\rotatecoffin \aaa {135}
+x\cbox{\usebox \aaa }x
+\qquad
+\rotatecoffin \aaa {45}
+x\cbox{\usebox \aaa }x
+
+
+
+
+\newpage
+
+\section{Rotation by small amounts}
+
+\sbox \aaa {\tabcolsep0pt\begin{tabular}[c]{|c|}\hline a\\b\\ccccccccc\\d
+ \\e\\e\\e\\\hline\end{tabular}}
+
+\subsection{30 + 30 +30 }
+\rotatecoffin \aaa {30}
+x\cbox{\usebox \aaa }x
+\rotatecoffin \aaa {30}
+x\cbox{\usebox \aaa }x
+\rotatecoffin \aaa {30}
+x\cbox{\usebox \aaa }x
+
+\subsection{6 * 10 + 45 + 45 + 30}
+
+\rotatecoffin \aaa {10}
+x\cbox{\usebox \aaa }x
+\rotatecoffin \aaa {10}
+x\cbox{\usebox \aaa }x
+\rotatecoffin \aaa {10}
+x\cbox{\usebox \aaa }x
+
+\vspace{1cm}
+\rotatecoffin \aaa {10}
+x\cbox{\usebox \aaa }x
+\rotatecoffin \aaa {10}
+x\cbox{\usebox \aaa }x
+\rotatecoffin \aaa {10}
+x\cbox{\usebox \aaa }x
+
+\vspace{1cm}
+\rotatecoffin \aaa {45}
+x\cbox{\usebox \aaa }x
+\rotatecoffin \aaa {45}
+x\cbox{\usebox \aaa }x
+\rotatecoffin \aaa {30}
+x\cbox{\usebox \aaa }x
+
+
+\end{document}
+
+
diff --git a/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins-tschichold-example.tex b/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins-tschichold-example.tex
new file mode 100644
index 00000000000..1d76806feb2
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins-tschichold-example.tex
@@ -0,0 +1,185 @@
+
+\documentclass{article}
+
+\usepackage[a4paper,margin=5pt]{geometry}
+
+\usepackage[T1]{fontenc}
+\usepackage{times,multicol,graphicx}
+\usepackage{l3coffins-new}
+
+\usepackage{times,color}
+\newcommand\cbox[2][.8]{{\setlength\fboxsep{0pt}\colorbox[gray]{#1}{#2}}}
+
+\ExplSyntaxOn
+
+\ExplSyntaxOff
+
+
+
+%\scrollmode
+
+\pagestyle{empty}
+
+\begin{document}
+
+ \NewCoffin \result
+ \NewCoffin \aaa
+ \NewCoffin \bbb
+ \NewCoffin \ccc
+ \NewCoffin \ddd
+ \NewCoffin \eee
+ \NewCoffin \fff
+ \NewCoffin \rulei
+ \NewCoffin \ruleii
+ \NewCoffin \ruleiii
+
+\SetHorizontalCoffin \result {}
+\SetHorizontalCoffin \aaa {\fontsize{52}{50}\sffamily\bfseries mitteilungen}
+\SetHorizontalCoffin \bbb {\fontsize{52}{50}\sffamily\bfseries typographische}
+\SetHorizontalCoffin \ccc {\fontsize{12}{10}\sffamily
+ \quad zeitschrift des bildungsverbandes der
+ deutschen buchdrucker leipzig
+ \textbullet{} oktoberheft 1925}
+\SetHorizontalCoffin \ddd {\fontsize{28}{20}\sffamily sonderheft}
+\SetVerticalCoffin \eee {180pt}
+ {\raggedleft\fontsize{31}{36}\sffamily\bfseries
+ elementare\\
+ typographie}
+\SetVerticalCoffin \fff {140pt}
+ {\raggedright \fontsize{13}{14}\sffamily\bfseries
+ natan altman \\
+ otto baumberger \\
+ herbert mayer \\
+ max burchartz \\
+ el lissitzky \\
+ ladislaus moholy-nagy \\
+ moln\'ar f.~farkas \\
+ johannes molzahn \\
+ kurt schwitters \\
+ mart stam \\
+ ivan tschichold}
+
+\RotateCoffin \bbb {90}
+\RotateCoffin \ccc {270}
+
+\SetHorizontalCoffin \rulei {\color{red}\rule{6.5in}{1pc}}
+\SetHorizontalCoffin \ruleii {\color{red}\rule{1pc}{23.5cm}}
+\SetHorizontalCoffin \ruleiii{\color{black}\rule{10pt}{152pt}}
+
+
+\JoinCoffins \result \aaa
+\JoinCoffins \result[\aaa-t,\aaa-r] \rulei [b,r](0pt,2mm)
+\JoinCoffins \result[\aaa-b,\aaa-l] \bbb [B,r](2pt,0pt)
+\JoinCoffins \result[\bbb-t,\bbb-r] \ruleii [t,r](-2mm,0pt)
+\JoinCoffins \result[\aaa-B,\aaa-r] \ccc [B,l](66pt,14pc)
+\JoinCoffins \result[\bbb-l,\ccc-B] \fff [t,r](-2mm,0pt)
+\JoinCoffins \result[\fff-b,\fff-r] \ruleiii [b,l](2mm,0pt)
+\JoinCoffins \result[\ccc-r,\fff-l] \eee [B,r]
+\JoinCoffins \result[\eee-T,\eee-r] \ddd [B,r](0pt,4pc)
+
+
+\vspace*{3cm}
+\begin{center}
+ {\Large Title page of ``elementare typographie'' by Ivan Tschichold\par}
+
+\large
+\vspace*{1cm}
+
+ 1. first the scanned original from 1925
+
+\vspace*{6mm}
+
+ 2. then the recreated \TeX{} version from 2010 using coffins---not
+ attempting\\ to match the fonts and size but the structure
+
+\vspace*{6mm}
+
+ 3. and finally the source code used.
+
+ This document uses the new
+ implementation by Joseph in \texttt{l3coffins-new}.
+
+\end{center}
+
+\newpage
+
+
+\begin{center}
+ \null
+ \fbox{\includegraphics[scale=.95]{elementare-typographie-title.jpg}}
+\end{center}
+
+\newpage
+xw
+\TypesetCoffin \result
+
+\newpage
+
+\vspace*{3cm}
+\begin{center}
+ {\Large Code used: \par}
+\vspace*{1cm}
+
+
+\begin{minipage}{14cm}
+\begin{verbatim}
+\SetHorizontalCoffin\result{}
+\SetHorizontalCoffin \aaa {\fontsize{52}{50}\sffamily\bfseries mitteilungen}
+\SetHorizontalCoffin \bbb {\fontsize{52}{50}\sffamily\bfseries typographische}
+\SetHorizontalCoffin \ccc {\fontsize{12}{10}\sffamily
+ \quad zeitschrift des bildungsverbandes der
+ deutschen buchdrucker leipzig
+ \textbullet{} oktoberheft 1925}
+\SetHorizontalCoffin \ddd {\fontsize{28}{20}\sffamily sonderheft}
+\SetVerticalCoffin \eee {180pt}
+ {\raggedleft\fontsize{31}{36}\sffamily\bfseries
+ elementare\\
+ typographie}
+\SetVerticalCoffin \fff {140pt}
+ {\raggedright \fontsize{13}{14}\sffamily\bfseries
+ natan altman \\
+ otto baumberger \\
+ herbert mayer \\
+ max burchartz \\
+ el lissitzky \\
+ ladislaus moholy-nagy \\
+ moln\'ar f.~farkas \\
+ jahannes molzahn \\
+ kurt schwitters \\
+ mart stam \\
+ ivan tschichold}
+
+\RotateCoffin \bbb {90}
+\RotateCoffin \ccc {270}
+
+\SetHorizontalCoffin \rulei {\color{red}\rule{6.5in}{1pc}}
+\SetHorizontalCoffin \ruleii {\color{red}\rule{1pc}{23.5cm}}
+\SetHorizontalCoffin \ruleiii{\color{black}\rule{10pt}{152pt}}
+
+\JoinCoffins \result \aaa
+\JoinCoffins \result[\aaa-t,\aaa-r] \rulei [b,r](0pt,2mm)
+\JoinCoffins \result[\aaa-b,\aaa-l] \bbb [B,r](2pt,0pt)
+\JoinCoffins \result[\bbb-t,\bbb-r] \ruleii [t,r](-2mm,0pt)
+\JoinCoffins \result[\aaa-B,\aaa-r] \ccc [B,l](66pt,14pc)
+\JoinCoffins \result[\bbb-l,\ccc-B] \fff [t,r](-2mm,0pt)
+\JoinCoffins \result[\fff-b,\fff-r] \ruleiii [b,l](2mm,0pt)
+\JoinCoffins \result[\ccc-r,\fff-l] \eee [B,r]
+\JoinCoffins \result[\eee-T,\eee-r] \ddd [B,r](0pt,4pc)
+\SetHorizontalCoffin\result{}
+\SetHorizontalCoffin \aaa {\fontsize{52}{50}\sffamily\bfseries
+ mitteilungen}
+\SetHorizontalCoffin \bbb {\fontsize{52}{50}\rotatebox{90}{\sffamily\bfseries
+ typographische}}
+
+\TypesetCoffin \result
+\end{verbatim}
+
+This is not necessarily the final syntax but for now it does its job. For
+example, flexible support for adding ornaments (lines, \ldots) is still
+missing, so above the rules got added as predefined individual coffins.
+
+\end{minipage}
+\end{center}
+
+\end{document}
+
diff --git a/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins.pdf b/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins.pdf
new file mode 100644
index 00000000000..89b3b76675b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xpackages/xhead/xhead.pdf b/Master/texmf-dist/doc/latex/xpackages/xhead/xhead.pdf
index cb6a3542c77..68732aa12db 100644
--- a/Master/texmf-dist/doc/latex/xpackages/xhead/xhead.pdf
+++ b/Master/texmf-dist/doc/latex/xpackages/xhead/xhead.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e.pdf b/Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e.pdf
index 4e82196a41d..b2d07e077c7 100644
--- a/Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e.pdf
+++ b/Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e.pdf
Binary files differ