summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex3/xor
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 /Master/texmf-dist/tex/latex3/xor
parent2a8c0210a3491a41c4ba672c46d215048947638c (diff)
trunk/Master/texmf-dist/tex/latex3
git-svn-id: svn://tug.org/texlive/trunk@616 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex3/xor')
-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
13 files changed, 3975 insertions, 0 deletions
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'.