summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-04-28 22:36:09 +0000
committerKarl Berry <karl@freefriends.org>2011-04-28 22:36:09 +0000
commit7baa3b2da85b6c1521d5f52417f2ebbf0f51ce41 (patch)
treeeadaf3c57105662f582b67417a6a28ed9a76637f /Master/texmf-dist/doc/latex
parent97073d3a436fba10891a4529c3b2f96a6b11b08f (diff)
xpackages 2155 (28apr11)
git-svn-id: svn://tug.org/texlive/trunk@22237 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex')
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xbase/ldcsetup.pdfbin339702 -> 339754 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xbase/template-test.tex77
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xbase/template-test2.tex110
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xbase/template.pdfbin498335 -> 571213 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xbase/tprestrict-test.tex80
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xbase/xparse.pdfbin413583 -> 414843 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xbase/xtemplate.pdfbin411499 -> 414562 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xcoffins/l3coffins.pdfbin346190 -> 599685 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-keyval.tex281
-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.pdfbin406636 -> 509072 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xhead/xhead-test.tex245
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xhead/xhead.pdfbin464688 -> 538852 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e-demo.tex46
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e.pdfbin379784 -> 455419 bytes
16 files changed, 1404 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/xpackages/xbase/ldcsetup.pdf b/Master/texmf-dist/doc/latex/xpackages/xbase/ldcsetup.pdf
index 46ddb3af2d7..488d40afe53 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/template-test.tex b/Master/texmf-dist/doc/latex/xpackages/xbase/template-test.tex
new file mode 100644
index 00000000000..5684ce7a90f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xpackages/xbase/template-test.tex
@@ -0,0 +1,77 @@
+% \iffalse
+%% (C) Copyright 2000-2004 LaTeX3 Project
+%%
+%% It may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License (LPPL), either version 1.3a of this
+%% license or (at your option) any later version. The latest version
+%% of this license is in the file
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% This file is part of the ``xbase bundle'' (The Work in LPPL)
+%% and all files in that bundle must be distributed together.
+%%
+%% The released version of this bundle is available from CTAN.
+%%
+%% -----------------------------------------------------------------------
+%%
+%% The development version of the bundle can be found at
+%%
+%% http://www.latex-project.org/svnroot/experimental/trunk/
+%%
+%% for those people who are interested.
+%%
+%%%%%%%%%%%
+%% NOTE: %%
+%%%%%%%%%%%
+%%
+%% Snapshots taken from the repository represent work in progress and may
+%% not work or may contain conflicting material! We therefore ask
+%% people _not_ to put them into distributions, archives, etc. without
+%% prior consultation with the LaTeX Project Team.
+%%
+%% -----------------------------------------------------------------------
+%%
+%% $Id: template-test.tex 1628 2009-10-25 09:54:34Z mittelba $
+%%
+% \fi
+%
+\RequirePackage{template}
+
+\DeclareTemplateType{xxx}{0}
+
+\DeclareTemplate{xxx}{test}{0}
+ {
+ xkey=n \xkey,
+ key =i {yyy} \value
+ }
+ {
+ \DoParameterAssignments
+ \show\xkey
+ \show\value
+ \value
+ }
+
+\DeclareTemplateType{yyy}{0}
+
+\DeclareTemplate{yyy}{foo}{0}
+ {
+ keya =L \foo
+ }
+ {
+ \DoParameterAssignments
+ \show\foo
+ }
+
+
+\DeclareInstance{xxx}{bar}{test}
+ {
+ xkey = \UseTemplate{yyy}{foo}{ keya = 20pt },
+ key = \UseTemplate{yyy}{foo}{ keya = 10pt }
+ }
+
+\ShowInstance{xxx}{bar}
+
+\UseInstance{xxx}{bar}
+
+\stop
diff --git a/Master/texmf-dist/doc/latex/xpackages/xbase/template-test2.tex b/Master/texmf-dist/doc/latex/xpackages/xbase/template-test2.tex
new file mode 100644
index 00000000000..489e9f2304a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xpackages/xbase/template-test2.tex
@@ -0,0 +1,110 @@
+% \iffalse
+%% (C) Copyright 2000-2004 LaTeX3 Project
+%%
+%% It may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License (LPPL), either version 1.3a of this
+%% license or (at your option) any later version. The latest version
+%% of this license is in the file
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% This file is part of the ``xbase bundle'' (The Work in LPPL)
+%% and all files in that bundle must be distributed together.
+%%
+%% The released version of this bundle is available from CTAN.
+%%
+%% -----------------------------------------------------------------------
+%%
+%% The development version of the bundle can be found at
+%%
+%% http://www.latex-project.org/cgi-bin/cvsweb.cgi/
+%%
+%% for those people who are interested.
+%%
+%%%%%%%%%%%
+%% NOTE: %%
+%%%%%%%%%%%
+%%
+%% Snapshots taken from the repository represent work in progress and may
+%% not work or may contain conflicting material! We therefore ask
+%% people _not_ to put them into distributions, archives, etc. without
+%% prior consultation with the LaTeX Project Team.
+%%
+%% -----------------------------------------------------------------------
+%%
+%% $Id: template-test2.tex 585 2006-12-12 17:31:48Z morten $
+%%
+% \fi
+%
+
+
+\RequirePackage{template}
+\RequirePackage{trace}
+
+\DeclareTemplateType{xxx}{0}
+
+\def\MultiSelection{\MultiSelectionError}
+%\def\foo{bar}
+
+%\traceon
+
+\DeclareTemplate{xxx}{test}{0}
+ {
+ xkey=n [\foo] \xkey,
+ ykey=n [\DelayEvaluation\foo] \ykey,
+ zkey=n \zkey,
+ last=n [last] \lastkey,
+ set =i {xxx} \xxx
+ }
+ {
+ \DoParameterAssignments
+ \typeout{abc}
+ }
+\ShowTemplate{xxx}{test}
+
+
+\DeclareInstance{xxx}{bar}{test}
+ {
+ zkey = foo,
+ xkey = baz,
+ }
+
+\DeclareInstance{xxx}{baz}{test}
+ {
+ last = first,
+ set = \UseTemplate{xxx}{test}{zkey=rrr},
+ zkey = foo
+ }
+
+
+\ShowInstance{xxx}{bar}
+\ShowInstance{xxx}{baz}
+
+\DeclareTemplateType{yyy}{0}
+
+\DeclareTemplate{yyy}{foo}{0}
+ {
+ keya =L \foo
+ }
+ {
+ \DoParameterAssignments
+ \show\foo
+ }
+
+
+\DeclareInstance{xxx}{bar}{test}
+ {
+ xkey = \UseTemplate{yyy}{foo}{ keya = 20pt },
+ key = \UseTemplate{yyy}{foo}{ keya = 10pt }
+ }
+
+\ShowInstance{xxx}{bar}
+
+\UseInstance{xxx}{bar}
+
+\stop
+
+%%% Local Variables:
+%%% mode: plain-tex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/doc/latex/xpackages/xbase/template.pdf b/Master/texmf-dist/doc/latex/xpackages/xbase/template.pdf
index e0658ab2cfc..7463a0680ae 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/tprestrict-test.tex b/Master/texmf-dist/doc/latex/xpackages/xbase/tprestrict-test.tex
new file mode 100644
index 00000000000..d981888d450
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xpackages/xbase/tprestrict-test.tex
@@ -0,0 +1,80 @@
+% \iffalse
+%% (C) Copyright 2000-2004 LaTeX3 Project
+%%
+%% It may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License (LPPL), either version 1.3a of this
+%% license or (at your option) any later version. The latest version
+%% of this license is in the file
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% This file is part of the ``xbase bundle'' (The Work in LPPL)
+%% and all files in that bundle must be distributed together.
+%%
+%% The released version of this bundle is available from CTAN.
+%%
+%% -----------------------------------------------------------------------
+%%
+%% The development version of the bundle can be found at
+%%
+%% http://www.latex-project.org/svnroot/experimental/trunk/
+%%
+%% for those people who are interested.
+%%
+%%%%%%%%%%%
+%% NOTE: %%
+%%%%%%%%%%%
+%%
+%% Snapshots taken from the repository represent work in progress and may
+%% not work or may contain conflicting material! We therefore ask
+%% people _not_ to put them into distributions, archives, etc. without
+%% prior consultation with the LaTeX Project Team.
+%%
+%% -----------------------------------------------------------------------
+%%
+%% $Id: tprestrict-test.tex 1628 2009-10-25 09:54:34Z mittelba $
+%%
+% \fi
+%
+
+\makeatletter
+\RequirePackage{template}
+\IgnoreWhiteSpace
+
+\newcount\ca
+\newdimen\da
+
+
+\DeclareTemplateType{type}{0}
+
+\DeclareTemplate{type}{Ta}{0}{
+ one =l [2in] \da,
+ two =c [5] \ca}
+ {\DoParameterAssignments\typeout{\da=\the\da,\@spaces \ca=\the\ca}}
+
+\ShowTemplate{type}{Ta}
+
+\typeout{1^^J==}
+\UseTemplate{type}{Ta}{}
+
+\typeout{2^^J==}
+\UseTemplate{type}{Ta}{one=44pt, two=7}
+
+
+\DeclareRestrictedTemplate{type}{Tb}{Ta}{one=33pt}
+
+\ShowTemplate{type}{Tb}
+
+\typeout{RESTRICT^^J3^^J==}
+
+\DeclareInstance{type}{foo}{Tb}{two=9}
+
+\ShowInstance{type}{foo}
+
+\UseInstance{type}{foo}
+
+\typeout{4^^J==}
+\UseTemplate{type}{Tb}{two=7}
+
+\stop
+
diff --git a/Master/texmf-dist/doc/latex/xpackages/xbase/xparse.pdf b/Master/texmf-dist/doc/latex/xpackages/xbase/xparse.pdf
index cac2713ab39..129ab8a8032 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 602171eabae..c3f91ddeb4e 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
index cea7c8213a9..70f77b26e66 100644
--- a/Master/texmf-dist/doc/latex/xpackages/xcoffins/l3coffins.pdf
+++ 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-keyval.tex b/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins-tschichold-example-keyval.tex
new file mode 100644
index 00000000000..e83c0b490b6
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins-tschichold-example-keyval.tex
@@ -0,0 +1,281 @@
+
+\documentclass{article}
+
+\usepackage[a4paper,margin=5pt]{geometry}
+
+\usepackage[T1]{fontenc}
+\usepackage{times,multicol,graphicx}
+\usepackage{xcoffins}
+
+\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 [
+ coffin1-hpole = \aaa-t ,
+ coffin1-vpole = \aaa-r ,
+ coffin2-hpole = b ,
+ coffin2-vpole = r ,
+ voffset = 2 mm ,
+] \result \rulei
+\JoinCoffins [
+ coffin1-hpole = \aaa-b ,
+ coffin1-vpole = \aaa-l ,
+ coffin2-hpole = B ,
+ coffin2-vpole = r ,
+ hoffset = 2 pt ,
+] \result \bbb
+\JoinCoffins [
+ coffin1-hpole = \bbb-t ,
+ coffin1-vpole = \bbb-r ,
+ coffin2-hpole = t ,
+ coffin2-vpole = r ,
+ hoffset = -2 mm ,
+] \result \ruleii
+\JoinCoffins [
+ coffin1-hpole = \aaa-B ,
+ coffin1-vpole = \aaa-r ,
+ coffin2-hpole = B ,
+ coffin2-vpole = l ,
+ hoffset = 66 pt ,
+ voffset = 14 pc ,
+] \result \ccc
+\JoinCoffins [
+ coffin1-hpole = \bbb-l ,
+ coffin1-vpole = \ccc-B ,
+ coffin2-hpole = t ,
+ coffin2-vpole = r ,
+ hoffset = -2 mm ,
+] \result \fff
+\JoinCoffins [
+ coffin1-hpole = \fff-b ,
+ coffin1-vpole = \fff-r ,
+ coffin2-hpole = b ,
+ coffin2-vpole = l ,
+ hoffset = 2 mm ,
+] \result \ruleiii
+\JoinCoffins [
+ coffin1-hpole = \ccc-r ,
+ coffin1-vpole = \fff-l ,
+ coffin2-hpole = B ,
+ coffin2-vpole = r ,
+] \result \eee
+\JoinCoffins [
+ coffin1-hpole = \eee-T ,
+ coffin1-vpole = \eee-r ,
+ coffin2-hpole = B ,
+ coffin2-vpole = r ,
+ voffset = 4 pc ,
+] \result \ddd
+
+
+\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
+
+\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 [
+ coffin1-hpole = \aaa-t ,
+ coffin1-vpole = \aaa-r ,
+ coffin2-hpole = b ,
+ coffin2-vpole = r ,
+ voffset = 2 mm ,
+] \result \rulei
+\JoinCoffins [
+ coffin1-hpole = \aaa-b ,
+ coffin1-vpole = \aaa-l ,
+ coffin2-hpole = B ,
+ coffin2-vpole = r ,
+ hoffset = 2 pt ,
+] \result \bbb
+\JoinCoffins [
+ coffin1-hpole = \bbb-t ,
+ coffin1-vpole = \bbb-r ,
+ coffin2-hpole = t ,
+ coffin2-vpole = r ,
+ hoffset = -2 mm ,
+] \result \ruleii
+\JoinCoffins [
+ coffin1-hpole = \aaa-B ,
+ coffin1-vpole = \aaa-r ,
+ coffin2-hpole = B ,
+ coffin2-vpole = l ,
+ hoffset = 66 pt ,
+ voffset = 14 pc ,
+] \result \ccc
+\JoinCoffins [
+ coffin1-hpole = \bbb-l ,
+ coffin1-vpole = \ccc-B ,
+ coffin2-hpole = t ,
+ coffin2-vpole = r ,
+ hoffset = -2 mm ,
+] \result \fff
+\JoinCoffins [
+ coffin1-hpole = \fff-b ,
+ coffin1-vpole = \fff-r ,
+ coffin2-hpole = b ,
+ coffin2-vpole = l ,
+ hoffset = 2 mm ,
+] \result \ruleiii
+\JoinCoffins [
+ coffin1-hpole = \ccc-r ,
+ coffin1-vpole = \fff-l ,
+ coffin2-hpole = B ,
+ coffin2-vpole = r ,
+] \result \eee
+\JoinCoffins [
+ coffin1-hpole = \eee-T ,
+ coffin1-vpole = \eee-r ,
+ coffin2-hpole = B ,
+ coffin2-vpole = r ,
+ voffset = 4 pc ,
+] \result \ddd
+\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-tschichold-example.tex b/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins-tschichold-example.tex
new file mode 100644
index 00000000000..343c9d7e29f
--- /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{xcoffins}
+
+\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
+
+\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
index 1efc45c081d..91e9f8d7eb1 100644
--- a/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins.pdf
+++ b/Master/texmf-dist/doc/latex/xpackages/xcoffins/xcoffins.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xpackages/xhead/xhead-test.tex b/Master/texmf-dist/doc/latex/xpackages/xhead/xhead-test.tex
new file mode 100644
index 00000000000..f845a1f077a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xpackages/xhead/xhead-test.tex
@@ -0,0 +1,245 @@
+\documentclass[twoside,check-declarations]{article}
+
+\pagestyle{headings}
+\usepackage{xparse,xtemplate}
+
+
+\usepackage{xgalley}
+
+\ExplSyntaxOn
+
+\DeclareTemplateInterface { parshape } { rectangle } { 0 } {
+ forbid-page-break : boolean = false ,
+}
+
+\DeclareTemplateCode { parshape } { rectangle } { 0 }
+ {
+ forbid-page-break = \l_xgalley_parshape_no_break_bool ,
+ }
+ {
+ \AssignTemplateKeys
+ \xgalley_measure_adjust_parshape:
+ }
+
+\DeclareInstance { parshape } { plain } { rectangle } {
+ forbid-page-break = false
+}
+
+\DeclareInstance {measure} {fullwidth} {absolute} {
+ left-margin = 0pt ,
+ right-margin = 0pt
+}
+
+\ExplSyntaxOff
+
+
+\usepackage{xhead}
+
+
+\DeclareDocumentCommand \sectionII {som}
+ { \UseInstance{heading}{sectionII} {#1}{#2}\BooleanFalse\NoValue\BooleanFalse{#3}{} }
+
+\DeclareDocumentCommand \subsectionII {som}
+ { \UseInstance{heading}{subsectionII} {#1}{#2}\BooleanFalse\NoValue\BooleanFalse{#3}{} }
+
+\DeclareDocumentCommand \subsubsectionII {som}
+ { \UseInstance{heading}{subsubsectionII} {#1}{#2}\BooleanFalse\NoValue\BooleanFalse{#3}{} }
+
+
+
+\DeclareInstance {heading} {sectionII} {2e-vertical}
+ {
+ name = section,
+ level = 1,
+ indent = 0pt,
+ above-skip = 3.5ex plus 1ex minus 0.2ex,
+ below-skip = 2.3ex plus 0.2ex,
+ title-decl = \normalfont\Large\bfseries,
+ indent-after = false,
+ }
+\DeclareInstance {heading} {subsectionII} {2e-vertical}
+ {
+ name = subsection,
+ level = 2,
+ indent = 0pt,
+ above-skip = 3.25ex plus 1ex minus 0.2ex,
+ below-skip = 1.5ex plus 0.2ex,
+ title-decl = \normalfont\large\bfseries,
+ indent-after = false,
+ }
+
+\DeclareInstance {heading} {subsubsectionII} {2e-vertical}
+ {
+ name = subsubsection,
+ level = 3,
+ indent = 0pt,
+ above-skip = 3.25ex plus 1ex minus 0.2ex,
+ below-skip = 1.5ex plus 0.2ex,
+ title-decl = \normalfont\normalsize\bfseries,
+ indent-after = false,
+ }
+
+
+\DeclareDocumentCommand \section {D<>{} sososm}
+ { \UseInstance{heading}{section} {#2}{#3}{#4}{#5}{#6}{#7}{#1} }
+
+\DeclareDocumentCommand \subsection {D<>{} sososm}
+ { \UseInstance{heading}{subsection} {#2}{#3}{#4}{#5}{#6}{#7}{#1} }
+
+\DeclareDocumentCommand \subsubsection {D<>{} sososm}
+ { \UseInstance{heading}{subsubsection} {#2}{#3}{#4}{#5}{#6}{#7}{#1} }
+
+
+\DeclareInstance {heading} {section} {3a-vertical}
+ {
+ name = section,
+ level = 1,
+ indent = 0pt,
+ above-skip = 3.5ex plus 1ex minus 0.2ex,
+ below-skip = 2.3ex plus 0.2ex,
+ font = \normalfont\Large\bfseries,
+ indent-after = false,
+ }
+\DeclareInstance {heading} {subsection} {3a-vertical}
+ {
+ name = subsection,
+ level = 2,
+ indent = 0pt,
+ above-skip = 3.25ex plus 1ex minus 0.2ex,
+ below-skip = 1.5ex plus 0.2ex,
+ font = \normalfont\large\bfseries,
+ indent-after = false,
+ }
+
+\DeclareInstance {heading} {subsubsection} {3a-vertical}
+ {
+ name = subsubsection,
+ level = 3,
+ indent = 0pt,
+ above-skip = 3.25ex plus 1ex minus 0.2ex,
+ below-skip = 1.5ex plus 0.2ex,
+ font = \normalfont\normalsize\bfseries,
+ indent-after = false,
+ }
+
+\DeclareInstance {heading} {section} {3b-vertical}
+ {
+ name = section,
+ level = 1,
+ indent = 0pt,
+ above-skip = 3.25ex plus 1ex minus 0.2ex,
+ below-skip = 1.5ex plus 0.2ex,
+ indent-after = false,
+ title-format = \UseTemplate{textblock-2}{hangfrom}
+ {
+ font-1 = \normalfont\Huge\sffamily ,
+ font-2 = \normalfont\Large\bfseries,
+ parshape = plain ,
+ justification = flush-left ,
+ }
+ }
+
+
+\setcounter{secnumdepth}{2}
+
+\begin{document}
+
+
+\tableofcontents
+
+
+\sectionII{2e section test}
+Some text
+
+\subsectionII*{2e subsection test - star}
+Some text
+
+\subsectionII{2e subsection test}
+Some text
+
+\subsectionII{2e subsection test - very long very long very long very long
+ very long very long very long very long very long very long very with some
+ variance in text long very long very long very long very long very long }
+Some text
+
+\subsubsectionII{2e subsubsection test}
+Some text
+
+\subsectionII[2e subsection short]{2e subsection test - optional arg}
+Some text
+
+\newpage
+
+\subsubsectionII*{2e subsubsection test - star}
+Some text
+
+\subsubsectionII[2e subsubsection short]{2e subsubsection test - optional arg}
+Some text
+
+
+\sectionII[2e section short]{2e section test - optional arg}
+Some text
+
+\sectionII*{2e section test - star}
+Some text
+
+\newpage
+
+
+\section{3a section test}
+Some text
+
+\subsection*{3a subsection test - star}
+Some text
+
+\subsection*[subsection star - forced]*{3a subsection test - star - forced}
+Some text
+
+\subsection{3a subsection test}
+Some text
+
+\subsection{3a subsection test - very long very long very long very long
+ very long very long very long very long very long very long very with some
+ variance in text long very long very long very long very long very long }
+Some text
+
+\subsubsection{3a subsubsection test}
+Some text
+
+\subsection[3a subsection short]{3a subsection test - optional arg}
+Some text
+
+\newpage
+
+\subsubsection*{3a subsubsection test - star}
+Some text
+
+\subsubsection*[subsubsection star - forced]*{3a subsubsection test - star - forced}
+Some text
+
+\subsubsection[3a subsubsection short]{3a subsubsection test - optional arg}
+Some text
+
+\section[3a section short]{3a section test - optional arg}
+Some text
+
+\section*{3a section test - star}
+Some text
+
+\section***{3a section test - 3 stars}
+Some text
+
+\section*[][]*{3a section test - 2 stars}
+Some text
+
+\section[3a section short2][3a section run]{3a section test - 2 optional args}
+Some text
+
+\newpage
+
+Some more text
+
+\section<test>{3a section test - angles}
+Some text
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/xpackages/xhead/xhead.pdf b/Master/texmf-dist/doc/latex/xpackages/xhead/xhead.pdf
index a1cd0c615b7..a935588fe4b 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-demo.tex b/Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e-demo.tex
new file mode 100644
index 00000000000..a00531e0741
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e-demo.tex
@@ -0,0 +1,46 @@
+% !TEX encoding = ISO-8859-1
+% !TEX program = pdflatex
+%
+% This file demonstrates the use of the l3keys2e module to allow
+% LaTeX3 keyvals (created using l3keys) to be used as LaTeX2e
+% package or class options.
+%
+
+% First, create a class
+\begin{filecontents}{l3keys2e-class.cls}
+ \LoadClass{article}
+ \RequirePackage{l3keys2e}
+ \ProvidesExplClass{l3keys2e-class}{0000/00/00}{0.0}{test}
+ \keys_define:nn { test1 } {
+ option1 .code:n = {\wlog{You~gave~`#1'~for~option1}}
+ }
+ \ProcessKeysOptions { test1 }
+\end{filecontents}
+
+% Load the class with some options.
+% The class itself recognises `option1', leaving `option2' and
+% `option3' as global optons which are not yet used.
+\documentclass[option1=check,option2=more stuff,option3=unused]
+ {l3keys2e-class}
+
+%Now create a package
+\begin{filecontents}{l3keys2e-package.sty}
+ \RequirePackage{l3keys2e}
+ \ProvidesExplPackage{l3keys2e-package}{0000/00/00}{0.0}{test}
+ \keys_define:nn { test2 } {
+ option1 .code:n = {\wlog{You~gave~`#1'~for~option1~(again)}},
+ option2 .code:n = {\wlog{You~gave~`#1'~for~option2}},
+ option4 .code:n = {\wlog{You~gave~`#1'~for~option4}},
+ }
+ \ProcessKeysOptions { test2 }
+\end{filecontents}
+
+% Load the package.
+\usepackage[option4={extra stuff},option5=undefined!]
+ {l3keys2e-package}
+
+\begin{document}
+% The log should show that option3 is an unused global option, and that
+% option5 is not known by the l3keys2e-demo package. Everything else
+% should simply be listed in the log.
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e.pdf b/Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e.pdf
index 68746b10821..fd09b43327e 100644
--- a/Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e.pdf
+++ b/Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e.pdf
Binary files differ