summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-12 23:46:26 +0000
committerKarl Berry <karl@freefriends.org>2006-01-12 23:46:26 +0000
commitadc8aaaf59099761577342d1050abb05625eeffc (patch)
treeed08f7c945ba15a7710696caf9fc82ed8d1f2491
parent2a8c0210a3491a41c4ba672c46d215048947638c (diff)
trunk/Master/texmf-dist/tex/latex3
git-svn-id: svn://tug.org/texlive/trunk@616 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/tex/latex3/galley/galley2.sty1724
-rw-r--r--Master/texmf-dist/tex/latex3/galley/xhj.sty313
-rw-r--r--Master/texmf-dist/tex/latex3/template/template.sty424
-rw-r--r--Master/texmf-dist/tex/latex3/xinitials/xinitials.sty93
-rw-r--r--Master/texmf-dist/tex/latex3/xor/xmarks.sty227
-rw-r--r--Master/texmf-dist/tex/latex3/xor/xo-alloc.sty73
-rw-r--r--Master/texmf-dist/tex/latex3/xor/xo-capt.sty157
-rw-r--r--Master/texmf-dist/tex/latex3/xor/xo-final.sty435
-rw-r--r--Master/texmf-dist/tex/latex3/xor/xo-float.sty339
-rw-r--r--Master/texmf-dist/tex/latex3/xor/xo-grid.sty195
-rw-r--r--Master/texmf-dist/tex/latex3/xor/xo-here.sty142
-rw-r--r--Master/texmf-dist/tex/latex3/xor/xo-new.sty303
-rw-r--r--Master/texmf-dist/tex/latex3/xor/xo-or.sty1251
-rw-r--r--Master/texmf-dist/tex/latex3/xor/xo-page.sty283
-rw-r--r--Master/texmf-dist/tex/latex3/xor/xo-place.sty422
-rw-r--r--Master/texmf-dist/tex/latex3/xor/xo-trace.sty104
-rw-r--r--Master/texmf-dist/tex/latex3/xor/xoutput.sty44
-rw-r--r--Master/texmf-dist/tex/latex3/xparse/ldcsetup.sty118
-rw-r--r--Master/texmf-dist/tex/latex3/xparse/xparse.sty218
-rw-r--r--Master/texmf-dist/tex/latex3/xtheorem/xtheorem.sty164
20 files changed, 7029 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex3/galley/galley2.sty b/Master/texmf-dist/tex/latex3/galley/galley2.sty
new file mode 100644
index 00000000000..4ccb050c6ff
--- /dev/null
+++ b/Master/texmf-dist/tex/latex3/galley/galley2.sty
@@ -0,0 +1,1724 @@
+%%
+%% This is file `galley2.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% galley2.dtx (with options: `package,trace')
+%%
+%%
+%% $Header: /usr3/users/latex3/design/consolidation/CURRENT/RCS/galley2.dtx,v 1.15 2000/01/27 21:45:56 latex3 Exp $
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{galley2}
+ [2000/01/27 v0.2s galley structures]
+\NeedsTeXFormat{LaTeX2e}[1998/12/01]
+\RequirePackage{ldcsetup}
+\RequirePackage{xhj} % taken out of this file
+\IgnoreWhiteSpace
+\catcode`\:=11\relax
+\def\tracinggalleys{\afterassignment\@tracinggalleys\count@}
+\def\@tracinggalleys{
+ \ifcase \count@
+ \let\GAL@typeout\@gobble
+ \or
+ \def\GAL@typeout ##1{
+ \begingroup
+ \let\protect\@unexpandable@protect
+ \wlog {##1}
+ \endgroup
+ }
+ \or
+ \let\GAL@typeout\typeout
+ \else
+ \def\GAL@typeout ##1{
+ \ifnum\tracingmacros>\z@
+ \begingroup
+ \tracingassigns\z@
+ \tracingcommands\z@
+ \tracingrestores\z@
+ \tracingmacros\z@
+ \typeout{##1}
+ \endgroup
+ \else
+ \typeout{##1}
+ \fi
+ }
+ \fi
+}
+\let\GAL@typeout\@gobble
+\let\GAL@@clubpenalty\clubpenalty
+\newcount\clubpenalty
+\let\GAL@@interlinepenalty\interlinepenalty
+\newcount\interlinepenalty
+\let\GAL@@everypar\everypar
+\newtoks\everypar
+\let\GAL@@parindent\parindent \GAL@@parindent\z@
+\newdimen\parindent
+\let\GAL@@parskip\parskip \GAL@@parskip\z@
+\newskip\parskip
+\let\GAL@@leftskip\leftskip
+\newskip\leftskip
+\let\GAL@@rightskip\rightskip
+\newskip\rightskip
+\let\GAL@@parfillskip\parfillskip
+\newskip\parfillskip \parfillskip\@flushglue
+\newskip\GAL@@startskip
+\newskip\GAL@@linefillskip
+\let\GAL@@spaceskip\spaceskip
+\newskip\spaceskip
+\let\GAL@@xspaceskip\xspaceskip
+\newskip\xspaceskip
+\let\GAL@@lineskip\lineskip
+\newskip\lineskip
+\newcount\GAL@cnta
+\newskip\GAL@skipa
+\newskip\GAL@skipb
+\newbox\GAL@boxa
+\def\GAL@init@static {
+ \gdef\GAL@b@s {\z@}
+ \gdef\GAL@p@s {\z@}
+ \gdef\GAL@v@s {-1sp}
+ \gdef\GAL@uv@s {\z@}
+ \gdef\GAL@up@s {}
+ \gdef\GAL@pw@s {}
+ \gdef\GAL@j@s {\z@\leftskip\rightskip\parfillskip
+ \spaceskip\xspaceskip\parfillskip\parindent}
+ \gdef\GAL@o@s {}
+ \gdef\GAL@ps@s {}
+ \gdef\GAL@i@s {\z@}
+ \gdef\GAL@nw@s {}
+ \gdef\GAL@q@s {}
+ \setGALnormalpar:
+ \GAL@init@dynamic@fully
+ \UseInstance{hj}{default}
+%% alternative
+%% \UseInstance{hyphenation}{default}
+%% \UseInstance{linebreak}{default}
+}
+\def\GALsavegalleystate: {
+ \let\GAL@b@l \GAL@b@
+ \let\GAL@p@l \GAL@p@
+ \let\GAL@v@l \GAL@v@
+ \let\GAL@uv@l \GAL@uv@
+ \let\GAL@up@l \GAL@up@
+ \let\GAL@pw@l \GAL@pw@
+ \let\GAL@j@l \GAL@j@
+ \let\GAL@o@l \GAL@o@
+ \let\GAL@ps@l \GAL@ps@
+ \let\GAL@i@l \GAL@i@
+ \let\GAL@nw@l \GAL@nw@
+ \let\GAL@q@l \GAL@q@
+ \let\GAL@b@sl \GAL@b@s
+ \let\GAL@p@sl \GAL@p@s
+ \let\GAL@v@sl \GAL@v@s
+ \let\GAL@uv@sl \GAL@uv@s
+ \let\GAL@up@sl \GAL@up@s
+ \let\GAL@pw@sl \GAL@pw@s
+ \let\GAL@j@sl \GAL@j@s
+ \let\GAL@o@sl \GAL@o@s
+ \let\GAL@ps@sl \GAL@ps@s
+ \let\GAL@i@sl \GAL@i@s
+ \let\GAL@nw@sl \GAL@nw@s
+ \let\GAL@q@sl \GAL@q@s
+ \let\saved@GAL@par\par
+ \let\saved@GAL@reassign@list\GAL@reassign@list
+}
+\def\GALrestoregalleystate: {
+ \global\let\GAL@b@ \GAL@b@l
+ \global\let\GAL@p@ \GAL@p@l
+ \global\let\GAL@v@ \GAL@v@l
+ \global\let\GAL@uv@ \GAL@uv@l
+ \global\let\GAL@up@ \GAL@up@l
+ \global\let\GAL@pw@ \GAL@pw@l
+ \global\let\GAL@j@ \GAL@j@l
+ \global\let\GAL@o@ \GAL@o@l
+ \global\let\GAL@ps@ \GAL@ps@l
+ \global\let\GAL@i@ \GAL@i@l
+ \global\let\GAL@nw@ \GAL@nw@l
+ \global\let\GAL@q@ \GAL@q@l
+ \global\let\GAL@b@s \GAL@b@sl
+ \global\let\GAL@p@s \GAL@p@sl
+ \global\let\GAL@v@s \GAL@v@sl
+ \global\let\GAL@uv@s \GAL@uv@sl
+ \global\let\GAL@up@s \GAL@up@sl
+ \global\let\GAL@pw@s \GAL@pw@sl
+ \global\let\GAL@j@s \GAL@j@sl
+ \global\let\GAL@o@s \GAL@o@sl
+ \global\let\GAL@ps@s \GAL@ps@sl
+ \global\let\GAL@i@s \GAL@i@sl
+ \global\let\GAL@nw@s \GAL@nw@sl
+ \global\let\GAL@q@s \GAL@q@sl
+ \global\let\par\saved@GAL@par
+ \global\let\GAL@reassign@list\saved@GAL@reassign@list
+ \expandafter \setup@paragraph@justification \GAL@j@
+}
+\def\saved@GAL@par{\ERROR\GAL@normal@par}
+\def\GAL@init@dynamic@as@necessary {
+ \GAL@typeout{Reinit~ parameters \on@line}
+ \GAL@typeout{\@spaces \meaning \GAL@reassign@list}
+ \GAL@reassign@list
+ \global\let\GAL@reassign@list\@empty
+}
+\def\GAL@init@dynamic@fully {
+ \GAL@typeout{Reinit~ parameters \on@line}
+ \global\let\GAL@b@ \GAL@b@s
+ \global\let\GAL@p@ \GAL@p@s
+ \global\let\GAL@v@ \GAL@v@s
+ \global\let\GAL@uv@ \GAL@uv@s
+ \global\let\GAL@up@ \GAL@up@s
+ \global\let\GAL@pw@ \GAL@pw@s
+ \global\let\GAL@j@ \GAL@j@s
+ \global\let\GAL@o@ \GAL@o@s
+ \global\let\GAL@ps@ \GAL@ps@s
+ \global\let\GAL@i@ \GAL@i@s
+ \global\let\GAL@nw@ \GAL@nw@s
+ \global\let\GAL@q@ \GAL@q@s
+ \global\let\GAL@reassign@list\@empty
+}
+\let\GAL@reassign@list\@empty
+\def\GAL@prepare@reassign:NN #1#2{
+ \ifx#1#2
+ \else
+ \appendtoDGPV@internal:Nn\GAL@reassign@list
+ {\global \let #1 #2 }
+ \fi
+}
+\def\GAL@prepare@reassign:n #1{
+ \expandafter\ifx \csname GAL@#1@s\endcsname \relax
+ \GAL@typeout{Not~ reassigning~ for~ #1!}
+ \else
+ \expandafter
+ \GAL@prepare@reassign:NN
+ \csname GAL@#1@ \expandafter \endcsname
+ \csname GAL@#1@s \endcsname
+ \fi
+}
+\def\GAL@start@level{
+ \GALsavegalleystate:
+ \bgroup
+ \advance\GAL@level@num\@ne
+ \GAL@typeout{Entering~ galley~ level:~
+ \the\GAL@level@num~ \on@line}
+ \GAL@init@static
+ \@GAL@if@first@on@leveltrue % temp solution!
+ % see below
+ \aftergroup\GAL@cleanup@level}
+\newcount\GAL@level@num
+\newif\if@GAL@if@first@on@level
+\def\GAL@cleanup@level{
+ \par
+ \GAL@finish@typesetting
+ \GAL@typeout{Returning~ to~ galley~ level:~ \the\GAL@level@num~ \on@line}
+ \GALrestoregalleystate:
+ \egroup
+}
+\def\GAL@finish@typesetting {}
+\everyvbox{\GAL@start@level}
+\let\@@insert\insert
+\long\def\insert #1#{\@insert{#1}}
+\long\def\@insert #1#2{\@@insert#1{\GAL@start@level#2\par}}
+\def\GAL@ignore@next@galley{
+ \everyvbox{\global\everyvbox{\GAL@start@level}}
+}
+\def\GAL@ignore@next@galley@vbox{
+ \everyvbox{\global\everyvbox{\GAL@start@level}}\vbox
+}
+\def \GAL@show@datastructure #1{
+ \GAL@typeout{#1^^J
+ \@spaces nominal~ width~ =~ \the\hsize ^^J
+ \@spaces left~ indentation~ =~ \the\@totalleftmargin ^^J
+ \@spaces break~ switch~ (b)~ =~ \GAL@b@ \space (\GAL@b@s) ^^J
+ \@spaces v-penalty~ (p)~ =~ \GAL@p@ \space (\GAL@p@s) ^^J
+ \@spaces v-space~ (v)~ =~ \GAL@v@ \space (\GAL@v@s) ^^J
+ \@spaces user~ v-penalty~ (up)~ =~ \GAL@up@ ^^J
+ \@spaces user~v-space~ (uv)~ =~ \GAL@uv@ ^^J
+ \@spaces prev-whatits~ (pw)~ =~ \meaning \GAL@pw@ ^^J
+ \@spaces next-whatits~ (nw)~ =~ \meaning \GAL@nw@ ^^J
+ \@spaces parshape~spec~ (ps)~ =~ \GAL@ps@ \space (\GAL@ps@s) ^^J
+ \@spaces queries~ (q)~ =~ \meaning \GAL@q@ ^^J
+ \@spaces indent~ flag~ (i)~ =~ \GAL@i@ \space (\GAL@i@s) ^^J
+ \@spaces para~ object~ (o)~ =~ \meaning \GAL@o@ ^^J
+ \@spaces para~ justification~ (j)~ =~ \meaning \GAL@j@ }
+}
+\def\GAL@use@on@para{
+ \GAL@show@datastructure{Para~ start~ for~ galley~
+ level~ \the\GAL@level@num \on@line}
+ \if@GAL@if@first@on@level
+ \GAL@handle@first@para
+ \else
+ \begingroup
+ \global\setbox\GAL@boxa\lastbox
+ \endgraf
+ \GAL@set@vertical@objects
+ \GAL@@everypar{}
+ \noindent
+ \endgroup
+ \fi
+ \GAL@set@measure
+ \GAL@set@horizontal@objects
+ \GAL@init@dynamic@as@necessary
+}
+\def\GAL@handle@first@para {
+ \@GAL@if@first@on@levelfalse
+ \GAL@pw@
+ \@tempskipa \GAL@uv@ \relax
+ \ifdim \@tempskipa =\z@ \else
+ \ifhmode
+ \begingroup
+ \global\setbox\GAL@boxa\lastbox
+ \endgraf
+ \vskip \@tempskipa
+ \GAL@@everypar{}
+ \noindent
+ \endgroup
+ \else
+ \vskip \@tempskipa
+ \fi
+ \fi
+}
+\def\GAL@use@on@vobject{
+ \GAL@show@datastructure{V-object~ for~ galley~
+ level~ \the\GAL@level@num \on@line}
+ \if@GAL@if@first@on@level
+ \GAL@handle@first@para
+ \else
+ \GAL@set@vertical@objects
+ \fi
+ \GAL@init@dynamic@as@necessary
+}
+\def \GAL@set@vertical@objects {
+ \GAL@pw@
+ \penalty
+ \ifx \GAL@up@ \@empty
+ \ifnum \GAL@b@ > \z@
+ \@M
+ \else
+ \GAL@p@ \relax
+ \fi
+ \else
+ \GAL@up@ \relax
+ \fi
+ \GAL@skipa \GAL@v@ \relax
+ \vskip \ifdim
+ \GAL@skipa = -1sp \parskip
+ \GAL@typeout{\parskip=\the\parskip\space applied}
+ \else
+ \GAL@skipa
+ \fi
+ \vskip \GAL@uv@ \relax
+}
+\def \GAL@set@measure {
+ \parshape
+ \ifx\GAL@ps@\@empty
+ \z@
+ \else
+ \GAL@ps@
+ \fi
+}
+\def \GAL@set@horizontal@objects {
+ \GAL@nw@
+ \GAL@q@
+ \expandafter \setup@paragraph@justification \GAL@j@
+ \ifnum \GAL@i@ = \z@
+ \ifvoid\GAL@boxa \else \hb@xt@ \GAL@@parindent{} \fi
+ \fi
+ \GAL@o@ \relax
+ \hskip \GAL@@startskip \relax
+ \setup@page@breaking@penalties \GAL@b@
+}
+\def \setup@page@breaking@penalties #1{
+ \GAL@@clubpenalty \clubpenalty
+ \GAL@@interlinepenalty \interlinepenalty
+ \ifcase #1
+ \or
+ \or
+ \GAL@@clubpenalty \@M
+ \or
+ \GAL@@interlinepenalty \@M
+ \else
+ \setup@page@breaking@penalties {-#1}
+ \fi
+}
+\def \setup@paragraph@justification #1 #2 #3 #4 #5 #6 #7 #8{
+ \global \GAL@@startskip #1 \relax
+ \global \GAL@@leftskip #2 \relax
+ \global \GAL@@rightskip #3 \relax
+ \global \GAL@@parfillskip #4 \relax
+ \global \GAL@@spaceskip #5 \relax
+ \global \GAL@@xspaceskip #6 \relax
+ \global \GAL@@linefillskip#7 \relax
+ \global \GAL@@parindent #8 \relax
+}
+\def \GAL@normal@par {
+ \begingroup
+ \ifvmode
+ \endgraf
+ \else %% For error-trapping needs
+ %% \ifinner \ifhmode etc cases
+ \endgraf
+ %%%% NOTE: this puts us into vmode with the para on the galley
+ %%%% AND rignt here we have stuff that has migrated
+ %%%% (eg vadjust stuff) from the last line!!!
+ \nobreak
+ \fi
+ \endgroup
+}
+\let\@@par\GAL@normal@par
+\def\setGALnormalpar:{
+ \global\let\par\GAL@normal@par
+}
+\def \setGALignoredpar:n #1 {
+ \ifvmode
+ \global \par@deathcycles \z@
+ \global\let\par\GAL@ignored@par
+ \gdef\GAL@ignored@par@error{#1}
+ \appendtoDGPVthing:nn q \setGALnormalpar:
+ \else
+ \ERROR \setGALnormalpar: \par
+ \fi
+}
+\def\GAL@ignored@par{
+ \global \advance\par@deathcycles \@ne
+ \ifnum \par@deathcycles > \thr@@
+ \PackageError{galley2}\GAL@ignored@par@error\@ehd
+ \setGALnormalpar:
+ \par
+ \fi
+}
+\def \GALignorepars:n #1 {
+ \global \par@deathcycles \z@
+ \global\let\par\GAL@ignore@next@pars
+ \gdef\GAL@ignored@par@error{#1}
+ \GAL@ignore@next@pars
+}
+\def\GAL@ignore@next@pars {
+ \global \advance\par@deathcycles \@ne
+ \ifnum \par@deathcycles > \thr@@
+ \PackageError{galley2}\GAL@ignored@par@error\@ehd
+ \setGALnormalpar:
+ \par
+ \fi
+ \@ifnextchar\par{}{\setGALnormalpar:}
+}
+\long\def\GAL@for#1#2\do#3{%
+ \expandafter\def\expandafter\@fortmp\expandafter{#2}%
+ \ifx\@fortmp\@empty \else
+ \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}\fi}
+\def \parshape@setup #1 #2 #3 #4 #5 #6{
+ \setlength\@tempdima{#2}
+ \setlength\@tempdimb{#3}
+ \global\let\GAL@ps@\@gobble % remove upcoming space below
+ \parshape@linecnt \z@
+ \@whilenum \parshape@linecnt < #4 \do
+ { \xdef\GAL@ps@{\GAL@ps@\space
+ \the\@tempdima\space \the\@tempdimb
+ }
+ \advance \parshape@linecnt \@ne
+ }
+ \GAL@for\parshape@next#6\do
+ {
+ \advance\parshape@linecnt\@ne
+ \setlength\parshape@lineindent{\@tempdima+#5+\parshape@next}
+ \setlength\parshape@linewidth
+ {\@tempdima+\@tempdimb-\parshape@lineindent}
+
+ \ifnum\parshape@linecnt=\@ne
+ \@tempdimc \parshape@lineindent
+ \advance\@tempdimc -\@tempdima
+ \edef\parshape@firstlineindent{\the\@tempdimc}
+ \fi
+ \xdef\GAL@ps@{\GAL@ps@\space
+ #1\space
+ \the\parshape@linewidth}
+ }
+ \advance\parshape@linecnt\@ne
+ \xdef\GAL@ps@{\the\parshape@linecnt\space
+ \GAL@ps@\space
+ \the\@tempdima\space \the\@tempdimb}
+ \GAL@typeout{\space\space set~ ps = \GAL@ps@}%
+ \GAL@prepare@reassign:NN \GAL@ps@ \GAL@ps@s
+}
+\newcount\parshape@linecnt
+\newlength\parshape@lineindent
+\newlength\parshape@linewidth
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\setDGPVdimension:nn #1#2{% #1=v/h #2=value
+ \calc@assign@skip\GAL@skipb{#2}
+ \GAL@typeout{\space\space set~ #1 = #2 = \the\GAL@skipb}%
+ \expandafter \xdef
+ \csname GAL@#1@\endcsname
+ {\the\GAL@skipb}
+ \GAL@prepare@reassign:n{#1}
+}
+\def\addDGPVdimension:nn #1#2{% #1=v/h/... #2=value
+ \GAL@skipb\csname GAL@#1@ \endcsname\relax
+ \ifdim\GAL@skipb=-1sp
+ \calc@assign@skip\GAL@skipb{#2}
+ \else
+ \calc@assign@skip{\advance\GAL@skipb}{#2}
+ \fi
+ \GAL@typeout{\space\space set~ #1 =+ #2 = \the\GAL@skipb}
+ \expandafter
+ \xdef
+ \csname GAL@#1@\endcsname
+ {\the\GAL@skipb}
+ \GAL@prepare@reassign:n{#1}
+}
+\def\maxDGPVdimension:nn #1#2{
+ \GAL@skipa\csname GAL@#1@\endcsname\relax
+ \calc@assign@skip\GAL@skipb{#2}
+ \ifdim\GAL@skipa<\GAL@skipb
+ \expandafter
+ \xdef
+ \csname GAL@#1@\endcsname
+ {\the\GAL@skipb}
+ \GAL@prepare@reassign:n{#1}
+ \fi
+ \GAL@typeout{\space\space set~ #1 =
+ max(\the\GAL@skipa,\the\GAL@skipb) ^^J\@spaces\@spaces
+ = \csname GAL@#1@\endcsname}
+}
+\def\setGALpenalty:n #1{%
+ \calc@assign@count\GAL@cnta{#1}
+ \xdef \GAL@p@ {\the\GAL@cnta}
+ \GAL@typeout{\space\space set~ p = #1 = \the\GAL@cnta}
+ \GAL@prepare@reassign:NN \GAL@p@ \GAL@p@s
+}
+\def\addGALpenalty:n #1{%
+ \GAL@cnta \GAL@p@ \relax
+ \calc@assign@count{\advance\GAL@cnta}{#1}
+ \xdef \GAL@p@ {\the\GAL@cnta}
+ \GAL@typeout{\space\space set~ p += #1 = \the\GAL@cnta}
+ \GAL@prepare@reassign:NN \GAL@p@ \GAL@p@s
+}
+\def\setGALbreak:n #1{% values 0, 1, 2, or 3
+ \GAL@typeout{\space\space set~ b = #1 }
+ \gdef \GAL@b@ {#1}
+ \GAL@prepare@reassign:NN \GAL@b@ \GAL@b@s
+}
+\def\setGALobject:n #1{
+ \gdef \GAL@o@ {#1}
+ \GAL@prepare@reassign:NN \GAL@o@ \GAL@o@s
+}
+\def\setDGPVthing:nn #1 #2{
+ \expandafter \gdef \csname GAL@#1@\endcsname {#2}
+ \GAL@prepare@reassign:n{#1}
+}
+\def\appendtoDGPVthing:nn #1#2{
+ \expandafter\appendtoDGPV@internal:Nn\csname GAL@#1@\endcsname {#2}
+ \GAL@prepare@reassign:n{#1}
+}
+\def\appendtoDGPVthing:no #1#2{
+ \expandafter\appendtoDGPV@internal:No\csname GAL@#1@\endcsname {#2}
+ \GAL@prepare@reassign:n{#1}
+}
+\def\appendtoDGPV@internal:Nn #1 #2{
+ \expandafter \gdef \expandafter #1 \expandafter
+ {#1 #2}
+}
+\def\appendtoDGPV@internal:No #1 #2{
+ \expandafter\appendtoDGPV@internal:Nn\expandafter #1\expandafter {#2}
+}
+\def \setGALleftparshape:nnn {
+ \parshape@setup {\the\parshape@lineindent} \@totalleftmargin
+ \linewidth }
+\def \setGALrightparshape:nnn {
+ \parshape@setup \@totalleftmargin \@totalleftmargin \linewidth
+}
+\def \GALhangfrom:n #1 {
+ \setbox\@tempboxa\hbox{{#1}}
+ \parshape@setup {\the\parshape@lineindent}
+ {\@totalleftmargin+\wd\@tempboxa}
+ {\linewidth-\wd\@tempboxa}
+ \z@
+ \z@
+ {-\wd\@tempboxa}
+ \noindent\box\@tempboxa}
+\let \@hangfrom \GALhangfrom:n
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\setSGPVthing:nn #1 #2 {
+ \setDGPVthing:nn {#1} {#2}
+ \global\expandafter
+ \let\csname GAL@#1@s \expandafter\endcsname
+ \csname GAL@#1@ \endcsname
+}
+\def\setSGPVdimension:nn #1 #2 {
+ \setDGPVdimension:nn {#1} {#2}
+ \global\expandafter
+ \let\csname GAL@#1@s \expandafter\endcsname
+ \csname GAL@#1@ \endcsname
+}
+\def \setSGPVmeasure:nn #1 #2 {
+ \setlength\@totalleftmargin{#1}
+ \setlength\linewidth{#2}
+ \xdef\GAL@ps@s{\@ne\space
+ \the\@totalleftmargin\space \the\linewidth}
+ \global\let\GAL@ps@\GAL@ps@s
+}
+\def \addSGPVmeasure:nn #1 #2 {
+ \addtolength\@totalleftmargin{#1}
+ \addtolength\linewidth{#2}
+ \xdef\GAL@ps@s{\@ne\space
+ \the\@totalleftmargin\space \the\linewidth}
+ \global\let\GAL@ps@\GAL@ps@s
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\DeclareDocumentCommand \vspace {s m }
+ {
+ \addDGPVdimension:nn{uv}{#2}
+ }
+\def\addvspace#1{
+ \maxDGPVdimension:nn{v}{#1}
+}
+\def\addpenalty#1{
+ \addGALpenalty:n{#1}
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{template}
+\RequirePackage{xparse}
+\DeclareTemplateType{endlist}{0}
+
+\DeclareTemplate{endlist}{std}{0}{
+ penalty =+C \GAL@p@ ,
+ vspace =+L \GAL@v@ ,
+ parindent =+L \GAL@i@ ,
+ par-penalty =+C [0] \GAL@p@X ,
+ par-vspace =+L [\z@] \GAL@v@X ,
+ par-parindent =+L [\z@] \GAL@i@X ,
+ }
+ {\DoParameterAssignments
+ \setGALendlistpar:}
+
+\DeclareInstance{endlist}{list}{std}{
+ penalty = 999 ,
+ vspace = 10pt ,
+ parindent = 0pt ,
+ par-penalty = -1000 ,
+ par-vspace = 5pt ,
+ par-parindent = 10pt ,
+ }
+\GAL@init@static % this is to be after the templates by now
+
+\GAL@@everypar{\GAL@use@on@para\the\everypar}
+
+\AtBeginDocument {
+ \GAL@init@static % this is to be after the templates by now
+}
+\def\@@line#1{\GAL@use@on@vobject\hb@xt@\hsize{#1}\nobreak}
+
+\long\def \@savemarbox #1#2{%
+ \global\setbox #1%
+ \color@vbox
+ \vtop{%
+ \hsize\marginparwidth
+ \@parboxrestore
+ \@marginparreset
+ #2%
+ \par % needed nowadays!
+ \@minipagefalse
+ \outer@nobreak
+ }%
+ \color@endbox
+}
+
+\long\def\@footnotetext#1{\insert\footins{%
+ \reset@font\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark
+ }%
+ \color@begingroup
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox\par}% %ditto!!!
+ \color@endgroup}}%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\showGALcmd#1{\GAL@typeout{In~#1: \the\GAL@level@num~ \on@line}}
+
+\def\@afterheading{
+ \showGALcmd{@afterheading}
+ \if@afterindent \else
+ \setDGPVthing:nn i \@ne
+ \fi
+ \setGALbreak:n 2
+}
+
+\def\nofiles{%
+ \showGALcmd{}
+ \@fileswfalse
+ \typeout{No auxiliary output files.^^J}%
+ \long\def\protected@write##1##2##3%
+ {\write\m@ne{}%
+ }
+ \let\makeindex\relax
+ \let\makeglossary\relax}
+
+\long\def \protected@write#1#2#3{%
+ \showGALcmd{protected@write}
+ \begingroup
+ \let\thepage\relax
+ #2%
+ \let\protect\@unexpandable@protect
+ \edef\reserved@a{\write#1{#3}}%
+ \appendtoDGPVthing:no {nw} \reserved@a
+ \endgroup
+}
+
+\def\markboth#1#2{\gdef\@themark{{#1}{#2}}{%
+ \showGALcmd{}
+ \let\protect\@unexpandable@protect
+ \let\label\relax \let\index\relax \let\glossary\relax
+ \mark{\@themark}}%
+}
+
+\def\markright#1{{\let\protect\@unexpandable@protect
+ \showGALcmd{}
+ \let\label\relax \let\index\relax \let\glossary\relax
+ \expandafter\@markright\@themark
+ {#1}\mark{\@themark}}%
+}
+
+\def \newpage {%
+ \showGALcmd{newpage}
+ \if@noskipsec
+ \ifx \@nodocument\relax
+ \leavevmode
+ \global \@noskipsecfalse
+ \fi
+ \fi
+ \if@inlabel
+ \leavevmode
+ \global \@inlabelfalse
+ \fi
+ \ifnum \GAL@b@ > \z@
+ \setGALbreak:n 0
+ \fi
+ \par
+ \vfil
+ \penalty -\@M}
+\def\@arrayparboxrestore{%
+ \showGALcmd{@arrayparboxrestore}
+ \let\if@noskipsec\iffalse
+ \let\par\@@par
+ \let\-\@dischyph
+ \let\'\@acci\let\`\@accii\let\=\@acciii
+ \parindent\z@ \parskip\z@skip
+ \everypar{}%
+ \linewidth\hsize
+ \@totalleftmargin\z@
+ \leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip
+ \parfillskip\@flushglue \lineskip\normallineskip
+ \baselineskip\normalbaselineskip
+ \sloppy}
+
+\def\@startsection#1#2#3#4#5#6{%
+ \showGALcmd{@startsection}
+ \if@noskipsec \leavevmode \fi
+ \par
+ \@tempskipa #4\relax
+ \@afterindenttrue
+ \ifdim \@tempskipa <\z@
+ \@tempskipa -\@tempskipa \@afterindentfalse
+ \fi
+ \ifnum \GAL@b@ = \z@
+ \addpenalty\@secpenalty\addvspace\@tempskipa
+ \fi
+ \@ifstar
+ {\@ssect{#3}{#4}{#5}{#6}}%
+ {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
+
+\def\@xsect#1{%
+ \showGALcmd{@xsect}
+ \@tempskipa #1\relax
+ \ifdim \@tempskipa>\z@
+ \par \nobreak
+ \vskip \@tempskipa
+ \@afterheading
+ \else
+ \global\@noskipsectrue
+ \setDGPVthing:nn i \@ne
+ \setGALbreak:n 2
+ \setGALobject:n { \begingroup \@svsechd \endgroup
+ \unskip }
+ \@tempskipa #1\relax
+ \setDGPVdimension:nn h {-\@tempskipa}
+ \everypar{%
+ \if@noskipsec
+ \global\@noskipsecfalse
+ \else
+ \everypar{}%
+ \fi}%
+ \fi
+ \ignorespaces}
+
+\gdef\@specialoutput{%
+ \showGALcmd{@specialoutput}
+ \ifnum \outputpenalty>-\@Mii
+ \@doclearpage
+ \else
+ \GAL@ignore@next@galley
+ \ifnum \outputpenalty<-\@Miii
+ \ifnum \outputpenalty<-\@MM \deadcycles \z@ \fi
+ \global \setbox\@holdpg \vbox {\unvbox\@cclv}%
+ \else
+ \global \setbox\@holdpg \vbox{%
+ \unvbox\@holdpg
+ \unvbox\@cclv
+ \setbox\@tempboxa \lastbox
+ \unskip
+ }%
+ \@pagedp \dp\@holdpg
+ \@pageht \ht\@holdpg
+ \unvbox \@holdpg
+ \@next\@currbox\@currlist{%
+ \ifnum \count\@currbox>\z@
+ \advance \@pageht \@pagedp
+ \ifvoid\footins \else
+ \advance \@pageht \ht\footins
+ \advance \@pageht \skip\footins
+ \advance \@pageht \dp\footins
+ \fi
+ \ifvbox \@kludgeins
+ \ifdim \wd\@kludgeins=\z@
+ \advance \@pageht \ht\@kludgeins
+ \fi
+ \fi
+ \@reinserts
+ \@addtocurcol
+ \else
+ \@reinserts
+ \@addmarginpar
+ \fi
+ }\@latexbug
+ \ifnum \outputpenalty<\z@
+ \addpenalty \interlinepenalty
+ \fi
+ \fi
+ \fi
+}
+
+\def \@addtocurcol {%
+ \showGALcmd{@addtocurcol}
+ \@insertfalse
+ \@setfloattypecounts
+ \ifnum \@fpstype=8
+ \else
+ \ifnum \@fpstype=24
+ \else
+ \@flsettextmin
+ \advance \@textmin \@textfloatsheight
+ \@reqcolroom \@pageht
+ \ifdim \@textmin>\@reqcolroom
+ \@reqcolroom \@textmin
+ \fi
+ \advance \@reqcolroom \ht\@currbox
+ \ifdim \@colroom>\@reqcolroom
+ \@flsetnum \@colnum
+ \ifnum \@colnum>\z@
+ \@bitor\@currtype\@deferlist
+ \if@test
+ \else
+ \@bitor\@currtype\@botlist
+ \if@test
+ \@addtobot
+ \else
+ \ifodd \count\@currbox
+ \advance \@reqcolroom \intextsep
+ \ifdim \@colroom>\@reqcolroom
+ \global \advance \@colnum \m@ne
+ \global \advance \@textfloatsheight \ht\@currbox
+ \global \advance \@textfloatsheight 2\intextsep
+ \@cons \@midlist \@currbox
+ \addpenalty \interlinepenalty
+ \vskip \intextsep
+ \box\@currbox
+ \penalty\interlinepenalty
+ \vskip\intextsep
+ \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi
+ \outputpenalty \z@
+ \@inserttrue
+ \fi
+ \fi
+ \if@insert
+ \else
+ \@addtotoporbot
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \if@insert
+ \else
+ \@resethfps
+ \@cons\@deferlist\@currbox
+ \fi
+}
+
+
+\def\@item[#1]{%
+ \showGALcmd{@item}
+ \if@noparitem
+ \@donoparitem
+ \else
+ \if@inlabel
+ \indent \par
+ \fi
+ \ifhmode
+ \unskip\unskip \par
+ \fi
+ \if@newlist
+ \if@nobreak
+ \@nbitem
+ \else
+ \addpenalty\@beginparpenalty
+ \addvspace\@topsep
+ \addvspace{-\parskip}%
+ \fi
+ \else
+ \addpenalty\@itempenalty
+ \addvspace\itemsep
+ \fi
+ \global\@inlabeltrue
+ \fi
+ \everypar{%
+ \@minipagefalse
+ \global\@newlistfalse
+ \if@inlabel
+ \global\@inlabelfalse
+ {\setbox\z@\lastbox
+ \ifvoid\z@
+ \kern-\itemindent
+ \fi}%
+ \box\@labels
+ \penalty\z@
+ \fi
+ \if@nobreak
+ \@nobreakfalse
+ \clubpenalty \@M
+ \else
+ \clubpenalty \@clubpenalty
+ \everypar{}%
+ \fi}%
+ \if@noitemarg
+ \@noitemargfalse
+ \if@nmbrlist
+ \refstepcounter\@listctr
+ \fi
+ \fi
+ \sbox\@tempboxa{\makelabel{#1}}%
+ \global\setbox\@labels\hbox{%
+ \unhbox\@labels
+ \hskip \itemindent
+ \hskip -\labelwidth
+ \hskip -\labelsep
+ \ifdim \wd\@tempboxa >\labelwidth
+ \box\@tempboxa
+ \else
+ \hbox to\labelwidth {\unhbox\@tempboxa}%
+ \fi
+ \hskip \labelsep}%
+ \ignorespaces}
+
+\DeclareRobustCommand{\LaTeX}{L\kern-.36em%
+ {\sbox\z@ T%
+ \GAL@ignore@next@galley@vbox to\ht\z@{\hbox{\check@mathfonts
+ \fontsize\sf@size\z@
+ \math@fontsfalse\selectfont
+ A}%
+ \vss}%
+ }%
+ \kern-.15em%
+ \TeX}
+\DeclareTextCommandDefault{\textunderscore}{%
+ \leavevmode \kern.06em\GAL@ignore@next@galley@vbox{\hrule\@width.3em}}
+\DeclareTextCommandDefault{\textvisiblespace}{%
+ \mbox{\kern.06em\vrule \@height.3ex}%
+ \GAL@ignore@next@galley@vbox{\hrule \@width.3em}%
+ \hbox{\vrule \@height.3ex}}
+\gdef\showhyphens#1{%
+ \setbox0\vbox{%
+ \color@begingroup
+ \everypar{}%
+ \parfillskip\z@skip\hsize\maxdimen
+ \normalfont
+ \pretolerance\m@ne\tolerance\m@ne\hbadness\z@\showboxdepth\z@\ #1%
+ \color@endgroup}}
+\catcode`\:=12
+\long\def\@imakepicbox(#1,#2)[#3]#4{%
+ \GAL@ignore@next@galley@vbox to#2\unitlength
+ {\let\mb@b\vss \let\mb@l\hss\let\mb@r\hss
+ \let\mb@t\vss
+ \@tfor\reserved@a :=#3\do{%
+ \if s\reserved@a
+ \let\mb@l\relax\let\mb@r\relax
+ \else
+ \expandafter\let\csname mb@\reserved@a\endcsname\relax
+ \fi}%
+ \mb@t
+ \hb@xt@ #1\unitlength{\mb@l #4\mb@r}%
+ \mb@b
+ \kern\z@}}
+\catcode`\:=11
+\long\def\frame#1{%
+ \leavevmode
+ \hbox{%
+ \hskip-\@wholewidth
+ \GAL@ignore@next@galley@vbox{%
+ \vskip-\@wholewidth
+ \hrule \@height\@wholewidth
+ \hbox{%
+ \vrule\@width\@wholewidth
+ #1%
+ \vrule\@width\@wholewidth}%
+ \hrule\@height\@wholewidth
+ \vskip-\@wholewidth}%
+ \hskip-\@wholewidth}}
+\def\@frameb@x#1{%
+ \@tempdima\fboxrule
+ \advance\@tempdima\fboxsep
+ \advance\@tempdima\dp\@tempboxa
+ \hbox{%
+ \lower\@tempdima\hbox{%
+ \GAL@ignore@next@galley@vbox{%
+ \hrule\@height\fboxrule
+ \hbox{%
+ \vrule\@width\fboxrule
+ #1%
+ \GAL@ignore@next@galley@vbox{%
+ \vskip\fboxsep
+ \box\@tempboxa
+ \vskip\fboxsep}%
+ #1%
+ \vrule\@width\fboxrule}%
+ \hrule\@height\fboxrule}%
+ }%
+ }%
+}
+\typeout{****~ Careful:~ there~ is~ another~ rewrite~ for~ iiiparbox~ in~ coffins!}
+
+\long\def\@iiiparbox#1#2[#3]#4#5{%
+ \leavevmode
+ \@pboxswfalse
+ \setlength\@tempdima{#4}%
+ \@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore#5\@@par}%
+ \ifx\relax#2\else
+ \setlength\@tempdimb{#2}%
+ \def\@parboxto{to\@tempdimb}%
+ \fi
+ \GAL@ignore@next@galley
+ \if#1b\vbox
+ \else\if #1t\vtop
+ \else\ifmmode\vcenter
+ \else\@pboxswtrue $\vcenter
+ \fi\fi\fi
+ \@parboxto{\let\hss\vss\let\unhbox\unvbox
+ \csname bm@#3\endcsname}%
+ \if@pboxsw \m@th$\fi
+ \@end@tempboxa}
+\def\@iiiminipage#1#2[#3]#4{%
+ \leavevmode
+ \@pboxswfalse
+ \setlength\@tempdima{#4}%
+ \def\@mpargs{{#1}{#2}[#3]{#4}}%
+ \setbox\@tempboxa\vbox\bgroup
+ \color@begingroup
+ \hsize\@tempdima
+ \textwidth\hsize \columnwidth\hsize
+ \@parboxrestore
+ \def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@
+ \let\@footnotetext\@mpfootnotetext
+ \let\@listdepth\@mplistdepth \@mplistdepth\z@
+ \@minipagerestore
+ \@setminipage}
+\long\def\@mpfootnotetext#1{%
+ \global\setbox\@mpfootins\vbox{%
+ \unvbox\@mpfootins
+ \reset@font\footnotesize
+ \hsize\columnwidth
+ \@parboxrestore
+ \protected@edef\@currentlabel
+ {\csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+ \color@endgroup}}
+\def\@array[#1]#2{%
+ \GAL@ignore@next@galley
+ \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi
+ \bgroup
+ \setbox\@arstrutbox\hbox{%
+ \vrule \@height\arraystretch\ht\strutbox
+ \@depth\arraystretch \dp\strutbox
+ \@width\z@}%
+ \@mkpream{#2}%
+ \edef\@preamble{%
+ \ialign \noexpand\@halignto
+ \bgroup \@arstrut \@preamble \tabskip\z@skip \cr}%
+ \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox
+ \let\tabularnewline\\%
+%%%% \let\par\@empty
+ \let\@sharp##%
+ \set@typeset@protect
+ \lineskip\z@skip\baselineskip\z@skip
+ \ifhmode \@preamerr\z@ \@@par\fi
+ \@preamble}
+\gdef\@shortstack[#1]{%
+ \leavevmode
+ \GAL@ignore@next@galley@vbox\bgroup
+ \baselineskip-\p@\lineskip 3\p@
+ \let\mb@l\hss\let\mb@r\hss
+ \expandafter\let\csname mb@#1\endcsname\relax
+ \let\\\@stackcr
+ \@ishortstack}
+\gdef\@ishortstack#1{\ialign{\mb@l {##}\unskip\mb@r\cr #1\crcr}\egroup}
+\gdef\@stackcr{\@ifstar\@ixstackcr\@ixstackcr}
+\gdef\@ixstackcr{\@ifnextchar[\@istackcr{\cr\ignorespaces}}
+\gdef\@istackcr[#1]{\cr\noalign{\vskip #1}\ignorespaces}
+\newif\if@negarg
+\gdef\line(#1,#2)#3{\@xarg #1\relax \@yarg #2\relax
+ \@linelen #3\unitlength
+ \ifdim\@linelen<\z@\@badlinearg\else
+ \ifnum\@xarg =\z@ \@vline
+ \else \ifnum\@yarg =\z@ \@hline \else \@sline\fi
+ \fi
+ \fi}
+\gdef\@sline{%
+ \ifnum\@xarg<\z@ \@negargtrue \@xarg -\@xarg \@yyarg -\@yarg
+ \else \@negargfalse \@yyarg \@yarg \fi
+\ifnum \@yyarg >\z@ \@tempcnta\@yyarg \else \@tempcnta -\@yyarg \fi
+\ifnum\@tempcnta>6 \@badlinearg\@tempcnta\z@ \fi
+\ifnum\@xarg>6 \@badlinearg\@xarg \@ne \fi
+\setbox\@linechar\hbox{\@linefnt\@getlinechar(\@xarg,\@yyarg)}%
+\ifnum \@yarg >\z@ \let\@upordown\raise \@clnht\z@
+ \else\let\@upordown\lower \@clnht \ht\@linechar\fi
+\@clnwd \wd\@linechar
+\if@negarg
+ \hskip -\wd\@linechar \def\reserved@a{\hskip -2\wd\@linechar}%
+\else
+ \let\reserved@a\relax
+\fi
+\@whiledim \@clnwd <\@linelen \do
+ {\@upordown\@clnht\copy\@linechar
+ \reserved@a
+ \advance\@clnht \ht\@linechar
+ \advance\@clnwd \wd\@linechar}%
+\advance\@clnht -\ht\@linechar
+\advance\@clnwd -\wd\@linechar
+\@tempdima\@linelen\advance\@tempdima -\@clnwd
+\@tempdimb\@tempdima\advance\@tempdimb -\wd\@linechar
+\if@negarg \hskip -\@tempdimb \else \hskip \@tempdimb \fi
+\multiply\@tempdima \@m
+\@tempcnta \@tempdima
+\@tempdima \wd\@linechar \divide\@tempcnta \@tempdima
+\@tempdima \ht\@linechar \multiply\@tempdima \@tempcnta
+\divide\@tempdima \@m
+\advance\@clnht \@tempdima
+\ifdim \@linelen <\wd\@linechar
+ \hskip \wd\@linechar
+ \@picture@warn
+ \else\@upordown\@clnht\copy\@linechar\fi}
+\gdef\@hline{\ifnum \@xarg <\z@ \hskip -\@linelen \fi
+\vrule \@height \@halfwidth \@depth \@halfwidth \@width \@linelen
+\ifnum \@xarg <\z@ \hskip -\@linelen \fi}
+\gdef\@getlinechar(#1,#2){\@tempcnta#1\relax\multiply\@tempcnta 8%
+ \advance\@tempcnta -9\ifnum #2>\z@ \advance\@tempcnta #2\relax\else
+ \advance\@tempcnta -#2\relax\advance\@tempcnta 64 \fi
+ \char\@tempcnta}
+\gdef\vector(#1,#2)#3{\@xarg #1\relax \@yarg #2\relax
+ \@tempcnta \ifnum\@xarg<\z@ -\@xarg\else\@xarg\fi
+ \ifnum\@tempcnta<5\relax
+ \@linelen #3\unitlength
+ \ifdim\@linelen<\z@\@badlinearg\else
+ \ifnum\@xarg =\z@ \@vvector
+ \else \ifnum\@yarg =\z@ \@hvector \else \@svector\fi
+ \fi
+ \fi
+ \else\@badlinearg\fi}
+\gdef\@hvector{\@hline\hb@xt@\z@{\@linefnt
+ \ifnum \@xarg <\z@ \@getlarrow(1,0)\hss\else
+ \hss\@getrarrow(1,0)\fi}}
+\gdef\@vvector{\ifnum \@yarg <\z@ \@downvector \else \@upvector \fi}
+\gdef\@svector{\@sline
+ \@tempcnta\@yarg \ifnum\@tempcnta <\z@ \@tempcnta -\@tempcnta\fi
+ \ifnum\@tempcnta <5%
+ \hskip -\wd\@linechar
+ \@upordown\@clnht \hbox{\@linefnt \if@negarg
+ \@getlarrow(\@xarg,\@yyarg)\else \@getrarrow(\@xarg,\@yyarg)\fi}%
+ \else\@badlinearg\fi}
+\gdef\@getlarrow(#1,#2){\ifnum #2=\z@ \@tempcnta'33 \else
+ \@tempcnta #1\relax\multiply\@tempcnta \sixt@@n \advance\@tempcnta
+ -9 \@tempcntb #2\relax\multiply\@tempcntb \tw@
+ \ifnum \@tempcntb >\z@ \advance\@tempcnta \@tempcntb
+ \else\advance\@tempcnta -\@tempcntb\advance\@tempcnta 64
+ \fi\fi\char\@tempcnta}
+\gdef\@getrarrow(#1,#2){\@tempcntb #2\relax
+\ifnum\@tempcntb <\z@ \@tempcntb -\@tempcntb\relax\fi
+\ifcase \@tempcntb\relax \@tempcnta'55 \or
+\ifnum #1<\thr@@ \@tempcnta #1\relax\multiply\@tempcnta
+24\advance\@tempcnta -6 \else \ifnum #1=\thr@@ \@tempcnta 49
+\else\@tempcnta 58 \fi\fi\or
+\ifnum #1<\thr@@ \@tempcnta=#1\relax\multiply\@tempcnta
+24\advance\@tempcnta -\thr@@ \else \@tempcnta 51 \fi\or
+\@tempcnta #1\relax\multiply\@tempcnta
+\sixt@@n \advance\@tempcnta -\tw@ \else
+\@tempcnta #1\relax\multiply\@tempcnta
+\sixt@@n \advance\@tempcnta 7 \fi\ifnum #2<\z@ \advance\@tempcnta 64 \fi
+\char\@tempcnta}
+\gdef\@vline{\ifnum \@yarg <\z@ \@downline \else \@upline\fi}
+\gdef\@upline{%
+ \hb@xt@\z@{\hskip -\@halfwidth \vrule \@width \@wholewidth
+ \@height \@linelen \@depth \z@\hss}}
+\gdef\@downline{%
+ \hb@xt@\z@{\hskip -\@halfwidth \vrule \@width \@wholewidth
+ \@height \z@ \@depth \@linelen \hss}}
+\gdef\@upvector{\@upline\setbox\@tempboxa\hbox{\@linefnt\char'66}\raise
+ \@linelen \hb@xt@\z@{\lower \ht\@tempboxa\box\@tempboxa\hss}}
+\gdef\@downvector{\@downline\lower \@linelen
+ \hb@xt@\z@{\@linefnt\char'77\hss}}
+\gdef\dashbox#1(#2,#3){\leavevmode\hb@xt@\z@{\baselineskip \z@skip
+\lineskip \z@skip
+\@dashdim #2\unitlength
+\@dashcnt \@dashdim \advance\@dashcnt 200
+\@dashdim #1\unitlength\divide\@dashcnt \@dashdim
+\ifodd\@dashcnt\@dashdim \z@
+\advance\@dashcnt \@ne \divide\@dashcnt \tw@
+\else \divide\@dashdim \tw@ \divide\@dashcnt \tw@
+\advance\@dashcnt \m@ne
+\setbox\@dashbox \hbox{\vrule \@height \@halfwidth \@depth \@halfwidth
+\@width \@dashdim}\put(0,0){\copy\@dashbox}%
+\put(0,#3){\copy\@dashbox}%
+\put(#2,0){\hskip-\@dashdim\copy\@dashbox}%
+\put(#2,#3){\hskip-\@dashdim\box\@dashbox}%
+\multiply\@dashdim \thr@@
+\fi
+\setbox\@dashbox \hbox{\vrule \@height \@halfwidth \@depth \@halfwidth
+\@width #1\unitlength\hskip #1\unitlength}\@tempcnta\z@
+\put(0,0){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt
+\do{\copy\@dashbox\advance\@tempcnta \@ne }}\@tempcnta\z@
+\put(0,#3){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt
+\do{\copy\@dashbox\advance\@tempcnta \@ne }}%
+\@dashdim #3\unitlength
+\@dashcnt \@dashdim \advance\@dashcnt 200
+\@dashdim #1\unitlength\divide\@dashcnt \@dashdim
+\ifodd\@dashcnt \@dashdim \z@
+\advance\@dashcnt \@ne \divide\@dashcnt \tw@
+\else
+\divide\@dashdim \tw@ \divide\@dashcnt \tw@
+\advance\@dashcnt \m@ne
+\setbox\@dashbox\hbox{\hskip -\@halfwidth
+\vrule \@width \@wholewidth
+\@height \@dashdim}\put(0,0){\copy\@dashbox}%
+\put(#2,0){\copy\@dashbox}%
+\put(0,#3){\lower\@dashdim\copy\@dashbox}%
+\put(#2,#3){\lower\@dashdim\copy\@dashbox}%
+\multiply\@dashdim \thr@@
+\fi
+\setbox\@dashbox\hbox{\vrule \@width \@wholewidth
+\@height #1\unitlength}\@tempcnta\z@
+\put(0,0){\hskip -\@halfwidth \GAL@ignore@next@galley@vbox{\@whilenum \@tempcnta <\@dashcnt
+\do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }%
+\vskip\@dashdim}}\@tempcnta\z@
+\put(#2,0){\hskip -\@halfwidth \GAL@ignore@next@galley@vbox{\@whilenum \@tempcnta<\@dashcnt
+\do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }%
+\vskip\@dashdim}}}\@makepicbox(#2,#3)}
+\gdef\@ovvert#1#2{\GAL@ignore@next@galley@vbox to\@ovyy{%
+ \if@ovb \@tempcntb \@tempcnta \advance \@tempcntb #1\relax
+ \kern -\@ovro \hbox{\char \@tempcntb}\nointerlineskip
+ \else \kern \@ovri \kern \@ovdy \fi
+ \leaders\vrule \@width \@wholewidth\vfil \nointerlineskip
+ \if@ovt \@tempcntb \@tempcnta \advance \@tempcntb #2\relax
+ \hbox{\char \@tempcntb}%
+ \else \kern \@ovdy \kern \@ovro \fi}}
+\catcode`\:=12
+\def\@xfloat #1[#2]{%
+ \@nodocument
+ \def \@captype {#1}%
+ \def \@fps {#2}%
+ \@onelevel@sanitize \@fps
+ \def \reserved@b {!}%
+ \ifx \reserved@b \@fps
+ \@fpsadddefault
+ \else
+ \ifx \@fps \@empty
+ \@fpsadddefault
+ \fi
+ \fi
+ \ifhmode
+ \@bsphack
+ \@floatpenalty -\@Mii
+ \else
+ \@floatpenalty-\@Miii
+ \fi
+ \ifinner
+ \@parmoderr\@floatpenalty\z@
+ \else
+ \@next\@currbox\@freelist
+ {%
+ \@tempcnta \sixt@@n
+ \expandafter \@tfor \expandafter \reserved@a
+ \expandafter :\expandafter =\@fps
+ \do
+ {%
+ \if \reserved@a h%
+ \ifodd \@tempcnta
+ \else
+ \advance \@tempcnta \@ne
+ \fi
+ \fi
+ \if \reserved@a t%
+ \@setfpsbit \tw@
+ \fi
+ \if \reserved@a b%
+ \@setfpsbit 4%
+ \fi
+ \if \reserved@a p%
+ \@setfpsbit 8%
+ \fi
+ \if \reserved@a !%
+ \ifnum \@tempcnta>15
+ \advance\@tempcnta -\sixt@@n\relax
+ \fi
+ \fi
+ }%
+ \@tempcntb \csname ftype@\@captype \endcsname
+ \multiply \@tempcntb \@xxxii
+ \advance \@tempcnta \@tempcntb
+ \global \count\@currbox \@tempcnta
+ }%
+ \@fltovf
+ \fi
+ \global \setbox\@currbox
+ \color@vbox
+ \normalcolor
+ \vbox \bgroup
+ \hsize\columnwidth
+ \@parboxrestore
+ \@floatboxreset
+}
+\catcode`\:=11
+\def\end@float{%
+ \@endfloatbox
+ \ifnum\@floatpenalty <\z@
+ \@largefloatcheck
+ \@cons\@currlist\@currbox
+ \ifnum\@floatpenalty <-\@Mii
+ \penalty -\@Miv
+ \@tempdima\prevdepth
+ \GAL@ignore@next@galley@vbox{}%
+ \prevdepth\@tempdima
+ \penalty\@floatpenalty
+ \else
+ \vadjust{\penalty -\@Miv \GAL@ignore@next@galley@vbox{}\penalty\@floatpenalty}\@Esphack
+ \fi
+ \fi
+}
+\def \@xympar{%
+ \ifnum\@floatpenalty <\z@\@cons\@currlist\@marbox\fi
+ \setbox\@tempboxa
+ \color@vbox
+ \vbox \bgroup
+ \end@float
+ \@ignorefalse
+ \@esphack
+}
+\def \AtBeginDvi #1{%
+ \global \setbox \@begindvibox
+ \vbox{\unvbox \@begindvibox #1}%
+}
+\def\clearpage{%
+ \ifvmode
+ \ifnum \@dbltopnum =\m@ne
+ \ifdim \pagetotal <\topskip
+ \hbox{}%
+ \fi
+ \fi
+ \fi
+ \newpage
+ \write\m@ne{}%
+ \GAL@ignore@next@galley@vbox{}%
+ \penalty -\@Mi
+}
+\def \@emptycol {\GAL@ignore@next@galley@vbox{}\penalty -\@M}
+\long\def \@topnewpage [#1]{%
+ \@nodocument
+ \@next\@currbox\@freelist{}{}%
+ \global \setbox\@currbox
+ \color@vbox
+ \normalcolor
+ \vbox {%
+ \hsize\textwidth
+ \@parboxrestore
+ \col@number \@ne
+ #1%
+ \vskip -\dbltextfloatsep
+ }%
+ \color@endbox
+ \ifdim \ht\@currbox>\textheight
+ \ht\@currbox \textheight
+ \fi
+ \global \count\@currbox \tw@
+ \@tempdima -\ht\@currbox
+ \advance \@tempdima -\dbltextfloatsep
+ \global \advance \@colht \@tempdima
+ \ifx \@dbltoplist \@empty
+ \else
+ \@latexerr{Float(s) lost}\@ehb
+ \let \@dbltoplist \@empty
+ \fi
+ \@cons \@dbltoplist \@currbox
+ \global \@dbltopnum \m@ne
+ \ifdim \@colht<2.5\baselineskip
+ \@latex@warning@no@line {Optional argument of \noexpand\twocolumn
+ too tall on page \thepage}%
+ \@emptycol
+ \if@firstcolumn
+ \else
+ \@emptycol
+ \fi
+ \else
+ \global \vsize \@colht
+ \global \@colroom \@colht
+ \@floatplacement
+ \fi
+}
+\gdef\@specialoutput{%
+ \ifnum \outputpenalty>-\@Mii
+ \@doclearpage
+ \else
+ \ifnum \outputpenalty<-\@Miii
+ \ifnum \outputpenalty<-\@MM \deadcycles \z@ \fi
+ \global \setbox\@holdpg \vbox {\unvbox\@cclv}%
+ \else
+ \global \setbox\@holdpg \vbox{%
+ \unvbox\@holdpg
+ \unvbox\@cclv
+ \setbox\@tempboxa \lastbox
+ \unskip
+ }%
+ \@pagedp \dp\@holdpg
+ \@pageht \ht\@holdpg
+ \unvbox \@holdpg
+ \@next\@currbox\@currlist{%
+ \ifnum \count\@currbox>\z@
+ \advance \@pageht \@pagedp
+ \ifvoid\footins \else
+ \advance \@pageht \ht\footins
+ \advance \@pageht \skip\footins
+ \advance \@pageht \dp\footins
+ \fi
+ \ifvbox \@kludgeins
+ \ifdim \wd\@kludgeins=\z@
+ \advance \@pageht \ht\@kludgeins
+ \fi
+ \fi
+ \@reinserts
+ \@addtocurcol
+ \else
+ \@reinserts
+ \@addmarginpar
+ \fi
+ }\@latexbug
+ \ifnum \outputpenalty<\z@
+ \if@nobreak
+ \nobreak
+ \else
+ \addpenalty \interlinepenalty
+ \fi
+ \fi
+ \fi
+ \fi
+}
+\def \@doclearpage {%
+ \ifvoid\footins
+ \setbox\@tempboxa\vsplit\@cclv to\z@ \unvbox\@tempboxa
+ \setbox\@tempboxa\box\@cclv
+ \xdef\@deferlist{\@toplist\@botlist\@deferlist}%
+ \global \let \@toplist \@empty
+ \global \let \@botlist \@empty
+ \global \@colroom \@colht
+ \ifx \@currlist\@empty
+ \else
+ \@latexerr{Float(s) lost}\@ehb
+ \global \let \@currlist \@empty
+ \fi
+ \@makefcolumn\@deferlist
+ \@whilesw\if@fcolmade \fi{\@opcol\@makefcolumn\@deferlist}%
+ \if@twocolumn
+ \if@firstcolumn
+ \xdef\@dbldeferlist{\@dbltoplist\@dbldeferlist}%
+ \global \let \@dbltoplist \@empty
+ \global \@colht \textheight
+ \begingroup
+ \@dblfloatplacement
+ \@makefcolumn\@dbldeferlist
+ \@whilesw\if@fcolmade \fi{\@outputpage
+ \@makefcolumn\@dbldeferlist}%
+ \endgroup
+ \else
+ \GAL@ignore@next@galley@vbox{}\clearpage
+ \fi
+ \fi
+ \else
+ \setbox\@cclv\vbox{\box\@cclv\vfil}%
+ \@makecol\@opcol
+ \clearpage
+ \fi
+}
+\gdef \@makecol {%
+ \ifvoid\footins
+ \setbox\@outputbox \box\@cclv
+ \else
+ \setbox\@outputbox \vbox {%
+ \boxmaxdepth \@maxdepth
+ \@tempdima\dp\@cclv
+ \unvbox \@cclv
+ \vskip-\@tempdima
+ \vskip \skip\footins
+ \color@begingroup
+ \normalcolor
+ \footnoterule
+ \unvbox \footins
+ \color@endgroup
+ }%
+ \fi
+ \xdef\@freelist{\@freelist\@midlist}%
+ \global \let \@midlist \@empty
+ \@combinefloats
+ \ifvbox\@kludgeins
+ \@makespecialcolbox
+ \else
+ \setbox\@outputbox \vbox to\@colht {%
+ \@texttop
+ \dimen@ \dp\@outputbox
+ \unvbox \@outputbox
+ \vskip -\dimen@
+ \@textbottom
+ }%
+ \fi
+ \global \maxdepth \@maxdepth
+}
+\gdef \@makespecialcolbox {%
+ \setbox\@outputbox \vbox {%
+ \@texttop
+ \dimen@ \dp\@outputbox
+ \unvbox\@outputbox
+ \vskip-\dimen@
+ }%
+ \@tempdima \@colht
+ \ifdim \wd\@kludgeins>\z@
+ \advance \@tempdima -\ht\@outputbox
+ \advance \@tempdima \pageshrink
+ \setbox\@outputbox \vbox to \@colht {%
+ \unvbox\@outputbox
+ \vskip \@tempdima
+ \@textbottom
+ }%
+ \else
+ \advance \@tempdima -\ht\@kludgeins
+ \setbox \@outputbox \vbox to \@colht {%
+ \GAL@ignore@next@galley@vbox to \@tempdima {%
+ \unvbox\@outputbox
+ \@textbottom}%
+ \vss}%
+ \fi
+ {\setbox \@tempboxa \box \@kludgeins}%
+}
+\def\@outputpage{%
+\begingroup % the \endgroup is put in by \aftergroup
+ \@resetactivechars
+ \@parboxrestore
+ \let \protect \noexpand % <- this moved after parboxrestore!!!!
+ \shipout \vbox{%
+ \set@typeset@protect
+ \aftergroup \endgroup
+ \aftergroup \set@typeset@protect
+ % correct? or just restore by ending
+ % the group?
+ \if@specialpage
+ \global\@specialpagefalse\@nameuse{ps@\@specialstyle}%
+ \fi
+ \if@twoside
+ \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot
+ \let\@themargin\oddsidemargin
+ \else \let\@thehead\@evenhead
+ \let\@thefoot\@evenfoot \let\@themargin\evensidemargin
+ \fi
+ \fi
+ \reset@font
+ \normalsize
+ \normalsfcodes
+ \let\label\@gobble
+ \let\index\@gobble
+ \let\glossary\@gobble
+ \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@
+ \@begindvi
+ \vskip \topmargin
+ \moveright\@themargin \vbox {%
+ \setbox\@tempboxa \vbox to\headheight{%
+ \vfil
+ \color@hbox
+ \normalcolor
+ \hb@xt@\textwidth{\@thehead}%
+ \color@endbox
+ }% %% 22 Feb 87
+ \dp\@tempboxa \z@
+ \box\@tempboxa
+ \vskip \headsep
+ \box\@outputbox
+ \baselineskip \footskip
+ \color@hbox
+ \normalcolor
+ \hb@xt@\textwidth{\@thefoot}%
+ \color@endbox
+ }%
+ }%
+ \global \@colht \textheight
+ \stepcounter{page}%
+ \let\firstmark\botmark
+}
+\def \@cflt{%
+ \let \@elt \@comflelt
+ \setbox\@tempboxa \vbox{}%
+ \@toplist
+ \setbox\@outputbox \vbox{%
+ \boxmaxdepth \maxdepth
+ \unvbox\@tempboxa
+ \vskip -\floatsep
+ \topfigrule
+ \vskip \textfloatsep
+ \unvbox\@outputbox
+ }%
+ \let\@elt\relax
+ \xdef\@freelist{\@freelist\@toplist}%
+ \global\let\@toplist\@empty
+}
+\def\@comflelt#1{\setbox\@tempboxa
+ \vbox{\unvbox\@tempboxa\box #1\vskip\floatsep}}
+\def \@combinedblfloats{%
+ \ifx \@dbltoplist \@empty
+ \else
+ \setbox\@tempboxa \vbox{}%
+ \let \@elt \@comdblflelt
+ \@dbltoplist
+ \let \@elt \relax
+ \xdef \@freelist {\@freelist\@dbltoplist}%
+ \global\let \@dbltoplist \@empty
+ \setbox\@outputbox \vbox to\textheight
+ {%\boxmaxdepth\maxdepth %% probably not needed, CAR
+ \unvbox\@tempboxa\vskip-\dblfloatsep
+ \ifnum \@dbltopnum>\m@ne
+ \dblfigrule
+ \fi
+ \vskip \dbltextfloatsep
+ \box\@outputbox
+ }%
+ \fi
+}
+\def\@vtryfc #1{%
+ \global\setbox\@outputbox\vbox{}%
+ \let\@elt\@wtryfc
+ \@flsucceed
+ \global\setbox\@outputbox \vbox to\@colht{%
+ \vskip \@fptop
+ \vskip -\@fpsep
+ \unvbox \@outputbox
+ \vskip \@fpbot}%
+ \let\@elt\relax
+ \xdef #1{\@failedlist\@flfail}%
+ \xdef\@freelist{\@freelist\@flsucceed}}
+\def\@wtryfc #1{%
+ \global\setbox\@outputbox\vbox{%
+ \unvbox\@outputbox
+ \vskip\@fpsep
+ \box #1}}
+\def\@addmarginpar{\@next\@marbox\@currlist{\@cons\@freelist\@marbox
+ \@cons\@freelist\@currbox}\@latexbug\@tempcnta\@ne
+ \if@twocolumn
+ \if@firstcolumn \@tempcnta\m@ne \fi
+ \else
+ \if@mparswitch
+ \ifodd\c@page \else\@tempcnta\m@ne \fi
+ \fi
+ \if@reversemargin \@tempcnta -\@tempcnta \fi
+ \fi
+ \ifnum\@tempcnta <\z@ \global\setbox\@marbox\box\@currbox \fi
+ \@tempdima\@mparbottom
+ \advance\@tempdima -\@pageht
+ \advance\@tempdima\ht\@marbox
+ \ifdim\@tempdima >\z@
+ \@latex@warning@no@line {Marginpar on page \thepage\space moved}%
+ \else
+ \@tempdima\z@
+ \fi
+ \global\@mparbottom\@pageht
+ \global\advance\@mparbottom\@tempdima
+ \global\advance\@mparbottom\dp\@marbox
+ \global\advance\@mparbottom\marginparpush
+ \advance\@tempdima -\ht\@marbox
+ \global\setbox \@marbox
+ \vbox {\vskip \@tempdima
+ \box \@marbox}%
+ \global \ht\@marbox \z@
+ \global \dp\@marbox \z@
+ \kern -\@pagedp
+ \nointerlineskip
+ \hb@xt@\columnwidth
+ {\ifnum \@tempcnta >\z@
+ \hskip\columnwidth \hskip\marginparsep
+ \else
+ \hskip -\marginparsep \hskip -\marginparwidth
+ \fi
+ \box\@marbox \hss}%
+ \nointerlineskip
+ \hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp}}
+\def\@outputdblcol{%
+ \if@firstcolumn
+ \global \@firstcolumnfalse
+ \global \setbox\@leftcolumn \box\@outputbox
+ \else
+ \global \@firstcolumntrue
+ \setbox\@outputbox \vbox {%
+ \hb@xt@\textwidth {%
+ \hb@xt@\columnwidth {%
+ \box\@leftcolumn \hss}%
+ \hfil
+ \vrule \@width\columnseprule
+ \hfil
+ \hb@xt@\columnwidth {%
+ \box\@outputbox \hss}%
+ }%
+ }%
+ \@combinedblfloats
+ \@outputpage
+ \begingroup
+ \@dblfloatplacement
+ \@startdblcolumn
+ \@whilesw\if@fcolmade \fi
+ {\@outputpage
+ \@startdblcolumn}%
+ \endgroup
+ \fi
+}
+
+\catcode`\:=12\relax
+\endinput
+%%
+%% End of file `galley2.sty'.
diff --git a/Master/texmf-dist/tex/latex3/galley/xhj.sty b/Master/texmf-dist/tex/latex3/galley/xhj.sty
new file mode 100644
index 00000000000..b8196755c76
--- /dev/null
+++ b/Master/texmf-dist/tex/latex3/galley/xhj.sty
@@ -0,0 +1,313 @@
+%%
+%% This is file `xhj.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xhj.dtx (with options: `package,trace')
+%%
+%%
+%% $Header: /usr3/users/latex3/design/consolidation/CURRENT/RCS/xhj.dtx,v 1.8 2000/01/14 15:24:24 latex3 Exp $
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+%% This module only works in conjunction with the galley2 module.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{xhj}
+ [2000/01/14 v0.3c hyphenation & justification]
+
+%%
+\NeedsTeXFormat{LaTeX2e}[1998/12/01]
+\RequirePackage{template,xparse}
+ % be loaded afterwards !!!!
+\IgnoreWhiteSpace
+\catcode`\:=11\relax
+\def\@usefontdimen#1{\fontdimen#1\font}
+\def\fontslant {\@usefontdimen1}
+\def\fontwordspace {\@usefontdimen2}
+\def\fontwordspacestretch {\@usefontdimen3}
+\def\fontwordspaceshrink {\@usefontdimen4}
+\def\fontex {\@usefontdimen5}
+\def\fontem {\@usefontdimen6}
+\def\fontextraspace {\@usefontdimen7}
+\DeclareTemplateType{measure}{1}
+\DeclareTemplate{measure}{absolute}{1}{
+ leftmargin =l \leftmargin,
+ rightmargin =l \rightmargin,
+ }{
+ \DoParameterAssignments
+ \IfNoValueF{#1} { \setlength\leftmargin{ #1 + \@totalleftmargin } }
+ \setSGPVmeasure:nn \leftmargin {\hsize -\leftmargin -\rightmargin }
+}
+\DeclareTemplate{measure}{relative}{1}{
+ leftmargin =l \leftmargin,
+ rightmargin =l \rightmargin,
+ }{
+ \DoParameterAssignments
+ \IfNoValueF{#1} { \setlength\leftmargin{#1} }
+ \addSGPVmeasure:nn \leftmargin { -\leftmargin -\rightmargin }
+}
+\DeclareTemplateType{pshape}{0}
+\DeclareTemplate{pshape}{cutout}{0}{
+ no-page-break-boolean =s {\setGALbreak:n {-3}}{},
+ left-side-boolean =s {}{\let\shape@side\setGALrightparshape:nnn},
+ normal-lines-num =C \pshape@normalines,
+ parshape-list =f0 \pshape@parshape,
+ }{
+ \let\pshape@normalines\z@
+ \let\shape@side\setGALleftparshape:nnn
+ \DoParameterAssignments
+ \shape@side \pshape@normalines \z@ \pshape@parshape
+ }
+\DeclareInstance{pshape}{staggered}{cutout}{
+ no-page-break-boolean = true,
+ normal-lines-num = 1,
+ parshape-list = { 20pt, 40pt, 60pt },
+}
+\DeclareInstance{pshape}{ltriangle}{cutout}{
+ no-page-break-boolean = true,
+ normal-lines-num = 0,
+ parshape-list = { 60pt, 40pt, 20pt },
+}
+\DeclareInstance{pshape}{rectangle}{cutout}{
+ no-page-break-boolean = false,
+ normal-lines-num = 0,
+ parshape-list = { },
+}
+\DeclareTemplateType{justification}{0}
+\DeclareTemplate{justification}{single}{0}{
+ startskip =L \justification@a ,
+ leftskip =L \justification@b ,
+ rightskip =L \justification@c ,
+ parfillskip =L \justification@d ,
+ spaceskip =L \justification@e ,
+ xspaceskip =L \justification@f ,
+ linefillskip =L \justification@g ,
+ parindent =L \justification@h ,
+ }{
+ \def\justification@a{\z@}
+ \def\justification@b{\leftskip}
+ \def\justification@c{\rightskip}
+ \def\justification@d{\parfillskip}
+ \def\justification@e{\spaceskip}
+ \def\justification@f{\xspaceskip}
+ \def\justification@g{\justification@d}
+ \def\justification@h{\parindent}
+ \DoParameterAssignments
+ \xdef \GAL@j@
+ {{\justification@a}
+ {\justification@b}
+ {\justification@c}
+ {\justification@d}
+ {\justification@e}
+ {\justification@f}
+ {\justification@g}
+ {\justification@h}
+ }
+ \GAL@prepare@reassign:NN \GAL@j@ \GAL@j@s
+ }
+\DeclareTemplate{justification}{std}{0}{
+ startskip =L \justification@a ,
+ leftskip =L \justification@b ,
+ rightskip =L \justification@c ,
+ parfillskip =L \justification@d ,
+ spaceskip =L \justification@e ,
+ xspaceskip =L \justification@f ,
+ linefillskip =L \justification@g ,
+ parindent =L \justification@h ,
+ }
+ {
+ \def\justification@a{\z@}
+ \def\justification@b{\leftskip}
+ \def\justification@c{\rightskip}
+ \def\justification@d{\parfillskip}
+ \def\justification@e{\spaceskip}
+ \def\justification@f{\xspaceskip}
+ \def\justification@g{\justification@d}
+ \def\justification@h{\parindent}
+ \DoParameterAssignments
+ \edef \@tempa {\noexpand \setSGPVthing:nn j
+ {{\justification@a}
+ {\justification@b}
+ {\justification@c}
+ {\justification@d}
+ {\justification@e}
+ {\justification@f}
+ {\justification@g}
+ {\justification@h}
+ }
+ }
+ \@tempa
+ \expandafter \setup@paragraph@justification \GAL@j@
+}
+\DeclareTemplate{justification}{complex}{0}{
+ first-para-justification-setup =i {justification}
+ \justification@first,
+ other-para-justification-setup =i {justification}
+ \justification@other,
+ }
+ {
+ \DoParameterAssignments
+ \justification@other
+ \justification@first
+ }
+\DeclareInstance{justification}{adjust}{std}
+ {rightskip =0pt,
+ leftskip =0pt,
+ startskip =0pt,
+ parfillskip=\fill
+}
+\DeclareInstance{justification}{default}{std}
+ {rightskip =0pt,
+ leftskip =0pt,
+ startskip =0pt,
+ parfillskip=\fill
+}
+\DeclareInstance{justification}{adjust2}{std}
+ {parindent = 0pt,
+ rightskip = 0pt,
+ leftskip = 0pt,
+ startskip = 0pt,
+ parfillskip= 20pt plus 1fil
+}
+\DeclareInstance{justification}{center}{std}
+ {parindent =0pt,
+ rightskip =\fill,
+ leftskip =\fill,
+ startskip =0pt,
+ parfillskip=0pt
+}
+\DeclareInstance{justification}{centermiddle}{std}
+ {parindent =0pt,
+ rightskip =36pt plus 1fill,
+ leftskip =36pt plus 1fill,
+ startskip =-36pt plus -1fill,
+ parfillskip=-36pt plus -1fill,
+ linefillskip= 0pt,
+}
+\DeclareInstance{justification}{raggedright}{std}
+ {rightskip = \DelayEvaluation 0pt plus 2em,
+ leftskip = 0pt,
+ startskip = 0pt,
+ parfillskip= \fill,
+ spaceskip = \DelayEvaluation \fontwordspace,
+ xspaceskip = \DelayEvaluation \fontwordspace + \fontextraspace,
+}
+\DeclareInstance{justification}{flushleft}{std}
+ {rightskip =\fill,
+ leftskip =0pt,
+ startskip =0pt,
+ parfillskip=\fill,
+}
+\DeclareInstance{justification}{raggedleft}{std}
+ {leftskip = \DelayEvaluation 0pt plus 2em,
+ rightskip = 0pt,
+ startskip = 0pt,
+ parfillskip= 0pt,
+ spaceskip = \DelayEvaluation \fontwordspace,
+ xspaceskip = \DelayEvaluation \fontwordspace + \fontextraspace,
+}
+\DeclareInstance{justification}{flushright}{std}
+ {leftskip = \fill,
+ rightskip = 0pt,
+ startskip = 0pt,
+ parfillskip= 0pt,
+}
+\DeclareInstance{justification}{centerfirst}{single}
+ {parindent = 0pt,
+ rightskip = \fill,
+ leftskip = -\fill,
+ parfillskip= 0pt,
+ startskip = 0pt plus 2fill,
+ linefillskip= 0pt,
+}
+\DeclareInstance{justification}{centerfirst-adjust}{complex}
+ { first-para-justification-setup = centerfirst,
+ other-para-justification-setup = adjust
+ }
+\DeclareTemplateType{linebreak}{0}
+\DeclareTemplate{linebreak}{TeX}{0}{
+ pretolerance =c [100] \pretolerance,
+ tolerance =c [200] \tolerance,
+ linepenalty =c [10] \linepenalty,
+ binoppenalty =c [700] \binoppenalty,
+ relpenalty =c [500] \relpenalty,
+ hbadness =c [1000] \hbadness,
+ adjdemerits =c [10000] \adjdemerits,
+ doublehyphendemerits =c [10000] \doublehyphendemerits,
+ finalhyphendemerits =c [5000] \finalhyphendemerits,
+ hfuzz =l [.1pt] \hfuzz,
+ emergencystretch =l [0pt] \emergencystretch,
+}
+ {\DoParameterAssignments
+ \GAL@typeout{Now~ changing~ linebreaking}
+ }
+\DeclareInstance{linebreak}{default}{TeX}{}
+\DeclareInstance{linebreak}{fussy}{TeX}{}
+\DeclareInstance{linebreak}{sloppy}{TeX}
+ {
+ tolerance = 9999,
+ hfuzz = .5pt,
+ emergencystretch = \DelayEvaluation 3em,
+ }
+\def\fussy {\UseInstance{linebreak}{fussy}}
+\def\sloppy{\UseInstance{linebreak}{sloppy}}
+\DeclareTemplateType{hyphenation}{0}
+
+\DeclareTemplate{hyphenation}{TeX}{0}{
+ uchyph =c [1] \uchyph,
+ hyphenpenalty =c [50] \hyphenpenalty,
+ exhyphenpenalty =c [50] \exhyphenpenalty,
+ lefthyphenmin =c \lefthyphenmin,
+ righthyphenmin =c \righthyphenmin,
+}
+ {\DoParameterAssignments
+ \GAL@typeout{Now~ changing~ hyphenation}
+ }
+\newcount\@@lefthyphenmin
+\DeclareTemplate{hyphenation}{std}{0}{
+ hyphen-enable-boolean =s {\ifnum\@@lefthyphenmin>\z@
+ \lefthyphenmin\@@lefthyphenmin
+ \fi}
+ {\@@lefthyphenmin\lefthyphenmin
+ \lefthyphenmin\@M},
+ hyphen-uppercase-boolean =s {\uchyph\@ne}{\uchyph\z@},
+ hyphen-discourage-boolean=s {\hyphenpenalty\@highpenalty
+ \exhyphenpenalty\@highpenalty}{},
+ hyphen-encourage-boolean =s {\hyphenpenalty\@lowpenalty
+ \exhyphenpenalty\@lowpenalty}{},
+}
+ {\DoParameterAssignments
+ \GAL@typeout{Now~ changing~ hyphenation}
+ }
+\DeclareInstance{hyphenation}{default}{TeX}
+ {}
+\DeclareInstance{hyphenation}{off}{std}
+ {hyphen-enable-boolean = false}
+\DeclareInstance{hyphenation}{on}{std}
+ {hyphen-enable-boolean = true}
+\DeclareInstance{hyphenation}{discourage}{std}
+ {hyphen-enable-boolean = true,
+ hyphen-discourage-boolean = true}
+\DeclareTemplateType{hj}{0}
+\DeclareTemplate{hj}{std}{0}{
+ justification-setup =i {justification} [default] \hj@justification,
+ linebreak-setup =i {linebreak} [default] \hj@linebreak,
+ hyphenation-setup =i {hyphenation} [default] \hj@hyphenation,
+}
+ {\DoParameterAssignments
+ \hj@justification
+ \hj@linebreak
+ \hj@hyphenation
+ }
+\DeclareInstance{hj}{default}{std}{}
+\catcode`\:=12\relax
+\endinput
+%%
+%% End of file `xhj.sty'.
diff --git a/Master/texmf-dist/tex/latex3/template/template.sty b/Master/texmf-dist/tex/latex3/template/template.sty
new file mode 100644
index 00000000000..46f9daa236b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex3/template/template.sty
@@ -0,0 +1,424 @@
+%%
+%% This is file `template.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% template.dtx (with options: `package')
+%%
+%%
+%% (C) Copyright 1999 David Carlisle, Frank Mittelbach
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{template}
+ [1999/09/28 v0.14 template parsing (DPC,FMi)]
+
+\RequirePackage{ldcsetup}
+\IgnoreWhiteSpace
+\newtoks\TP@toks
+\newtoks\TP@toksb
+\newtoks\TP@toksc
+\def\functiondefine#1#2#3{%
+ \def\@tempa##1#1##2##{%
+ \TP@toksb\expandafter{\expandafter\def\expandafter#2\@gobble##1#1}
+ \the\TP@toksb}%
+ \@tempa0##1##2##3##4##5##6##7##8##9{#3}}
+\def\TP@DCI#1#2#3{
+ \begingroup
+ \TP@get@restrictions {#2} % puts stuff in \TP@toks
+ \toks@\expandafter\expandafter\expandafter
+ {\csname TPD>/#2\endcsname\relax\relax}
+ \setkeys{\the\TP@toksc} % temp OK?
+ {#3} % adds stuff to \TP@toks
+ \expandafter\TP@add@default \the\toks@ % prepends stuff to \TP@toks
+ \xdef#1{
+ \expandafter\ifx\csname TP>/#2\endcsname\TP@dpa
+ \the\TP@toks
+ \else
+ \noexpand\TP@assignments{\the\TP@toks}
+ \expandafter\noexpand\csname TP>/#2\endcsname
+ \fi}
+ \endgroup}
+\long\def\TP@dpa{\DoParameterAssignments}
+\def\TP@add@default#1#2{
+ \ifx#1\relax
+ \else
+ \@temptokena{#2}
+ \edef\@tempa{{\the\@temptokena\the\TP@toks}}
+ \TP@toks\@tempa
+ \expandafter\TP@add@default
+ \fi}
+\def\UseTemplate#1#2#3{
+ \TP@get@restrictions {#1/#2} % from here ...
+ \toks@\expandafter\expandafter\expandafter
+ {\csname TPD>/#1/#2\endcsname\relax\relax}
+ \setkeys{\the\TP@toksc}{#3}
+ \expandafter \TP@add@default \the\toks@ % to here is :
+ % Shared with \def\DeclareCommandInstance
+ \TP@push
+ \csname TP>/#1/#2\endcsname}
+\def\DoParameterAssignments{
+ \expandafter\TP@pop\the\TP@stack\@@}
+\def\TP@pop#1#2\@@{
+ \global\TP@stack{#2}
+ #1}
+\newtoks\TP@stack
+\global\TP@stack{\relax}% avoid brace loss
+\def\TP@assignments{
+ \afterassignment\TP@push\TP@toks}
+\def\TP@push{
+ \global\TP@stack\expandafter
+ {\expandafter{\the\expandafter\TP@toks\expandafter}
+ \the\TP@stack}}
+\def\DeclareTemplateType#1#2{
+ \expandafter\def\csname TP@<#1>\endcsname{{}#2}}
+\def\TP@prefix#1{
+ <\expandafter\expandafter\expandafter
+ \@firstoftwo\csname TP@<#1>\endcsname>#1/}
+\def\TP@args#1{
+ \expandafter\expandafter\expandafter
+ \@secondoftwo\csname TP@<#1>\endcsname}
+\long\def\DeclareTemplate#1#2#3#4#5{
+ \@ifundefined{TP@<#1>}
+ {\undefinedtype\DeclareTemplateType{#1}#3}
+ {\ifnum#3=\TP@args{#1}\relax\else
+ \BadArgCount\fi}
+ \let\KV@elt\TP@elt
+ \def\KV@default@elt##1{
+ \PackageError{template}{Missing = after ##1}\@ehd}
+ \def\TP@name{#1/#2}
+ \toks@{}
+ \KV@parse{#4}
+ \expandafter\edef\csname TPD>/\TP@name\endcsname{\the\toks@}
+ \expandafter\newcommand\csname TP>/\TP@name\endcsname[#3]{#5}}
+\def\TP@elt#1#2{%
+ \let\TP@global\@empty
+ \TP@do{#1}#2\TP@do}
+\def\TP@f@shift#1#2{%
+ \TP@testopt{#1}{\TPkeycommand{#1}{#2}}}
+\def\TP@i@shift#1#2{%
+ \TP@testopt{#1}{\TP@instance{#1}{#2}}}
+\def\TP@instance#1#2#3{
+ \TP@define@key{#1}{
+ \TPinstance#3{#2}{##1}}}
+\def\TPinstance#1#2#3{
+ \expandafter\ifx\@car#3.\@nil\UseTemplate
+ \typeout{\string\UseTemplate\space seen}
+ {\TP@fudge#3}
+ \expandafter\addto@hook\expandafter\TP@toks\expandafter{
+ \expandafter\KV@toks\expandafter{\TP@gtemp}
+ \edef#1{\the\KV@toks}}
+ \else
+ \@letinstance#1{#2}{#3}
+ \expandafter\expandafter\expandafter\addto@hook
+ \expandafter\expandafter\expandafter\TP@toks
+ \expandafter\expandafter\expandafter{
+ \@letinstance#1{#2}{#3}}
+ \fi}
+\def\TP@do#1#2#3\TP@do{
+ \ifx#2f
+ \TP@f@shift{#1}#3\@@
+ \else\ifx#2n
+ \TP@testopt{#1}{\TPnamecommand{#1}}#3\@@
+ \else\ifx#2l
+ \TP@testopt{#1}{\TP@register\setlength{#1}}#3\@@
+ \else\ifx#2L
+ \TP@testopt{#1}{\TP@fakeregister\setlength\fake@length
+ {#1}}#3\@@
+ \else\ifx#2c
+ \TP@testopt{#1}{\TP@register\SetInternalCounter{#1}}#3\@@
+ \else\ifx#2C
+ \TP@testopt{#1}{\TP@fakeregister\SetInternalCounter\@tempcnta
+ {#1}}#3\@@
+ \else\ifx#2b
+ \TP@testopt{#1}{\TP@setboolean{#1}}#3\@@
+ \else\ifx#2s
+ \TP@testopt{#1}{\TP@booltest{#1}}#3\@@
+ \else\ifx#2g
+ \TP@testopt{#1}{\TP@setgeneral{#1}}#3\@@
+ \else\ifx#2x
+ \TP@testopt{#1}{\TP@setx{#1}}#3\@@
+ \else\ifx#2i
+ \TP@i@shift{#1}#3\@@
+ \else\ifx#2+
+ \def\TP@global{\addto@hook\TP@toks{\global}}
+ \TP@do{#1}#3\TP@do
+ \else
+ \PackageError{template}{Unknown~key~type~ (#2)~for~#1}\@eha
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi}
+\def\TP@testopt#1#2{
+ \@ifnextchar[%]
+ {\TP@test@pt{#1}{#2}}
+ {\TP@zap@@{#2}}}
+\def\TP@zap@@#1#2\@@{
+ #1{#2}}
+\def\TP@test@pt#1#2[#3]#4\@@{
+ #2
+ {#4}
+ \begingroup
+ \TP@toks{}
+ \let\TP@remove\@gobble
+ \csname KV@\TP@name @#1\endcsname{#3}
+ \expandafter
+ \endgroup
+ \expandafter
+ \toks@\expandafter{
+ \csname KV@\TP@name @#1\expandafter\endcsname\expandafter
+ {\the\expandafter\TP@toks\expandafter}\the\toks@}}
+\def\TP@setx#1#2{
+ \TP@define@key{#1}{\addto@hook\TP@toks{#2}}}
+\def\TP@setgeneral#1#2{
+ \TP@define@key{#1}{#2}}
+\def\TP@setboolean#1#2{
+ \expandafter\let\csname if#2\endcsname\iftrue
+ \TP@define@key{#1}{
+ \TPsetboolean{#2}{##1}}
+}
+\def\TPsetboolean#1#2{
+ \expandafter\ifx\csname if#2\endcsname\relax
+ \PackageError{template}{Bad~boolean~setting~#1=#2}\@eha
+ \else
+ \expandafter\let\csname if#1\expandafter\endcsname
+ \csname if#2\endcsname
+ \expandafter\addto@hook\expandafter\TP@toks\expandafter{
+ \expandafter\let
+ \csname if#1\expandafter\endcsname\csname if#2\endcsname}
+ \fi}
+\def\TP@booltest#1#2{
+ \TP@define@key{#1}{
+ \TPbooltest{##1}#2}}
+\def\TP@true{true}
+\def\TPbooltest#1#2#3{
+ \def\@tempa{#1}
+ \ifx\@tempa\TP@true
+ \addto@hook\TP@toks{#2}
+ \else
+ \addto@hook\TP@toks{#3}
+ \fi}
+\catcode`\:=11\relax
+\def\TP@register#1#2#3{
+ \TP@define@key{#2}{
+ \expandafter\ifx\@car##1\@nil\DelayEvaluation
+ \addto@hook\TP@toks{#1#3{##1}}
+ \else
+ \expandafter\ifx\@car##1..\@nil\MultiSelection
+ \begingroup
+ \TP@multi#1#3##1
+ \endgroup
+ \expandafter\in@\expandafter\DelayEvaluation
+ \expandafter{\the\TP@multi@toks}
+ \ifin@
+ \addto@hook:No\TP@toks
+ {\expandafter#1\expandafter#3\expandafter
+ {\the\TP@multi@toks}}
+ \else
+ \addto@hook:No\TP@toks
+ {\expandafter #3
+ \expandafter= \the\TP@multi@toks\relax}
+ \fi
+ \else
+ #1#3{##1}
+ \addto@hook:No\TP@toks
+ {\expandafter #3
+ \expandafter= \the#3\relax}
+ \fi\fi}}
+\def\addto@hook:No#1#2 {
+ \expandafter\addto@hook\expandafter#1\expandafter{#2}}
+\catcode`\:=12\relax
+\let\DelayEvaluation\@firstofone
+\def\TP@define@key#1#2{%
+ \expandafter\def
+ \csname KV@\TP@name @#1\expandafter\endcsname
+ \expandafter##\expandafter1
+ \expandafter{
+ \expandafter\TP@remove
+ \csname KV@\TP@name @#1\expandafter\endcsname
+ \TP@global
+ #2}}
+\def\TP@remove#1{
+ \def\@tempa##1#1##2##3#1##4\@@{
+ \toks@{##1##3}}
+ \expandafter\@tempa\the\toks@#1\relax#1\@@}
+\def\TPkeycommand#1#2#3{
+ \TP@define@key{#1}{
+ \functiondefine#2#3{##1}
+ \expandafter\addto@hook\expandafter\TP@toks\expandafter{
+ \the\TP@toksb{##1}}
+ }
+ }
+\catcode`\:=11\relax
+\def\TPnamecommand#1#2{
+ \TP@define@key{#1}{
+ \expandafter\ifx\@car##1..\@nil\MultiSelection
+ \begingroup
+ \TP@multi@name##1
+ \endgroup
+ \addto@hook:No\TP@toks
+ {\expandafter\def\expandafter#2\expandafter
+ {\the\TP@multi@toks}}
+ \else
+ \def#2{##1} % setting it?
+ \addto@hook\TP@toks{\def#2{##1}}
+ \fi
+ }
+ }
+\catcode`\:=12\relax
+\def\TP@multi@name #1#2#3#4{
+ \global\TP@multi@toks{\ifcase #2}
+ \@for\next:=\@empty #3\do{
+ \TP@do@multi\next
+}
+ \global\addto@hook\TP@multi@toks{\else #4\fi}
+ }
+\def\DeclareInstance{\DeclareCollectionInstance{}}
+\long\def\DeclareCollectionInstance#1#2#3#4{
+ \expandafter\TP@DCI\csname<#1>#2/#3\endcsname{#2/#4}}
+\def\UseCollection#1#2{
+ \expandafter\edef\csname TP@<#1>\endcsname{
+ {#2}
+ \TP@args{#1}}}
+\def\@letinstance#1#2#3{
+ \expandafter\let\expandafter#1\csname
+ \@ifundefined{\TP@prefix{#2}#3}
+ {<>#2/}
+ {\TP@prefix{#2}}
+ #3
+ \endcsname}
+\def\UseInstance#1#2{
+ \@letinstance\@tempa{#1}{#2}
+ \ifx\@tempa\relax
+ \INSTANCEundefined
+ \else
+ \expandafter\@tempa
+ \fi}
+\long\def\TP@fudge#1#2#3{%
+ \TP@DCI\TP@gtemp{#2/#3}}
+\def\ShowTemplate#1#2{
+ \typeout{*******~ Template:~ #1/#2~ *******}
+ \typeout{*}
+ \typeout{*~ Defaults:}
+ \typeout{*}
+ \typeout{\string\TPD>/#1/#2=
+ \expandafter\meaning\csname TPD>/#1/#2\endcsname}
+ \typeout{*}
+ \typeout{*~ Restrictions:}
+ \typeout{*}
+ \typeout{\string\TPR>/#1/#2=
+ \expandafter\meaning\csname TPR>/#1/#2\endcsname}
+ \typeout{*}
+ \typeout{*~ Body:}
+ \typeout{*}
+ \expandafter\show\csname TP>/#1/#2\endcsname}
+\def\ShowCollectionInstance#1#2#3{
+ \typeout{*******~ Instance:~ <#1>#2/#3~ *******}
+ \typeout{*}
+ \expandafter\show\csname <#1>#2/#3\endcsname}
+\def\ShowInstance{\ShowCollectionInstance{}}
+\catcode`\:=11\relax
+\def\TP@fakeregister#1#2#3#4{
+ \TP@define@key{#3}{
+ \expandafter\ifx\@car##1..\@nil\DelayEvaluation
+ \addto@hook\TP@toks{#1#2{##1}\edef#4{\the#2}}
+ \else
+ \expandafter\ifx\@car##1..\@nil\MultiSelection
+ \begingroup
+ \TP@multi#1#2##1
+ \endgroup
+ \addto@hook:No\TP@toks
+ {\expandafter\def\expandafter#4\expandafter
+ {\the\TP@multi@toks}}
+ \else
+ #1#2{##1}
+ \addto@hook:No\TP@toks
+ {\expandafter
+ \def
+ \expandafter
+ #4
+ \expandafter
+ {\the#2}}
+ \fi\fi}}
+\catcode`\:=12\relax
+\newtoks\TP@multi@toks
+\def\TP@multi #1#2#3#4#5#6{
+ \global\TP@multi@toks{\ifcase #4}
+ \@for\next:=\@empty #5\do{
+ \expandafter \expandafter\expandafter\ifx\expandafter
+ \@car\next..\@nil\DelayEvaluation
+ \TP@do@multi\next
+ \else
+ #1#2{\next}
+ \TP@do@multi{\the#2}
+ \fi
+ }
+ \global\addto@hook\TP@multi@toks{\else #6\fi}
+ }
+\def\TP@do@multi#1{
+ \global\expandafter\addto@hook\expandafter\TP@multi@toks
+ \expandafter{\expandafter\or #1 }
+}
+\newlength\fake@length
+\def\IfExistsInstanceTF#1#2{
+ \expandafter\ifx\csname <>#1/#2\endcsname\relax
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi}
+\def\IfExistsInstanceTF#1#2{
+ \@letinstance\@tempa{#1}{#2}
+ \ifx\@tempa\relax
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi}
+\def\DeclareRestrictedTemplate#1#2#3#4{
+ % CCC do we need a group here??
+ \letcc { TPD>/#1/#2 } { TPD>/#1/#3 }
+ \letcc { TP>/#1/#2 } { TP>/#1/#3 }
+ \TP@get@restrictions {#1/#3} % puts stuff in \TP@toks
+ \setkeys{\the\TP@toksc} % temp OK?
+ {#4} % adds stuff to \TP@toks
+ \TP@store@restrictions {#1/#2}{#1/#3}} % stores the contents of
+ % \TP@toks
+\def\letcc#1#2{
+ \expandafter \let
+ \csname #1 \expandafter \endcsname
+ \csname #2 \endcsname}
+\def\TP@get@restrictions#1{ % Returns to \TP@toks the restrictions
+ % stored in the TP-structure (at present
+ % in YAM) of the template #1
+ \@ifundefined {TPR>/#1}
+ {\TP@toks {}}
+ {\TP@toks \expandafter\expandafter\expandafter
+ {\csname TPR>/#1\endcsname}}
+ \@ifundefined {TPO>/#1}
+ {\@namedef {TPO>/#1} {#1}
+ \TP@toksc {#1} } % temp OK?
+ {\TP@toksc \expandafter\expandafter\expandafter
+ {\csname TPO>/#1\endcsname} }}
+\def\TP@store@restrictions#1#2{ % Stores the contents of \TP@toks
+ % in the TP-structure (at present
+ % in YAM) of the template #1
+ \expandafter\edef\csname TPR>/#1\endcsname{\the\TP@toks}
+ \@ifundefined{TPO>/#2}
+ {\@namedef{TPO>/#1}{#2}}
+ {\letcc{TPO>/#1}{TPO>/#2}}}
+
+\endinput
+%%
+%% End of file `template.sty'.
diff --git a/Master/texmf-dist/tex/latex3/xinitials/xinitials.sty b/Master/texmf-dist/tex/latex3/xinitials/xinitials.sty
new file mode 100644
index 00000000000..137dbcdaf64
--- /dev/null
+++ b/Master/texmf-dist/tex/latex3/xinitials/xinitials.sty
@@ -0,0 +1,93 @@
+%%
+%% This is file `xinitials.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xinitials.dtx (with options: `package')
+%%
+%%
+%% $Header: /usr3/users/latex3/design/consolidation/CURRENT/RCS/xinitials.dtx,v 1.7 2000/01/28 13:39:56 latex3 Exp $
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{xinitials}
+ [2000/01/28 v0.1h templates for initials]
+\RequirePackage{template,galley2}
+\IgnoreWhiteSpace
+\catcode`\:=11\relax
+\newlength\initial@raise
+\newbox\initial@box
+\DeclareTemplateType{initial}{3}
+\DeclareTemplate{initial}{std}{3}{
+ initial-font =f0 \initial@font,
+ h-adjust =L \initial@hadjust,
+ initial-format =f1 \initial@charformat,
+ nominal-height =L \initial@height,
+ parshape-list =f0 \initial@parshape,
+ quote-format =f1 \initial@quoteformat,
+ quote-sep =L \initial@leftsep,
+ text-format =f1 \initial@textformat,
+ text-sep =L \initial@rightsep,
+ top-sep =L \initial@topsep,
+ v-adjust =L \initial@vadjust,
+}
+{
+ \let\initial@vadjust\z@
+ \let\initial@hadjust\z@
+ \let\initial@leftsep\z@
+ \let\initial@rightsep\z@
+ \let\initial@height\maxdimen
+ \let\initial@topsep\z@
+ \let\initial@parshape\z@
+ \let\initial@quoteformat\@firstofone
+ \let\initial@charformat\@firstofone
+ \let\initial@textformat\textsc
+ \DoParameterAssignments
+ \ifvmode \else
+ \PackageError{xinitials}{Initial~ inside~ paragraph}
+ {Initials~ can~ only~ be~ used~ at~ the~ beginning~
+ of~ a~ paragraph}
+ \par
+ \fi
+ \sbox\initial@box{
+ \kern\initial@hadjust
+ \initial@charformat{
+ \initial@font #2
+ }
+ \kern\initial@rightsep
+ }
+ \setGALleftparshape:nnn \z@ {\wd\initial@box}
+ \initial@parshape
+ \setGALbreak:n {-3}
+ \noindent
+ \setlength\initial@raise{-\baselineskip*(\parshape@linecnt-2)
+ -\initial@vadjust}
+ \ifdim\initial@height=\maxdimen
+ \def\initial@height{\height+\initial@raise+\initial@topsep}
+ \fi
+ \llap{
+ \llap{\IfValueT{#1}{\smash{\initial@quoteformat{#1}}}
+ \kern-\initial@hadjust
+ \kern\initial@leftsep}
+ \rlap{
+ \raisebox{\initial@raise}
+ [\initial@height]
+ [\z@]
+ {\box\initial@box}
+ }
+ \kern\parshape@firstlineindent
+ }
+ \IfValueT{#3}
+ { \initial@textformat{#3} }
+}
+\catcode`\:=12\relax
+\endinput
+%%
+%% End of file `xinitials.sty'.
diff --git a/Master/texmf-dist/tex/latex3/xor/xmarks.sty b/Master/texmf-dist/tex/latex3/xor/xmarks.sty
new file mode 100644
index 00000000000..c452a6fd060
--- /dev/null
+++ b/Master/texmf-dist/tex/latex3/xor/xmarks.sty
@@ -0,0 +1,227 @@
+%%
+%% This is file `xmarks.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xmarks.dtx (with options: `package')
+%%
+%% Not for distribution
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+%% (C) Copyright 1999 Frank Mittelbach
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+\def\next#1: #2.dtx,v #3 #4 #5 #6 #7$#8{
+\ProvidesPackage{#2}
+ [#4 #3 #8 (#6)]}
+\next$Id: xmarks.dtx,v 1.6 2000/06/13 20:47:23 latex3 Exp $
+ {multiple marks}
+\RequirePackage{ldcsetup}
+\IgnoreWhiteSpace
+\long\def\@firstofthree#1#2#3{#1}
+\long\def\@secondofthree#1#2#3{#2}
+\long\def\@thirdofthree#1#2#3{#3}
+\def \tlp@to@str@N {\expandafter \tlp@to@str@aux \meaning}
+\def \tlp@to@str@aux #1>{}
+\def \tlp@to@str@c #1 {\expandafter \tlp@to@str@N \csname#1\endcsname}
+\def\queue@new@c#1{\@namedef{#1}{}}
+\def\queue@gadd@Nn#1#2{\expandafter\gdef\expandafter#1\expandafter
+ {#1\queue@elt#2\queue@eelt}
+}
+\def\queue@gadd@cn#1{\expandafter\queue@gadd@Nn\csname#1\endcsname}
+\def\queue@top@NN#1#2{
+ \queue@empty@err@N#1
+ \expandafter\queue@top@split@w#1\q@stop{\def#2}
+}
+\def\queue@top@split@w\queue@elt#1\queue@eelt#2\q@stop#3{#3{#1}}
+\def\queue@top@cN#1{\expandafter\queue@top@NN\csname#1\endcsname}
+\def \queue@pop@aux@nnNN #1#2#3{
+ \queue@empty@err@N #3
+ \expandafter\queue@pop@aux@w #3\q@stop #1#2#3}
+\def \queue@pop@aux@w \queue@elt#1\queue@eelt
+ #2\q@stop #3#4#5#6{#3#5{#2}#4#6{#1}}
+\def \queue@gpop@NN #1#2{\queue@pop@aux@nnNN \gdef \def #1 #2
+}
+\def \queue@gpop@cN #1{\expandafter\queue@gpop@NN\csname#1\endcsname}
+\def\queue@empty@err@N #1{\ifx#1\@empty \ERROR \fi}
+\def \quark@new@N #1{\def #1{#1}}
+\quark@new@N \q@stop
+\quark@new@N \q@no@value
+\quark@new@N \q@nil
+\quark@new@N\q@error
+\quark@new@N\q@mark
+\def \quark@if@no@value@NTF #1{
+ \ifx\q@no@value#1
+ \expandafter\@firstoftwo
+ \else \expandafter\@secondoftwo \fi}
+\def \quark@if@no@value@NF #1{\quark@if@no@value@NTF {#1}\@empty}
+\def \quark@if@no@value@nTF #1{\gdef \@gtempa {#1}
+ \quark@if@no@value@NTF\@gtempa}
+\def \quark@if@no@value@nF #1{\quark@if@no@value@nTF {#1}\@empty}
+\def \quark@if@no@value@nT #1#2{\quark@if@no@value@nTF {#1}
+ {#2}\@empty}
+\def\quark@if@nil@NTF#1{
+ \ifx#1\q@nil
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo\fi}
+\def \prop@new@N #1{\def #1{}}
+\long\def \prop@put@NNn #1#2{\prop@split@aux@NNn
+ #1#2{\prop@put@aux@w {\def #1}#2}}
+\long\def \prop@gput@NNn #1#2{\prop@split@aux@NNn
+ #1#2{\prop@put@aux@w {\gdef #1}#2}}
+\def \prop@gput@NNo #1#2#3{
+ \expandafter\prop@gput@NNn \expandafter #1 \expandafter
+ #2 \expandafter { #3 } }
+\def \prop@gput@cco #1#2#3{
+ \expandafter\prop@gput@NNn \csname #1\expandafter\endcsname
+ \csname #2\expandafter\endcsname
+ \expandafter { #3 } }
+\def \prop@gput@ccn #1#2{
+ \expandafter\prop@gput@NNn \csname #1\expandafter\endcsname
+ \csname #2\endcsname
+ }
+\long\def \prop@put@aux@w #1#2#3#4#5#6{
+ \quark@if@no@value@nTF {#4}
+ {#1{#2{#6}#3}}
+ {\def\tmp@w ##1#2\q@no@value {#1{#3#2{#6}##1}}
+ \tmp@w #5}}
+\long\def \prop@split@aux@NNn #1#2#3{
+ \def\tmp@w ##1#2##2##3\q@stop {#3{##1}{##2}{##3}}
+ \expandafter\tmp@w #1#2\q@no@value \q@stop}
+\long\def \prop@get@NNN #1#2{\prop@split@aux@NNn
+ #1#2\prop@get@aux@w}
+\long\def \prop@get@aux@w #1#2#3#4{\def#4{#2}}
+\let \prop@map@funct@Nn \@gobbletwo
+\def \prop@map@NN #1#2{
+ \let \prop@map@funct@Nn #2
+ \expandafter\prop@map@aux@w #1\q@stop \q@stop}
+\def \prop@map@aux@w #1#2{
+ \ifx #1\q@stop \else
+ \prop@map@funct@Nn #1{#2}
+ \expandafter\prop@map@aux@w
+ \fi}
+\def \prop@map@cN #1{
+ \expandafter \prop@map@NN \csname #1\endcsname }
+\def\mark@new#1{
+ \newcommand* #1 {{}{}{}}
+ \queue@new@c{\string#1@seq}
+ \prop@gput@NNn\mark@last@plist#1{1}
+ \prop@gput@NNn\mark@curr@plist#1{0}
+ \mark@put@Nn#1{}%
+ \expandafter\g@addto@macro\expandafter\mark@save@state\expandafter{%
+ \expandafter\global\expandafter\let
+ \csname saved\string#1@seq\expandafter\endcsname
+ \csname\string#1@seq\endcsname}
+ \expandafter\g@addto@macro\expandafter\mark@restore@state@internal\expandafter{%
+ \expandafter\global\expandafter\let
+ \csname\string#1@seq\expandafter\endcsname
+ \csname saved\string#1@seq\endcsname}
+}
+\def\mark@save@state{%
+ \global\let\saved@mark@curr@plist\mark@curr@plist
+ \global\let\saved@mark@last@plist\mark@last@plist}
+\def\mark@restore@state@internal{%
+ \global\let\mark@curr@plist\saved@mark@curr@plist
+ \global\let\mark@last@plist\saved@mark@last@plist}
+\def\mark@restore@state#1{%
+ \mark@restore@state@internal
+ \hbox{}%
+ \@temptokena\expandafter{\mark@last@plist}%
+ \mark
+ {\the\@temptokena}
+ \penalty-20203\relax
+ \global\output{%
+ \ifnum-20203=\outputpenalty\else \ERROR \fi
+ \global\setbox\@cclv\box\voidb@x
+ #1%
+ }%
+}
+\def\mark@put@Nn#1{% % wtest hack }
+ \@temptokena\expandafter{\mark@curr@plist}
+ \prop@get@NNN\mark@curr@plist#1\@tempa
+ \@tempcnta\@tempa
+ \advance\@tempcnta\@ne
+ \expandafter
+ \prop@gput@NNn\expandafter\mark@curr@plist\expandafter#1\expandafter
+ {\the\@tempcnta}
+ \@temptokena\expandafter{\mark@curr@plist}
+ \mark
+ {\the\@temptokena}
+ \queue@gadd@cn{\string#1@seq}%
+}
+\def\mark@put@Nnn#1#2#3{
+ \mark@put@Nn#1{#2#3}}
+\def\mark@update@structure{
+ \prop@map@NN\mark@last@plist\mark@retrieve@single@Nn
+ \expandafter\gdef\expandafter\mark@last@plist\expandafter{\botmark}
+}
+\def\mark@retrieve@single@Nn#1#2{
+ \@temptokena\expandafter{\botmark}%
+ \prop@get@NNN\botmark#1\@tempa
+ \@tempcnta\@tempa
+ \advance\@tempcnta-#2\relax
+ \ifcase\@tempcnta
+ \queue@top@cN{\string#1@seq}\@tempa
+ \let\@tempb\@tempa
+ \let\@tempc\@tempa
+ \or
+ \queue@gpop@cN{\string#1@seq}\@tempa
+ \queue@top@cN{\string#1@seq}\@tempb
+ \let\@tempc\@tempb
+ \else
+ \queue@gpop@cN{\string#1@seq}\@tempa
+ \queue@top@cN{\string#1@seq}\@tempb
+ \@whilenum \@tempcnta>\@ne\do
+ {\advance\@tempcnta\m@ne
+ \queue@gpop@cN{\string#1@seq}
+ \@tempc
+ }
+ \queue@top@cN{\string#1@seq}\@tempc
+ \fi
+ \@temptokena\expandafter{\@tempa}
+ \@temptokenb\expandafter{\@tempb}
+ \@temptokenc\expandafter{\@tempc}
+ \edef#1{{\the\@temptokena}{\the\@temptokenb}{\the\@temptokenc}}
+}
+\newtoks\@temptokenb
+\newtoks\@temptokenc
+\prop@new@N\mark@curr@plist
+\prop@new@N\mark@last@plist
+\def\mark@get@first@N{%
+ \expandafter\@secondofthree}
+\def\mark@get@last@N{%
+ \expandafter\@thirdofthree}
+\def\mark@get@previous@N{%
+ \expandafter\@firstofthree}
+\def\mark@get@first@N{%
+ \expandafter\@secondofthree}
+\def\mark@get@last@N{%
+ \expandafter\@thirdofthree}
+\def\mark@get@previous@N{%
+ \expandafter\@firstofthree}
+\def\DeclareMarkType#1{
+ \expandafter\mark@new\csname mark@#1\endcsname}
+\def\PutMark#1{
+ \@ifundefined{mark@#1}{\ERROR}{}
+ \expandafter\mark@put@Nn\csname mark@#1\endcsname}
+\def\PreviousMark#1{
+ \expandafter\mark@get@previous@N\csname mark@#1\endcsname}
+\def\FirstMark#1{
+ \expandafter\mark@get@first@N\csname mark@#1\endcsname}
+\def\LastMark#1{
+ \expandafter\mark@get@last@N\csname mark@#1\endcsname}
+\endinput
+%%
+%% End of file `xmarks.sty'.
diff --git a/Master/texmf-dist/tex/latex3/xor/xo-alloc.sty b/Master/texmf-dist/tex/latex3/xor/xo-alloc.sty
new file mode 100644
index 00000000000..fe85bf2bbbf
--- /dev/null
+++ b/Master/texmf-dist/tex/latex3/xor/xo-alloc.sty
@@ -0,0 +1,73 @@
+%%
+%% This is file `xo-alloc.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xo-alloc.dtx (with options: `package,progress')
+%%
+%% Not for distribution
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+\def\@tempa#1: #2.dtx,v #3 #4 #5 #6 #7${
+ \ProvidesPackage{#2}[#4 #3 #5 #6]}
+\@tempa$Id: xo-alloc.dtx,v 1.4 2000/08/11 07:13:34 latex3 Exp $
+\IgnoreWhiteSpace
+\chardef\@kludgeins="FC\relax
+\global\dimen\@kludgeins \maxdimen
+\global\count\@kludgeins 1000
+\global\dimen\@kludgeins\z@
+\global\skip\@kludgeins\z@
+\global\setbox\@kludgeins\box\voidb@x
+\insc@unt"FC\relax
+\def\newcount{\alloc@0\count\countdef\@kludgeins}
+\def\newdimen{\alloc@1\dimen\dimendef\@kludgeins}
+\def\newskip{\alloc@2\skip\skipdef\@kludgeins}
+\def\newtoks{\alloc@5\toks\toksdef\insc@unt}
+\def\newinsert#1{\global\advance\insc@unt \m@ne
+ \ch@ck4\insc@unt\box
+ \ch@ck5\insc@unt\toks
+ \allocationnumber\insc@unt
+ \global\chardef#1\allocationnumber
+ \wlog{\string#1=\string\insert\the\allocationnumber}}
+\newinsert\bx@A
+\newinsert\bx@B
+\newinsert\bx@C
+\newinsert\bx@D
+\newinsert\bx@E
+\newinsert\bx@F
+\newinsert\bx@G
+\newinsert\bx@H
+\newinsert\bx@I
+\newinsert\bx@J
+\newinsert\bx@K
+\newinsert\bx@L
+\newinsert\bx@M
+\newinsert\bx@N
+\newinsert\bx@O
+\newinsert\bx@P
+\newinsert\bx@Q
+\newinsert\bx@R
+\def\@allocating@next#1#2{
+ \ifx#2\@empty
+ \xdef#2{\noexpand\@elt\csname bx@\the\insc@unt\endcsname}
+ \expandafter\newinsert\csname bx@\the\insc@unt\endcsname
+ \fi
+ \expandafter\@xnext #2\@@#1#2}
+
+\endinput
+%%
+%% End of file `xo-alloc.sty'.
diff --git a/Master/texmf-dist/tex/latex3/xor/xo-capt.sty b/Master/texmf-dist/tex/latex3/xor/xo-capt.sty
new file mode 100644
index 00000000000..07326f39a58
--- /dev/null
+++ b/Master/texmf-dist/tex/latex3/xor/xo-capt.sty
@@ -0,0 +1,157 @@
+%%
+%% This is file `xo-capt.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xo-capt.dtx (with options: `package,progress')
+%%
+%% Not for distribution
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+
+\def\@tempa#1: #2.dtx,v #3 #4 #5 #6 #7${
+ \ProvidesPackage{#2}[#4 #3 #5 #6]}
+\@tempa$Id: xo-capt.dtx,v 1.13 2000/08/11 07:14:03 latex3 Exp $
+\IgnoreWhiteSpace
+\def\caption{\@dblarg{\@caption\float@type}}
+
+\long\def\@caption#1[#2]#3{%
+ \unskip
+ \addcontentsline{\csname toc@extension@#1\endcsname}{#1}
+ {\protect\numberline{\csname the\float@counter\endcsname}
+ {\ignorespaces #2}}
+ \global\toks\@currbox{#3}
+ \ignorespaces
+ }
+\def\append@caption@to@float{
+ \typeset@some@floatbox
+ \this@type\this@area
+ \this@float@box{\csname caption@\this@type\endcsname}
+ \this@usercnt\this@caption\this@span@number
+}
+\def\append@here@caption@to@float{
+ \typeset@some@floatbox
+ \here@type{h\the\curr@col@count 1}
+ \here@float@box{\csname caption@\here@type\endcsname}
+ \here@usercnt\here@caption\here@span@number
+}
+\def\typeset@this@float@and@caption{
+ \append@caption@to@float
+ \box\this@captioned@float
+}
+\def\typeset@some@floatbox#1#2{ % type area
+
+ \IfExistsInstanceTF{buildfloat}
+ { #1 - #2 }
+ {\def\use@instance@named{#1 - #2}}
+ {
+ \IfExistsInstanceTF{buildfloat}
+ { #2 }
+ {\def\use@instance@named{#2}}
+ {
+ \IfExistsInstanceTF{buildfloat}
+ { #1 }
+ {\let\use@instance@named#1 } % we know this is a token
+ {\def\use@instance@named{default}}
+ }
+ }
+ \UseInstance{buildfloat}\use@instance@named
+}
+\DeclareTemplateType{buildfloat}{5}
+\DeclareTemplate{buildfloat}{centeredabove}{5}
+ {
+ body-caption-sep =l [10pt] \belowcaptionskip,
+ }
+ {
+ \DoParameterAssignments
+
+ \@parboxrestore
+
+ \hsize=#5\columnwidth
+
+ \global\setbox\this@captioned@float\vbox{
+ \sbox\@tempboxb{#2~ #3:~ #4}
+ \ifdim \wd\@tempboxb >\hsize
+ #2~ #3:~ #4\par
+ \else
+ \hb@xt@\hsize{\hfil\box\@tempboxb\hfil}%
+ \fi
+ \vskip\belowcaptionskip
+ \centerline{
+ \copy#1
+ }
+ \kern\z@
+ }
+ }
+\newbox\@tempboxb
+\DeclareTemplate{buildfloat}{centeredbelow}{5}
+ {
+ body-caption-sep =l [10pt] \abovecaptionskip,
+ }
+ {
+ \DoParameterAssignments
+
+ \@parboxrestore
+
+ \hsize=#5\columnwidth
+
+ \global\setbox\this@captioned@float\vbox{
+ \centerline{\copy#1}
+ \vskip\abovecaptionskip
+ \sbox\@tempboxb{#2~ #3:~ #4}
+ \ifdim \wd\@tempboxb >\hsize
+ #2~ #3:~ #4\par
+ \else
+ \hb@xt@\hsize{\hfil\box\@tempboxb\hfil}%
+ \fi
+ }
+ }
+\DeclareTemplate{buildfloat}{bottomright}{5}
+ {
+ body-caption-sep =l [10pt] \abovecaptionskip,
+ }
+ {
+ \DoParameterAssignments
+
+ \@parboxrestore
+
+ \hsize=#5\columnwidth
+
+ \global\setbox\this@captioned@float\vbox{
+ \@@line{\hss\vbox{\copy#1\kern0pt}
+ \rlap{
+ \hskip\abovecaptionskip
+ \parbox[b]{\marginparwidth
+ +(#5\columnwidth-\wd#1)/2}{
+ \raggedright
+ #2~ #3:~ #4
+ }
+ }\hss
+ }
+ \kern0pt
+ }
+ }
+\DeclareInstance{buildfloat}{default}{centeredabove}{}
+
+\DeclareInstance{buildfloat}{figure}{centeredbelow}{}
+
+\DeclareInstance{buildfloat}{t31}{bottomright}{}
+\DeclareInstance{buildfloat}{t22}{bottomright}{}
+\DeclareInstance{buildfloat}{t13}{bottomright}{}
+\endinput
+%%
+%% End of file `xo-capt.sty'.
diff --git a/Master/texmf-dist/tex/latex3/xor/xo-final.sty b/Master/texmf-dist/tex/latex3/xor/xo-final.sty
new file mode 100644
index 00000000000..56c6b90469c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex3/xor/xo-final.sty
@@ -0,0 +1,435 @@
+%%
+%% This is file `xo-final.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xo-final.dtx (with options: `package,progress')
+%%
+%% Not for distribution
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+\def\@tempa#1: #2.dtx,v #3 #4 #5 #6 #7${
+ \ProvidesPackage{#2}[#4 #3 #5 #6]}
+\@tempa$Id: xo-final.dtx,v 1.20 2000/08/11 07:14:09 latex3 Exp $
+\IgnoreWhiteSpace
+\def\final@column@with@floats {
+ \setbox\@outputbox \box\@cclv
+
+ \expandafter
+ \add@floats@top
+ \csname area@t1\the\curr@col@count\endcsname
+
+ \ifvoid\footins
+ \else
+ \setbox\@outputbox \vbox {
+ \boxmaxdepth \@maxdepth
+ \dimen@\dp\@outputbox
+ \unvbox \@outputbox
+ \vskip-\dimen@
+ \vskip \skip\footins
+ \color@begingroup
+ \normalcolor
+ \footnoterule
+ \unvbox \footins
+ \color@endgroup
+ }
+ \fi
+
+ \expandafter
+ \add@floats@bottom
+ \csname area@b1\the\curr@col@count\endcsname
+
+ \global\setbox\csname col@box@\the\curr@col@count\endcsname
+ % \vbox { % this should one day become \@colht
+ \vbox { % this should one day become \@colht
+ % or else
+ \@texttop
+ \dimen@ \dp\@outputbox
+ \unvbox \@outputbox
+ \vskip -\dimen@
+ \@textbottom
+ }%
+ \global \maxdepth \@maxdepth
+}
+\def\final@column {
+ \setbox\@outputbox \box\@cclv
+
+ \ifvoid\footins
+ \else
+ \setbox\@outputbox \vbox {
+ \boxmaxdepth \@maxdepth
+ \dimen@\dp\@outputbox
+ \unvbox \@outputbox
+ \vskip-\dimen@
+ \vskip \skip\footins
+ \color@begingroup
+ \normalcolor
+ \footnoterule
+ \unvbox \footins
+ \color@endgroup
+ }
+ \fi
+
+ \global\setbox\csname col@box@\the\curr@col@count\endcsname
+ \vbox { % this should one day become \@colht
+ % or else
+ \@texttop
+ \dimen@ \dp\@outputbox
+ \unvbox \@outputbox
+ \vskip -\dimen@
+ \@textbottom
+ }%
+ \global \maxdepth \@maxdepth
+}
+\let \produce@final@column \final@column
+\def\add@floats@top #1{
+ \ifx#1\@empty
+ \else
+ \setbox\@tempboxa \vbox{}
+ \let \@elt \@comflelt #1
+ \setbox\@outputbox \vbox{
+ \boxmaxdepth \maxdepth
+ \unvbox\@tempboxa
+ \vskip -\pagesetup@float@float@sep
+ \topfigrule
+ \vskip \pagesetup@float@text@sep
+ \unvbox\@outputbox
+ }
+ \let\@elt\relax
+ \release@floats#1
+ \fi
+}
+\def\add@floats@bottom#1{
+ \ifx#1\@empty
+ \else
+ \setbox\@tempboxa \vbox{}
+ \let\@elt\@comflelt
+ #1
+ \setbox\@outputbox \vbox{
+ \unvbox\@outputbox
+ \vskip \pagesetup@float@text@sep
+ \botfigrule
+ \unvbox\@tempboxa
+ \vskip -\pagesetup@float@float@sep
+ }
+ \let\@elt\relax
+ \release@floats#1
+ \fi
+}
+\mathchardef\absolute@page@number\c@page
+
+\def\produce@final@page{
+ \begingroup % the \endgroup is put in by \aftergroup
+ \@resetactivechars
+ \@parboxrestore
+ \let \protect \noexpand
+ \do@floats
+ \shipout \hbox { % NOTE: an hbox now!
+ \set@typeset@protect
+ \aftergroup \endgroup
+ \aftergroup \set@typeset@protect
+ \make@page@box
+ \box \page@box
+ }
+ \count@\absolute@page@number
+ \advance\count@\@ne
+ \global\advance\c@page\@ne
+ \global\mathchardef\absolute@page@number\count@
+}
+
+\newbox \page@box
+\def\mbox@addtopage (#1,#2)#3{%
+ \global \setbox\page@box
+ \hbox {
+ \unhbox \page@box
+ \mbox@put (#1,#2) {#3}
+ }
+}
+\def\box@addtopage (#1,#2)#3{%
+ \mbox@addtopage (#1,#2){\box #3}
+}
+\def \make@page@box {
+ \mbox@addtopage (\pagebodylefthpos, \headheight)
+ {page:~\thepage}
+ \forall@columns {
+ \expandafter \xdef
+ \csname stack@level@\the\curr@col@count \endcsname
+ {\pagebodytopvpos}
+ }
+ \stack@top@areas
+ \add@columns
+ \stack@bot@areas
+}
+\def \add@columns@botaligned {
+ \setlength \@tempdima {\pagebodylefthpos}
+ \forall@columns {
+ \box@addtopage ( \@tempdima, \pagebodybotvpos )
+ {\csname col@box@\the\curr@col@count \endcsname}
+ \setlength \@tempdima {\@tempdima + \columnwidth + \columnsep}
+ }
+}
+\def \add@columns@topstacked {
+ \gsetmlength \cuur@col@pos {\pagebodylefthpos}
+ \forall@columns {
+ \gsetmlength@c {stack@level@\the\curr@col@count}
+ { \csname stack@level@\the\curr@col@count \endcsname
+ + \expandafter
+ \ht \csname col@box@\the\curr@col@count \endcsname
+ }
+ \box@addtopage ( \cuur@col@pos,
+ \csname stack@level@\the\curr@col@count \endcsname )
+ {\csname col@box@\the\curr@col@count \endcsname}
+ \gsetmlength \cuur@col@pos { \cuur@col@pos + \columnwidth + \columnsep}
+ }
+}
+\let \add@columns \add@columns@topstacked
+\def\t@stack@area #1#2#3#4{
+ #4 \@tempboxa
+ \@tempcnta #2
+ \@tempcntb #3 \relax
+ \setlength \@tempdimb {\ht\@tempboxa + \dp\@tempboxa}
+ \loop
+ \@tempdima \csname stack@level@\the\@tempcntb \endcsname
+ \advance \@tempdima \@tempdimb
+ \expandafter
+ \xdef \csname stack@level@\the\@tempcntb \endcsname
+ { \the\@tempdima }
+ \advance \@tempcntb \@ne
+ \advance \@tempcnta \m@ne
+ \ifnum \@tempcnta > \z@
+ \repeat
+ \setlength \@tempdima
+ {\pagebodylefthpos - \columndisplacement + \columndisplacement * #3}
+ \box@addtopage (\@tempdima,\csname stack@level@#3\endcsname)
+ \@tempboxa
+}
+\def\b@stack@area #1#2#3#4{
+ #4 \@tempboxa
+ \setlength \@tempdima
+ {\pagebodylefthpos - \columndisplacement + \columndisplacement * #3}
+ \box@addtopage (\@tempdima,\csname stack@level@#3\endcsname)
+ \@tempboxa
+ \@tempcnta #2
+ \@tempcntb #3 \relax
+ \setlength \@tempdimb {\ht\@tempboxa + \dp\@tempboxa}
+ \loop
+ \@tempdima \csname stack@level@\the\@tempcntb \endcsname
+ \advance \@tempdima -\@tempdimb
+ \expandafter
+ \xdef \csname stack@level@\the\@tempcntb \endcsname
+ { \the\@tempdima }
+ \advance \@tempcntb \@ne
+ \advance \@tempcnta \m@ne
+ \ifnum \@tempcnta > \@ne
+ \repeat
+}
+\def \stack@bot@areas {
+ \stack@areas@list b \pagebodybotvpos \pagebox@list@b
+}
+\def \stack@top@areas {
+ \stack@areas@list t \pagebodytopvpos \pagebox@list@t
+}
+\def \stack@areas@list #1#2#3 {
+ \ifx #3 \@empty
+ \else
+ \forall@columns {
+ \expandafter \xdef
+ \csname stack@level@\the\curr@col@count \endcsname
+ {#2}
+ }
+ \expandafter
+ \let \expandafter
+ \p@elt \csname #1@stack@area \endcsname
+ #3
+ \fi
+}
+\def\make@area@floats@box #1#2 {
+ \setbox #2 \vbox{}
+ \def \@elt { \typeset@float@in@box {#2} }
+ \csname area@#1\endcsname
+ \let \@elt \relax
+ \expandafter
+ \release@floats
+ \csname area@#1\endcsname
+}
+
+\def \box@decorate@bot #1 {
+ \setbox #1 \vbox{
+ \vskip \pagesetup@float@text@sep
+ \botfigrule
+ \unvbox #1
+ \vskip -\pagesetup@float@float@sep
+ }
+}
+\def \box@decorate@top #1 {
+ \setbox #1 \vbox{
+ \unvbox #1
+ \vskip -\pagesetup@float@float@sep
+ \topfigrule
+ \vskip \pagesetup@float@text@sep
+ }
+}
+
+\def\@comflelt #1 {
+ \global \let \this@float@box #1
+ \expandafter
+ \extract@this@float@actual@structure \the\toks #1
+ \setbox\@tempboxa \vbox {
+ \unvbox\@tempboxa
+ \typeset@this@float@and@caption
+ }
+ }
+\def\typeset@float@in@box #1 #2 {
+ \global \let \this@float@box #2
+ \expandafter
+ \extract@this@float@actual@structure \the\toks #2
+ \setbox #1 \vbox {
+ \unvbox #1
+ \typeset@this@float@and@caption
+ }
+ }
+
+\def\pagebox@area #1#2#3 {
+ \expandafter
+ \let \expandafter
+ \this@list \csname area@#1\endcsname
+ \ifx \this@list \@empty
+ \else
+ \let \p@elt \relax
+ \@addto@pagebox@list {#3}
+ { \p@elt #1 { #2 {#1}} }
+ \fi
+}
+\def \@addto@pagebox@list #1#2 {
+ \@temptokena \expandafter\expandafter\expandafter
+ { \csname pagebox@list@#1 \endcsname
+ #2
+ }
+ \expandafter
+ \xdef
+ \csname pagebox@list@#1 \endcsname
+ { \the\@temptokena }
+}
+\def\mbox@put (#1,#2)#3{%
+ \setbox\@tempboxa \hbox {
+ \lower #2 % thanks Don!
+ \hbox {\kern#1 #3\hss}
+ }
+ \wd \@tempboxa \z@
+ \ht \@tempboxa \z@
+ \dp \@tempboxa \z@
+ \box\@tempboxa
+ }
+\def\box@put (#1,#2)#3{%
+ \mbox@put (#1,#2) {\box #3}
+}
+\def\copy@put (#1,#2)#3{
+ \mbox@put (#1,#2) {\copy #3}
+}
+\def \forall@areas #1 {
+ \def \area@elt ##1##2##3 {
+ \def \curr@area {##1##2##3}
+ \def \curr@pos {##1}
+ \def \curr@col {##3}
+ \def \curr@span {##2}
+ #1
+ }
+ \used@areas@exec
+}
+
+\def \make@useful@list@aux #1#2#3 {
+ \ifx #1 \relax
+ \else
+ \expandafter
+ \xdef \csname \temp@list@name @exec \endcsname
+ {\csname \temp@list@name @exec \endcsname \temp@list@elt #1#2#3 }
+ \expandafter
+ \make@useful@list@aux
+ \fi
+}
+\def \make@useful@list #1 #2 {
+ \edef \temp@list@name
+ {\expandafter \@gobble \string #1}
+ \def \temp@list@elt {#2}
+ \let #2 \relax
+ \expandafter
+ \let \csname \temp@list@name @exec \endcsname \@empty
+ \expandafter
+ \make@useful@list@aux #1\relax\relax\relax
+}
+\def\release@floats#1{
+ \xdef \@freelist {\@freelist#1}
+ \global\let#1\@empty
+}
+\def \let@nc #1 #2 {
+ \expandafter
+ \let \expandafter
+ #1 \csname #2\endcsname
+}
+\def \let@cn #1 {
+ \expandafter
+ \let \csname #1\endcsname
+}
+\def \let@cc #1 {
+ \expandafter
+ \let@nc \csname #1\endcsname
+}
+\def \gsetmlength #1#2 {
+ \setlength \@tempdima {#2}
+ \xdef #1 {\the\@tempdima}
+}
+\def \gsetmlength@c #1#2 {
+ \setlength \@tempdima {#2}
+ \expandafter
+ \xdef \csname #1\endcsname
+ {\the\@tempdima}
+}
+\def \setmlength #1#2 {
+ \setlength \@tempdima {#2}
+ \edef #1 {\the\@tempdima}
+}
+\def \do@floats {
+ \make@useful@list \used@areas \area@elt
+ \let \pagebox@list@t \@empty
+ \let \pagebox@list@b \@empty
+ \forall@areas {
+ \expandafter
+ \pagebox@area
+ \expandafter
+ {\curr@area} \make@area@floats@box {\curr@pos}
+ }
+}
+
+\AtBeginDocument {
+%% vert
+ \setlength \@tempdima {\headheight + \headsep}
+ \xdef \pagebodytopvpos {\the\@tempdima}
+
+ \setlength \@tempdima {\@tempdima + \textheight}
+ \xdef \pagebodybotvpos {\the\@tempdima}
+
+%% horiz
+ \setlength \@tempdima {\columnwidth + \columnsep}
+ \xdef \columndisplacement {\the\@tempdima}
+
+ \def \pagebodylefthpos {\z@} % or whatever?)
+
+}
+
+\endinput
+%%
+%% End of file `xo-final.sty'.
diff --git a/Master/texmf-dist/tex/latex3/xor/xo-float.sty b/Master/texmf-dist/tex/latex3/xor/xo-float.sty
new file mode 100644
index 00000000000..8fa26b5b30d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex3/xor/xo-float.sty
@@ -0,0 +1,339 @@
+%%
+%% This is file `xo-float.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xo-float.dtx (with options: `package,progress')
+%%
+%% Not for distribution
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+
+\def\@tempa#1: #2.dtx,v #3 #4 #5 #6 #7${
+ \ProvidesPackage{#2}[#4 #3 #5 #6]}
+\@tempa$Id: xo-float.dtx,v 1.32 2000/08/11 07:14:11 latex3 Exp $
+\IgnoreWhiteSpace
+\def\@xfloat #1[#2]{%
+ \@nodocument
+ \def \@fps {#2}
+ \def \float@type {#1}
+ \expandafter \let \expandafter
+ \float@sequence@class \csname sequence@class@#1 \endcsname
+ \expandafter \let \expandafter
+ \float@counter \csname counter@#1 \endcsname
+ \refstepcounter\float@counter
+ \ifhmode
+ \@bsphack
+ \fi
+ \ifinner
+ \@parmoderr\@floatpenalty\z@
+ \else
+ \@allocating@next\@currbox\@freelist
+ {
+ \global\advance\float@sequence@count\@ne
+ \expandafter\PutMark\expandafter\float@sequence@class\expandafter{
+ \the\float@sequence@count}
+ \global\toks\@currbox{}
+ }
+ \fi
+ \global\let\@saved@label\@empty
+ \global \setbox\@currbox
+ \hbox \bgroup\color@begingroup
+ \normalcolor
+ \normalfont
+ \normalsize
+ \csname body@\float@type \endcsname
+ \ignorespaces}
+\def \@endfloatbox{%
+ \unskip
+ \outer@nobreak
+ \color@endgroup
+ \egroup
+ \edef\@tempa{
+ \global\toks\@currbox{
+ {\the\toks\@currbox}{\SPANCNT}
+ {\@saved@label}
+ {\csname the\float@counter \endcsname}
+ {\@fps}
+ {\float@type}
+ {\the\float@sequence@count}
+ }}
+ \@tempa
+ \def\@tempa{h}
+ \ifx\@fps\@tempa
+ \setup@here@float
+ \else
+ \@cons\@activelist\@currbox
+ \fi
+}
+
+\def\SPANCNT{} %%% do properly one day: David
+
+\newcount\float@sequence@count
+\def\label#1{\@bsphack
+ \gdef\@saved@label{#1}
+ \protected@write\@auxout{}%
+ {\string\newlabel{#1}{{\@currentlabel}{\thepage}}}%
+ \@esphack}
+\def\DeclareFloatType#1#2{
+ \DeclareInstance{floattypesetup}{#1}{std}
+ { type-id = #1, #2 }
+ \UseInstance{floattypesetup}{#1}
+}
+\DeclareTemplateType{floattypesetup}{0}
+
+\DeclareTemplate{floattypesetup}{std}{0}{
+ type-id =n \floattypesetup@id,
+ sequence-class-id =n \floattypesetup@class@id,
+ toc-extension =n \floattypesetup@toc@ext,
+ default-area-list =n \floattypesetup@area@list,
+ caption-text =n \floattypesetup@caption@text,
+ numbered-boolean =b @test,
+ numbered-id =n \floattypesetup@numbered@id,
+ numbered-within-id =n \floattypesetup@numbered@within@id,
+ numbered-action =f0 \floattypesetup@numbered@action,
+ body-decls =f0 \floattypesetup@body@decls,
+
+ }
+ {
+ \let\floattypesetup@class@id\relax
+ \let\floattypesetup@numbered@id\relax
+ \let\floattypesetup@numbered@action\relax
+ \let\floattypesetup@body@decls\relax
+ \@testtrue % number by default
+ \def\floattypesetup@area@list{\known@areas}
+ \let\floattypesetup@caption@text\@empty
+ \let\floattypesetup@numbered@within@id\@empty
+ \def\floattypesetup@toc@ext{toc} % everything in here by default
+ \DoParameterAssignments
+ \ifx\floattypesetup@class@id\relax
+ \let\floattypesetup@class@id\floattypesetup@id
+ \fi
+ \if@test
+ \ifx\floattypesetup@numbered@id\relax
+ \let\floattypesetup@numbered@id\floattypesetup@id
+ \fi
+ \expandafter\ifx\csname c@\floattypesetup@numbered@id \endcsname
+ \relax
+ \ifx\floattypesetup@numbered@within@id\@empty
+ \newcounter\floattypesetup@numbered@id
+ \else
+ \newcounter\floattypesetup@numbered@id
+ [\floattypesetup@numbered@within@id]
+ \fi
+ \ifx\floattypesetup@numbered@action\relax
+ \else
+ \global\expandafter\let
+ \csname the\floattypesetup@numbered@id \endcsname
+ \floattypesetup@numbered@action
+ \fi
+ \fi
+ \fi
+ \expandafter
+ \xdef\csname \floattypesetup@id \endcsname
+ {\noexpand\@float{\floattypesetup@id}}
+ \global\expandafter \let \csname end\floattypesetup@id \endcsname
+ \end@float
+ \global\expandafter\let
+ \csname sequence@class@\floattypesetup@id \endcsname
+ \floattypesetup@class@id
+ \global\expandafter\let
+ \csname toc@extension@\floattypesetup@id \endcsname
+ \floattypesetup@toc@ext
+ \global\expandafter\let
+ \csname fps@\floattypesetup@id \endcsname
+ \floattypesetup@area@list
+ \global\expandafter\let
+ \csname caption@\floattypesetup@id \endcsname
+ \floattypesetup@caption@text
+ \global\expandafter\let
+ \csname counter@\floattypesetup@id \endcsname
+ \floattypesetup@numbered@id
+ \global\expandafter\let
+ \csname body@\floattypesetup@id \endcsname
+ \floattypesetup@body@decls
+ }
+\def\DeclareFloatSequenceClass#1{
+ \@ifundefined{mark@#1}
+ {
+ \DeclareMarkType{#1}
+ \@cons\float@classes@list{{#1}}
+ }
+ \ErrorAlreadyDefined
+}
+\let\float@classes@list\@empty
+\expandafter\ifx\csname c@figure \endcsname \relax
+\else
+ \let\c@figure\relax % thus new counter will be defined
+ \let\c@table \relax
+\fi
+\let\perhaps@write@placements@to@fpl@file\relax
+\let\perhaps@write@to@fpl@file\@gobble
+\let\perhaps@write@to@fpl@file\@gobble
+\def\perhaps@write@placements@to@fpl@file@aux#1#2#3#4#5#6#7{
+ \@spaces\@spaces Float:~#7~(#6~#4)~[#3]^^J}
+\def\savefloatplacements{
+ \newwrite\fpl@file
+ \immediate\openout\fpl@file\jobname.fpl
+ \def\perhaps@write@to@fpl@file{
+ \immediate\write\fpl@file
+ }
+ \def\perhaps@write@placements@to@fpl@file{
+ \def\@elt{\expandafter
+ \perhaps@write@placements@to@fpl@file@aux\the\toks}
+ \perhaps@write@to@fpl@file{
+ ^^JPage:~\the\absolute@page@number\space (\the\c@page)^^J
+ \expandafter\@write@areas\used@areas\relax\relax\relax
+ }
+ \let\@elt\relax}}
+\def\@write@areas#1#2#3{
+ \ifx\relax#1
+ \else
+ \expandafter\ifx\csname area@#1#2#3\endcsname\@empty
+ \else
+ \@spaces Area:~#1#2#3^^J\csname area@#1#2#3\endcsname
+ \fi
+ \expandafter\@write@areas
+ \fi}
+\def\@write@areas#1#2#3{
+ \ifx\relax#1
+ \else
+ \@spaces Area:~#1#2#3^^J\csname area@#1#2#3\endcsname
+ \expandafter\@write@areas
+ \fi}
+\def\readfloatplacements{
+ \newread\fpc@file
+ \openin\fpc@file\jobname.fpc\relax
+ \ifeof\fpc@file
+ \PackageWarningNoLine{xo}
+ {No~\jobname.fpc:~using~automatic~float~placement}
+ \else
+ \let\get@fpc@page@data\get@fpc@page@data@fpc
+ \get@fpc@page@data
+ \let\try@float@pages\relax
+ \let\float@placement@loop\fpc@float@placement@loop
+ \fi
+}
+\def\fpc@float@placement@loop{
+ \get@fpc@page@data
+ \global\let\best@trial\relax
+ \mark@restore@state{
+ \unvcopy\@holdpg
+ \setup@best@column@or
+ }
+}
+\let\next@fpc@page\m@ne
+\let\get@fpc@page@data\relax
+\def\get@fpc@page@data@fpc{
+ \let\@nextfpc\relax
+ \ifnum\next@fpc@page>\absolute@page@number
+ \else
+ \ifeof\fpc@file
+ \global\let\next@fpc@page\maxdimen
+ \else
+ \begingroup
+ \endlinechar`\ %
+ \catcode`\ 10\relax
+ \global\read\fpc@file~to~\@gtempa
+ \endgroup
+ \let\@nextfpc\get@fpc@page@data
+ \ifx\@gtempa\@empty
+ \else
+ \expandafter\parse@fpc\@gtempa\relax
+ \fi
+ \fi
+ \fi
+ \@nextfpc
+}
+\def\parse@fpc#1#2~#3~#4\relax{
+ \ifx P#1
+ \global\mathchardef\next@fpc@page#3\relax
+ \let\@nextfpc\relax
+ \else\ifx A#1
+ \setup@this@area{#3}
+ \let\@nextfpc\get@fpc@page@data
+ \else\ifx F#1
+ \ifx\this@area\fpc@here
+ \else
+ \begingroup
+ \count@#3\relax
+ \global\let\this@float@box\relax
+ \let\@elt\extract@float@by@number
+ \@activelist
+ \endgroup
+ \ifx\this@float@box\relax
+ \edef\fpc@list{\fpc@list#3,\this@area\relax}
+ \show\fpc@list
+ \else
+ \ifnum \this@area@span@number <
+ \if!\this@span@number! 1\else % big hack
+ \this@span@number \fi
+ \relax
+ \PackageError{xo}
+ {Float~ bigger~ than~ target~ area}
+ {Float~\this@sequence@number\space spans ~
+ \this@span@number\space columns,~
+ but~ target~ area~ \this@area\space
+ spans~ only~ \this@area@span@number\space
+ columns.\MessageBreak
+ Correct~ the~ data~ in~ file~ \jobname.fpc!
+ }
+ \fi
+ \xin@\this@area
+ \used@areas
+ \ifin@\else
+ \PackageError{xo}
+ {Target~ area~ not~ available~ on~ current~ page}
+ {Float~ \this@sequence@number\space was~ requested~ to~
+ be~ placed~ into~ area~ \this@area,\MessageBreak
+ but~ this~
+ area~ is~ not~ available~ on~ page~ \thepage.
+ \MessageBreak
+ Correct~ the~ data~ in~ file~ \jobname.fpc!
+ }
+ \ifx\used@areas\@empty % we have a problem
+ \RESOLVE
+ \else
+ \setup@this@area{\expandafter\@carcube\used@areas\@nil}
+ \fi
+ \fi
+ \append@caption@to@float
+ \construct@and@test@col@hts
+ \if@test
+ \ERRORFloatAreaToLarge
+ \fi
+ \let\@elt\relax
+ \xdef\@freelist{\@freelist\@elt\this@float@box}
+ \expandafter\@cons\csname area@\this@area\expandafter\endcsname
+ \this@float@box
+ \fi
+ \fi
+ \let\@nextfpc\get@fpc@page@data
+ \fi\fi\fi
+}
+\def\fpc@here{hhh}
+
+\def\fpc@list{\relax}
+\def\get@float@number#1#2#3#4#5#6#7{#7}
+\def\extract@float@by@number#1{
+ \ifnum\expandafter\get@float@number\the\toks#1=\count@
+ \def\@currbox{#1}
+ \expandafter\update@this@float@structure\the\toks#1
+ \fi}
+\endinput
+%%
+%% End of file `xo-float.sty'.
diff --git a/Master/texmf-dist/tex/latex3/xor/xo-grid.sty b/Master/texmf-dist/tex/latex3/xor/xo-grid.sty
new file mode 100644
index 00000000000..705d211a5e1
--- /dev/null
+++ b/Master/texmf-dist/tex/latex3/xor/xo-grid.sty
@@ -0,0 +1,195 @@
+%%
+%% This is file `xo-grid.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xo-grid.dtx (with options: `package,progress')
+%%
+%% Not for distribution
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+
+\def\@tempa#1: #2.dtx,v #3 #4 #5 #6 #7${
+ \ProvidesPackage{#2}[#4 #3 #5 #6]}
+\@tempa$Id: xo-grid.dtx,v 1.3 2000/08/11 07:14:20 latex3 Exp $
+\IgnoreWhiteSpace
+\newskip\headingsinkage
+\headingsinkage=5pt plus 3pt minus 5pt
+\def\@startsection#1#2#3#4#5#6{%
+ \if@noskipsec \leavevmode \fi
+ \par
+ \@tempskipa #4\relax
+ \@afterindenttrue
+ \ifdim \@tempskipa <\z@
+ \@tempskipa -\@tempskipa \@afterindentfalse
+ \fi
+ \if@nobreak
+ \everypar{}%
+ \else
+ \addpenalty\@secpenalty
+ \addvspace\@tempskipa
+ \vskip-\headingsinkage
+ \vskip\saved@topskip
+ \vskip-\prevdepth
+ \nointerlineskip
+ \null
+ \nobreak
+ \vskip-\saved@topskip
+ \vskip\headingsinkage
+ \fi
+ \@ifstar
+ {\@ssect{#3}{#4}{#5}{#6}}%
+ {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
+\def\@sect#1#2#3#4#5#6[#7]#8{%
+ \ifnum #2>\c@secnumdepth
+ \let\@svsec\@empty
+ \else
+ \refstepcounter{#1}%
+ \protected@edef\@svsec{\@seccntformat{#1}\relax}%
+ \fi
+ \@tempskipa #5\relax
+ \IgnoreAlignToGrid
+ \ifdim \@tempskipa>\z@
+ \begingroup
+ #6{%
+ \@hangfrom{\hskip #3\relax\@svsec}%
+ \interlinepenalty \@M #8\@@par}%
+ \endgroup
+ \csname #1mark\endcsname{#7}%
+ \addcontentsline{toc}{#1}{%
+ \ifnum #2>\c@secnumdepth \else
+ \protect\numberline{\csname the#1\endcsname}%
+ \fi
+ #7}%
+ \else
+ \def\@svsechd{%
+ #6{\hskip #3\relax
+ \@svsec #8}%
+ \csname #1mark\endcsname{#7}%
+ \addcontentsline{toc}{#1}{%
+ \ifnum #2>\c@secnumdepth \else
+ \protect\numberline{\csname the#1\endcsname}%
+ \fi
+ #7}}%
+ \fi
+ \@xsect{#5}}
+\def\@xsect#1{%
+ \ObeyAlignToGrid
+ \@tempskipa #1\relax
+ \ifdim \@tempskipa>\z@
+ \par \nobreak
+ \vskip \@tempskipa
+ \@afterheading
+ \else
+ \@nobreakfalse
+ \global\@noskipsectrue
+ \everypar{%
+ \if@noskipsec
+ \global\@noskipsecfalse
+ {\setbox\z@\lastbox}%
+ \clubpenalty\@M
+ \AlignToGrid
+ \begingroup \@svsechd \endgroup
+ \unskip
+ \@tempskipa #1\relax
+ \hskip -\@tempskipa
+ \else
+ \clubpenalty \@clubpenalty
+ \everypar{}%
+ \fi}%
+ \fi
+ \ignorespaces}
+\def\@afterheading{%
+ \@nobreaktrue
+ \everypar{%
+ \if@nobreak
+ \@nobreakfalse
+ \clubpenalty \@M
+ \if@afterindent \else
+ {\setbox\z@\lastbox}%
+ \fi
+ \AlignToGrid
+ \else
+ \clubpenalty \@clubpenalty
+ \everypar{}%
+ \fi}}
+\def\@doendpe{\@endpetrue
+ \def\par{\@restorepar
+ \everypar{\everypar{}\AlignToGrid}\par\@endpefalse}%
+ \everypar{{\setbox\z@\lastbox}\everypar{}\AlignToGrid\@endpefalse}%
+}
+\def\endtrivlist{%
+ \if@inlabel
+ \leavevmode
+ \global \@inlabelfalse
+ \fi
+ \if@newlist
+ \@noitemerr
+ \global \@newlistfalse
+ \fi
+ \ifhmode\unskip \par\fi
+ \if@noparlist
+ \everypar{\everypar{}\AlignToGrid}
+ \else
+ \ifdim\lastskip >\z@
+ \@tempskipa\lastskip \vskip -\lastskip
+ \advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip
+ \vskip\@tempskipa
+ \fi
+ \@endparenv
+ \fi
+}
+\def \displaymath {
+ \relax\ifmmode
+ \@badmath
+ \else
+ \ifvmode
+ \nointerlineskip
+ \makebox[.6\linewidth]%
+ \fi
+ $$%%$$ BRACE MATCH HACK
+ \fi
+}
+\def \enddisplaymath {
+ \relax\ifmmode
+ \ifinner
+ \@badmath
+ \else
+ $$%%$$ BRACE MATCH HACK
+ \fi
+ \else
+ \@badmath
+ \fi
+ \par
+ \@endpetrue % kill parindent if current paragraph continues
+ \@ignoretrue
+}
+\def\[{\begin{displaymath}}
+\def\]{\end{displaymath}}
+\def\endequation{\eqno \hbox{\@eqnnum}$$\par\@ignoretrue
+ \@endpetrue % kill parindent if current paragraph continues
+}
+\def\endeqnarray{%
+ \@@eqncr
+ \egroup
+ \global\advance\c@equation\m@ne
+ $$\par\@ignoretrue
+ \@endpetrue % kill parindent if current paragraph continues
+}
+\endinput
+%%
+%% End of file `xo-grid.sty'.
diff --git a/Master/texmf-dist/tex/latex3/xor/xo-here.sty b/Master/texmf-dist/tex/latex3/xor/xo-here.sty
new file mode 100644
index 00000000000..9bfb9cd39ca
--- /dev/null
+++ b/Master/texmf-dist/tex/latex3/xor/xo-here.sty
@@ -0,0 +1,142 @@
+%%
+%% This is file `xo-here.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xo-here.dtx (with options: `package,progress')
+%%
+%% Not for distribution
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+\def\@tempa#1: #2.dtx,v #3 #4 #5 #6 #7${
+ \ProvidesPackage{#2}[#4 #3 #5 #6]}
+\@tempa$Id: xo-here.dtx,v 1.12 2000/08/11 07:14:21 latex3 Exp $
+\IgnoreWhiteSpace
+\def\requirespace #1 {
+ \ifhmode
+ \@bsphack
+ \fi
+ \@next\@currbox\@freelist{}{}
+ \global\toks\@currbox{{}{}
+ {}
+ {}
+ {}
+ {rspace}
+ {}
+ }
+ \here@point\@currbox{#1}
+ \@ignorefalse
+ \@esphack
+}
+\def\marginpar #1 {
+ \ifhmode
+ \@bsphack
+ \fi
+ \@next\@currbox\@freelist{}{}
+ \@savemarbox\@currbox{#1}
+ \global\toks\@currbox{{}{}
+ {}
+ {}
+ {}
+ {mpar}
+ {}
+ }
+ \@tempdima\ht\@currbox
+ \advance\@tempdima\dp\@currbox
+ \advance\@tempdima -\baselineskip % allow to run long
+ \ifdim\@tempdima< \z@ \@tempdima\z@ \fi
+ \here@point\@currbox{\the\@tempdima}
+ \@ignorefalse
+ \@esphack
+}
+\def \typeset@a@marginpar{
+ \kern-\pagedepth
+ \vtop to\pagedepth{\baselineskip\pagedepth
+ \lineskip\z@
+ \vss
+ \dimen@\dp\@currbox
+ \ifnum \curr@col@count = \@ne
+ \llap{\copy\@currbox\kern\marginparsep}
+ \else
+ \ifnum \curr@col@count = \col@count
+ \rlap{\kern\columnwidth\kern\marginparsep\copy\@currbox}
+ \else
+ \ERROR-NOT-SUPPORTED
+ \fi
+ \fi
+ \kern-\dimen@
+ \null}
+}
+\def\check@and@typeset@a@here@float{
+ \ifrun@with@floats
+ \ifx\here@class\this@class
+ \ifnum \this@sequence@number > \here@sequence@number \relax
+ \calculate@target@fl@column
+ \ifnum \count@ > \curr@col@count
+ \else
+ \ifnum \count@ = \curr@col@count
+ \if t \this@area@type
+ \@failtrue
+ \fi
+ \else
+ \@failtrue
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \if@fail
+ \progress@failed{\this@area\space before~here~float~
+ (\here@type\space \here@sequence@number)~
+ in~ column~ \the\curr@col@count}
+ \global\curr@col@count\col@count
+ \else
+ \typeset@a@here@float
+ \fi
+}
+\def \typeset@a@here@float{
+ \append@here@caption@to@float
+ \ifdim \pagesetup@grid@point@sep = \z@
+ \@tempskipa\pagesetup@float@inline@sep
+ \else
+ \@tempdima\ht\this@captioned@float
+ \advance\@tempdima\dp\this@captioned@float
+ \advance\@tempdima\tw@\pagesetup@float@inline@sep
+ \snap@to@grid \@tempdima \pagesetup@grid@point@sep
+ \ifdim \returned@lower@delta@size < \returned@delta@size \relax
+ \ifdim \returned@lower@delta@size < 2\pagesetup@float@inline@shrink
+ \xdef \returned@delta@size {-\returned@lower@delta@size }
+ \fi
+ \fi
+ \@tempskipa \returned@delta@size \relax
+ \divide \@tempskipa \tw@
+ \advance \@tempskipa \pagesetup@float@inline@sep
+ \fi
+ \vskip\@tempskipa
+ \box\this@captioned@float
+ \vskip\@tempskipa
+}
+\def \setup@here@float {
+ \@tempskipa 2\pagesetup@float@inline@sep %FMi arbitrary value TMP
+ \advance\@tempskipa\ht\@currbox %FMi arbitrary value TMP
+ \advance\@tempskipa\dp\@currbox %FMi arbitrary value TMP
+ \advance\@tempskipa5\baselineskip %FMi arbitrary value TMP
+ \here@point\@currbox{\the\@tempskipa}
+}
+\endinput
+%%
+%% End of file `xo-here.sty'.
diff --git a/Master/texmf-dist/tex/latex3/xor/xo-new.sty b/Master/texmf-dist/tex/latex3/xor/xo-new.sty
new file mode 100644
index 00000000000..e55bf2af884
--- /dev/null
+++ b/Master/texmf-dist/tex/latex3/xor/xo-new.sty
@@ -0,0 +1,303 @@
+%%
+%% This is file `xo-new.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xo-new.dtx (with options: `package,progress')
+%%
+%% Not for distribution
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+\def\@tempa#1: #2.dtx,v #3 #4 #5 #6 #7${
+ \ProvidesPackage{#2}[#4 #3 #5 #6]}
+\@tempa$Id: xo-new.dtx,v 1.25 2000/08/11 07:14:23 latex3 Exp $
+\IgnoreWhiteSpace
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\flushbottom
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\iftrue % using Frank's changes built on 1.15
+
+
+\def\final@column {
+ \setbox\@outputbox \box\@cclv
+
+ \ifvoid\footins
+ \else
+ \setbox\@outputbox \vbox {
+ \boxmaxdepth \@maxdepth
+ \advance\skip\footins -\dp\@outputbox % already limited to \@maxdepth
+ \unvbox \@outputbox
+ \advance\skip\footins
+ \ifdim\dp\footins>\@maxdepth \@maxdepth \else \dp\footins \fi
+ \vskip \skip\footins
+ \ifdim \pagesetup@grid@point@sep > \z@
+ \vfil
+ \fi
+ \color@begingroup
+ \normalcolor
+ \footnoterule
+ \unvbox \footins
+ \color@endgroup
+ }
+ \fi
+ \global\setbox\csname col@box@\the\curr@col@count\endcsname
+ \vbox to \csname col@ht@ \the\curr@col@count\endcsname %<-----
+ { % this should one day become \@colht
+ % or else
+ \@texttop
+ \dimen@ \dp\@outputbox
+ \unvbox \@outputbox
+ \vskip -\dimen@
+ \@textbottom
+ }%
+ \global \maxdepth \@maxdepth
+}
+\let \produce@final@column \final@column
+
+\def\make@area@floats@box #1#2 {
+ \@ifundefined{area@#1} % test only needed because of missing integration
+ {
+ }
+ {
+ \setup@this@area{#1} % needed below when typesetting floats
+
+ \setbox #2 \box\voidb@x % <-------- FMi
+ \def \@elt { \typeset@float@in@box {#2} }
+ \csname area@#1\endcsname
+ \let \@elt \relax
+
+ \expandafter
+ \release@floats
+ \csname area@#1\endcsname
+ }
+}
+
+\def\typeset@float@in@box #1 #2 {
+ \gdef\this@float@box {#2} % <------------- FMi
+ \expandafter
+ \extract@this@float@actual@structure \the\toks #2
+
+ \update@this@area@columns
+ {
+ \expandafter
+ \gdecrement@num
+ \csname col@ \this@area@type
+ @floats@ \the\count@ @number\endcsname
+ }
+
+ \setbox #1 \vbox {
+ \ifvoid #1
+ \else % experimental FMi
+ \unvbox #1 % experimental FMi
+ \vskip \pagesetup@float@float@sep % experimental FMi
+ \fi % experimental FMi
+ \typeset@this@float@and@caption
+ }
+ }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def \myfinalpage {
+ \mbox@addtopage (\pagebodylefthpos, -\headsep)
+ {page:~\thepage}
+ \forall@columns{
+ \dimen \the\curr@col@count
+ \z@
+ }
+ \expandafter\mount@top@areas@loop
+ \top@areas
+ \relax\relax\relax
+ \forall@columns{
+
+ \advance \dimen \the\curr@col@count
+ by %NEEDED!!!!!
+ \csname col@t@delta@ \the\curr@col@count \endcsname
+
+ \advance \dimen \the\curr@col@count
+ \csname col@ht@ \the\curr@col@count \endcsname
+
+ \setlength \@tempdima
+ {\pagebodylefthpos - \columndisplacement
+ + \columndisplacement * \curr@col@count }
+
+ \mbox@addtopage ( \the\@tempdima ,\the\dimen\curr@col@count )
+ { \box \csname col@box@ \the\curr@col@count \endcsname }
+
+ \advance \dimen \the\curr@col@count
+ by %NEEDED!!!!!
+ \csname col@b@delta@ \the\curr@col@count \endcsname
+ }
+ \def\col@of@focus{0} % temp solution see below
+ \expandafter\mount@bot@areas@loop
+ \bot@areas
+ \relax\relax\relax
+ \setlength \@tempdima
+ {\pagebodylefthpos + \columndisplacement * \col@count }
+ \mbox@addtopage ( \the\@tempdima , \textheight )
+ { \box \saved@footins } % TEMP FMi
+ \expandafter
+ \ifx\csname area@m1\the\curr@col@count\endcsname\relax
+ \else
+ \curr@col@count\col@count
+ \advance\curr@col@count\@ne
+ \make@area@floats@box {m\the\curr@col@count1}\@tempboxa
+ \setlength \@tempdima
+ {\pagebodylefthpos + \columndisplacement * \col@count }
+ \mbox@addtopage ( \the\@tempdima , \textheight )
+ { \vbox to\textheight{\vfil \unvbox \@tempboxa \vfil }}
+ \fi
+ \ifShowGrid
+ \ifdim \pagesetup@grid@point@sep > \z@
+ \@tempcnta\textheight
+ \@tempcntb\topskip
+ \advance\@tempcnta -\@tempcntb
+ \@tempdimb\pagesetup@grid@point@sep
+ \@tempcntb\@tempdimb
+ \divide\@tempcnta\@tempcntb
+ \advance\@tempcnta\@ne
+
+ \setlength \@tempdimb
+ {\pagebodylefthpos + \columndisplacement * \col@count
+ - \columnsep }
+ \count@\@tempdimb
+
+ \sbox\grid@box{
+ \setlength\unitlength{1sp}
+ \begin{picture}(0,0)
+ \multiput(0,0)(0,\@tempcntb){\@tempcnta}
+ {\line(1,0){\count@}}
+ \end{picture}
+ }
+
+ \mbox@addtopage ( 0pt ,\textheight )
+ { \box\grid@box }
+
+ \fi
+ \fi
+}
+
+\newbox\grid@box
+
+\newif\ifShowGrid
+\ShowGridtrue
+
+
+\def\mbox@addtopage (#1,#2)#3{%
+ \global \setbox\page@box
+ \hbox {
+ \unhbox \page@box
+ \mbox@put (#1,#2) {#3}
+ }
+}
+
+\def\mount@top@areas@loop#1#2#3{
+ \ifx#1\relax
+ \else
+ \mount@top@area#1#2#3
+ \expandafter\mount@top@areas@loop
+ \fi}
+
+\def\mount@top@area#1#2#3 {
+ \make@area@floats@box {#1#2#3}\@tempboxa
+
+ \ifvoid \@tempboxa
+ \else
+
+ \setlength \@tempdimb
+ { \dimen#2 + \ht\@tempboxa + \dp\@tempboxa }
+
+ \setlength \@tempdima
+ {\pagebodylefthpos - \columndisplacement + \columndisplacement * #2 }
+
+ \mbox@addtopage ( \the\@tempdima ,\the\@tempdimb )
+ { \box \@tempboxa }
+
+ \count@ #2\relax
+ \advance\count@ #3\relax
+ \loop
+ \advance\count@\m@ne
+ \dimen \count@ = \@tempdimb
+ \advance\dimen \count@
+ \ifnum \csname col@t@floats@ \the\count@ @number\endcsname > \z@
+ \pagesetup@float@area@sep
+ \else
+ \pagesetup@float@text@sep
+ \fi
+ \ifnum #2 < \count@
+ \repeat
+
+ \fi
+}
+
+\def\mount@bot@areas@loop#1#2#3{
+ \ifx#1\relax
+ \else
+ \mount@bot@area#1#2#3
+ \expandafter\mount@bot@areas@loop
+ \fi}
+
+\def\mount@bot@area#1#2#3 {
+ \make@area@floats@box {#1#2#3}\@tempboxa
+
+ \ifvoid \@tempboxa
+ \else
+
+ \setlength \@tempdimb
+ { \dimen#2 + \ht\@tempboxa + \dp\@tempboxa }
+
+ \ifnum \col@of@focus < #2 \relax
+ \def\col@of@focus{#2}
+ \advance\@tempdimb
+ \pagesetup@float@text@sep
+ \else
+ \advance\@tempdimb
+ \pagesetup@float@area@sep
+ \fi
+
+ \setlength \@tempdima
+ {\pagebodylefthpos - \columndisplacement + \columndisplacement * #2 }
+
+ \mbox@addtopage ( \the\@tempdima ,\the\@tempdimb )
+ { \box \@tempboxa }
+
+ \dimen #2 = \@tempdimb
+
+ \fi
+}
+
+
+\def\top@areas{t13 t12 t22 t32 t11 t21 t31}
+
+\def\bot@areas{b11 b12 b13 b21 b22 b31 b32}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\let\make@page@box\myfinalpage
+
+\fi % end of stuff modifying xo-final 1.15
+
+
+\endinput
+%%
+%% End of file `xo-new.sty'.
diff --git a/Master/texmf-dist/tex/latex3/xor/xo-or.sty b/Master/texmf-dist/tex/latex3/xor/xo-or.sty
new file mode 100644
index 00000000000..418b9fbe118
--- /dev/null
+++ b/Master/texmf-dist/tex/latex3/xor/xo-or.sty
@@ -0,0 +1,1251 @@
+%%
+%% This is file `xo-or.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xo-or.dtx (with options: `package,progress')
+%%
+%% Not for distribution
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+
+\def\@tempa#1: #2.dtx,v #3 #4 #5 #6 #7${
+ \ProvidesPackage{#2}[#4 #3 #5 #6]}
+\@tempa$Id: xo-or.dtx,v 1.53 2000/08/11 07:14:25 latex3 Exp $
+\IgnoreWhiteSpace
+\long\def\@gobblethree#1#2#3{}
+\def\xin@#1#2{%
+ \expandafter\def\expandafter\in@@\expandafter##\expandafter1#1##2##3\in@@{%
+ \ifx\in@##2\in@false\else\in@true\fi}%
+ \expandafter\expandafter\expandafter\in@@\expandafter#2#1\in@\in@@}
+\def\gincrement@num#1 {
+ \begingroup
+ \count@#1
+ \advance\count@\@ne
+ \xdef#1{\the\count@}
+ \endgroup
+}
+\def\gdecrement@num#1 {
+ \begingroup
+ \count@#1
+ \advance\count@\m@ne
+ \xdef#1{\the\count@}
+ \endgroup
+}
+\begingroup
+\catcode`\M=12
+\catcode`\I=12
+\catcode`\N=12
+\catcode`\U=12
+\catcode`\S=12
+\catcode`\Z=12
+\lccode`\Z=`\p
+\catcode`\T=12
+\catcode`\L=12
+\catcode`\F=12
+\lccode`\V=`\V
+\lccode`\O=`\O
+\lowercase{
+\gdef\split@skip #1#2#3#4{
+ \@tempskipa#2\relax
+ \expandafter\check@for@fil \the\@tempskipa FIL\relax\check@for@fil
+ {\the\@tempskipa}{#3}{#4}{#1}
+ }
+\gdef\check@for@fil #1FIL#2\check@for@fil#3#4#5#6{
+ \ifx\relax#2
+ \expandafter
+ \get@minus@part #3MINUS 0ZT \get@minus@part{#4}{#5}
+ \else
+ #4\z@
+ #5\z@
+ \PackageError{template}{Value~ for~ key~ #6~ contains~ `fil(ll)'}
+ {Only~ finite~ minus~ or~ plus~ parts~ are~ allowed~ for~ this~ key.}
+ \fi
+ }
+\gdef\get@plus@part #1ZLUS#2ZT#3\get@plus@part#4{
+ #4=#2pt\relax
+ }
+\gdef\get@minus@part #1MINUS#2ZT#3\get@minus@part#4#5{
+ \get@plus@part #1ZLUS 0ZT\get@plus@part{#4}
+ #5=#2pt\relax
+ }
+}
+\endgroup
+\mathchardef\output@collect@penalty=20202
+\mathchardef\output@balance@penalty=10010
+\mathchardef\output@columnbreak@penalty=10005
+\mathchardef\output@flush@float@penalty=10006
+\mathchardef\output@here@float@penalty=10007
+\mathchardef\output@grid@align@penalty=10008
+\def\add@badly@guarded@penalty#1 {
+ \ifvmode
+ \nointerlineskip
+ \vbox to\z@{\vss\the#1}\penalty-#1\relax
+ \else
+ \@bsphack
+ \vadjust{\vbox to\z@{\vss\the#1}\penalty-#1\relax}
+ \@esphack
+ \fi
+}
+\def\add@guarded@penalty#1
+ {\guard@box{BUG:~\string#1}\penalty-#1\relax}
+\def\guard@box#1{
+ \dimen@\prevdepth
+ \nointerlineskip
+ \vbox to0pt{\vss \rlap{#1}\kern\z@}
+ \prevdepth\dimen@
+}
+\def\guard@box#1{
+ \dimen@\prevdepth
+ \nointerlineskip
+ \begingroup
+ \setbox\z@\vbox to\z@{\vss \rlap{#1}}
+ \dp\z@\dimen@
+ \box\z@
+ \endgroup
+}
+\def\remove@guard@box@from@cclv{
+ \global\setbox\@cclv \vbox{\boxmaxdepth\@maxdepth \unvbox\@cclv
+ \global\setbox\removed@guard@box\lastbox}
+}
+\def\readd@guarded@penalty#1 {
+ \box\removed@guard@box
+ \penalty-#1\relax}
+\newbox\removed@guard@box
+\let\col@count \col@number % reuse a register from LaTeX
+ % which is named differently there
+\newcount\curr@col@count
+
+\expandafter\newbox\csname col@box@1\endcsname
+\expandafter\newbox\csname col@box@2\endcsname
+\expandafter\newbox\csname col@box@3\endcsname
+\expandafter\newbox\csname col@box@4\endcsname
+\expandafter\newbox\csname col@box@5\endcsname
+\expandafter\newbox\csname col@box@6\endcsname
+\expandafter\newdimen\csname col@ht@ 1\endcsname
+\expandafter\newdimen\csname col@ht@ 2\endcsname
+\expandafter\newdimen\csname col@ht@ 3\endcsname
+\expandafter\newdimen\csname col@ht@ 4\endcsname
+\expandafter\newdimen\csname col@ht@ 5\endcsname
+\expandafter\newdimen\csname col@ht@ 6\endcsname
+\def\forall@columns#1{
+ \edef\saved@curr@col@count{\the\curr@col@count}
+ \global\curr@col@count\z@
+ \@whilenum \curr@col@count<\col@count \do
+ {\global\advance\curr@col@count\@ne
+ #1
+ }
+ \global\curr@col@count\saved@curr@col@count\relax
+}
+\def\initialise@column@data{
+ \global\let\best@trial\@empty
+
+ \forall@columns
+ {
+
+ \global\csname col@ht@ \the\curr@col@count\endcsname\textheight
+
+ \expandafter
+ \g@addto@macro\expandafter\best@trial\expandafter
+ {
+ \expandafter
+ \global
+ \csname col@ht@ \the\curr@col@count\endcsname
+ \textheight
+ }
+ \global\@namedef{col@t@floats@ \the\curr@col@count
+ @number}{0}
+ \global\@namedef{col@b@floats@ \the\curr@col@count
+ @number}{0}
+ \global\@namedef{col@t@delta@ \the\curr@col@count}{0pt}
+ \global\@namedef{col@b@delta@ \the\curr@col@count}{0pt}
+ }
+
+}
+\def\columnbreak{
+ \ifnum\col@count<\tw@
+ \PackageError{xoutput}
+ {\noexpand\columnbreak~ in~ one-column~ mode}
+ {???}
+ \else
+ \ifvmode
+ \penalty -\output@columnbreak@penalty
+ \else
+ \@bsphack
+ \vadjust{\penalty -\output@columnbreak@penalty}
+ \@esphack
+ \fi
+ \fi}
+\def\known@areas{}
+\def\used@areas{ t11 b11 }
+\let\@activelist\@empty
+\let\@mvllist\@empty
+\let\area@ddd\@empty
+\def\pagesetup@ddd@class@close{\pagesetup@area@list}
+\let\pagesetup@ddd@all@close\@empty
+\let\this@open@areas\@empty
+\let\saved@this@open@areas\@empty
+\let\this@closed@areas\@empty
+\let\this@page@closed\@empty
+\expandafter\let\csname t11@float@count\endcsname \@topnum
+\expandafter\let\csname b11@float@count\endcsname \@botnum
+\expandafter\let\csname t12@float@count\endcsname \@dbltopnum
+\expandafter\let\csname b12@float@count\endcsname \@dblbotnum
+\newcount\ddd@float@count
+\newskip\pagesetup@float@area@sep
+\let\pagesetup@float@text@sep\textfloatsep % reuse register
+\let\textfloatsep\@undefined
+\let\pagesetup@float@float@sep\floatsep % reuse register
+\let\floatsep\@undefined
+\newdimen\pagesetup@float@text@shrink
+\let\pagesetup@float@inline@sep\intextsep % reuse register
+\let\intextsep\@undefined
+\newdimen\pagesetup@float@inline@shrink
+\def\initialise@areas{
+ \expandafter\initialise@areas@loop
+ \used@areas
+ \relax\relax\relax
+}
+\def\initialise@areas@loop#1#2#3{
+ \ifx#1\relax
+ \else
+ \global\csname #1#2#3@float@count\endcsname\z@
+ \global\expandafter\let\csname area@#1#2#3\endcsname\@empty
+ \expandafter\initialise@areas@loop
+ \fi}
+\def\first@of@type#1#2{
+ \begingroup
+ \def\@tempb{#1}
+ \gdef\returned@sequence@number{-1}
+ \def\@elt{\expandafter\first@of@type@aux\the\toks}
+ \csname area@#2\endcsname
+ \endgroup
+}
+\def\first@of@type@aux#1#2#3#4#5#6#7{
+ \def\@tempa{#6}
+ \ifx\@tempa\@tempb
+ \gdef\returned@sequence@number{#7}
+ \let\@elt\@gobble
+ \fi}
+\def\last@of@type#1#2{
+ \begingroup
+ \def\@tempb{#1}
+ \gdef\returned@sequence@number{-1}
+ \def\@elt{\expandafter\last@of@type@aux\the\toks}
+ \csname area@#2\endcsname
+ \endgroup
+}
+\def\last@of@type@aux#1#2#3#4#5#6#7{
+ \def\@tempa{#6}
+ \ifx\@tempa\@tempb
+ \gdef\returned@sequence@number{#7}
+ \fi}
+\def\setup@this@area #1 {
+ \xdef\this@area{#1}
+ \expandafter\gassign@area@type@col@and@span@aux\this@area
+}
+\def\gassign@area@type@col@and@span@aux #1#2#3{
+ \gdef \this@area@type {#1} % type
+ \gdef \this@area@col@number {#2} % col
+ \gdef \this@area@span@number {#3} % span
+}
+\def\update@this@area@columns #1 {
+ \begingroup
+ \count@\this@area@col@number\relax
+ \advance\count@\this@area@span@number\relax
+ \loop
+ \ifnum \this@area@col@number < \count@
+ \advance\count@\m@ne
+ #1
+ \repeat
+ \endgroup
+}
+\def\setup@collection@or{
+ \global\holdinginserts\@ne
+ \global\vsize\textheight
+ \global\advance\vsize 5\baselineskip
+ \global\multiply\vsize \col@count
+ \@flushseenfalse
+ \@flushfailfalse
+ \xdef\saved@topskip{\the\topskip}
+ \global\output{\collection@or}
+}
+\newif\if@collecting@new@material
+\def\@collecting@new@materialfalse
+ {\global\let\if@collecting@new@material\iffalse}
+\def\@collecting@new@materialtrue
+ {\global\let\if@collecting@new@material\iftrue}
+\def\collection@or{
+ \@testfalse
+ \ifnum\outputpenalty < -\@M
+ \ifnum\outputpenalty > -\output@balance@penalty
+ \@testtrue
+ \fi
+ \fi
+ \if@test
+ \remove@guard@box@from@cclv
+ \dimen@\dp\@cclv
+ \global\advance\vsize-\ht\@cclv
+ \global\setbox\partial@galley@box
+ \vbox{\ifvoid\partial@galley@box
+ \else
+ \unvbox\partial@galley@box
+ \fi
+ \unvbox\@cclv
+ \setbox\z@\vbox to-\dimen@{}
+ \dp\z@\dimen@
+ \box\z@
+ \penalty\outputpenalty
+ }
+ \global\topskip-\maxdimen % okay here?
+ \if@collecting@new@material
+ \ifnum \outputpenalty = -\output@columnbreak@penalty
+ \else
+ \setbox\z@\vbox to-\dimen@{}
+ \dp\z@\dimen@
+ \box\z@
+ \penalty\z@
+ \fi
+ \fi
+ \ifnum\outputpenalty=-\output@flush@float@penalty
+ \@flushseentrue
+ \fi
+ \else
+ \ifnum\outputpenalty = -\output@collect@penalty
+ \remove@guard@box@from@cclv
+ \unvbox\@cclv
+ \ifnum\saved@outputpenalty > -\@M
+ \penalty
+ \ifnum\saved@outputpenalty=\@M
+ \z@
+ \else
+ \saved@outputpenalty\relax
+ \fi
+ \else
+ \fi
+ \@collecting@new@materialtrue
+ \else
+ \ifnum\outputpenalty = -\output@balance@penalty
+ \@balancetrue
+ \xdef\saved@outputpenalty{0}
+ \else
+ \xdef\saved@outputpenalty{\the\outputpenalty}
+ \fi
+ \ifvoid\partial@galley@box
+ \global \setbox\@holdpg\box\@cclv
+ \else
+ \global\setbox\@holdpg\vbox{
+ \unvbox\partial@galley@box
+ \unvbox\@cclv}
+ \fi
+
+
+ \if@balance
+ \global\setbox\@holdpg\vbox{
+ \unvbox\@holdpg
+ \penalty\outputpenalty % short for "-\output@balance@penalty"
+ }
+ \fi
+
+ \mark@save@state
+ \mark@update@structure
+ \global\holdinginserts\z@
+
+ \global\topskip\saved@topskip
+
+ \setup@float@placement
+
+ \@collecting@new@materialfalse
+ \fi
+ \fi
+ }
+\newbox\partial@galley@box
+\def\initialise@float@class#1{
+ \count@0\LastMark{#1}
+ \global\expandafter\let\csname open@#1@areas\endcsname\used@areas
+ \global\expandafter\let\csname closed@#1@areas\endcsname\@empty
+ \forall@columns {
+ \ifnum \csname fl@ \the\curr@col@count @#1\endcsname>\z@
+ \global\expandafter\let\csname fl@0@#1\expandafter\endcsname
+ \csname fl@ \the\curr@col@count @#1\endcsname
+ \expandafter\xdef
+ \csname fl@ \the\curr@col@count @#1\endcsname{0}
+ \fi
+ \expandafter\xdef
+ \csname tfl@ \the\curr@col@count @#1\endcsname{0}
+ }
+ }
+\newif\if@fail
+\def\@failfalse{\global\let\if@fail\iffalse}
+\def\@failtrue{\global\let\if@fail\iftrue}
+\def\setup@float@placement {
+ \def\@elt{\global\advance\trial@count\@ne\@gobble}
+ \@activelist
+ \let\@elt\relax
+ \progress@separator
+ \progress@nl{STATS:~ floats~ waiting~ =~ \the\trial@count
+ \space on~ page~ \the\absolute@page@number}
+ \progress@separator
+ \global\trial@count\z@
+ \global\let\saved@herelist\@herelist
+ \tighten@float@placement@conditions
+ \run@with@floatsfalse
+ \float@placement@loop
+}
+\def\float@placement@loop{
+ \deadcycles\z@
+ \global\let\@activelist@empty@action\setup@best@column@or
+ \global\let\pretests@success@action\setup@grab@column@or
+ \mark@restore@state{
+ \unvcopy\@holdpg
+ \ifnum\saved@outputpenalty > -1073741824\relax
+ \add@badly@guarded@penalty\output@collect@penalty
+ \fi
+ \global\let\@herelist\saved@herelist
+ \ifrun@with@floats
+ \trial@inner@loop
+ \else
+ \setup@grab@column@or
+ \fi
+ }
+ }
+\def\trial@inner@loop{
+ \if@fail
+ \@failfalse
+ \@flushfailfalse
+ \global\advance\trial@count\@ne
+ \do@next\try@this@area
+ \else
+ \do@next\try@next@float
+ \fi
+ \do@continue
+ }
+\newcount\trial@count
+\let\try@this@area\ERROR
+\def\try@next@area{
+ \xdef\this@open@areas{\expandafter\@gobblethree\this@open@areas}
+ \global\advance\trial@count\@ne
+ \try@this@area
+}
+\def\try@next@float{
+ \@next\@currbox\@activelist{
+ \progress{Float:~ \@currbox}
+ \expandafter\update@this@float@structure\the\toks\@currbox
+ \global\let\saved@this@open@areas\this@open@areas
+ \global\advance\trial@count\@ne
+ \try@this@area
+ }
+ {
+ \progress@nl{STATS:~ trials~ =~ \the\trial@count}
+ \global\trial@count\z@
+ \@activelist@empty@action
+ }
+}
+\def\update@this@float@structure#1#2#3#4#5#6#7{
+ \gdef\this@caption{#1}
+ \gdef\this@span@number{#2}
+ \gdef\this@usercnt{#4}
+ \gdef\this@fps{#5}
+ \gdef\this@type{#6}
+ \global\expandafter\let\expandafter
+ \this@class\csname sequence@class@#6\endcsname
+ \gdef\this@sequence@number{#7}
+ \global\let\this@open@areas\used@areas
+ \global\expandafter\let\expandafter\this@closed@areas
+ \csname closed@\this@class @areas\endcsname % FMi tmp
+ \global\let\this@float@box\@currbox
+\progress{~{#7}}
+\progress{~{#6}~(\this@class)}
+\progress{~{#4}}
+\toks@{#1}\progress@nl{~{\the\toks@}}
+}
+\def \extract@this@float@actual@structure #1#2#3#4#5#6#7 {
+ \gdef\this@caption{#1}
+ \gdef\this@span@number{#2}
+ \gdef\this@loglabel{#3}
+ \gdef\this@usercnt{#4}
+ \gdef\this@fps{#5}
+ \gdef\this@type{#6}
+ \global\expandafter\let\expandafter
+ \this@class\csname sequence@class@#6\endcsname
+ \gdef\this@sequence@number{#7}
+ }
+\def\update@here@float@structure#1#2#3#4#5#6#7{
+ \gdef\here@span@number{#2}
+ \gdef\here@type{#6}
+ \global\expandafter\let\expandafter
+ \here@class\csname sequence@class@#6\endcsname
+ \gdef\here@sequence@number{#7}
+ \gdef\here@usercnt{#4}
+ \gdef\here@caption{#1}
+ \global\let\here@float@box\@currbox
+}
+\let\page@float@count\@colnum
+\newbox\this@captioned@float
+\def\setup@grab@column@or{
+ \ifnum\saved@outputpenalty = -1073741824\relax
+ \add@badly@guarded@penalty\output@collect@penalty
+ \fi
+ \@failfalse
+ \global\curr@col@count\z@
+ \gdef\trial@flush@seen@num{0}
+ \gdef\trial@here@seen@num{0}
+ \ifrun@with@floats
+ \calculate@target@fl@column
+ \global\expandafter\let\expandafter\saved@fl@
+ \csname fl@\the\count@ @\this@class\endcsname
+ \global\expandafter\let
+ \csname fl@\the\count@ @\this@class\endcsname
+ \this@sequence@number
+ \if t\this@area@type
+ \global\expandafter\let\expandafter\saved@tfl@
+ \csname tfl@\the\count@ @\this@class\endcsname
+ \global\expandafter\let
+ \csname tfl@\the\count@ @\this@class\endcsname
+ \this@sequence@number
+ \fi
+ \fi
+ \if@flushseen
+ \count@\z@
+ \@whilenum \flush@seq@num>\count@ \do
+ { \advance\count@\@ne
+ \global\expandafter\let
+ \csname saved@flush@min@col@\the\count@ \expandafter\endcsname
+ \csname flush@min@col@\the\count@\endcsname
+ }
+ \fi
+ \initialise@footins@action
+ \global\output{\grab@column@or}
+ \grab@column@loop
+}
+\let\calculate@target@fl@column \ERROR
+\def\calculate@target@fl@column@flexible {
+ \count@\this@area@col@number\relax
+ \advance\count@\this@area@span@number\relax
+ \advance\count@\m@ne
+}
+\def\calculate@target@fl@column@strict {
+ \count@\this@area@col@number\relax
+}
+\newif\ifrun@with@floats
+\def\run@with@floatsfalse{\global\let\ifrun@with@floats\iffalse}
+\def\run@with@floatstrue{\global\let\ifrun@with@floats\iftrue}
+\def\grab@column@loop{
+ \global\advance\curr@col@count\@ne
+ \global\vsize\csname col@ht@ \the\curr@col@count\endcsname
+}
+\def\some@column@or #1#2#3#4{
+ \handle@case@of@premature@ending
+ \handle@case@of@forced@pagebreak
+ \ifnum\outputpenalty=-\output@flush@float@penalty
+ \gincrement@num\trial@flush@seen@num
+ \remove@guard@box@from@cclv
+ \ifnum\csname flush@min@col@\trial@flush@seen@num\endcsname
+ > \curr@col@count
+ \gdecrement@num\trial@flush@seen@num
+ \readd@guarded@penalty\output@flush@float@penalty
+ #2
+ \else
+ #3
+ \fi
+ \else
+ \ifnum\outputpenalty=-\output@here@float@penalty
+ \gincrement@num\trial@here@seen@num
+ \remove@guard@box@from@cclv
+ \ifnum\csname here@min@col@\trial@here@seen@num\endcsname
+ > \curr@col@count
+ \split@off@last@line
+ \gdecrement@num\trial@here@seen@num
+ \readd@guarded@penalty\output@here@float@penalty
+ #2
+ \else
+ \@tempdima \pagegoal
+ \advance\@tempdima -\pagetotal
+ \ifdim \@tempdima <
+ \csname
+ here@required@space@\trial@here@seen@num
+ \endcsname \relax
+ \split@off@last@line
+ \gdecrement@num\trial@here@seen@num
+ \readd@guarded@penalty\output@here@float@penalty
+ #2
+ \else
+ \@reinserts
+ \unvbox\@cclv
+ \@next\@currbox\@herelist{
+ \expandafter\update@here@float@structure\the\toks\@currbox
+ \def\@tempa{mpar}
+ \ifx\@tempa\here@type
+ \typeset@a@marginpar
+ \else
+ \def\@tempa{rspace}
+ \ifx\@tempa\here@type
+ % do nothing
+ \else
+ #4
+ \fi
+ \fi
+ }
+ \ERROR
+ \fi
+ \fi
+ \else
+ \ifnum\outputpenalty=-\output@grid@align@penalty
+ \align@collected@galley@and@restart
+ \else
+ #2
+ \fi
+ \fi
+ \fi
+}
+\def\grab@column@or{\some@column@or{grab}
+ \grab@column@or@finish
+ \grab@column@or@flushcheck
+ \check@and@typeset@a@here@float
+}
+\def\grab@column@or@flushcheck{
+ \ifrun@with@floats
+ \expandafter\xin@\expandafter\this@class
+ \csname flush@classes@list@\trial@flush@seen@num\endcsname
+ \ifin@
+ \count@\csname flush@last@float@\trial@flush@seen@num\endcsname\relax
+ \ifnum\this@sequence@number>\count@
+ \else
+ \csname flush@fuzziness@\trial@flush@seen@num \endcsname
+ \fi
+ \fi
+ \fi
+ \if@fail
+ \@flushfailtrue
+ \global\setbox\@cclv\box\voidb@x
+ \global\setbox\footins\box\voidb@x
+ \global\curr@col@count\col@count
+ \grab@column@or@finish
+ \else
+ \ifnum\csname flush@min@col@\trial@flush@seen@num\endcsname<\curr@col@count
+ \expandafter\xdef
+ \csname flush@min@col@\trial@flush@seen@num\endcsname
+ {\the\curr@col@count}
+ \fi
+ \@reinserts
+ \unvbox\@cclv
+ % will change again
+ \fi
+}
+\def\flushcheck@page {
+}
+\def\flushcheck@spread {
+}
+\def\flushcheck@strict {
+ \ifnum\this@area@col@number<\curr@col@count
+ \else
+ \ifnum\this@area@col@number=\curr@col@count
+ \if b \this@area@type
+ \@failtrue
+ \progress@failed{area~ below~ flush~ point~
+ (\this@area@col@number=\the\curr@col@count,~\this@area)}
+ \fi
+ \else
+ \@failtrue
+ \progress@failed{area~ after~ flush~ point~
+ (\this@area@col@number>\the\curr@col@count,~\this@area)}
+ \fi
+ \fi
+}
+\def\flushcheck@column {
+ \ifnum\this@area@col@number>\curr@col@count
+ \@failtrue
+ \progress@failed{area~ after~ flush~ point~ column~
+ (\this@area@col@number>\the\curr@col@count,~\this@area)}
+ \fi
+}
+\def\grab@column@or@finish{
+ \mark@update@structure
+ \deal@with@footins@action
+ \if@fail\else
+ \ifrun@with@floats
+ \check@some@constraints
+ \fi
+ \fi
+ \if@fail\else
+ \ifrun@with@floats
+ \let\@elt\check@callout@constraints
+ \float@classes@list
+ \fi
+ \fi
+ \global\setbox\@cclv\box\voidb@x
+ \global\setbox\footins\box\voidb@x
+ \ifnum\curr@col@count=\col@count
+ \evaluate@results@of@trial
+ \setup@cleanup@or
+ \else
+ \grab@column@loop
+ \fi
+}
+\def\handle@case@of@premature@ending{
+ \ifnum\outputpenalty=-\output@collect@penalty
+ \remove@guard@box@from@cclv
+ \readd@guarded@penalty\output@collect@penalty
+ \fi
+}
+\let\check@some@constraints\relax
+\def\evaluate@results@of@trial{
+ \ifrun@with@floats
+ \ifx\try@this@area\std@try@this@area
+ \count@\trial@here@seen@num\relax
+ \advance\count@\page@float@count
+ \ifnum \pagesetup@max@float@num < \count@
+ \progress@failed{area~ +~ here~ floats~ exceed~ max~ floats}
+ \@failtrue
+ \fi
+ \fi
+ \fi
+ \if@fail
+ \if@flushseen
+ \count@\z@
+ \@whilenum \flush@seq@num>\count@ \do
+ { \advance\count@\@ne
+ \global\expandafter\let
+ \csname flush@min@col@\the\count@ \expandafter\endcsname
+ \csname saved@flush@min@col@\the\count@\endcsname
+ }
+ \fi
+
+ \if@flushfail
+ \ifx\try@this@area\relaxed@try@this@area
+
+ \expandafter\gincrement@num
+ \csname flush@min@col@\trial@flush@seen@num\endcsname
+ \progress@failed{flush~ point~ \trial@flush@seen@num\space
+ moved~ to~ column~
+ \csname flush@min@col@\trial@flush@seen@num\endcsname}
+ \else
+
+ \ifx\saved@this@open@areas\@empty
+ \ERROR
+ \else
+ \global\let\this@open@areas\saved@this@open@areas
+ \fi
+ \relax@float@placement@conditions
+ \fi
+ \else
+ \xdef\this@open@areas{\expandafter\@gobblethree\this@open@areas}
+ \fi
+
+ \calculate@target@fl@column
+ \global\expandafter\let
+ \csname fl@\the\count@ @\this@class\endcsname
+ \saved@fl@
+ \if t\this@area@type
+ \global\expandafter\let
+ \csname tfl@\the\count@ @\this@class\endcsname
+ \saved@tfl@
+ \fi
+ \update@this@area@columns
+ {
+ \global\csname col@ht@ \the\count@\endcsname
+ \csname saved@col@ht@ \the\count@\endcsname\relax
+ \global\expandafter\let
+ \csname col@ \this@area@type @delta@ \the\count@
+ \expandafter \endcsname
+ \csname saved@col@ \this@area@type @delta@ \the\count@ \endcsname
+ }
+ \else
+ \let\progress@inform@later\@empty
+ \if@flushseen
+ \count@\flush@seq@num\relax
+ \loop
+ \ifnum \trial@flush@seen@num < \count@
+ \global\@namedef{flush@min@col@\the\count@}{\maxdimen}
+ \advance\count@\m@ne
+ \repeat
+ \let\progress@inform@later\@empty
+ \ifrun@with@floats
+ \ifnum \count@ > \z@
+ \ifnum \csname flush@last@float@\trial@flush@seen@num\endcsname =
+ \this@sequence@number \relax
+ \def\progress@inform@later{
+ \progress@nl{->~ past~ flush~ point:~ -->~
+ tighten~ conditions~ again}
+ \progress@nl{}
+ }
+ \partly@tighten@float@placement@conditions
+ \fi
+ \fi
+ \fi
+ \count@\z@
+ \global\let\flush@classes@list@max\@empty
+ \loop
+ \ifnum \trial@flush@seen@num > \count@
+ \advance\count@\@ne
+ \xdef\flush@classes@list@max{
+ \flush@classes@list@max;
+ \csname flush@classes@list@\the\count@\endcsname
+ }
+ \repeat
+ \fi
+ \ifrun@with@floats
+ \update@best@trial
+ \progress@inform@later
+ \else
+ \run@with@floatstrue
+ \fi
+ \fi
+ }
+\let\best@trial\@empty
+\def\update@best@trial{
+ \progress@nl{->~ accepted}
+ \global\let\best@trial\@empty
+ \forall@columns{
+ \expandafter
+ \g@addto@macro\expandafter\best@trial\expandafter
+ {
+ \expandafter
+ \global
+ \csname col@ht@ \the\curr@col@count\expandafter\endcsname
+ \the\csname col@ht@ \the\curr@col@count\endcsname
+ }
+ }
+ \expandafter\@cons\csname area@\this@area\expandafter\endcsname
+ \this@float@box
+ \xdef\this@page@closed{\this@page@closed,
+ \csname pagesetup@\this@area @all@close\endcsname}
+ \xdef\this@closed@areas{\this@closed@areas,
+ \csname pagesetup@\this@area @class@close\endcsname}
+ \global\expandafter\let\csname open@\this@class
+ @areas\endcsname % FMi tmp
+ \this@open@areas
+ \global\expandafter\let\csname closed@\this@class
+ @areas\endcsname % FMi tmp
+ \this@closed@areas
+ \global\advance\page@float@count\@ne
+ \global\advance\csname \this@area @float@count\endcsname\@ne
+ \update@this@area@columns
+ {
+ \expandafter
+ \gincrement@num
+ \csname col@ \this@area@type
+ @floats@ \the\count@ @number\endcsname
+ }
+}
+
+\def\setup@best@column@or{
+ \global\curr@col@count\z@
+ \gdef\trial@flush@seen@num{0}
+ \gdef\trial@here@seen@num{0}
+ \perhaps@write@placements@to@fpl@file
+ \best@trial
+ \initialise@footins@action
+ \global\output{\best@column@or}
+ \best@column@loop
+}
+\def\best@column@loop{
+ \global\advance\curr@col@count\@ne
+ \global\vsize\csname col@ht@ \the\curr@col@count\endcsname
+}
+\def\best@column@or{\some@column@or{best}
+ \best@column@or@finish
+ {
+ \@reinserts
+ \unvbox\@cclv
+ }
+ {
+ \perhaps@write@to@fpl@file{
+ \@spaces Area:~hhh^^J
+ \expandafter\perhaps@write@placements@to@fpl@file@aux\the\toks\@currbox}
+ \typeset@a@here@float
+ }
+}
+\def\best@column@or@finish{
+ \mark@update@structure
+ \deal@with@footins@action
+ \produce@final@column
+ \ifnum\curr@col@count=\col@count
+ \produce@final@page
+ \initialise@next@page
+ \try@float@pages
+ \place@deferred@floats
+ \setup@collection@or
+ \else
+ \best@column@loop
+ \fi
+}
+\def\initialise@next@page{
+ \initialise@column@data
+ \initialise@areas
+ \global\page@float@count\z@
+ \initialise@flush@data
+ \initialise@here@data
+ \initialise@footins@action
+ \global\let\this@page@closed\@empty
+ \let\@elt\initialise@float@class
+ \float@classes@list
+ \let\@elt\relax
+ \global\let\this@float@box\@undefined
+ }
+\def \handle@case@of@forced@pagebreak{
+ \ifnum\curr@col@count<\col@count
+ \ifnum\outputpenalty=-\@M
+ \@emptycol
+ \fi
+ \fi
+
+ \ifnum\outputpenalty=-\output@balance@penalty
+ \remove@guard@box@from@cclv
+ \ifnum\curr@col@count<\col@count
+ \@emptycol
+ \fi
+ \fi
+}
+\def\setup@cleanup@or{
+ \global\vsize\maxdimen
+ \global\output{\cleanup@or}
+ }
+\def\cleanup@or{
+ \global\setbox\@cclv\box\voidb@x
+ \global\setbox\footins\box\voidb@x
+ \ifnum\outputpenalty=-\output@collect@penalty
+ \float@placement@loop
+ \fi
+}
+\def\try@float@pages {
+ \ifx\area@ddd\@empty
+ \else
+ \global\let\@activelist@empty@action\relax
+ \global\let\pretests@success@action\floatpage@pretests@success@action
+ \global\let\try@this@area\relaxed@try@this@area
+ \let\@elt\split@defer@list
+ \area@ddd
+ \let\@elt\relax
+ \global\let\area@ddd\@empty
+ \@floatpagetrue
+ \loop
+ \if@floatpage
+ \begingroup % no nesting of \loop without grouping ...
+ \def\@elt{\global\advance\trial@count\@ne\@gobble}
+ \@activelist
+ \let\@elt\relax
+ \progress@nl{}
+ \progress@separator
+ \progress@nl{STATS:~ floats~ waiting~ =~ \the\trial@count
+ \space on~ page~ \the\absolute@page@number\space (float~ page)}
+ \progress@separator
+ \global\trial@count\z@
+ \try@float@page
+ \endgroup
+ \repeat
+ \global\let\try@this@area\std@try@this@area
+ \fi
+}
+\def\try@float@page {
+ \save@current@float@state
+ \trial@inner@loop
+ \dimen@\z@
+ \forall@columns{
+ \advance\dimen@ \csname
+ col@ht@ \the\curr@col@count \endcsname
+ }
+ \ifdim \dimen@ > 300pt \relax
+ \@floatpagefalse
+ \progress@failed{no~ float~ page~ made}
+ \progress@nl{}
+ \saved@float@state
+ \gdef\trial@flush@seen@num{0}
+ \gdef\trial@here@seen@num{0}
+ \initialise@next@page
+ \else
+ \progress@nl{succeeded}
+ \progress@nl{}
+ \forall@columns{
+ \global\setbox\csname col@box@\the\curr@col@count\endcsname
+ \vbox to \csname col@ht@ \the\curr@col@count\endcsname{}
+ \produce@final@column
+ }
+ \perhaps@write@placements@to@fpl@file
+ \produce@final@page
+ \initialise@next@page
+ \xdef\@activelist{\area@ddd\@activelist}
+ \global\let\area@ddd\@empty
+ \fi
+}
+\newif\if@floatpage
+\def\@floatpagefalse{\global\let\if@floatpage\iffalse}
+\def\@floatpagetrue{\global\let\if@floatpage\iftrue}
+\def\save@current@float@state {
+ \xdef\saved@float@state{\gdef\noexpand\@activelist{\@activelist}}
+ \forall@columns {
+ \expandafter
+ \g@addto@macro
+ \expandafter \saved@float@state
+ \expandafter { \expandafter \global
+ \csname col@ht@ \the\curr@col@count\expandafter\endcsname
+ \the \csname col@ht@ \the\curr@col@count\endcsname
+ }
+ }
+ \expandafter\save@area@info\used@areas ddd\relax\relax\relax
+}
+\def\save@area@info#1#2#3{
+ \ifx#1\relax
+ \else
+ \edef\@tempa {
+ \global\csname #1#2#3@float@count\endcsname
+ \the\csname #1#2#3@float@count\endcsname
+ \gdef \expandafter\noexpand \csname area@#1#2#3\endcsname
+ {\csname area@#1#2#3\endcsname}
+ }
+ \expandafter
+ \g@addto@macro
+ \expandafter \saved@float@state
+ \expandafter { \@tempa }
+
+ \expandafter\save@area@info
+ \fi}
+\let\saved@float@state\@empty
+\def\split@defer@list #1 {
+ \def\@currbox{#1}
+ \expandafter\extract@this@float@actual@structure\the\toks #1
+ \ifnum 0\LastMark{\this@class} < \this@sequence@number
+ \@cons \@mvllist #1
+ \else
+ \@cons \@activelist #1
+ \fi
+}
+\def\place@deferred@floats {
+ \xdef\@activelist{\@activelist\@mvllist}
+ \global\let\@mvllist\@empty
+}
+\iffalse % we don't do it right now
+\def\place@deferred@floats {
+ \global\let\@activelist@empty@action\relax
+ \global\let\pretests@success@action\floatpage@pretests@success@action
+\showfloatlists
+ \trial@inner@loop
+ \xdef\@activelist{\area@ddd\@mvllist}
+ \global\let\area@ddd\@empty
+ \global\let\@mvllist\@empty
+}
+\fi
+\def\floatpage@pretests@success@action{
+ \update@best@trial
+ \trial@inner@loop
+ }
+\newif\if@balance
+\def\@balancefalse{\global\let\if@balance\iffalse}
+\def\@balancetrue{\global\let\if@balance\iftrue}
+\def\balancecolumns {
+ \add@badly@guarded@penalty\output@balance@penalty
+}
+\newif\if@flushseen
+\def\@flushseenfalse{\global\let\if@flushseen\iffalse}
+\def\@flushseentrue{\global\let\if@flushseen\iftrue}
+\newif\if@flushfail
+\def\@flushfailfalse{\global\let\if@flushfail\iffalse}
+\def\@flushfailtrue{\global\let\if@flushfail\iftrue}
+\DeclareDocumentCommand\flushfloats { o O{strict} }
+ { \flush@floats {#1} {#2} }
+\def\flush@floats #1 #2 {
+ \add@badly@guarded@penalty\output@flush@float@penalty
+ \gincrement@num\flush@seq@num
+ \global\@namedef{flush@min@col@\flush@seq@num}{1}
+ \expandafter\xdef
+ \csname flush@last@float@\flush@seq@num \endcsname
+ {\the\float@sequence@count}
+ \IfNoValueTF{#1}{
+ \def\@elt##1{##1;}
+ \expandafter\xdef
+ \csname flush@classes@list@\flush@seq@num \endcsname
+ {\float@classes@list}
+ \let\@elt\relax
+ }
+ {\expandafter\ifx\csname sequence@class@#1\endcsname
+ \relax
+ \ErrorArgumentNotAFloatType
+ \else
+ \global\expandafter\let
+ \csname flush@classes@list@\flush@seq@num
+ \expandafter\endcsname
+ \csname sequence@class@#1\endcsname
+ \fi
+ }
+ \@ifundefined {flushcheck@#2}
+ \userinputERROR
+ {\global\expandafter\let
+ \csname flush@fuzziness@\flush@seq@num \expandafter \endcsname
+ \csname flushcheck@#2\endcsname
+ }
+}
+\def\clearpage{ \flushfloats \newpage }
+\def\doubleclearpage{ \clearpage }
+\def\flush@seq@num{0}
+\def\trial@flush@seen@num{0}
+
+\expandafter\let\csname flush@last@float@1 \endcsname\ERROR
+\expandafter\let\csname flush@classes@list@1 \endcsname\ERROR
+\expandafter\let\csname flush@min@col@1 \endcsname\ERROR
+\expandafter\let\csname flush@fuzziness@1 \endcsname\ERROR
+\expandafter\let\csname flush@last@float@2 \endcsname\ERROR
+\expandafter\let\csname flush@classes@list@2 \endcsname\ERROR
+\expandafter\let\csname flush@min@col@2 \endcsname\ERROR
+\expandafter\let\csname flush@fuzziness@2 \endcsname\ERROR
+\expandafter\let\csname flush@last@float@3 \endcsname\ERROR
+\expandafter\let\csname flush@classes@list@3 \endcsname\ERROR
+\expandafter\let\csname flush@min@col@3 \endcsname\ERROR
+\expandafter\let\csname flush@fuzziness@3 \endcsname\ERROR
+\let\flush@classes@list@max\@empty
+\def \initialise@flush@data{
+ \count@\flush@seq@num\relax
+ \advance\count@ -\trial@flush@seen@num
+ \xdef\flush@seq@num{\the\count@}
+ \@tempcnta\trial@flush@seen@num
+ \@tempcntb\z@
+ \loop
+ \ifnum \@tempcntb < \count@
+
+ \advance\@tempcnta\@ne
+ \advance\@tempcntb\@ne
+ \global\expandafter\let
+ \csname flush@fuzziness@\the\@tempcntb \expandafter\endcsname
+ \csname flush@fuzziness@\the\@tempcnta \endcsname
+
+ \global\expandafter\let
+ \csname flush@last@float@\the\@tempcntb \expandafter\endcsname
+ \csname flush@last@float@\the\@tempcnta \endcsname
+
+ \global\expandafter\let
+ \csname flush@classes@list@\the\@tempcntb \expandafter\endcsname
+ \csname flush@classes@list@\the\@tempcnta \endcsname
+
+ \global\@namedef{flush@min@col@\the\@tempcntb}{1}
+ \repeat
+ \global\let\flush@classes@list@max\@empty
+ \gdef\trial@flush@seen@num{0}
+}
+\def\here@seq@num{0}
+\def\trial@here@seen@num{0}
+\let\@herelist\@empty
+\let\saved@herelist\@empty
+\def\here@point #1#2{
+ \@cons\@herelist#1
+ \gincrement@num\here@seq@num
+ \global\@namedef{here@min@col@\here@seq@num}{1}
+ \setlength\dimen@{#2}
+ \expandafter\xdef
+ \csname here@required@space@\here@seq@num \endcsname
+ {\the\dimen@}
+ \add@badly@guarded@penalty\output@here@float@penalty
+}
+\def \initialise@here@data{
+ \count@\here@seq@num\relax
+ \advance\count@ -\trial@here@seen@num
+ \xdef\here@seq@num{\the\count@}
+ \@tempcnta\trial@here@seen@num
+ \@tempcntb\z@
+ \loop
+ \ifnum \@tempcntb < \count@
+
+ \advance\@tempcnta\@ne
+ \advance\@tempcntb\@ne
+ \global\expandafter\let
+ \csname here@required@space@\the\@tempcntb \expandafter\endcsname
+ \csname here@required@space@\the\@tempcnta \endcsname
+
+ \global\@namedef{here@min@col@\the\@tempcntb}{1}
+ \repeat
+}
+\def \split@off@last@line{
+ \dimen@\ht\@cclv
+ \advance\dimen@-\pageshrink
+ \advance\dimen@-1sp
+ \splitmaxdepth\@maxdepth
+ \setbox\z@\vsplit\@cclv to\dimen@
+ \dimen@\csname
+ here@required@space@\trial@here@seen@num
+ \endcsname
+ \advance\dimen@\ht\@cclv
+ \advance\dimen@\dp\@cclv
+ \ifdim \dimen@ > \textheight
+ \ERROR-HERE-TOO-LARGE
+ \dimen@\textheight
+ \advance\dimen@-\ht\@cclv
+ \advance\dimen@-\dp\@cclv
+ \expandafter\xdef\csname
+ here@required@space@\trial@here@seen@num
+ \endcsname{\the\dimen@}
+ \fi
+ \unvbox\@cclv
+ \global\setbox\@cclv\box\z@
+}
+\def \align@collected@galley@and@restart {
+ \remove@guard@box@from@cclv
+ \snap@to@grid{\ht\@cclv}\pagesetup@grid@point@sep
+ \ifdim \returned@size > \pagegoal
+ % \csname col@ht@ \the\curr@col@count\endcsname % not!
+ \ifdim \returned@lower@delta@size < \pageshrink
+ \global\let \returned@size \returned@lower@size
+ \xdef \returned@delta@size {-\returned@lower@delta@size }
+ \else
+ \OuchERROR
+ \fi
+ \else
+ \ifdim \returned@lower@delta@size < \returned@delta@size \relax
+ \ifdim \returned@lower@delta@size < \pageshrink
+ \global\let \returned@size \returned@lower@size
+ \xdef \returned@delta@size {-\returned@lower@delta@size }
+ \fi
+ \fi
+ \fi
+ \vbox to\returned@size{\unvbox\@cclv}
+ \@reinserts
+}
+\def\OuchERROR{
+ \progress@failed{next~ possible~ grid~ point~ in~ column~
+ \the\curr@col@count\space outside~ page}
+}
+\def\std@AlignToGrid{
+ \add@badly@guarded@penalty\output@grid@align@penalty
+}
+\def\IgnoreAlignToGrid{
+ \global\let\AlignToGrid\relax
+}
+\def\ObeyAlignToGrid{
+ \global\let\AlignToGrid\std@AlignToGrid
+}
+\let\AlignToGrid\ERROR
+\def\TextAlignToGrid{ \leavevmode \AlignToGrid }
+\AtBeginDocument{
+ \begingroup
+ \col@count6\relax
+ \initialise@column@data
+ \forall@columns {
+ \def\@elt#1{
+ \global\@namedef{fl@\the\curr@col@count @#1}{0}
+ \global\@namedef{tfl@\the\curr@col@count @#1}{0}
+ }
+ \float@classes@list
+ }
+ \def\@elt#1{
+ \global\expandafter\let\csname fps@#1\endcsname\known@areas
+ \global\@namedef{fl@0@#1}{0}
+ }
+ \float@classes@list
+ \endgroup
+ \@collecting@new@materialtrue
+ \setup@collection@or
+}
+\endinput
+%%
+%% End of file `xo-or.sty'.
diff --git a/Master/texmf-dist/tex/latex3/xor/xo-page.sty b/Master/texmf-dist/tex/latex3/xor/xo-page.sty
new file mode 100644
index 00000000000..51845c532ae
--- /dev/null
+++ b/Master/texmf-dist/tex/latex3/xor/xo-page.sty
@@ -0,0 +1,283 @@
+%%
+%% This is file `xo-page.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xo-page.dtx (with options: `package,progress')
+%%
+%% Not for distribution
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+
+\def\@tempa#1: #2.dtx,v #3 #4 #5 #6 #7${
+ \ProvidesPackage{#2}[#4 #3 #5 #6]}
+\@tempa$Id: xo-page.dtx,v 1.34 2000/08/11 07:14:27 latex3 Exp $
+\IgnoreWhiteSpace
+\let\initialise@footins@action\relax
+\let\deal@with@footins@action\relax
+\DeclareTemplateType{footnotesetup}{0}
+\DeclareTemplate{footnotesetup}{std}{0}{
+ text-sep =+l \skip\footins,
+ max-height =+l \dimen\footins,
+ }
+ {
+
+ \global\skip\footins 10pt plus 5pt
+ \global\dimen\footins.7\textheight
+
+ \DoParameterAssignments
+
+ \let\initialise@footins@action\relax
+ \let\deal@with@footins@action\relax
+
+ \global\count\footins\@m
+
+ }
+\DeclareTemplate{footnotesetup}{ftnright}{0}{
+ text-sep =+l \rcol@footinsskip,
+ max-height =+l \dimen\footins,
+ }
+ {
+
+ \global\rcol@footinsskip 10pt plus 5pt
+ \global\dimen\footins\textheight
+
+ \DoParameterAssignments
+
+ \let\initialise@footins@action\initialise@footins@ftnright
+ \let\deal@with@footins@action\deal@with@footins@ftnright
+
+ }
+\DeclareTemplate{footnotesetup}{margin}{0}{
+ max-height =+l \dimen\footins,
+ }
+ {
+
+ \global\dimen\footins.7\textheight
+
+ \DoParameterAssignments
+
+ \let\initialise@footins@action\initialise@footins@margin
+ \let\deal@with@footins@action\deal@with@footins@margin
+
+ \global\count\footins\z@
+ \global\skip\footins \z@
+
+ }
+\newbox\saved@footins
+\newskip\rcol@footinsskip
+\def \initialise@footins@ftnright {
+ \global\setbox\saved@footins\box\voidb@x
+ \global\skip\footins\z@
+ \global\count\footins\z@
+ \global\dimen\footins\textheight
+}
+\def \deal@with@footins@ftnright {
+ \ifnum\curr@col@count<\col@count
+ \ifvoid\footins
+ \else
+ \global\setbox\saved@footins
+ \vbox{\unvbox\saved@footins
+ \unvbox\footins}
+ \fi
+ \count@\col@count
+ \advance\count@\m@ne
+ \ifnum\curr@col@count=\count@ % cur col = second last col
+ \global\count\footins\@m
+ \global\skip\footins\rcol@footinsskip
+ \ifvoid\saved@footins
+ \else
+ \insert\footins{\unvbox\saved@footins}
+ \fi
+ \fi
+ \fi
+}
+\def \deal@with@footins@margin {
+ \ifvoid\footins
+ \else
+ \global\setbox\saved@footins
+ \vbox{\unvbox\saved@footins
+ \unvbox\footins}
+ \fi
+}
+\def \initialise@footins@margin {
+ \global\setbox\saved@footins\box\voidb@x
+}
+\def\test@named@key #1#2#3#4 {
+ \global\expandafter\let \expandafter #1
+ \csname #2 \endcsname
+ \ifx #1 \relax
+ \PackageError{template}{#3~ unknown}
+ {#3~ can~ be~ either~ #4}
+ \fi
+}
+\def\DeclareFloatArea#1#2{
+ \xdef\known@areas{\known@areas#1}
+ \DeclareInstance{floatareasetup}{#1}{std}
+ { name = #1, #2 }
+ \UseInstance{floatareasetup}{#1}
+}
+\DeclareTemplateType{floatareasetup}{0}
+\DeclareTemplate{floatareasetup}{std}{0}{
+ name =n \floatareasetup@name,
+ class-close-list=n \floatareasetup@class@close,
+ all-close-list =n \floatareasetup@all@close,
+ max-float-num =C \floatareasetup@maxfloats,
+ }
+ {
+
+ \DoParameterAssignments
+ \@ifundefined{\floatareasetup@name @float@count}
+ {\expandafter\newcount\csname \floatareasetup@name
+ @float@count\endcsname}
+ {}
+ \global\expandafter\let
+ \csname pagesetup@ \floatareasetup@name @float@num\endcsname
+ \floatareasetup@maxfloats
+ \global\expandafter\let
+ \csname pagesetup@ \floatareasetup@name @class@close\endcsname
+ \floatareasetup@class@close
+ \global\expandafter\let
+ \csname pagesetup@ \floatareasetup@name @all@close\endcsname
+ \floatareasetup@all@close
+ \global\expandafter\let
+ \csname area@\floatareasetup@name\endcsname
+ \@empty
+}
+\DeclareTemplateType{pagesetup2}{0}
+\DeclareTemplate{pagesetup2}{std}{0}{
+ column-num =+c \col@count,
+ column-width =+l \columnwidth,
+ column-height =+l \textheight, % FMi tmp
+ column-sep =+l \columnsep,
+ max-float-num =C \pagesetup@max@float@num,
+ float-callout-constraint =n \pagesetup@float@callout,
+ float-callout-span-constraint =n \pagesetup@float@callout@span,
+ bottom-float-footnote-constraint =n \pagesetup@float@footnote,
+ flush-float-callout-constraint =n \pagesetup@flush@float@callout,
+ flush-float-callout-span-constraint =n \pagesetup@flush@float@callout@span,
+ flush-bottom-float-footnote-constraint =n
+ \pagesetup@flush@float@footnote,
+ area-list =n \pagesetup@area@list,
+ defer-class-close-list=n \pagesetup@ddd@class@close,
+ defer-all-close-list =n \pagesetup@ddd@all@close,
+ footnote-setup =i {footnotesetup} \pagesetup@footnote@setup,
+ float-float-sep =+l \pagesetup@float@float@sep,
+ float-area-sep =+l \pagesetup@float@area@sep,
+ float-text-sep =+l \pagesetup@float@text@sep,
+ float-inline-sep =+l \pagesetup@float@inline@sep,
+ grid-point-sep =+L \pagesetup@grid@point@sep,
+ }
+ {
+ \newpage
+
+ \global\col@count\@ne
+ \def\pagesetup@max@float@num{3}
+ \def\pagesetup@float@callout{column}
+ \def\pagesetup@float@footnote{none}
+ \def\pagesetup@flush@float@callout{\pagesetup@float@callout}
+ \def\pagesetup@flush@float@footnote{\pagesetup@float@footnote}
+ \def\pagesetup@float@callout@span{flexible}
+ \def\pagesetup@flush@float@callout@span{\pagesetup@float@callout@span}
+ \let\pagesetup@ddd@class@close\maxdimen %impossible value
+ \let\pagesetup@ddd@all@close\@empty
+ \def\pagesetup@footnote@setup{\UseTemplate{footnotesetup}{std}{}}
+ \global\let\pagesetup@grid@point@sep\z@ % no grid points by default
+
+ \DoParameterAssignments
+ \ifdim \pagesetup@grid@point@sep = \z@
+ \global\let\snap@to@grid\dummy@snap@to@grid
+ \IgnoreAlignToGrid
+ \global\let\std@AlignToGrid\relax
+ \else
+ \global\let\snap@to@grid\std@snap@to@grid
+ \ObeyAlignToGrid
+ \fi
+ \split@skip{float-text-sep}
+ \pagesetup@float@text@sep
+ \dimen@
+ {\global\pagesetup@float@text@shrink}
+ \split@skip{float-inline-sep}
+ \pagesetup@float@inline@sep
+ \dimen@
+ {\global\pagesetup@float@inline@shrink}
+ \global\pagesetup@float@inline@sep \@ne\pagesetup@float@inline@sep
+ \global\hsize\columnwidth
+ \global\linewidth\columnwidth
+
+ \setlength \@tempdima {\headheight + \headsep}
+ \xdef \pagebodytopvpos {\the\@tempdima}
+
+ \setlength \@tempdima {\@tempdima + \textheight}
+ \xdef \pagebodybotvpos {\the\@tempdima}
+
+%% horiz
+ \setlength \@tempdima {\columnwidth + \columnsep}
+ \xdef \columndisplacement {\the\@tempdima}
+
+ \ifx\pagesetup@ddd@class@close\maxdimen % not set?
+ \let\pagesetup@ddd@class@close\pagesetup@area@list
+ \fi
+ \test@named@key
+ \std@check@callout@constraints
+ {check@callout@\pagesetup@float@callout}
+ {float-callout-constraint}
+ {`none',~ `page',~ `column',~ or~ `after'}
+ \test@named@key
+ \relaxed@check@callout@constraints
+ {check@callout@\pagesetup@flush@float@callout}
+ {flush-float-callout-constraint}
+ {`none',~ `page',~ `column',~ or~ `after'}
+ \test@named@key
+ \std@check@some@constraints
+ {check@float@footnote@\pagesetup@float@footnote}
+ {bottom-float-footnote-constraint}
+ {`none'~ or~ `forbidden'}
+ \test@named@key
+ \relaxed@check@some@constraints
+ {check@float@footnote@\pagesetup@flush@float@footnote}
+ {flush-bottom-float-footnote-constraint}
+ {`none'~ or~ `forbidden'}
+ \test@named@key
+ \std@calculate@target@fl@column
+ {calculate@target@fl@column@\pagesetup@float@callout@span}
+ {float-callout-span-constraint}
+ {`strict'~ or~ `flexible'}
+ \test@named@key
+ \relaxed@calculate@target@fl@column
+ {calculate@target@fl@column@\pagesetup@flush@float@callout@span}
+ {flush-float-callout-span-constraint}
+ {`strict'~ or~ `flexible'}
+ \global\let\check@some@constraints\std@check@some@constraints
+ \global\let\check@callout@constraints\std@check@callout@constraints
+ \global\let\calculate@target@fl@column\std@calculate@target@fl@column
+ \global\let\used@areas\@empty
+ \expandafter
+ \@for \expandafter \@tempa \expandafter:\expandafter=
+ \pagesetup@area@list \do
+ {
+ \xdef\used@areas{\used@areas\@tempa}
+ \UseInstance{floatareasetup}{\@tempa}
+ }
+
+ \pagesetup@footnote@setup
+ \initialise@next@page
+ \setup@collection@or
+ }
+\endinput
+%%
+%% End of file `xo-page.sty'.
diff --git a/Master/texmf-dist/tex/latex3/xor/xo-place.sty b/Master/texmf-dist/tex/latex3/xor/xo-place.sty
new file mode 100644
index 00000000000..31018b431e4
--- /dev/null
+++ b/Master/texmf-dist/tex/latex3/xor/xo-place.sty
@@ -0,0 +1,422 @@
+%%
+%% This is file `xo-place.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xo-place.dtx (with options: `package,progress')
+%%
+%% Not for distribution
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+
+\def\@tempa#1: #2.dtx,v #3 #4 #5 #6 #7${
+ \ProvidesPackage{#2}[#4 #3 #5 #6]}
+\@tempa$Id: xo-place.dtx,v 1.37 2000/08/11 07:14:28 latex3 Exp $
+\IgnoreWhiteSpace
+\def\std@try@this@area{
+ \ifx\this@open@areas\@empty
+ \do@next\defer@and@try@next@float
+ \else
+ \setup@this@area{\expandafter\@carcube\this@open@areas\@nil}
+ \progress{~ area~trial:~ \this@area}
+ \ifnum \this@area@span@number = \if!\this@span@number! 1\else % big hack
+ \this@span@number \fi
+ \relax
+ \ifnum \pagesetup@max@float@num > \page@float@count
+ \ifnum\csname pagesetup@\this@area @float@num\endcsname =
+ \csname \this@area @float@count \endcsname
+ \progress@failed{\this@area\space float~num~reached ~
+ (\csname pagesetup@\this@area @float@num\endcsname)}
+ \do@next\try@next@area
+ \else
+ \xin@\this@area
+ \this@page@closed
+ \ifin@
+ \progress@failed{area~ closed~ for~ all~ types}
+ \do@next\try@next@area
+ \else
+ \xin@\this@area
+ \this@closed@areas
+ \ifin@
+ \progress@failed
+ {area~ closed~ for~ class~ \this@class}
+ \do@next\try@next@area
+ \else
+ \xin@\this@area\this@fps
+ \ifin@
+ \append@caption@to@float
+ \construct@and@test@col@hts
+ \if@test
+ \do@next\try@next@area
+ \else
+ \do@next\pretests@success@action
+ \fi
+
+ \else
+ \progress@failed{\this@area\space float~not~allowed~
+ by~ user~ control~ (\this@fps)}
+ \do@next\try@next@area
+ \fi
+ \fi
+ \fi
+ \fi
+ \else
+ \global\let\this@open@areas\@empty
+ \progress@failed{max~float~num~reached ~(\pagesetup@max@float@num)}
+ \do@next\defer@and@try@next@float
+ \fi
+ \else
+ \progress@failed{span~ count~ \this@area \space /=~
+ \if!\this@span@number! 1\else % big hack
+ \this@span@number \fi}
+ \do@next\try@next@area
+ \fi
+ \fi
+ \do@continue
+}
+\def\do@next{\let\do@continue}
+\def\relaxed@try@this@area{
+ \ifx\this@open@areas\@empty
+ \do@next\defer@and@try@next@float
+ \else
+ \setup@this@area{\expandafter\@carcube\this@open@areas\@nil}
+ \progress{~ area~trial:~ \this@area}
+ \ifnum \this@area@span@number = \if!\this@span@number! 1\else % big hack
+ \this@span@number \fi
+ \relax
+ \xin@\this@area\this@page@closed
+ \ifin@
+ \progress@failed{area~ closed~ for~ all~ types}
+ \do@next\try@next@area
+ \else
+ \xin@\this@area
+ \this@closed@areas
+ \ifin@
+ \progress@failed
+ {area~ closed~ for~ class~ \this@class}
+ \do@next\try@next@area
+ \else
+ \append@caption@to@float
+ \construct@and@test@col@hts
+ \if@test
+ \do@next\try@next@area
+ \else
+ \do@next\pretests@success@action
+ \fi
+ \fi
+ \fi
+ \else
+ \progress@failed{span~ count~ \this@area \space /=~
+ \if!\this@span@number! 1\else % big hack
+ \this@span@number \fi}
+ \do@next\try@next@area
+ \fi
+ \fi
+ \do@continue
+}
+\def\construct@and@test@col@hts {
+ \update@this@area@columns
+ {
+ \expandafter
+ \construct@and@test@col@ht
+ \csname col@ht@ \the\count@ \endcsname
+ {\the\count@}
+ \if@test
+ \count@\z@ % break out of loop
+ \fi
+ }
+}
+\def\construct@and@test@col@ht#1#2{
+ \@tempdima \ht\this@captioned@float
+ \advance \@tempdima \dp\this@captioned@float
+ \ifnum \csname col@ \this@area@type
+ @floats@#2@number\endcsname
+ = \z@
+ \advance \@tempdima \pagesetup@float@text@sep
+ \else
+ \advance \@tempdima
+ \expandafter
+ \ifx \csname area@\this@area\endcsname\@empty
+ \pagesetup@float@area@sep
+ \else
+ \pagesetup@float@float@sep
+ \fi
+ \fi
+ \advance \@tempdima
+ -\csname col@ \this@area@type @delta@ #2 \endcsname \relax
+ \snap@to@grid \@tempdima \pagesetup@grid@point@sep
+ \ifdim \returned@lower@delta@size < \returned@delta@size \relax
+ \ifdim \returned@lower@delta@size < \pagesetup@float@text@shrink
+ \global\let \returned@size \returned@lower@size
+ \xdef \returned@delta@size {-\returned@lower@delta@size }
+ \fi
+ \fi
+ \@tempdima \returned@size
+ \@tempdimb#1
+ \advance \@tempdimb -\@tempdima
+ \@testfalse
+ \ifdim \textminlines\baselineskip > \@tempdimb
+ \@testtrue
+ \progress@failed{not~ enough~ text~ space~
+ (\textminlines x\the\baselineskip\space
+ >~ \the\@tempdimb)}
+ \else
+ \expandafter\xdef
+ \csname saved@col@ht@ #2\endcsname{\the#1}
+ \global#1\@tempdimb
+ \global\expandafter\let
+ \csname saved@col@ \this@area@type @delta@ #2 \expandafter \endcsname
+ \csname col@ \this@area@type @delta@ #2 \endcsname
+ \global\expandafter\let
+ \csname col@ \this@area@type @delta@ #2 \endcsname
+ \returned@delta@size
+ \fi
+}
+\def\textminlines{4}
+\let\pagesetup@grid@point@sep\ERROR
+\let\snap@to@grid\ERROR
+\def \dummy@snap@to@grid #1#2{
+ \begingroup
+ \@tempdima #1 \relax
+ \xdef \returned@size { \the\@tempdima }
+ \global\let \returned@lower@size \returned@size
+ \gdef \returned@delta@size {0pt}
+ \global\let \returned@lower@delta@size \returned@delta@size
+ \endgroup
+}
+\def \std@snap@to@grid #1#2{
+ \begingroup
+ \@tempdima #1\relax
+ \@tempdimb #2\relax
+ \@tempcnta \@tempdima % orig size in sp
+ \@tempcntb \@tempdimb % grid size in sp
+ \divide \@tempcnta \@tempcntb
+ \@tempdimc \@tempcnta\@tempdimb
+ \ifdim \@tempdimc < \@tempdima
+ \xdef \returned@lower@size { \the\@tempdimc }
+ \advance\@tempdimc \@tempdimb
+ \fi
+ \xdef \returned@size { \the\@tempdimc }
+ \advance \@tempdimc -\@tempdima
+ \xdef \returned@delta@size { \the\@tempdimc }
+ \ifdim \@tempdimc = \z@
+ \global \let \returned@lower@size \returned@size
+ \global \let \returned@lower@delta@size \returned@delta@size
+ \else
+ \advance\@tempdimb-\@tempdimc
+ \xdef \returned@lower@delta@size { \the\@tempdimb }
+ \fi
+ \endgroup
+}
+\def\really@defer@and@try@next@float{
+ \progress@failed{-->~ defer}
+ \progress@nl{}
+ \@cons\area@ddd\this@float@box
+ \xdef\this@page@closed{\this@page@closed,
+ \pagesetup@ddd@all@close}
+
+ \ifx\pagesetup@ddd@class@close\pagesetup@area@list
+ \global\let\this@closed@areas\pagesetup@ddd@class@close
+ \else
+ \xdef\this@closed@areas{\this@closed@areas,
+ \pagesetup@ddd@class@close}
+ \fi
+
+ \global\expandafter\let\csname closed@\this@class
+ @areas\endcsname % FMi tmp
+ \this@closed@areas
+ \try@next@float
+}
+\def\defer@and@try@next@float{
+ \if@flushseen
+ \xin@\this@class\flush@classes@list@max
+ \ifin@
+ \ifnum \csname flush@min@col@1\endcsname > \curr@col@count
+ \do@next\really@defer@and@try@next@float
+ \else
+ \count@ \@ne
+ \loop
+ \ifnum \flush@seq@num < \count@
+ \in@false
+ \else
+ \ifnum \this@sequence@number >
+ \csname flush@last@float@ \the\count@ \endcsname
+ \relax
+ \in@true
+ \else
+ \expandafter\xin@\expandafter\this@class
+ \csname flush@classes@list@ \the\count@ \endcsname
+ \ifin@
+ \in@false
+ \else
+ \in@true
+ \fi
+ \fi
+ \fi
+ \ifin@
+ \advance\count@\@ne
+ \repeat
+ \ifnum \flush@seq@num < \count@
+ \do@next\really@defer@and@try@next@float
+ \else
+ \ifnum \csname flush@min@col@\the\count@\endcsname
+ > \curr@col@count
+ \do@next\really@defer@and@try@next@float
+ \else
+ \ifx\try@this@area\relaxed@try@this@area
+ \progress@nl{}
+ \progress@nl{Flushing~ impossible~ -->~ breaking~
+ before~ flush~ point~ and~ retry}
+ \expandafter \gincrement@num
+ \csname flush@min@col@ \the\count@ \endcsname
+ \progress@nl{}
+ \progress@nl{Defer~ impossible~ -->~ moving~
+ flush~ point~ to~ column~
+ \csname flush@min@col@ \the\count@\endcsname
+ \space
+ and~ retry}
+ \relax@float@placement@conditions % needed to reset open areas
+ \do@next\try@this@area
+
+ \else
+ \relax@float@placement@conditions
+ \do@next\try@this@area
+ \fi
+ \fi
+ \fi
+ \fi
+ \else
+ \do@next\really@defer@and@try@next@float
+ \fi
+
+ \else
+ \do@next\really@defer@and@try@next@float
+ \fi
+
+ \do@continue
+}
+\def \relax@float@placement@conditions {
+ \progress@failed{-->~ retry~ with~ relaxed~ conditions}
+ \progress@nl{}
+ \global\let\try@this@area\relaxed@try@this@area
+ \global\let\this@open@areas\saved@this@open@areas
+
+ \global\let\check@some@constraints\relaxed@check@some@constraints
+ \global\let\check@callout@constraints\relaxed@check@callout@constraints
+ \global\let\calculate@target@fl@column\relaxed@calculate@target@fl@column
+}
+\def\tighten@float@placement@conditions {
+ \global\let\try@this@area\std@try@this@area
+
+ \global\let\check@some@constraints\std@check@some@constraints
+ \global\let\check@callout@constraints\std@check@callout@constraints
+ \global\let\calculate@target@fl@column\std@calculate@target@fl@column
+}
+\def\partly@tighten@float@placement@conditions {
+ \global\let\try@this@area\std@try@this@area
+
+ \global\let\calculate@target@fl@column\std@calculate@target@fl@column
+}
+\let\check@callout@none\@gobble
+\def\check@callout@page#1{
+ \ifnum\curr@col@count=\col@count
+ \global\expandafter\let\expandafter\fl@max
+ \csname fl@0@#1\endcsname
+ \forall@columns {
+ \ifnum\csname fl@\the\curr@col@count @#1\endcsname>\fl@max\relax
+ \xdef\fl@max{\csname fl@\the\curr@col@count @#1\endcsname}
+ \fi
+ }
+ \count@0\LastMark{#1}\relax
+ \ifnum\count@<\fl@max\relax
+ \@failtrue
+ \progress@failed{last~callout~
+ \the\count@\space~<~\fl@max
+ \space last~float~put~on~page~or~ earlier}
+ \fi
+ \fi
+}
+\let\fl@max\ERROR
+\def\check@callout@column#1{
+ \count@0\LastMark{#1}\relax
+ \ifnum\count@<\csname fl@\the\curr@col@count @#1\endcsname\relax
+ \progress@failed{last~ callout~
+ \the\count@\space <~
+ \csname fl@\the\curr@col@count @#1\endcsname
+ \space last~ float~ placed~ in~ column~ \the\curr@col@count}
+ \@failtrue
+ \global\curr@col@count\col@count
+ \let\@elt\@gobble
+ \fi
+}
+\def\check@callout@after#1{
+ \check@callout@column{#1}
+ \if@fail\else
+ \global\expandafter\let\expandafter
+ \returned@sequence@number
+ \csname tfl@\the\curr@col@count @#1\endcsname
+ \ifnum \returned@sequence@number = \z@
+ \else
+ \count@ 0\PreviousMark{#1}\relax
+ \ifnum \count@ < \returned@sequence@number \relax
+ \progress@failed{top~ callout~
+ \the\count@\space <~ \returned@sequence@number
+ \space last~ float~ put~ in~ top~
+ of~ column~ \the\curr@col@count}
+ \@failtrue
+ \global\curr@col@count\col@count
+ \let\@elt\@gobble
+ \fi
+ \fi
+ \fi
+}
+\def\check@float@footnote@forbidden{
+ \ifvoid\footins
+ \else
+ \expandafter
+ \ifx \csname area@b\the\curr@col@count1\endcsname
+ \relax
+ \global\expandafter\let
+ \csname area@b\the\curr@col@count1\endcsname
+ \@empty
+ \fi
+ \expandafter
+ \ifx \csname area@b\the\curr@col@count1\endcsname
+ \@empty
+ \else
+ \progress@failed{old~bottom~floats:~ \expandafter\meaning
+ \csname area@b\the\curr@col@count1\endcsname}
+ \@failtrue
+ \fi
+ \ifnum \this@area@span@number = \@ne
+ \if b \this@area@type
+ \ifnum \this@area@col@number = \curr@col@count
+ \@failtrue
+ \fi
+ \fi
+ \fi
+ \if@fail
+ \progress@failed{column~ \the\curr@col@count\space
+ contains~ footnotes~ and~ bottom~ floats}
+ \global\curr@col@count\col@count
+ \fi
+ \fi
+}
+\let\check@float@footnote@none\@empty
+\endinput
+%%
+%% End of file `xo-place.sty'.
diff --git a/Master/texmf-dist/tex/latex3/xor/xo-trace.sty b/Master/texmf-dist/tex/latex3/xor/xo-trace.sty
new file mode 100644
index 00000000000..8853935f57b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex3/xor/xo-trace.sty
@@ -0,0 +1,104 @@
+%%
+%% This is file `xo-trace.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xo-trace.dtx (with options: `package,progress,trace')
+%%
+%% Not for distribution
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+
+\def\@tempa#1: #2.dtx,v #3 #4 #5 #6 #7${
+ \ProvidesPackage{#2}[#4 #3 #5 #6]}
+\@tempa$Id: xo-trace.dtx,v 1.9 2000/08/11 07:14:29 latex3 Exp $
+\IgnoreWhiteSpace
+\def\showmarks{
+ \toks@\expandafter{\topmark}\typeout{topmark:\the\toks@}
+ \toks@\expandafter{\firstmark}\typeout{firstmark:\the\toks@}
+ \toks@\expandafter{\botmark}\typeout{botmark:\the\toks@}
+}
+\def\showfloatlists{{
+ \let\@elt\@empty
+ \typeout{free:~\@freelist}
+ \typeout{active:~\@activelist}
+ \typeout{mvl:~\@mvllist}
+ \typeout{defer:~\area@ddd}
+ \typeout{assigned:}
+ \showfloatarea{t13}
+ \showfloatarea{t12}
+ \showfloatarea{t22}
+ \showfloatarea{t11}
+ \showfloatarea{t21}
+ \showfloatarea{t31}
+ \showfloatarea{b11}
+ \showfloatarea{b21}
+ \showfloatarea{b31}
+ \edef\@tempa{currbox\expandafter\strip@prefix\meaning\@currbox>\space
+ this@float\expandafter\strip@prefix\meaning\this@float@box>}
+ \show\@tempa}}
+
+\def\showfloatarea#1{
+ \@ifundefined{area@#1}{}
+ {\expandafter
+ \ifx\csname area@#1\endcsname\@empty
+ \else
+ \typeout{~\space\space #1:~\csname area@#1\endcsname}
+ \fi
+ }
+}
+\def \@tracemessage #1{%
+ \begingroup\let\@elt\space\typeout{:~\tf@indent~#1}\endgroup}
+\let\tf@indent\@empty
+\def\@tracepush#1{%
+ \tr@ce{entering~#1}
+ \xdef\tf@indent{-\tf@indent}}
+\def\@tracepop#1{%
+ \tr@ce{leaving~#1}
+ \xdef\tf@indent{\expandafter\@gobble\tf@indent}}
+\def \tracefloats{\global\let \tr@ce \@tracemessage}
+\def \notrace {\global\let \tr@ce \@gobble}
+\def\traceonly#1{
+ \notrace
+ \def\@trace@command{#1}
+ \gdef\@tracepush##1{
+ \def\@trace@this{##1}
+ \ifx\@trace@this\@trace@command
+ \global\let\@this@tf@indent\tf@indent
+ \tracefloats
+ \tr@ce{entering~##1}
+ \fi
+ \xdef\tf@indent{-\tf@indent}}
+ \def\@tracepop##1{
+ \tr@ce{leaving~##1}
+ \xdef\tf@indent{\expandafter\@gobble\tf@indent}
+ \ifx\@this@tf@indent\tf@indent
+ \global\let\@this@tf@indent\relax
+ \notrace
+ \fi}
+}
+\tracefloats
+\def \@traceval #1{\tr@ce{\string #1~=~\the #1}}
+\def \progress #1{\message{#1}}
+\def \progress@separator{
+ \progress{===============================
+ ========================================^^J}}
+\def \progress@nl #1{\progress{~ #1^^J}}
+\def \progress@failed #1{\progress@nl{ ->~ failed:~ #1}}
+\endinput
+%%
+%% End of file `xo-trace.sty'.
diff --git a/Master/texmf-dist/tex/latex3/xor/xoutput.sty b/Master/texmf-dist/tex/latex3/xor/xoutput.sty
new file mode 100644
index 00000000000..ac806d01623
--- /dev/null
+++ b/Master/texmf-dist/tex/latex3/xor/xoutput.sty
@@ -0,0 +1,44 @@
+%%
+%% This is file `xoutput.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xoutput.dtx (with options: `package,progress')
+%%
+%% Not for distribution
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+%% (C) Copyright 1999-2000 Frank Mittelbach, David Carlisle, Chris Rowley
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+
+\def\@tempa#1: #2.dtx,v #3 #4 #5 #6 #7${
+ \ProvidesPackage{#2}[#4 #3 #5 #6]}
+\@tempa$Id: xoutput.dtx,v 1.13 2000/08/11 07:14:49 latex3 Exp $
+\RequirePackage{
+ ldcsetup,
+ template,
+ xmarks,
+ xparse,
+ xo-trace,xo-or,
+ xo-here,
+ xo-place,xo-page,xo-float,xo-capt,xo-final,
+ xo-alloc,
+ xo-new
+}
+
+\IgnoreWhiteSpace
+\endinput
+%%
+%% End of file `xoutput.sty'.
diff --git a/Master/texmf-dist/tex/latex3/xparse/ldcsetup.sty b/Master/texmf-dist/tex/latex3/xparse/ldcsetup.sty
new file mode 100644
index 00000000000..efe853a822c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex3/xparse/ldcsetup.sty
@@ -0,0 +1,118 @@
+%%
+%% This is file `ldcsetup.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ldcsetup.dtx (with options: `package')
+%%
+%%
+%% (C) Copyright 1999 Frank Mittelbach, Chris Rowley, David Carlisle
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{ldcsetup}
+ [1999/09/10 v0.04 coding conventions and stuff]
+\RequirePackage{keyval,calc}
+%% Puts an ignored space at the end of the line, so `|\ |' does the right
+\def\IgnoreWhiteSpace{%
+ \edef\@tempa{%
+ \catcode`\noexpand\~=\the\catcode`\~\relax
+ \catcode`\noexpand\ =\the\catcode`\ \relax
+ \catcode`\noexpand\^^I=\the\catcode`\^^I\relax
+ \catcode`\noexpand\@=\the\catcode`\@\relax
+ \endlinechar=\the\endlinechar\relax
+ }%
+ \ifx\@currname\@empty
+ \expandafter\AtBeginDocument\expandafter{\@tempa}%
+ \else
+ \expandafter\AtEndOfPackage\expandafter{\@tempa}%
+ \fi
+ \catcode`\~=10\relax
+ \catcode`\ =9\relax
+ \catcode`\^^I=9\relax
+ \makeatletter
+ \endlinechar=` %
+}
+\IgnoreWhiteSpace
+\def\define@key#1#2{%
+ \@ifnextchar[
+ {\KV@def{#1}{\string#2}}
+ {\@namedef{KV@#1@\string#2}####1}}
+\def\setkeys#1#2{%
+ \def\KV@prefix{KV@#1@\expandafter\string}%
+ \KV@do#2,\relax,}
+\newtoks\KV@toks
+\def\KV@@sp@c#1\@nil#2\relax#3{\KV@toks{#1}\edef#3{\the\KV@toks}}
+\def\KV@equal{=}
+\def\KV@split#1=#2=#3\relax{%
+ \KV@@sp@def\@tempa{#1}%
+ \def\@tempd{#3}%
+ \ifx\@tempa\@empty\else
+ \expandafter\let\expandafter\@tempc
+ \csname\KV@prefix\@tempa\endcsname
+ \ifx\@tempc\relax
+ \KV@error{\@tempa\space \expandafter\@gobbletwo\string\@undefined}\@eha
+ \else
+ \ifx\@tempd\@empty
+ \KV@default
+ \else
+ \KV@@sp@def\@tempb{#2}%
+ \ifx\@tempd\KV@equal
+ \expandafter\@tempc\expandafter{\@tempb}\relax
+ \else
+ \KV@error{Extra~=~ sign~ after~ `#1'}\KV@erry
+ \fi
+ \fi
+ \fi
+ \fi}
+\def\KV@erry{\expandafter\KV@errx\meaning\@tempd\relax ignored\MessageBreak
+ missing~comma~in~`\expandafter\strip@prefix\meaning\@tempb'~?}
+\def\KV@errx#1>#2==\relax{%
+ `#2' }
+\def\KV@default{%
+ \expandafter\let\expandafter\@tempb
+ \csname\KV@prefix\@tempa @default\endcsname
+ \ifx\@tempb\relax
+ \KV@error{No value specified for \@tempa}\@eha
+ \else
+ \@tempb\relax
+ \fi}
+\def\KV@error#1#2{\PackageError{keyval}{#1}{#2}}
+\def\KV@parse#1{
+ \begingroup
+\def\KV@@sp@c##1\@nil##2\relax##3{\addto@hook##3{{##1}}}
+\def\KV@split##1=##2=##3\relax{%
+ \def\@tempd{##3}%
+ \expandafter\ifx\expandafter=\@firstofone##1=\else
+ \ifx\@tempd\@empty
+ \addto@hook\KV@toks\KV@default@elt
+ \KV@@sp@def\KV@toks{##1}%
+ \else
+ \ifx\@tempd\KV@equal
+ \addto@hook\KV@toks\KV@elt
+ \KV@@sp@def\KV@toks{##1}%
+ \KV@@sp@def\KV@toks{##2}%
+ \else
+ \KV@err{Extra `=' after `##1'}\@ehd
+ \fi
+ \fi
+ \fi}
+ \KV@toks{}
+ \KV@do#1,\relax,
+ \expandafter
+ \endgroup
+ \the\KV@toks}
+\let\SetInternalCounter\calc@assign@count
+\def\UndeclareRobustCommand#1{%
+ \global\let#1\undefined
+ \global\expandafter
+ \let\csname\expandafter\@gobble\string#1~\endcsname\undefined
+}
+\endinput
+%%
+%% End of file `ldcsetup.sty'.
diff --git a/Master/texmf-dist/tex/latex3/xparse/xparse.sty b/Master/texmf-dist/tex/latex3/xparse/xparse.sty
new file mode 100644
index 00000000000..2ab688ae6ec
--- /dev/null
+++ b/Master/texmf-dist/tex/latex3/xparse/xparse.sty
@@ -0,0 +1,218 @@
+%%
+%% This is file `xparse.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xparse.dtx (with options: `package')
+%%
+%%
+%% (C) Copyright 1999 Frank Mittelbach, Chris Rowley, David Carlisle
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{xparse}
+ [1999/09/10 v0.17 generic document command parser]
+\RequirePackage{ldcsetup}
+\IgnoreWhiteSpace
+
+\newtoks\@temptokenb
+\newtoks\xparsed@args
+\long\def\DeclareDocumentCommand #1 #2 #3{
+ \@tempcnta\z@
+ \toks@{}
+ \@temptokena\toks@
+ \@temptokenb\toks@
+ \@ddc#2X
+ \edef#1{
+ \noexpand\@ddc@
+ {\the\toks@}
+ \expandafter\noexpand\csname\string#1\endcsname
+ \noexpand#1
+ }
+ \long\expandafter\def\csname\string#1\expandafter\endcsname
+ \the\@temptokena{#3}}
+\long\def\DeclareDocumentEnvironment#1#2#3#4{
+ \expandafter\DeclareDocumentCommand\csname #1\endcsname{#2}{
+ \xparsed@args\toks@
+ #3}
+ \expandafter\let\csname end #1\endcsname\@parsed@endenv
+ \long\expandafter\def\csname end \string\\#1\expandafter\endcsname
+ \the\@temptokena {#4}}
+\def\@parsed@endenv{
+ \expandafter\@parsed@endenv@\the\xparsed@args}
+\def\@parsed@endenv@#1{
+ \csname end\string#1\endcsname}
+\def\@ddc@#1#2#3{
+ \ifx\protect\@typeset@protect
+ \expandafter\@firstofone
+ \else
+ \protect#3\expandafter\@gobble
+ \fi
+ {\toks@{#2} #1\the\toks@}}
+\def\@ddc#1{
+ \ifx #1X
+ \else
+ \ifx #1m
+ \addto@hook\@temptokenb m
+ \else
+ \toks@\expandafter{%
+ \the\expandafter\toks@
+ \csname @ddc@\the\@temptokenb\expandafter\endcsname
+ \csname @ddc@#1\endcsname}
+ \@temptokenb{}
+ \fi
+ \advance\@tempcnta\@ne
+ \@temptokena\expandafter{
+ \the\expandafter\@temptokena\expandafter##\the\@tempcnta}
+ \expandafter
+ \@ddc
+ \fi}
+\long\def\@ddc@s#1\toks@{
+ \@ifstar
+ {\addto@hook\toks@\BooleanTrue #1\toks@}
+ {\addto@hook\toks@\BooleanFalse #1\toks@}}
+\long\def\@ddc@m#1\toks@#2{
+ \addto@hook\toks@{{#2}} #1\toks@}
+\long\def\@ddc@o#1\toks@{
+ \@ifnextchar[
+ {\@ddc@o@{#1}}
+ {\addto@hook\toks@\NoValue #1\toks@}}
+\long\def\@ddc@o@#1[#2]{
+ \addto@hook\toks@{{#2}} #1\toks@}
+\def\@ddc#1{
+ \ifx #1X
+ \perhaps@grab@ms
+ \else
+ \ifx #1m
+ \addto@hook\@temptokenb m
+ \else
+ \toks@\expandafter{%
+ \the\expandafter\toks@
+ \csname @ddc@x\the\@temptokenb\expandafter\endcsname
+ \csname @ddc@#1\endcsname}
+ \@temptokenb{}
+ \ifx #1O
+ \let\next@ddc\grab@default
+ \else
+ \ifx #1C
+ \let\next@ddc\grab@default
+ \fi
+ \fi
+ \fi
+ \advance\@tempcnta\@ne
+ \@temptokena\expandafter{
+ \the\expandafter\@temptokena\expandafter##\the\@tempcnta}
+ \expandafter
+ \next@ddc
+ \fi
+}
+\let\next@ddc\@ddc
+\def\grab@default #1{
+ \toks@\expandafter{%
+ \the\toks@
+ {#1}}
+ \let\next@ddc\@ddc
+ \@ddc
+}
+\long\def\@ddc@O#1#2\toks@{
+ \@ifnextchar[
+ {\@ddc@o@{#2}}
+ {\addto@hook\toks@{{#1}} #2\toks@}}
+\long\def\@ddc@c#1\toks@{
+ \@ifnextchar (
+ {\@ddc@c@ #1}
+ {\PackageError{xparse}{Missing~ coordinate~ argument}
+ {A~ value~ of~ (0,0)~ is~ assumed}
+ \addto@hook\toks@{{00}} #1\toks@}
+ }
+\long\def\@ddc@c@#1(#2,#3){
+ \addto@hook\toks@{{{#2}{#3}}} #1\toks@}
+\long\def\@ddc@C#1#2\toks@{
+ \@ifnextchar (
+ {\@ddc@c@ #2}
+ {\addto@hook\toks@{{#1}} #2\toks@}}
+\let\perhaps@grab@ms\relax
+\def\grab@ms {
+ \toks@\expandafter{
+ \the\expandafter\toks@
+ \csname @ddc@x\the\@temptokenb\endcsname
+}}
+\let\@ddc@m\undefined
+\long\def\@ddc@xm#1\toks@#2{
+ \addto@hook\toks@{{#2}} #1\toks@}
+\long\def\@ddc@xmm#1\toks@#2#3{
+ \addto@hook\toks@{{#2}{#3}} #1\toks@}
+\long\def\@ddc@xmmm#1\toks@#2#3#4{
+ \addto@hook\toks@{{#2}{#3}{#4}} #1\toks@}
+\long\def\@ddc@xmmmm#1\toks@#2#3#4#5{
+ \addto@hook\toks@{{#2}{#3}{#4}{#5}} #1\toks@}
+\long\def\@ddc@xmmmmm#1\toks@#2#3#4#5#6{
+ \addto@hook\toks@{{#2}{#3}{#4}{#5}{#6}} #1\toks@}
+\long\def\@ddc@xmmmmmm#1\toks@#2#3#4#5#6#7{
+ \addto@hook\toks@{{#2}{#3}{#4}{#5}{#6}{#7}} #1\toks@}
+\long\def\@ddc@xmmmmmmm#1\toks@#2#3#4#5#6#7#8{
+ \addto@hook\toks@{{#2}{#3}{#4}{#5}{#6}{#7}{#8}} #1\toks@}
+\long\def\@ddc@xmmmmmmmm#1\toks@#2#3#4#5#6#7#8#9{
+ \addto@hook\toks@{{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9}} #1\toks@}
+\long\def\@ddc@xmmmmmmmmm\the\toks@#1#2#3#4#5#6#7#8#9{
+ \addto@hook\toks@{{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9}}\the\toks@}
+\let\@ddc@x\relax
+\long\def\DeclareDocumentEnvironment#1#2#3#4{
+ \expandafter\DeclareDocumentCommand\csname #1\endcsname{#2}{
+ #3}
+ \@namedef{end #1}{#4}
+}
+\let\@parsed@endenv\undefined
+\let\@parsed@endenv@\undefined
+\def\IfSomethingTF#1{\def\something@in{#1} \If@SomethingTF}
+\def\IfSomethingT#1#2#3{\def\something@in{#1}
+ \If@SomethingTF{#2}{#3}\@empty}
+\def\IfSomethingF#1#2#3{\def\something@in{#1}
+ \If@SomethingTF{#2}\@empty{#3}}
+\def\If@SomethingTF#1{
+ \def\something@tmp{#1}
+ \ifx\something@tmp\something@in
+ \expandafter\@secondofthree
+ \else
+ \expandafter\def\expandafter\something@tmpb\expandafter{#1}
+ \ifx\something@tmp\something@tmpb
+ \expandafter\expandafter\expandafter\@thirdofthree
+ \else
+ \expandafter\expandafter\expandafter\@firstofone
+ \fi
+ \fi
+ {\expandafter\If@SomethingTF\expandafter{#1}}
+}
+\long\def\@secondofthree#1#2#3{#2}
+\long\def\@thirdofthree #1#2#3{#3}
+\def\NoValue{-NoValue-}
+\def\NoValueInIt{\NoValue}
+\def\IfNoValueTF{\IfSomethingTF\NoValue}
+\def\IfNoValueT {\IfSomethingT \NoValue}
+\def\IfNoValueF {\IfSomethingF \NoValue}
+\def\IfValueTF #1 #2 #3 { \IfNoValueTF {#1} {#3} {#2} }
+\let \IfValueT \IfNoValueF
+\let \IfValueF \IfNoValueT
+\def\BooleanFalse{TF}
+\def\BooleanTrue{TT}
+\def\IfBooleanTF #1 {
+ \if#1
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+\def\IfBooleanT #1 #2 {
+ \IfBooleanTF {#1} {#2} \@empty
+}
+\def\IfBooleanF #1 {
+ \IfBooleanTF {#1} \@empty
+}
+\endinput
+%%
+%% End of file `xparse.sty'.
diff --git a/Master/texmf-dist/tex/latex3/xtheorem/xtheorem.sty b/Master/texmf-dist/tex/latex3/xtheorem/xtheorem.sty
new file mode 100644
index 00000000000..4018ff8070c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex3/xtheorem/xtheorem.sty
@@ -0,0 +1,164 @@
+%%
+%% This is file `xtheorem.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xtheorem.dtx (with options: `package,trace')
+%%
+%% Not for distribution
+%%
+%% (C) Copyright 1999 Achim Blumensath
+%% All rights reserved.
+%%
+%% Not for general distribution. In its present form it is not allowed
+%% to put this package onto CD or an archive without consulting the
+%% the authors.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{xtheorem}
+ [1999/12/19 v0.1 theorem styles]
+\RequirePackage{xparse}
+\RequirePackage{template}
+
+\IgnoreWhiteSpace
+\DeclareTemplateType{theoremstyle}{3}
+
+\newskip\TSpre@skip
+\newskip\TSpost@skip
+\newdimen\TShead@indent
+\newskip\TShead@sep
+
+\DeclareTemplate{theoremstyle}{std}{3}
+{
+ pre-skip =l [\DelayEvaluation{\topsep}] \TSpre@skip,
+ post-skip =l [\DelayEvaluation{\topsep}] \TSpost@skip,
+ body-style =f0 [\itshape] \TSbody@style,
+ head-style =f0 [\bfseries] \TShead@style,
+ note-style =f0 [\fontseries\mddefault\upshape] \TSnote@style,
+ head-punct =f0 [.] \TShead@punct,
+ head-format =f3 [\IfNoValueF{#1}{#1\IfNoValueF{#2}{\space}}
+ \IfNoValueF{#2}{\textup{#2}}
+ \IfNoValueF{#3}{\space{\TSnote@style(#3)}}]
+ \TShead@format,
+ head-indent =l [0pt] \TShead@indent,
+ head-sep =l [5pt plus 1pt minus 1pt] \TShead@sep,
+ post-head-action =f0 [] \TSpost@head@action
+}
+{
+ \DoParameterAssignments
+ \ifhmode\unskip\unskip\par\fi
+ \normalfont
+ \trivlist
+ \let\thmheadnl\relax
+ \@topsep\TSpre@skip
+ \@topsepadd\TSpost@skip
+ \IfNoValueF{#1}
+ {\refstepcounter{#1}}
+ \deferred@thm@head{
+ \TShead@style
+ \hskip\TShead@indent
+ \IfNoValueTF{#1}
+ {\TShead@format{#2}{#1}{#3}}
+ {\TShead@format{#2}{\csname the#1\endcsname}{#3}}
+ \TShead@punct
+ \TSpost@head@action
+ \hskip\TShead@sep
+ }
+ \TSbody@style
+ \ignorespaces
+}
+\let\adjust@parskip@nobreak=\@nbitem
+\newtoks\dth@everypar
+\dth@everypar={
+ \@minipagefalse
+ \global\@newlistfalse
+ \if@inlabel
+ \global\@inlabelfalse
+ \begingroup
+ \setbox\z@\lastbox
+ \ifvoid\z@ \kern-\itemindent \fi
+ \endgroup
+ \unhbox\@labels
+ \fi
+ \if@nobreak
+ \@nobreakfalse
+ \clubpenalty\@M
+ \else
+ \clubpenalty\@clubpenalty
+ \everypar{}
+ \fi
+}
+\def\deferred@thm@head#1{%
+ \if@inlabel \indent \par \fi % eject a section head if one is pending
+ \if@nobreak
+ \adjust@parskip@nobreak
+ \else
+ \addpenalty\@beginparpenalty
+ \addvspace\@topsep
+ \addvspace{-\parskip}%
+ \fi
+ \global\@inlabeltrue
+ \everypar\dth@everypar
+ \sbox\@labels{\normalfont#1}%
+ \ignorespaces
+}
+\DeclareInstance{theoremstyle}{plain}{std}{}
+
+\DeclareInstance{theoremstyle}{definition}{std}
+{
+ body-style = \normalfont
+}
+
+\DeclareInstance{theoremstyle}{remark}{std}
+{
+ pre-skip = \DelayEvaluation{0.5\topsep},
+ post-skip = \DelayEvaluation{0.5\topsep},
+ body-style = \normalfont,
+ head-style = \itshape
+}
+\def\@endtheorem{\endtrivlist\@endpefalse }
+\DeclareDocumentCommand{\newtheorem}{smmomo}
+{
+ \expandafter\@ifdefinable\csname #3\endcsname
+ {
+ \global\expandafter\let\csname end#3\endcsname\@endtheorem
+ \IfBooleanTF{#1}
+ {
+ \expandafter\DeclareDocumentCommand\csname #3\endcsname{o}
+ {\UseInstance{theoremstyle}{#2}{\NoValue}{#5}{##1}}
+ }
+ {
+ \IfNoValueTF{#4}
+ {
+ \IfNoValueTF{#6}
+ {
+ \newcounter{#3}
+ }
+ {
+ \newcounter{#3}[#6]
+ \expandafter\xdef\csname the#3\endcsname{
+ \expandafter\noexpand\csname the#6\endcsname
+ \@thmcountersep\@thmcounter{#3}}
+ }
+ \expandafter\DeclareDocumentCommand\csname #3\endcsname{o}
+ {\UseInstance{theoremstyle}{#2}{#3}{#5}{##1}}
+ }
+ {
+ \@ifundefined{c@#4}
+ {
+ \@nocounterr{#4}
+ }
+ {
+ \expandafter\xdef\csname the#3\endcsname{
+ \expandafter\noexpand\csname the#4\endcsname}
+ \expandafter\DeclareDocumentCommand\csname #3\endcsname{o}
+ {\UseInstance{theoremstyle}{#2}{#4}{#5}{##1}}
+ }
+ }
+ }
+ }
+}
+\endinput
+%%
+%% End of file `xtheorem.sty'.