summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorManuel Pégourié-Gonnard <mpg@elzevir.fr>2008-08-05 13:31:12 +0000
committerManuel Pégourié-Gonnard <mpg@elzevir.fr>2008-08-05 13:31:12 +0000
commit353b09dc769b5720eac184d14e1885b31072c6bb (patch)
tree664b3c4139ad4bb19da26cb6751c5ef32c31de81 /Master/texmf-dist
parente2bfc77b4c18f77c6fef592230d326438d9c4f63 (diff)
rm xor
git-svn-id: svn://tug.org/texlive/trunk@10095 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex3/xor/cat.eps305
-rw-r--r--Master/texmf-dist/doc/latex3/xor/escher.eps63
-rw-r--r--Master/texmf-dist/doc/latex3/xor/europe.eps3227
-rw-r--r--Master/texmf-dist/doc/latex3/xor/outline.eps19
-rw-r--r--Master/texmf-dist/doc/latex3/xor/outline2.eps19
-rw-r--r--Master/texmf-dist/doc/latex3/xor/oxford-trial.tex298
-rw-r--r--Master/texmf-dist/doc/latex3/xor/rahtz18.eps174
-rw-r--r--Master/texmf-dist/doc/latex3/xor/theworld.eps3058
-rw-r--r--Master/texmf-dist/doc/latex3/xor/xo-README.txt219
-rw-r--r--Master/texmf-dist/doc/latex3/xor/xo-pfloat.tex1623
-rw-r--r--Master/texmf-dist/doc/latex3/xor/xo-sample.tex578
-rw-r--r--Master/texmf-dist/source/latex3/xor/xmarks.dtx956
-rw-r--r--Master/texmf-dist/source/latex3/xor/xo-alloc.dtx125
-rw-r--r--Master/texmf-dist/source/latex3/xor/xo-capt.dtx306
-rw-r--r--Master/texmf-dist/source/latex3/xor/xo-final.dtx1094
-rw-r--r--Master/texmf-dist/source/latex3/xor/xo-float.dtx950
-rw-r--r--Master/texmf-dist/source/latex3/xor/xo-flow-chart.dtx153
-rw-r--r--Master/texmf-dist/source/latex3/xor/xo-grid.dtx345
-rw-r--r--Master/texmf-dist/source/latex3/xor/xo-here.dtx454
-rw-r--r--Master/texmf-dist/source/latex3/xor/xo-new.dtx701
-rw-r--r--Master/texmf-dist/source/latex3/xor/xo-or.dtx5188
-rw-r--r--Master/texmf-dist/source/latex3/xor/xo-page.dtx694
-rw-r--r--Master/texmf-dist/source/latex3/xor/xo-place.dtx1537
-rw-r--r--Master/texmf-dist/source/latex3/xor/xo-trace.dtx140
-rw-r--r--Master/texmf-dist/source/latex3/xor/xo.ins40
-rw-r--r--Master/texmf-dist/source/latex3/xor/xoprogress.ins40
-rw-r--r--Master/texmf-dist/source/latex3/xor/xotrace.ins40
-rw-r--r--Master/texmf-dist/source/latex3/xor/xoutput.drv144
-rw-r--r--Master/texmf-dist/source/latex3/xor/xoutput.dtx78
-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
42 files changed, 0 insertions, 26543 deletions
diff --git a/Master/texmf-dist/doc/latex3/xor/cat.eps b/Master/texmf-dist/doc/latex3/xor/cat.eps
deleted file mode 100644
index 0042ea088fe..00000000000
--- a/Master/texmf-dist/doc/latex3/xor/cat.eps
+++ /dev/null
@@ -1,305 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%BoundingBox: 44 527 80 559
-%%Creator: COREL DRAW
-%%Title: CAT.TMP
-%%CreationDate: Sat Jan 18 17:29:05 1992
-
-%%DocumentFonts:
-%%EndComments
-%%BeginProlog
-% -------------- POSTSCRIPT PROLOG FOR CORELDRAW 2.X ------
-% Copyright Corel Systems Corporation 1990
-/AutoFlatness 0 def/wCorelDict 300 dict def
-wCorelDict begin/bd{bind def}bind def/ld{load def}bd
-/xd{exch def}bd/_ null def/$c 0 def/$m 0 def
-/$y 0 def/$k 0 def/$t 1 def/$n _ def/$o 0 def
-/$fil 0 def/$C 0 def/$M 0 def/$Y 0 def/$K 0 def
-/$T 1 def/$N _ def/$O 0 def/$PF false def
-/$pan 0 def/$h false def/$al 0 def/$tr 0 def
-/$le 0 def/$lx 0 def/$ly 0 def/$ctm matrix currentmatrix def
-/$ptm matrix def/$ttm matrix def/$stm matrix def
-/$skm matrix def/$fst 128 def/$pad 0 def/$rox 0 def
-/$roy 0 def currentscreen/@dsp xd/$dsp/@dsp def
-/$dsa xd/$dsf xd/$sdf false def/$SDF false def
-/$Scra 0.0 def statusdict/pageparams known{statusdict begin
-pageparams end 1 ne{/$Scra -90.0 def}if pop pop pop}if
-/$sv 0 def/@cp/closepath ld/@gs/gsave ld/@gr/grestore ld
-/@np/newpath ld/@sv{/$sv save def}bd/@rs{$sv restore}bd
-/@ss{load setscreen}bd AutoFlatness 1 eq{/$cpx ([Error: PathTooComplex; OffendingCommand: AnyPaintingOperator;\n) def
-/@err1{$cpx print flush newpath}bd/@ifl{currentflat dup 10 gt{pop @err1 exit}if 2 add setflat}bd
-/@fill/fill ld/fill{currentflat{{@fill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd
-/@eofill/eofill ld/eofill{currentflat{{@eofill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd
-/@clip/clip ld/clip{currentflat{{@clip}stopped{initclip @ifl}{exit}ifelse}bind loop setflat}bd
-/@eoclip/eoclip ld/eoclip{currentflat{{@eoclip}stopped{initclip @ifl}{exit}ifelse}bind loop setflat}bd
-/@stroke/stroke ld/stroke{currentflat{{@stroke}stopped{@ifl}{exit}ifelse}bind loop setflat}bd
-}if/InRange{3 -1 roll 2 copy le{pop}{exch pop}ifelse
-2 copy ge{pop}{exch pop}ifelse}bd/wDstChck{2 1 roll dup 3 -1 roll
-eq{1 add}if}bd/@dot{dup mul exch dup mul add 1 exch sub 2 div}bd
-/@lin{exch pop abs 1 exch sub}bd/@MN{2 copy le{pop}{exch pop}ifelse}bd
-/setcmykcolor where{pop}{/setcmykcolor{4 1 roll
-3{3 index add 1 @MN 1 exch sub 3 1 roll}repeat
-setrgbcolor pop}bd}ifelse/colorimage where{pop}{/colorimage{/$ncl xd
-pop pop pop pop{currentfile $dat readhexstring pop}repeat
-pop}bd}ifelse/@tc{dup 1 ge{pop}{4{dup 6 -1 roll
-mul exch}repeat pop}ifelse}bd/@spc{7 2 roll
-ColorSeparationMode 1 eq{6 index @tc 0 4 $ink sub index
-exch pop}{5 index dup _ eq{pop 0 4 $ink sub index
-exch pop}{CurrentInkName eq{6 index}{0}ifelse}ifelse}ifelse
-5 1 roll 8 -2 roll 6{pop}repeat 1 exch sub dup setgray
-1 eq exch 1 eq and not}bd/@scc{$ink -1 eq
-{$c $m $y $k $t @tc setcmykcolor true}{$o $c $m $y $k $t $n @spc
-}ifelse}bd/@SCC{$ink -1 eq{$C $M $Y $K $T @tc setcmykcolor true}{
-$O $C $M $Y $K $T $N @spc}ifelse}bd/@sft{
-/$tx $tllx $pxf add dup $tllx gt{$pwid sub}if def
-/$ty $tury $pyf sub dup $tury lt{$phei add}if def}bd
-/@stb{pathbbox/$ury xd/$urx xd/$lly xd/$llx xd}bd
-/@ep{{cvx exec}forall}bd/@tp{@sv/$in true def
-2 copy dup $lly le{/$in false def}if $phei sub $ury ge{/$in false def}if
-dup $urx ge{/$in false def}if $pwid add $llx le{/$in false def}if
-$in{@np 2 copy moveto $pwid 0 rlineto 0 $phei neg rlineto
-$pwid neg 0 rlineto 0 $phei rlineto clip @np
-$pn cvlit load aload pop 7 -1 roll 5 index sub
-7 -1 roll 3 index sub translate/$ctm matrix currentmatrix def
-@ep pop pop pop pop}{pop pop}ifelse @rs}bd/@th{@sft
-0 1 $tly 1 sub{dup $psx mul $tx add{dup $llx gt{$pwid sub}{exit}ifelse
-}loop exch $phei mul $ty exch sub 0 1 $tlx 1 sub{$pwid mul
-3 copy 3 -1 roll add exch @tp pop}for pop pop}for}bd
-/@tv{@sft 0 1 $tlx 1 sub{dup $pwid mul $tx add
-exch $psy mul $ty exch sub{dup $ury lt{$phei add}{exit}ifelse}loop
-0 1 $tly 1 sub{$phei mul 3 copy sub @tp pop}for
-pop pop}for}bd/@pf{@gs $ctm setmatrix $pm concat
-@stb @gs ColorSeparationMode 0 eq{1 setgray eofill}{
-$o 0 0 0 0 0 (Black) @spc{eofill}if}ifelse
-@gr eoclip Bburx Bbury $pm itransform/$tury xd/$turx xd
-Bbllx Bblly $pm itransform/$tlly xd/$tllx xd
-/$wid $turx $tllx sub def/$hei $tury $tlly sub def
-$wid 0 gt $hei 0 gt and{$pn cvlit load aload pop
-/$pd xd 3 -1 roll sub/$phei xd exch sub/$pwid xd
-/$tlx $wid $pwid div ceiling 1 add def/$tly $hei $phei div ceiling 1 add def
-$psx 0 eq{@tv}{@th}ifelse}if @gr @np}bd/@dlt{ColorSeparationMode 0 eq{
-/$dc $toc $tot mul $frc $frt mul dup/$c xd sub $fst 1 sub div def
-/$dm $tom $tot mul $frm $frt mul dup/$m xd sub $fst 1 sub div def
-/$dy $toy $tot mul $fry $frt mul dup/$y xd sub $fst 1 sub div def
-/$dk $tok $tot mul $frk $frt mul dup/$k xd sub $fst 1 sub div def
-true}{$o $frc $frm $fry $frk $frt $frn @spc
-dup{/$frk 1 currentgray sub def}{/$frk 0 def}ifelse
-$o $toc $tom $toy $tok $tot $ton @spc dup{/$tok 1 currentgray sub def}
-{/$tok 0 def}ifelse or dup{/$c 0 def/$m 0 def/$y 0 def/$k $frk def
-/$dc 0 def/$dm 0 def/$dy 0 def/$dk $tok $frk sub $fst 1 sub div def}if
-}ifelse}bd/@ftl{1 index 4 index sub dup $pad mul dup/$pdw xd
-2 mul sub $fst div/$wid xd 2 index sub/$hei xd
-pop translate $c $m $y $k 4 copy ColorSeparationMode 0 ne
-{1 exch sub setgray pop pop pop}{setcmykcolor}ifelse
-0 0 moveto 0 $hei lineto $pdw $hei lineto $pdw 0 lineto 0 0 lineto fill
-$pdw 0 translate $fst{4 copy ColorSeparationMode 0 ne
-{1 exch sub setgray pop pop pop}{setcmykcolor}ifelse
-0 0 moveto 0 $hei lineto $wid $hei lineto $wid 0 lineto 0 0 lineto fill
-$wid 0 translate $dk add 4 1 roll $dy add 4 1 roll
-$dm add 4 1 roll $dc add 4 1 roll}repeat $dk sub 4 1 roll
-$dy sub 4 1 roll $dm sub 4 1 roll $dc sub 4 1 roll
-ColorSeparationMode 0 ne{1 exch sub setgray pop pop pop}
-{setcmykcolor}ifelse 0 0 moveto 0 $hei lineto $pdw $hei lineto $pdw 0 lineto 0 0 lineto fill
-}bd/@ftr{1 index 4 index sub dup $rox mul/$row xd
-2 div 1 index 4 index sub dup $roy mul/$roh xd
-2 div 2 copy dup mul exch dup mul add sqrt
-$row dup mul $roh dup mul add sqrt add dup/$hei xd $fst div/$wid xd
-4 index add $roh add exch 5 index add $row add
-exch translate pop pop pop pop currentflat 5 mul setflat
-$c $m $y $k 4 copy ColorSeparationMode 0 ne
-{1 exch sub setgray pop pop pop}{setcmykcolor}ifelse
-$wid 0 moveto 0 0 $hei 0 360 arc fill 1.0 $pad 2 mul sub dup scale
-$fst{4 copy ColorSeparationMode 0 ne{1 exch sub setgray pop pop pop}
-{setcmykcolor}ifelse $wid 0 moveto 0 0 $hei 0 360 arc fill
-/$hei $hei $wid sub def $dk add 4 1 roll $dy add 4 1 roll
-$dm add 4 1 roll $dc add 4 1 roll}repeat pop pop pop pop}bd
-/@ff{@gs @dlt{$ctm setmatrix eoclip newpath Bbllx Bblly moveto
-Bbllx Bbury lineto Bburx Bbury lineto Bburx Bblly lineto
-$fan rotate pathbbox newpath $fty 1 eq{@ftr}{@ftl}ifelse}if
-@gr @np}bd/@Pf{@sv ColorSeparationMode 0 eq $ink 3 eq or{$ctm setmatrix
-72 1000 div dup matrix scale dup concat dup Bburx exch Bbury exch itransform
-ceiling cvi/Bbury xd ceiling cvi/Bburx xd Bbllx exch Bblly exch itransform
-floor cvi/Bblly xd floor cvi/Bbllx xd $Prm aload pop
-$Psn load exec}{1 setgray eofill}ifelse @rs
-@np}bd/@ftx{{(0) dup 3 -1 roll 0 exch put
-@gs true charpath currentpoint $ctm setmatrix
-@@txt @gr @np moveto $tr 0 rmoveto}forall pop}bd
-/@sm{/$ctm $ctm currentmatrix def}bd/@lorg{$lx $ly moveto
-/$ly $ly $le sub def}bd/@ft{matrix currentmatrix 3 1 roll
-$sdf{$scf $sca $scp @ss}if $fil 1 eq{/@@txt/@pf ld @ftx}{$fil 2 eq
-{/@@txt/@ff ld @ftx}{$fil 3 eq{/@@txt/@Pf ld @ftx}{@scc
-{dup $tr exch 0 exch ashow}if pop pop}ifelse}ifelse}ifelse
-$sdf{$dsf $dsa $dsp @ss}if setmatrix}bd/@st{
-matrix currentmatrix 3 1 roll $SDF{$SCF $SCA $SCP @ss}if
-@SCC{{(0) dup 3 -1 roll 0 exch put @gs true charpath currentpoint
-$ctm setmatrix $ptm concat stroke @gr moveto $tr 0 rmoveto}forall
-pop}{pop pop}ifelse $SDF{$dsf $dsa $dsp @ss}if
-setmatrix}bd/@pt{dup length exch}bd/@te{@pt
-@lorg @ft cleartomark [}bd/@tr{@pt @lorg @st cleartomark [}bd
-/@ta{@pt @lorg 2 copy @gs @ft @gr @st cleartomark [}bd
-/@t@a{@pt @lorg 2 copy @gs @st @gr @ft cleartomark [}bd
-/g{1 exch sub/$k xd/$c 0 def/$m 0 def/$y 0 def/$t 1 def/$n _ def/$fil 0 def
-}bd/G{1 exch sub/$K xd/$C 0 def/$M 0 def/$Y 0 def/$T 1 def/$N _ def}bd
-/k{/$k xd/$y xd/$m xd/$c xd/$t 1 def/$n _ def/$fil 0 def}bd
-/K{/$K xd/$Y xd/$M xd/$C xd/$T 1 def/$N _ def}bd
-/x{1 exch sub/$t xd/$n xd/$k xd/$y xd/$m xd/$c xd/$fil 0 def}bd
-/X{1 exch sub/$T xd/$N xd/$K xd/$Y xd/$M xd/$C xd}bd
-/d/setdash ld/i{dup 0 ne{setflat}{pop}ifelse}bd
-/j/setlinejoin ld/J/setlinecap ld/M/setmiterlimit ld
-/w/setlinewidth ld/O{/$o xd}bd/R{/$O xd}bd
-/c/curveto ld/C/c ld/v{4 -2 roll 2 copy 6 -2 roll curveto}bd
-/V/v ld/y{2 copy curveto}bd/Y/y ld/l/lineto ld
-/L/l ld/m/moveto ld/n/newpath ld/N/newpath ld
-/F{matrix currentmatrix $sdf{$scf $sca $scp @ss}if
-$fil 1 eq{@pf}{$fil 2 eq{@ff}{$fil 3 eq{@Pf}{@scc{eofill}{@np}ifelse
-}ifelse}ifelse}ifelse $sdf{$dsf $dsa $dsp @ss}if
-setmatrix}bd/f{@cp F}bd/S{matrix currentmatrix
-$ctm setmatrix $SDF{$SCF $SCA $SCP @ss}if @SCC{$skm currentmatrix
-$ptm concat stroke setmatrix}{@np}ifelse $SDF{$dsf $dsa $dsp @ss}if
-setmatrix}bd/s{@cp S}bd/B{@gs F @gr S}bd/b{@cp B}bd
-/W{eoclip}bd/p{/$pm xd 7{pop}repeat/$pyf xd/$pxf xd
-/$pn xd/$fil 1 def}bd/P{11{pop}repeat}bd/z{/$al xd
-/$tr xd/$le xd exch findfont exch scalefont setfont}bd
-/Z{dup type 0 type eq{/$bDir xd}if findfont
-dup maxlength 1 add dict exch dup{1 index/FID ne{3 index
-3 1 roll put}{pop pop}ifelse}forall pop dup dup/Encoding get
-256 array copy dup/$fe xd/Encoding exch put
-dup/Fontname 3 index put 3 -1 roll dup length 0 ne{0 exch{
-dup type 0 type eq{exch pop}{$fe exch 2 index exch put
-1 add}ifelse}forall pop}if definefont pop}bd
-/e{@sm concat [/t{@te}def}bd/r{@sm concat [/t{@tr}def}bd
-/o{@sm concat [/t{pop}def}bd/a{@sm concat [/t{@ta}def}bd
-/t{@te}def/T{cleartomark @np/$lx 0 def/$ly 0 def
-$ctm setmatrix/$ttm matrix def}bd/u{}bd/U{}bd
-/A{pop}bd/H{/$h true def}bd/h{@cp H}bd/q/@gs ld
-/Q/@gr ld/E{5 array astore exch cvlit exch def}bd
-/`{}bd/~{}bd/@{}bd/&{}bd/CorelDrawRencodeVect [
-16#80/grave/circumflex/tilde/dotlessi/florin/quotedblleft/quotedblright/guilsinglleft
-16#88/guilsinglright/fi/fl/dagger/daggerdbl/endash/periodcentered/breve
-16#90/quotedblbase/ellipsis/perthousand/trademark/Pt/fractionbar
-16#98/divide 16#a1/exclamdown/cent/sterling/currency/yen/bar/section
-16#a8/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/emdash/registered/overbar
-16#b0/ring/plusminus/twosuperior/threesuperior/acute/mu/paragraph/bullet
-16#b8/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
-16#c0/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
-16#c8/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
-16#d0/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/OE
-16#d8/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
-16#e0/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
-16#e8/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
-16#f0/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/oe
-16#f8/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis
-] def/@cc{currentfile $dat readhexstring pop}bd
-/@ii{concat 3 index 3 index m 3 index 1 index l
-2 copy l 1 index 3 index l 3 index 3 index l
-clip pop pop pop pop}bd/@E{/Bbury xd/Bburx xd
-/Bblly xd/Bbllx xd}bd/@c{@cp}bd/@p{/$fil 1 def
-/$pm xd/$psy xd/$psx xd/$pyf xd/$pxf xd/$pn xd}bd
-/@P{/$fil 3 def/$Psn xd array astore/$Prm xd}bd
-/@k{/$fil 2 def/$roy xd/$rox xd/$pad xd/$fty xd/$fan xd
-$fty 1 eq{/$fan 0 def}if/$tok xd/$toy xd/$tom xd/$toc xd
-/$frk xd/$fry xd/$frm xd/$frc xd/$frn _ def/$frt 1 def/$ton _ def/$tot 1 def
-}bd/@x{/$fil 2 def/$roy xd/$rox xd/$pad xd
-/$fty xd/$fan xd 1 exch sub/$tot xd/$ton xd/$tok xd/$toy xd/$tom xd/$toc xd
-1 exch sub/$frt xd/$frn xd/$frk xd/$fry xd/$frm xd/$frc xd}bd
-/@i{@sm @gs @ii 5 index 1 ne{@gs 1 g F @gr}if
-1 eq 5 index 1 eq and{@gs $ctm setmatrix F @gr}if
-@np/$ury xd/$urx xd/$lly xd/$llx xd/$bts xd
-/$hei xd/$wid xd/$dat $wid $bts mul 8 div ceiling cvi string def
-$bts 1 eq{@SCC/$frg xd}{1 G @SCC/$frg xd}ifelse
-$frg{$SDF{$SCF $SCA $SCP @ss}if $llx $lly translate
-$urx $llx sub $ury $lly sub scale $wid $hei abs
-$bts 1 eq{false}{$bts}ifelse [ $wid 0 0 $hei neg 0
-$hei 0 gt{$hei}{0}ifelse]/@cc load $bts 1 eq{imagemask}{image}ifelse
-$SDF{$dsf $dsa $dsp @ss}if}{$hei{@cc pop}repeat}ifelse
-@gr $ctm setmatrix}def/@M {@sv}bd/@N{/@cc{}def
-12 -1 roll neg 12 1 roll @i @rs}bd/@I{@sm @gs
-@ii @np/$ury xd/$urx xd/$lly xd/$llx xd/$ncl xd
-/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul 8 div ceiling cvi string def
-$llx $lly translate $urx $llx sub $ury $lly sub scale
-$wid $hei $bts [ $wid 0 0 $hei neg 0 $hei]/@cc load
-false $ncl colorimage @gr $ctm setmatrix}bd
-/@t{/$lx 0 def/$ly 0 def/$stm $stm currentmatrix def
-3 1 roll translate $ttm concat 1 exch t $stm setmatrix}def
-/@n{/$ttm exch matrix rotate def}bd/@z{ exch findfont exch scalefont setfont
-}bd/@s{}bd/@l{}bd/@B{@gs S @gr F}bd/@b{@cp @B}bd
-/@a{@sm concat [/t{@t@a}def}bd/@w{5 2 roll dup/$pan xd
-matrix rotate/$ptm xd matrix scale $ptm dup concatmatrix/$ptm xd
-1 eq{$ptm exch dup concatmatrix/$ptm xd}{pop}ifelse
-1 w}bd/@g{1 eq dup/$sdf xd{/$scp xd/$sca xd
-/$scf xd}if}bd/@G{1 eq dup/$SDF xd{/$SCP xd
-/$SCA xd/$SCF xd}if}bd/@D{3 copy @ss/$dsp xd
-/$dsa xd/$dsf xd}bd/@j{@sv @np}bind def/@J{@rs}bind def
-/@sep{/ColorSeparationMode where{pop}{/ColorSeparationMode 0 def
-/CurrentInkName (Composite) def}ifelse ColorSeparationMode 0 eq
-{/CurrentInkName (Composite) def}if/CurrentInkName where{pop}{
-/CurrentInkName (Composite) def}ifelse CurrentInkName (Composite) eq{/$ink -1 def}
-{CurrentInkName (Cyan) eq{/$ink 0 def} {CurrentInkName (Magenta) eq{/$ink 1 def}
-{CurrentInkName (Yellow) eq{/$ink 2 def} {CurrentInkName (Black) eq{/$ink 3 def}
-{/$ink 4 def}ifelse}ifelse}ifelse}ifelse}ifelse}bd
-@sep/@whi{@gs -72000 dup moveto -72000 72000 lineto
-72000 dup lineto 72000 -72000 lineto closepath 1 setgray fill
-@gr}bd/@neg{ [{1 exch sub}/exec cvx currenttransfer/exec cvx] cvx settransfer
-@whi}bd/@reg{[] 0 d 0 setgray .3 setlinewidth
-2 copy 5.4 0 360 arc closepath 2 copy moveto 9 0 rlineto
-2 copy moveto -9 0 rlineto 2 copy moveto 0 9 rlineto
-moveto 0 -9 rlineto stroke}bd/leftbracket{(\050)}def
-/rightbracket{(\051)}def
-
-%%EndProlog
-%%BeginSetup
-11.4737 setmiterlimit
-1.00 setflat
-/$fst 128 def
-
-%%EndSetup
-@sv
-/$ctm matrix currentmatrix def
-u
-%%Note: Object
-45.22 528.19 78.98 558.14 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-1.01 1.01 0.00 [1.00000 0.00000 0.00000 1.00000 0.00000 0.00000] 0 @w
-%%CURV 106
-73.30 539.78 m
-73.08 538.42 72.22 537.26 71.78 536.33 C
-72.79 534.67 73.73 531.43 74.81 530.64 C
-74.59 530.64 77.04 528.84 73.87 529.06 C
-73.08 529.34 73.08 530.93 70.20 533.81 C
-69.70 533.74 70.56 530.57 71.50 529.63 c
-73.15 528.19 70.27 528.55 70.13 528.62 C
-68.98 529.34 68.62 534.60 67.03 536.26 c
-66.24 537.19 65.16 536.98 64.30 536.90 C
-63.22 536.62 60.62 537.19 60.55 534.02 C
-60.62 532.66 62.14 530.21 62.86 529.78 c
-65.30 528.41 62.06 528.34 61.70 528.77 C
-61.13 529.34 60.19 530.64 59.26 531.65 C
-57.74 532.44 56.38 533.66 56.02 534.96 C
-54.94 534.74 53.86 534.17 53.64 533.23 C
-53.42 532.22 53.86 531.58 54.86 530.14 C
-56.02 529.85 56.38 529.27 56.02 528.98 c
-55.87 528.84 53.71 528.62 53.57 528.91 C
-52.70 529.49 51.70 531.86 51.19 533.16 c
-50.90 533.88 49.97 535.82 51.55 537.77 C
-51.98 538.49 51.91 539.86 51.77 540.65 c
-51.55 541.94 51.55 542.74 52.42 544.46 C
-49.75 546.77 45.22 551.23 49.61 557.14 C
-50.11 557.64 51.55 558.14 50.76 556.27 C
-49.82 553.68 46.66 551.45 53.42 546.19 C
-54.50 546.91 58.97 546.48 60.48 546.19 c
-64.66 545.33 65.52 545.33 68.40 546.05 C
-68.76 546.19 68.83 547.99 70.34 549.22 C
-70.06 550.15 72.00 551.45 72.22 552.53 C
-72.65 553.39 73.66 550.73 73.66 550.66 C
-73.58 551.23 74.66 552.31 74.81 552.96 C
-75.74 553.25 75.10 550.94 75.89 549.50 c
-76.32 548.93 76.68 549.07 77.11 547.70 C
-77.47 546.34 78.98 545.18 76.54 543.89 c
-75.17 543.17 74.59 543.31 73.58 542.88 C
-73.58 542.23 73.51 540.79 73.30 539.78 c
-@c
-S
-U
-@rs
-%%Trailer
- end
diff --git a/Master/texmf-dist/doc/latex3/xor/escher.eps b/Master/texmf-dist/doc/latex3/xor/escher.eps
deleted file mode 100644
index 87e6b36a84f..00000000000
--- a/Master/texmf-dist/doc/latex3/xor/escher.eps
+++ /dev/null
@@ -1,63 +0,0 @@
-%!
-%%BoundingBox: 0 0 236 236
-% M. C. Escher style impossible triangle
-% written by Guy Shaw
-
-% Things that are easy to play with:
-% Position on paper, overall size, and linewidth
-/inch { 72 mul } bind def
-
-gsave
-
-.15 inch 0 translate
-3 inch dup scale
-1 3 inch div setlinewidth
-
-% Thickness parameter:
-% /Thick is the thickness of the structural members of the triange,
-% as a fraction of the height of the triangle.
-% Reasonable looking impossible triangles can be obtained with Thick <= 1/6.
-% right at /Thick == 1/6, there is no space left inside the triangle.
-% /Thick > 1/6 yields bizarre, but not very interesting results.
-% /Thick < 1/20 is less interesting, because the "impossibility"
-% is not so striking when the structural members are that thin.
-% A good "standard" value is 1/8.
-
-/Thick 1 8 div def
-
-% You would not normally want to change anything that follows.
-
-/Tall 1 def
-/HalfThick Thick .5 mul def
-
-newpath
- HalfThick Thick moveto
- Thick 0 lineto
- 1 Thick sub 0 lineto
- 1 HalfThick sub Thick lineto
- .5 HalfThick add Tall Thick sub lineto
-
- 1 Thick sub 0 moveto
- .5 HalfThick add Tall 3 Thick mul sub lineto
- Thick 3 mul Thick 2 mul lineto
-
- 1 Thick 2.5 mul sub Thick moveto
- .5 Tall Thick 4 mul sub lineto
-stroke
-
-newpath
- HalfThick Thick moveto
- 1 Thick 2.5 mul sub Thick lineto
- HalfThick neg Thick rlineto
- Thick Thick add Thick Thick add lineto
- .5 HalfThick add Tall Thick sub lineto
- Thick neg 0 rlineto
- closepath
-fill
-grestore
-/Helvetica findfont 30 scalefont setfont
-0 5 moveto (L) show
-3.1 inch 5 moveto (R) show
-1.6 inch 2.7 inch moveto (T) show
-showpage
-
diff --git a/Master/texmf-dist/doc/latex3/xor/europe.eps b/Master/texmf-dist/doc/latex3/xor/europe.eps
deleted file mode 100644
index c0b0c013f8f..00000000000
--- a/Master/texmf-dist/doc/latex3/xor/europe.eps
+++ /dev/null
@@ -1,3227 +0,0 @@
-%!PS-Adobe-2.0 EPSF-1.2
-%%Creator: FreeHand
-%%Title: #13
-%%CreationDate: 12/3/90 15:59
-%%BoundingBox: 105 61 747 537
-%%DocumentProcSets: FreeHand_header 2 0
-%%DocumentSuppliedProcSets: FreeHand_header 2 0
-%%ColorUsage: Color
-%%CMYKProcessColor: 0 0 0 0.1 (10% gray)
-%%+ 0 0 0 0.2 (20% gray)
-%%+ 0 0 0 0.4 (40% gray)
-%%+ 0 0 0 0.6 (60% gray)
-%%+ 0 0 0 0.8 (80% gray)
-%%EndComments
-%%BeginProcSet: FreeHand_header 2 0
-/FreeHandDict 200 dict def
-FreeHandDict begin
-/currentpacking where{pop true setpacking}if
-/bdf{bind def}bind def
-/bdef{bind def}bdf
-/xdf{exch def}bdf
-/ndf{1 index where{pop pop pop}{dup xcheck{bind}if def}ifelse}bdf
-/min{2 copy gt{exch}if pop}bdf
-/max{2 copy lt{exch}if pop}bdf
-/dr{transform .25 sub round .25 add
-exch .25 sub round .25 add exch itransform}bdf
-/curveto{dr curveto}bdf
-/lineto{dr lineto}bdf
-/moveto{dr moveto}bdf
-/graystep 1 256 div def
-/bottom -0 def
-/delta -0 def
-/frac -0 def
-/left -0 def
-/numsteps -0 def
-/numsteps1 -0 def
-/radius -0 def
-/right -0 def
-/top -0 def
-/x -0 def
-/y -0 def
-/df currentflat def
-/tempstr 1 string def
-/clipflatness 3 def
-/inverted?
-0 currenttransfer exec .5 ge def
-/concatprocs{
-/proc2 exch cvlit def/proc1 exch cvlit def
-/newproc proc1 length proc2 length add array def
-newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval
-newproc cvx}bdf
-/storerect{/top xdf/right xdf/bottom xdf/left xdf}bdf
-/rectpath{newpath left bottom moveto left top lineto
-right top lineto right bottom lineto closepath}bdf
-/sf{dup 0 eq{pop df dup 3 mul}{dup} ifelse /clipflatness xdf setflat}bdf
-version cvr 38.0 le
-{/setrgbcolor{
-currenttransfer exec 3 1 roll
-currenttransfer exec 3 1 roll
-currenttransfer exec 3 1 roll
-setrgbcolor}bdf}if
-/gettint{0 get}bdf
-/puttint{0 exch put}bdf
-/vms{/vmsv save def}bdf
-/vmr{vmsv restore}bdf
-/vmrs{vmr vms}bdf
-/CD{/NF exch def
-{exch dup/FID ne{exch NF 3 1 roll put}
-{pop pop}ifelse}forall NF}bdf
-/MN{1 index length/Len exch def
-dup length Len add string dup
-Len 4 -1 roll putinterval dup 0 4 -1 roll putinterval}bdf
-/RC{256 string cvs(|______)anchorsearch
-{1 index MN cvn/NewN exch def cvn
-findfont dup maxlength dict CD dup/FontName NewN put dup
-/Encoding MacVec put NewN exch definefont pop}{pop}ifelse}bdf
-/RF{dup FontDirectory exch known{pop}{RC}ifelse}bdf
-/FF{dup 256 string cvs(|______)exch MN cvn dup FontDirectory exch known
-{exch}if pop findfont}bdf
-userdict begin /BDFontDict 20 dict def end
-BDFontDict begin
-/bu{}def
-/bn{}def
-/setTxMode{pop}def
-/gm{moveto}def
-/show{pop}def
-/gr{pop}def
-/fnt{pop pop pop}def
-/fs{pop}def
-/fz{pop}def
-/lin{pop pop}def
-end
-/MacVec 256 array def
-MacVec 0 /Helvetica findfont
-/Encoding get 0 128 getinterval putinterval
-MacVec 127 /DEL put MacVec 16#27 /quotesingle put MacVec 16#60 /grave put
-/NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT/FF/CR/SO/SI
-/DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US
-MacVec 0 32 getinterval astore pop
-/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute
-/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave
-/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute
-/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis
-/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls
-/register/copyright/trademark/acute/dieresis/notequal/AE/Oslash
-/infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation
-/product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash
-/questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft
-/guillemotright/ellipsis/nbspace/Agrave/Atilde/Otilde/OE/oe
-/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge
-/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl
-/daggerdbl/periodcentered/quotesinglbase/quotedblbase
-/perthousand/Acircumflex/Ecircumflex/Aacute
-/Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave/Oacute/Ocircumflex
-/apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde
-/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron
-MacVec 128 128 getinterval astore pop
-/fps{currentflat exch dup 0 le{pop 1}if
-{dup setflat 3 index stopped
-{1.3 mul dup 3 index gt{pop setflat pop pop stop}if}{exit}ifelse
-}loop pop setflat pop pop
-}bdf
-/fp{100 currentflat fps}bdf
-/rfp{clipflatness currentflat fps}bdf
-/fcp{100 clipflatness fps}bdf
-/fclip{{clip}fcp}bdf
-/feoclip{{eoclip}fcp}bdf
-end %. FreeHandDict
-%%EndProcSet
-%%BeginSetup
-FreeHandDict begin
-/ccmyk{dup 5 -1 roll sub 0 max exch}ndf
-/setcmykcolor{1 exch sub ccmyk ccmyk ccmyk pop setrgbcolor}ndf
-/setcmykcoloroverprint{4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor}ndf
-/findcmykcustomcolor{5 /packedarray where{pop packedarray}{array astore readonly}ifelse}ndf
-/setcustomcolor{exch aload pop pop 4{4 index mul 4 1 roll}repeat setcmykcolor pop}ndf
-/setseparationgray{1 exch sub dup dup dup setcmykcolor}ndf
-/setoverprint{pop}ndf
-/currentoverprint false ndf
-/colorimage{pop pop
-[5 -1 roll/exec cvx 6 -1 roll/exec cvx 7 -1 roll/exec cvx 8 -1 roll/exec cvx
-/exch cvx/pop cvx/exch cvx/pop cvx/exch cvx/pop cvx/invbuf cvx]cvx image}
-%. version 47.1 of Postscript defines colorimage incorrectly (rgb model only)
-version cvr 47.1 le{userdict begin bdf end}{ndf}ifelse
-/customcolorimage{pop image}ndf
-/separationimage{image}ndf
-/newcmykcustomcolor{6 /packedarray where{pop packedarray}{array astore readonly}ifelse}ndf
-/inkoverprint false ndf
-/setinkoverprint{pop}ndf
-/overprintprocess{pop}ndf
-/setspotcolor
-{spots exch get 0 5 getinterval exch setcustomcolor}ndf
-/currentcolortransfer{currenttransfer dup dup dup}ndf
-/setcolortransfer{systemdict begin settransfer end pop pop pop}ndf
-/setimagecmyk{dup length 4 eq
-{aload pop}
-{aload pop spots exch get 0 4 getinterval aload pop 4
-{4 index mul 4 1 roll}repeat 5 -1 roll pop} ifelse
-systemdict /colorimage known{version cvr 47.1 gt}{false}ifelse
-not{pop 1 currentgray sub}if
-/ik xdf /iy xdf /im xdf /ic xdf
-}ndf
-/setcolor{dup length 4 eq
-{aload overprintprocess setcmykcolor}
-{aload 1 get spots exch get 5 get setinkoverprint setspotcolor}
-ifelse}ndf
-/bc2[0 0]def
-/bc4[0 0 0 0]def
-/c1[0 0 0 0]def
-/c2[0 0 0 0]def
-/absmax{2 copy abs exch abs gt{exch}if pop}bdf
-/calcstep
-{c1 length 4 eq
-{
-0 1 3
-{c1 1 index get
-c2 3 -1 roll get
-sub
-}for
-absmax absmax absmax
-}
-{
-bc2 c1 1 get 1 exch put
-c1 gettint c2 gettint
-sub abs
-}ifelse
-graystep div abs round dup 0 eq{pop 1}if
-dup /numsteps xdf 1 sub dup 0 eq{pop 1}if /numsteps1 xdf
-}bdf
-/cblend{
-c1 length 4 eq
-{
-0 1 3
-{bc4 exch
-c1 1 index get
-c2 2 index get
-1 index sub
-frac mul add put
-}for bc4
-}{
-bc2
-c1 gettint
-c2 gettint
-1 index sub
-frac mul add
-puttint bc2
-}ifelse
-setcolor
-}bdf
-/logtaper{/frac frac 9 mul 1 add log def}bdf
-/imbits 1 def
-/iminv false def
-/invbuf{0 1 2 index length 1 sub{dup 2 index exch get 255 exch sub 2 index 3 1 roll put}for}bdf
-/cyanrp{currentfile cyanbuf readhexstring pop iminv{invbuf}if}def
-/magentarp{cyanbuf magentabuf copy}bdf
-/yellowrp{cyanbuf yellowbuf copy}bdf
-/blackrp{cyanbuf blackbuf copy}bdf
-/fixtransfer{
-dup{ic mul ic sub 1 add}concatprocs exch
-dup{im mul im sub 1 add}concatprocs exch
-dup{iy mul iy sub 1 add}concatprocs exch
-{ik mul ik sub 1 add}concatprocs
-currentcolortransfer
-5 -1 roll exch concatprocs 7 1 roll
-4 -1 roll exch concatprocs 6 1 roll
-3 -1 roll exch concatprocs 5 1 roll
-concatprocs 4 1 roll
-setcolortransfer
-}bdf
-/currentpacking where{pop false setpacking}if
-%%EndSetup
-/spots[1 0 0 0 (Process Cyan) false newcmykcustomcolor
-0 1 0 0 (Process Magenta) false newcmykcustomcolor
-0 0 1 0 (Process Yellow) false newcmykcustomcolor
-0 0 0 1 (Process Black) false newcmykcustomcolor
-]def
-vms
-0 sf
-newpath
-106.3 534.9 moveto
-746 534.9 lineto
-746 62 lineto
-106.3 62 lineto
-closepath
-gsave
-[0 0 0 0.1]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-268 477.6 moveto
-268 477.6 lineto
-closepath
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-270.2 475.4 moveto
-270.2 475.4 lineto
-274.8 475.4 lineto
-277 473.1 lineto
-283.8 473.1 lineto
-281.6 468.6 lineto
-274.8 466.3 lineto
-272.5 461.8 lineto
-270.2 459.5 lineto
-268 457.2 lineto
-270.2 455 lineto
-274.8 457.2 lineto
-279.3 457.2 lineto
-283.8 455 lineto
-283.8 455 lineto
-288.4 455 lineto
-286.2 450.4 lineto
-283.8 445.8 lineto
-281.6 441.4 lineto
-277 439 lineto
-274.8 436.8 lineto
-272.5 436.8 lineto
-274.8 434.6 lineto
-272.5 432.2 lineto
-265.7 434.6 lineto
-270.2 432.2 lineto
-274.8 430 lineto
-277 427.8 lineto
-277 423.2 lineto
-277 421 lineto
-274.8 418.6 lineto
-270.2 416.4 lineto
-263.4 414.2 lineto
-258.9 414.2 lineto
-254.4 416.4 lineto
-249.8 411.8 lineto
-249.8 416.4 lineto
-247.6 421 lineto
-249.8 423.2 lineto
-254.4 427.8 lineto
-254.4 432.2 lineto
-256.6 434.6 lineto
-254.4 436.8 lineto
-254.4 439 lineto
-249.8 436.8 lineto
-245.3 432.2 lineto
-247.6 436.8 lineto
-249.8 441.4 lineto
-254.4 443.6 lineto
-254.4 448.2 lineto
-258.9 450.4 lineto
-252.1 448.2 lineto
-252.1 452.7 lineto
-256.6 455 lineto
-256.6 461.8 lineto
-256.6 464 lineto
-258.9 468.6 lineto
-263.4 466.3 lineto
-263.4 470.8 lineto
-265.7 473.1 lineto
-270.2 475.4 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-245.3 468.6 moveto
-247.6 473.1 lineto
-247.6 477.6 lineto
-252.1 477.6 lineto
-254.4 479.9 lineto
-256.6 479.9 lineto
-256.6 475.4 lineto
-252.1 473.1 lineto
-245.3 468.6 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-302 489 moveto
-302 493.5 lineto
-304.2 495.8 lineto
-304.2 500.3 lineto
-306.6 498 lineto
-306.6 493.5 lineto
-302 489 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-231.7 427.8 moveto
-227.2 427.8 lineto
-227.2 425.4 lineto
-222.6 425.4 lineto
-222.6 423.2 lineto
-218.1 421 lineto
-220.3 416.4 lineto
-224.9 414.2 lineto
-229.4 416.4 lineto
-231.7 411.8 lineto
-231.7 409.6 lineto
-236.2 409.6 lineto
-240.8 414.2 lineto
-243 414.2 lineto
-240.8 418.6 lineto
-240.8 425.4 lineto
-236.2 427.8 lineto
-231.7 427.8 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-231.7 427.8 moveto
-227.2 427.8 lineto
-227.2 425.4 lineto
-222.6 425.4 lineto
-222.6 423.2 lineto
-218.1 421 lineto
-220.3 416.4 lineto
-224.9 414.2 lineto
-229.4 416.4 lineto
-231.7 411.8 lineto
-229.4 405 lineto
-229.4 398.2 lineto
-227.2 393.7 lineto
-224.9 386.9 lineto
-220.3 384.6 lineto
-220.3 380.1 lineto
-220.3 380.1 lineto
-215.8 382.4 lineto
-211.3 380.1 lineto
-204.5 382.4 lineto
-199.9 380.1 lineto
-193.1 380.1 lineto
-186.3 380.1 lineto
-186.3 384.6 lineto
-188.6 384.6 lineto
-184.1 384.6 lineto
-186.3 386.9 lineto
-181.8 389.2 lineto
-184.1 391.4 lineto
-186.3 391.4 lineto
-181.8 393.7 lineto
-186.3 396 lineto
-188.6 396 lineto
-193.1 396 lineto
-199.9 396 lineto
-197.7 398.2 lineto
-190.9 398.2 lineto
-195.4 400.6 lineto
-197.7 405 lineto
-202.2 405 lineto
-199.9 407.4 lineto
-195.4 409.6 lineto
-193.1 414.2 lineto
-197.7 416.4 lineto
-199.9 416.4 lineto
-197.7 421 lineto
-197.7 423.2 lineto
-197.7 425.4 lineto
-202.2 425.4 lineto
-206.7 421 lineto
-211.3 421 lineto
-213.5 423.2 lineto
-215.8 423.2 lineto
-213.5 427.8 lineto
-215.8 430 lineto
-218.1 430 lineto
-218.1 434.6 lineto
-222.6 434.6 lineto
-227.2 432.2 lineto
-231.7 434.6 lineto
-234 432.2 lineto
-231.7 427.8 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-259.8 411.2 moveto
-258.2 407.2 lineto
-261.4 403.2 lineto
-261.4 402.4 lineto
-261.4 399.2 lineto
-259 396 lineto
-258.2 392 lineto
-260.6 388.8 lineto
-257.4 387.2 lineto
-258.2 383.2 lineto
-255.8 381.6 lineto
-254.2 377.6 lineto
-252.6 372.8 lineto
-250.2 368 lineto
-251.8 362.4 lineto
-254.2 360 lineto
-249.4 356.8 lineto
-247 353.6 lineto
-243 355.2 lineto
-239 355.2 lineto
-235.8 358.4 lineto
-233.4 356 lineto
-231 356 lineto
-227 352.8 lineto
-222.2 349.6 lineto
-217.4 347.2 lineto
-213.4 346.4 lineto
-217.4 344 lineto
-218.2 340.8 lineto
-223 344 lineto
-227 344 lineto
-231.8 344 lineto
-234.2 340 lineto
-237.4 342.4 lineto
-237.4 346.4 lineto
-246.2 344.8 lineto
-250.2 341.6 lineto
-252.6 344.8 lineto
-255.8 343.2 lineto
-259.8 345.6 lineto
-263 341.6 lineto
-267 342.4 lineto
-271.8 340 lineto
-279.8 340 lineto
-283.8 342.4 lineto
-291 344 lineto
-287.8 345.6 lineto
-283.8 347.2 lineto
-282.2 350.4 lineto
-285.4 350.4 lineto
-286.2 350.4 lineto
-286.2 353.6 lineto
-290.2 355.2 lineto
-295.8 359.2 lineto
-297.4 364.8 lineto
-296.6 369.6 lineto
-292.6 370.4 lineto
-288.6 372.8 lineto
-285.4 370.4 lineto
-283.8 374.4 lineto
-287 379.2 lineto
-285.4 384.8 lineto
-282.2 388 lineto
-286.2 389.6 lineto
-287 393.6 lineto
-283.8 399.2 lineto
-280.6 403.2 lineto
-280.6 409.6 lineto
-279 414.4 lineto
-279.8 420.8 lineto
-277.4 424.8 lineto
-277 423.2 lineto
-277 421 lineto
-274.8 418.6 lineto
-270.2 416.4 lineto
-263.4 414.2 lineto
-259.8 411.2 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-258.2 407.2 moveto
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-257.4 387.2 moveto
-258.2 383.2 lineto
-255.8 381.6 lineto
-254.2 377.6 lineto
-252.6 372.8 lineto
-250.2 368 lineto
-251.8 362.4 lineto
-254.2 360 lineto
-246.2 359.2 lineto
-243 360.8 lineto
-239.8 364 lineto
-239 365.6 lineto
-236.6 368 lineto
-233.4 366.4 lineto
-230.2 366.4 lineto
-232.6 368.8 lineto
-229.4 370.4 lineto
-228.6 373.6 lineto
-235 372.8 lineto
-239.8 373.6 lineto
-242.2 377.6 lineto
-244.6 380.8 lineto
-244.6 384.8 lineto
-240.6 385.6 lineto
-247 388 lineto
-251 389.6 lineto
-254.2 387.2 lineto
-257.4 389.6 lineto
-257.4 387.2 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-404.6 535.2 moveto
-399.8 532.8 lineto
-402.2 530.4 lineto
-396.6 530.4 lineto
-394.2 528.8 lineto
-392.6 532.8 lineto
-387.8 531.2 lineto
-383 527.2 lineto
-383 523.2 lineto
-378.2 524 lineto
-372.6 524.8 lineto
-371.8 521.6 lineto
-375 520.8 lineto
-372.6 517.6 lineto
-368.6 519.2 lineto
-368.6 516 lineto
-364.6 514.4 lineto
-360.6 514.4 lineto
-357.4 512 lineto
-359.8 509.6 lineto
-355.8 508 lineto
-355.8 508.8 lineto
-356.6 504 lineto
-352.6 502.4 lineto
-355.8 500.8 lineto
-355 497.6 lineto
-359 496.8 lineto
-363 496 lineto
-355.8 494.4 lineto
-355 490.4 lineto
-353.4 488 lineto
-357.4 486.4 lineto
-353.4 484 lineto
-355.8 480.8 lineto
-361.4 481.6 lineto
-359 477.6 lineto
-355.8 474.4 lineto
-357.4 471.2 lineto
-353.4 469.6 lineto
-351.8 469.6 lineto
-348.6 467.2 lineto
-350.2 462.4 lineto
-353.4 464.8 lineto
-355.8 466.4 lineto
-356.6 461.6 lineto
-354.2 458.4 lineto
-350.2 459.2 lineto
-351 454.4 lineto
-355 448.8 lineto
-359 447.2 lineto
-361.4 442.4 lineto
-368.6 442.4 lineto
-374.2 444.8 lineto
-378.2 448.8 lineto
-383.8 452.8 lineto
-388.6 452.8 lineto
-390.2 456 lineto
-393.4 458.4 lineto
-393.4 463.2 lineto
-395.8 468 lineto
-397.4 464 lineto
-397.4 457.6 lineto
-399.8 453.6 lineto
-403 452 lineto
-403.8 459.2 lineto
-405.4 464.8 lineto
-408.6 472 lineto
-412.6 478.4 lineto
-411.8 485.6 lineto
-411 490.4 lineto
-415 492 lineto
-414.2 496.8 lineto
-410.2 500 lineto
-412.6 510.4 lineto
-412.6 518.4 lineto
-411.8 528 lineto
-411.8 527.2 lineto
-414.2 532 lineto
-415.8 535.2 lineto
-404.6 535.2 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-472.6 535.2 moveto
-465.4 528 lineto
-461.4 524.8 lineto
-457.4 520 lineto
-458.2 520 lineto
-453.4 512.8 lineto
-449.4 505.6 lineto
-447.8 496 lineto
-449.4 486.4 lineto
-451.8 480 lineto
-456.6 472.8 lineto
-460.6 464.8 lineto
-459 458.4 lineto
-458.2 453.6 lineto
-454.2 448.8 lineto
-451.8 450.4 lineto
-447 447.2 lineto
-442.2 445.6 lineto
-445.4 440.8 lineto
-445.4 435.2 lineto
-443.8 431.2 lineto
-444.6 424 lineto
-441.4 418.4 lineto
-439 409.6 lineto
-437.4 404 lineto
-431 402.4 lineto
-426.2 404 lineto
-422.2 400.8 lineto
-422.2 396 lineto
-419 392.8 lineto
-413.4 393.6 lineto
-408.6 392 lineto
-409.4 396 lineto
-408.6 400 lineto
-409.4 405.6 lineto
-406.2 410.4 lineto
-409.4 413.6 lineto
-406.2 418.4 lineto
-405.4 424 lineto
-402.2 428.8 lineto
-401.4 436 lineto
-402.2 440.8 lineto
-399 444 lineto
-399 449.6 lineto
-399 454.4 lineto
-399.8 453.6 lineto
-403 452 lineto
-403.8 459.2 lineto
-405.4 464.8 lineto
-408.6 472 lineto
-412.6 478.4 lineto
-411.8 485.6 lineto
-411 490.4 lineto
-415 492 lineto
-414.2 496.8 lineto
-410.2 500 lineto
-412.6 510.4 lineto
-412.6 518.4 lineto
-411.8 528 lineto
-411.8 527.2 lineto
-414.2 532 lineto
-415.8 535.2 lineto
-472.6 535.2 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-499.8 535.2 moveto
-555 535.2 lineto
-562.2 532.8 lineto
-565.4 528 lineto
-563 520.8 lineto
-559 512.8 lineto
-558.2 507.2 lineto
-554.2 503.2 lineto
-547 488 lineto
-543 482.4 lineto
-539.8 484.8 lineto
-535.8 482.4 lineto
-530.2 481.6 lineto
-528.6 478.4 lineto
-523.8 476 lineto
-518.2 473.6 lineto
-512.6 471.2 lineto
-507 467.2 lineto
-506.2 472 lineto
-503.8 476.8 lineto
-500.6 480 lineto
-494.2 478.4 lineto
-491.8 484.8 lineto
-491 492 lineto
-493.4 497.6 lineto
-490.2 504.8 lineto
-490.2 511.2 lineto
-489.4 516.8 lineto
-491 520.8 lineto
-490.2 526.4 lineto
-495 525.6 lineto
-499.8 535.2 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-447 421.6 moveto
-446.2 414.4 lineto
-443 407.2 lineto
-443 415.2 lineto
-447 421.6 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-460.6 433.6 moveto
-457.4 429.6 lineto
-455.8 422.4 lineto
-455.8 417.6 lineto
-459 418.4 lineto
-460.6 424.8 lineto
-462.2 429.6 lineto
-460.6 433.6 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-501.4 446.4 moveto
-503 439.2 lineto
-506.2 442.4 lineto
-511 446.4 lineto
-506.2 448 lineto
-501.4 446.4 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-503.8 455.2 moveto
-502.2 452.8 lineto
-507 450.4 lineto
-507.8 453.6 lineto
-503.8 455.2 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-391.8 434.4 moveto
-391 429.6 lineto
-391 424 lineto
-384.6 425.6 lineto
-379.8 424.8 lineto
-374.2 424 lineto
-371 420.8 lineto
-370.2 424 lineto
-374.2 427.2 lineto
-380.6 427.2 lineto
-384.6 430.4 lineto
-391.8 434.4 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-368.6 388.8 moveto
-369.4 395.2 lineto
-369.4 400.8 lineto
-365.4 403.2 lineto
-367 411.2 lineto
-368.6 417.6 lineto
-372.6 416.8 lineto
-376.6 419.2 lineto
-379 416 lineto
-378.2 421.6 lineto
-381.4 423.2 lineto
-386.2 423.2 lineto
-387 420 lineto
-383.8 417.6 lineto
-388.6 415.2 lineto
-391.8 412.8 lineto
-390.2 408.8 lineto
-387.8 411.2 lineto
-384.6 406.4 lineto
-382.2 403.2 lineto
-380.6 399.2 lineto
-378.2 395.2 lineto
-376.6 392 lineto
-379.8 389.6 lineto
-376.6 388 lineto
-368.6 388.8 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-381.4 397.6 moveto
-385.4 398.4 lineto
-388.6 396.8 lineto
-389.4 393.6 lineto
-386.2 390.4 lineto
-383 394.4 lineto
-381.4 397.6 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-vmrs
-0 sf
-newpath
-394.2 405.6 moveto
-395 401.6 lineto
-391.8 400 lineto
-393.4 397.6 lineto
-393.4 392.8 lineto
-397.4 392.8 lineto
-396.6 388.8 lineto
-400.6 388.8 lineto
-400.6 389.6 lineto
-400.6 392.8 lineto
-404.6 394.4 lineto
-402.2 397.6 lineto
-405.4 400 lineto
-405.4 406.4 lineto
-400.6 405.6 lineto
-400.6 401.6 lineto
-397.4 401.6 lineto
-394.2 405.6 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-331 328 moveto
-330.2 332 lineto
-330.2 335.2 lineto
-327 336.8 lineto
-327 339.2 lineto
-323.8 339.2 lineto
-320.6 340 lineto
-317.4 337.6 lineto
-314.2 337.6 lineto
-305.4 340 lineto
-312.6 342.4 lineto
-315.8 341.6 lineto
-318.2 344 lineto
-315.8 347.2 lineto
-319 347.2 lineto
-319 350.4 lineto
-323 355.2 lineto
-326.2 360 lineto
-327.8 364 lineto
-331 362.4 lineto
-331 358.4 lineto
-328.6 355.2 lineto
-327 350.4 lineto
-334.2 355.2 lineto
-335 359.2 lineto
-335 362.4 lineto
-334.2 366.4 lineto
-337.4 368 lineto
-341.4 369.6 lineto
-343.8 368 lineto
-346.2 369.6 lineto
-350.2 370.4 lineto
-350.2 369.6 lineto
-351 364.8 lineto
-350.2 359.2 lineto
-346.2 354.4 lineto
-348.6 350.4 lineto
-345.4 346.4 lineto
-340.6 344 lineto
-336.6 342.4 lineto
-336.6 337.6 lineto
-335 332.8 lineto
-334.2 325.6 lineto
-331 328 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-334.2 325.6 moveto
-331 328 lineto
-330.2 332 lineto
-330.2 335.2 lineto
-327 336.8 lineto
-327 339.2 lineto
-323.8 339.2 lineto
-320.6 340 lineto
-317.4 337.6 lineto
-314.2 337.6 lineto
-305.4 340 lineto
-301.4 340 lineto
-302.2 334.4 lineto
-306.2 331.2 lineto
-307.8 327.2 lineto
-312.6 322.4 lineto
-314.2 319.2 lineto
-315.8 316 lineto
-319.8 319.2 lineto
-320.6 313.6 lineto
-323 310.4 lineto
-327 306.4 lineto
-330.2 308.8 lineto
-330.2 304.8 lineto
-334.2 306.4 lineto
-334.2 305.6 lineto
-336.6 310.4 lineto
-334.2 314.4 lineto
-331.8 317.6 lineto
-333.4 320 lineto
-334.2 325.6 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-393.4 313.6 moveto
-389.4 316 lineto
-384.6 317.6 lineto
-383.8 318.4 lineto
-384.6 312.8 lineto
-380.6 316 lineto
-375.8 319.2 lineto
-374.2 324.8 lineto
-376.6 328 lineto
-375 332 lineto
-380.6 333.6 lineto
-380.6 333.6 lineto
-382.2 339.2 lineto
-385.4 341.6 lineto
-385.4 346.4 lineto
-385.4 352.8 lineto
-390.2 354.4 lineto
-393.4 355.2 lineto
-390.2 359.2 lineto
-385.4 362.4 lineto
-387.8 367.2 lineto
-387.8 372.8 lineto
-387 373.6 lineto
-391 371.2 lineto
-393.4 374.4 lineto
-398.2 374.4 lineto
-401.4 377.6 lineto
-404.6 380 lineto
-404.6 377.6 lineto
-407.8 376.8 lineto
-411 377.6 lineto
-411 382.4 lineto
-414.2 380.8 lineto
-415 377.6 lineto
-410.2 375.2 lineto
-413.4 372.8 lineto
-416.6 369.6 lineto
-420.6 366.4 lineto
-421.4 362.4 lineto
-419.8 356.8 lineto
-419 356.8 lineto
-417.4 353.6 lineto
-418.2 349.6 lineto
-421.4 347.2 lineto
-421.4 342.4 lineto
-421.4 335.2 lineto
-423 330.4 lineto
-423.8 324.8 lineto
-422.2 320.8 lineto
-418.2 323.2 lineto
-414.2 320 lineto
-410.2 316 lineto
-406.2 316 lineto
-403 313.6 lineto
-396.6 312.8 lineto
-393.4 313.6 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-426.2 319.2 moveto
-430.2 316.8 lineto
-435 312.8 lineto
-436.6 308 lineto
-441.4 306.4 lineto
-441.4 310.4 lineto
-446.2 309.6 lineto
-450.2 305.6 lineto
-457.4 302.4 lineto
-463 298.4 lineto
-469.4 299.2 lineto
-473.4 295.2 lineto
-477.4 298.4 lineto
-483 298.4 lineto
-487 300 lineto
-493.4 299.2 lineto
-498.2 296.8 lineto
-501.4 300 lineto
-505.4 297.6 lineto
-510.2 297.6 lineto
-513.4 294.4 lineto
-517.4 292.8 lineto
-518.2 299.2 lineto
-519.8 304.8 lineto
-525.4 311.2 lineto
-531.8 316 lineto
-531.8 322.4 lineto
-529.4 325.6 lineto
-528.6 329.6 lineto
-526.2 333.6 lineto
-526.2 340.8 lineto
-524.6 345.6 lineto
-528.6 354.4 lineto
-527 362.4 lineto
-523.8 370.4 lineto
-519.8 377.6 lineto
-515.8 381.6 lineto
-511 379.2 lineto
-504.6 379.2 lineto
-499 380 lineto
-491 379.2 lineto
-480.6 378.4 lineto
-475 378.4 lineto
-471 376 lineto
-467.8 376 lineto
-471.8 380.8 lineto
-465.4 376.8 lineto
-460.6 379.2 lineto
-458.2 380.8 lineto
-459.8 384 lineto
-448.6 382.4 lineto
-442.2 380.8 lineto
-435.8 375.2 lineto
-431 372.8 lineto
-426.2 372.8 lineto
-423 367.2 lineto
-423.8 362.4 lineto
-421.4 363.2 lineto
-421.4 362.4 lineto
-419.8 356.8 lineto
-419 356.8 lineto
-417.4 353.6 lineto
-418.2 349.6 lineto
-421.4 347.2 lineto
-421.4 342.4 lineto
-421.4 335.2 lineto
-423 330.4 lineto
-423.8 324.8 lineto
-422.2 320.8 lineto
-426.2 319.2 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-422.2 320.8 moveto
-418.2 323.2 lineto
-414.2 320 lineto
-410.2 316 lineto
-406.2 316 lineto
-403 313.6 lineto
-396.6 312.8 lineto
-393.4 313.6 lineto
-394.2 308 lineto
-398.2 304.8 lineto
-399.8 299.2 lineto
-403.8 293.6 lineto
-410.2 287.2 lineto
-408.6 282.4 lineto
-413.4 281.6 lineto
-416.6 285.6 lineto
-419.8 289.6 lineto
-426.2 285.6 lineto
-431.8 284 lineto
-435.8 281.6 lineto
-439 279.5 lineto
-440.6 273.6 lineto
-448.6 268.8 lineto
-455 266.4 lineto
-459.8 268.8 lineto
-463 272.8 lineto
-471.8 276 lineto
-478.2 280 lineto
-486.2 281.6 lineto
-494.2 283.2 lineto
-504.6 284 lineto
-508.6 281.6 lineto
-512.6 282.4 lineto
-515 288 lineto
-516.6 292.8 lineto
-517.4 292.8 lineto
-513.4 294.4 lineto
-510.2 297.6 lineto
-505.4 297.6 lineto
-501.4 300 lineto
-498.2 296.8 lineto
-493.4 299.2 lineto
-487 300 lineto
-483 298.4 lineto
-477.4 298.4 lineto
-473.4 295.2 lineto
-469.4 299.2 lineto
-463 298.4 lineto
-457.4 302.4 lineto
-450.2 305.6 lineto
-446.2 309.6 lineto
-441.4 310.4 lineto
-441.4 306.4 lineto
-436.6 308 lineto
-435 312.8 lineto
-430.2 316.8 lineto
-426.2 319.2 lineto
-422.2 320.8 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-440.6 273.6 moveto
-448.6 268.8 lineto
-455 266.4 lineto
-459.8 268.8 lineto
-463 272.8 lineto
-471.8 276 lineto
-478.2 280 lineto
-486.2 281.6 lineto
-494.2 283.2 lineto
-504.6 284 lineto
-508.6 281.6 lineto
-512.6 282.4 lineto
-512.6 283.2 lineto
-512.6 278.4 lineto
-519 276 lineto
-513.4 270.4 lineto
-507.8 264 lineto
-505.4 256.8 lineto
-499 250.4 lineto
-496.6 244.8 lineto
-492.6 240.8 lineto
-485.4 239.2 lineto
-478.2 240 lineto
-471 239.2 lineto
-463 238.4 lineto
-457.4 235.2 lineto
-454.2 232.8 lineto
-447.8 234.4 lineto
-440.6 236.8 lineto
-435 243.2 lineto
-433.4 248 lineto
-430.2 252 lineto
-434.2 258.4 lineto
-436.6 261.6 lineto
-435.8 265.6 lineto
-440 267 lineto
-440.6 273.6 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-526.4 275.6 moveto
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-492.6 240.8 moveto
-485.4 239.2 lineto
-478.2 240 lineto
-471 239.2 lineto
-463 238.4 lineto
-457.4 235.2 lineto
-454.2 232.8 lineto
-447.8 234.4 lineto
-440.6 236.8 lineto
-435 243.2 lineto
-433.4 248 lineto
-430.2 252 lineto
-428 250 lineto
-421.6 250 lineto
-417.6 247.6 lineto
-412.8 246 lineto
-405.6 247.6 lineto
-403.2 246 lineto
-405.6 243.6 lineto
-403.2 239.6 lineto
-404.8 237.2 lineto
-405.6 232.4 lineto
-401.6 229.2 lineto
-403.2 224.4 lineto
-405.6 219.6 lineto
-408 223.6 lineto
-408.8 227.6 lineto
-412.8 227.6 lineto
-416 222.8 lineto
-418.4 215.6 lineto
-423.2 213.2 lineto
-424.8 209.2 lineto
-420 209.2 lineto
-425.6 203.6 lineto
-431.2 198 lineto
-436 198 lineto
-443.2 194 lineto
-447.2 188.4 lineto
-444 188.4 lineto
-447.2 186.8 lineto
-452.8 185.2 lineto
-460.8 180.4 lineto
-465.6 175.6 lineto
-468.8 171.6 lineto
-471.2 174.8 lineto
-468.8 178.8 lineto
-474.4 181.2 lineto
-481.6 181.2 lineto
-484.8 178 lineto
-490.4 181.2 lineto
-496 180.4 lineto
-499.2 174.8 lineto
-497.6 168.4 lineto
-500.8 163.6 lineto
-500.8 158.8 lineto
-504 154 lineto
-511.2 157.2 lineto
-516 158.8 lineto
-519.2 162.8 lineto
-525.6 158 lineto
-528 161.2 lineto
-530.4 169.2 lineto
-528 173.2 lineto
-524 177.2 lineto
-520.8 181.2 lineto
-521.6 187.6 lineto
-520.8 191.6 lineto
-527.2 195.6 lineto
-524 198 lineto
-521.6 202 lineto
-520 207.6 lineto
-524 210.8 lineto
-524 210 lineto
-520 214 lineto
-523.2 216.4 lineto
-518.4 219.6 lineto
-515.2 217.2 lineto
-507.2 219.6 lineto
-509.6 222.8 lineto
-505.6 226.8 lineto
-501.6 229.2 lineto
-499.2 237.2 lineto
-492.6 240.8 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-430.2 252 moveto
-428 250 lineto
-421.6 250 lineto
-417.6 247.6 lineto
-412.8 246 lineto
-405.6 247.6 lineto
-396.8 249.2 lineto
-392 254 lineto
-388 257.2 lineto
-382.4 256.4 lineto
-379.2 253.2 lineto
-376 254 lineto
-372 257.2 lineto
-367.2 257.2 lineto
-362.4 261.2 lineto
-363.2 266 lineto
-365.6 270 lineto
-366.2 269.6 lineto
-371 266.4 lineto
-371 266.4 lineto
-376.6 269.6 lineto
-379.8 268 lineto
-385.4 267.2 lineto
-389.4 269.6 lineto
-394.2 269.6 lineto
-394.2 269.6 lineto
-395.8 269.6 lineto
-399 265.6 lineto
-402.2 263.2 lineto
-402.2 269.6 lineto
-399 272.8 lineto
-402.2 276 lineto
-405.4 280.8 lineto
-408.6 282.4 lineto
-413.4 281.6 lineto
-416.6 285.6 lineto
-419.8 289.6 lineto
-426.2 285.6 lineto
-431.8 284 lineto
-435.8 281.6 lineto
-439.5 279.5 lineto
-440.6 273.6 lineto
-440 267.5 lineto
-435.8 265.6 lineto
-436.6 261.6 lineto
-434.2 258.4 lineto
-430.2 252 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-372.8 254.8 moveto
-372 257.2 lineto
-367.2 257.2 lineto
-362.4 261.2 lineto
-363.2 266 lineto
-365.6 270 lineto
-362.2 269.6 lineto
-355.8 271.2 lineto
-352.6 274.4 lineto
-350.2 270.4 lineto
-344.6 272 lineto
-342.2 270.4 lineto
-342.4 271.6 lineto
-338.4 270.8 lineto
-334.4 267.6 lineto
-330.4 265.2 lineto
-326.4 260.4 lineto
-324 252.4 lineto
-328 255.6 lineto
-332 256.4 lineto
-333.6 254 lineto
-333.6 251.6 lineto
-334.4 247.6 lineto
-339.2 246.8 lineto
-343.2 246 lineto
-347.2 249.2 lineto
-348.8 253.2 lineto
-351.2 253.2 lineto
-352 248.4 lineto
-354.4 242.8 lineto
-356.8 246 lineto
-359.2 247.6 lineto
-359.2 251.6 lineto
-362.4 249.2 lineto
-365.6 249.2 lineto
-368 245.2 lineto
-369.6 248.4 lineto
-368 253.2 lineto
-373.6 251.6 lineto
-372.8 254.8 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-334.4 247.6 moveto
-339.2 246.8 lineto
-343.2 246 lineto
-347.2 249.2 lineto
-348.8 253.2 lineto
-351.2 253.2 lineto
-352 248.4 lineto
-354.4 242.8 lineto
-356.8 246 lineto
-359.2 247.6 lineto
-359.2 251.6 lineto
-362.4 249.2 lineto
-365.6 249.2 lineto
-368 245.2 lineto
-369.6 248.4 lineto
-368 253.2 lineto
-373.6 251.6 lineto
-373.6 253.2 lineto
-376 254 lineto
-379.2 253.2 lineto
-382.4 256.4 lineto
-388 257.2 lineto
-392 254 lineto
-396.8 249.2 lineto
-405.6 247.6 lineto
-403.2 246 lineto
-405.6 243.6 lineto
-403.2 239.6 lineto
-404.8 237.2 lineto
-405.6 232.4 lineto
-405.6 232.4 lineto
-400.8 233.2 lineto
-397.6 230.8 lineto
-391.2 230 lineto
-389.6 226 lineto
-392.8 222.8 lineto
-391.2 218.8 lineto
-391.2 213.2 lineto
-394.4 206.8 lineto
-400 202.8 lineto
-404.8 198 lineto
-407.2 189.2 lineto
-408.8 182 lineto
-413.6 176.4 lineto
-420 171.6 lineto
-427.2 170 lineto
-433.6 169.2 lineto
-431.2 165.2 lineto
-435.2 162.8 lineto
-440.8 158.8 lineto
-448 154 lineto
-455.2 149.2 lineto
-459.2 145.2 lineto
-461.6 139.6 lineto
-460.8 134 lineto
-456.8 137.2 lineto
-453.6 141.2 lineto
-448.8 144.4 lineto
-444.8 146 lineto
-440.8 142 lineto
-439.2 137.2 lineto
-437.6 133.2 lineto
-441.6 131.6 lineto
-444.8 128.4 lineto
-444.8 122 lineto
-440.8 119.6 lineto
-437.6 116.4 lineto
-436.8 112.4 lineto
-432.8 107.6 lineto
-429.6 104.4 lineto
-426.4 102.8 lineto
-426.4 107.6 lineto
-428 111.6 lineto
-428.8 115.6 lineto
-432 119.6 lineto
-431.2 127.6 lineto
-428 134 lineto
-423.2 138.8 lineto
-416 141.2 lineto
-416 146.8 lineto
-409.6 149.2 lineto
-408 153.2 lineto
-404.8 154.8 lineto
-402.4 158.8 lineto
-396.8 160.4 lineto
-392 162 lineto
-391.2 166.8 lineto
-386.4 168.4 lineto
-382.4 174.8 lineto
-376.8 178.8 lineto
-374.4 183.6 lineto
-370.4 187.6 lineto
-366.4 192.4 lineto
-365.6 202 lineto
-360.8 210 lineto
-356.8 213.2 lineto
-351.2 216.4 lineto
-345.6 217.2 lineto
-341.6 213.2 lineto
-337.6 210 lineto
-333.6 208.4 lineto
-333.6 213.2 lineto
-330.4 215.6 lineto
-328 218 lineto
-328.8 223.6 lineto
-328 229.2 lineto
-325.6 233.2 lineto
-330.4 235.6 lineto
-334.4 237.2 lineto
-332 244.4 lineto
-334.4 247.6 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-301.4 340 moveto
-302.2 334.4 lineto
-306.2 331.2 lineto
-307.8 327.2 lineto
-312.6 322.4 lineto
-314.2 319.2 lineto
-315.8 316 lineto
-319.8 319.2 lineto
-320.6 313.6 lineto
-323 310.4 lineto
-327 306.4 lineto
-330.2 308.8 lineto
-330.2 304.8 lineto
-334.2 306.4 lineto
-337.4 300.8 lineto
-341.4 296.8 lineto
-346.2 296 lineto
-350.2 292.8 lineto
-346.2 288.8 lineto
-342.2 283.2 lineto
-341.4 275.2 lineto
-342.2 270.4 lineto
-342.4 271.6 lineto
-338.4 270.8 lineto
-334.4 267.6 lineto
-330.4 265.2 lineto
-326.4 260.4 lineto
-324 252.4 lineto
-328 255.6 lineto
-332 256.4 lineto
-333.6 254 lineto
-333.6 251.6 lineto
-334.4 247.6 lineto
-332 244.4 lineto
-334.4 237.2 lineto
-330.4 235.6 lineto
-325.6 233.2 lineto
-328 229.2 lineto
-328.8 223.6 lineto
-328 218 lineto
-330.4 215.6 lineto
-333.6 213.2 lineto
-333.6 208.4 lineto
-333.6 208.4 lineto
-328 207.6 lineto
-323.2 203.6 lineto
-317.6 202.8 lineto
-312 204.4 lineto
-308.8 206 lineto
-308 209.2 lineto
-303.2 210 lineto
-298.4 209.2 lineto
-293.6 213.2 lineto
-288 211.6 lineto
-280.8 208.4 lineto
-279.2 202 lineto
-278.4 196.4 lineto
-272.8 196.4 lineto
-266.4 198 lineto
-260.8 200 lineto
-258.4 203.6 lineto
-254.4 207.6 lineto
-250.4 210 lineto
-250.4 210 lineto
-242.4 210.8 lineto
-240 214 lineto
-235.2 215.6 lineto
-232 219.6 lineto
-228 222 lineto
-225.6 227.6 lineto
-231.2 233.2 lineto
-236 241.2 lineto
-237.6 245.2 lineto
-240 249.2 lineto
-240.8 254 lineto
-241.6 259.6 lineto
-245.6 253.2 lineto
-245.6 258.8 lineto
-243.2 262 lineto
-244 265.2 lineto
-245.6 270.8 lineto
-240 275.6 lineto
-238.4 282.8 lineto
-237.6 288.4 lineto
-236 293.2 lineto
-235.2 298 lineto
-231.2 298 lineto
-227.2 303.6 lineto
-220.8 306.8 lineto
-216.8 310.8 lineto
-218.4 313.2 lineto
-221.6 312.4 lineto
-220 316.4 lineto
-216 318.8 lineto
-221.6 319.6 lineto
-226.4 318.8 lineto
-232 319.6 lineto
-236 317.2 lineto
-238.4 313.2 lineto
-243.2 313.2 lineto
-247.2 311.6 lineto
-252.8 310 lineto
-252 316.4 lineto
-251.2 322.8 lineto
-252 328.4 lineto
-255.2 326.8 lineto
-258.4 324.4 lineto
-259.2 320.4 lineto
-264.8 318 lineto
-270.4 315.6 lineto
-276.8 315.6 lineto
-273.6 319.6 lineto
-277.6 322 lineto
-283.2 322.8 lineto
-286.4 325.2 lineto
-291.2 327.6 lineto
-290.4 332.4 lineto
-292.8 337.2 lineto
-296.8 339.6 lineto
-301.4 340 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-528 161.2 moveto
-529.6 169.2 lineto
-530.4 169.2 lineto
-530.4 169.2 lineto
-528 173.2 lineto
-524 177.2 lineto
-520.8 181.2 lineto
-521.6 187.6 lineto
-520.8 191.6 lineto
-527.2 195.6 lineto
-524 198 lineto
-521.6 202 lineto
-520 207.6 lineto
-524 210 lineto
-525.6 206.8 lineto
-530.4 206.8 lineto
-534.4 205.2 lineto
-538.4 203.6 lineto
-543.2 205.2 lineto
-547.2 202.8 lineto
-555.2 204.4 lineto
-560.8 209.2 lineto
-567.2 213.2 lineto
-576 214 lineto
-583.2 212.4 lineto
-589.6 209.2 lineto
-589.6 210 lineto
-589.6 206.8 lineto
-585.6 206 lineto
-584 200.4 lineto
-583.2 194 lineto
-580 190.8 lineto
-583.2 189.2 lineto
-588 183.6 lineto
-584 182.8 lineto
-578.4 183.6 lineto
-574.4 182.8 lineto
-569.6 179.6 lineto
-566.4 176.4 lineto
-566.4 172.4 lineto
-560.8 170.8 lineto
-557.6 168.4 lineto
-551.2 169.2 lineto
-546.4 170 lineto
-540.8 170 lineto
-538.4 167.6 lineto
-528.8 165.2 lineto
-528.9 169.2 lineto
-528 161.2 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-533.6 165.2 moveto
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-504.8 149.2 moveto
-501.6 143.6 lineto
-496 142.8 lineto
-490.4 142 lineto
-487.2 140.4 lineto
-483.2 139.6 lineto
-481.6 133.2 lineto
-478.4 138 lineto
-474.4 143.6 lineto
-469.6 146 lineto
-469.6 146.8 lineto
-472.8 148.4 lineto
-471.2 152.4 lineto
-473.6 155.6 lineto
-472 158.8 lineto
-472.8 165.2 lineto
-473.6 169.2 lineto
-469.6 171.6 lineto
-468.8 171.6 lineto
-471.2 174.8 lineto
-468.8 178.8 lineto
-474.4 181.2 lineto
-481.6 181.2 lineto
-484.8 178 lineto
-490.4 181.2 lineto
-496 180.4 lineto
-499.2 174.8 lineto
-497.6 168.4 lineto
-500.8 163.6 lineto
-500.8 158.8 lineto
-504 154 lineto
-504.8 149.2 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-65.1 502.5 moveto
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-301.4 340 moveto
-302.2 334.4 lineto
-306.2 331.2 lineto
-307.8 327.2 lineto
-312.6 322.4 lineto
-314.2 319.2 lineto
-315.8 316 lineto
-319.8 319.2 lineto
-320.6 313.6 lineto
-323 310.4 lineto
-327 306.4 lineto
-330.2 308.8 lineto
-330.2 304.8 lineto
-334.2 306.4 lineto
-334.2 305.6 lineto
-336.6 310.4 lineto
-334.2 314.4 lineto
-331.8 317.6 lineto
-333.4 320 lineto
-334.2 325.6 lineto
-331 328 lineto
-330.2 332 lineto
-330.2 335.2 lineto
-327 336.8 lineto
-327 339.2 lineto
-323.8 339.2 lineto
-320.6 340 lineto
-317.4 337.6 lineto
-314.2 337.6 lineto
-305.4 340 lineto
-301.4 340 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-390.4 375.6 moveto
-392 379.6 lineto
-388 378.8 lineto
-384.8 380.4 lineto
-384 378 lineto
-380 382.8 lineto
-382.4 386.8 lineto
-380.8 390.8 lineto
-379.8 389.6 lineto
-376.6 388 lineto
-368.6 388.8 lineto
-370.4 384.4 lineto
-369.6 381.2 lineto
-371.2 376.4 lineto
-374.4 370 lineto
-369.6 372.4 lineto
-366.4 372.4 lineto
-365.6 367.6 lineto
-364 370.8 lineto
-360.8 367.6 lineto
-360.8 372.4 lineto
-356 373.2 lineto
-352 374 lineto
-349.6 370 lineto
-350.2 370.4 lineto
-350.2 369.6 lineto
-351 364.8 lineto
-350.2 359.2 lineto
-346.2 354.4 lineto
-348.6 350.4 lineto
-345.4 346.4 lineto
-340.6 344 lineto
-336.6 342.4 lineto
-336.6 337.6 lineto
-335 332.8 lineto
-334.2 325.6 lineto
-333.4 320 lineto
-331.8 317.6 lineto
-334.2 314.4 lineto
-336.6 310.4 lineto
-334.2 305.6 lineto
-334.2 306.4 lineto
-337.4 300.8 lineto
-341.4 296.8 lineto
-346.2 296 lineto
-350.2 292.8 lineto
-346.2 288.8 lineto
-342.2 283.2 lineto
-341.4 275.2 lineto
-342.2 270.4 lineto
-350.2 270.4 lineto
-352.6 274.4 lineto
-355.8 271.2 lineto
-362.2 269.6 lineto
-365.6 270 lineto
-366.2 269.6 lineto
-371 266.4 lineto
-371 266.4 lineto
-376.6 269.6 lineto
-379.8 268 lineto
-385.4 267.2 lineto
-389.4 269.6 lineto
-394.2 269.6 lineto
-394.2 269.6 lineto
-395.8 269.6 lineto
-399 265.6 lineto
-402.2 263.2 lineto
-402.2 269.6 lineto
-399 272.8 lineto
-402.2 276 lineto
-405.4 280.8 lineto
-408.6 282.4 lineto
-410.2 287.2 lineto
-403.8 293.6 lineto
-399.8 299.2 lineto
-398.2 304.8 lineto
-394.2 308 lineto
-393.4 313.6 lineto
-389.4 316 lineto
-384.6 317.6 lineto
-383.8 318.4 lineto
-384.6 312.8 lineto
-380.6 316 lineto
-375.8 319.2 lineto
-374.2 324.8 lineto
-376.6 328 lineto
-375 332 lineto
-380.6 333.6 lineto
-380.6 333.6 lineto
-382.2 339.2 lineto
-385.4 341.6 lineto
-385.4 346.4 lineto
-385.4 352.8 lineto
-390.2 354.4 lineto
-393.4 355.2 lineto
-390.2 359.2 lineto
-385.4 362.4 lineto
-387.8 367.2 lineto
-387.8 372.8 lineto
-390.4 375.6 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-518.4 444.4 moveto
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-vmrs
-0 sf
-newpath
-589.6 209.2 moveto
-589.6 210 lineto
-589.6 206.8 lineto
-585.6 206 lineto
-584 200.4 lineto
-583.2 194 lineto
-580 190.8 lineto
-583.2 189.2 lineto
-588 183.6 lineto
-584 182.8 lineto
-578.4 183.6 lineto
-574.4 182.8 lineto
-569.6 179.6 lineto
-566.4 176.4 lineto
-566.4 172.4 lineto
-560.8 170.8 lineto
-557.6 168.4 lineto
-551.2 169.2 lineto
-546.4 170 lineto
-540.8 170 lineto
-538.4 167.6 lineto
-528.8 165.2 lineto
-529.2 165.6 lineto
-529.6 169.2 lineto
-530.4 169.2 lineto
-530.4 169.2 lineto
-528 173.2 lineto
-524 177.2 lineto
-520.8 181.2 lineto
-521.6 187.6 lineto
-520.8 191.6 lineto
-527.2 195.6 lineto
-524 198 lineto
-521.6 202 lineto
-520 207.6 lineto
-524 210 lineto
-525.6 206.8 lineto
-530.4 206.8 lineto
-534.4 205.2 lineto
-538.4 203.6 lineto
-543.2 205.2 lineto
-547.2 202.8 lineto
-555.2 204.4 lineto
-560.8 209.2 lineto
-567.2 213.2 lineto
-576 214 lineto
-583.2 212.4 lineto
-589.6 209.2 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-519 276 moveto
-513.4 270.4 lineto
-507.8 264 lineto
-505.4 256.8 lineto
-499 250.4 lineto
-496.6 244.8 lineto
-492.6 240.8 lineto
-499.2 237.2 lineto
-501.6 229.2 lineto
-505.6 226.8 lineto
-509.6 222.8 lineto
-507.2 219.6 lineto
-515.2 217.2 lineto
-518.4 219.6 lineto
-523.2 216.4 lineto
-520 214 lineto
-524 210 lineto
-524 210.8 lineto
-525.6 206.8 lineto
-530.4 206.8 lineto
-534.4 205.2 lineto
-538.4 203.6 lineto
-543.2 205.2 lineto
-547.2 202.8 lineto
-555.2 204.4 lineto
-560.8 209.2 lineto
-567.2 213.2 lineto
-576 214 lineto
-583.2 212.4 lineto
-589.6 209.2 lineto
-588.8 216.4 lineto
-590.4 220.4 lineto
-592 225.2 lineto
-592 229.2 lineto
-592.8 233.2 lineto
-595.2 226.8 lineto
-599.2 230 lineto
-599.2 234.8 lineto
-600 239.6 lineto
-596 240.4 lineto
-592.8 238.8 lineto
-587.2 238 lineto
-581.6 241.2 lineto
-582.4 246.8 lineto
-582.4 254 lineto
-582.4 262 lineto
-578.4 268.4 lineto
-573.6 271.6 lineto
-569.6 274.8 lineto
-568.8 280.4 lineto
-564.8 284.4 lineto
-561.6 282.8 lineto
-556.8 281.2 lineto
-550.4 278 lineto
-545.6 276.4 lineto
-540 275.6 lineto
-533.6 276.4 lineto
-530.4 274.8 lineto
-527.2 274.8 lineto
-519 276 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-589.6 209.2 moveto
-589.6 210 lineto
-589.6 206.8 lineto
-585.6 206 lineto
-584 200.4 lineto
-583.2 194 lineto
-580 190.8 lineto
-583.2 189.2 lineto
-588 183.6 lineto
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-539.2 154.8 moveto
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-569.6 179.6 moveto
-566.4 176.4 lineto
-566.4 172.4 lineto
-560.8 170.8 lineto
-557.6 168.4 lineto
-551.2 169.2 lineto
-546.4 170 lineto
-540.8 170 lineto
-538.4 167.6 lineto
-528.8 165.2 lineto
-528 161.2 lineto
-525.6 158 lineto
-519.2 162.8 lineto
-516 158.8 lineto
-511.2 157.2 lineto
-504 154 lineto
-504.8 149.2 lineto
-501.6 143.6 lineto
-496 142.8 lineto
-490.4 142 lineto
-487.2 140.4 lineto
-483.2 139.6 lineto
-481.6 133.2 lineto
-481.6 133.2 lineto
-485.6 130 lineto
-489.6 130 lineto
-495.2 130 lineto
-500 127.6 lineto
-504 125.2 lineto
-504 122 lineto
-507.2 119.6 lineto
-510.4 116.4 lineto
-516 115.6 lineto
-522.4 117.2 lineto
-527.2 116.4 lineto
-532 114.8 lineto
-533.6 111.6 lineto
-537.6 110.8 lineto
-540.8 111.6 lineto
-544.8 106.8 lineto
-547.2 104.4 lineto
-548.8 110 lineto
-545.6 114.8 lineto
-541.6 118 lineto
-537.6 120.4 lineto
-532.8 122.8 lineto
-528.8 123.6 lineto
-532 126.8 lineto
-530.4 130 lineto
-529.6 132.4 lineto
-532.8 133.2 lineto
-535.2 129.2 lineto
-537.6 128.4 lineto
-536.8 133.2 lineto
-532 136.4 lineto
-528 139.6 lineto
-525.6 146 lineto
-526.4 150.8 lineto
-529.6 153.2 lineto
-529.6 149.2 lineto
-532.8 147.6 lineto
-536 143.6 lineto
-539.2 140.4 lineto
-540.8 142 lineto
-536.8 146 lineto
-539.2 146 lineto
-543.2 141.2 lineto
-545.6 142.8 lineto
-543.2 146 lineto
-540 149.2 lineto
-540 150 lineto
-543.2 148.4 lineto
-548 144.4 lineto
-550.4 145.2 lineto
-548.8 148.4 lineto
-544.8 151.6 lineto
-544 152.4 lineto
-539.2 154 lineto
-544.8 154.8 lineto
-546.4 158 lineto
-552 158 lineto
-556 161.2 lineto
-558.4 158.8 lineto
-564 158.8 lineto
-568 156.4 lineto
-571.2 161.2 lineto
-572 166.8 lineto
-573.6 170.8 lineto
-571.2 174.8 lineto
-569.6 179.6 lineto
-569.6 179.6 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-504.8 110.8 moveto
-501.6 114 lineto
-501.6 116.4 lineto
-497.6 116.4 lineto
-497.6 113.2 lineto
-492.8 113.2 lineto
-494.4 110 lineto
-500 110.8 lineto
-504.8 110.8 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-519.2 114 moveto
-516.8 111.6 lineto
-512.8 111.6 lineto
-511.2 107.6 lineto
-517.6 101.2 lineto
-517.6 95.6 lineto
-518.4 91.6 lineto
-522.4 87.6 lineto
-524 93.2 lineto
-526.4 91.6 lineto
-527.2 87.6 lineto
-529.6 83.6 lineto
-531.2 87.6 lineto
-532 90.8 lineto
-534.4 86.8 lineto
-540 84.4 lineto
-537.6 88.4 lineto
-536 93.2 lineto
-532 99.6 lineto
-530.4 103.6 lineto
-534.4 102.8 lineto
-537.6 98.8 lineto
-541.6 101.2 lineto
-538.4 104.4 lineto
-537.6 104.4 lineto
-534.4 108.4 lineto
-529.6 110 lineto
-519.2 114 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-548 74 moveto
-551.2 70 lineto
-552 71.6 lineto
-555.2 71.6 lineto
-558.4 70 lineto
-563.2 71.6 lineto
-568.8 70 lineto
-576 71.6 lineto
-575.2 69.2 lineto
-579.2 68.4 lineto
-584.8 71.6 lineto
-584.8 66.8 lineto
-579.2 66 lineto
-573.6 66 lineto
-570.4 65.2 lineto
-568 63.6 lineto
-564 62 lineto
-561.6 66.8 lineto
-555.2 67.6 lineto
-554.4 69.2 lineto
-548 66.8 lineto
-548 74 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-456.8 83.6 moveto
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-569.6 179.6 moveto
-566.4 176.4 lineto
-566.4 172.4 lineto
-560.8 170.8 lineto
-557.6 168.4 lineto
-551.2 169.2 lineto
-546.4 170 lineto
-540.8 170 lineto
-538.4 167.6 lineto
-528.8 165.2 lineto
-529.2 165.6 lineto
-529.6 169.2 lineto
-530.4 169.2 lineto
-530.4 169.2 lineto
-528 173.2 lineto
-524 177.2 lineto
-520.8 181.2 lineto
-521.6 187.6 lineto
-520.8 191.6 lineto
-527.2 195.6 lineto
-524 198 lineto
-521.6 202 lineto
-520 207.6 lineto
-524 210 lineto
-525.6 206.8 lineto
-530.4 206.8 lineto
-534.4 205.2 lineto
-538.4 203.6 lineto
-543.2 205.2 lineto
-547.2 202.8 lineto
-555.2 204.4 lineto
-560.8 209.2 lineto
-567.2 213.2 lineto
-576 214 lineto
-583.2 212.4 lineto
-589.6 209.2 lineto
-589.6 210 lineto
-589.6 206.8 lineto
-585.6 206 lineto
-584 200.4 lineto
-583.2 194 lineto
-580 190.8 lineto
-583.2 189.2 lineto
-588 183.6 lineto
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-576 158 moveto
-571.2 150.8 lineto
-570.4 147.6 lineto
-577.6 154.8 lineto
-581.6 158 lineto
-586.4 163.6 lineto
-592.8 168.4 lineto
-599.2 167.6 lineto
-602.4 168.4 lineto
-603.2 172.4 lineto
-595.2 174.8 lineto
-589.6 178.8 lineto
-588 184.4 lineto
-588 183.6 lineto
-584 182.8 lineto
-578.4 183.6 lineto
-574.4 182.8 lineto
-569.6 179.6 lineto
-571.2 174.8 lineto
-573.6 170.8 lineto
-572 166.8 lineto
-571.2 161.2 lineto
-568 156.4 lineto
-576 158 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-424 110 moveto
-424 106.8 lineto
-421.6 103.6 lineto
-420 98.8 lineto
-420.8 93.2 lineto
-421.6 89.2 lineto
-418.4 86 lineto
-412.8 86.8 lineto
-408.8 90 lineto
-405.6 92.4 lineto
-399.2 93.2 lineto
-395.2 98 lineto
-388.8 102 lineto
-385.6 106 lineto
-388.8 110.8 lineto
-391.2 108.4 lineto
-396 110.8 lineto
-400.8 109.2 lineto
-404.8 106.8 lineto
-410.4 106.8 lineto
-416 110 lineto
-420 110 lineto
-424 110 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-353.6 195.6 moveto
-352.8 184.4 lineto
-352.8 178.8 lineto
-350.4 174.8 lineto
-347.2 167.6 lineto
-343.2 170.8 lineto
-342.4 175.6 lineto
-344 179.6 lineto
-341.6 184.4 lineto
-343.2 188.4 lineto
-347.2 190.8 lineto
-353.6 195.6 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-348 165.2 moveto
-342.4 162.8 lineto
-337.6 161.2 lineto
-333.6 162.8 lineto
-332.8 158.8 lineto
-335.2 155.6 lineto
-334.4 151.6 lineto
-334.4 147.6 lineto
-335.2 144.4 lineto
-335.2 144.4 lineto
-333.6 138.8 lineto
-333.6 134 lineto
-336.8 131.6 lineto
-340.8 131.6 lineto
-341.6 135.6 lineto
-346.4 132.4 lineto
-349.6 134 lineto
-348.8 140.4 lineto
-351.2 147.6 lineto
-350.4 152.4 lineto
-352.8 154.8 lineto
-352.8 161.2 lineto
-348 165.2 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-674.4 250.8 moveto
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-661.6 253.2 moveto
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-645.6 264.4 moveto
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-600 239.6 moveto
-600 244.4 lineto
-598.4 247.6 lineto
-602.4 246 lineto
-604.8 249.2 lineto
-608.8 251.6 lineto
-604.8 254.8 lineto
-605.6 258.8 lineto
-609.6 255.6 lineto
-611.2 262 lineto
-616 265.2 lineto
-620.8 266 lineto
-622.4 272.4 lineto
-624.8 267.6 lineto
-627.2 264.4 lineto
-623.2 262.8 lineto
-624.8 261.2 lineto
-628.8 258.8 lineto
-633.6 260.4 lineto
-638.4 261.2 lineto
-641.6 262.8 lineto
-640.8 262.8 lineto
-644 260.4 lineto
-644 257.2 lineto
-640.8 254.8 lineto
-640.8 255.6 lineto
-635.2 248.4 lineto
-639.2 248.4 lineto
-639.2 248.4 lineto
-640.8 244.4 lineto
-644 246 lineto
-647.2 242 lineto
-646.4 234.8 lineto
-650.4 233.2 lineto
-653.6 235.6 lineto
-657.6 240.4 lineto
-663.2 243.6 lineto
-665.6 247.6 lineto
-668.8 250 lineto
-668.8 250 lineto
-672.8 250 lineto
-676 253.2 lineto
-677.6 257.2 lineto
-674.4 258 lineto
-672 255.6 lineto
-668 256.4 lineto
-668 257.2 lineto
-665.6 254 lineto
-660.8 253.2 lineto
-656.8 255.6 lineto
-656 258.8 lineto
-651.2 261.2 lineto
-650.4 262 lineto
-647.2 264.4 lineto
-652 266 lineto
-656 262.8 lineto
-661.6 269.2 lineto
-661.6 264.4 lineto
-665.6 268.4 lineto
-668.8 274 lineto
-678.4 278 lineto
-680 282.8 lineto
-679.2 284.4 lineto
-684 283.6 lineto
-684.8 287.6 lineto
-691.2 289.2 lineto
-694.4 290.8 lineto
-700 294.8 lineto
-700 288.4 lineto
-696 284.4 lineto
-696 284.4 lineto
-697.6 281.2 lineto
-692.8 281.2 lineto
-688 279.6 lineto
-691.2 277.2 lineto
-696.8 274.8 lineto
-698.4 270.8 lineto
-694.4 270.8 lineto
-695.2 266.8 lineto
-691.2 270 lineto
-690.4 264.4 lineto
-690.4 258.8 lineto
-687.2 255.6 lineto
-683.2 258 lineto
-683.2 255.6 lineto
-681.6 250.8 lineto
-685.6 253.2 lineto
-688.8 250.8 lineto
-693.6 249.2 lineto
-700.8 248.4 lineto
-709.6 245.2 lineto
-716 242 lineto
-721.6 238 lineto
-728.8 234 lineto
-733.6 234 lineto
-740.8 231.6 lineto
-746.4 226.8 lineto
-746.4 226.8 lineto
-746.4 535.6 lineto
-557.7 535.7 lineto
-562.2 532.8 lineto
-565.4 528 lineto
-563 520.8 lineto
-559 512.8 lineto
-558.2 507.2 lineto
-554.2 503.2 lineto
-547 488 lineto
-545.6 485.2 lineto
-553.6 490 lineto
-553.6 484.4 lineto
-558.4 482 lineto
-562.4 483.6 lineto
-568 480.4 lineto
-566.4 477.2 lineto
-562.4 478.8 lineto
-557.6 478 lineto
-556 475.6 lineto
-552 476.4 lineto
-552 471.6 lineto
-549.6 474 lineto
-549.6 473.2 lineto
-549.6 466.8 lineto
-543.2 466.8 lineto
-535.2 466 lineto
-532 467.6 lineto
-527.2 464.4 lineto
-521.6 464.4 lineto
-517.6 460.4 lineto
-513.6 456.4 lineto
-516.8 451.6 lineto
-514.4 449.2 lineto
-518.4 447.6 lineto
-517.6 443.6 lineto
-523.2 446 lineto
-523.2 446 lineto
-524 445.2 lineto
-522.4 438.8 lineto
-521.6 432.4 lineto
-522.4 424.4 lineto
-518.4 423.6 lineto
-514.4 426.8 lineto
-510.4 430.8 lineto
-507.2 435.6 lineto
-504 431.6 lineto
-499.2 430.8 lineto
-499.2 426 lineto
-497.6 418.8 lineto
-495.2 412.4 lineto
-496.8 402.8 lineto
-499.2 394.8 lineto
-496.8 387.6 lineto
-494.4 386.8 lineto
-496 396.4 lineto
-493.6 390 lineto
-488.8 386.8 lineto
-483.2 385.2 lineto
-477.6 386 lineto
-473.6 384.4 lineto
-475.2 378.8 lineto
-475 378.4 lineto
-480.6 378.4 lineto
-491 379.2 lineto
-499 380 lineto
-504.6 379.2 lineto
-511 379.2 lineto
-515.8 381.6 lineto
-519.8 377.6 lineto
-523.8 370.4 lineto
-527 362.4 lineto
-528.6 354.4 lineto
-524.6 345.6 lineto
-526.2 340.8 lineto
-526.2 333.6 lineto
-528.6 329.6 lineto
-529.4 325.6 lineto
-531.8 322.4 lineto
-531.8 316 lineto
-525.4 311.2 lineto
-519.8 304.8 lineto
-518.2 299.2 lineto
-516.6 292.8 lineto
-515 288 lineto
-512.6 282.4 lineto
-512.6 283.2 lineto
-512.6 278.4 lineto
-518.4 277.2 lineto
-527.2 274.8 lineto
-530.4 274.8 lineto
-533.6 276.4 lineto
-540 275.6 lineto
-545.6 276.4 lineto
-550.4 278 lineto
-556.8 281.2 lineto
-561.6 282.8 lineto
-564.8 284.4 lineto
-568.8 280.4 lineto
-569.6 274.8 lineto
-573.6 271.6 lineto
-578.4 268.4 lineto
-582.4 262 lineto
-582.4 254 lineto
-582.4 246.8 lineto
-581.6 241.2 lineto
-587.2 238 lineto
-592.8 238.8 lineto
-596 240.4 lineto
-600 239.6 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-746.4 208.4 moveto
-739.2 202.8 lineto
-733.6 198 lineto
-726.4 199.6 lineto
-717.6 194.8 lineto
-708.8 190.8 lineto
-704.8 193.2 lineto
-699.2 190.8 lineto
-694.4 193.2 lineto
-689.6 191.6 lineto
-683.2 196.4 lineto
-677.6 194 lineto
-671.2 198 lineto
-669.6 201.2 lineto
-665.6 196.4 lineto
-651.2 193.2 lineto
-640.8 187.6 lineto
-633.6 182 lineto
-629.6 176.4 lineto
-622.4 173.2 lineto
-616 173.2 lineto
-608.8 171.6 lineto
-604.8 170 lineto
-605.6 167.6 lineto
-612 166.8 lineto
-607.2 163.6 lineto
-600 161.2 lineto
-600 161.2 lineto
-596.8 158 lineto
-590.4 157.2 lineto
-586.4 155.6 lineto
-580.8 154.8 lineto
-576.8 151.6 lineto
-572 146 lineto
-572 142.8 lineto
-570.4 138 lineto
-575.2 140.4 lineto
-579.2 141.2 lineto
-580.8 142 lineto
-579.2 138 lineto
-581.6 133.2 lineto
-580.8 132.4 lineto
-584 131.6 lineto
-580.8 127.6 lineto
-585.6 123.6 lineto
-581.6 122 lineto
-578.4 125.2 lineto
-575.2 126 lineto
-577.6 121.2 lineto
-574.4 119.6 lineto
-579.2 117.2 lineto
-582.4 118.8 lineto
-582.4 118 lineto
-586.4 116.4 lineto
-586.4 116.4 lineto
-588 115.6 lineto
-588 111.6 lineto
-589.6 107.6 lineto
-592.8 106 lineto
-588.8 102.8 lineto
-594.4 102.8 lineto
-602.4 104.4 lineto
-595.2 98 lineto
-600.8 98.8 lineto
-600.8 95.6 lineto
-604.8 100.4 lineto
-609.6 98 lineto
-608.8 98 lineto
-612 98.8 lineto
-615.2 94 lineto
-620 91.6 lineto
-625.6 91.6 lineto
-629.6 94.8 lineto
-635.2 95.6 lineto
-634.4 101.2 lineto
-637.6 105.2 lineto
-644.8 104.4 lineto
-652.8 102 lineto
-656 98.8 lineto
-661.6 98.8 lineto
-668 99.6 lineto
-674.4 102 lineto
-680 104.4 lineto
-682.4 109.2 lineto
-685.6 114.8 lineto
-689.6 113.2 lineto
-696 112.4 lineto
-699.2 115.6 lineto
-702.4 120.4 lineto
-705.6 116.4 lineto
-702.4 110.8 lineto
-704.8 106.8 lineto
-704 99.6 lineto
-706.4 94 lineto
-708 86.8 lineto
-709.6 82.8 lineto
-705 62 lineto
-746 62 lineto
-746.4 208.4 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-278.4 196.4 moveto
-272.8 196.4 lineto
-266.4 198 lineto
-261.6 199.2 lineto
-258.4 203.6 lineto
-254.4 207.6 lineto
-250.4 210 lineto
-250.4 210 lineto
-242.4 210.8 lineto
-240 214 lineto
-235.2 215.6 lineto
-232 219.6 lineto
-228 222 lineto
-225.6 227.6 lineto
-225.6 228.4 lineto
-220.8 228.4 lineto
-215.2 231.6 lineto
-208.8 232.4 lineto
-202.4 235.6 lineto
-196 237.2 lineto
-188 240.4 lineto
-180.8 246 lineto
-174.4 246 lineto
-165.6 250 lineto
-161.6 255.6 lineto
-155.2 254.8 lineto
-155.2 254.8 lineto
-155.2 251.6 lineto
-148 252.4 lineto
-141.6 249.2 lineto
-145.6 246 lineto
-142.4 242.8 lineto
-142.4 242.8 lineto
-146.4 242 lineto
-144 238.8 lineto
-146.4 237.2 lineto
-143.2 234.8 lineto
-141.6 231.6 lineto
-148 233.2 lineto
-151.2 230.8 lineto
-149.6 226.8 lineto
-154.4 227.6 lineto
-157.6 224.4 lineto
-156.8 224.4 lineto
-160 222.8 lineto
-163.2 224.4 lineto
-167.2 221.2 lineto
-166.4 221.2 lineto
-167.2 218 lineto
-170.4 214.8 lineto
-168 212.4 lineto
-162.4 210.8 lineto
-156.8 210.8 lineto
-158.4 206.8 lineto
-157.6 201.2 lineto
-156 196.4 lineto
-153.6 195.6 lineto
-152.8 195.6 lineto
-152.8 190.8 lineto
-150.4 186.8 lineto
-146.4 187.6 lineto
-145.6 182.8 lineto
-147.2 178 lineto
-144 174 lineto
-141.6 170.8 lineto
-142.4 166.8 lineto
-139.2 161.2 lineto
-136 158 lineto
-134.4 151.6 lineto
-140 146.8 lineto
-143.2 142 lineto
-143.2 137.2 lineto
-142.4 133.2 lineto
-146.4 128.4 lineto
-149.6 124.4 lineto
-154.4 126 lineto
-158.4 129.2 lineto
-162.4 128.4 lineto
-167.2 130 lineto
-173.6 128.4 lineto
-180 126.8 lineto
-187.2 124.4 lineto
-193.6 124.4 lineto
-196.8 122 lineto
-201.6 128.4 lineto
-208.8 130.8 lineto
-215.2 130.8 lineto
-219.2 137.2 lineto
-224 140.4 lineto
-231.2 144.4 lineto
-228.8 151.6 lineto
-228.8 158 lineto
-236 164.4 lineto
-242.4 171.6 lineto
-248 174 lineto
-252 178 lineto
-259.2 178.8 lineto
-268 181.2 lineto
-275.2 184.4 lineto
-278 188 lineto
-278 193 lineto
-278.4 196.4 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-vmrs
-0 sf
-newpath
-166.4 218 moveto
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-128.8 150.8 moveto
-124 153.2 lineto
-119.2 155.6 lineto
-113.6 154.8 lineto
-114.4 154.8 lineto
-120.8 168.4 lineto
-123.2 174.8 lineto
-125.6 176.4 lineto
-124.8 178.8 lineto
-120.8 178 lineto
-118.4 181.2 lineto
-119.2 181.2 lineto
-120 181.2 lineto
-124.8 182.8 lineto
-123.2 186 lineto
-123.2 185.2 lineto
-117.6 184.4 lineto
-120.8 188.4 lineto
-122.4 194 lineto
-126.4 194.8 lineto
-129.6 200.4 lineto
-133.6 206.8 lineto
-136.8 212.4 lineto
-140.8 224.4 lineto
-141.6 231.6 lineto
-141.6 231.6 lineto
-148 233.2 lineto
-151.2 230.8 lineto
-149.6 226.8 lineto
-154.4 227.6 lineto
-157.6 224.4 lineto
-156.8 224.4 lineto
-160 222.8 lineto
-163.2 224.4 lineto
-167.2 221.2 lineto
-166.4 221.2 lineto
-167.2 218 lineto
-170.4 214.8 lineto
-168 212.4 lineto
-162.4 210.8 lineto
-156.8 210.8 lineto
-158.4 206.8 lineto
-157.6 201.2 lineto
-156 196.4 lineto
-153.6 195.6 lineto
-152.8 195.6 lineto
-152.8 190.8 lineto
-150.4 186.8 lineto
-146.4 187.6 lineto
-145.6 182.8 lineto
-147.2 178 lineto
-144 174 lineto
-141.6 170.8 lineto
-142.4 166.8 lineto
-139.2 161.2 lineto
-136 158 lineto
-134.4 151.6 lineto
-128.8 150.8 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-106 62 moveto
-105.8 96.2 lineto
-105.6 96.4 lineto
-116 97.2 lineto
-125.6 100.4 lineto
-133.6 107.6 lineto
-137.6 113.2 lineto
-141.6 118.8 lineto
-145.6 122 lineto
-151.2 122 lineto
-151.2 117.2 lineto
-152 110 lineto
-156 106.8 lineto
-165.6 104.4 lineto
-172 102 lineto
-178.4 102.8 lineto
-180.8 98 lineto
-186.4 96.4 lineto
-195.2 98 lineto
-200 97.2 lineto
-205.6 100.4 lineto
-212 100.4 lineto
-216 98.8 lineto
-224.8 102 lineto
-236 104.4 lineto
-246.4 104.4 lineto
-256.8 104.4 lineto
-264 102.8 lineto
-268.8 103.6 lineto
-273.6 102 lineto
-279.2 102.8 lineto
-286.4 98.8 lineto
-292.8 97.2 lineto
-300 98.8 lineto
-304.8 99.6 lineto
-309.6 95.6 lineto
-314.4 97.2 lineto
-319.2 96.4 lineto
-324 93.2 lineto
-331.2 93.2 lineto
-339.2 95.6 lineto
-345.6 98 lineto
-350.4 94 lineto
-350.4 94 lineto
-348.8 90.8 lineto
-351.2 87.6 lineto
-355.2 88.4 lineto
-361.6 90 lineto
-361.6 90 lineto
-360.8 86 lineto
-357.6 81.2 lineto
-352.8 77.2 lineto
-352.8 78 lineto
-351.2 74 lineto
-355.2 70.8 lineto
-359.2 67.6 lineto
-359 62 lineto
-106 62 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-257.6 202.4 moveto
-257.6 203.4 258.9 204.4 260.4 204.4 curveto
-261.9 204.4 263.2 203.4 263.2 202.4 curveto
-263.2 201.4 261.9 200.4 260.4 200.4 curveto
-258.9 200.4 257.6 201.4 257.6 202.4 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-704 100 moveto
-711 99 lineto
-713 106 lineto
-715 115 lineto
-722 122 lineto
-732 118 lineto
-746 119 lineto
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-268 154 moveto
-256 152 lineto
-259 151 lineto
-265 148 lineto
-265 143 lineto
-271 149 lineto
-268 154 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-252 145 moveto
-251 146 lineto
-246 142 lineto
-250 140 lineto
-252 145 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-281 153 moveto
-281 153 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-281 152 moveto
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-278 154 moveto
-282 156 lineto
-285 155 lineto
-284 152 lineto
-278 154 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-330 305.5 moveto
-331.2 304.7 332.7 304.9 334 305.5 curveto
-335.9 306.4 336.7 308.4 336.5 310.5 curveto
-336.4 312.3 334.9 313 334 314.5 curveto
-333.3 315.6 333.4 317.5 332 317.5 curveto
-330.3 317.5 332.2 314.5 331.5 313 curveto
-331.1 312 329.9 311.6 329.5 310.5 curveto
-328.9 308.8 328.5 306.6 330 305.5 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.2 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-vmr
-end % FreeHandDict
-%%EndDocument: _
diff --git a/Master/texmf-dist/doc/latex3/xor/outline.eps b/Master/texmf-dist/doc/latex3/xor/outline.eps
deleted file mode 100644
index 09c0713c8db..00000000000
--- a/Master/texmf-dist/doc/latex3/xor/outline.eps
+++ /dev/null
@@ -1,19 +0,0 @@
-%!PS
-%%BoundingBox: 90 38 425 78
-.91 .91 scale
-50 50 translate
-%% Hand made example to show outline and shaded fonts
-/Palatino-Bold findfont 36 scalefont setfont
-47 0 moveto (Der) true charpath stroke
-117 0 moveto .7 setgray (L) show
-144 0 moveto .7 setgray (T) show
-162 -8 moveto .7 setgray (E) show
-181 0 moveto .7 setgray (X) show
-/Palatino-Bold findfont 28 scalefont setfont
-128 6 moveto .7 setgray (A) show
-/Palatino-Bold findfont 36 scalefont setfont
-200 5 moveto (-) true charpath stroke
-218 9 translate
-.95 -.1 0 { setgray 0 0 moveto (Begleiter) show
- -1 -1 translate} for
-showpage
diff --git a/Master/texmf-dist/doc/latex3/xor/outline2.eps b/Master/texmf-dist/doc/latex3/xor/outline2.eps
deleted file mode 100644
index aeeff807a5e..00000000000
--- a/Master/texmf-dist/doc/latex3/xor/outline2.eps
+++ /dev/null
@@ -1,19 +0,0 @@
-%!PS
-%%BoundingBox: 90 38 485 78
-.91 .91 scale
-50 50 translate
-%% Hand made example to show outline and shaded fonts
-/Palatino-Bold findfont 36 scalefont setfont
-47 0 moveto (The) true charpath stroke
-117 0 moveto .7 setgray (L) show
-144 0 moveto .7 setgray (T) show
-162 -8 moveto .7 setgray (E) show
-181 0 moveto .7 setgray (X) show
-/Palatino-Bold findfont 28 scalefont setfont
-128 6 moveto .7 setgray (A) show
-/Palatino-Bold findfont 36 scalefont setfont
-200 5 moveto (-) true charpath stroke
-218 9 translate
-.95 -.1 0 { setgray 0 0 moveto (Output Routine !) show
- -1 -1 translate} for
-showpage
diff --git a/Master/texmf-dist/doc/latex3/xor/oxford-trial.tex b/Master/texmf-dist/doc/latex3/xor/oxford-trial.tex
deleted file mode 100644
index bbeb7ec22b1..00000000000
--- a/Master/texmf-dist/doc/latex3/xor/oxford-trial.tex
+++ /dev/null
@@ -1,298 +0,0 @@
-% $Id: oxford-trial.tex,v 1.1 2000/08/11 06:58:43 latex3 Exp $
-%
-
-\documentclass{article}
-
-%
-% File to make the trial pages for the talk in Oxford.
-% Run with different numbers to get the floats added to the page (0-8);
-% 9 will give grid layout;
-% 10 requires a corresponding .fpc file.
-
-\typein[\TRIAL]{trial?}
-
-\usepackage{xoutput}
-
-\makeatletter
-\def\doif#1{\relax
- \ifnum#1>\TRIAL\relax
- \expandafter\@gobble \else \expandafter \@firstofone \fi
-}
-\makeatother
-
-
-\savefloatplacements
-\doif{10}{\readfloatplacements}
-
-\usepackage{graphicx}
-
-\DeclareFloatSequenceClass{figure}
-\DeclareFloatSequenceClass{table}
-\DeclareFloatSequenceClass{algorithm}
-
-\DeclareFloatType{figure}
- {
- sequence-class-id = figure,
- toc-extension = lof,
- caption-text = \figurename,
- numbered-boolean = true,
- numbered-id = figure,
- numbered-action = \arabic{figure},
- body-decls = ,
- }
-
-\DeclareFloatType{table}
- {
- sequence-class-id = table,
- toc-extension = lot,
- caption-text = \tablename,
- numbered-boolean = true,
- numbered-id = table,
- numbered-action = \arabic{table},
- body-decls = ,
- }
-
-\DeclareFloatType{algorithms}
- {
- sequence-class-id = algorithm,
- toc-extension = lot,
- caption-text = Algorithm,
- numbered-boolean = true,
- numbered-id = algorithm,
- body-decls = ,
- }
-
-\DeclareFloatArea {t11}
- {
- class-close-list = ,
- all-close-list = {b11},
- max-float-num = 1,
- }
-
-
-\DeclareFloatArea {b11}
- {
- class-close-list = {t11},
- all-close-list = ,
- max-float-num = 1,
- }
-
-
-\DeclareFloatArea {t21}
- {
- class-close-list = {t11,b11},
- all-close-list = {t22},
- max-float-num = 1,
- }
-
-
-\DeclareFloatArea {b21}
- {
- class-close-list = {t11,b11,t21},
- all-close-list = ,
- max-float-num = 1,
- }
-
-
-\DeclareFloatArea {t31}
- {
- class-close-list = {t11,b11,t21,b21},
- all-close-list = {t22},
- max-float-num = 1,
- }
-
-
-\DeclareFloatArea {b31}
- {
- class-close-list = {t11,b11,t21,b21,t31},
- all-close-list = ,
- max-float-num = 1,
- }
-
-
-\DeclareFloatArea {b22}
- {
- class-close-list = {t11,b11,t21},
- all-close-list = {b21,b31},
- max-float-num = 1,
- }
-
-
-\DeclareFloatArea{t22}
- {
- class-close-list = {t11},
- all-close-list = {t21,t31},
- max-float-num = 1,
- }
-
-
-\ShowGridfalse
-
-\topskip=12pt
-
-\DeclareInstance{pagesetup2}{normal}{std}{
- column-num = 3,
- column-width = 160pt,
- column-height = 552pt,
- float-callout-constraint = column,
- bottom-float-footnote-constraint=forbidden,
- flush-bottom-float-footnote-constraint=none,
- max-float-num =4,
- float-float-sep = 15pt,
- float-text-sep = 20pt minus 5pt,
- float-area-sep = 15pt,
- float-inline-sep = 10pt minus 2pt,
- area-list = {t22,t11,b11,t21,b21,b22,t31,b31},
- grid-point-sep = 0pt,
- }
-
-
-% with TRIAL > 8 we do grid layout:
-
-\doif{9}{
- \parskip=0pt
- \DeclareInstance{pagesetup2}{normal}{std}{
- column-num = 3,
- column-width = 160pt,
- column-height = 552pt,
- float-callout-constraint = column,
- bottom-float-footnote-constraint=forbidden,
- flush-bottom-float-footnote-constraint=none,
- max-float-num =4,
- float-float-sep = 15pt,
- float-text-sep = 20pt minus 5pt,
- float-area-sep = 15pt,
- float-inline-sep = 10pt minus 2pt,
- area-list = {t22,t11,b11,t21,b21,b22,t31,b31},
- grid-point-sep = 12pt,
- }
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Stuff for producing test pages
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\newcount\bc
-
-\newcommand\startpar{\par\global\advance\bc1 [\the\bc] }
-
-
-\newcommand\sample{%
- Infandum, re\-gi\-na, iu\-b\-es re\-no\-va\-re do\-lo\-rem,
- Troi\-a\-n\-as ut op\-es et
- la\-men\-ta\-bile re\-g\-num cru\-e\-rint Da\-nai;
- qua\-e\-que ip\-se mis\-er\-ri\-ma vi\-di, et
- qu\-o\-rum pa\-rs ma\-g\-na fui.}
-
-
-\newcommand\dofigure[1]{%
- \startpar callout (#1) to a figure.
- \doif{#1}{\begin{figure}
- \caption{Belongs to callout (#1)}\label{mylab:fig#1}
- \ifcase\value{figure}
- \or
- \includegraphics[totalheight=4\baselineskip]{escher.eps}
- \or
- \includegraphics[totalheight=4\baselineskip]{cat.eps}
- \or
- \includegraphics[width=\columnwidth]{europe.eps}
- \or
- \includegraphics[angle=90,width=.7\columnwidth]{rahtz18.eps}
- \or
- \includegraphics[angle=180,width=.7\columnwidth]{rahtz18.eps}
- \else
- \includegraphics[width=.7\columnwidth]{rahtz18.eps}
- \fi
- \end{figure}}
- \sample\footnote{A footnote figure #1}
- \par
- }
-
-\newcommand\doalg[1]{\startpar
- callout (#1) to an algorithm.%
- \doif{#1}{\begin{algorithms}
- \caption{Belongs to callout (#1)}
- $ A \to B \to C $
-% \includegraphics[totalheight=3\baselineskip,width=\columnwidth]{feynman.eps}
- \end{algorithms}}\par}
-
-
-\newcommand\dotable[1]{%
- \startpar
- callout (#1) to a table.
- \doif{#1}{\begin{table}
- \caption{Belongs to callout (#1)}
- \ifcase\value{table}
- \or
- \reflectbox{\includegraphics[width=.8\columnwidth]{theworld.eps}}
- \else
- \includegraphics[width=.9\columnwidth]{europe.eps}
- \fi
- \end{table}}%
- \sample\footnote{a footnote table #1}
- \par
- }
-
-\newcommand\bb{\startpar \sample\sample\par \sample\sample\sample \par}
-
-
-% where's the interface to spanning floats? :-)
-%
-\newcommand\dospanfigure[1]{%
- \startpar callout (#1) to a figure.%
- \doif{4}{\def\SPANCNT{2}%
- \begin{figure}
- \includegraphics[width=1.5\columnwidth]{outline2.eps}
- \caption{Belongs to callout (#1)}
- \end{figure}\par
- \def\SPANCNT{}}%
-}
-
-
-\begin{document}
-
-\UseInstance{pagesetup2}{normal}
-
-
-
-
-\startpar callout (1) to a figure.%
-\doif{1}{%
- \begin{figure}[t21]
- \reflectbox{\includegraphics[totalheight=4\baselineskip]{cat.eps}}
- \caption{Forced into t21}
- \end{figure}}\par
-
-\dofigure2
-\sample
-\doalg3
-
-\dospanfigure{4}
-
-\dofigure5
-
-
-\doalg{6}
-\dotable{7}
-\startpar callout to a here table.%
-\flushfloats[table]
-\begin{table}[h]
- \includegraphics[width=.8\columnwidth]{europe.eps}
- \caption{The here table example}
-\end{table}
-
-\bb
-
-\dotable{8}
-
-\bb
-\bb
-\bb
-
-
-\bb
-
-
-THE END % just to make sure we don't lose text
-
-\end{document}
diff --git a/Master/texmf-dist/doc/latex3/xor/rahtz18.eps b/Master/texmf-dist/doc/latex3/xor/rahtz18.eps
deleted file mode 100644
index 24644c33307..00000000000
--- a/Master/texmf-dist/doc/latex3/xor/rahtz18.eps
+++ /dev/null
@@ -1,174 +0,0 @@
-%!PS-Adobe-2.0 EPSF-1.2
-%%Creator:Adobe Illustrator(TM) 1.1
-%%For:Jim Williams Williams and Helde, Inc.
-%%Title:sgrp2
-%%CreationDate:9/6/88 11:39 am
-%%DocumentProcSets:Adobe_Illustrator_1.1 0 0
-%%DocumentSuppliedProcSets:Adobe_Illustrator_1.1 0 0
-%%DocumentFonts:Courier
-%%BoundingBox: 100 -247 388 -9
-%%TemplateBox:0 -720 576 0
-%%EndComments
-%%BeginProcSet:Adobe_Illustrator_1.1 0 0
-% Copyright (C) 1987 Adobe Systems Incorporated.
-% All Rights Reserved.
-% Adobe Illustrator is a trademark of Adobe Systems Incorporated.
-/Adobe_Illustrator_1.1 dup 100 dict def load begin
-/Version 0 def
-/Revision 0 def
-% definition operators
-/bdef {bind def} bind def
-/ldef {load def} bdef
-/xdef {exch def} bdef
-% graphic state operators
-/_K {3 index add neg dup 0 lt {pop 0} if 3 1 roll} bdef
-/_k /setcmybcolor where
-{/setcmybcolor get} {{1 sub 4 1 roll _K _K _K setrgbcolor pop} bind} ifelse def
-/g {/_b xdef /p {_b setgray} def} bdef
-/G {/_B xdef /P {_B setgray} def} bdef
-/k {/_b xdef /_y xdef /_m xdef /_c xdef /p {_c _m _y _b _k} def} bdef
-/K {/_B xdef /_Y xdef /_M xdef /_C xdef /P {_C _M _Y _B _k} def} bdef
-/d /setdash ldef
-/_i currentflat def
-/i {dup 0 eq {pop _i} if setflat} bdef
-/j /setlinejoin ldef
-/J /setlinecap ldef
-/M /setmiterlimit ldef
-/w /setlinewidth ldef
-% path construction operators
-/_R {.25 sub round .25 add} bdef
-/_r {transform _R exch _R exch itransform} bdef
-/c {_r curveto} bdef
-/C /c ldef
-/v {currentpoint 6 2 roll _r curveto} bdef
-/V /v ldef
-/y {_r 2 copy curveto} bdef
-/Y /y ldef
-/l {_r lineto} bdef
-/L /l ldef
-/m {_r moveto} bdef
-% error operators
-/_e [] def
-/_E {_e length 0 ne {gsave 0 g 0 G 0 i 0 J 0 j 1 w 10 M [] 0 d
-/Courier 20 0 0 1 z [0.966 0.259 -0.259 0.966
-_e 0 get _e 2 get add 2 div _e 1 get _e 3 get add 2 div] e _f t T grestore} if} bdef
-/_fill {{fill} stopped
-{/_e [pathbbox] def /_f (ERROR: can't fill, increase flatness) def n _E} if} bdef
-/_stroke {{stroke} stopped
-{/_e [pathbbox] def /_f (ERROR: can't stroke, increase flatness) def n _E} if} bdef
-% path painting operators
-/n /newpath ldef
-/N /n ldef
-/F {p _fill} bdef
-/f {closepath F} bdef
-/S {P _stroke} bdef
-/s {closepath S} bdef
-/B {gsave F grestore S} bdef
-/b {closepath B} bdef
-% text block construction and painting operators
-/_s /ashow ldef
-/_S {(?) exch {2 copy 0 exch put pop dup false charpath currentpoint _g setmatrix
-_stroke _G setmatrix moveto 3 copy pop rmoveto} forall pop pop pop n} bdef
-/_A {_a moveto _t exch 0 exch} bdef
-/_L {0 _l neg translate _G currentmatrix pop} bdef
-/_w {dup stringwidth exch 3 -1 roll length 1 sub _t mul add exch} bdef
-/_z [{0 0} bind {dup _w exch neg 2 div exch neg 2 div} bind {dup _w exch neg exch neg} bind] def
-/z {_z exch get /_a xdef /_t xdef /_l xdef exch findfont exch scalefont setfont} bdef
-/_g matrix def
-/_G matrix def
-/_D {_g currentmatrix pop gsave concat _G currentmatrix pop} bdef
-/e {_D p /t {_A _s _L} def} bdef
-/r {_D P /t {_A _S _L} def} bdef
-/a {_D /t {dup p _A _s P _A _S _L} def} bdef
-/o {_D /t {pop _L} def} bdef
-/T {grestore} bdef
-% group construction operators
-/u {} bdef
-/U {} bdef
-% font construction operators
-/Z {findfont begin currentdict dup length dict begin
-{1 index /FID ne {def} {pop pop} ifelse} forall /FontName exch def dup length 0 ne
-{/Encoding Encoding 256 array copy def 0 exch {dup type /nametype eq
-{Encoding 2 index 2 index put pop 1 add} {exch pop} ifelse} forall} if pop
-currentdict dup end end /FontName get exch definefont pop} bdef
-end
-%%EndProcSet
-%%EndProlog
-%%BeginSetup
-Adobe_Illustrator_1.1 begin
-n
-%%EndSetup
-0 g
-0 G
-0 i
-0 J
-0 j
-1 w
-10 M
-[]0 d
-%%Note:
-190.75 -108.496 m
-190.5 -108.498 l
-F
-190.5 -108.498 m
-190.312 -108.5 l
-F
-u
-254.191 -224.829 m
-253.647 -224.865 252.943 -224.908 252.312 -224.958 c
-230.826 -226.686 101.318 -178.083 209.143 -74.959 C
-211.852 -72.161 L
-213.375 -70.875 215.375 -72 217.25 -71.5 c
-228.27 -68.561 245.818 -35.618 243.893 -30.472 c
-243.73 -30.04 242.081 -16.192 238.793 -15.994 C
-238.793 -15.994 L
-232.562 -15.625 226.74 -18.263 227 -19.25 c
-227.625 -21.625 231.076 -23.371 230.5 -23.125 c
-232.687 -24.062 237.25 -30.125 229.125 -28.25 c
-202.504 -22.106 203.75 -66.75 202.75 -73.25 c
-202.696 -73.597 199.682 -76.507 182.092 -99.362 c
-126.468 -171.641 202.374 -213.323 210.25 -219 c
-216.395 -223.43 230.25 -227.25 240.169 -233.447 c
-244.205 -235.969 248.5 -240.25 254 -239 c
-254.191 -224.829 l
-F
-1 g
-217.975 -60.152 m
-223.723 -60.28 232.739 -48.478 v
-234.373 -46.339 230.007 -36.414 223.397 -41.268 c
-216.787 -46.122 217.975 -60.152 y
-f
-U
-0 g
-256 -235 m
-S
-253.808 -224.829 m
-F
-290.024 -60.152 m
-284.276 -60.28 275.261 -48.478 v
-273.626 -46.339 277.992 -36.414 284.602 -41.268 c
-291.212 -46.122 290.024 -60.152 y
-s
-u
-u
-254.25 -15.75 m
-254.25 -238.75 l
-S
-U
-242.5 -16 m
-269.206 -15.994 L
-S
-U
-269.206 -15.994 m
-269.206 -15.994 L
-275.437 -15.625 281.259 -18.263 281 -19.25 c
-280.375 -21.625 276.923 -23.371 277.5 -23.125 c
-275.312 -24.062 270.75 -30.125 278.875 -28.25 c
-305.495 -22.106 304.25 -66.75 305.25 -73.25 c
-305.303 -73.597 308.318 -76.507 325.907 -99.362 c
-381.531 -171.641 305.625 -213.323 297.75 -219 c
-291.604 -223.43 277.75 -227.25 267.83 -233.447 c
-263.794 -235.969 259.5 -240.25 254 -239 c
-S
-%%Trailer
-_E end
diff --git a/Master/texmf-dist/doc/latex3/xor/theworld.eps b/Master/texmf-dist/doc/latex3/xor/theworld.eps
deleted file mode 100644
index f82b50edb3e..00000000000
--- a/Master/texmf-dist/doc/latex3/xor/theworld.eps
+++ /dev/null
@@ -1,3058 +0,0 @@
-%!PS-Adobe-2.0 EPSF-1.2
-%%Creator: FreeHand
-%%Title: #1
-%%CreationDate: 12/3/90 15:57
-%%BoundingBox: 28 74 814 536
-%%DocumentProcSets: FreeHand_header 2 0
-%%DocumentSuppliedProcSets: FreeHand_header 2 0
-%%EndComments
-%%BeginProcSet: FreeHand_header 2 0
-/FreeHandDict 200 dict def
-FreeHandDict begin
-/currentpacking where{pop true setpacking}if
-/bdf{bind def}bind def
-/bdef{bind def}bdf
-/xdf{exch def}bdf
-/ndf{1 index where{pop pop pop}{dup xcheck{bind}if def}ifelse}bdf
-/min{2 copy gt{exch}if pop}bdf
-/max{2 copy lt{exch}if pop}bdf
-/dr{transform .25 sub round .25 add
-exch .25 sub round .25 add exch itransform}bdf
-/curveto{dr curveto}bdf
-/lineto{dr lineto}bdf
-/moveto{dr moveto}bdf
-/graystep 1 256 div def
-/bottom -0 def
-/delta -0 def
-/frac -0 def
-/left -0 def
-/numsteps -0 def
-/numsteps1 -0 def
-/radius -0 def
-/right -0 def
-/top -0 def
-/x -0 def
-/y -0 def
-/df currentflat def
-/tempstr 1 string def
-/clipflatness 3 def
-/inverted?
-0 currenttransfer exec .5 ge def
-/concatprocs{
-/proc2 exch cvlit def/proc1 exch cvlit def
-/newproc proc1 length proc2 length add array def
-newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval
-newproc cvx}bdf
-/storerect{/top xdf/right xdf/bottom xdf/left xdf}bdf
-/rectpath{newpath left bottom moveto left top lineto
-right top lineto right bottom lineto closepath}bdf
-/sf{dup 0 eq{pop df dup 3 mul}{dup} ifelse /clipflatness xdf setflat}bdf
-version cvr 38.0 le
-{/setrgbcolor{
-currenttransfer exec 3 1 roll
-currenttransfer exec 3 1 roll
-currenttransfer exec 3 1 roll
-setrgbcolor}bdf}if
-/gettint{0 get}bdf
-/puttint{0 exch put}bdf
-/vms{/vmsv save def}bdf
-/vmr{vmsv restore}bdf
-/vmrs{vmr vms}bdf
-/CD{/NF exch def
-{exch dup/FID ne{exch NF 3 1 roll put}
-{pop pop}ifelse}forall NF}bdf
-/MN{1 index length/Len exch def
-dup length Len add string dup
-Len 4 -1 roll putinterval dup 0 4 -1 roll putinterval}bdf
-/RC{256 string cvs(|______)anchorsearch
-{1 index MN cvn/NewN exch def cvn
-findfont dup maxlength dict CD dup/FontName NewN put dup
-/Encoding MacVec put NewN exch definefont pop}{pop}ifelse}bdf
-/RF{dup FontDirectory exch known{pop}{RC}ifelse}bdf
-/FF{dup 256 string cvs(|______)exch MN cvn dup FontDirectory exch known
-{exch}if pop findfont}bdf
-userdict begin /BDFontDict 20 dict def end
-BDFontDict begin
-/bu{}def
-/bn{}def
-/setTxMode{pop}def
-/gm{moveto}def
-/show{pop}def
-/gr{pop}def
-/fnt{pop pop pop}def
-/fs{pop}def
-/fz{pop}def
-/lin{pop pop}def
-end
-/MacVec 256 array def
-MacVec 0 /Helvetica findfont
-/Encoding get 0 128 getinterval putinterval
-MacVec 127 /DEL put MacVec 16#27 /quotesingle put MacVec 16#60 /grave put
-/NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT/FF/CR/SO/SI
-/DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US
-MacVec 0 32 getinterval astore pop
-/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute
-/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave
-/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute
-/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis
-/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls
-/register/copyright/trademark/acute/dieresis/notequal/AE/Oslash
-/infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation
-/product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash
-/questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft
-/guillemotright/ellipsis/nbspace/Agrave/Atilde/Otilde/OE/oe
-/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge
-/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl
-/daggerdbl/periodcentered/quotesinglbase/quotedblbase
-/perthousand/Acircumflex/Ecircumflex/Aacute
-/Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave/Oacute/Ocircumflex
-/apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde
-/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron
-MacVec 128 128 getinterval astore pop
-/fps{currentflat exch dup 0 le{pop 1}if
-{dup setflat 3 index stopped
-{1.3 mul dup 3 index gt{pop setflat pop pop stop}if}{exit}ifelse
-}loop pop setflat pop pop
-}bdf
-/fp{100 currentflat fps}bdf
-/rfp{clipflatness currentflat fps}bdf
-/fcp{100 clipflatness fps}bdf
-/fclip{{clip}fcp}bdf
-/feoclip{{eoclip}fcp}bdf
-end %. FreeHandDict
-%%EndProcSet
-%%BeginSetup
-FreeHandDict begin
-/ccmyk{dup 5 -1 roll sub 0 max exch}ndf
-/setcmykcolor{1 exch sub ccmyk ccmyk ccmyk pop setrgbcolor}ndf
-/setcmykcoloroverprint{4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor}ndf
-/findcmykcustomcolor{5 /packedarray where{pop packedarray}{array astore readonly}ifelse}ndf
-/setcustomcolor{exch aload pop pop 4{4 index mul 4 1 roll}repeat setcmykcolor pop}ndf
-/setseparationgray{1 exch sub dup dup dup setcmykcolor}ndf
-/setoverprint{pop}ndf
-/currentoverprint false ndf
-/colorimage{pop pop
-[5 -1 roll/exec cvx 6 -1 roll/exec cvx 7 -1 roll/exec cvx 8 -1 roll/exec cvx
-/exch cvx/pop cvx/exch cvx/pop cvx/exch cvx/pop cvx/invbuf cvx]cvx image}
-%. version 47.1 of Postscript defines colorimage incorrectly (rgb model only)
-version cvr 47.1 le{userdict begin bdf end}{ndf}ifelse
-/customcolorimage{pop image}ndf
-/separationimage{image}ndf
-/newcmykcustomcolor{6 /packedarray where{pop packedarray}{array astore readonly}ifelse}ndf
-/inkoverprint false ndf
-/setinkoverprint{pop}ndf
-/overprintprocess{pop}ndf
-/setspotcolor
-{spots exch get 0 5 getinterval exch setcustomcolor}ndf
-/currentcolortransfer{currenttransfer dup dup dup}ndf
-/setcolortransfer{systemdict begin settransfer end pop pop pop}ndf
-/setimagecmyk{dup length 4 eq
-{aload pop}
-{aload pop spots exch get 0 4 getinterval aload pop 4
-{4 index mul 4 1 roll}repeat 5 -1 roll pop} ifelse
-systemdict /colorimage known{version cvr 47.1 gt}{false}ifelse
-not{pop 1 currentgray sub}if
-/ik xdf /iy xdf /im xdf /ic xdf
-}ndf
-/setcolor{dup length 4 eq
-{aload overprintprocess setcmykcolor}
-{aload 1 get spots exch get 5 get setinkoverprint setspotcolor}
-ifelse}ndf
-/bc2[0 0]def
-/bc4[0 0 0 0]def
-/c1[0 0 0 0]def
-/c2[0 0 0 0]def
-/absmax{2 copy abs exch abs gt{exch}if pop}bdf
-/calcstep
-{c1 length 4 eq
-{
-0 1 3
-{c1 1 index get
-c2 3 -1 roll get
-sub
-}for
-absmax absmax absmax
-}
-{
-bc2 c1 1 get 1 exch put
-c1 gettint c2 gettint
-sub abs
-}ifelse
-graystep div abs round dup 0 eq{pop 1}if
-dup /numsteps xdf 1 sub dup 0 eq{pop 1}if /numsteps1 xdf
-}bdf
-/cblend{
-c1 length 4 eq
-{
-0 1 3
-{bc4 exch
-c1 1 index get
-c2 2 index get
-1 index sub
-frac mul add put
-}for bc4
-}{
-bc2
-c1 gettint
-c2 gettint
-1 index sub
-frac mul add
-puttint bc2
-}ifelse
-setcolor
-}bdf
-/logtaper{/frac frac 9 mul 1 add log def}bdf
-/imbits 1 def
-/iminv false def
-/invbuf{0 1 2 index length 1 sub{dup 2 index exch get 255 exch sub 2 index 3 1 roll put}for}bdf
-/cyanrp{currentfile cyanbuf readhexstring pop iminv{invbuf}if}def
-/magentarp{cyanbuf magentabuf copy}bdf
-/yellowrp{cyanbuf yellowbuf copy}bdf
-/blackrp{cyanbuf blackbuf copy}bdf
-/fixtransfer{
-dup{ic mul ic sub 1 add}concatprocs exch
-dup{im mul im sub 1 add}concatprocs exch
-dup{iy mul iy sub 1 add}concatprocs exch
-{ik mul ik sub 1 add}concatprocs
-currentcolortransfer
-5 -1 roll exch concatprocs 7 1 roll
-4 -1 roll exch concatprocs 6 1 roll
-3 -1 roll exch concatprocs 5 1 roll
-concatprocs 4 1 roll
-setcolortransfer
-}bdf
-/currentpacking where{pop false setpacking}if
-%%EndSetup
-/spots[1 0 0 0 (Process Cyan) false newcmykcustomcolor
-0 1 0 0 (Process Magenta) false newcmykcustomcolor
-0 0 1 0 (Process Yellow) false newcmykcustomcolor
-0 0 0 1 (Process Black) false newcmykcustomcolor
-]def
-vms
-0 sf
-newpath
-28.6 534.9 moveto
-812.7 534.9 lineto
-812.7 74.6 lineto
-28.6 74.6 lineto
-closepath
-gsave
-[0 0 0 0.1]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-343.1 534.7 moveto
-300.3 534.7 lineto
-300.3 534.7 lineto
-300.1 533.3 300.5 531.9 299.7 530.9 curveto
-298 528.9 295.9 533.1 293.4 533.4 curveto
-291.8 533.6 289.6 535 289 533.4 curveto
-288.6 532.3 290.5 531.4 290.2 530.3 curveto
-289.7 528.5 285.4 528.4 285.2 530.3 curveto
-285.2 530.5 285.2 530.7 285.2 530.9 curveto
-285 532.9 282.1 532.2 280.1 532.2 curveto
-277.4 532.2 275.5 531.6 273.2 530.3 curveto
-271.6 529.4 271 527.9 269.4 527.1 curveto
-267.9 526.4 266.5 526.5 265 525.9 curveto
-262.9 525 258.2 523.6 260 522.1 curveto
-260.9 521.4 262.3 522.3 263.1 521.5 curveto
-264.5 520.1 261.6 518.2 260 517.1 curveto
-258.2 515.9 256.4 516.3 254.3 515.8 curveto
-251.2 515 244.8 516.3 246.1 513.3 curveto
-246.7 511.8 248.4 511.3 249.9 510.8 curveto
-251.4 510.3 252.7 510.4 254.3 510.1 curveto
-255.7 509.8 258.2 510.4 258.1 508.9 curveto
-258 507.5 255.6 508.3 254.3 508.2 curveto
-252.2 507.9 248.3 509.8 248.6 507.6 curveto
-248.9 505.8 253 505.7 253 505.7 curveto
-253 505.7 lineto
-252.4 504.8 251.1 504.3 251.2 503.2 curveto
-251.4 501.5 254 503.1 255.6 503.2 curveto
-257.4 503.4 258.7 504.4 260.6 504.5 curveto
-263.2 504.7 265 504.3 267.5 503.8 curveto
-269.7 503.4 271.3 503.1 273.2 501.9 curveto
-275.4 500.5 276.6 498.7 277.6 496.3 curveto
-278.5 494.1 278.9 492.4 278.9 490 curveto
-278.9 487.5 274.9 485 277 483.7 curveto
-278.4 482.8 279.8 484.7 281.4 484.3 curveto
-283.5 483.7 287 481.2 285.2 479.9 curveto
-283.9 479 281.9 482.3 280.8 481.1 curveto
-280.4 480.6 280.1 480 280.1 479.3 curveto
-280.1 477.7 282.9 478.6 283.9 477.4 curveto
-284.9 476.2 285.5 474.6 285.2 473 curveto
-284.8 470.7 281.2 471.2 280.1 469.2 curveto
-279.1 467.5 279 466.1 278.9 464.1 curveto
-278.8 462 279 460.5 279.5 458.5 curveto
-280 456.5 281.4 455.3 282 453.4 curveto
-282.6 451.7 282.6 450.1 283.3 448.4 curveto
-284.2 446.3 285.3 444.8 287.1 443.3 curveto
-288.9 441.8 290.8 441.5 292.7 440.2 curveto
-293.9 439.4 294.4 437.7 295.9 437.7 curveto
-297.9 437.6 298.9 439.8 299.7 441.5 curveto
-300.7 443.6 299.5 445.6 300.3 447.8 curveto
-300.9 449.6 302.4 450.6 303.4 452.2 curveto
-304.3 453.7 304.6 455.4 306 456.6 curveto
-307 457.5 308 457.8 309.1 458.5 curveto
-310.6 459.5 311.2 460.9 312.9 461.6 curveto
-314.6 462.3 316.2 461.6 317.9 462.2 curveto
-320.9 463.4 320.9 467 323.6 468.5 curveto
-325.5 469.6 327.2 469.6 329.3 470.4 curveto
-330.9 471 332.1 471.6 333.7 472.3 curveto
-336.6 473.6 342.1 473 341.2 476.1 curveto
-340.5 478.7 336.5 476.6 334.3 478 curveto
-333 478.8 330.8 479.6 331.2 481.1 curveto
-331.6 482.7 333.9 482 335.6 481.8 curveto
-336.8 481.7 337.6 480.9 338.7 480.5 curveto
-340.1 480 341.3 478.4 342.5 479.3 curveto
-343.4 480 343.3 481.2 343.1 482.4 curveto
-342.8 484.2 340.6 484.4 339.4 485.6 curveto
-338.2 486.8 336 487.5 336.2 489.3 curveto
-336.3 490.5 337.1 491.4 338.1 491.9 curveto
-339.6 492.6 341 490.6 342.5 491.2 curveto
-344 491.8 344.5 493.5 345 495 curveto
-345.6 496.7 344.8 498.4 345.7 500 curveto
-346.4 501.2 348.7 501.1 348.8 502.6 curveto
-348.9 504.5 344.3 504 345 505.7 curveto
-345.5 506.8 347 506.8 348.2 507 curveto
-350 507.4 351.4 506.5 353.2 507 curveto
-354.5 507.4 355.9 507.7 356.4 508.9 curveto
-357.4 511.1 352.5 510.4 350.1 510.8 curveto
-348.3 511.1 345.9 509.7 345 511.4 curveto
-344.2 512.9 345.1 514.6 346.3 515.8 curveto
-347.5 517 349.2 516.6 350.7 517.1 curveto
-352.1 517.6 354.5 517.3 354.5 518.9 curveto
-354.5 520.6 350.8 518.7 350.1 520.2 curveto
-349.1 522.3 353 522.9 355.1 524 curveto
-356.8 524.9 358.4 525 360.1 525.9 curveto
-362.2 527 366 527.5 365.2 529.7 curveto
-364.4 531.7 361.7 530.3 359.5 530.3 curveto
-357.6 530.3 356.3 530 354.5 529.7 curveto
-352.6 529.4 351.3 528.7 349.4 528.4 curveto
-348.1 528.2 347 528.2 345.7 527.8 curveto
-343.8 527.2 342.6 523.1 341.2 524.6 curveto
-340.1 525.8 342.9 527.6 341.9 529 curveto
-341.4 529.8 340.4 530.3 339.4 530.3 curveto
-338.1 530.4 337.5 529.1 336.2 529 curveto
-334.5 528.8 333.4 529.5 331.8 529.7 curveto
-330.2 529.9 328 528.7 327.4 530.3 curveto
-326.7 532.1 330 532.5 331.8 532.8 curveto
-333.6 533.1 334.9 532.1 336.8 532.2 curveto
-339.4 532.4 341.1 533.2 343.1 534.7 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-257.5 534.7 moveto
-237.3 534.7 lineto
-237.2 534.9 236.9 535.2 236.7 535.3 curveto
-235.1 536.5 233.7 533 231.6 532.8 curveto
-229.4 532.6 228.2 534.2 226 534.1 curveto
-223.9 534 222.9 532.6 220.9 532.2 curveto
-219.1 531.8 217.7 531.9 215.9 531.5 curveto
-214.5 531.2 211.7 531.8 212.1 530.3 curveto
-212.4 529.3 214 529.7 214.6 529 curveto
-215.3 528.2 215.2 526.7 215.9 525.9 curveto
-216.8 524.9 218.3 524.8 219.7 524.6 curveto
-221.5 524.3 222.9 524.4 224.7 524.6 curveto
-226.5 524.8 228 525.3 229.7 525.9 curveto
-231.6 526.5 233.2 529.6 234.8 528.4 curveto
-235.6 527.8 236.1 526.9 236 525.9 curveto
-235.9 524.5 234 524.6 232.9 524 curveto
-231.8 523.4 229.8 523.5 229.7 522.1 curveto
-229.7 521.4 230.5 520.9 230.4 520.2 curveto
-230.2 518.7 228 521.2 226.6 521.5 curveto
-225.3 521.8 223.5 523.2 222.8 522.1 curveto
-222.4 521.4 222.5 520.4 222.8 519.6 curveto
-223.2 518.5 225.3 518.9 225.3 517.7 curveto
-225.3 516.3 223.3 516.5 222.2 515.8 curveto
-220.7 514.8 216.9 513.7 218.4 512.6 curveto
-219.3 512 220.6 513.3 221.5 512.6 curveto
-222.1 512.1 222.5 510.9 222.2 510.1 curveto
-221.9 509.2 220.7 509 219.7 508.9 curveto
-218.2 508.7 217.4 510.4 215.9 510.1 curveto
-214.7 509.9 214.3 508.9 213.4 508.2 curveto
-212.4 507.4 210.8 507.1 210.8 505.7 curveto
-210.8 504.1 213.1 504 214.6 503.8 curveto
-216.4 503.5 217.8 504.5 219.7 504.5 curveto
-221.6 504.5 222.9 504 224.7 503.8 curveto
-226.5 503.6 227.9 502.7 229.7 503.2 curveto
-231.1 503.6 232.4 504.4 232.9 505.7 curveto
-233.5 507.2 231.5 508.7 232.3 510.1 curveto
-233.1 511.5 235.2 510.8 236.7 511.4 curveto
-238.5 512.2 240.2 512.8 241.1 514.5 curveto
-241.9 516 240.6 517.6 241.7 518.9 curveto
-242.6 520 244.1 520 245.5 520.2 curveto
-246.8 520.4 248 519.8 249.3 520.2 curveto
-251 520.7 251.6 522.4 253 523.4 curveto
-255.4 525.2 262.9 526.7 260 527.8 curveto
-258.7 528.3 256.7 526.5 256.2 527.8 curveto
-255.7 529.2 258 529.8 259.3 530.3 curveto
-260.8 530.9 262.2 530.7 263.8 530.9 curveto
-265.4 531.1 266.7 530.9 268.2 531.5 curveto
-272.2 533.1 260.6 534.7 257.5 534.7 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-134 483.7 moveto
-133.2 485.8 135.1 487.2 135.9 489.3 curveto
-136.7 491.5 136.4 493.8 138.4 495 curveto
-139.8 495.8 141.1 495.7 142.8 495.6 curveto
-144.5 495.5 145.5 494.4 147.2 494.4 curveto
-148.7 494.4 149.6 496 151 495.6 curveto
-152.6 495.2 153.9 493.6 153.5 491.9 curveto
-153.1 490.1 150.6 490.9 149.1 490 curveto
-147.3 489 146.2 487.7 144.7 486.2 curveto
-143.2 484.7 142.9 482.5 140.9 481.8 curveto
-138.4 480.9 135 481.2 134 483.7 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-147.2 482.4 moveto
-147 484 148.3 485 149.1 486.2 curveto
-150.3 487.9 151.3 489.7 153.5 490 curveto
-155.2 490.2 156.2 488.9 157.9 488.7 curveto
-159.1 488.6 160.2 489.3 161.1 488.7 curveto
-161.9 488.2 161.5 486.6 162.3 486.2 curveto
-163.9 485.3 164.3 489.9 166.1 489.3 curveto
-167.4 488.9 167.9 484.8 168 486.2 curveto
-168 486.4 168 486.6 168 486.8 curveto
-168 488.5 165.8 483 167.4 482.4 curveto
-168.8 481.9 169.8 483.7 170.5 484.9 curveto
-171.7 486.9 168.1 490.8 170.5 491.2 curveto
-172.2 491.5 173.3 490 174.3 488.7 curveto
-175.5 487.2 175.8 485.6 176.2 483.7 curveto
-176.5 482.1 175.8 480.5 176.8 479.3 curveto
-177.6 478.4 179.6 479.2 180 478 curveto
-180.2 477.2 179.8 476.1 179.3 475.5 curveto
-178.6 474.7 176.6 475.9 176.2 474.8 curveto
-175.8 473.6 178.7 473.6 178.7 472.3 curveto
-178.7 470.4 175.5 471.5 173.7 471.7 curveto
-172 471.9 171.1 473.6 169.3 473.6 curveto
-167.2 473.6 166.2 472.3 164.2 471.7 curveto
-162.4 471.2 161 470.7 159.2 470.4 curveto
-157.6 470.1 156.2 468.9 154.8 469.8 curveto
-153.6 470.6 154.4 472.5 153.5 473.6 curveto
-152.3 475.1 148 473.5 148.5 475.5 curveto
-148.9 477.2 151.2 476.6 152.9 476.7 curveto
-155 476.9 158 474 158.5 476.1 curveto
-158.8 477.4 158.2 478.5 157.3 479.3 curveto
-156.1 480.4 154.5 479.5 152.9 479.9 curveto
-150.6 480.4 147.5 480 147.2 482.4 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-145.3 501.9 moveto
-145.4 504 147.9 504.1 149.7 505.1 curveto
-151.7 506.2 153.1 507.3 155.4 507.6 curveto
-156.7 507.8 158.4 508.7 159.2 507.6 curveto
-160.3 506.1 156.7 505.7 155.4 504.5 curveto
-154.1 503.3 153.9 501.5 152.2 500.7 curveto
-149.8 499.6 145.2 499.2 145.3 501.9 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-154.8 496.9 moveto
-154.5 498.6 156.1 499.5 157.3 500.7 curveto
-158.5 501.9 159.4 503.2 161.1 503.2 curveto
-162.6 503.2 163.5 501.9 164.8 501.3 curveto
-166.2 500.6 167 499.1 168.6 499.4 curveto
-170.3 499.7 169.4 503.2 171.1 503.2 curveto
-172.3 503.2 172.7 501.8 173.7 501.3 curveto
-175.2 500.6 178.3 501.7 178.1 500 curveto
-178 498.6 176.1 498.7 174.9 498.2 curveto
-172.9 497.4 171.3 497.8 169.3 496.9 curveto
-167.8 496.3 167 495 165.5 494.4 curveto
-163.7 493.6 161.3 491.3 160.4 493.1 curveto
-160 493.9 160.2 494.8 160.4 495.6 curveto
-161 497.7 166 496 165.5 498.2 curveto
-165 500.2 162.4 499.5 160.4 499.4 curveto
-158.1 499.3 155.3 494.6 154.8 496.9 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-181.9 486.8 moveto
-181.9 486.8 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-183.7 484.9 moveto
-183.7 484.9 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-182.5 488.1 moveto
-182.2 490 184 491 185.6 491.9 curveto
-187.6 493 192.2 494.9 191.9 492.5 curveto
-191.8 491.3 190 491.2 190 490 curveto
-190 488.6 192.3 488.8 192.6 487.4 curveto
-192.8 486.2 192.5 485.3 191.9 484.3 curveto
-191.2 483.2 190.2 482.4 188.8 482.4 curveto
-187.1 482.4 186.8 484.6 185.6 485.6 curveto
-184.5 486.5 182.8 486.6 182.5 488.1 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-195.7 486.8 moveto
-194 487.9 195.6 490.6 197 491.9 curveto
-198.3 493.1 200.1 493.1 202 493.1 curveto
-203.4 493.1 205.3 493.7 205.8 492.5 curveto
-206.3 491.4 205.5 490.1 204.5 489.3 curveto
-203.2 488.3 201.7 489.6 200.1 489.3 curveto
-198.3 488.9 197.3 485.8 195.7 486.8 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-183.7 500 moveto
-183.3 501.4 184.9 502.9 186.3 503.2 curveto
-187.4 503.4 188.3 502.2 189.4 502.6 curveto
-190.5 503 190.1 504.8 191.3 505.1 curveto
-192.7 505.4 194.2 504.6 194.5 503.2 curveto
-194.8 501.9 194 501 193.2 500 curveto
-191.6 497.9 188.8 497.3 186.3 498.2 curveto
-185.2 498.5 184 498.9 183.7 500 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-183.1 517.7 moveto
-183.9 518.8 185.5 518.5 186.9 518.3 curveto
-188.6 518.1 189.5 516.9 190.7 515.8 curveto
-191.7 514.9 193.6 514 193.2 512.6 curveto
-192.8 511.2 190.9 511.4 189.4 511.4 curveto
-187.8 511.4 186.7 512.4 185.6 513.3 curveto
-184.2 514.5 182.1 516.2 183.1 517.7 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-197.6 505.7 moveto
-197.6 505.7 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-200.1 503.8 moveto
-200.6 501.9 204.1 504.1 205.2 502.6 curveto
-206.2 501.3 204.9 499.5 205.8 498.2 curveto
-206.7 496.9 208.1 496.7 209.6 496.3 curveto
-211.9 495.7 213.6 496.2 215.9 496.3 curveto
-217.7 496.4 219 497 220.9 496.9 curveto
-222.6 496.8 223.6 495.6 225.3 495.6 curveto
-227.1 495.6 229.5 495.7 229.7 497.5 curveto
-229.9 499.2 228.1 500 226.6 500.7 curveto
-224.5 501.7 222.7 500.8 220.3 500.7 curveto
-217.9 500.6 216.3 499.6 214 500 curveto
-211.9 500.4 210.1 500.9 208.9 502.6 curveto
-208.3 503.5 208.4 504.8 207.7 505.7 curveto
-206.5 507.3 204.5 508.3 202.6 507.6 curveto
-201 507 199.7 505.4 200.1 503.8 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-213.4 477.4 moveto
-211.4 477.5 209.9 477.6 208.3 478.6 curveto
-206.7 479.6 205.4 481 205.2 483 curveto
-205 485.1 205.9 486.4 207.1 488.1 curveto
-208.1 489.5 209.4 490.3 210.8 491.2 curveto
-211.9 491.9 212.8 493.7 214 493.1 curveto
-215.4 492.4 212.3 490.9 212.1 489.3 curveto
-211.9 487.6 212.1 486.4 212.7 484.9 curveto
-213.2 483.6 213.7 481.8 215.2 481.8 curveto
-216.9 481.8 216.3 484.6 216.5 486.2 curveto
-216.7 487.8 215.6 489.2 216.5 490.6 curveto
-217.6 492.2 219.8 492.5 221.5 491.9 curveto
-222.8 491.4 223.3 489.8 224.1 488.7 curveto
-224.9 487.6 225.3 486.1 226.6 485.6 curveto
-228.8 484.7 229.9 488.2 232.3 488.1 curveto
-234.1 488.1 235.5 487.4 236.7 486.2 curveto
-237.8 485.1 237.3 483.2 238.6 482.4 curveto
-240.2 481.5 242.3 484.3 243.6 483 curveto
-244.5 482.1 243.5 480.4 244.2 479.3 curveto
-245.2 477.8 247.4 478.6 248.6 477.4 curveto
-249.8 476.2 251.2 474.6 250.5 473 curveto
-250.1 471.9 248.3 472.3 248 471.1 curveto
-247.5 469.2 250.8 469.4 252.4 468.5 curveto
-254.3 467.4 256.1 467.1 257.5 465.4 curveto
-258.3 464.4 259.3 463.6 259.3 462.2 curveto
-259.3 460.4 258 458.5 256.2 458.5 curveto
-254.8 458.5 254.2 459.8 253 460.4 curveto
-251.7 461.1 250.7 462.6 249.3 462.2 curveto
-248.2 461.9 247.4 460.9 247.4 459.7 curveto
-247.3 458.2 249.1 457.8 249.9 456.6 curveto
-250.9 455.1 252.2 454.1 252.4 452.2 curveto
-252.5 450.8 252.5 449.5 251.8 448.4 curveto
-249.9 445.5 244.9 456.8 244.2 453.4 curveto
-243.8 451.5 245 450 246.1 448.4 curveto
-247.1 446.9 250.6 446.9 249.9 445.2 curveto
-249.3 443.7 247.2 444.5 245.5 444.6 curveto
-241.9 444.8 239.7 446.4 237.3 449 curveto
-235.8 450.6 236.1 453 234.1 454.1 curveto
-232.1 455.2 230.1 453.6 227.8 454.1 curveto
-226.1 454.4 223.4 454.1 223.4 455.9 curveto
-223.4 457.4 225.3 458 226.6 458.5 curveto
-228.6 459.3 230.5 457.4 232.3 458.5 curveto
-233.9 459.4 234 461.2 234.8 462.9 curveto
-235.5 464.5 236.8 465.5 236.7 467.3 curveto
-236.7 468.5 236.5 470 235.4 470.4 curveto
-234.1 470.8 232.9 469.7 232.3 468.5 curveto
-231.8 467.5 233 466.4 232.3 465.4 curveto
-231.6 464.3 229.3 463.8 228.5 464.8 curveto
-227.8 465.7 228.2 466.8 228.5 467.9 curveto
-229 469.8 232.1 469.7 232.3 471.7 curveto
-232.5 473.5 231.7 475 230.4 476.1 curveto
-229.2 477.1 227.6 477.1 226 477.4 curveto
-224.4 477.7 223.2 478 221.5 478 curveto
-219.8 478 218.8 477.5 217.1 477.4 curveto
-215.7 477.4 214.8 477.3 213.4 477.4 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-338.1 459.1 moveto
-338 461 338.7 463.5 340.6 463.5 curveto
-342.3 463.5 342.1 460.5 343.8 460.4 curveto
-345.5 460.3 345.8 462.7 347.5 462.9 curveto
-348.9 463.1 350 462.4 351.3 462.2 curveto
-352.9 462 354.1 461.3 355.7 461.6 curveto
-357.3 461.9 358 464.7 359.5 464.1 curveto
-360.8 463.6 360.1 461.6 360.8 460.4 curveto
-361.6 459 363.8 458.9 363.9 457.2 curveto
-364.1 454.8 360.9 454.6 358.9 453.4 curveto
-356.9 452.2 355.6 450.4 353.2 450.3 curveto
-350.9 450.2 349.7 451.9 347.5 452.2 curveto
-345.2 452.5 341.5 449.8 341.2 452.2 curveto
-341.1 453.4 342.5 454.1 342.5 455.3 curveto
-342.5 457.5 338.3 456.9 338.1 459.1 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-205.8 450.3 moveto
-205.5 451.8 207.6 452.2 208.3 453.4 curveto
-209.2 454.9 208.4 457.6 210.2 457.8 curveto
-211.6 458 212.2 456.4 213.4 455.9 curveto
-214.4 455.5 216 455.7 216.5 454.7 curveto
-216.8 454 216.1 453 216.5 452.2 curveto
-217 451.1 219.7 452.2 219.7 450.9 curveto
-219.7 449.9 218.7 449.2 217.8 449 curveto
-216.3 448.6 215.6 450.9 214 450.9 curveto
-212.4 450.9 211.8 449.1 210.2 449 curveto
-208.5 448.9 206.1 448.6 205.8 450.3 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-212.1 444 moveto
-211.7 445.1 211.9 446.3 212.7 447.1 curveto
-213.7 448.1 215.5 448.1 216.5 447.1 curveto
-217.9 445.7 212.8 442.2 212.1 444 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-183.1 471.7 moveto
-182.4 473.4 184.4 475.6 186.3 475.5 curveto
-187.5 475.4 188.1 474.4 188.8 473.6 curveto
-189.7 472.6 191.3 471.6 190.7 470.4 curveto
-190.1 469.2 188.2 470.2 186.9 470.4 curveto
-185.5 470.6 183.6 470.4 183.1 471.7 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-vmrs
-0 sf
-newpath
-192.6 316.1 moveto
-192 317.7 194.8 318.1 196.3 318.6 curveto
-197.8 319.1 199.1 319.3 200.8 319.2 curveto
-202.5 319.1 203.7 318.6 205.2 318 curveto
-206.9 317.4 208.1 316.4 209.6 315.5 curveto
-211.3 314.5 212.3 313.4 214 312.3 curveto
-215.1 311.6 217 311.8 217.1 310.4 curveto
-217.2 308.7 214.4 309.2 212.7 309.2 curveto
-211.3 309.2 209.3 308.5 208.9 309.8 curveto
-208.7 310.6 209.7 311.4 209.6 312.3 curveto
-209.4 313.8 207.7 314.2 206.4 314.8 curveto
-204.8 315.6 203.2 315.8 201.4 316.1 curveto
-199.8 316.4 198.7 316.7 197 316.7 curveto
-195.3 316.7 193.2 314.5 192.6 316.1 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-217.1 305.4 moveto
-217.1 306.8 219.8 306 220.3 307.3 curveto
-220.6 308.1 219.9 309.1 220.3 309.8 curveto
-221 310.9 222.8 309.4 224.1 309.2 curveto
-225.4 309 226.6 309 227.8 308.5 curveto
-229.3 307.8 231.6 307 231 305.4 curveto
-230.6 304.2 229 304.4 227.8 304.1 curveto
-226.7 303.8 225.9 303.5 224.7 303.5 curveto
-223.4 303.5 222.7 304.4 221.5 304.7 curveto
-219.9 305.1 217.1 303.7 217.1 305.4 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-119.5 347 moveto
-119.5 350.1 lineto
-113.8 353.3 lineto
-110.7 360.2 lineto
-110 365.2 lineto
-108.1 371.5 lineto
-109.4 378.5 lineto
-111.3 384.8 lineto
-111.9 394.8 lineto
-117 394.8 lineto
-115.7 398.6 lineto
-113.2 403 lineto
-108.8 404.9 lineto
-108.1 411.8 lineto
-105 416.9 lineto
-103.7 420.7 lineto
-102.5 425.1 lineto
-99.3 426.3 lineto
-96.2 430.7 lineto
-93 430.1 lineto
-89.9 433.3 lineto
-85.5 435.8 lineto
-79.2 437 lineto
-75.4 440.2 lineto
-72.2 440.2 lineto
-71.6 437 lineto
-68.5 435.2 lineto
-63.4 430.7 lineto
-64.7 434.5 lineto
-66.6 438.3 lineto
-69.1 440.8 lineto
-64.7 440.2 lineto
-62.2 437 lineto
-58.4 433.9 lineto
-59 430.7 lineto
-53.3 427 lineto
-48.3 423.8 lineto
-42 420 lineto
-37.6 419.4 lineto
-30 415.6 lineto
-32.5 420 lineto
-38.2 421.9 lineto
-43.9 425.1 lineto
-48.9 428.9 lineto
-49.6 431.4 lineto
-45.8 431.4 lineto
-43.9 432 lineto
-40.1 431.4 lineto
-40.7 435.2 lineto
-42.6 438.3 lineto
-37.6 435.2 lineto
-36.3 437.7 lineto
-40.1 439.6 lineto
-36.3 441.5 lineto
-33.8 444.6 lineto
-38.2 446.5 lineto
-41.4 448.4 lineto
-45.8 449 lineto
-50.2 454.1 lineto
-44.5 452.8 lineto
-40.1 453.4 lineto
-38.8 456.6 lineto
-35.1 457.8 lineto
-40.1 459.7 lineto
-43.9 461.6 lineto
-47 459.7 lineto
-50.8 460.4 lineto
-54.6 460.4 lineto
-52.1 463.5 lineto
-47 466 lineto
-45.1 469.8 lineto
-48.9 470.4 lineto
-53.3 475.5 lineto
-57.1 475.5 lineto
-61.5 478 lineto
-65.9 479.3 lineto
-69.7 479.9 lineto
-70.3 476.1 lineto
-74.1 478 lineto
-77.9 476.7 lineto
-82.3 476.7 lineto
-88.6 475.5 lineto
-96.8 474.8 lineto
-103.7 472.3 lineto
-110 469.8 lineto
-110 473.6 lineto
-112.6 474.8 lineto
-116.3 474.2 lineto
-122 477.4 lineto
-120.1 474.2 lineto
-117 471.1 lineto
-120.7 473 lineto
-123.9 474.2 lineto
-126.4 478 lineto
-127.7 474.8 lineto
-129.6 471.7 lineto
-131.5 476.1 lineto
-132.7 472.3 lineto
-135.9 474.2 lineto
-139.6 473 lineto
-145.3 470.4 lineto
-148.5 471.1 lineto
-152.2 469.2 lineto
-149.1 466.7 lineto
-152.9 466 lineto
-159.2 466 lineto
-163 465.4 lineto
-163 462.2 lineto
-165.5 461.6 lineto
-165.5 465.4 lineto
-167.4 467.3 lineto
-164.2 468.5 lineto
-166.7 469.8 lineto
-170.5 468.5 lineto
-174.3 466.7 lineto
-180.6 466.7 lineto
-186.3 467.9 lineto
-190 465.4 lineto
-193.2 468.5 lineto
-195.1 473 lineto
-191.3 475.5 lineto
-192.6 479.9 lineto
-194.5 482.4 lineto
-197.6 481.8 lineto
-198.9 477.4 lineto
-199.5 473 lineto
-201.4 468.5 lineto
-203.9 473 lineto
-205.8 470.4 lineto
-207.1 465.4 lineto
-210.2 467.9 lineto
-212.7 470.4 lineto
-212.7 474.2 lineto
-212.7 475.4 213.5 476.4 214.6 476.7 curveto
-216.2 477.2 217.4 475.4 218.4 474.2 curveto
-219.3 473.2 220.5 472.5 220.3 471.1 curveto
-220.1 469.7 217.2 470.6 217.1 469.2 curveto
-217 467.8 219.2 467.9 219.7 466.7 curveto
-220.2 465.5 220.4 464.1 219.7 462.9 curveto
-218.7 461.2 216.4 462.3 214.6 461.6 curveto
-213.7 461.3 213.1 460.4 212.1 460.4 curveto
-210.8 460.3 210.2 461.9 208.9 461.6 curveto
-208.1 461.5 207.4 461.1 207.1 460.4 curveto
-206.9 459.8 207.5 459.1 207.1 458.5 curveto
-206.6 457.7 205.5 458.4 204.5 458.5 curveto
-203.1 458.6 201.8 460.5 200.8 459.7 curveto
-200.2 459.3 199.9 458.1 200.1 457.2 curveto
-200.4 455.8 202.8 456.6 203.3 455.3 curveto
-203.8 453.9 202.9 452.5 202 451.5 curveto
-200.4 449.8 196.3 453.2 195.7 450.9 curveto
-195.4 449.8 196.5 449 196.3 447.8 curveto
-195.9 445.5 193 446 191.3 444.6 curveto
-189.4 443 188.1 441.7 186.9 439.6 curveto
-185.5 437.2 182.8 434.9 184.4 432.6 curveto
-185.1 431.5 186.7 431.7 187.5 430.7 curveto
-188.5 429.4 187.9 427.6 188.8 426.3 curveto
-190.3 424.3 192.8 424.8 195.1 423.8 curveto
-197.5 422.8 199.1 422 201.4 420.7 curveto
-202.8 419.9 203.6 418.5 205.2 418.1 curveto
-206.5 417.8 207.9 419.1 208.9 418.1 curveto
-209.9 417.1 208.9 415.8 208.9 414.4 curveto
-208.9 412.5 208.3 411 208.9 409.3 curveto
-209.4 407.9 210.4 407 211.5 406.2 curveto
-212.6 405.4 213.8 403.9 215.2 404.3 curveto
-217 404.8 216.4 407.5 216.5 409.3 curveto
-216.7 411.9 214.7 414 215.9 416.3 curveto
-216.8 418 219.1 418 220.3 419.4 curveto
-221.8 421.1 223.3 422.7 223.4 425.1 curveto
-223.5 427.7 220.9 428.8 220.9 431.4 curveto
-220.9 433.7 222.4 434.8 222.8 437 curveto
-223.4 439.8 221.3 442.7 223.4 444.6 curveto
-225 446.1 227 445.4 229.1 445.9 curveto
-230.7 446.3 231.9 447.6 233.5 447.1 curveto
-235.6 446.4 233.7 443 235.4 441.5 curveto
-237 440.1 240.6 442.3 241.1 440.2 curveto
-241.4 439.1 240.6 438.1 240.4 437 curveto
-239.9 435.1 237.7 433.7 238.6 432 curveto
-239.4 430.6 241.3 430.8 243 430.7 curveto
-244.7 430.6 245.9 430.8 247.4 431.4 curveto
-250 432.5 249.9 438.5 252.4 437 curveto
-254 436 253.1 433.8 253.7 432 curveto
-254.2 430.3 255.2 429.3 255.6 427.6 curveto
-256 426 255.6 424.7 256.2 423.2 curveto
-256.7 421.9 257.6 420.8 258.7 420 curveto
-260.3 418.8 263.8 420.2 263.8 418.1 curveto
-263.8 416.4 261.2 416.8 260 415.6 curveto
-258.8 414.4 256.8 413.2 257.5 411.8 curveto
-258.3 410.2 260 414.2 261.9 414.4 curveto
-263.8 414.6 266.2 414.8 266.9 413.1 curveto
-267.4 411.9 266.8 410.5 266.3 409.3 curveto
-265.6 407.8 264.4 407.2 263.1 406.2 curveto
-261 404.5 259.5 403 256.8 402.4 curveto
-254.8 402 253.3 402.4 251.2 402.4 curveto
-249 402.4 247.6 402.7 245.5 402.4 curveto
-243.5 402.1 242.2 401.4 240.4 400.5 curveto
-236.1 398.3 226.1 391.8 231 391.7 curveto
-231.2 391.7 231.5 391.7 231.6 391.7 curveto
-237.3 396.1 lineto
-243 398.6 lineto
-246.7 398 lineto
-244.2 395.5 lineto
-244.2 391.7 lineto
-246.7 389.2 lineto
-250.5 387.9 lineto
-253 386 lineto
-250.5 384.8 lineto
-246.1 383.5 lineto
-241.7 379.7 lineto
-241.7 383.5 lineto
-246.1 386 lineto
-241.7 386.6 lineto
-238.6 383.5 lineto
-234.1 381.6 lineto
-231 378.5 lineto
-229.7 374.7 lineto
-224.1 372.2 lineto
-220.3 368.4 lineto
-218.4 362.1 lineto
-216.5 367.7 lineto
-215.9 363.3 lineto
-215.9 358.3 lineto
-214 355.1 lineto
-211.5 351.4 lineto
-207.1 348.2 lineto
-203.3 344.4 lineto
-202 340.7 lineto
-203.3 335 lineto
-203.9 329.9 lineto
-201.4 324.9 lineto
-199.5 328.7 lineto
-198.2 333.1 lineto
-198.9 337.5 lineto
-195.1 339.4 lineto
-190.7 340.7 lineto
-186.9 338.8 lineto
-181.9 340 lineto
-178.7 338.1 lineto
-175.6 339.4 lineto
-171.8 338.1 lineto
-168.6 336.2 lineto
-164.2 333.7 lineto
-164.2 327.4 lineto
-159.8 330.6 lineto
-157.3 335.6 lineto
-154.1 338.1 lineto
-151 336.9 lineto
-147.2 338.8 lineto
-145.9 342.5 lineto
-142.2 343.8 lineto
-138.4 343.2 lineto
-132.7 343.8 lineto
-119.5 347 lineto
-119.5 347 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-164.2 327.4 moveto
-159.8 330.6 lineto
-157.3 335.6 lineto
-154.1 338.1 lineto
-151 336.9 lineto
-147.2 338.8 lineto
-145.9 342.5 lineto
-142.2 343.8 lineto
-138.4 343.2 lineto
-132.7 343.8 lineto
-119.5 347 lineto
-118.9 347 lineto
-120.7 342.5 lineto
-122.6 338.1 lineto
-125.2 333.7 lineto
-122.6 331.8 lineto
-125.8 329.9 lineto
-128.9 327.4 lineto
-129.6 324.3 lineto
-134.6 318.6 lineto
-134 323 lineto
-132.1 328.1 lineto
-130.2 332.5 lineto
-127 336.2 lineto
-125.8 340.7 lineto
-128.3 341.9 lineto
-131.5 337.5 lineto
-133.3 332.5 lineto
-136.5 328.7 lineto
-138.4 324.9 lineto
-142.2 320.5 lineto
-145.3 316.1 lineto
-145.3 311.7 lineto
-145.3 307.3 lineto
-149.7 304.7 lineto
-155.4 301 lineto
-159.8 299.7 lineto
-164.8 297.2 lineto
-169.3 298.4 lineto
-174.3 294.7 lineto
-180 291.5 lineto
-185.6 290.3 lineto
-189.4 286.5 lineto
-188.8 282.7 lineto
-192.6 280.2 lineto
-195.7 277 lineto
-200.1 275.1 lineto
-202.6 277 lineto
-205.2 278.3 lineto
-207.7 274.5 lineto
-210.2 276.4 lineto
-208.3 279.5 lineto
-205.2 280.8 lineto
-201.4 279.5 lineto
-197.6 279.5 lineto
-195.1 283.3 lineto
-195.1 289 lineto
-195.7 294.7 lineto
-193.2 297.8 lineto
-189.4 299.1 lineto
-185.6 297.8 lineto
-183.1 299.1 lineto
-185 302.9 lineto
-186.3 306 lineto
-188.2 309.8 lineto
-187.5 312.9 lineto
-183.7 313.6 lineto
-179.3 311.7 lineto
-177.4 308.5 lineto
-173.7 306 lineto
-168.6 306.6 lineto
-165.5 309.2 lineto
-164.2 312.9 lineto
-162.3 318 lineto
-164.2 323 lineto
-164.2 327.4 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-265 405.5 moveto
-263.7 405 263 403.7 262.5 402.4 curveto
-262 401.2 262.7 399.6 261.9 398.6 curveto
-261.1 397.6 259.4 398.4 258.7 397.4 curveto
-257.9 396.3 257.6 394.4 258.7 393.6 curveto
-259.9 392.8 261.1 394.6 262.5 394.8 curveto
-264.1 395 266.3 396.4 266.9 394.8 curveto
-267.3 393.7 265.1 392.7 265.6 391.7 curveto
-266.3 390.3 268 394.3 269.4 393.6 curveto
-270.2 393.2 269.9 391.7 270.7 391.1 curveto
-271.8 390.3 273.6 390.1 274.5 391.1 curveto
-275.7 392.4 271.9 393.6 271.9 395.5 curveto
-271.9 396.4 272.7 397.1 272.6 398 curveto
-272.3 399.8 268.1 398.1 268.2 399.9 curveto
-268.2 400.7 269.6 401 269.4 401.8 curveto
-269.2 402.7 267.4 401.7 266.9 402.4 curveto
-266.2 403.4 268.8 404.5 268.2 405.5 curveto
-267.6 406.5 266.1 405.9 265 405.5 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-463.5 167.4 moveto
-466.6 170.6 lineto
-469.1 173.7 lineto
-472.3 178.7 lineto
-474.8 183.2 lineto
-474.8 187.6 lineto
-478.6 190.1 lineto
-480.5 193.9 lineto
-480.5 198.3 lineto
-479.8 203.9 lineto
-483 207.7 lineto
-486.8 210.9 lineto
-491.8 214.7 lineto
-493.7 219.1 lineto
-493.7 226 lineto
-492.4 231.7 lineto
-491.2 238 lineto
-490.6 243.6 lineto
-492.4 249.3 lineto
-496.9 255 lineto
-500.6 261.3 lineto
-505.7 265.7 lineto
-510.1 270.1 lineto
-513.2 275.1 lineto
-515.8 281.4 lineto
-518.3 287.1 lineto
-517.6 290.9 lineto
-513.9 289 lineto
-510.1 289.6 lineto
-503.8 287.1 lineto
-499.4 290.9 lineto
-496.9 295.9 lineto
-493.7 299.1 lineto
-489.9 301 lineto
-487.4 307.3 lineto
-484.3 310.4 lineto
-483.6 314.8 lineto
-483 319.9 lineto
-479.8 322.4 lineto
-479.8 325.5 lineto
-476.7 331.2 lineto
-472.9 336.9 lineto
-471 342.5 lineto
-469.8 347.6 lineto
-464.1 345.7 lineto
-459.1 347 lineto
-452.8 348.8 lineto
-447.1 351.4 lineto
-445.2 352 lineto
-442 350.7 lineto
-442.7 345.7 lineto
-439.5 345.1 lineto
-433.9 347.6 lineto
-428.8 350.7 lineto
-422.5 352.6 lineto
-418.7 356.4 lineto
-418.7 360.2 lineto
-420 364 lineto
-416.2 365.9 lineto
-409.9 364.6 lineto
-402.4 364 lineto
-396.7 362.7 lineto
-391.6 358.9 lineto
-387.2 358.9 lineto
-382.2 360.2 lineto
-379 355.8 lineto
-375.3 352 lineto
-372.1 348.2 lineto
-371.5 342.5 lineto
-368.3 338.8 lineto
-368.3 338.8 lineto
-366 336.2 363.8 334.9 362 331.8 curveto
-360.8 329.6 360.7 327.7 359.5 325.5 curveto
-357.9 322.6 355.1 321.7 353.8 318.6 curveto
-352.8 316 352.6 313.9 352.6 311 curveto
-352.6 308.6 354 307.1 353.8 304.7 curveto
-353.6 302.7 351.9 301.7 352 299.7 curveto
-352.1 298.1 353.3 297.4 353.8 295.9 curveto
-354.4 294.2 354 292.4 355.1 290.9 curveto
-356.3 289.3 358.6 289.7 360.1 288.4 curveto
-361.9 286.8 362 284.7 363.3 282.7 curveto
-364.8 280.4 371.2 277.1 368.3 277 curveto
-368.1 277 367.6 277 367.7 277 curveto
-371.5 274.5 lineto
-375.9 270.1 lineto
-380.3 269.5 lineto
-384.7 271.4 lineto
-389.8 270.1 lineto
-395.4 272 lineto
-398.6 273.9 lineto
-403.6 275.1 lineto
-409.3 273.9 lineto
-411.2 269.5 lineto
-416.8 268.8 lineto
-420.6 265.7 lineto
-419.4 260 lineto
-418.7 254.3 lineto
-421.9 249.9 lineto
-425 244.9 lineto
-427.6 239.9 lineto
-428.8 234.2 lineto
-430.1 227.9 lineto
-428.8 222.8 lineto
-426.3 217.2 lineto
-426.3 210.9 lineto
-425.7 204.6 lineto
-428.8 200.8 lineto
-432 195.8 lineto
-432 189.5 lineto
-433.2 183.2 lineto
-435.7 179.4 lineto
-439.5 175 lineto
-440.2 170.6 lineto
-440.8 166.8 lineto
-440.2 168 lineto
-443.3 163.6 lineto
-445.8 159.9 lineto
-449.6 161.1 lineto
-455.3 163.6 lineto
-459.7 163.6 lineto
-463.5 167.4 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-207.7 274.5 moveto
-210.2 272 lineto
-210.2 267.6 lineto
-210.2 263.2 lineto
-207.1 258.8 lineto
-203.9 255 lineto
-202.6 249.3 lineto
-205.2 246.2 lineto
-202.6 241.7 lineto
-202.6 236.1 lineto
-206.4 232.3 lineto
-211.5 226.6 lineto
-214 220.3 lineto
-215.9 216.5 lineto
-219 211.5 lineto
-224.1 207.7 lineto
-230.4 203.3 lineto
-231.6 197.6 lineto
-232.9 191.3 lineto
-231.6 185.7 lineto
-233.5 180 lineto
-232.3 174.3 lineto
-231 169.3 lineto
-232.3 163.6 lineto
-231.6 157.3 lineto
-231 150.4 lineto
-229.1 146 lineto
-229.7 141 lineto
-231 136.5 lineto
-232.9 132.8 lineto
-233.5 129 lineto
-234.1 124.6 lineto
-232.9 120.8 lineto
-230.4 120.2 lineto
-232.3 117.6 lineto
-233.5 114.5 lineto
-232.3 112 lineto
-234.1 108.2 lineto
-235.4 104.4 lineto
-238.6 101.9 lineto
-238.6 103.2 lineto
-237.9 99.4 lineto
-241.7 99.4 lineto
-242.3 96.2 lineto
-244.2 95.6 lineto
-245.5 99.4 lineto
-246.1 95.6 lineto
-247.4 93.7 lineto
-244.2 91.8 lineto
-249.3 91.2 lineto
-253 90.6 lineto
-258.1 90.6 lineto
-254.9 93.1 lineto
-250.5 95.6 lineto
-248 99.4 lineto
-246.1 106.3 lineto
-249.3 108.8 lineto
-252.4 114.5 lineto
-249.3 118.3 lineto
-248.6 123.3 lineto
-251.8 125.8 lineto
-254.3 132.1 lineto
-251.8 135.3 lineto
-251.8 138.4 lineto
-256.2 137.8 lineto
-257.5 142.2 lineto
-260.6 144.7 lineto
-265.6 146 lineto
-268.2 149.1 lineto
-268.2 153.6 lineto
-265.6 158.6 lineto
-269.4 156.7 lineto
-273.2 157.3 lineto
-276.4 159.2 lineto
-277 164.3 lineto
-280.1 171.2 lineto
-279.5 167.4 lineto
-279.5 164.9 lineto
-282 169.9 lineto
-284.5 174.3 lineto
-284.5 180.6 lineto
-285.8 185 lineto
-289.6 188.8 lineto
-294 191.3 lineto
-299.7 193.2 lineto
-301.6 198.3 lineto
-305.3 204.6 lineto
-304.7 211.5 lineto
-305.3 219.1 lineto
-309.7 226 lineto
-312.3 231.7 lineto
-314.2 238.6 lineto
-311 243 lineto
-306.6 243.6 lineto
-304.7 247.4 lineto
-299.7 248.7 lineto
-294.6 249.9 lineto
-291.5 248.7 lineto
-289.6 251.8 lineto
-285.8 252.5 lineto
-283.3 253.7 lineto
-280.1 251.8 lineto
-280.1 256.2 lineto
-275.7 253.7 lineto
-273.8 251.8 lineto
-273.2 255 lineto
-275.7 258.8 lineto
-275.1 262.5 lineto
-271.9 266.9 lineto
-268.8 270.7 lineto
-265 272 lineto
-259.3 272.6 lineto
-253.7 276.4 lineto
-249.3 280.2 lineto
-243.6 282.7 lineto
-237.9 284 lineto
-232.3 284.6 lineto
-227.8 287.1 lineto
-223.4 288.4 lineto
-220.3 285.2 lineto
-216.5 282.7 lineto
-214 278.9 lineto
-210.8 277 lineto
-207.7 274.5 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-210.8 305.1 moveto
-210.8 305.6 211.8 306 213 306 curveto
-214.2 306 215.2 305.6 215.2 305.1 curveto
-215.2 304.6 214.2 304.2 213 304.2 curveto
-211.8 304.2 210.8 304.6 210.8 305.1 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-237.8 305.7 moveto
-237.8 306.2 238.4 306.7 239.1 306.7 curveto
-239.8 306.7 240.4 306.2 240.4 305.7 curveto
-240.4 305.2 239.8 304.8 239.1 304.8 curveto
-238.4 304.8 237.8 305.2 237.8 305.7 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-513.2 226 moveto
-516.4 223.5 lineto
-518.3 219.1 lineto
-517 215.3 lineto
-515.1 212.8 lineto
-514.5 208.4 lineto
-512.6 203.9 lineto
-510.7 197.6 lineto
-510.1 192.6 lineto
-506.9 188.8 lineto
-501.9 190.1 lineto
-500.6 195.8 lineto
-500 200.2 lineto
-503.2 204.6 lineto
-503.2 209.6 lineto
-503.8 214.7 lineto
-508.8 216.5 lineto
-512 221.6 lineto
-513.2 226 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-384.1 362.1 moveto
-380.9 364.6 lineto
-377.2 365.2 lineto
-375.9 368.4 lineto
-375.3 371.5 lineto
-377.8 377.2 lineto
-377.2 381.6 lineto
-375.9 383.5 lineto
-380.3 384.8 lineto
-386 384.1 lineto
-391 384.1 lineto
-394.2 386.6 lineto
-394.2 391.7 lineto
-391 396.1 lineto
-387.2 399.9 lineto
-391 401.1 lineto
-393.5 404.9 lineto
-396.1 403.7 lineto
-398.6 404.9 lineto
-402.4 407.4 lineto
-406.1 409.3 lineto
-406.8 413.1 lineto
-409.9 415 lineto
-411.8 417.5 lineto
-416.2 417.5 lineto
-416.8 421.3 lineto
-415 425.1 lineto
-415.6 428.9 lineto
-418.1 428.9 lineto
-420.6 427 lineto
-418.7 423.8 lineto
-420 420.7 lineto
-425 420 lineto
-429.4 418.8 lineto
-433.9 420.7 lineto
-438.9 421.3 lineto
-442 423.8 lineto
-442.7 428.2 lineto
-443.9 432 lineto
-447.7 430.1 lineto
-448.3 433.9 lineto
-449.6 437 lineto
-453.4 437.7 lineto
-457.8 438.9 lineto
-460.9 440.8 lineto
-457.2 442.1 lineto
-452.1 442.1 lineto
-449.6 440.2 lineto
-445.2 441.5 lineto
-442.7 444.6 lineto
-441.4 449 lineto
-441.4 452.8 lineto
-444.6 453.4 lineto
-446.5 456.6 lineto
-449.6 460.4 lineto
-448.3 463.5 lineto
-443.9 462.9 lineto
-441.4 460.4 lineto
-438.9 455.9 lineto
-435.7 452.2 lineto
-433.2 448.4 lineto
-433.9 443.3 lineto
-436.4 440.8 lineto
-433.9 439.6 lineto
-435.1 437 lineto
-433.2 433.3 lineto
-432 428.9 lineto
-427.6 426.3 lineto
-424.4 426.3 lineto
-422.5 431.4 lineto
-421.9 436.4 lineto
-419.4 440.8 lineto
-417.5 437.7 lineto
-414.3 435.2 lineto
-411.8 433.9 lineto
-408.7 437 lineto
-408.7 440.8 lineto
-407.4 445.9 lineto
-410.5 450.9 lineto
-414.3 453.4 lineto
-420 459.1 lineto
-423.1 462.9 lineto
-425 467.9 lineto
-428.2 471.1 lineto
-432 475.5 lineto
-437 479.3 lineto
-441.4 483 lineto
-444.6 481.8 lineto
-447.7 486.2 lineto
-449 483 lineto
-451.5 484.9 lineto
-455.3 485.6 lineto
-459.7 484.9 lineto
-457.2 481.8 lineto
-460.3 479.9 lineto
-464.7 478.6 lineto
-468.5 478 lineto
-472.9 476.1 lineto
-478 473.6 lineto
-481.7 471.7 lineto
-482.4 467.9 lineto
-479.2 465.4 lineto
-474.2 465.4 lineto
-471 467.9 lineto
-465.4 468.5 lineto
-467.2 465.4 lineto
-469.8 462.2 lineto
-471 458.5 lineto
-475.4 455.9 lineto
-473.5 459.7 lineto
-476.7 461 lineto
-481.1 459.7 lineto
-482.4 463.5 lineto
-486.1 466 lineto
-488.7 469.2 lineto
-487.4 474.2 lineto
-486.1 477.4 lineto
-490.6 476.1 lineto
-492.4 473.6 lineto
-491.2 470.4 lineto
-493.7 467.3 lineto
-496.2 470.4 lineto
-500.6 473 lineto
-505.7 475.5 lineto
-508.8 473.6 lineto
-512.6 475.5 lineto
-517 476.7 lineto
-520.8 475.5 lineto
-522.1 479.3 lineto
-525.2 480.5 lineto
-529 478 lineto
-532.1 476.1 lineto
-536.5 473.6 lineto
-518.9 408.7 lineto
-503.2 404.9 lineto
-505 392.9 lineto
-501.9 390.4 lineto
-500.6 386.6 lineto
-502.5 383.5 lineto
-505 380.3 lineto
-488.7 377.2 lineto
-488.7 380.3 lineto
-485.5 384.1 lineto
-483 386.6 lineto
-479.8 388.5 lineto
-480.5 391.7 lineto
-482.4 395.5 lineto
-478.6 394.8 lineto
-474.8 394.8 lineto
-472.9 392.9 lineto
-474.8 391.7 lineto
-476.1 389.8 lineto
-473.5 388.5 lineto
-471 387.9 lineto
-468.5 390.4 lineto
-470.4 392.9 lineto
-467.2 393.6 lineto
-465.4 396.1 lineto
-462.2 393.6 lineto
-460.9 389.2 lineto
-459.1 385.4 lineto
-457.2 382.9 lineto
-458.4 379.7 lineto
-459.1 377.2 lineto
-455.9 375.9 lineto
-450.9 375.3 lineto
-448.3 372.8 lineto
-447.7 370.3 lineto
-449.6 368.4 lineto
-445.2 369 lineto
-442 372.2 lineto
-440.2 375.9 lineto
-438.3 380.3 lineto
-433.9 384.1 lineto
-429.4 387.9 lineto
-426.9 391.1 lineto
-423.1 392.3 lineto
-422.5 389.2 lineto
-425.7 385.4 lineto
-428.8 381 lineto
-432.6 378.5 lineto
-435.1 376.6 lineto
-437.6 372.8 lineto
-434.5 374.7 lineto
-434.5 372.2 lineto
-434.5 369 lineto
-431.3 367.1 lineto
-431.3 371.5 lineto
-427.6 375.9 lineto
-424.4 379.7 lineto
-420.6 382.2 lineto
-419.4 385.4 lineto
-416.8 387.3 lineto
-412.4 386 lineto
-409.3 384.8 lineto
-404.9 384.8 lineto
-402.4 381.6 lineto
-401.1 377.8 lineto
-397.3 376.6 lineto
-396.1 373.4 lineto
-395.4 370.3 lineto
-392.9 367.7 lineto
-391 365.2 lineto
-387.2 363.3 lineto
-384.1 362.1 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-377.2 423.8 moveto
-379.7 422.6 lineto
-377.8 423.2 lineto
-375.9 420.7 lineto
-373.4 420 lineto
-373.4 417.5 lineto
-374.6 415.6 lineto
-372.7 413.7 lineto
-373.4 410.6 lineto
-375.9 411.8 lineto
-379.7 412.5 lineto
-382.2 412.5 lineto
-382.2 416.3 lineto
-382.8 420 lineto
-377.2 423.8 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-415.6 370.9 moveto
-415 374 lineto
-415.6 376.6 lineto
-418.1 376.6 lineto
-418.7 374 lineto
-415.6 370.9 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-416.2 382.9 moveto
-416.2 382.2 lineto
-415 379.7 lineto
-416.2 382.9 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-504.4 493.7 moveto
-505.6 494 506.7 493.4 507.6 492.5 curveto
-508.3 491.8 508.5 490.9 508.8 490 curveto
-509.3 488.7 509.5 487.5 510.1 486.2 curveto
-510.9 484.4 514.4 483.4 513.2 481.8 curveto
-512.1 480.3 509.8 482.1 508.2 483 curveto
-506.8 483.8 506.4 485.4 505 486.2 curveto
-503.6 487 501 485.7 500.6 487.4 curveto
-500.3 488.8 501.9 489.5 502.5 490.6 curveto
-503.1 491.7 503.1 493.3 504.4 493.7 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-532.8 509.5 moveto
-531.4 510.7 529.5 509.8 527.7 509.5 curveto
-525.8 509.2 524.6 508 522.7 507.6 curveto
-520.6 507.1 519 507.7 517 507 curveto
-515.5 506.5 514.6 505.2 513.2 504.5 curveto
-511.7 503.7 509.8 504.1 508.8 502.6 curveto
-508.1 501.5 508.7 500 508.2 498.8 curveto
-507.8 497.8 506.3 497.5 506.3 496.3 curveto
-506.3 494.6 509 494.8 510.7 495 curveto
-512.4 495.2 513.5 496.3 514.5 497.5 curveto
-515.5 498.7 515.3 500.2 516.4 501.3 curveto
-517.6 502.5 519.2 502.6 520.8 503.2 curveto
-523 504.1 524.4 504.7 526.5 505.7 curveto
-528.9 506.9 534.9 507.7 532.8 509.5 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-447.7 367.7 moveto
-448.8 367.7 450.2 367 450.2 365.9 curveto
-450.2 364.5 448.5 363.7 447.1 364 curveto
-446.1 364.2 445.2 364.9 445.2 365.9 curveto
-445.2 367 446.6 367.7 447.7 367.7 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-536.5 473.6 moveto
-518.9 408.7 lineto
-503.2 404.9 lineto
-505 392.9 lineto
-501.9 390.4 lineto
-500.6 386.6 lineto
-502.5 383.5 lineto
-505 380.3 lineto
-488.7 377.2 lineto
-486.8 375.3 lineto
-483 376.6 lineto
-478 377.8 lineto
-474.8 379.1 lineto
-471.7 378.5 lineto
-466.6 377.2 lineto
-462.2 375.9 lineto
-459.7 374 lineto
-455.9 371.5 lineto
-457.8 369 lineto
-457.2 365.2 lineto
-460.3 362.1 lineto
-463.5 360.8 lineto
-467.2 362.7 lineto
-469.8 361.4 lineto
-471.7 362.7 lineto
-474.2 361.4 lineto
-479.2 362.7 lineto
-478 357.7 lineto
-477.3 352 lineto
-476.1 347.6 lineto
-474.2 345.7 lineto
-471.7 347 lineto
-471 347.6 lineto
-471.7 343.8 lineto
-474.2 340 lineto
-476.7 335.6 lineto
-478 341.9 lineto
-479.2 337.5 lineto
-482.4 331.8 lineto
-486.1 324.3 lineto
-489.3 320.5 lineto
-489.3 316.7 lineto
-492.4 312.3 lineto
-496.9 306.6 lineto
-498.1 302.2 lineto
-498.1 299.1 lineto
-500 297.2 lineto
-501.3 294 lineto
-505.7 296.6 lineto
-510.7 298.4 lineto
-516.4 301 lineto
-521.4 304.7 lineto
-526.5 306.6 lineto
-530.2 310.4 lineto
-533.4 315.5 lineto
-536.5 319.9 lineto
-535.3 324.9 lineto
-530.2 324.9 lineto
-528.4 331.2 lineto
-525.8 327.4 lineto
-521.4 326.8 lineto
-517.6 328.7 lineto
-513.2 331.8 lineto
-509.5 336.2 lineto
-507.6 340.7 lineto
-505.7 344.4 lineto
-508.8 345.7 lineto
-512 343.2 lineto
-515.1 340 lineto
-517.6 336.9 lineto
-521.4 335.6 lineto
-526.5 335 lineto
-530.2 333.7 lineto
-531.5 330.6 lineto
-535.3 328.7 lineto
-541.6 328.7 lineto
-546.6 329.9 lineto
-551.7 329.3 lineto
-554.2 325.5 lineto
-558.6 323 lineto
-560.5 319.9 lineto
-563.6 317.3 lineto
-567.4 318.6 lineto
-567.4 313.6 lineto
-568.7 309.2 lineto
-569.3 304.7 lineto
-569.3 300.3 lineto
-571.2 295.9 lineto
-573.7 292.1 lineto
-573.7 287.7 lineto
-576.2 285.2 lineto
-576.9 281.4 lineto
-580 278.9 lineto
-582.5 282.1 lineto
-584.4 285.2 lineto
-583.8 289.6 lineto
-585.7 294 lineto
-585.7 300.3 lineto
-589.5 303.5 lineto
-592.6 306.6 lineto
-596.4 310.4 lineto
-599.5 314.2 lineto
-600.2 316.7 lineto
-604 318 lineto
-606.5 318 lineto
-607.7 322.4 lineto
-610.3 319.2 lineto
-612.8 314.2 lineto
-615.9 311.7 lineto
-618.4 307.3 lineto
-618.4 301.6 lineto
-622.2 301.6 lineto
-624.7 303.5 lineto
-627.3 300.3 lineto
-627.3 295.9 lineto
-627.3 292.8 lineto
-629.2 287.7 lineto
-628.5 284 lineto
-627.9 279.5 lineto
-630.4 277.7 lineto
-632.3 273.2 lineto
-632.3 268.8 lineto
-634.8 263.8 lineto
-638.6 261.9 lineto
-644.3 259.4 lineto
-641.1 265.7 lineto
-638.6 271.4 lineto
-636.1 275.1 lineto
-632.9 278.9 lineto
-631 282.7 lineto
-631 288.4 lineto
-632.3 295.3 lineto
-635.5 292.1 lineto
-639.9 290.3 lineto
-640.5 287.1 lineto
-644.3 284.6 lineto
-644.9 280.8 lineto
-648.1 283.3 lineto
-651.2 286.5 lineto
-653.7 292.1 lineto
-653.7 297.8 lineto
-650.6 304.1 lineto
-646.8 307.9 lineto
-643 311.7 lineto
-644.3 316.7 lineto
-647.4 318 lineto
-651.2 318.6 lineto
-652.5 315.5 lineto
-655.6 318 lineto
-660 320.5 lineto
-665.7 321.1 lineto
-668.8 324.3 lineto
-672 328.7 lineto
-674.5 335.6 lineto
-676.4 341.3 lineto
-675.1 347.6 lineto
-672.6 352.6 lineto
-669.5 358.3 lineto
-672.6 362.7 lineto
-675.8 366.5 lineto
-672 367.1 lineto
-669.5 365.9 lineto
-666.3 367.1 lineto
-664.4 370.9 lineto
-667 372.8 lineto
-672 377.2 lineto
-673.9 375.3 lineto
-672 371.5 lineto
-675.1 371.5 lineto
-678.3 373.4 lineto
-682.1 372.2 lineto
-682.7 369 lineto
-683.3 365.9 lineto
-685.9 362.7 lineto
-687.1 358.9 lineto
-687.1 354.5 lineto
-690.9 356.4 lineto
-693.4 360.2 lineto
-691.5 365.9 lineto
-689 370.3 lineto
-687.7 374 lineto
-691.5 377.2 lineto
-691.5 382.9 lineto
-696.6 383.5 lineto
-701.6 386.6 lineto
-704.1 391.7 lineto
-706 398 lineto
-706.6 403 lineto
-707.3 408.1 lineto
-706.6 413.7 lineto
-704.1 418.8 lineto
-701 420.7 lineto
-699.1 418.8 lineto
-695.9 421.3 lineto
-693.4 422.6 lineto
-696.6 427.6 lineto
-699.1 432 lineto
-703.5 437 lineto
-707.9 438.3 lineto
-712.9 437.7 lineto
-716.7 438.3 lineto
-719.2 439.6 lineto
-722.4 438.9 lineto
-723 436.4 lineto
-726.8 437.7 lineto
-729.3 437 lineto
-731.8 438.3 lineto
-730 441.5 lineto
-730.6 445.9 lineto
-736.9 447.8 lineto
-737.5 444.6 lineto
-740.7 444.6 lineto
-743.2 447.1 lineto
-744.4 449.6 lineto
-747 450.3 lineto
-746.3 446.5 lineto
-743.8 442.7 lineto
-743.2 438.9 lineto
-740.7 435.8 lineto
-737.5 432 lineto
-735 427.6 lineto
-736.9 423.2 lineto
-738.1 418.8 lineto
-738.8 415 lineto
-743.2 409.3 lineto
-745.7 414.4 lineto
-747.6 416.9 lineto
-747.6 420 lineto
-750.1 421.3 lineto
-749.5 425.1 lineto
-752 428.2 lineto
-749.5 431.4 lineto
-747.6 434.5 lineto
-749.5 439.6 lineto
-752.6 442.7 lineto
-754.5 440.2 lineto
-758.3 442.1 lineto
-762.7 440.2 lineto
-764 445.9 lineto
-768.4 447.8 lineto
-773.4 449.6 lineto
-777.2 450.3 lineto
-773.4 453.4 lineto
-769.6 457.2 lineto
-772.8 459.1 lineto
-772.8 462.2 lineto
-775.3 464.1 lineto
-776.6 461 lineto
-781 460.4 lineto
-784.1 458.5 lineto
-787.9 456.6 lineto
-791.7 456.6 lineto
-789.2 460.4 lineto
-793 461 lineto
-794.2 463.5 lineto
-790.4 466 lineto
-786.7 467.9 lineto
-784.1 465.4 lineto
-780.4 468.5 lineto
-775.9 471.7 lineto
-769 474.2 lineto
-762.1 477.4 lineto
-755.8 479.9 lineto
-751.4 480.5 lineto
-746.3 479.9 lineto
-748.2 476.1 lineto
-745.1 476.1 lineto
-741.9 476.1 lineto
-740 479.3 lineto
-735 478.6 lineto
-730 479.3 lineto
-727.4 476.7 lineto
-723.7 479.3 lineto
-720.5 483 lineto
-714.8 483.7 lineto
-709.2 483.7 lineto
-703.5 485.6 lineto
-699.1 486.8 lineto
-697.2 489.3 lineto
-693.4 489.3 lineto
-690.3 488.1 lineto
-687.7 489.3 lineto
-689 491.2 lineto
-684 491.9 lineto
-678.9 491.2 lineto
-678.9 488.1 lineto
-674.5 486.2 lineto
-668.8 486.8 lineto
-663.8 488.1 lineto
-661.3 485.6 lineto
-658.1 487.4 lineto
-653.7 489.3 lineto
-655 492.5 lineto
-653.7 495 lineto
-648.7 496.9 lineto
-644.3 496.9 lineto
-645.5 493.7 lineto
-644.9 491.2 lineto
-640.5 492.5 lineto
-635.5 493.1 lineto
-632.3 495.6 lineto
-626.6 495.6 lineto
-621.6 495 lineto
-617.2 496.3 lineto
-614.7 493.7 lineto
-607.1 490.6 lineto
-609.6 494.4 lineto
-613.4 497.5 lineto
-617.2 499.4 lineto
-619.7 503.2 lineto
-619.7 507 lineto
-616.6 508.9 lineto
-612.8 511.4 lineto
-607.7 509.5 lineto
-604.6 512 lineto
-601.4 514.5 lineto
-597 512.6 lineto
-598.3 509.5 lineto
-595.1 508.9 lineto
-592 509.5 lineto
-593.2 507 lineto
-588.2 506.3 lineto
-583.8 507.6 lineto
-579.4 507 lineto
-579.4 503.2 lineto
-574.3 503.8 lineto
-569.9 502.6 lineto
-568 500 lineto
-570.6 496.9 lineto
-567.4 495.6 lineto
-564.9 494.4 lineto
-561.7 496.3 lineto
-559.2 494.4 lineto
-561.1 491.9 lineto
-564.3 489.3 lineto
-567.4 485.6 lineto
-566.8 481.8 lineto
-564.3 483 lineto
-563 486.2 lineto
-560.5 488.7 lineto
-557.3 490.6 lineto
-556.1 488.1 lineto
-552.9 488.7 lineto
-554.8 484.9 lineto
-551.7 485.6 lineto
-549.8 488.7 lineto
-547.9 491.9 lineto
-547.3 488.1 lineto
-546 484.9 lineto
-548.5 482.4 lineto
-547.9 479.3 lineto
-551 476.7 lineto
-554.8 476.1 lineto
-558 471.1 lineto
-555.4 471.7 lineto
-552.9 474.2 lineto
-551 473 lineto
-550.4 468.5 lineto
-547.9 465.4 lineto
-542.8 464.1 lineto
-541.6 466.7 lineto
-544.7 468.5 lineto
-546.6 472.3 lineto
-546.6 476.1 lineto
-545.4 481.1 lineto
-542.8 485.6 lineto
-542.8 492.5 lineto
-539.1 493.1 lineto
-537.2 490 lineto
-534.7 486.2 lineto
-533.4 483.7 lineto
-535.3 479.9 lineto
-537.8 477.4 lineto
-539.7 473.6 lineto
-536.5 473.6 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-670.1 503.8 moveto
-670.1 505 671 505.9 672 506.3 curveto
-673.2 506.8 674.4 505.6 675.8 505.7 curveto
-677.3 505.8 678.1 507 679.6 507 curveto
-681.6 507 685.1 507.1 684.6 505.1 curveto
-684.3 503.7 682.6 503.8 681.4 503.2 curveto
-679.8 502.3 678.9 501 677 500.7 curveto
-675.3 500.5 674.1 500.5 672.6 501.3 curveto
-671.5 501.8 670.1 502.5 670.1 503.8 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-679.6 494.4 moveto
-679.5 495.9 680.6 497.4 682.1 497.5 curveto
-683.6 497.6 685.1 496.5 685.2 495 curveto
-685.4 492.9 679.8 492.3 679.6 494.4 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-vmrs
-0 sf
-newpath
-689 503.2 moveto
-690 504.4 691.8 503.4 693.4 503.2 curveto
-695 503 697.8 503.6 697.8 501.9 curveto
-697.8 500.3 695.6 500 694 500 curveto
-691.7 500 687.5 501.5 689 503.2 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-761.5 483 moveto
-760.8 484.1 762.1 485.5 763.3 486.2 curveto
-764.5 486.9 765.8 486.6 767.1 486.2 curveto
-768.2 485.8 769.5 485.5 769.6 484.3 curveto
-769.8 482.6 766.8 483.9 765.2 483.7 curveto
-763.9 483.5 762.2 481.9 761.5 483 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-709.2 419.4 moveto
-708.5 419 708.6 417.8 708.5 416.9 curveto
-708.3 415 708.9 413.6 709.2 411.8 curveto
-709.6 409.4 710.7 407.9 711.1 405.5 curveto
-711.4 403.7 711.4 402.3 711.7 400.5 curveto
-712.2 397.5 711.5 391.4 714.2 392.9 curveto
-715.2 393.4 715.9 394.4 716.1 395.5 curveto
-716.4 397.2 714.2 398.1 714.2 399.9 curveto
-714.2 400.8 714.1 402.1 714.8 402.4 curveto
-715.8 402.9 716.2 400.2 717.4 400.5 curveto
-718.8 400.9 717.9 403 717.4 404.3 curveto
-716.8 405.9 715.1 406 714.2 407.4 curveto
-713.1 409.1 712.7 410.5 712.3 412.5 curveto
-712 413.8 712.2 415.1 711.7 416.3 curveto
-711.2 417.6 710.4 420.2 709.2 419.4 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-713.6 389.8 moveto
-712.4 389.1 712.8 387.4 712.9 386 curveto
-713.1 383.9 714.5 382.9 716.1 381.6 curveto
-717.1 380.8 717.8 379.7 719.2 379.7 curveto
-720.4 379.7 721 380.9 721.8 381.6 curveto
-723.2 382.9 726.1 384.4 724.9 386 curveto
-723.9 387.3 722.1 385.9 720.5 386 curveto
-719.4 386.1 718.5 386.2 717.4 386.6 curveto
-715.7 387.2 715.2 390.7 713.6 389.8 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-715.5 377.8 moveto
-714 377.8 713.4 376.1 712.9 374.7 curveto
-712.4 373.2 712.9 372 712.9 370.3 curveto
-712.9 369.1 713.1 368.2 712.9 367.1 curveto
-712.6 365.9 712.2 364.5 711.1 364 curveto
-710.1 363.5 708.9 364.6 707.9 364 curveto
-707 363.4 707.2 362.2 706.6 361.4 curveto
-706 360.6 705 360 704.1 359.6 curveto
-702.8 359 701.6 359 700.3 358.3 curveto
-699 357.6 696.7 357.2 697.2 355.8 curveto
-697.5 354.9 698.7 354.5 699.7 354.5 curveto
-701.2 354.5 701.5 356.7 702.9 357 curveto
-703.7 357.2 704.7 357.4 705.4 357 curveto
-706.6 356.4 704.8 353.9 706 353.3 curveto
-706.7 352.9 707.8 352.9 708.5 353.3 curveto
-709.7 353.9 708.3 356 709.2 357 curveto
-710.3 358.2 712 357.4 713.6 357.7 curveto
-715 358 716.6 357.7 717.4 358.9 curveto
-718.3 360.3 716.7 361.6 716.7 363.3 curveto
-716.7 364.7 717.1 365.8 717.4 367.1 curveto
-717.7 368.3 718.6 369 718.6 370.3 curveto
-718.6 371.7 717.8 372.8 717.4 374 curveto
-716.9 375.4 717.1 377.8 715.5 377.8 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-694.7 353.3 moveto
-695.4 353.8 696.3 354.1 697.2 353.9 curveto
-698.4 353.6 698.7 352.5 699.1 351.4 curveto
-699.8 349.4 700.7 346.2 698.5 345.7 curveto
-696.8 345.3 695.4 346.8 694.7 348.2 curveto
-693.8 349.8 693.2 352.2 694.7 353.3 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-677 329.3 moveto
-675.3 329.1 676.5 326.6 676.4 324.9 curveto
-676.4 323.5 675.1 321.6 676.4 321.1 curveto
-677.8 320.6 678.4 323 678.9 324.3 curveto
-679.3 325.4 680 326.3 679.6 327.4 curveto
-679.2 328.5 678.2 329.4 677 329.3 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-651.8 314.8 moveto
-650.5 315.3 649.1 314.2 648.7 312.9 curveto
-648.3 311.8 648.5 310.7 649.3 309.8 curveto
-650.2 308.8 652.3 308.2 653.1 309.2 curveto
-653.8 310.1 653.3 311.2 653.1 312.3 curveto
-652.9 313.2 652.7 314.5 651.8 314.8 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-677.7 310.4 moveto
-676.5 309.7 678 307.9 677.7 306.6 curveto
-677.4 305.3 675.8 304.9 675.8 303.5 curveto
-675.8 302.1 676.9 301.3 677.7 300.3 curveto
-678.6 299.2 679.6 298.5 680.8 297.8 curveto
-682.3 296.9 683.6 296.5 685.2 295.9 curveto
-686.4 295.5 687.5 293.8 688.4 294.7 curveto
-689.4 295.7 687.4 296.8 686.5 297.8 curveto
-685.3 299.1 682.8 298.6 682.1 300.3 curveto
-681.5 301.8 682.6 303.1 682.7 304.7 curveto
-682.9 306.8 685.2 309.4 683.3 310.4 curveto
-682.3 310.9 681.4 310.4 680.2 310.4 curveto
-679.3 310.4 678.4 310.8 677.7 310.4 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-671.4 282.7 moveto
-671 284.2 672.5 285.2 673.3 286.5 curveto
-673.8 287.4 674 289 675.1 289 curveto
-676.4 289 676.5 287.1 676.4 285.8 curveto
-676.3 283.6 672 280.6 671.4 282.7 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-683.3 279.5 moveto
-682.6 280.6 684 282.2 685.2 282.7 curveto
-686.4 283.2 687.8 281.6 689 282.1 curveto
-690 282.5 689.7 284.4 690.9 284.6 curveto
-691.9 284.7 692.8 284 693.4 283.3 curveto
-694.4 282.1 695.2 280.1 694 278.9 curveto
-693.2 278.1 691.7 279.1 690.9 278.3 curveto
-689.7 277.1 693.1 274.5 691.5 273.9 curveto
-690.2 273.5 689.1 274.7 688.4 275.8 curveto
-688 276.5 687.9 277.5 687.7 278.3 curveto
-687.5 279.1 687.7 280.3 687.1 280.8 curveto
-686 281.8 684 278.3 683.3 279.5 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-593.2 516.4 moveto
-592.6 517.5 594.2 518.4 594.5 519.6 curveto
-594.8 520.7 594.1 522.1 595.1 522.7 curveto
-596.2 523.3 597.2 522 598.3 521.5 curveto
-600.3 520.6 605 519.8 603.3 518.3 curveto
-602.4 517.5 601.3 518 600.2 517.7 curveto
-598.7 517.3 598 515.9 596.4 515.8 curveto
-595.2 515.7 593.8 515.4 593.2 516.4 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-591.4 524.6 moveto
-590.7 525.7 588.9 523.7 587.6 524 curveto
-586.9 524.2 586.4 525 585.7 525.2 curveto
-584.2 525.8 582.7 526.1 581.3 525.2 curveto
-580.2 524.5 579.1 523.5 579.4 522.1 curveto
-579.8 520.2 582.6 522.5 584.4 522.1 curveto
-585.6 521.9 586.5 521.2 587.6 520.8 curveto
-589 520.2 590.2 517.8 591.4 518.9 curveto
-592.3 519.7 591.4 520.9 591.4 522.1 curveto
-591.4 523 591.8 523.9 591.4 524.6 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-574.3 527.8 moveto
-574.7 529.2 576.2 529.8 577.5 530.3 curveto
-579 530.9 580.2 531.1 581.9 530.9 curveto
-583.5 530.7 585.7 530.6 585.7 529 curveto
-585.7 527.3 582.9 528 581.3 527.8 curveto
-578.7 527.4 573.5 525.2 574.3 527.8 curveto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-505 380.3 moveto
-505.7 379.2 506.6 378.5 506.9 377.2 curveto
-507.2 375.9 507 374.8 506.9 373.4 curveto
-506.8 372 506.1 371 506.3 369.6 curveto
-506.5 368.1 506.9 366.6 508.2 365.9 curveto
-509.4 365.3 510.8 366.4 512 365.9 curveto
-513.2 365.4 513.3 363.8 514.5 363.3 curveto
-516 362.6 517.6 362.3 518.9 363.3 curveto
-519.7 363.9 520.2 364.8 520.2 365.9 curveto
-520.2 367.7 517.4 367.9 517 369.6 curveto
-516.7 370.7 517.3 371.7 517 372.8 curveto
-516.7 373.9 515 374.1 515.1 375.3 curveto
-515.2 376.8 518.2 375.3 518.9 376.6 curveto
-519.7 378.2 518.8 381.3 517 381 curveto
-515.8 380.8 516.3 378.7 515.1 378.5 curveto
-513.3 378.2 514.5 381.7 513.2 382.9 curveto
-512.7 383.3 511.9 383.7 511.3 384.1 curveto
-510.6 384.6 509.8 385.1 509.5 386 curveto
-509 387.3 509 389.1 510.1 389.8 curveto
-511.1 390.5 512.1 389.4 513.2 389.8 curveto
-514.1 390.1 514.9 390.8 515.1 391.7 curveto
-515.5 393.3 514.1 394.8 512.6 395.5 curveto
-511.4 396 510.1 395.8 508.8 395.5 curveto
-507.2 395.1 506.2 394 505 392.9 curveto
-504.8 392.8 504.6 392.4 504.4 392.3 curveto
-503.6 391.6 501.9 390.4 501.9 390.4 curveto
-501.9 390.4 lineto
-500.6 386.6 lineto
-499.7 383.9 503.5 382.7 505 380.3 curveto
-closepath
-gsave
-[0 0 0 0.1]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-621 272.6 moveto
-624.7 268.2 lineto
-628.5 264.4 lineto
-631.7 258.8 lineto
-634.2 251.8 lineto
-638 247.4 lineto
-643.6 241.1 lineto
-646.8 244.9 lineto
-644.9 249.9 lineto
-641.1 255 lineto
-636.7 260 lineto
-632.9 263.2 lineto
-629.8 266.9 lineto
-626 270.1 lineto
-621 272.6 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-655 255.6 moveto
-654.4 261.9 lineto
-658.8 263.8 lineto
-661.3 266.3 lineto
-665.7 270.1 lineto
-670.1 273.9 lineto
-673.3 276.4 lineto
-674.5 273.2 lineto
-677 271.4 lineto
-673.9 269.5 lineto
-673.9 265.1 lineto
-677 261.9 lineto
-674.5 259.4 lineto
-673.3 255.6 lineto
-672.6 251.8 lineto
-668.2 247.4 lineto
-665.7 249.9 lineto
-661.3 249.3 lineto
-657.5 250.6 lineto
-655 255.6 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-692.2 263.8 moveto
-689 261.3 lineto
-685.2 262.5 lineto
-681.4 261.9 lineto
-678.9 258.1 lineto
-678.3 253.7 lineto
-676.4 250.6 lineto
-677.7 247.4 lineto
-677.7 241.7 lineto
-680.2 244.3 lineto
-680.8 248 lineto
-681.4 251.2 lineto
-683.3 248.7 lineto
-683.3 244.9 lineto
-685.9 246.8 lineto
-684 253.1 lineto
-687.1 255.6 lineto
-682.7 255.6 lineto
-682.7 258.8 lineto
-685.9 259.4 lineto
-689 258.8 lineto
-692.2 263.8 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-697.2 263.8 moveto
-697.2 263.8 lineto
-696.6 260 lineto
-698.5 257.5 lineto
-700.3 259.4 lineto
-697.2 263.8 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-697.8 249.3 moveto
-700.3 251.2 lineto
-704.1 249.9 lineto
-701 248.7 lineto
-697.8 249.3 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-vmrs
-0 sf
-newpath
-694 235.4 moveto
-691.5 234.2 lineto
-687.7 232.3 lineto
-689.6 229.8 lineto
-693.4 232.9 lineto
-694 235.4 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-646.2 240.5 moveto
-649.3 242.4 lineto
-653.7 241.1 lineto
-658.8 241.1 lineto
-661.9 238.6 lineto
-667 236.1 lineto
-663.2 235.4 lineto
-658.1 236.1 lineto
-654.4 237.3 lineto
-649.9 238.6 lineto
-646.2 240.5 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-678.3 236.1 moveto
-681.4 236.7 lineto
-687.1 236.7 lineto
-684 234.8 lineto
-678.3 236.1 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-680.8 230.4 moveto
-678.9 231.7 lineto
-680.8 232.9 lineto
-680.8 230.4 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-673.9 236.7 moveto
-676.4 234.8 lineto
-672.6 234.2 lineto
-673.9 236.7 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-704.8 258.8 moveto
-709.8 258.1 lineto
-714.2 256.9 lineto
-714.8 253.1 lineto
-716.7 251.2 lineto
-721.1 252.5 lineto
-723.7 254.3 lineto
-730 251.2 lineto
-738.1 248.7 lineto
-741.3 244.9 lineto
-745.1 241.7 lineto
-744.4 238.6 lineto
-747 235.4 lineto
-752 232.3 lineto
-752 231.7 lineto
-746.3 232.3 lineto
-747 231.7 lineto
-743.2 233.6 lineto
-741.3 236.7 lineto
-738.8 238.6 lineto
-736.3 236.7 lineto
-736.3 234.2 lineto
-732.5 235.4 lineto
-728.1 235.4 lineto
-725.5 237.3 lineto
-722.4 236.7 lineto
-723 240.5 lineto
-721.1 244.3 lineto
-717.4 247.4 lineto
-713.6 248 lineto
-709.8 248 lineto
-708.5 251.2 lineto
-709.8 253.7 lineto
-706 254.3 lineto
-704.8 258.8 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-748.2 243.6 moveto
-747.6 243.6 lineto
-750.7 245.5 lineto
-753.3 245.5 lineto
-756.4 247.4 lineto
-757 244.3 lineto
-753.3 243.6 lineto
-748.2 243.6 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-661.9 159.9 moveto
-666.3 157.3 lineto
-670.1 159.2 lineto
-674.5 160.5 lineto
-680.8 161.1 lineto
-684 164.3 lineto
-689 166.8 lineto
-695.3 168 lineto
-701 168 lineto
-704.8 164.9 lineto
-707.9 160.5 lineto
-710.4 163 lineto
-713.6 164.3 lineto
-714.2 159.9 lineto
-715.5 156.1 lineto
-718 151.7 lineto
-723 149.1 lineto
-728.1 149.8 lineto
-733.1 148.5 lineto
-735.6 150.4 lineto
-738.8 152.9 lineto
-741.9 154.2 lineto
-741.9 158 lineto
-743.8 161.7 lineto
-746.3 166.8 lineto
-750.1 170.6 lineto
-751.4 175.6 lineto
-752.6 181.9 lineto
-751.4 186.9 lineto
-752 190.7 lineto
-748.9 194.5 lineto
-746.3 198.3 lineto
-743.8 200.2 lineto
-741.9 204.6 lineto
-739.4 207.7 lineto
-738.8 212.8 lineto
-738.1 216.5 lineto
-736.9 219.7 lineto
-734.4 218.4 lineto
-733.7 222.2 lineto
-734.4 226.6 lineto
-731.8 228.5 lineto
-731.8 227.9 lineto
-730.6 222.8 lineto
-731.2 219.1 lineto
-731.2 215.3 lineto
-729.3 212.8 lineto
-726.2 210.2 lineto
-722.4 213.4 lineto
-718 215.9 lineto
-715.5 219.1 lineto
-716.7 222.2 lineto
-718 224.1 lineto
-714.2 225.4 lineto
-709.8 226 lineto
-704.1 224.7 lineto
-701.6 221 lineto
-699.7 217.8 lineto
-695.9 218.4 lineto
-693.4 221 lineto
-690.9 217.8 lineto
-688.4 214 lineto
-684 212.8 lineto
-682.1 209.6 lineto
-679.6 204.6 lineto
-675.1 202.7 lineto
-670.1 201.4 lineto
-666.3 198.9 lineto
-661.9 196.4 lineto
-660 192.6 lineto
-659.4 187.6 lineto
-661.3 183.2 lineto
-659.4 179.4 lineto
-660.7 175 lineto
-662.5 170.6 lineto
-660.7 164.9 lineto
-661.9 159.9 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-735.6 141.6 moveto
-731.2 140.3 lineto
-728.7 139.7 lineto
-728.7 136.5 lineto
-730.6 132.8 lineto
-733.1 135.3 lineto
-735.6 138.4 lineto
-735.6 141.6 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-793 146 moveto
-790.4 141 lineto
-787.3 137.2 lineto
-782.9 134.7 lineto
-779.1 131.5 lineto
-775.9 127.7 lineto
-779.7 126.5 lineto
-782.2 125.2 lineto
-785.4 129.6 lineto
-788.5 134.7 lineto
-792.3 136.5 lineto
-794.2 141 lineto
-796.1 144.1 lineto
-793 146 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-797.4 166.8 moveto
-798 162.4 lineto
-799.9 159.9 lineto
-799.9 156.1 lineto
-796.7 152.3 lineto
-798.6 149.8 lineto
-799.9 147.9 lineto
-798.6 144.1 lineto
-801.8 144.1 lineto
-803.7 149.8 lineto
-806.8 152.9 lineto
-809.3 154.8 lineto
-806.8 156.7 lineto
-804.3 155.4 lineto
-803 158.6 lineto
-801.8 163.6 lineto
-797.4 166.8 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-391.6 406 moveto
-388.1 404.5 lineto
-385.6 404.5 lineto
-381.6 403 lineto
-383.6 407 lineto
-386.6 408.5 lineto
-386.6 410 lineto
-383.6 411 lineto
-385.6 414.5 lineto
-385.6 416 lineto
-388.6 416.5 lineto
-387.1 421 lineto
-384.1 422 lineto
-384.1 424.5 lineto
-385.1 428 lineto
-386.6 430.5 lineto
-388.6 427.5 lineto
-389.1 423 lineto
-391.1 420 lineto
-391.6 416 lineto
-393.6 412.5 lineto
-394.1 408.5 lineto
-391.6 406 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-474.1 358 moveto
-470.6 357 lineto
-469.6 355 lineto
-472.6 355.5 lineto
-474.1 358 lineto
-closepath
-gsave
-[0 0 0 0]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-530.1 390.5 moveto
-527.7 389.6 525.6 386.9 526.6 384.5 curveto
-527.2 383.1 528.6 382.4 530.1 382 curveto
-531.9 381.5 534.4 380.8 535.1 382.5 curveto
-535.6 383.8 534.1 384.6 534.1 386 curveto
-534.1 387.6 536.2 388.6 535.6 390 curveto
-534.8 391.9 532 391.2 530.1 390.5 curveto
-closepath
-gsave
-[0 0 0 0.1]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-222.1 390 moveto
-220.9 390.7 219.9 388.9 218.6 388.5 curveto
-217.3 388.1 216.3 388 215.1 387.5 curveto
-213.7 386.9 211.4 386.6 211.6 385 curveto
-211.8 383.3 214.5 384.3 216.1 384.5 curveto
-217.4 384.7 218.5 385.2 219.6 386 curveto
-221 387.1 223.6 389.1 222.1 390 curveto
-closepath
-gsave
-[0 0 0 0.1]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-207.1 389.5 moveto
-207.6 390.8 206.7 391.8 206.1 393 curveto
-205.4 394.5 204.6 396 203.1 396.5 curveto
-201.9 396.9 200.8 396.8 199.6 396.5 curveto
-198.3 396.2 197.6 395.4 196.6 394.5 curveto
-195.4 393.4 194.6 392.2 194.1 390.5 curveto
-193.7 389.1 192.4 387.3 193.6 386.5 curveto
-194.7 385.8 196.3 386.4 197.1 387.5 curveto
-197.7 388.3 197.3 389.5 197.6 390.5 curveto
-198 391.9 198.3 393.4 199.6 394 curveto
-201.1 394.7 202.7 394.2 204.1 393.5 curveto
-205.7 392.7 206.4 387.8 207.1 389.5 curveto
-closepath
-gsave
-[0 0 0 0.1]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-0 sf
-newpath
-198.6 399.5 moveto
-196.9 399 196.2 401.1 194.6 401.5 curveto
-192.6 402.1 191.1 402.3 189.1 402 curveto
-187.6 401.8 184.7 402.1 185.1 400.5 curveto
-185.3 399.4 186.5 399.1 187.6 399 curveto
-189.2 398.8 190 400.7 191.6 400.5 curveto
-192.4 400.4 193 399.9 193.6 399.5 curveto
-193.9 399.3 194.2 398.7 194.6 398.5 curveto
-195.8 397.8 200.1 400 198.6 399.5 curveto
-closepath
-gsave
-[0 0 0 0.1]setcolor {fill}fp
-grestore
-gsave
-0.4 setlinewidth 0 setlinecap 0 setlinejoin 3.863693 setmiterlimit [0 0 0 1]setcolor {stroke}fp
-grestore
-vmr
-end % FreeHandDict
-%%EndDocument: _
diff --git a/Master/texmf-dist/doc/latex3/xor/xo-README.txt b/Master/texmf-dist/doc/latex3/xor/xo-README.txt
deleted file mode 100644
index 26135c36ebd..00000000000
--- a/Master/texmf-dist/doc/latex3/xor/xo-README.txt
+++ /dev/null
@@ -1,219 +0,0 @@
-%
-% $Id: xo-README.txt,v 1.1 2000/08/11 07:04:34 latex3 Exp $
-%
-%
-
-INTRODUCTION
-============
-
-This directory contains the first prototype implementation of the new
-output routine (OR) for LaTeX2e*.
-
-It is not a finished product, thus it is very likely that using it
-will result in errors or problems.
-
-Especially error recovery is more or less nil, eg, there are a lot of
-places which simply say \ErrorFooBar (which is undefined). So if this
-happens to you, you might have to search in the code to see why this
-is supposed to be a user error.
-
-Nevertheless, I hope that playing around with it will give you some
-idea about how the finished OR might look like and what it will be
-able to do.
-
-Suggestions, comments, ... are welcome, especially on the already
-available functionality or on missing functionality.
-
-enjoy
-Frank
-
-August 2000
-
-
-
-
-
-INSTALLATION
-============
-
-This set of packages builds on the basic packages
-
- templates.sty
- ldcsetup.sty
- xparse.sty
-
-so you need to pick those up from the project web site as well.
-
-To unpack the distribution use one of the three distributed .ins
-files:
-
- xo.ins % unpacks without any tracing code whatsoever
- xoprogress.ins % unpacks with progress information code (recommended)
- xotrace.ins % unpacks with tracing code (for those who like to see
- % what the algorithm really does)
-
-
-DOCUMENTATION
-=============
-
-The sequence
-
- pdflatex xoutput.drv
- makeindex -s gind.ist xoutput
- pdflatex xoutput.drv
-
-will produce a pdf file of roughly 150 pages with the (somewhat)
-documented code --- there is still a lot to do there.
-
-To produce some overview article on the OR run
-
- latex xo-pfloat
-
-three times.
-
-There will be a question asked which you can answer with either
-
- 0 % run with normal latex
- 1 % run using the new OR
-
-
-There is also a sample file for you to play with:
-
- xo-sample.tex
-
-but is is more or less a template file.
-
-There is also the file I used for the examples for my talk at Oxford:
-
- oxford-trial.tex
-
-This file asks for a "trial" number:
-
- 0-8 shows how the algorithm adds float after float to the page
- 9 same as 8 but uses grid layout
- 10 manual float control using an .fpc file
-
-
-
-IMPLEMENTED FEATURES
-====================
-
-Plenty I hope, for important ones see xo-pfloat and of course the
-documented code :-)
-
-
-MISSING FEATURES
-================
-
-Plenty I fear. Here are a few important ones.
-
- - Interface for specifying spanning floats is missing
-
- - Interface for specifying which areas are allowed for a float
-
- - Interface for specifying the look and setup of a float page
-
- - Most of the page layout things like folio, running headers, etc
-
- - More float placement control (what is wanted, needed)
-
- - Balancing of columns, what are the appropriate concepts with
- respect to floats?
-
- - page style concepts: how are page styles changed, how are they
- specified?
-
-
-
-KNOWN BUGS
-==========
-
-Plenty I fear. Here are a few important ones.
-
- - There are many footnotes in the code that say CHECK! or FIX! or
- ... they are all places where further work is most likely
- necessary, or known bugs are already documented.
-
- - Because of the unfinished work in xo-final/xo-new there are two
- hardwired lists \bot@areas and \top@areas. Top areas are mounted
- first on the page, thus entries for list of figures etc, will be
- sort of strangely ordered :-)
-
- - If a special penalty such as the flush point penalty ends up at the
- top of a column any glue after it isn't properly removed. This
- needs fixing and while the way to proceed is clear it is not yet
- implemented.
-
- - If we have to relax the float placement conditions due to a flush
- point the current code reverts to tight conditions the moment the
- last affected float has been placed (the idea was to ensure that we
- don't place too many floats on such a page since the relaxed
- conditions do not have a restriction there). But the problem with
- that approach is that in fact in most cases this will result in no
- further floats being allowed at all since typically the already
- placed floats make any further trials fail now. So this needs some
- change, eg only to check columns after the flush point with the
- tight conditions or ... for the moment it has only be partially
- resolved by enabling basically only the restrictions on number of
- floats per column or space available in columns (which are only
- checked for areas under trial)
-
- - If the design allows strange placements in various areas, then ".lot"
- files etc will as a result always be ordered strangely. There is
- not much you can do about that on this stage (even if the above
- problem is fixed) other than ensuring that at some later stage such
- files get sorted automatically.
-
- - Float pages are at best strange. what are good concepts to
- construct them in multi-column layouts? Are there any?
-
- - Size of a here float is not properly calculated when it get
- initialized
-
- - Grid layout requires that \topskip=\baselineskip (or so it seems
- --- it shouldn't but there is somewhere a bug lurking)
-
- - Definition of grid layout point commands need one more indirection
- to allow turning them off for a single page setup. Right now, the
- moment they are disabled they are gone.
-
- - Initialization of the various data structures is not yet properly
- done --- this needs further sorting out. As a result it is likely
- that some setups run into undefined variables.
-
- - If \readfloatplacements is used (ie float are manually placed) then
- the positioning of the float areas is done incorrectly because I
- forgot to add the necessary code to that part of the processing
- (just found out while finishing the examples for the Oxford talk)
-
-
-FOUND A BUG?
-============
-
-If you think you have found a real bug (not just something that is
-simply not yet implemented) I would be glad if you report it using
-
- latex latexbug
-
-from the standard LaTeX distribution and select option
-
- 7) expl3: Experimental packages for TeX programmers. (expl3)
-
-or alternatively by discussing it on LATEX-L (see below)
-
-
-
-DISCUSSION OF FEATURES (MISSING OR ELSE)
-========================================
-
-Discussion of features, either those implemented or those missing
-should be directed to the discussion list
-
- LATEX-L
-
-so that others can participate in the discussion. You can subscribe to
-this list by sending a mail with the line
-
- SUBSCRIBE LATEX-L Your Name
-
-to listserv@URZ.UNI-HEIDELBERG.DE
diff --git a/Master/texmf-dist/doc/latex3/xor/xo-pfloat.tex b/Master/texmf-dist/doc/latex3/xor/xo-pfloat.tex
deleted file mode 100644
index 2835b0ed017..00000000000
--- a/Master/texmf-dist/doc/latex3/xor/xo-pfloat.tex
+++ /dev/null
@@ -1,1623 +0,0 @@
-% Copyright 2000 Frank Mittelbach
-% All rights reserved
-%
-%
-% NOTE: the text contains reference to the fact that it is typeset
-% using the new OR!
-%
-\def\rcsdata$#1: #2,v #3${
- \def\rcsdata{#2 #3}}
-\rcsdata$Id: xo-pfloat.tex,v 1.19 2000/08/11 07:08:04 latex3 Exp $
-
-% next lines needs pdflatex 0.14f+ !!!!
-\ifx\rpcode\undefinedcsname
-\else
- \input protcode.tex
- \pdfprotrudechars=2
-% \pdfoutput=0
-\fi
-
-\tolerance=6000
-\emergencystretch=1cm
-
-%\tracingonline=1
-%\tracingpages=1
-%\showoutput
-
-\newcount\ProcessControl
-
-% 0 means std LaTeX, 1 new OR, 2 new OR + galley2 (not functional)
-
-\ProcessControl=1
-
-\typein[\ProcessControl]
- {^^J^^J0 means std LaTeX, 1 new OR
-%, 2 new OR + galley2 (needs *new* LaTeX)
- }
-
-
-\newcommand\ORspecial[1]{\ifnum\ProcessControl>0\relax#1\fi}
-
-
-
-\ifnum\ProcessControl=0
- \documentclass[twocolumn]{article}
-% \documentclass[preprint]{ltugproc}
- \renewcommand\floatpagefraction{0.9}
- \setlength\belowcaptionskip{10pt}
-\else
- \documentclass{article}
-\fi
-
-\parskip=0pt
-\widowpenalty=5000
-
-
-\usepackage{array,url,varioref}
-\usepackage{times}
-
-\ifcase\ProcessControl
-% \usepackage{hyperref}
- \usepackage{calc}
-\or
-% \usepackage{trace}
- \usepackage{xoutput}
- \usepackage{xo-grid}
- \ShowGridfalse
-\else
- \usepackage{trace,
- galley2,xcontents,xlists-samples,
- xoutput}
- \usepackage{xo-grid}
- \ShowGridfalse
-
- \let\thetable\thefigure % needed to be able to use old xcontents.sty
-\fi
-
-
-
-
-\ifnum\ProcessControl=2
-
-\makeatletter
-\def\l@v@lalgorithms{0}
-\makeatother
-
-\DeclareInstance{contentsobject}{section}{std}{
- pre-v-action = \DelayEvaluation{\addpenalty{10000}
- \addvspace{1em plus 1pt}},
- right-margin-sep = 15pt,
- title-format = \textbf{#1},
- number-format = \textbf{#1\hfil},
- pnum-format = \textbf{\hfil#1},
- leaders-action = ~,
- number-width = \DelayEvaluation{1.5em}}
-
-\DeclareInstance{contentsobject}{subsection}{std}{
- object-indent = \DelayEvaluation{1.5em},
- number-width = \DelayEvaluation{2.3em}}
-
-\DeclareInstance{contentsobject}{subsubsection}{std}{
- object-indent = \DelayEvaluation{3.8em},
- number-width = \DelayEvaluation{3.2em}}
-
-
-\DeclareInstance{contentsobject}{figure}{std}{
- pre-v-action = ,
- right-margin-sep = 20pt,
- title-format = \textit{#1},
- number-format = \textrm{\hfil#1},
- pnum-format = \textbf{\hfil#1},
- leaders-action = ~,
- number-width = \DelayEvaluation{1.5em}}
-
-
-\DeclareInstance{contentsobject}{table}{std}{
- pre-v-action = ,
- right-margin-sep = 15pt,
- title-format = \textrm{#1},
- number-format = \textbf{#1\hfil},
- pnum-format = \textbf{\hfil#1},
- leaders-action = ~,
- number-width = \DelayEvaluation{1.5em}}
-
-\fi
-
-
-
-\ifnum\ProcessControl> 0
-
-
-\DeclareFloatSequenceClass{floats} % this will vanish again
-
-\DeclareFloatType{figure}
- {
- sequence-class-id = floats,
- toc-extension = lof,
- caption-text = \figurename,
- numbered-boolean = true,
- numbered-id = figure,
- numbered-within-id = ,
- numbered-action = \arabic{figure},
- body-decls =
- }
-
-
-\DeclareFloatType{table}
- {
- sequence-class-id = floats,
- toc-extension = lot,
- caption-text = \tablename,
- numbered-boolean = true,
- numbered-id = figure,
- body-decls = \footnotesize,
- }
-
-\DeclareFloatArea {t12}
- {
- class-close-list = ,
- all-close-list = ,
- max-float-num = 1,
- }
-
-
-\DeclareFloatArea {b12}
- {
- class-close-list = {t12,t11,b11},
- all-close-list = ,
- max-float-num = 1,
- }
-
-
-\DeclareFloatArea {t11}
- {
- class-close-list = ,
- all-close-list = {b11},
- max-float-num = 1,
- }
-
-
-\DeclareFloatArea {b11}
- {
- class-close-list = {t12,t11},
- all-close-list = ,
- max-float-num = 1,
- }
-
-
-\DeclareFloatArea {t21}
- {
- class-close-list = {t12,t11,b11},
- all-close-list = ,
- max-float-num = 1,
- }
-
-
-\DeclareFloatArea {b21}
- {
- class-close-list = {t12,t11,b11},
- all-close-list = ,
- max-float-num = 1,
- }
-
-
-\topskip=12pt
-
-\DeclareInstance{pagesetup2}{twocol}{std}{
- column-num = 2,
- column-width = 229.5pt, % this strange value is what LaTeX2e
- % uses for two column article
- column-height = \DelayEvaluation 50\baselineskip + \topskip,
- column-sep = 20pt,
-%
- float-callout-constraint = after,
- float-callout-span-constraint = flexible,
- bottom-float-footnote-constraint=forbidden,
-% bottom-float-footnote-constraint=none,
- max-float-num =2,
-%
- area-list = {t12,t11,b11,b12,t21},
- area-list = {b12,b11,b21},
-%
-% footnote-setup = \UseTemplate{footnotesetup}{ftnright}{},
-% footnote-setup = \UseTemplate{footnotesetup}{margin}{},
- footnote-setup = \UseTemplate{footnotesetup}{std}{},
-%
- float-text-sep = 36pt minus 8pt,
- float-area-sep = 20pt,
- float-float-sep = 20pt,
-%
- grid-point-sep = 12pt,
- }
-
-\fi
-
-
-\newcommand\meta[1]{\mbox{$\langle$\textit{#1}$\rangle$}}
-\usepackage{shortvrb}
-\MakeShortVerb\|
-
-\title{Formatting documents with floats\\
- A new algorithm for \LaTeXe$^*$}
-\author{\copyright{} Frank Mittelbach}
-\date{\rcsdata}
-
-
-
-\begin{document}
-
-\ORspecial{\UseInstance{pagesetup2}{twocol}}
-
-
-\maketitle
-
-\tableofcontents
-
-\ORspecial\vfill
-
-\begin{abstract}
-This paper describes an approach to placement of floats in
-multicolumn documents.
-
-The current version of \LaTeX{} was originally written for
-single-column documents and extended to support two-column documents by
-essentially building each column independently from the other. As a
-result the current system shows severe limitations in two column mode,
-such as the fact that spanning floats are always deferred to at least the
-next page or that numbering between column floats and spanning floats
-can get out of sequence.
-
-The new algorithm is intended to overcome these limitations and at the
-same time extend the supported class of document layouts to multiple
-columns with floats spanning an arbitrary number of columns.
-\end{abstract}
-
-%\ORspecial\vfill
-\ORspecial\newpage
-
-\section{Introduction}
-
-One problem with formatting documents containing floats is the number
-of potential formatting solutions that need to be checked out. The
-number of trials grows combinatorially in the number of floats and
-areas which can receive them. If we have $n$ floats waiting to be
-placed and $m$ areas in which we can place them on the current page
-being built (not counting the ``deferred area'') then the number of
-different placements is given by
-\begin{equation}
- \#\mbox{trials} =
- { n+m \atopwithdelims() m} =
- \frac{(n+m)!}{n! \, m!}
- \label{eq:binom}
-\end{equation}
-assuming that the order of floats has to be preserved, i.e., if the
-call-out of float $f_i$ is before the call-out of $f_j$ in the text
-stream then the float $f_i$ will be placed in earlier than float $f_j$
-where ``earlier'' is a defined relation of float areas.
-
-
-For example, if we have 8 floats waiting to be distributed among 12
-areas (which corresponds to a three column page with float areas at the
-top and bottom allowing for partial spans) then we have to check
-125970 possible distributions; if two additional floats appear we end
-up with 646646 trials.
-
-Even though a large number of these distributions would be
-unacceptable and discardable straight away, after some initial test,
-the resulting running time of the algorithm would clearly be beyond
-any acceptable speed. (Assuming we could do 1000 trials per second,
-which is ridiculous high since many of them would require
-trial-typesetting the whole page, then the case of 646646 trials would
-still take roughly 10 minutes to form a decision.)
-
- Thus it is important to find algorithms with
-complexity that is at worst linear in both the number of floats on the
-trial list and the number of possible float areas, even if this means
-that in a few cases a relatively good layout will not be found.
-It is even better if they have minimal redundancy.
-
-
-Note that assessing the actual running time of \TeX{} code is not
-straightforward since some activities are very much faster than
-others. For example, performing a test by using a reasonable number
-of macro expansions and register assignments may be very much slower
-than running through a long typeset list and then doing a simple test.
-
-
-The algorithm we have implemented fulfills the requirement of being
-(essentially) linear in the number of floats and the number of float
-areas.
-
-
-\section{The document source model}
-
-The document source is a single stream of continuous text containing
-call-outs to floating objects. (At the moment the call-outs are marked
-by placing the objects into the stream but it would be possible to
-provide them as separate objects.)
-Floating objects (as of today) come in three incarnations:
-\begin{itemize}
-\item Objects where the call-out and the placement requires a strict
-spatial relationship, e.g., same line in the margin. An example would
-be marginal notes as implemented by |\marginpar| in \LaTeXe.
-\item Objects where the call-out and the placement are required to fall
-onto the same column/\allowbreak page/\allowbreak spread, e.g.,
-footnotes.
-\item Objects where there is a defined relation between call-out and
-object placement, e.g., ``not in an earlier column'', or ``on the same
-page or later'', etc. These are the traditional floats.
-\end{itemize}
-Float objects in the last group are typed where the type is defined by
-the logical content of the object, e.g., ``figure'', ``table'', and so on.
-
-
-The document formatting is achieved using a minimal but customizable
-lookahead (typically the considered galley material is the equivalent
-of one page/\allowbreak spread of textual material ignoring the
-additional size taken up by embedded float objects).
-
-While making up pages the main ``quality'' guidance for the algorithm
-is to try to place each float as early as possible without violating
-defined constraints.
-
-
-\ORspecial\ShowGridtrue
-
-
-\section{The document layout model}
-
-\subsection{Page layout grid}
-
-The algorithm supports the specification of a page grid on which it
-will align text columns and other elements. This will allow (if
-suitable parameters for various elements are chosen) to have text
-lines of different columns all lying on grid points.\footnote{On the
-current page lines are drawn to highlight the grid. Note that
-headings, lists, and other ``display'' objects are not aligned.}
-
-\subsection{Columns}
-
-The page layouts which are supported by the new algorithm support
-an arbitrary number of text columns of equal width.
-
-The number of columns per page as well as their width can be changed
-at forced page breaks such as the start of chapters.
-
-\subsection{Balanced columns}
-
-Balancing columns (as done by the \texttt{multicol} package) is planned
-but not implemented. The major problem in that area is the handling of
-column floats during the balancing process.
-
-
-\subsection{Float areas}\label{overlap}
-
-Float objects are distributed into float areas which are
-rectangular in shape. Float areas span one or more text columns, their
-horizontal size is therefore given by the following formula (where
-$c$ is the number of columns spanned):
-\[
- \meta{area-width} = c \times
- \bigl( \meta{col-width} + \meta{col-sep}\bigr)
- - \meta{col-sep}
-\]
-The naming conventions for float areas is as follows:
-\[
-\meta{identifier}\meta{start-column}\meta{span-count}.
-\]
-The \meta{identifier} is a single letter denoting the type of area,
-e.g., |t| for top, |b| for bottom. The \meta{span-count} is a single
-digit denoting the number of columns to span. The
-\meta{start-column} is a single digit\footnote{With a bit of care in
-the code this could be extended to allow more than one digit.}
-denoting the start column of the area. Thus |t23| is a top area
-starting at column two and spanning three columns, i.e., two, three
-and four.
-A restriction due to the naming scheme is that currently no more than
-9 columns are possible.\footnote{The scheme is different from the
-original one used, where \texttt{t23} would have denoted an area
-starting at column two and spanning until column three.}
-
-Only a subset of the float areas is allowed to be populated on a
-page. In essence the new algorithm does not support placements
-that result in ``splitting'' the text of a column due to a float (other
-than column `here' floats).\footnote{Perhaps this restriction will be
-lifted one day.} This means that population of some float areas
-must be prevented, namely those satisfying these conditions
-when $pcs$ (where $p=\textrm{pos}$,
-$c=\textrm{column}$, $s=\textrm{span}$) has just been populated:
-\[
- pij \textrm{ with } i < c \leq i+j < c+s
-\]
-or
-\[
- pij \textrm{ with } i \leq c+s < i+j \leq
- \mbox{\meta{number-of-columns}}
-\]
-The first formula describes the areas which partly overlap from the
-left, the second formula describes those that partly overlap from
-the right. Areas which are sub- or super-areas, e.g., \texttt{t13}
-and \texttt{t22} do not affect each other. The above restriction is
-necessary to prevent situations like the one shown in
-figure~\vref{fig:overlap}
-%
-\begin{figure}
-\footnotesize
-\caption{Overlapping float areas}\label{fig:overlap}
-\begin{minipage}{.6\columnwidth}
-\begin{verbatim}
- aaaaaaaaaaa 444
- aaaaaaaaaaa 444
- aaaaaaaaaaa 444
- 111 222
- 111 222 bbbbbbb
- 111 222 bbbbbbb
- 111 222 bbbbbbb
- 111 222
- 111 222 333 444
- 111 222 333 444
- 111 222 333 444
-\end{verbatim}
-\end{minipage}
-\end{figure}
-%
-i.e., where the float area \texttt{t32} (represented as b's) would
-result in splitting the fourth column into two independent text areas.
-
-The possibilities, as well as the restrictions, are equal for both top
-and bottom areas. This means that the new scheme in particular
-supports spanning bottom areas.
-
-\ORspecial\ShowGridfalse
-
-\subsection{Float pages and columns}
-
-Float pages, i.e., pages consisting only of floats, will be supported
-as well as float columns.
-
-
-\subsection{Float types}
-
-The type of float influences the formatting, e.g., where the caption
-is placed in relation to the float body, how it is formatted, what
-kind of fixed strings are added, etc. It also restricts the placement
-algorithm in respect to which float areas can be populated as
-explained below.
-
-
-\subsection{Margins}
-
-The marginal areas can receive marginal notes which are aligned with
-the corresponding text line. In documents with more than two columns
-marginal notes are currently not supported though one could envision
-allowing them even there. If marginals have to compete for space the
-later marginal will be moved downwards if there is enough space on the
-page, otherwise the line containing the marginal will be moved to the
-next column/\allowbreak page.\footnote{This is not yet implemented ---
-right now they overprint each other.}
-
-An alternative usage of the margin is to place footnotes into it. A
-prototype version of this is provided already, see
-section~\vref{footnotes}.
-
-Another potential use of the margin areas is to use them (or parts
-thereof) as float areas in their own right. The problem with this
-would be that these float areas would have a horizontal width which is
-different from the column width, thus allowing only a limited class of
-floats to appear therein.
-
-Another potential extension would be to allow float areas that border
-on a margin to use the marginal space as part of the float area,
-thereby allowing the filling of such an area with floats which are
-wider than the nominal float area. A special case of this, the
-placement of the caption in the margin beside the float body, is
-already provided by choosing a suitable caption formatting instance.
-
-
-
-
-\subsection{Footnotes}\label{footnotes}
-
-Footnotes can be regarded as a special type of floats. They are objects
-which are associated with lines of text (their call-out) but in
-contrast to normal floats such as ``figures'' or ``tables'' their placement
-constraints are stronger, e.g., they typically have to appear at the
-bottom of the column which contains their call-outs, or at least they
-have to appear on the same page as their call-outs.
-
-In its current version, the model supports footnotes beneath the
-call-out column (normal behavior); all footnotes in the last column
-(as with the \texttt{ftnright} package for two-column mode); all
-footnotes in the outer (or inner) margin.
-
-Without an extension to the page makeup algorithm (but instead with a
-suitable redefinition of the footnote commands) they could be processed
-as marginal notes or alternatively as ``end-notes''.
-
-
-\subsection{Headers and footers}
-
-The header and footer areas may use data received from individual
-columns. An extended version of \TeX's mark mechanism is made
-available which allows the definition of arbitrarily many independent
-classes of marks. Within each mark class information about the top
-mark (i.e., the mark active at the top of the column) the first mark
-and the last mark is made available for retrieval.
-
-This allows the production of correct running headers and footers for
-various types of applications such as dictionaries, manuals, etc.
-
-
-
-
-\section{The processing model}
-
-\subsection{Float placement concepts}\label{sec:float-place}
-
-To build a page(-spread) the algorithm first assembles enough textual
-material to be able to fill the page without placing any floats.
-During this process all floats that have their call-outs within the
-assembled galley are collected. They form, together with unplaced
-floats from previous pages, an ordered trial list of floats.
-
-The allowed float areas on the page under construction are totally
-ordered as well.
-
-The algorithm proceeds by taking the first float from the trial list
-and trying to place it into the first float area from the area
-list. It then checks if all constraints (see below) are met and if not
-the algorithm
-will try to place the float into the next area until either all
-constraints are met or the areas in the float area list are exhausted.
-A trial that does not fail means that
-this distribution of floats becomes the best solution so far and all
-further trials will be based on adding to this solution (no
-backtracking). If the algorithm fails to place the float into any
-area it means that the float will be deferred to a later page.
-
-As floats are added to areas, the constraints for further trials
-are changed. There are several reasons for this:
-on one hand, the call-out positions of
-various floats move
-since the float will occupy space on the page; on the other hand,
-placing a float in some area might result in disallowing the placement
-of other floats in the same or in other areas.
-
-
-\subsection{Float pages and columns}
-
-At the moment there is only rudimentary support for float pages
-available: at the start of each page the algorithm will try to form a
-float page out of all floats that have been deferred from previous
-pages. However there is no layout control available to define the
-conditions under which such a trial will succeed.
-
-
-\subsection{Float storage}
-
-Float bodies are typeset into boxes at the point of `call-out', as
-with the \texttt{figure} and \texttt{table} environments in the standard
-\LaTeX; it may also be possible to specify at the call-out point a
-logical pointer to a float whose typesetting is specified elsewhere
-(e.g., an external file).
-
-However, text sub-elements such as the caption, etc., (e.g., from
-|\caption|) are not typeset at this stage but are stored as token
-lists; this allows for trying different possible layout specifications,
-e.g., for its measure, during the float-positioning trials. At present
-this is confined to at most a single caption element per float.
-
-\subsection{Caption processing}
-
-When a float is placed into an area the caption is trial formatted and
-mounted onto the float body. This process can take into account
-various information about the float positioning trial, such as the
-area to format it into, the fact that it formats onto a verso or recto
-page, etc. It might try several possibilities before making a decision,
-e.g., if one formatting of the float results in violating some
-constraint(s) it might try a different formatting at this point.
-
-
-
-\subsection{Flushing floats}
-
-It is possible to mark points in the source document as boundaries beyond
-which floats whose call-outs are prior to the boundary cannot pass. In
-other words a ``flush point'' directs the algorithm to place all
-affected floats into areas which are ``before'' the flush point.
-
-If due to other constraints the float could not be placed in such an
-area the algorithm first retries all potential areas using a less
-rigid set of constraints (for example, restrictions on the number of
-allowed floats per area are dropped) and if this still doesn't enable
-the algorithm to place the float properly it will as a last resort
-move the flush point to a later column, which means breaking the
-column text before the flush point.
-
-Flushing of floats can be done either for all floats or on a
-per float type basis, e.g., it is possible to flush only floats of
-type ``figure''.
-
-A flush point can be given an additional attribute which controls the
-``fuzziness'' used by the algorithm. By default the flush point
-algorithm uses |strict| flushing as described above. The attribute
-|column| modifies the algorithms behaviour by enabling a float to move
-past the flush point as long as it will be placed on the same
-column. Similarily the attribute values |page| and |spread| will
-enforce that the float will not be deferred further than the current
-page or the current spread. This way it can be guaranteed that a float
-is always visible from its call-out.
-
-
-\subsection{Float sequence classes}
-
-Float sequence classes are collections of float types; each float type
-belongs to exactly one float sequence class. Within each sequence
-class the call-out order in the document is always preserved by the
-float placement algorithm, e.g., if $c_1,c_2,\ldots,c_n$ are the
-call-outs of all floats of a float sequence class then the
-corrsponding floats will be placed such that $f_i$ will be placed
-before $f_j$ whenever $i<j$. Thus by putting all float types into a
-single float sequence class all floats are placed in the order of
-their call-outs. As the other extreme, if each float type has its own
-sequence class\footnote{This is the \LaTeXe{} default.} then floats
-from one type might move before floats of other types even though the
-corresponding call-outs are in a different order.
-
-
-
-\subsection{Float and call-out relations} \label{fl-callout-relations}
-
-The algorithm also keeps track of the relation between an individual
-float and its call-out. This allows one to define constraints which
-guide the algorithm during the float placement phase. It is always
-permissible to place a float ``after'' its call-out, e.g., in a later
-column/\allowbreak page. At the moment the following constraints can
-be specified:
-\begin{description}
-\item[none] which means that the relation between call-out and float
-placement is not relevant for placing floats.
-\item[page] which means that the float can be placed anywhere on the
-page with the call-out (it is visible from the call-out).
-\item[column] which means that the float can be placed before the
-call-out as long as it is placed in the same column.
-\item[after] which means that the float has to be placed strictly
-after the call-out.
-\end{description}
-When extending the algorithm to directly support spreads the
-above list is going to be extended by an option that allows floats to
-move backwards on the whole spread.
-
-
-
-
-\subsection{Spanning float and call-out relations} \label{fl-span-relation}
-
-For floats that span two or more columns there are several
-possibilities to interpret the spatial relationship between call-out
-and float areas. For example, if a float, whose call-out is in the
-second column, has been placed into area |b12|, is this float
-``before'' or ``after'' its call-out? The answer to this question
-depends on whether we consider the float being placed into the first
-or the second column, both of which are valid interpretations.
-
-At the moment the following behaviour can be specified:
-\begin{description}
-\item[strict] which means that the leftmost column spanned
- by the float is being regarded as the column in which the float was placed.
-\item[flexible] which means that the rightmost column spanned
- by the float is being regarded as the column in which the float was placed.
-\end{description}
-These settings are only relevant if the main float/call-out relations
-are set to |column| or |after|.
-
-
-\subsection{Float and footnote relations}
-
-It is possible to direct the algorithm to check on each column if
-there are footnotes, and if so to prevent it from placing floats in
-the bottom
-area. In theory it might be possible that a forbidden constellation
-might resolve itself once the algorithm has added further floats,
-e.g., it could be the case that by adding additional floats the
-offending footnote gets moved to a different column. However, checking
-for this would mean potentially large backtracking so the algorithm
-uses a conservative approach and simply considers a trial as failed if
-footnotes and bottom areas collide.
-
-It is planned to allow a designer the choice of specifying where the
-footnotes should be placed in relation to any bottom floats (if the
-combination is allowed). Right now this is not implemented and
-column footnotes will always appear below the text column, i.e., above
-any bottom floats.
-
-
-
-
-\subsection{Area statuses}
-
-For each area the algorithm keeps track about whether or not it is
-closed for individual float types, e.g., is not accepting any more
-floats of type ``figure'' or closed for all types. The status of an
-area can change due to floats being placed into other areas (this
-might, for example, close earlier areas, or areas that overlap) or it
-can change due to the fact that the area became too full in some way
-(e.g., a size constraint or a number of floats constraint).
-
-Some of these constraints can be ``relaxed'' in certain situations,
-e.g., if the algorithm is directed to flush out remaining floats prior
-to a certain point in the galley it will drop constraints related to
-number of floats per area or size restrictions. However, if an area
-was closed due to a different float being placed into some other area,
-this area will stay closed in all circumstances to ensure proper
-sequential placement of floats and to ensure that overlapping areas
-that are forbidden as explained in section~\vref{overlap} will not
-receive floats at the same time.
-
-
-
-
-\subsection{Area constraints}
-
-The algorithm offers several possibilities for the designer to
-specify how and under what circumstances a float is allowed to be
-added to a certain area on the page.
-
-As explained above all areas on a page are tried in a specific
-order. This order can be specified and changed for specific parts of
-the document. Areas that are closed for the current type will be
-bypassed as well as areas which do not span the right number of
-columns to fit the horizontal size of the float. If these initial
-tests succeed the float may still fail to be placed into a certain
-area if it doesn't fulfill the following set of constraints:
-\begin{itemize}
-\item There is an upper limit on the total number of floats that can
-be placed on an individual page.
-\item Each area has an upper limit of floats that can go into it.
-\item After placing the float the remaining space in the text column
-must be larger than a specified value.
-\end{itemize}
-All such constraints are customizable.
-
-Additional constraints will probably be implemented
-once there has been some experience of what controls are actually
-needed to allow the specification for a reasonable number of layouts.
-
-For example, \LaTeXe{} allows the designer to restrict the maximum size of
-an area, but should one provide this or should there be a constraint
-on the size of all stacked areas? Or should there be both?
-
-
-
-\subsection{To ``Here'' or not to ``Here''}
-
-\LaTeXe{} allows the user to control the placement of an individual float by
-specifying one or more areas into which the float would be
-allowed to move using single letters. As a special notation an
-\texttt{h} would denote a so-called ``here'' float. Its advertised
-semantics is to try placing the float ``at the position in the text
-where the environment appears'' \cite[p.~197]{A-W:LLa94}.
-If this is not feasible \LaTeXe{} would try the remaining
-allowed possibilities on the next page, thus a float with a
-\texttt{ht} specification would either appear within the text or
-at the top of the next or a later
-page.\footnote{\clubpenalty=100 In two-column mode
-this can in fact result in a placement on the top of the second column
-even though the call-out position finally falls into the middle of
-that column.}
-
-In many cases people however prefer a ``here'' which always means
-``here''. The latter form is implemented in some add-on packages for
-\LaTeXe{}, however usually at the cost of allowing floats to appear out
-of order.
-
-The new model supports only the absolute ``here'' form for floats;
-however, correct ordering of floats in the output is guaranteed (if
-the tag generating the here float issues flushing of floats for the
-current type). If
-there is not enough space to place the float in a column, the float
-plus the preceding text line\footnote{More precisely the column is
-broken at the last breakpoint preceding the current position which is
-normally one line above but could be more (or less).} is moved to the
-next column/\allowbreak page.
-
-
-\subsection{Grid layout}
-
-To produce layouts with elements placed on an underlying grid
-(typically with grid points vertically separated by |\baselineskip|)
-the algorithm assumes that certain parts of the text column, e.g.,
-normal text will automatically align on the grid as long as the first
-line is positioned on the grid. A further assumption is that such
-parts of the column do not contain stretchable amounts of vertical
-glue so that they are not subject to stretching or shrinking if the
-material is adjusted to fit a given size.
-
-Given these assumptions, the algorithm proceeds by ensuring that the
-space taking up by floats (including their separating white spaces) is
-always of a size such that the remaining space for the text part of the
-columns is allowing for an integral number of grid lines. This is
-achieved by stretching or shrinking the space separating the areas
-from the text appropriately while building the page as explained in
-section\vref{sec:float-place}.
-
-Within the text column there are typically a number of ``display
-objects'' such as headings, equations, quotations, lists, etc\@. which
-should not be aligned on the grid. Instead, typically the text before
-and after is supposed to lie on the grid\footnote{In some cases,
-depending on the design, parts of the structure might be supposed to
-aligned as well.} This is supported by allowing to mark lines of text
-(or more generally points in the galley) to ``snap to the nearest grid
-point''. One can think of the implementation working by taking the
-column material up to the marked line and putting it into a vertical
-box of the size of the nearest possible grid point. By this approach
-stretchable glue around such a display object will allow the text line
-that should snap to the grid move into the correct position. This box
-is then given back to the page builder to assemble more material for
-the column. Since this way the preceding part of the column becomes
-rigid; thus a later request for snapping to the grid will only stretch
-or shrink material further down the column.
-
-A prototype implementation that makes most standard \LaTeX{} objects,
-like headings, displays, etc.\ support grid design is available with
-the package \texttt{xo-grid}. It is used for typesetting this
-document.
-
-
-\section{User control}
-
-
-\subsection{Column and page breaks}
-
-Breaking of columns and pages can be controlled from the source
-document by placing special tags into it. The |\columnbreak| command
-ends the current column after the current line (if used in horizontal
-mode). Similarly the |\pagebreak| command ends the current
-page.\footnote{At the moment these commands force a break; there is no
-possibility, as in \LaTeXe{} to suggest only that the current point
-is a good or bad break.}
-
-
-\subsection{Manual float flushing}
-
-The flush float functionality is available within the source document
-via the command |\flushfloats|. This command takes two optional arguments
-which, if present, denote the float type to flush (by default all) and the
-``fuzziness'' of the flush (by default |strict|). Other allowed values
-for the fuzziness are |column|, |page|, or |spread|. If a type is
-specified for flushing, effectively all types with the same float
-sequence class are flushed to preserve the ordering.
-
-
-
-\subsection{Specifying preferred areas}
-
-At the time of writing the document source interface for specifying
-the group of areas into which a float is allowed to move is not yet
-decided. One could envision keeping the original \LaTeX{} interface to
-float environments with optional argument. In that case something like
-|[t]| could be internally interpreted as ``any top area that exists''
-and translated into a list such as |t12 t11 t21|. But other interfaces
-are conceivable as well.
-
-
-
-\subsection{Manually position all floats}
-
-Any algorithm that automatically places all floats may fail to produce
-adequate results in some situations. In \LaTeXe{} the user was offered
-only the optional arguments of the float environments and by this
-method and by moving floats slightly in the source document one was
-finally able to change the formatting as needed.
-
-This was a time consuming and error prone manual task and any slight
-change in the source document text was likely to result in making this
-work obsolete.
-
-To improve on this situation the new algorithm can be directed to
-write out a file containing all of its float\footnote{Floats in this
-contect mean ``traditional'' floats, not footnotes or marginpars.}
-selections (an example is
-shown in table~\vref{fig:fpl}).
-%
-\begin{table}
-\begin{minipage}{\columnwidth-24pt}
-\footnotesize
-\begin{verbatim}
-Page: 1 (1)
- Area: t13
- Float: 4 (figure 4) []
- Area: b21
- Float: 2 (figure 2) [mylab:fig1]
- Area: t31
- Float: 3 (figure 3) [mylab:fig2]
-
- Area: hhh
- Float: 11 (table 1) []
-
-Page: 2 (2)
- Area: t13
- Float: 8 (figure 8) []
- Area: t22
- Float: 5 (figure 5) []
- Area: b11
- Float: 6 (figure 6) [mylab:fig3]
- Area: b31
- Float: 7 (figure 7) [mylab:fig4]
-\end{verbatim}
-\end{minipage}
-\caption{An example \texttt{fpl} file}\label{fig:fpl}
-\end{table}
-%
-By simple drag and drop the user can produce alterations to this
-selection. If such a modified file is stored as |\jobname.fpc| then
-the algorithm will use these selections without attempting to apply
-any of its internal rules. Thus the formatting will happen exactly as
-specified.\footnote{If the floats are stored within the source
-document at the point of their call-outs, the algorithm will be able
-to position a float only if it has already encountered the float in the
-source document. This means that one can move a float arbitrarily
-forward but only to a limited extent before its call-out position. If
-the floats are stored externally to the source document this
-restriction does not apply.}
-
-Beside moving floats between float areas it will be possible to move
-floats in and out of the special area called |hhh| which represents a
-list of all ``here'' floats on the page. If a float is moved into the
-``here'' area it means that it will be positioned as a here float at
-the point of its call-out.
-
-
-As an extension to this method we are experimenting with restricting
-the manual control only to parts of the document, e.g., allowing the
-user to manually fix a single chapter but have the algorithm determine
-the remainder. We also plan to integrate column length control in this
-way, so that it becomes easily possible to run a page or double-spread
-long or short by specifying this externally rather than via tags in
-the source document.
-
-
-
-\subsection[Tracing the algorithm's behavior]
- {Tracing the algorithm's\\ behavior}
-
-In contrast to the \LaTeXe{} output routine, which is a black box as far
-as the user is concerned, the new algorithm tries hard to make its
-decision process comprehensible. Table~\vref{tab:progress} shows
-\ifnum\ProcessControl=0
- \begin{table*}
- \caption{Progress output of the algorithm}\label{tab:progress}
-\else
-%
-% FMi: people reading the source will notice that there isn't yet any
-% interface for spanning floats ... so we have to do this by hand
-%
- \def\SPANCNT{2}%
- \begin{table}[t12,b12]
- \caption{Progress output of the algorithm}\label{tab:progress}
- \begin{minipage}{1.3\columnwidth}
-\fi
-%
-\footnotesize
-\begin{verbatim}
-=======================================================================
- STATS: floats waiting = 2 on page 13
-=======================================================================
-Float: \bx@E {5} {table} (floats) {5} {Statistics from the algorithm}
- area trial: b12 -> failed: span count b12 /= 1
- area trial: b11 -> accepted
-Float: \bx@F {6} {table} (floats) {6} {Running times of the algorithm}
- area trial: b12 -> failed: span count b12 /= 1
- area trial: b11 -> failed: b11 float num reached (1)
- area trial: b21 -> failed: area below flush point (2=2, b21)
- -> failed: --> retry with relaxed conditions
-
- area trial: b12 -> failed: span count b12 /= 1
- area trial: b11 -> accepted
- STATS: trials = 7
-\end{verbatim}
-\ifnum\ProcessControl=0
- \end{table*}
-\else
- \end{minipage}
- \end{table}\def\SPANCNT{}%
-\fi
-%
-a sample output produced by it. It shows for each float which areas
-have been tried, why they were rejected etc. There is also an option
-which produces about 1000 times as much information but the latter is
-probably useful only for debugging the system in case there are errors
-in the code.
-
-
-
-\subsection{Manually aligning text in grid layout}
-
-If the algorithm produces grid layout it automatically aligns certain
-text lines on the underlying grid. For manual control this
-functionality is also provided with the command |\TextAlignGrid| which
-will align the current text line on the grid. By issuing a
-|\IgnoreAlignToGrid| command grid alignment will be temporarily
-disabled, while |\ObeyAlignToGrid| will reestablish automatic grid
-processing.
-
-
-\section{Layout Specification}
-
-In the class file the designer is given control over the algorithm's
-behavior in all the aspects described above (and several more).
-
-The layout specifications are done through the new template and
-instance concept, see~\cite{tub:MCR99-3}.
-Additional information such as experimental code, further
-documentation, etc.\ can
-be found on the \LaTeX{} project web site at:
-\begin{quote}
-\url{http://www.latex-project.org}
-\end{quote}
-
-In contrast to the algorithm itself, which in its basic functionality
-now seems to be stable and reliable, the design interface is far
-more experimental. Thus the example declarations given below represent
-only the current state of thought (or of implementation)
-and are likely to be modified at any moment.
-
-
-\subsection{Float type declarations}
-
-Float types are declared using the command |\DeclareFloatType| which
-takes two arguments: the name of the type which is declared and in the
-second argument a list of key value pair which describe the
-properties of the float type, e.g.,
-\begin{verbatim}
- \DeclareFloatType{figure}
- {
- sequence-class-id = floats,
- toc-extension = lof,
- caption-text = \figurename,
- numbered-boolean = true,
- numbered-id = figure,
- numbered-within-id = section,
- numbered-action =
- \thesection.\arabic{figure},
- body-decls = ,
- }
-\end{verbatim}
-The \texttt{sequence-class-id} key defines to which float sequence
-class the type belongs to. If it is absent a sequence class with the
-same name as the type is assumed. The sequence class will be
-automatically initialized if not referenced before.
-
-The \texttt{toc-extension} key defines the extension to be used to
-write the caption to when generating ``List of floats'' listings. By
-using the same extension with different types it is possible to
-generate combined listings, such as ``List of table and figures''.
-
-The \texttt{caption-text} key defines the fixed text to be used as
-part of the caption text together with the float number if present,
-e.g., |Figure|. This information is passed to the caption formatting
-template so the actual formatting is defined there.
-
-The \texttt{numbered-boolean} defines whether or not floats of this
-type are numbered.
-
-The \texttt{numbered-id} key defines the name of the counter to use
-when numbering floats. If absent a counter with the same name as the
-type is assumed. By using the same counter with different types it is
-possible to use a single numbering scheme---in that case the
-\texttt{sequence-class-id} for these types should probably be
-identical as well to avoid strange numbering sequences within the
-document.
-
-The \texttt{numbered-within-id} key defines the name of the ``within''
-counter, i.e., the counter which if stepped resets the numbering. If
-the value is empty or not set the float type is numbered in a single
-sequence throughout the document.
-
-The \texttt{numbered-action} key defines the representation of the
-float number, as used in the caption and by the |\ref|, |\label|
-mechanism. The default is |\arabic{|\meta{counter}|}|.
-
-The \texttt{body-decls} key can hold formating instructions that
-should apply to the float body. They can assume a normalized
-formatting environment already set up by the algorithm.
-
-The declaration of a new float type automatically defines the
-necessary user document environments.
-
-
-\subsection{Float area declarations}
-
-Any float area that is going to be used at some stage by the algorithm
-needs to be declared beforehand. This is done through the
-|\DeclareFloatArea| command which takes two arguments: the name of the
-area (which has to follow the conventions explained in
-section~\vref{overlap}) and a list of key/value pairs describing the
-characteristics of the area.
-\begin{verbatim}
- \DeclareFloatArea{t22}
- {
- class-close-list = {t11,b11},
- all-close-list = {t12,t32},
- max-float-num = 2,
- }
-\end{verbatim}
- As of today an area is characterized through the maximum number of
-floats it is allowed to receive (\texttt{max-float-num}) and through
-two lists which tell the algorithm which other areas are affected by
-adding a float to the current area. The list \texttt{class-close-list}
-enumerates all areas which are not allowed to receive additional
-floats of the same sequence class as the float that has been placed
-into the current area, while
-the list \texttt{all-close-list} contains the information about all
-areas that are to be completely closed the moment a float is received
-in the current area.
-
-The \texttt{class-close-list} key is primarily intended to specify a
-partial order on the areas to ensure that floats are not getting out
-of sequence in the output. For example, the above declaration says: if
-a float is placed into area |t22|, i.e., a top area starting at column
-two and spanning two columns, then the single column areas |t11| and
-|b11| (i.e., those of the first column) are closed for floats of the
-same class. However, assuming this example is part of a declaration for
-a four column layout which could have areas like |t14| or |t13|, there
-is nothing said about closing those areas. Thus in this particular
-layout a float spanning three or four columns would still be allowed
-to go on top.
-
-On the other hand the \texttt{all-close-list} key is available to
-ensure more visual constraints, e.g, ``if |t12| gets filled we don't
-want to have |b12| filled as well, we only want |b22| in this
-case''. In addition it is needed to implement the restriction about
-overlapping float areas as described in section~\vref{overlap}, e.g.,
-in the example declaration |t12| and |t32| are closed since they
-partly overlap with |t22|.\footnote{As mentioned before, this
-restriction might be lifted in a later version of the algorithm; as
-long as it is required one could alternatively add those areas behind
-the scenes to avoid runtime problems.}
-
-
-
-
-
-\subsection{Footnote formatting declarations}
-
-The formatting of footnotes is specified by declaring instance(s) of
-type |footnotesetup|. At the moment three templates are available
-though they should be considered only as prototypes: the template
-|std| produces conventional footnotes below each column, the template
-|ftnright| collects all footnotes and typesets them in the rightmost
-column, and the |margin| template collects and typesets them in the
-right outer margin.
-
-The keys of the above templates are providing only a rudimentary
-flexibility (to say it positively), in a production version all of
-them would need a large number of extensions.
-As an example
-\begin{verbatim}
- \DeclareInstance{footnotesetup}
- {mainmatter}{std}
- {
- text-sep = 14pt plus 3pt,
- max-height = 8in,
- }
-\end{verbatim}
-would declare the named instance |mainmatter| that provides footnotes
-below columns with a separation of |14pt+| and a maximum height for
-footnotes per column being |8in|.
-
-Instances like this can then be used in the declaration for a
-particular page layout as explained below. Alternatively one could use
-unnamed instances there using the |\UseTemplate| method.
-
-
-\subsection{Page setup declarations}
-
-At the heart of the layout declaration are instances of the type
-|pagesetup2.|\footnote{The number 2 has historical reasons and will
-vanish again at some point in the future.}
-An example setup showing all currently available keys is given in
-%
-\ifnum\ProcessControl=0
- \begin{table*}
- \caption{Example declaration for the \texttt{pagesetup2} template
- showing all currently available keys}\label{tab:pagesetup2}
-\else
- \def\SPANCNT{2}%
- \begin{table}[t12,b12]
- \caption{Example declaration for the \texttt{pagesetup2} template
- showing all currently available keys}\label{tab:pagesetup2}
- \begin{minipage}{1.3\columnwidth}
-\fi
-%
-\footnotesize
-\begin{verbatim}
- \DeclareInstance{pagesetup2}{mainmatter}{std}
- {
-% column specification
- column-num = 2,
- column-width = 220pt,
- column-height = 610pt,
- column-sep = 20pt,
-% float constraint specification
- max-float-num = 3,
- float-callout-constraint = after,
- float-callout-span-constraint = strict,
- bottom-float-footnote-constraint = forbidden,
- flush-float-callout-constraint = page,
- flush-float-callout-span-constraint = flexible,
- flush-bottom-float-footnote-constraint = none,
-% area specification
- area-list = {t12,t11,b11,b12,t21,b21},
- defer-class-close-list = {t12,t11,b11,b12,t21,b21},
- defer-all-close-list = ,
- float-float-sep = 15pt,
- float-text-sep = 30pt minus 8pt,
- float-area-sep = 15pt,
- float-inline-sep = 6pt minus 2pt,
-% grid specification
- grid-point-sep = 12pt,
-% footnote etc specification
- footnote-setup = mainmatter,
- }
-\end{verbatim}
-\ifnum\ProcessControl=0
- \end{table*}
-\else
- \end{minipage}
- \end{table}\def\SPANCNT{}%
-\fi
-%
-table~\vref{tab:pagesetup2}.
-
-
-\subsubsection{Column specification}
-
-The first four keys (|column-num|, |column-width|, |column-height|,
-and |column-sep|) describe the column structure of the page layout
-being defined, i.e., in this case a two-column layout.
-
-\subsubsection{Float constraint specification}
-
-The following four keys define the standard constraints for the
-algorithm when placing floats: \texttt{max-\allowbreak
-float-\allowbreak num} is the maximum number of floats that can go on
-a normal page,
-\texttt{float-\allowbreak callout-\allowbreak constraint} defines
-what kind of relations between float and call-out are allowed,
-possible values are explained on~\vpageref{fl-callout-relations}.
-
-\texttt{float-\allowbreak callout-\allowbreak span-\allowbreak
-constraint} handles the interpretation of spanning floats and is
-explained on~\vpageref{fl-span-relation}, and
-\texttt{bottom-\allowbreak float-\allowbreak footnote-\allowbreak
-constraint} defines whether or not bottom floats are allowed in case
-of footnotes.
-
-The last three constraints are replaced by
-\texttt{flush-\allowbreak float-\allowbreak callout-\allowbreak
-constraint}, \texttt{flush-\allowbreak float-\allowbreak
- callout-\allowbreak span-\allowbreak constraint}, and
-\texttt{flush-\allowbreak bottom-\allowbreak float-\allowbreak
-footnote-\allowbreak constraint} in case flushing can't be done
-without relaxing the conditions (\texttt{max-\allowbreak
-float-\allowbreak num} is disregarded in that case automatically).
-
-\subsubsection{Float area specification}
-
-The key |area-list| defines all float areas that are allowed in this
-page layout as well as defining the order in which the areas are tried
-when placing floats.
-The keys \texttt{defer-class-close-list} and
-\texttt{defer-all-close-list} define the ``closing actions'' for the
-special area which receives the floats that could not be placed. E.g.,
-if a float of a certain class can't be placed then all areas listed in
-\texttt{defer-class-close-list} will be closed for this class of
-floats. In other
-words the two keys are comparable to the ones available for area
-declarations.
-
-Thus these keys together with the keys from the area
-declarations are most important to guarantee a sensible order of
-floats on the formatted page.
-
-In an earlier implementation of the algorithm a simpler scheme was
-used: there was a single area list which was shortened whenever a
-float couldn't be placed into it thereby confining the remaining
-floats to this restricted selection. This works fine as long as there
-are mainly single column floats since in this case the area can be
-reasonably ordered into a single sequence. However the moment spanning
-floats are supported the situation gets less straightforward. Is it
-allowed to place a later float into |t12| if there is already a float
-in the area |t11|?
-%% bb -- that's easy! a wider float always takes precedence over a
-%% narrower one in the same column span, so t21 wins.
-%% FMi -- so if there is a t11 float t21 is always closed and a later
-%% spanning float will always be deferred -> i doubt that all
-%% designers/editors would like to see this as a forced rule
-%% :-)
-
-It is quite likely that the current controls will turn out to be too
-crude. This will be seen once a suitable number of layouts have been
-produced under this scheme (or couldn't be produced because they
-turned out to be unspecifiable).
-
-There needs to be space between floats in an area and areas need to be
-separated from each other, as well as from the column text. For this we
-have the following keys:
-\texttt{float-float-sep} is the separation between two floats in an area,
-\texttt{float-area-sep} is the separation between two vertically
-adjacent areas, and \texttt{float-text-sep} finally is the separation
-between a float area and the column text.\footnote{A possible
-extension would be to allow ornamental material in place of white space.}
-The separation between inline floats and surrounding text is given by
-\texttt{float-inline-sep}.
-
-\subsubsection{Grid specification}
-
-To produce a grid based design the \texttt{grid-point-sep} needs to be
-given a positive dimension. This defines the distance between grid
-points on which the algorithm aligns column text, inline floats,
-etc.\footnote{Setting this parameter is not sufficient: to make grid
-setting possible several other parameters need to be set to suitable
-values as well, e.g., the distance between baselines should be
-compatible and the column height need to be a multiple of this value.}
-
-To align column text at a grid point the algorithm will extend the
-\texttt{float-text-sep} space. Alternatively, if the nearest grid
-point can be reached by shrinking that space (assuming its
-specification contains a |minus| component) the algorithm will use
-that grid point instead. In a similar fashion the space around an
-inline float will be determined by the value of
-\texttt{float-inline-sep}.
-
-
-
-\subsubsection{Footnote, etc.~specification}
-
-Finally the key \texttt{footnote-setup} receives an instance of a
-\texttt{footnotesetup} template, therby defining how footnotes are
-handled and presented.
-
-What is clearly missing here is handling of other page elements such
-as running headers and footers, the folio, etc. This will be added
-soon.
-
-
-\subsection{Float formatting declarations}
-
-For the attachment of captions to floats there exists a prototype
-interface using templates of the type |buildfloat|. At the time of
-writing, available templates are |centeredbelow|, |centeredabove|, and
-|bottomright|, which center the caption below or above the float body
-or place it to the right of it, aligned with the bottom of the float
-body. All of them would need to be generalized for a production
-system to become more flexible.
-
-When trial-formatting a float the algorithm checks for the existence
-of a number of |buildfloat| instances and uses the first one that
-exists to build the float. More precisely it first checks if an
-instance with the name \meta{area}|-|\meta{type} exists, then it looks
-for \meta{area}, then for \meta{type}, and finally, if none of them
-exists, for an instance with the name |default|. So at least the latter
-instance has to be declared by the class.
-\begin{verbatim}
- \DeclareInstance{buildfloat}{default}
- {centeredbelow}{}
- \DeclareInstance{buildfloat}{table}
- {centeredabove}{}
- \DeclareInstance{buildfloat}{t31}
- {bottomright}{}
- \DeclareInstance{buildfloat}{t22}
- {bottomright}{}
-\end{verbatim}
-The example declaration above defines the placement of captions above
-tables and below for all other types, with the exception of the areas |t31|
-and |t22| where the captions are set to the side.
-
-
-\section[Performance of the algorithm]
- {Performance of the\\algorithm}
-
-To test the performance of the algorithm we prepared a somewhat
-ridiculous test file containing three types of floats (``figures'',
-``tables'', and ``algorithms'') with a total number of 47 floats.
-The chosen
-layout had 3 columns and 11 potential float areas. Figure captions
-have been placed below the float while with tables and algorithms the
-caption was placed on top. The exception was the top areas adjacent to
-the outer margin: floats placed there got their captions placed to
-the right and partly into the margin. Footnotes were collected for all
-columns and placed in the outer margin.
-
-Floats had to strictly follow their call-out and a maximum of
-ten floats was allowed per page, i.e., roughly three per column.
-
-Since the document contained many floats early on (24 on page one) and
-the first of these was especially constructed to be not placeable the
-first time around, the algorithm had to work hard to place all the
-dangling floats. Table~\vref{tab:stats}
-%
-\begin{table}
-\footnotesize
-\begin{minipage}{\columnwidth}
-\begin{verbatim}
- STATS: floats waiting = 24 on page 1
- STATS: trials = 286
- STATS: floats waiting = 19 on page 2 (float page)
- STATS: trials = 159
- STATS: floats waiting = 37 on page 2
- STATS: trials = 397
- STATS: floats waiting = 19 on page 3 (float page)
- STATS: trials = 166
- STATS: floats waiting = 7 on page 4 (float page)
- STATS: trials = 41
- STATS: floats waiting = 20 on page 4
- STATS: trials = 204
- STATS: floats waiting = 5 on page 5 (float page)
- STATS: trials = 27
- STATS: floats waiting = 12 on page 5
- STATS: trials = 108
- STATS: floats waiting = 0 on page 6 (float page)
- STATS: trials = 0
- STATS: floats waiting = 6 on page 6
- STATS: trials = 57
- ...
- STATS: floats waiting = 6 on page 12 (float page)
- STATS: trials = 26
- STATS: floats waiting = 6 on page 12
- STATS: trials = 37
- STATS: floats waiting = 0 on page 13
- STATS: trials = 0
-\end{verbatim}
-\end{minipage}
-\caption{Statistics from the algorithm}\label{tab:stats}
-\end{table}
-%
-shows some statistics as produced by the algorithm on the number of
-trials necessary (the highest number was $397$ for $37$ floats; by
-comparison, equation~(\ref{eq:binom})~\vpageref{eq:binom} would give
-$22595200368$ which would probably take a bit longer to
-evaluate). Note that on the third page the algorithm was able to
-produce a float page, on all other pages the float page trial was
-unsuccessful.
-
-Table~\vref{tab:runs} shows the running times
-%
-\begin{table}
-\footnotesize
-\begin{tabular}{rrr}
- & \llap{P\textsc{iii}} (650MHz) & 486DX4 (75MHz)\\[6pt]
-&\multicolumn2{c}{no tracing} \\[4pt]
-real & 0m1.533s & 0m27.633s \\
-user & 0m1.460s & 0m26.940s \\
-sys & 0m0.050s & 0m0.690s \\[6pt]
-&\multicolumn2{c}{progress information} \\[4pt]
-real & 0m3.116s & 0m36.885s \\
-user & 0m1.740s & 0m34.470s \\
-sys & 0m0.080s & 0m2.420s \\[6pt]
-&\multicolumn2{c}{full tracing} \\[4pt]
-real & 0m7.833s & 1m22.480s \\
-user & 0m2.720s & 1m7.890s \\
-sys & 0m0.280s & 0m12.360s \\
-\end{tabular}
-\caption{Running times of the algorithm}\label{tab:runs}
-\end{table}
-%
-needed to produce the final document of 13 pages when the algorithm is
-used with different tracing settings. The test machines were a Pentium
-\textsc{iii}
-650 machine and an older laptop with a 486 processor. In both cases
-\TeX{} was run straight from a \TeX{} Live~4 CD.
-
-These times show that the algorithm has an acceptable time performance
-since even on a 486 the average time to produce a page is roughly 2
-seconds.
-
-
-
-\section{Outlook}
-
-While the current algorithm performs well there are several areas in
-which its functionality could and probably should be extended. The most
-important points are given in the following list.
-\begin{itemize}
-\item
- Balancing of partial pages, comparable to the way the
- \texttt{multicol} package works, should be implemented to allow for
- layouts where, for example, a heading should span across all
- columns.
-\item
- We intend to provide more control over the marginal areas, allowing
- for marginal floats as well as other objects in the margin, properly
- interacting with each other.
-\item
- Without much effort the algorithm could be extended to properly
- support double-spreads so this should be added some time soon.
-\item
- Once the algorithm has decided which floats to place onto a page one
- could add a post-processing step in which the placement could be
- reconsidered according to different rules. For example, if the
- call-out relation is |page| then floats will tend to be placed in the
- left-hand columns. This is fine as long as there are many floats to
- process but on a page with only a few floats one might want to
- redistribute them differently once it is clear which floats could go
- onto the page.
-\item
- Since it is known beforehand how many floats are actively waiting to
- be placed, one could use a different algorithm that tries all
- possible combinations as long as there are only a limited number of
- floats to be placed. The boundary at which the algorithm changes
- behavior could be made customizable so that people with faster
- machines (or more patience) could have the search for optimum running
- for as many floats as they like.
-\end{itemize}
-
-
-
-
-\bibliographystyle{plain}
-\bibliography{string,book,tub99}
-
-\vfill
-
-\end{document}
-
-
-% $Log: xo-pfloat.tex,v $
-% Revision 1.19 2000/08/11 07:08:04 latex3
-% small updates
-%
-% Revision 1.18 2000/08/04 15:39:04 latex3
-% added documentation on grid layout
-%
-% Revision 1.17 2000/07/22 06:29:55 latex3
-% documentation float class sequence
-% documentation float type options
-% documentation new page setup options
-%
-% Revision 1.16 2000/07/02 19:33:15 latex3
-% as send off to TUG 2000
-%
-% Revision 1.15 2000/06/29 17:13:56 latex3
-% corrections by David
-%
-% Revision 1.14 2000/06/22 20:41:58 latex3
-% made formatting possibilities interactive
-%
-% Revision 1.13 2000/06/16 10:10:30 latex3
-% added handling of spanning floats / call-out constraints
-%
-% Revision 1.12 2000/06/15 15:19:03 latex3
-% documented new syntax for area names
-%
-% Revision 1.11 2000/06/15 09:16:51 latex3
-% added documentation on fuzzy flushing
-%
-% Revision 1.10 2000/06/08 15:32:37 latex3
-% fixing typo in the math display
-%
-% Revision 1.9 2000/05/19 08:23:11 latex3
-% incorporated Barbara's and Phil's copy-editing suggestions
-%
-% Revision 1.8 2000/05/09 19:02:42 latex3
-% not integrated BB's edits yet
-%
-% Revision 1.7 2000/05/09 13:35:01 latex3
-% next version to BB
-%
-% Revision 1.6 2000/05/08 20:41:57 latex3
-% my additions before folding in Barbara's edits
-%
-% Revision 1.5 2000/05/08 15:33:25 latex3
-% as send to Barbara
-%
-% Revision 1.4 2000/05/08 11:22:37 latex3
-% *** empty log message ***
-%
-% Revision 1.3 2000/05/04 08:53:37 latex3
-% update title
-%
-% Revision 1.2 2000/05/04 08:51:12 latex3
-% first draft as send to David and Chris
-%
diff --git a/Master/texmf-dist/doc/latex3/xor/xo-sample.tex b/Master/texmf-dist/doc/latex3/xor/xo-sample.tex
deleted file mode 100644
index 557522959e0..00000000000
--- a/Master/texmf-dist/doc/latex3/xor/xo-sample.tex
+++ /dev/null
@@ -1,578 +0,0 @@
-\documentclass{article}
-
-
-
-\usepackage{xoutput}
-\usepackage{xo-grid}
-
-\usepackage{graphicx}
-\usepackage{trace}
-
-%\showoutput
-%\tracingpages=1
-%\tracingonline=1
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% PLAY AROUND WITH MANUAL FLOAT CONTROL
-%
-% \savefloatplacements writes the file \jobname.fpl
-% \readfloatplacements reads in \jobname.fpc
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%\savefloatplacements
-%\readfloatplacements
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% DECLARING FLOAT TYPES
-%
-% \DeclareFloatSequenceClass currently needed for each name used in
-% the sequence-class-id key (will vanish)
-%
-% \DeclareFloatType defines type
-%
-% Example below is a bit strange: all floats are in one
-% sequence class and share the same numbering but go in different tocs
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\DeclareFloatSequenceClass{figure}
-\DeclareFloatSequenceClass{tabalg} % tables and algorithms
-
-\DeclareFloatType{figure}
- {
- sequence-class-id = figure,
- toc-extension = lof,
- caption-text = \figurename,
- numbered-boolean = true,
- numbered-id = figure,
- numbered-within-id = section,
- numbered-action = \thesection.\arabic{figure},
- body-decls = \footnotesize,
- }
-
-\DeclareFloatType{table}
- {
- sequence-class-id = tabalg,
- toc-extension = lot,
- caption-text = \tablename,
- numbered-boolean = true,
- numbered-id = table,
- numbered-within-id = section,
- numbered-action = \thesection.\arabic{table},
- body-decls = \footnotesize,
- }
-
-\DeclareFloatType{algorithms}
- {
- sequence-class-id = tabalg,
- toc-extension = lot,
- caption-text = Algorithm,
- numbered-boolean = true,
- numbered-id = table,
- body-decls = \footnotesize,
- }
-
-\makeatletter
-\newcommand*\l@algorithms{\@dottedtocline{1}{1.5em}{2.3em}}
-\makeatother
-
-\renewcommand\listtablename{List of Tables and Algorithms}
-
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% DECLARING FLOAT AREAS
-%
-% \DeclareFloatArea defines a float area (which can be referenced in
-% pagesetup2 instances below)
-%
-% Ensure that partial overlapping areas close each other!
-%
-% The example is for three columns.
-%
-% Actually, don't try to use additional float areas unless you update
-% the currently hardwired \top@areas and \bot@areas lists (in xo-new)
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% spanning all three columns
-
-\DeclareFloatArea {t13}
- {
- class-close-list = ,
- all-close-list = {b13}, % don't want top and bottom floats
- max-float-num = 2,
- }
-
-\DeclareFloatArea {b13}
- {
- class-close-list = {t13,t12,t11,b11},
- all-close-list = ,
- max-float-num = 1,
- }
-
-
-% spanning two columns
-
-
-\DeclareFloatArea{t12}
- {
- class-close-list = ,
- all-close-list = {t22}, % this is a must! partial span
- max-float-num = 1,
- }
-
-
-\DeclareFloatArea{t22}
- {
- class-close-list = {t11,b11}, % b12 still open
- all-close-list = {t12},
- max-float-num = 1,
- }
-
-
-\DeclareFloatArea{b12}
- {
- class-close-list = {t11,b11},
- all-close-list = {},
- max-float-num = 1,
- }
-
-% this strange design doesn't have b22
-
-
-% single columns
-
-\DeclareFloatArea {t11}
- {
- class-close-list = ,
- all-close-list = ,
- max-float-num = 2,
- }
-
-
-\DeclareFloatArea {b11}
- {
- class-close-list = {t11},
- all-close-list = ,
- max-float-num = 1,
- }
-
-
-\DeclareFloatArea {t21}
- {
- class-close-list = {t11,b11},
- all-close-list = {t22}, % don't ask me why just to make a
- % change :-)
- max-float-num = 2,
- }
-
-
-\DeclareFloatArea {b21}
- {
- class-close-list = {t11,b11,t21},
- all-close-list = ,
- max-float-num = 1,
- }
-
-
-\DeclareFloatArea {t31}
- {
- class-close-list = {t11,b11,t21,b21},
- all-close-list = {t22}, % we don't like this one
- max-float-num = 2,
- }
-
-
-\DeclareFloatArea {b31}
- {
- class-close-list = {t11,b11,t21,b21,t31,t22},
- all-close-list = ,
- max-float-num = 1,
- }
-
-
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% DECLARING CAPTION ATTACHMENTS
-%
-% The buildfloat templates aren't yet real templates, i.e., nearly
-% everything is fixed with them. The only key they offer is the
-% distance between float body and caption.
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\DeclareInstance{buildfloat}{default}{centeredabove}
- {
- body-caption-sep = 10pt,
- }
-
-\DeclareInstance{buildfloat}{figure}{centeredbelow}
- {
- body-caption-sep = 10pt,
- }
-
-% with bottomright the body-caption-sep key is the horizontal
-% separation
-
-\DeclareInstance{buildfloat}{t31}{bottomright}
- {
- body-caption-sep = 24pt,
- }
-\DeclareInstance{buildfloat}{t22}{bottomright}
- {
- body-caption-sep = 24pt,
- }
-\DeclareInstance{buildfloat}{t13}{bottomright}
- {
- body-caption-sep = 24pt,
- }
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% DECLARING FOOTNOTE HANDLING
-%
-% The situation with footnotesetup is even worse, there are no usable
-% keys yet. But three different ``pseudo'' templates: std, ftnright,
-% and margin.
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\DeclareInstance{footnotesetup}{mainmatterstyle}{margin}{}
-%\DeclareInstance{footnotesetup}{mainmatterstyle}{std}{}
-%\DeclareInstance{footnotesetup}{mainmatterstyle}{ftnright}{}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% DECLARING PAGE LAYOUT
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\raggedbottom
-
-\setlength\topskip{12pt} % for grid layout make this = \baselineskip
- % there is some bug which will otherwise show up
-
-
-\ShowGridtrue % show the grid
-\ShowGridfalse
-
-\DeclareInstance{pagesetup2}{normal}{std}{
-%%%%%%%%%%%%%%%%%%%%%%
-% setting up columns:
-%
- column-num = 3,
- column-width = 156pt,
- column-sep = 25pt,
- column-height = 552pt,
-%%%%%%%%%%%%%%%%%%%%%%
-% constraining the float placement:
-%
- float-callout-constraint = after,
- bottom-float-footnote-constraint = forbidden,
- flush-float-callout-constraint = column,
- max-float-num =10,
-%%%%%%%%%%%%%%%%%%%%%%
-% list should pick from the above:
-%
- area-list = {t13,t12,t22,t11,b12,b11,t21,b21,t31,b31},
-%%%%%%%%%%%%%%%%%%%%%%
-% footnote placement:
-%
- footnote-setup = mainmatterstyle,
-%
-% or inline:
-%
-% footnote-setup = \UseTemplate{footnotesetup}{std}{},
-%
-%%%%%%%%%%%%%%%%%%%%%%
-% float area placement:
-%
- float-float-sep = 15pt,
- float-text-sep = 30pt minus 8pt,
- float-area-sep = 15pt,
- float-inline-sep = 6pt minus 2pt,
-%%%%%%%%%%%%%%%%%%%%%%
-% grid points?
- grid-point-sep = 12pt,
- }
-
-
-
-
-
-
-\DeclareInstance{pagesetup2}{frontmatter}{std}{
-%%%%%%%%%%%%%%%%%%%%%%
-% setting up columns:
-%
- column-num = 2,
- column-width = 237.5pt,
- column-sep = 25pt,
- column-height = 552pt + 12pt,
-%%%%%%%%%%%%%%%%%%%%%%
-% constraining the float placement:
-%
- float-callout-constraint = after,
- bottom-float-footnote-constraint = forbidden,
- max-float-num =0,
-%%%%%%%%%%%%%%%%%%%%%%
-% list should pick from the above:
-%
- area-list = {},
-%%%%%%%%%%%%%%%%%%%%%%
-% footnote placement:
-%
- footnote-setup = mainmatterstyle,
-%%%%%%%%%%%%%%%%%%%%%%
-% float area placement:
-%
- float-float-sep = 15pt,
- float-text-sep = 30pt minus 8pt,
- float-area-sep = 15pt,
- float-inline-sep = 6pt minus 2pt,
-%%%%%%%%%%%%%%%%%%%%%%
-% grid points?
- grid-point-sep = 12pt,
- }
-
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Stuff for producing test pages
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-\newcount\bc
-
-\newcommand\startpar{\par\global\advance\bc1 [\the\bc] }
-
-
-\newcommand\dofigure[1]{\startpar
- callout (#1) to a figure.
- \aa\footnote{A footnote near callout #1.}
- \par
- \begin{figure}
- \ifcase\value{figure}\relax
- \or
- \includegraphics[angle=180,width=.7\columnwidth]{rahtz18.eps}
- \or
- \includegraphics[angle=90,width=.7\columnwidth]{rahtz18.eps}
- \or
- \includegraphics[angle=180,totalheight=4\baselineskip]{escher.eps}
- \or
- \includegraphics
- [width=.9\columnwidth]{rahtz18.eps}
- \else
- \ifodd\value{figure}\relax
- \includegraphics[totalheight=4\baselineskip]{escher.eps}
- \else
- \includegraphics[angle=180,totalheight=4\baselineskip]{escher.eps}
- \fi
- \fi
- \caption{Belongs to callout (#1)}\label{mylab:fig#1}
- \end{figure}
- }
-
-\newcommand\dospanfigure[3]{%
- \startpar
- callout (#3) to a figure.
- \aa\footnote{A footnote near callout #3.}
- \par
- \def\SPANCNT{#1}
- \begin{figure}[#2]
- \ifodd\value{figure}\relax
- \ifodd\value{page}\relax
- \includegraphics[width=#1\columnwidth]{outline.eps}
- \else
- \ifnum #1=3\relax
- \includegraphics
- [totalheight=4\baselineskip,width=2.5\columnwidth]{rahtz18.eps}
- \else
- \includegraphics
- [totalheight=4\baselineskip,width=1.5\columnwidth]{rahtz18.eps}
- \fi
- \fi
- \else
- \ifodd\value{page}\relax
- \includegraphics[width=1.3\columnwidth]{cat.eps}
- \else
- \includegraphics[width=#1\columnwidth]{outline2.eps}
- \fi
- \fi
- \caption{Belongs to callout (#3)}\label{mylab:fig#3}
- \end{figure}\par
- \def\SPANCNT{}
- }
-
-\newcommand\doalg[1]{\startpar
- callout (#1) to an algorithm.%
- \begin{algorithms}
- \caption{Belongs to (#1)}
- \ifnum #1<20\relax
- \includegraphics[totalheight=#1\baselineskip]{cat.eps}
- \else
- \includegraphics[totalheight=20\baselineskip]{cat.eps}
- \fi
- \end{algorithms}\par}
-
-
-\newcommand\dotable[1]{\par
- \par
- \global\advance\bc1 [\the\bc] callout (#1) to a table.
- \aa
- \par
-\begin{table}
-\caption{Belongs to callout (#1)}\label{mylab:tab#1}
-\includegraphics[width=\columnwidth]{europe.eps}
-\end{table}
- }
-
-\newcommand\bb{\startpar \aa\aa\aa \par}
-
-\newcommand\sample{%
- Infandum, re\-gi\-na, iu\-b\-es re\-no\-va\-re do\-lo\-rem,
- Troi\-a\-n\-as ut op\-es et
- la\-men\-ta\-bile re\-g\-num cru\-e\-rint Da\-nai;
- qua\-e\-que ip\-se mis\-er\-ri\-ma vi\-di, et
- qu\-o\-rum pa\-rs ma\-g\-na fui.}
-
-\newcommand\smallsample{%
- Infandum, re\-gi\-na, iubes renovare do\-lo\-rem, Troi\-a\-n\-as ut opes et
- la\-men\-ta\-bile regnum cru\-e\-rint Da\-nai; qua\-e\-que \ldots}
-
-\renewcommand\aa{\space\sample}
-
-
-\begin{document}
-
-\UseInstance{pagesetup2}{frontmatter}
-
-
-\listoffigures
-\columnbreak
-
-\listoftables
-
-\vfil
-
-Note the strange ordering above due to the way the areas are visually
-ordered---sorting isn't yet implemented.
-
-\UseInstance{pagesetup2}{normal}
-
-%
-
-
-\section{First section}
-
-
-\begin{figure}[t21]
- \frame{\parbox{\columnwidth}{
- figure forced into t21
- figure forced into t21
- }}
- \caption{A special one}
-\end{figure}
-
-
-\dofigure2
-\dofigure3
-\dospanfigure{3}{t13}{4}
-\dofigure5
-\dofigure6
-\dospanfigure{3}{t13}{7}
-\dofigure8
-\dofigure9
-\doalg{10}
-\doalg{11}
-\doalg{12}
-\doalg{13}
-\doalg{14}
-\doalg{15}
-\doalg{16}
-\doalg{17}
-\doalg{18}
-\dofigure{19}
-\dofigure{20}
-\dospanfigure{2}{b12}{21}
-\dofigure{22}
-\dofigure{23}
-\dofigure{24}
-\dofigure{25}
-
-\flushfloats % this could be part of \section setup one day
-\section{Another section}
-
-\dofigure{26}
-\dofigure{27}
-\dofigure{28}
-\dofigure{29}
-\dofigure{30}
-\dofigure{31}
-
-\bb
-\bb
-
-\dotable{32}
-\dotable{33}
-\dotable{34}
-
-\dofigure{35}
-\dofigure{36}
-
-\bb\bb
-
-\bb
-
-\dospanfigure{2}{t22}{37}
-\dospanfigure{2}{b12}{38}
-\dospanfigure{2}{t12}{39}
-\dotable{40}
-\dofigure{41}
-
-\bb
-\bb
-\dofigure{42}
-\dospanfigure{2}{t12}{43}
-
-\bb
-
-
-\bb
-\bb
-
-\bb
-\bb
-\bb
-
-
-
-\dospanfigure{2}{t32}{44} %AREA DOES NOT EXIST!
-\dofigure{45}
-
-
-\bb\bb\bb\bb
-
-\dotable{46}
-
-\bb\bb\bb\bb\bb\bb\bb\bb\bb\bb\bb\bb\bb\bb\bb\bb
-
-\doalg{47}
-\bb\bb\bb\bb\bb\bb\bb\bb\bb
-\bb\bb\bb\bb\bb\bb\bb\bb\bb\bb\bb
-
-THE END % just to make sure we don't lose text
-
-
-
-\end{document}
-
diff --git a/Master/texmf-dist/source/latex3/xor/xmarks.dtx b/Master/texmf-dist/source/latex3/xor/xmarks.dtx
deleted file mode 100644
index c8286827ec0..00000000000
--- a/Master/texmf-dist/source/latex3/xor/xmarks.dtx
+++ /dev/null
@@ -1,956 +0,0 @@
-% \iffalse
-%%
-%% (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.
-%%
-% \begin{macrocode}
-\def\next#1: #2.dtx,v #3 #4 #5 #6 #7$#8{
-%<*dtx>
- \ProvidesFile{#2.dtx}
-%</dtx>
-%<package>\ProvidesPackage{#2}
-%<driver>\ProvidesFile{#2.drv}
- [#4 #3 #8 (#6)]}
-\next$Id: xmarks.dtx,v 1.6 2000/06/13 20:47:23 latex3 Exp $
- {multiple marks}
-% \end{macrocode}
-%
-%<*driver>
- \documentclass{ltxdoc}
-%
- \begin{document}
- \DocInput{xmarks.dtx}
- \end{document}
-%</driver>
-%
-% \fi
-%
-%
-% \GetFileInfo{xmarks.dtx}
-%
-% \title{The \textsf{xmarks} package\thanks{This file
-% has version number \fileversion, last
-% revised \filedate.}}
-% \author{FMi}
-% \date{\filedate}
-%
-% \maketitle
-%
-% \tableofcontents
-%
-%
-%
-% \section{Mark algorithm}
-%
-% To allow for completely independent marks we use the following
-% procedure:
-% \begin{itemize}
-% \item
-% For every mark of type \meta{type} we have a queue that holds every mark
-% info found in memory. Every info is associated with a unique number,
-% i.e., we simply count them. The queue always holds at least one item
-% which is the previous mark info, i.e., the last mark for that type on
-% the previous page.
-%
-% \item
-% We use \TeX's internal mark mechanism only to record the associated
-% numbers for marks for every type on the current page.
-%
-% \item
-% For every \meta{type} we record the info-number that belongs to the last
-% mark of the previous page.
-%
-% \item
-% By looking at \TeX's internal |\botmark| we can determine the
-% info-number of the last mark for every \meta{type} that is on the current
-% page.
-%
-% \item
-% The difference between this number and the info-number from the last
-% page gives us the number of marks for every \meta{type} on the current page.
-%
-% \item
-% That way we are able to decide how to extract items from the queue so
-% that first, last, and previous mark for every type can be accessed.
-% \begin{itemize}
-% \item
-% If the difference is zero, no new marks have been added on the
-% current page, therefore the only item on the corresponding mark type
-% queue holds the info that should be previous, first, and last mark of
-% this type for the current page.
-% \item
-% If the difference is one, then the first item in the queue represents
-% the info that should become the previous mark (it will be popped off)
-% and the second item (which will be kept, since it will become the
-% previous mark for the next page) should become first and last mark for
-% the current page.
-% \item
-% Otherwise we had at least two marks for this type on the current page.
-% Therefore, the first item in the queue will become previous mark (popped
-% off), the second will become first mark (popped off), then we pop off
-% all but the last item in the queue, which will become last mark, by only
-% looking at it.
-% \end{itemize}
-% In other words every queue should hold only one item after this part of
-% the algorithm has acted.
-% After this is done we save the info-numbers given by |\botmark|
-% as the info-numbers of the last page, so that they are available next time.
-%
-% \item
-% Putting a mark into the galley therefore means to put its info to the
-% right of the corresponding queue, increment the current info-number for
-% \meta{type} by one and putting a \TeX{} mark into the galley holding the
-% current info-numbers for all \meta{types}.
-%
-% \end{itemize}
-%
-%
-% \subsection{Restrictions}
-%
-% One restriction in using this algorithm without further refinements
-% is that for every \meta{type} there will be an upper limit of marks allowed
-% within one document. This upper limit is given by |\maxdimen| which is
-% probably high enough to ignore it, but it could be improved by resetting
-% the info numbers whenever all marks have found their way onto the
-% current page.
-%
-% Another restriction is that one better not changes from linearily
-% processing the data for the main galley, or, if one modifies that
-% processing one needs to carefully adjust the data structures for the
-% marks as well. The problem being that the individual marks within a
-% preprocessed galley will stay there forever (and thus can be parsed
-% several times), the external data structures, e.g., the plists and
-% the sequences however need manual corrections in that case.
-%
-% \subsection{Implementation}
-%
-% The original implementation was done on a portable PC in a train
-% sometime in 1992/93 and is just a straight implementation of the
-% above algorithm using plists to hold the current and the last
-% info-numbers. The whole stuff could be done much better by analysing
-% the algorithm combining common parts (a lot of thing have be done
-% twice, etc.) and recoding the rest in a better way.
-%
-% The implementation below is more or less a straight adaption
-% of that code, so it still needs a rewrite one day. It is based on
-% modules implementing ``queues'', ``property lists'', and ``quarks''
-% most of which have been published as experimental code with a
-% slightly different surface syntax, i.e., as \texttt{l3seq.sty},
-% \texttt{l3prop.sty}, and \texttt{l3quark.sty}.
-%
-% New stuff:
-% \begin{macrocode}
-\RequirePackage{ldcsetup}
-\IgnoreWhiteSpace
-% \end{macrocode}
-%
-% \begin{macrocode}
-\long\def\@firstofthree#1#2#3{#1}
-\long\def\@secondofthree#1#2#3{#2}
-\long\def\@thirdofthree#1#2#3{#3}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\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}
-% \end{macrocode}
-%
-%
-%
-%
-%
-% \subsection{Commands for manipulating queues}
-%
-% \begin{macro}{\trace@queue}
-% \begin{macro}{\trace@queue@internal}
-% \begin{macro}{\tracingqueues}
-% \begin{macrocode}
-%<*trace>
-\def\trace@queue#1{\ifnum \tracingqueues > \z@
- \typeout{Queues:~ #1~ \on@line}\fi}
-\def\trace@queue@internal#1{\ifnum\tracingqueues>\@ne
- \typeout{Queues:~ #1~ \on@line}\fi}
-\newcount\tracingqueues
-%</trace>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\queue@new@c}
-% \begin{macrocode}
-\def\queue@new@c#1{\@namedef{#1}{}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\queue@gadd@Nn}
-% \begin{macrocode}
-\def\queue@gadd@Nn#1#2{\expandafter\gdef\expandafter#1\expandafter
- {#1\queue@elt#2\queue@eelt}
-%<*trace>
- \trace@queue@internal{add~ `#2'~ to~ queue~ \string#1}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\queue@gadd@cn}
-% \begin{macrocode}
-\def\queue@gadd@cn#1{\expandafter\queue@gadd@Nn\csname#1\endcsname}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\queue@top@NN}
-% \begin{macrocode}
-\def\queue@top@NN#1#2{
- \queue@empty@err@N#1
- \expandafter\queue@top@split@w#1\q@stop{\def#2}
-%<*trace>
- \trace@queue@internal{top~ of~ queue~\string#1:~`\tlp@to@str@N#2'}
-%</trace>
-}
-% \end{macro}
-%
-% \begin{macro}{\queue@top@split@w}
-\def\queue@top@split@w\queue@elt#1\queue@eelt#2\q@stop#3{#3{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\queue@top@cN}
-% \begin{macrocode}
-\def\queue@top@cN#1{\expandafter\queue@top@NN\csname#1\endcsname}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\queue@pop@aux@nnNN}
-% \begin{macro}{\queue@pop@aux@w}
-% \begin{macrocode}
-\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}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\queue@gpop@NN}
-% \begin{macrocode}
-\def \queue@gpop@NN #1#2{\queue@pop@aux@nnNN \gdef \def #1 #2
-%<*trace>
- \trace@queue@internal{pop~ of~ queue~\string#1:~`\tlp@to@str@N #2'}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\queue@gpop@cN}
-% \begin{macrocode}
-\def \queue@gpop@cN #1{\expandafter\queue@gpop@NN\csname#1\endcsname}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\queue@empty@err@N}
-% \begin{macrocode}
-\def\queue@empty@err@N #1{\ifx#1\@empty \ERROR \fi}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-%
-%
-%
-%
-% \subsection {Quarks}
-%
-% A quark is a control sequence that expands into itself@ |\def|
-% |\foo{\foo}|. Quarks provide a cheap way of generating distinct
-% constants. Also, they permit the following ingenious trick: when
-% you pick up a token in a temporary, and you want to know whether you
-% have picked up a particular quark, all you have to do is compare the
-% temporary to the quark using |\ifx|.
-%
-% \begin{macro}{\quark@new@N}
-% Allocate a new quark.
-% \begin{macrocode}
-\def \quark@new@N #1{\def #1{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\q@stop}
-% \begin{macro}{\q@no@value}
-% \begin{macro}{\q@nil}
-% |\q@stop| is often used as a marker in parameter text,
-% |\q@no@value| is the canonical missing value, and |\q@nil|
-% represents a nil pointer in some data structures.
-% \begin{macrocode}
-\quark@new@N \q@stop
-\quark@new@N \q@no@value
-\quark@new@N \q@nil
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\q@error}
-% \begin{macro}{\q@mark}
-% We need two additional quarks. |\q@error| delimits the end of
-% the computation for purposes of error recovery. |\q@mark| is
-% used in parameter text when we need a scanning boundary that is
-% distinct from |\q@stop|.
-% \begin{macrocode}
-\quark@new@N\q@error
-\quark@new@N\q@mark
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\quark@if@no@value@NTF}
-% \begin{macro}{\quark@if@no@value@NF}
-% \begin{macro}{\quark@if@no@value@nTF}
-% \begin{macro}{\quark@if@no@value@nT}
-% \begin{macro}{\quark@if@no@value@nF}
-% Here we test if we found a special quark as the first argument.
-% The argument might contain an arbitrary list of tokens, therefore
-% we have to wrap it up in a token list pointer.
-% \begin{macrocode}
-\def \quark@if@no@value@NTF #1{
-% \end{macrocode}
-% We better start with |\q@no@value| as the first argument since
-% the whole thing may otherwise loop if |#1| is wrongly given
-% a string like |aabc| instead of a single token.\footnote{It may
-% still loop in special circumstances however!}
-% \begin{macrocode}
- \ifx\q@no@value#1
- \expandafter\@firstoftwo
- \else \expandafter\@secondoftwo \fi}
-% \end{macrocode}
-% It would be possible to speed up the following commands by
-% providing individual implementations similar to the one above.
-% Should perhaps be done if they are used often!
-% \begin{macrocode}
-\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}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\quark@if@nil@NTF}
-% A function to check for the presence of |\q@nil|.
-% \begin{macrocode}
-\def\quark@if@nil@NTF#1{
- \ifx#1\q@nil
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo\fi}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \subsection{Commands for manipulating property lists}
-%
-%
-% \begin{macro}{\prop@new@N}
-% \begin{macrocode}
-\def \prop@new@N #1{\def #1{}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\prop@put@NNn}
-% \begin{macro}{\prop@gput@NNn}
-% \begin{macro}{\prop@gput@NNo}
-% \begin{macro}{\prop@gput@cco}
-% \begin{macro}{\prop@gput@ccn}
-% \begin{macrocode}
-\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}}
-% missing commands for galley stuff...
-\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
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\prop@put@aux@w}
-% \begin{macrocode}
-\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}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\prop@split@aux@NNn}
-% \begin{macrocode}
-\long\def \prop@split@aux@NNn #1#2#3{
- \def\tmp@w ##1#2##2##3\q@stop {#3{##1}{##2}{##3}}
-% ^ ^ needed!
- \expandafter\tmp@w #1#2\q@no@value \q@stop}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\prop@get@NNN}
-% \begin{macrocode}
-\long\def \prop@get@NNN #1#2{\prop@split@aux@NNn
- #1#2\prop@get@aux@w}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\prop@get@aux@w}
-% \begin{macrocode}
-\long\def \prop@get@aux@w #1#2#3#4{\def#4{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\prop@map@funct@Nn}
-% \begin{macrocode}
-\let \prop@map@funct@Nn \@gobbletwo
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\prop@map@NN}
-% \begin{macrocode}
-\def \prop@map@NN #1#2{
- \let \prop@map@funct@Nn #2
- \expandafter\prop@map@aux@w #1\q@stop \q@stop}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\prop@map@aux@w}
-% \begin{macrocode}
-\def \prop@map@aux@w #1#2{
- \ifx #1\q@stop \else
- \prop@map@funct@Nn #1{#2}
- \expandafter\prop@map@aux@w
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\prop@map@cN}
-% \begin{macrocode}
-\def \prop@map@cN #1{
- \expandafter \prop@map@NN \csname #1\endcsname }
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-%
-%
-% \subsection{Commands for manipulating marks}
-%
-%
-%
-% \begin{macro}{\trace@mark}
-% \begin{macro}{\trace@mark@internal}
-% \begin{macro}{\tracingmarks}
-% Tracing is done when |\tracingmarks| is positive.
-% \begin{macrocode}
-%<*trace>
-\def\trace@mark#1{\ifnum \tracingmarks > \z@
- \typeout{Marks:~ #1~ \on@line}\fi}
-\def\trace@mark@internal#1{\ifnum\tracingmarks>\@ne
- \typeout{Marks:~ #1}\fi}
-\newcount\tracingmarks
-%</trace>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\mark@new}
-% Defines a new mark label and retrieval token list pointer.
-% \begin{macrocode}
-\def\mark@new#1{
-%<*trace>
- \trace@mark
- {new~mark:~\string#1}
-%</trace>
-% \end{macrocode}
-% We make sure that the argument is still free and allocate the
-% corresponding queue. To avoid problems with the use of such tlp's
-% when they are used before the first |\mark@update@structure| we initialize
-% them in a way that |\mark@previous| and the like will accept them even
-% then.
-% \begin{macrocode}
- \newcommand* #1 {{}{}{}}
- \queue@new@c{\string#1@seq}
-% \end{macrocode}
-% The last info-number for this type will be set to |1| This value
-% is actually arbitrary and we could use |-\maxdimen+1| to get the
-% range doubled.
-% \begin{macrocode}
- \prop@gput@NNn\mark@last@plist#1{1}
-% \end{macrocode}
-% More important is that the starting value for the current
-% info-number is one less then the one used above.
-% \begin{macrocode}
- \prop@gput@NNn\mark@curr@plist#1{0}
-% \end{macrocode}
-% We now put the very first mark of this type in. This mark will be
-% empty. This will initialize the queue (now holding the empty previous
-% mark) increment the current info number, so that last and current are
-% now equal and also puts a \TeX{} mark into the galley will the
-% additional type present.
-% \begin{macrocode}
- \mark@put@Nn#1{}%
-% \end{macrocode}
-% \begin{macrocode}
- \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}
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\mark@save@state}
-% \begin{macro}{\mark@restore@state@internal}
-% Save and restore the current state of the mark data
-% structure. The commands will be extended by |\mark@new|. They are
-% needed if part of the main galley is being reused or several
-% times parsed.
-% \begin{macrocode}
-\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}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\mark@restore@state}
-% |\mark@restore@state| will restore the state of the mark
-% mechanism to the one saved by |\mark@save@state|. It has to be
-% called inside an output routine and as it needs an output routine
-% of its own to restore the |\mark| status of the bottom mark (so
-% that \TeX{} correctly updates the mark registers in case it
-% doesn't find a mark in box 255) it has an argument which is
-% executed inside that output routine to regain control.
-%
-% The code in the argument has to set |\output| to a new output
-% routine! If not you are in trouble.
-%
-% \begin{macrocode}
-\def\mark@restore@state#1{%
-%<*trace>
- \@tracepush{mark@restore@state}
-%</trace>
-% \end{macrocode}
-% We first restore the external data structures by calling
-% |\mark@restore@sate@internal|. Then we have to ensure that \TeX's
-% idea of what the current |\botmark| is, corresponds to what it
-% was when we saved the state. Back then it was the contents of
-% |\mark@last@plist| so we are now adding an empty box and then
-% mark with is contents
-% onto the MVL followed by a penalty that ensures we trigger the
-% output routine and then specify a tiny little output routine
-% whose sole purpose is to get that mark processed.
-% \begin{macrocode}
- \mark@restore@state@internal
- \hbox{}%
-% \end{macrocode}
-% We have to protect |\mark@last@plist| from expanding too far
-% inside the |\mark| so we first put it into a token register
-% before applying |\mark|.
-% \begin{macrocode}
- \@temptokena\expandafter{\mark@last@plist}%
-%<*trace>
- \trace@mark@internal{restoring~ botmark~ \the\@temptokena}%
-%</trace>
- \mark
- {\the\@temptokena}
- \penalty-20203\relax
-% \end{macrocode}
-% We are not setting |\vsize| assuming its positive. So the moment
-% we return from the current output routine (we are hopefully in
-% right now) we should very very soon find the above penalty and
-% then trigger the output routine we are about to define now.
-%
-% In that output routine we have a quick test for the
-% |\outputpenalty| just to ensure that we really grabbed what we
-% are supposed to grab. Then we throw away the contents of box 255
-% since all we wanted todo is to get |\botmark| set back to the
-% value of our mark above. Finally we execute whatever got passed
-% along as argument one to regain control. Since current |\output|
-% has a rather funny definition the code in that argument better
-% change that back to something that does a little bit more
-% typesetting.
-% \begin{macrocode}
- \global\output{%
-%<*trace>
- \@tracepush{mark@restore@state@or}
-%</trace>
- \ifnum-20203=\outputpenalty\else \ERROR \fi
- \global\setbox\@cclv\box\voidb@x
- #1%
-%<*trace>
- \@tracepop{mark@restore@state@or}
-%</trace>
- }%
-%<*trace>
- \@tracepop{mark@restore@state}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\mark@put@Nn}
-% To put a mark into the current horizontal or vertical \TeX{} list
-% we first update |\mark@curr@plist| and then put its value into the
-% mark without any further expansion. (The code could be
-% optimized!)
-% \begin{macrocode}
-%<-trace>\def\mark@put@Nn#1{% % wtest hack }
-%<*trace>
-\def\mark@put@Nn#1#2{
- \def\l@tmpa@tlp{#2}
- \trace@mark
- {set~\string#1~<-~\tlp@to@str@N\l@tmpa@tlp}
-%</trace>
-% \end{macrocode}
-% First we have to update the current info number for this type. The
-% code is a bit complicated because we have to get the number from the
-% the plist update it and then put it back. If we would keep the numbers
-% differently this could be improved, probably at the cost of more macro
-% names.
-% \begin{macrocode}
- \@temptokena\expandafter{\mark@curr@plist}
- \prop@get@NNN\mark@curr@plist#1\@tempa
-%<*debug>
- \ifx\q@no@value\@tempa
- \ERROR
- \fi
-%</debug>
- \@tempcnta\@tempa
- \advance\@tempcnta\@ne
- \expandafter
- \prop@gput@NNn\expandafter\mark@curr@plist\expandafter#1\expandafter
- {\the\@tempcnta}
-% \end{macrocode}
-% Now we want to put this plist into a \TeX{} mark. We need a
-% one-level expansion, otherwise our pkeys would expand which would
-% produce chaos. So we save it in a toks register.
-% \begin{macrocode}
- \@temptokena\expandafter{\mark@curr@plist}
- \mark
- {\the\@temptokena}
-% \end{macrocode}
-% Finally we shouldn't forget to put the info at the right of the
-% corresponding queue.
-% Without tracing we can omit the second argument to
-% this function.
-% \begin{macrocode}
-%<*trace>
- \queue@gadd@cn{\string#1@seq}{#2}
-%</trace>
-%<-trace> \queue@gadd@cn{\string#1@seq}%
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\mark@put@Nnn}
-% \begin{macrocode}
-\def\mark@put@Nnn#1#2#3{
- \mark@put@Nn#1{#2#3}}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\mark@update@structure}
-% This function is for use in output routines to initialize the marks
-% at the beginning. It is only useful after \TeX{} internally has
-% updated |\botmark|.
-% \begin{macrocode}
-\def\mark@update@structure{
-% \end{macrocode}
-% We map a function over all keys in |\mark@last@plist|, in other
-% words over all types of marks. This routine will set the marks for
-% all types. Finally we set the plist |\mark@last@plist| to the
-% plist that was stored in |\botmark|, i.e., to the
-% info-numbers from this page.
-% \begin{macrocode}
- \prop@map@NN\mark@last@plist\mark@retrieve@single@Nn
- \expandafter\gdef\expandafter\mark@last@plist\expandafter{\botmark}
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\mark@retrieve@single@Nn}
-% This function will be mapped over the plist containing the info-numbers
-% from the last page. This means that |#1| will be the key (which is
-% simply our type token list pointer and |#2| is the value, i.e. the
-% info-number from the last page for this type.
-% \begin{macrocode}
-\def\mark@retrieve@single@Nn#1#2{
-%<*trace>
- \trace@mark@internal
- {queue~for~\string#1~ before:~`\tlp@to@str@c{\string#1@seq}'}
-%</trace>
-% \end{macrocode}
-% We retrieve the info number for this type from |\botmark|
-% and store the difference in |\@tempcnta|.
-% \begin{macrocode}
- \@temptokena\expandafter{\botmark}%
-%<*trace>
- \trace@mark@internal{picking~ up~ from~ output~ \the\@temptokena}%
-%</trace>
- \prop@get@NNN\botmark#1\@tempa
-%<*debug>
- \ifx\q@no@value\@tempa
- \ERROR
- \fi
-%</debug>
- \@tempcnta\@tempa
- \advance\@tempcnta-#2\relax
-%<*trace>
- \trace@mark@internal
- {found~\the\@tempcnta\space entries~ for~ \string#1~
- (new~\@tempa;~old~#2)}
-%</trace>
-% \end{macrocode}
-% Then we decide what to do depending on its value.
-% We use |\@tempa|, |\@tempb|, and |\@tempc| to
-% temporarily hold the previous, first and last mark for this type.
-% \begin{macrocode}
- \ifcase\@tempcnta
-% \end{macrocode}
-% If there haven't been any new marks we leave the queue alone,
-% peeking only at its top element and using it for all three marks.
-% \begin{macrocode}
- \queue@top@cN{\string#1@seq}\@tempa
- \let\@tempb\@tempa
- \let\@tempc\@tempa
- \or
-% \end{macrocode}
-% When there was one mark of this type, we pop one item for the
-% previous mark of this type, and use the remaining item for first
-% and last mark.
-% \begin{macrocode}
- \queue@gpop@cN{\string#1@seq}\@tempa
- \queue@top@cN{\string#1@seq}\@tempb
- \let\@tempc\@tempb
- \else
-% \end{macrocode}
-% If we had more than one mark for this type we pop one mark for the
-% previous mark of this type, then pop another mark for the first
-% mark of this type, then pop all but the last item and use the last
-% item as the last mark of this type, keeping it as before on the
-% queue.
-% \begin{macrocode}
- \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
-% \end{macrocode}
-% After this process all values for previous, first and last mark for
-% this type are found so that we can store them in the tlp
-% representing this type for further processing.
-% \begin{macrocode}
- \@temptokena\expandafter{\@tempa}
- \@temptokenb\expandafter{\@tempb}
- \@temptokenc\expandafter{\@tempc}
- \edef#1{{\the\@temptokena}{\the\@temptokenb}{\the\@temptokenc}}
-%<*trace>
- \trace@mark
- {in~output:~\string#1~->~\tlp@to@str@N#1}
-% \end{macrocode}
-% At this point the queue should show only one item.
-% \begin{macrocode}
- \trace@mark@internal
- {queue~ for~\string#1~after:~`\tlp@to@str@c{\string#1@seq}'}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@temptokenb}
-% \begin{macro}{\@temptokenc}
-% \begin{macrocode}
-\newtoks\@temptokenb
-\newtoks\@temptokenc
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\mark@curr@plist}
-% \begin{macro}{\mark@last@plist}
-% Here are the allocations for the two plists used.
-% \begin{macrocode}
-\prop@new@N\mark@curr@plist
-\prop@new@N\mark@last@plist
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-%
-%
-%
-%
-% \begin{macro}{\mark@get@first@N}
-% \begin{macro}{\mark@get@last@N}
-% \begin{macro}{\mark@get@previous@N}
-% To retrieve the first, last or previous page mark, we
-% grap the appropriate value stored in the tlp. The marks are stored
-% in the tlp in the order previous, first, last mark. These functions
-% should be used only in output routines after |\mark@retrieve| has
-% acted, otherwise their value will be wrong. They are all fully
-% expandable.
-%
-% Actually, they may bomb when tracing is included and we have
-% material that doesn't work corretly within a write.
-% \begin{macrocode}
-%<*trace>
-\def\mark@get@first@N#1{
- \expandafter\@secondofthree#1
- \trace@mark@internal{use~first~\string#1~=~
- `\expandafter\@secondofthree#1'}
-}
-\def\mark@get@last@N#1{
- \expandafter\@thirdofthree#1
- \trace@mark@internal{use~ last~ \string#1~ =~
- `\expandafter\@thirdofthree#1'}
-}
-\def\mark@get@previous@N#1{
- \expandafter\@firstofthree#1
- \trace@mark@internal{use~prev~\string#1~ =~
- `\expandafter\@firstofthree#1'}
-}
-%</trace>
-%<-trace>\def\mark@get@first@N{%
-%<-trace> \expandafter\@secondofthree}
-%<-trace>\def\mark@get@last@N{%
-%<-trace> \expandafter\@thirdofthree}
-%<-trace>\def\mark@get@previous@N{%
-%<-trace> \expandafter\@firstofthree}
-% \end{macrocode}
-% above version in trace case doesn't work alway!
-% \begin{macrocode}
-\def\mark@get@first@N{%
- \expandafter\@secondofthree}
-\def\mark@get@last@N{%
- \expandafter\@thirdofthree}
-\def\mark@get@previous@N{%
- \expandafter\@firstofthree}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\DeclareMarkType}
-% \begin{macrocode}
-\def\DeclareMarkType#1{
- \expandafter\mark@new\csname mark@#1\endcsname}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\PutMark}
-% \begin{macrocode}
-\def\PutMark#1{
- \@ifundefined{mark@#1}{\ERROR}{}
- \expandafter\mark@put@Nn\csname mark@#1\endcsname}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\PreviousMark}
-% \begin{macrocode}
-\def\PreviousMark#1{
- \expandafter\mark@get@previous@N\csname mark@#1\endcsname}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FirstMark}
-% \begin{macrocode}
-\def\FirstMark#1{
- \expandafter\mark@get@first@N\csname mark@#1\endcsname}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\LastMark}
-% \begin{macrocode}
-\def\LastMark#1{
- \expandafter\mark@get@last@N\csname mark@#1\endcsname}
-% \end{macrocode}
-% \end{macro}
-%
-% \Finale
-%
-\endinput
-%
-% $Log: xmarks.dtx,v $
-% Revision 1.6 2000/06/13 20:47:23 latex3
-% docu update
-% inlined quarks code
-%
diff --git a/Master/texmf-dist/source/latex3/xor/xo-alloc.dtx b/Master/texmf-dist/source/latex3/xor/xo-alloc.dtx
deleted file mode 100644
index 05250715ccb..00000000000
--- a/Master/texmf-dist/source/latex3/xor/xo-alloc.dtx
+++ /dev/null
@@ -1,125 +0,0 @@
-% \iffalse
-%%
-%% (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.
-%%
-% \fi
-%
-% \begin{macrocode}
-\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 $
-% \end{macrocode}
-%
-%
-% Ignore white space in this package.
-% \begin{macrocode}
-\IgnoreWhiteSpace
-% \end{macrocode}
-%
-% |\footins| is FD, should probably move to FE
-%
-% |\@footins| is FE, should probably go and be replaced by a box and skip allocation
-% they don't need to be same number, except for compatibility reasons.
-%
-% |\@kludgeins| was EA maybe can go, depending on how enlargethispage to be implemented.
-% for now, move to FC (which was bx@A
-% \begin{macrocode}
-\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
-% \end{macrocode}
-%
-% \begin{macrocode}
-\insc@unt"FC\relax
-% \end{macrocode}
-%
-% count dimen skip no longer bounded by insertion allocation.
-% toks now bounded by insertions.
-% \begin{macrocode}
-\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}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\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}}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\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
-% \end{macrocode}
-%
-% like |\@next| but allocates to list if empty (so doesn't have the
-% 4th argument) There is a hidden 3rd argument, picked up by |\@xnext|.
-% \begin{macrocode}
-\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}
-% \end{macrocode}
-%
-% \begin{macrocode}
-% \end{macrocode}
-%
-% \begin{macrocode}
-% \end{macrocode}
-%
-% \begin{macrocode}
-% \end{macrocode}
-%
-% \begin{macrocode}
-% \end{macrocode}
-%
-% \begin{macrocode}
-% \end{macrocode}
-
-%
-% \endinput
-\endinput
-%
-% $Log: xo-alloc.dtx,v $
-% Revision 1.4 2000/08/11 07:13:34 latex3
-% added header
-%
-% Revision 1.3 2000/06/13 20:54:46 latex3
-% made this a dtx file
-%
-% Revision 1.2 2000/02/22 01:03:55 david
-% *** empty log message ***
-%
-% Revision 1.1 2000/02/22 00:52:52 david
-% Initial revision
-%
diff --git a/Master/texmf-dist/source/latex3/xor/xo-capt.dtx b/Master/texmf-dist/source/latex3/xor/xo-capt.dtx
deleted file mode 100644
index 618e22f94d7..00000000000
--- a/Master/texmf-dist/source/latex3/xor/xo-capt.dtx
+++ /dev/null
@@ -1,306 +0,0 @@
-% \iffalse
-%%
-%% (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.
-%%
-% \fi
-%
-
-% \begin{macrocode}
-\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 $
-% \end{macrocode}
-%
-% Ignore white space in this package.
-% \begin{macrocode}
-\IgnoreWhiteSpace
-% \end{macrocode}
-%
-%
-% \subsection{Modifying the caption command}
-%
-% \begin{macro}{\@caption}
-% |\caption| just saves its main argument in a token register. It also
-% has |\unskip| and |\ignorespaces| to cope with hmode.
-% The format of the token register is:\\
-% \marg{type}\marg{number}\marg{caption text}\marg{extra info}\\
-% The \meta{type} is something like `figure', used to generate the
-% relevant command names. \meta{number} is the fully expanded version of
-% |\the|\ldots. The last group is unused by the current definition
-% but extended packages may use it to pass extra information to the
-% float handler, as required.
-% \begin{macrocode}
-\def\caption{\@dblarg{\@caption\float@type}}
-
-\long\def\@caption#1[#2]#3{%
- \unskip
-% \end{macrocode}
-% We use the old \LaTeX{} interface with |\addcontentsline| for the
-% moment.\footnote{FIX!!}
-% \begin{macrocode}
- \addcontentsline{\csname toc@extension@#1\endcsname}{#1}
-% \end{macrocode}
-% The counter used is not |#1| but given by (|\foat@counter|) which
-% should perhaps be passed along but isn't:
-% \begin{macrocode}
- {\protect\numberline{\csname the\float@counter\endcsname}
- {\ignorespaces #2}}
- \global\toks\@currbox{#3}
- \ignorespaces
- }
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \subsection{Adding captions to float boxes}
-%
-% This should really be a template instance.
-% Must \emph{copy} the float body in |\this@float@box|
-% into |\this@captioned@float| adding the caption text.
-% May use |\this@area|, |\this@area@col@number| and other information, to be
-% determined \ldots
-%
-% \begin{macro}{\append@caption@to@float}
-% Combine float body and caption of the current float (``this
-% float'') and store it in |\this@captioned@float|.
-% \begin{macrocode}
-\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
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\append@here@caption@to@float}
-% Combine float body and caption of the current here float and
-% store it in |\this@captioned@float|.
-% \begin{macrocode}
-\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
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\typeset@this@float@and@caption}
-% Combine float body and caption of the current float (``this
-% float'') and output it into the current list.
-% \begin{macrocode}
-\def\typeset@this@float@and@caption{
- \append@caption@to@float
- \box\this@captioned@float
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \section{Some primitive templates for testing}
-%
-% prove of concept only --- not even prototype
-%
-%
-% \begin{macro}{\typeset@some@floatbox}
-% The macro |\typeset@some@floatbox| take 7 arguments as follows:
-% \begin{description}
-% \item[type] type of the float to be typeset
-% \item[area] area in which to format the float
-% \item[floatbody box] box register in which the body of the float
-% is stored
-% \item[caption heading] fixed text like ``Figure''
-% \item[caption number] caption number of the float
-% \item[caption text] caption text of the float
-% \item[span count] span count (normally deducable from the area
-% but\ldots
-% \end{description}
-% The first two arguments are used to decide which formatting
-% instance to call, the remaining arguments are passed to that
-% instance.
-%
-% The logic is (at the moment) as follows: if a template instance
-% (type \texttt{buildfloat}) with the name
-% \meta{type}|-|\meta{area}\footnote{The ``here'' areas are
-% denoted as \texttt{h}\meta{col}\texttt{1}.}
-% is defined then this instance is used,
-% otherwise we look if there is an instance with just the name of
-% the \meta{area}, otherwise we try an instance with the name
-% \meta{type} and if this isn't defined either we try the instance
-% named |default|.
-% \begin{macrocode}
-\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
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macrocode}
-% #1 body box
-% #2 fixed text
-% #3 counter value
-% #4 caption
-% #5 span number
-\DeclareTemplateType{buildfloat}{5}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\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@
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\newbox\@tempboxb
-% \end{macrocode}
-%
-% \begin{macrocode}
-\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
- }
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\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
-% \end{macrocode}
-% rubbish as far as it goes: this should be turned into a real
-% template probably using coffins
-% \begin{macrocode}
- \parbox[b]{\marginparwidth
- +(#5\columnwidth-\wd#1)/2}{
- \raggedright
- #2~ #3:~ #4
- }
- }\hss
- }
- \kern0pt
- }
- }
-% \end{macrocode}
-%
-%
-%
-% \subsection{Some test instances}
-%
-% \begin{macrocode}
-\DeclareInstance{buildfloat}{default}{centeredabove}{}
-
-\DeclareInstance{buildfloat}{figure}{centeredbelow}{}
-
-\DeclareInstance{buildfloat}{t31}{bottomright}{}
-\DeclareInstance{buildfloat}{t22}{bottomright}{}
-\DeclareInstance{buildfloat}{t13}{bottomright}{}
-% \end{macrocode}
-%
-% \endinput
-\endinput
-%
-% $Log: xo-capt.dtx,v $
-% Revision 1.13 2000/08/11 07:14:03 latex3
-% added header
-%
-% Revision 1.12 2000/08/11 06:47:53 latex3
-% untabify
-%
-% Revision 1.11 2000/07/19 15:55:53 latex3
-% used \float@type rather than \@captype
-% extended buildfloat template to 5 arguments
-%
-% Revision 1.10 2000/07/10 18:45:23 latex3
-% some normalisation of caption attachment code -- needs more work
-%
-% Revision 1.9 2000/06/13 20:53:55 latex3
-% docu update
-% renamed template type builtfloat to buildfloat
-%
-% Revision 1.8 2000/05/03 20:16:59 latex3
-% added more arguments to the caption template
-%
-% Revision 1.7 2000/05/03 20:03:59 latex3
-% fixed typo in macro name
-%
-% Revision 1.6 2000/05/03 18:52:44 latex3
-% enabling write of toc entries
-% adding a prove of concept for caption templates
-%
diff --git a/Master/texmf-dist/source/latex3/xor/xo-final.dtx b/Master/texmf-dist/source/latex3/xor/xo-final.dtx
deleted file mode 100644
index ad4216ea7a3..00000000000
--- a/Master/texmf-dist/source/latex3/xor/xo-final.dtx
+++ /dev/null
@@ -1,1094 +0,0 @@
-% \iffalse
-%%
-%% (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.
-%%
-% \fi
-%
-%
-% \begin{macrocode}
-\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 $
-% \end{macrocode}
-%
-% \begin{macrocode}
-\IgnoreWhiteSpace
-% \end{macrocode}
-%
-% Update: as of April 3 this now does something reasonable with
-% top and bottom floats. The text in between still needs lots of
-% attention. No headers/footers/margins/overlays etc etc yet.
-%
-% There is still a lot of inefficient indirection; this shows where we
-% may be able to support more general page-makeup systems.
-%
-% And not much tracing yet.
-%
-% \subsection{Text columns}
-%
-% \begin{macro}{\produce@final@column}
-% \begin{macro}{\final@column@with@floats}
-% \begin{macro}{\final@column}
-%
-% This version puts column floats in columns; see below for
-% an alternative. It simulates current \LaTeX{} so should not be
-% taken as a model for anything useful.
-%
-% When we remove or modernise this a lot more code from below can go
-% too.
-%
-% \begin{macrocode}
-\def\final@column@with@floats {
-%<*trace>
- \@tracepush{produce@final@column}
-%</trace>
- \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
-%<*trace>
- \@tracepop{produce@final@column}
-%</trace>
-}
-% \end{macrocode}
-% This version does not give special treatment to column floats; it
-% simply attachs footnotes and tops/tails.
-%
-% Probably this should just stuff the main text and footnotes into
-% boxes (or a box?) with no extra formatting; all aesthetic handling would
-% be done later, when the page is being made-up.
-%
-% The formatting details are clearly temporary.
-%
-% \begin{macrocode}
-\def\final@column {
-%<*trace>
- \@tracepush{produce@final@column}
-%</trace>
- \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
-
-% \end{macrocode}
-%
-% I am not sure if texttop/bottom should survive for long: something
-% more spohisictaed is needed these days. This may mean that
-% footnotes need better handling too: what makes a complex column
-% look good?
-%
-% \begin{macrocode}
- \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
-%<*trace>
- \@tracepop{produce@final@column}
-%</trace>
-}
-\let \produce@final@column \final@column
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\add@floats@top}
-% \begin{macro}{\add@floats@bottom}
-% These are now used (if at all)
-% only within columns (maybe not best even there).
-%
-% \begin{macrocode}
-\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
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\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
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-%
-%
-% \subsection{Shipout and housekeeping}
-%
-%
-% \begin{macro}{\absolute@page@number}
-% \begin{macrocode}
-\mathchardef\absolute@page@number\c@page
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-
-% \end{macrocode}
-%
-% \begin{macro}{\produce@final@page}
-%
-% This puts everything to be shipped out into the hbox
-% |\page@box| and then ships this out (not quite, see below!).
-%
-% Probably these two processes should be separated.
-%
-% At present it does the page-makeup within the shipped out box;
-% this should proably be done earlier.
-%
-% Should the box (or the box-name) be a global
-% fixed object (bad;-) or a local parameter (good;-)?
-%
-% The shipping out is surrounded by considerable housekeeping:
-% this version sets up to do the writes and fixes the
-% numbering.
-%
-% \begin{macrocode}
-\def\produce@final@page{
-%<*trace>
- \@tracepush{produce@final@page}
- \tr@ce{final~ page~ output:~ Chris'~ version}
-%</trace>
- \begingroup % the \endgroup is put in by \aftergroup
-% \end{macrocode}
-%
-% \begin{macrocode}
- \@resetactivechars
- \@parboxrestore
- \let \protect \noexpand
-% \end{macrocode}%
-% Temp: just puts stuff into lists (which could have been built up
-% as floats are placed?).
-% \begin{macrocode}
- \do@floats
- \shipout \hbox { % NOTE: an hbox now!
-% \end{macrocode}
-%
-% \begin{macrocode}
- \set@typeset@protect
- \aftergroup \endgroup
- \aftergroup \set@typeset@protect
-% \end{macrocode}
-% Making the box can be done outside the shipout.
-% \begin{macrocode}
- \make@page@box
- \box \page@box
- }
-% \endgroup %% This is _implicitly_ here.
-% \end{macrocode}
-%
-% \begin{macrocode}
- \count@\absolute@page@number
-%<*trace>
- \tr@ce{absolute~page:~\the\absolute@page@number}
-%</trace>
- \advance\count@\@ne
- \global\advance\c@page\@ne
- \global\mathchardef\absolute@page@number\count@
-%<*trace>
- \@tracepop{produce@final@page}
-%</trace>
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{The page box}
-%
-% \begin{macro}{\mbox@addtopage}
-% \begin{macro}{\box@addtopage}
-% \begin{macro}{\page@box}
-% This should be generalised to add a box to any box (without overcrowding).
-% \begin{macrocode}
-\newbox \page@box
-\def\mbox@addtopage (#1,#2)#3{%
-%<*trace>
- \tr@ce{box~being~added~to~page:~at~(#1,~#2)
- }
-%</trace>
- \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}
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\make@page@box}
-%
-% This adds stuff to a globallly named box; maybe it should be more
-% generic.
-%
-% This is some kind of default example.
-% It should be templated.
-%
-% \begin{macrocode}
-\def \make@page@box {
-%<*trace>
- \@tracepush{make@page@box}
- \tr@ce{new style page nake-up}
-%</trace>
-% \end{macrocode}
-% Temp for current header:
-% \begin{macrocode}
- \mbox@addtopage (\pagebodylefthpos, \headheight)
- {page:~\thepage}
-% \end{macrocode}
-% Then add the float areas, using a list of boxes and positions.
-% Probably, the whole thing should be done this way but this may
-% not be sensible for simple cases.
-%
-% Also, some alignments (eg text) may be better handled by the
-% use of coffins (which are a very similar, but more complex,
-% technology).
-%
-% First set-up starting point for main text body.
-% \begin{macrocode}
- \forall@columns {
- \expandafter \xdef
- \csname stack@level@\the\curr@col@count \endcsname
- {\pagebodytopvpos}
- }
- \stack@top@areas
- \add@columns
- \stack@bot@areas
-%<*trace>
- \@tracepop{make@page@box}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \subsection{The page box: text columns}
-%
-% This needs to be a lot more sophisticated in order to make these
-% look anything but dreadful.
-%
-% \begin{macro}{\add@columns}
-% \begin{macro}{\add@columns@topstacked}
-% \begin{macro}{\add@columns@botaligned}
-%
-% Several possibilities here: choose one.
-%
-% One way to do bottom-aligned columns (probably will not
-% generalise well):
-% \begin{macrocode}
-\def \add@columns@botaligned {
-%<*trace>
- \@tracepush{add@columns@botaligned}
-%</trace>
- \setlength \@tempdima {\pagebodylefthpos}
- \forall@columns {
-%<*trace>
- \tr@ce{bot~aligned~column~\the\curr@col@count :~%
- ht=\expandafter\the\expandafter\ht
- \csname col@box@\the\curr@col@count \endcsname,~
- dp=\expandafter\the\expandafter\dp
- \csname col@box@\the\curr@col@count \endcsname}
-%</trace>
-% \end{macrocode}
-% Rules will need to be handled separately: where do they go in
-% general with spanning floats?
-% \begin{macrocode}
-% \vrule
- \box@addtopage ( \@tempdima, \pagebodybotvpos )
- {\csname col@box@\the\curr@col@count \endcsname}
- \setlength \@tempdima {\@tempdima + \columnwidth + \columnsep}
-% \vrule
- }
-%<*trace>
- \@tracepop{add@columns@botaligned}
-%</trace>
-}
-% \end{macrocode}
-%
-% Stacking them at the top: this must be dome immediately after
-% stacking the top areas. They are aligned, if possible, at the
-% top (the actual top, not necessarily the top text line).
-%
-% \begin{macrocode}
-\def \add@columns@topstacked {
-%<*trace>
- \@tracepush{add@columns@topstacked}
-%</trace>
- \gsetmlength \cuur@col@pos {\pagebodylefthpos}
- \forall@columns {
-%<*trace>
- \tr@ce{top~stacked~column~\the\curr@col@count :~%
- ht=\expandafter\the\expandafter\ht
- \csname col@box@\the\curr@col@count \endcsname,~
- dp=\expandafter\the\expandafter\dp
- \csname col@box@\the\curr@col@count \endcsname}
- \tr@ce{vsize~for~column~\the\curr@col@count~was:~%
- \csname col@ht@ \the\curr@col@count\endcsname}
- \tr@ce{lowered~column~\the\curr@col@count~:~%
- \csname stack@level@\the\curr@col@count \endcsname
- }
-%</trace>
- \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
- }
-% \end{macrocode}
-% Vertical rules will need to be handled differentlyy:
-% where do they go in general with spanning floats?
-% \begin{macrocode}
-% \vrule
- \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}
-% \vrule
- }
-%<*trace>
- \@tracepop{add@columns@topstacked}
-%</trace>
-}
-\let \add@columns \add@columns@topstacked
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{The page box: float areas}
-%
-% \begin{macro}{\t@stack@area}
-% \begin{macro}{\b@stack@area}
-%
-% The 4th argument must be a procedure that fills a box whose number
-% is its last argument. This rather bizarre code merely avoids
-% a box-register-per-area.
-%
-% \begin{macrocode}
-\def\t@stack@area #1#2#3#4{
-%<*trace>
- \@tracepush{t@stack@area}
-%</trace>
- #4 \@tempboxa
-% \end{macrocode}
-% First update stacking position for these columns.
-% \begin{macrocode}
- \@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
-% \end{macrocode}
-% Calculate horizontal displacement.
-% \begin{macrocode}
- \setlength \@tempdima
- {\pagebodylefthpos - \columndisplacement + \columndisplacement * #3}
-% \end{macrocode}
-% Add box.
-% \begin{macrocode}
-%<*trace>
- \tr@ce{float~area~box~#1#2#3~~lowered~:~%
- \csname stack@level@#3 \endcsname
- }
-%</trace>
- \box@addtopage (\@tempdima,\csname stack@level@#3\endcsname)
- \@tempboxa
-%<*trace>
- \@tracepop{t@stack@area}
-%</trace>
-}
-% \end{macrocode}
-% Different order for co-stacking.
-% \begin{macrocode}
-\def\b@stack@area #1#2#3#4{
-%<*trace>
- \@tracepush{b@stack@area}
-%</trace>
- #4 \@tempboxa
-% \end{macrocode}
-% Calculate horizontal displacement.
-% \begin{macrocode}
- \setlength \@tempdima
- {\pagebodylefthpos - \columndisplacement + \columndisplacement * #3}
-% \end{macrocode}
-% Add box.
-% \begin{macrocode}
- \box@addtopage (\@tempdima,\csname stack@level@#3\endcsname)
- \@tempboxa
-% \end{macrocode}
-% Then update stacking position for these columns.
-% \begin{macrocode}
- \@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
-%<*trace>
- \@tracepop{b@stack@area}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\stack@top@areas}
-% \begin{macro}{\stack@bot@areas}
-%
-% Use of these is all a bit ad hoc for a particular stacking system.
-%
-% \begin{macrocode}
-\def \stack@bot@areas {
- \stack@areas@list b \pagebodybotvpos \pagebox@list@b
-}
-\def \stack@top@areas {
- \stack@areas@list t \pagebodytopvpos \pagebox@list@t
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\stack@areas@list}
-%
-% |#1| : stacking type (t, b or c at present)\\
-% |#2| : starting position\\
-% |#3| : list name
-%
-% \begin{macrocode}
-\def \stack@areas@list #1#2#3 {
-%<*trace>
- \@tracepush{stack@areas@list}
-%</trace>
- \ifx #3 \@empty
- \else
- \forall@columns {
-% \end{macrocode}
-% Starting point:
-% \begin{macrocode}
-% \vrule
- \expandafter \xdef
- \csname stack@level@\the\curr@col@count \endcsname
- {#2}
- }
-% \end{macrocode}
-% Stacking or co-stacking: bottom-up or top-down.
-% \begin{macrocode}
- \expandafter
- \let \expandafter
- \p@elt \csname #1@stack@area \endcsname
- #3
- \fi
-%<*trace>
- \@tracepop{stack@areas@list}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\make@area@floats@box}
-%
-% Format all the floats in a list and store the result in a box register.
-% This should be templated.
-%
-% This could do the file-writing too.
-%
-% |#1| : area-name\\
-% |#2| : box to be filled
-%
-% \begin{macrocode}
-\def\make@area@floats@box #1#2 {
-%<*trace>
- \@tracepush{make@area@floats@box}
-%</trace>
- \setbox #2 \vbox{}
-% \let \@elt \@comflelt % Big aaah!
- \def \@elt { \typeset@float@in@box {#2} }
- \csname area@#1\endcsname
-% \end{macrocode}
-% Not very pretty yet! But better when decoration
-% stuff is used.
-% \begin{macrocode}
- \let \@elt \relax
- \expandafter
- \release@floats
- \csname area@#1\endcsname
-%<*trace>
- \@tracepop{make@area@floats@box}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{DECORATIONS}
-% Not used at present but something like this is probably needed.
-%
-% \begin{macrocode}
-
-\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
- }
-}
-
-
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \subsection{The page box: margins}
-%
-% Needed?
-%
-% \subsection{The page box: headers and footers}
-%
-% Nothing worth puting here yet.
-%
-% \subsection{The page box: other}
-%
-% Maybe should be many subsections: eg overlays.
-%
-% \subsection{Typesetting captions and float boxes}
-%
-% All more or less temporary.
-%
-% \begin{macro}{\@comflelt}
-% \begin{macro}{\typeset@float@in@box}
-%
-% Maybe a bad name but this is probably as generic as it can be at
-% present (and one would hate to see the name's demise).
-%
-% \begin{macrocode}
-\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
- }
- }
-% \end{macrocode}
-%
-% Thus sadly we maybe should move to this, avoiding the use of a
-% global variable for parameter passing.
-%
-% \begin{macrocode}
-\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
- }
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\typeset@this@float@and@caption}
-%
-% This should really be a template instance.
-%
-% It must be integrated with the generic version of
-% |\append@caption@to@float| since they must both do the same thing.
-%
-% May use |\this@area|, |\this@area@col@number| and other information,
-% to be determined \ldots even |\this@caption@action|.
-%
-% First we disable premature captioning (fascist or what?).
-%
-% \begin{macrocode}
-%<*obsolete>
-\let\add@caption@to@float@box \relax
-%</obsolete>
-
-%<*obsolete>
-\def \typeset@this@float@and@caption {
- \box\this@float@box
- \nobreak
- \smallskip
- \hsize\columnwidth
- \this@caption \par
- \bigskip
- \hrule
- \vskip\pagesetup@float@float@sep
- }
-% Reminder ABOVE ONLY WORKS WITH THIS:
-% \def\append@caption@to@float{
-% \global\setbox\this@captioned@float\vbox{
-% \copy\this@float@box
-% \smallskip
-% \hsize\columnwidth
-% \this@caption
-% \par\bigskip\hrule}
-% }
-%</obsolete>
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Page box lists}
-%
-% \begin{macro}{\pagebox@area}
-% \begin{macro}{\@addto@pagebox@list}
-%
-% Bad names?
-%
-% Add the float areas to a page-box list, and specify how to
-% process them. This should be templated. The columns could be added
-% to this list.
-%
-% The 2nd argument must at present be a procedure that has two
-% arguments and it is expected to fill a box whose number
-% is its last argument. This rather bizarre code merely avoids
-% a box-register-per-area.
-%
-% |#1| : area-name
-% |#2| : action for each float in area
-% |#3| : area-position
-%
-% \begin{macrocode}
-\def\pagebox@area #1#2#3 {
-%<*trace>
- \@tracepush {pagebox@area}
-%</trace>
- \expandafter
- \let \expandafter
- \this@list \csname area@#1\endcsname
-%<*trace>
- \tr@ce{adding~ floats~ (if any)~ #1~ ==~ `\this@list'~
- to~page~list:~#3 }
-%</trace>
- \ifx \this@list \@empty
- \else
- \let \p@elt \relax
- \@addto@pagebox@list {#3}
- { \p@elt #1 { #2 {#1}} }
- \fi
-%<*trace>
- \@tracepop {pagebox@area}
-%</trace>
-}
-% \end{macrocode}
-% Ugh!! Improve?
-% \begin{macrocode}
-\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 }
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-% \subsection{Magic boxes}
-%
-% \begin{macro}{\mbox@put}
-% \begin{macro}{\box@put}
-% \begin{macro}{\copy@put}
-%
-% Probably move sometime.\footnote{Move?}
-%
-% These add boxes with the specified visual relative position
-% but all-zero dimensions (unlike picture mode where the inner
-% boxes have non-zero vertical size). A highly generalised lap-box!
-%
-% At present these use Don Knuth's left-handed DVI co-ordinate
-% system. They could (should?) be changed to a saner system as used
-% by \LaTeX{}, Postscript and the rest of the known civilised world
-% since Descartes.
-%
-% \begin{macrocode}
-\def\mbox@put (#1,#2)#3{%
- \setbox\@tempboxa \hbox {
-% \raise #2 % Ugh! Zany y-direction---
- \lower #2 % thanks Don!
- \hbox {\kern#1 #3\hss}
- }
-% \end{macrocode}
-% For this application we must zero everything.
-% \begin{macrocode}
- \wd \@tempboxa \z@
- \ht \@tempboxa \z@
- \dp \@tempboxa \z@
- \box\@tempboxa
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\box@put (#1,#2)#3{%
- \mbox@put (#1,#2) {\box #3}
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\copy@put (#1,#2)#3{
- \mbox@put (#1,#2) {\copy #3}
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Move me!}
-%
-% Stuff for elsewhere; maybe to xo-new right now?
-%
-% \begin{macro}{\forall@areas}
-% \begin{macro}{\def \make@useful@list@aux}
-% \begin{macro}{\def \make@useful@list}
-% Area list stuff\footnote{Probably move.}.
-%
-% These should be more generally used/available whatever area lists,
-% however impemnted, we end up with.
-%
-% This list manipulation stuff works only for lists whose elements are
-% unexpandable; this could be extended.
-% \begin{macrocode}
-\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
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\release@floats}
-%
-% \begin{macrocode}
-\def\release@floats#1{
-% \show #1
- \xdef \@freelist {\@freelist#1}
- \global\let#1\@empty
-}
-% \end{macrocode}
-% \end{macro}
-%
-% More helper functions (some not yet used)\footnote{To be moved}.
-%
-% Lettings.
-%
-% \begin{macro}{\let@nc}
-% \begin{macro}{\let@cn}
-% \begin{macro}{\let@cc}
-% \begin{macrocode}
-\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
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% Macrised lengths etc.
-%
-% \begin{macro}{\setmlength}
-% \begin{macro}{\gsetmlength}
-% \begin{macrocode}
-\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}
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Really temp stuff}
-%
-% \begin{macro}{TEMP@KLUDGES}
-% Some very temporary (very bad) examples and kludges:
-% \begin{macrocode}
-\def \do@floats {
-%<*trace>
- \@tracepush{do@floats}
-%</trace>
- \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}
- }
-%<*trace>
- \tr@ce{
- pagebox~list:~t~ is~\meaning \pagebox@list@t}
- \tr@ce{
- pagebox~list:~b~ is~\meaning \pagebox@list@t}
- \@tracepop{do@floats}
-%</trace>
-}
-
-% \end{macrocode}
-%
-% Temp place for these calcs. They should be part of the page layout
-% set-up.\footnote{Move?}
-% Temp positioning stuff:
-% \begin{macrocode}
-\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?)
-
-% \show \pagebodytopvpos
-% \show \pagebodybotvpos
-%
-% \showthe \headheight
-% \showthe \headsep
-% \showthe \textheight
-% \showthe \textwidth
-% \showthe \columnwidth
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \endinput
-\endinput
-%
-% $Log: xo-final.dtx,v $
-% Revision 1.20 2000/08/11 07:14:09 latex3
-% added header
-%
-% Revision 1.19 2000/07/19 15:56:46 latex3
-% removed \extract@this@float@actual@structure (is now in xo-or awaiting
-% normalisation with similar commands)
-%
-% Revision 1.18 2000/07/10 18:46:11 latex3
-% mainly macro renamings
-%
-% Revision 1.17 2000/06/16 11:20:40 latex3
-% rename \construct@and@test@col@height to \construct@and@test@col@ht
-% rename \construct@and@test@col@heights to \construct@and@test@col@hts
-% rename \cl@height1 to \@col@ht@1 (etc)
-%
-% Revision 1.16 2000/06/13 21:17:32 latex3
-% move setting of \protect so that it works
-%
-% Revision 1.15 2000/04/12 20:52:39 car2
-% Much tidyng: farewell comflelt!
-%
-% Revision 1.14 2000/04/06 22:14:00 car2
-% added caption setting
-%
-% Revision 1.13 2000/04/03 12:09:28 car2
-% alpha version
-%
-% Revision 1.12 2000/04/03 10:59:31 car2
-% Untidy alpha
-%
-% Revision 1.11 2000/03/30 21:06:28 car2
-% Chris' alpha-minus version
-%
-% Revision 1.10 2000/03/24 15:34:27 latex3
-% version that starts supporting spans (still a hack yet)
-%
-% Revision 1.9 2000/03/22 15:29:42 latex3
-% some normalisations of names
-%
-% Revision 1.8 2000/03/09 14:44:31 latex3
-% *** empty log message ***
-%
-% Revision 1.7 2000/03/05 19:38:12 latex3
-% support multiple columns (6 max right now)
-%
-% Revision 1.6 2000/02/26 18:25:10 david
-% release floats changes
-%
-% Revision 1.5 2000/02/16 17:34:31 latex3
-% bit of extra tracing to find why columns do not align (no good :-)
-%
-% Revision 1.4 2000/02/16 13:39:47 latex3
-% added 3col support
-%
-% Revision 1.3 2000/02/16 10:19:03 latex3
-% better code for adding floats to column (using \pagesetup@float@text@sep and friends)
-%
-% Revision 1.2 2000/02/13 22:28:10 latex3
-% moved some stuff from xo-or.sty to this file
-%
diff --git a/Master/texmf-dist/source/latex3/xor/xo-float.dtx b/Master/texmf-dist/source/latex3/xor/xo-float.dtx
deleted file mode 100644
index cc552fe25b0..00000000000
--- a/Master/texmf-dist/source/latex3/xor/xo-float.dtx
+++ /dev/null
@@ -1,950 +0,0 @@
-% \iffalse
-%%
-%% (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.
-%%
-% \fi
-%
-
-% \begin{macrocode}
-\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 $
-% \end{macrocode}
-%
-% Ignore white space in this package.
-% \begin{macrocode}
-\IgnoreWhiteSpace
-% \end{macrocode}
-%
-%
-%
-% \begin{macro}{\@xfloat}
-% The start of a float environment.
-% Unlike \LaTeXe, now save the float as a horizontal list.
-% \begin{macrocode}
-\def\@xfloat #1[#2]{%
-%<*trace>
-\@tracepush{float~environment}
-%</trace>
- \@nodocument
-% #2 is either user suplied or \fps@#1 (from 2e again)
- \def \@fps {#2}
- \def \float@type {#1}
-% \end{macrocode}
-% Next line could be inline since it is used only once
-% now.\footnote{Change?}
-% \begin{macrocode}
- \expandafter \let \expandafter
- \float@sequence@class \csname sequence@class@#1 \endcsname
-% \end{macrocode}
-%
-% \begin{macrocode}
- \expandafter \let \expandafter
- \float@counter \csname counter@#1 \endcsname
-% \end{macrocode}
-% Floats (not caption) increment counter:
-% \begin{macrocode}
- \refstepcounter\float@counter
- \ifhmode
- \@bsphack
- \fi
- \ifinner
- \@parmoderr\@floatpenalty\z@
- \else
- \@allocating@next\@currbox\@freelist
- {
-%
-% not used any longer:
-%
-% \global\expandafter\let\csname fps@\the\@currbox\endcsname
-% \@fps
-% \global\expandafter\let\csname ftype@\the\@currbox\endcsname
-% \@captype
-%
- \global\advance\float@sequence@count\@ne
- \expandafter\PutMark\expandafter\float@sequence@class\expandafter{
- \the\float@sequence@count}
- \global\toks\@currbox{}
- }
- \fi
-% \end{macrocode}
-%
-% Save |\@currbox| as an |\hbox|.
-% \begin{macrocode}
- \global\let\@saved@label\@empty
- \global \setbox\@currbox
-% \end{macrocode}
-% The float body is typeset in a normalised environment, i.e.., we
-% reset colour and font. This is followed by a call to
-% |\body@|\meta{type} to allow the designer to set up special
-% conventions for each float type, e.g., a special font or font
-% size or a special colour, etc.
-% \begin{macrocode}
- \hbox \bgroup\color@begingroup
- \normalcolor
- \normalfont
- \normalsize
- \csname body@\float@type \endcsname
- \ignorespaces}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@endfloatbox}
-% The end of a float environment.
-% First finish off the box assignment. Then make a copy in a second box.
-% The current code makes use of the fact that the allocated boxes
-% are in two continuous runs, |\sbx@offset| apart.
-% \begin{macrocode}
-\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
-%<*trace>
-\tr@ce{\the\toks\@currbox}
-%</trace>
-% \end{macrocode}
-% Simple temporary interface to get here floats for testing. Needs
-% replacment!\footnote{FIX!!!}
-% \begin{macrocode}
- \def\@tempa{h}
- \ifx\@fps\@tempa
- \setup@here@float
- \else
- \@cons\@activelist\@currbox
- \fi
-%<*trace>
-\@tracepop{float~environment}
-%</trace>
-}
-
-\def\SPANCNT{} %%% do properly one day: David
-
-
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\float@sequence@count}
-% |\float@sequence@count| is the counter used to uniquely refer
-% to the floats, it is incremented whenever we encounter a new float.
-% \begin{macrocode}
-\newcount\float@sequence@count
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\label}
-% Modify to save the label string.
-% \begin{macrocode}
-\def\label#1{\@bsphack
- \gdef\@saved@label{#1}
- \protected@write\@auxout{}%
- {\string\newlabel{#1}{{\@currentlabel}{\thepage}}}%
- \@esphack}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-%
-% \begin{macro}{\DeclareFloatType}
-% A float type is an identifier like ``figure'' the defines a class
-% (?) of floats of floats which have certain attributes in common,
-% e.g., they have the same fixed caption text (e.g. \texttt{Fig}),
-% they use the same counter to number the floats, etc.
-%
-% Setting up a float type is done by declaring an instance of type
-% \texttt{floattypesetup} and then executing it.
-% \begin{macrocode}
-\def\DeclareFloatType#1#2{
- \DeclareInstance{floattypesetup}{#1}{std}
- { type-id = #1, #2 }
- \UseInstance{floattypesetup}{#1}
-}
-% \end{macrocode}
-%
-% For each float type \texttt{TYPE} the following utility macros
-% hold important static data.
-%
-% \DescribeMacro\sequence@class@TYPE
-% The |\sequence@class@TYPE| holds the name of the float sequence
-% class the float type |TYPE| belongs to. A sequence class contains
-% all types which should be placed in order of their call-outs,
-% e.g., if type ``figure'' and ``table'' are in the same sequence
-% class a table whose call-out is later than that of a figure will
-% not be placed before it. If on the other hand these types are in
-% different sequence classes such reordering will be undertaken by
-% the placement algorithm if feasible.
-%
-%
-% \DescribeMacro\toc@extension@TYPE
-% The |\toc@extension@TYPE| holds the file extension to which
-% caption information for this type is written, e.g., |lot| for
-% tables, or |lof| for figures. If there is the desire to produce
-% combined listing one can use the same extension for different
-% float types.\footnote{This functionality can alternatively be
-% provided by putting all captions into a single external file and
-% then ignore certain entries when reading the data back, so it
-% might vanish again.}
-%
-%
-% \DescribeMacro\fps@TYPE
-% The |\fps@TYPE| holds the default float areas in which this float
-% type is allowed to go. By default this is the full list of all
-% known areas. By restricting it to a subset of areas it is
-% possible to provide special placement arrangements, e.g., tables
-% always at the bottom only.
-%
-%
-% \DescribeMacro\caption@TYPE
-% The |\caption@TYPE| holds the fixed caption text which is
-% displayed together with the caption number, e.g., |Figure|,
-% etc. This is passed to the caption formatting instances.
-%
-%
-% \DescribeMacro\counter@TYPE
-% The |\counter@TYPE| holds the name of the counter to use for
-% numbering the floats of type |TYPE|. It is possible that
-% different types share the same counter, i.e., are numbered as a
-% single sequence. However in that case one should probably ensure
-% that the types belong to a single float sequence class since
-% otherwise the numbers within the document might get out of
-% sequence. On the other hand it is not required to have floats in
-% the same sequence class share a counter; they can be numbered
-% independently without problems.
-%
-% \DescribeMacro\body@TYPE
-% The |\body@TYPE| holds the formatting instructions that should be
-% applied to the body of each float of type |TYPE|.
-%
-% \begin{macrocode}
-\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,
-
- }
- {
-% \end{macrocode}
-% Setting up defaults is done (at least in parts) in two steps:
-% first we set certain key commands to |\relax| then we run
-% |\DoParameterAssignments| and then check if they are still
-% |\relax|. If so we set the commands that we really want to
-% set. This is necessary because several of them have names that
-% contain the float type as part of the name and this type name is
-% one of the keys.
-% \begin{macrocode}
- \let\floattypesetup@class@id\relax
- \let\floattypesetup@numbered@id\relax
- \let\floattypesetup@numbered@action\relax
- \let\floattypesetup@body@decls\relax
-% \end{macrocode}
-% Now for the defaults we can set directly:
-% the |@test| switch is locally used to denote that we want to
-% number the floats.
-% \begin{macrocode}
- \@testtrue % number by default
-% \end{macrocode}
-% The areas which should be tried for the current type are by
-% default all areas, i.e., |\known@areas|; we use |\def| not |\let|
-% to allow this list to grow afterwards.
-% \begin{macrocode}
- \def\floattypesetup@area@list{\known@areas}
-% \end{macrocode}
-% Default for the fixed caption text is |\@empty|.
-% \begin{macrocode}
- \let\floattypesetup@caption@text\@empty
-% \end{macrocode}
-% By default we don't run the float counter within another
-% counter. We use |\@empty| to denote this since this is also what
-% would be returned from |numbered-within-id=,| which might be
-% specified by a user.
-% \begin{macrocode}
- \let\floattypesetup@numbered@within@id\@empty
-% \end{macrocode}
-% Everything goes by default to the |.toc| file (which isn't too
-% bad if the extended \texttt{xcontents} package is used.
-% \begin{macrocode}
- \def\floattypesetup@toc@ext{toc} % everything in here by default
-% \end{macrocode}
-% Now we are ready to look at the designer specifications:
-% \begin{macrocode}
- \DoParameterAssignments
-% \end{macrocode}
-% Now for the second step: evaluate what we have: If the
-% |sequence-class-id| is not set up, we try to default it to the
-% |type-id|:
-% \begin{macrocode}
- \ifx\floattypesetup@class@id\relax
- \let\floattypesetup@class@id\floattypesetup@id
- \fi
-% \end{macrocode}
-% Float numbers are only set up if requested (which is the default).
-% \begin{macrocode}
- \if@test
-% \end{macrocode}
-% If the |numbered-id| is not set up, we try to default it to
-% the |type-id|:\footnote{This needs fixing since part of the float
-% handling assumes there is some counter to step etc. FIX!}
-% \begin{macrocode}
- \ifx\floattypesetup@numbered@id\relax
- \let\floattypesetup@numbered@id\floattypesetup@id
- \fi
-% \end{macrocode}
-% Set up the new counter, if it already exists skip this part:
-% \begin{macrocode}
- \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
-% \end{macrocode}
-% The default display for the float number is ``arabic'', we
-% overwrite this only if requested:
-% \begin{macrocode}
- \ifx\floattypesetup@numbered@action\relax
- \else
- \global\expandafter\let
- \csname the\floattypesetup@numbered@id \endcsname
- \floattypesetup@numbered@action
- \fi
- \fi
- \fi
-% \end{macrocode}
-%
-% Low-level environment declaration (allows overwriting since
-% figure etc already exists)\footnote{Handle better?}
-% \begin{macrocode}
- \expandafter
- \xdef\csname \floattypesetup@id \endcsname
- {\noexpand\@float{\floattypesetup@id}}
- \global\expandafter \let \csname end\floattypesetup@id \endcsname
- \end@float
-% \end{macrocode}
-% The remaining bits of the code set up the data structures that
-% belong to each float type by linking the macro name containing
-% the type in its name (i.e., |\floattypesetup@id|) to the
-% corresponding key macro. Theay are otherwise straight forward
-% |\let|s.
-%
-% First for |\sequence@class@|\meta{type}:
-% \begin{macrocode}
- \global\expandafter\let
- \csname sequence@class@\floattypesetup@id \endcsname
- \floattypesetup@class@id
-% \end{macrocode}
-% Then |\toc@extension@|\meta{type}:
-% \begin{macrocode}
- \global\expandafter\let
- \csname toc@extension@\floattypesetup@id \endcsname
- \floattypesetup@toc@ext
-% \end{macrocode}
-% Then |\fps@|\meta{type}:
-% \begin{macrocode}
- \global\expandafter\let
- \csname fps@\floattypesetup@id \endcsname
- \floattypesetup@area@list
-% \end{macrocode}
-% Then |\caption@|\meta{type}:
-% \begin{macrocode}
- \global\expandafter\let
- \csname caption@\floattypesetup@id \endcsname
- \floattypesetup@caption@text
-% \end{macrocode}
-% Then |\counter@|\meta{type}:
-% \begin{macrocode}
- \global\expandafter\let
- \csname counter@\floattypesetup@id \endcsname
- \floattypesetup@numbered@id
-% \end{macrocode}
-% Then |\body@|\meta{type}:
-% \begin{macrocode}
- \global\expandafter\let
- \csname body@\floattypesetup@id \endcsname
- \floattypesetup@body@decls
- }
-%
-%
-%
-%
-% \begin{macro}{\DeclareFloatSequenceClass}
-% A float sequence class is a list of float types for which the
-% placement algorithm should preserve call-out order even between
-% objects with different float type.
-%
-% For each class we need a corresponding ``mark'' (needed by the
-% algorithm) and we need to record the class name in an |\@elt|
-% list.
-%
-% Perhaps this declaration should be implicitly handled by
-% |\DeclareFloatType|. It would mean a bit more work for the latter
-% but less declarations in the document design!\footnote{Change one
-% day!}
-% \begin{macrocode}
-\def\DeclareFloatSequenceClass#1{
-% \end{macrocode}
-% We probably have to check if that class is already
-% declared since in that case we have to leave out a couple of
-% actions. We assume that this is the case if a mark class is
-% already defined for it.\footnote{Do it properly!}
-% \begin{macrocode}
- \@ifundefined{mark@#1}
- {
- \DeclareMarkType{#1}
-% \end{macrocode}
-% Add this to the list of known classes.
-% \begin{macrocode}
- \@cons\float@classes@list{{#1}}
- }
- \ErrorAlreadyDefined
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\float@classes@list}
-% The list of float classes known in the system.
-% \begin{macrocode}
-\let\float@classes@list\@empty
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\c@figure}
-% \begin{macro}{\c@table}
-% Throw away good registers\ldots this is only for testing to allow
-% us using the OR together with classes like article that sets up
-% figure and table already\footnote{Clean up!}
-% \begin{macrocode}
-\expandafter\ifx\csname c@figure \endcsname \relax
-\else
- \let\c@figure\relax % thus new counter will be defined
- \let\c@table \relax
-\fi
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-%
-%
-%
-%
-%
-%
-% \subsection{Float Placement Control Files}
-%
-% \begin{macro}{\perhaps@write@placements@to@fpl@file}
-% |\perhaps@write@placements@to@fpl@file| writes all float
-% placements (except for ``here'' floats) into the |fpl| in case we
-% are writing to this file.
-%
-% By default, don't write fpl files.
-% \begin{macrocode}
-\let\perhaps@write@placements@to@fpl@file\relax
-\let\perhaps@write@to@fpl@file\@gobble
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\perhaps@write@to@fpl@file}
-% |\perhaps@write@to@fpl@file| writes its first argument to the
-% |fpl| in case we are writing to it.
-%
-% By default, don't write fpl files.
-% \begin{macrocode}
-\let\perhaps@write@to@fpl@file\@gobble
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\perhaps@write@placements@to@fpl@file@aux}
-% The format for a Float: line in an |fpl| file. Only the sequence
-% number (|#7|) is currently used, the rest just helps a human
-% reader identify the float.
-% \begin{macrocode}
-\def\perhaps@write@placements@to@fpl@file@aux#1#2#3#4#5#6#7{
- \@spaces\@spaces Float:~#7~(#6~#4)~[#3]^^J}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\savefloatplacements}
-% Declaration to turn on writing of FPL files.
-% \begin{macrocode}
-\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
-% \end{macrocode}
-%
-% \begin{macrocode}
- \expandafter\@write@areas\used@areas\relax\relax\relax
- }
- \let\@elt\relax}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@write@areas}
-% |\@write@areas| loops through an area list (like |\used@areas|)
-% and writes lines for every float, provided that |\@elt| is
-% properly set up before. It is used inside a |\write| so needs to
-% be expandable!
-% \begin{macrocode}
-\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}
-% \end{macrocode}
-% Alternate version that writes out all areas even if they don't
-% contain any floats.
-% \begin{macrocode}
-\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}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\readfloatplacements}
-% Similar declaration to read FPC files. The file is read at this
-% point up to th efirst Page: line. and the output routine command
-% |\float@placement@loop| is redefined to read the FPC info for each page.
-% \begin{macrocode}
-\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
-% \end{macrocode}
-% Next line should go once we implement moving floats in and out of
-% ``here'' as then we need to read the file at a different
-% place!\footnote{Reimplement!}
-% \begin{macrocode}
- \let\float@placement@loop\fpc@float@placement@loop
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\fpc@float@placement@loop}
-% Version of |\try@float@pages| to use with float placement control file.
-% Should be moved to xo-or once it works.
-% \begin{macrocode}
-\def\fpc@float@placement@loop{
-%<*trace>
- \@tracepush{fpc@float@placement@loop}
-%</trace>
-% \end{macrocode}
-% Don't think the the next line has any meaning, so
-% removed.\footnote{Old command only did set up best@trial, which
-% is later on set to relax anyway. Correct to remove?}
-% \begin{macrocode}
-% \initialise@best@trial
- \get@fpc@page@data
- \global\let\best@trial\relax
-% \end{macrocode}
-%
-% \footnote{Do we have to set run@with@floats? Check!}
-% \begin{macrocode}
- \mark@restore@state{
- \unvcopy\@holdpg
- \setup@best@column@or
- }
-%<*trace>
- \@tracepop{fpc@float@placement@loop}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\next@fpc@page}
-% The next page for which there is FPC data. Initial value has to be
-% a number to |\ifnum|.
-% \begin{macrocode}
-\let\next@fpc@page\m@ne
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\get@fpc@page@data}
-%
-% \begin{macrocode}
-\let\get@fpc@page@data\relax
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\get@fpc@page@data@fpc}
-% get one line of data from an FPC file, calls itself recursively
-% so the effect of a call is to get all the lines for the current page
-% up to and including the Page: line for the next page for which there
-% is data.
-% \begin{macrocode}
-\def\get@fpc@page@data@fpc{
-%<*trace>
-\@tracepush{get@fpc@page@data@fpc}
-%</trace>
- \let\@nextfpc\relax
- \ifnum\next@fpc@page>\absolute@page@number
-%<*trace>
- \tr@ce{No~ float~ control~ on~ page:~ \the\absolute@page@number}
-%</trace>
- \else
- \ifeof\fpc@file
-%<*trace>
- \tr@ce{fpc~ file~ended}
-%</trace>
- \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
-%<*trace>
-\@tracepop{get@fpc@page@data@fpc}
-%</trace>
- \@nextfpc
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{parse@fpc}
-% If float control files are being read,
-% Read the section of the fpc file for this page
-% and directly assign floats to the specified areas
-% with no trials or checks.
-% \begin{macrocode}
-\def\parse@fpc#1#2~#3~#4\relax{
- \ifx P#1
-%<*trace>
-\tr@ce{Next~page~control:~#3}
-%</trace>
- \global\mathchardef\next@fpc@page#3\relax
- \let\@nextfpc\relax
- \else\ifx A#1
-%<*trace>
-\tr@ce{Area:~#3}
-%</trace>
- \setup@this@area{#3}
- \let\@nextfpc\get@fpc@page@data
- \else\ifx F#1
- \ifx\this@area\fpc@here
-% \end{macrocode}
-% Should allow moving floats into and out of here status means
-% reading before the collecton OR, not after.\footnote{FIX, update,
-% extend --- whatever you want to call it.}
-% \begin{macrocode}
-%<*trace>
-\tr@ce{here~float}
-%</trace>
- \else
-%<*trace>
-\tr@ce{not~here~float}
-%</trace>
- \begingroup
- \count@#3\relax
- \global\let\this@float@box\relax
- \let\@elt\extract@float@by@number
- \@activelist
- \endgroup
-% \end{macrocode}
-% If a float number is specified and there is not a float of that
-% number in the active list, something has gone wrong, either we
-% haven't reached the float yet (possible if the new arrangement
-% results in the callout being on a later page than specified) or
-% we have already assigned this float (which is a bug, either in
-% this code, or in the fpc file.) Currently this condition is not
-% handled other than by |\ERROR|. If the float is found, assign it
-% to the current area (as set by an Area: line in the fpc file.
-% \begin{macrocode}
- \ifx\this@float@box\relax
-%<*trace>
- \tr@ce{Float:~#3~not~found}
-%</trace>
- \edef\fpc@list{\fpc@list#3,\this@area\relax}
- \show\fpc@list
- \else
-%<*trace>
- \tr@ce{Float:~#3~is~\this@float@box}
-%</trace>
-% \end{macrocode}
-% Before we add the float, let's do some sanity checks. We allow to
-% place a float into an area which is bigger than the float (spans
-% more columns) but we complain if the area is smaller.
-% \begin{macrocode}
- \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
-% \end{macrocode}
-% We also check if the target area is allowed on the current page
-% (it could be the case that the page setup for that page doesn't
-% list it in its |area-list| key!
-% \begin{macrocode}
- \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!
- }
-% \end{macrocode}
-% If we can't put it into the requested area we have to put it
-% somewhere else. Otherwise a lot of code might break. So we simply
-% chose the first area in |\used@area|\footnote{Need a solution if
-% the page doesn't allow ``any'' floats! FIX!}
-% \begin{macrocode}
- \ifx\used@areas\@empty % we have a problem
- \RESOLVE
- \else
- \setup@this@area{\expandafter\@carcube\used@areas\@nil}
- \fi
- \fi
-% \end{macrocode}
-% Typeset and attach the caption and adjust the text size for the
-% current column.
-% \begin{macrocode}
- \append@caption@to@float
- \construct@and@test@col@hts
- \if@test
- \ERRORFloatAreaToLarge
- \fi
-% \end{macrocode}
-% We append the float to the area after the above column updates,
-% otherwise |\construct@and@test@col@hts| would incorrectly think
-% there is already a float present even if we add the first float
-% to an area.
-% \begin{macrocode}
- \let\@elt\relax
- \xdef\@freelist{\@freelist\@elt\this@float@box}
- \expandafter\@cons\csname area@\this@area\expandafter\endcsname
- \this@float@box
- \fi
- \fi
-% \end{macrocode}
-%
-% Loop to next line.
-% \begin{macrocode}
- \let\@nextfpc\get@fpc@page@data
-% \end{macrocode}
-% end of case on type of fpc line.
-% \begin{macrocode}
- \fi\fi\fi
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\fpc@here}
-%
-% \begin{macrocode}
-\def\fpc@here{hhh}
-% \end{macrocode}
-% \end{macro}
-
-% \begin{macro}{\fpc@list}
-%
-% \begin{macrocode}
-\def\fpc@list{\relax}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\get@float@number}
-% could be known as |\@seventhofseven|.
-% \begin{macrocode}
-\def\get@float@number#1#2#3#4#5#6#7{#7}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\extract@float@by@number}
-% Find the float box that has the float with sequence number |\count@|.
-% \begin{macrocode}
-\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}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-% \endinput
-\endinput
-%
-% $Log: xo-float.dtx,v $
-% Revision 1.32 2000/08/11 07:14:11 latex3
-% added header
-%
-% Revision 1.31 2000/08/11 06:48:24 latex3
-% untabify
-%
-% Revision 1.30 2000/08/11 06:44:00 latex3
-% fix typo in initialization
-%
-% Revision 1.29 2000/08/04 10:17:28 latex3
-% separate out initialisation of here float
-%
-% Revision 1.28 2000/07/19 17:14:01 latex3
-% deduce \this@class from \this@type instead of storing it on a per
-% float basis
-%
-% Revision 1.27 2000/07/19 15:53:46 latex3
-% introduced float sequence classes
-% cleaned up parts of the code
-% added further documentation
-%
-% Revision 1.26 2000/07/10 18:47:12 latex3
-% macro name renaming
-%
-% Revision 1.25 2000/06/29 17:16:30 latex3
-% introduced \setup@this@area
-%
-% Revision 1.24 2000/06/26 15:00:59 latex3
-% docu update
-%
-% Revision 1.23 2000/06/22 20:07:00 latex3
-% renamed some macros to get them more uniform
-%
-% Revision 1.22 2000/06/22 10:55:59 latex3
-% Includeed part of David's code (formerly in xo-dpc.sty) for writing
-% and reading fpl/fpc files. Not done is moving floats in and out of hhh
-%
-% Revision 1.21 2000/06/16 11:20:50 latex3
-% rename \construct@and@test@col@height to \construct@and@test@col@ht
-% rename \construct@and@test@col@heights to \construct@and@test@col@hts
-% rename \cl@height1 to \@col@ht@1 (etc)
-%
-% Revision 1.20 2000/06/15 15:24:25 latex3
-% implemented new semantics for area names
-%
-% Revision 1.19 2000/06/13 21:18:02 latex3
-% add some trace guards
-%
-% Revision 1.18 2000/05/03 18:55:34 latex3
-% pass \theCNT instead of \value{CNT} in the float data structure (we
-% might need both one day)
-%
-% Revision 1.17 2000/04/21 19:11:39 latex3
-% updated here float interface (needs fixing)
-%
-% Revision 1.16 2000/04/08 10:49:39 latex3
-% first draft support for here floats
-%
-% Revision 1.15 2000/03/24 15:34:27 latex3
-% version that starts supporting spans (still a hack yet)
-%
-% Revision 1.14 2000/03/22 15:30:28 latex3
-% some normalisations of names
-% started on spans (tmp version)
-%
-% Revision 1.13 2000/03/16 10:28:29 latex3
-% partial and full flush working for the first time
-%
-% Revision 1.12 2000/03/05 19:40:07 latex3
-% support multiple columns (6 max right now)
-% moved some float init code into page setup
-%
-% Revision 1.11 2000/02/26 18:22:59 david
-% interface to x-alloc and make changes due to
-% deferred float pre-allocation
-%
-% Revision 1.10 2000/02/21 01:45:23 david
-% documentation improvements
-%
-% Revision 1.9 2000/02/20 00:05:08 david
-% use galley, don't discard it (get more pages that way)
-%
-% Revision 1.8 2000/02/19 23:16:19 david
-% Use \construct@and@test@col@height before destroying
-% \this@captioned@float, not after...
-%
-% Revision 1.7 2000/02/19 18:55:44 david
-% reading fpc files
-%
-% Revision 1.6 2000/02/17 22:47:07 david
-% *** empty log message ***
-%
-% Revision 1.5.1.1 2000/02/16 10:39:42 latex3
-% 3cols support added
-%
diff --git a/Master/texmf-dist/source/latex3/xor/xo-flow-chart.dtx b/Master/texmf-dist/source/latex3/xor/xo-flow-chart.dtx
deleted file mode 100644
index 5565a5aa6ad..00000000000
--- a/Master/texmf-dist/source/latex3/xor/xo-flow-chart.dtx
+++ /dev/null
@@ -1,153 +0,0 @@
-
-% \iffalse
-% $Id: xo-flow-chart.dtx,v 1.5 2000/03/22 15:31:14 latex3 Exp $
-% \fi
-
-\begin{footnotesize}
-\begin{verbatim}
- (1)
- |
- V
- \setup@collection@or
- |
- V
- New OR: \collection@or
- |
- V
- \setup@float@placement
-
-
-
- \setup@float@placement
- |
- V
-(2)--> \float@placement@loop
- |
- V
- \trial@inner@loop
- |
- V
- <current float successfully placed in previous trial?>
- | |
- no yes
- | |
- | |
- | V
- | \try@next@float <---------------------
- | | |
- | | |
- | <\@activelist empty?> |
- | | | |
- | no yes |
- | | | |
- | | V |
- | (get it) \@activelist@empty@action |
- | | (= \setup@best@column@or) |
- -------------v---------------- |
- | |
- | |
- -----> \select@and@test@next@area |
- | | |
- | | |
- | <still open areas for current float type?> |
- | | | |
- | yes no---------------(defer float)----------------
- | | |
- | (do some tests and perhaps |
- | close area this way) |
- | | |
- | <float allowed on this page/column (according to tests)?> |
- | | | |
- | yes no---------------(defer float)----------------
- | |
- | <current area got closed by any test?>
- | | |
- | yes no
- | | |
- -------- V
- \pretests@success@action (\setup@grabcolumn@or)
-
-
-
-
- \setup@grabcolumn@or
- |
- V
- \grabcolumn@loop <--------
- | |
- V |
- New OR: \grabcolumn@or |
- | |
- | |
- <all cols produced?> |
- | | |
- yes no------------
- |
- (store results of trial)
- |
- V
- \setup@cleanup@or
- |
- V
- New OR: \cleanup@or
- |
- V
- <special outputpenalty reached?> --> (reenter 2)
-
-
-
- \setup@best@column@or
- |
- V
- \best@column@loop <-------
- | |
- V |
- New OR: \best@column@or |
- | |
- <all cols produced?> |
- | | |
- yes no----------
- |
- (produce final page)
- |
- V
- \initialise@next@page
- |
- V
- (try to make float pages)
- |
- V
- \setup@collection@or (reenter 1)
-
-
-
-\end{verbatim}
-\end{footnotesize}
-
-\endinput
-
-%
-% $Log: xo-flow-chart.dtx,v $
-% Revision 1.5 2000/03/22 15:31:14 latex3
-% some normalisations of names
-% some corrections
-%
-% Revision 1.4 2000/03/05 19:38:51 latex3
-% more updates -- still wrong
-%
-% Revision 1.3 2000/02/26 18:27:52 david
-% updates (not finished)
-%
-% Revision 1.4 2000/02/18 19:08:47 car2
-% oops, something else changed!
-%
-% Revision 1.3 2000/02/18 19:05:04 car2
-% correction: removed a defer
-%
-% Revision 1.2 2000/02/16 10:20:14 latex3
-% small updates
-%
-% Revision 1.1 2000/02/16 07:35:47 latex3
-% Initial revision
-%
-
diff --git a/Master/texmf-dist/source/latex3/xor/xo-grid.dtx b/Master/texmf-dist/source/latex3/xor/xo-grid.dtx
deleted file mode 100644
index b1d737358a7..00000000000
--- a/Master/texmf-dist/source/latex3/xor/xo-grid.dtx
+++ /dev/null
@@ -1,345 +0,0 @@
-% \iffalse
-%%
-%% (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.
-%%
-% \fi
-%
-
-% \begin{macrocode}
-\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 $
-% \end{macrocode}
-%
-% Ignore white space in this package.
-% \begin{macrocode}
-\IgnoreWhiteSpace
-% \end{macrocode}
-%
-% This package implements grid design on top of \LaTeXe{} by adding
-% |\AlignToGrid| in various macros. Nothing else is really needed (or
-% so I hope :-)
-%
-% So far this probably doesn't cover all structures that should, or
-% could be handled automatically.
-%
-% \subsection{Headings}
-%
-%
-% \begin{macro}{\headingsinkage}
-% This is a temporary register used to specify the amount of
-% sinkage a |\@startsection| heading is allowed if it falls at the
-% a column break. In a proper reimplementation of |\@startsection|
-% as a template, this should be individually specifiable rather
-% than being the same for all headings!
-% \begin{macrocode}
-\newskip\headingsinkage
-\headingsinkage=5pt plus 3pt minus 5pt
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@startsection}
-% \begin{macrocode}
-\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
-% \end{macrocode}
-% next lines are pretty horrible but we need something like this
-% here (only it could be be done better)
-% \begin{macrocode}
- \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}}}}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\@sect}
-% Have to ensure that we don't get the heading itself aligned due
-% to a dangling |\AlignToGrid| from a previous structure, so we
-% issue a |\IgnoreAlignToGrid| early on. That's the only change for
-% this command.
-% \begin{macrocode}
-\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}}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\@xsect}
-% Now after having typeset the heading we need to issue
-% |\ObeyAlignToGrid| and make sure that the first line of text gets
-% aligned again. And in addition we issue a |\AlignToGrid| inside
-% the |\everypar| to align the first text after the heading. Of
-% course that mean that we will generate a break point after this
-% line and thus might end up up with a heading and only a single
-% line afterwards.
-%
-% This could be fixed by using a ``rspace'' structure as
-% implemented in \texttt{xo-or.sty} but this is not added at the
-% moment!
-% \begin{macrocode}
-\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}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-% \begin{macro}{\@afterheading}
-% The other case where we have to add |\AlignToGrid| to the
-% |\everypar|.
-% \begin{macrocode}
-\def\@afterheading{%
- \@nobreaktrue
- \everypar{%
- \if@nobreak
- \@nobreakfalse
- \clubpenalty \@M
- \if@afterindent \else
- {\setbox\z@\lastbox}%
- \fi
- \AlignToGrid
- \else
- \clubpenalty \@clubpenalty
- \everypar{}%
- \fi}}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \subsection{List structures}
-%
-% \begin{macro}{\@doendpe}
-% Handling of |\everypar| after a list strcture is already strange
-% and complicated; here we complicate it even more by adding
-% |\AlignToGrid| into its definition(s).
-% \begin{macrocode}
-\def\@doendpe{\@endpetrue
- \def\par{\@restorepar
- \everypar{\everypar{}\AlignToGrid}\par\@endpefalse}%
- \everypar{{\setbox\z@\lastbox}\everypar{}\AlignToGrid\@endpefalse}%
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-% \begin{macro}{\endtrivlist}
-% And there is one case in |\endtrivlist| in which |\@doendpe|
-% is skipped so we have to set |\everypar| manually
-% here.\footnote{Perhaps done in a wrong way, CHECK!}
-% \begin{macrocode}
-\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
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \subsection{Math}
-%
-% \begin{macro}{\displaymath}
-% \begin{macro}{\enddisplaymath}
-% \begin{macro}{\[}
-% \begin{macro}{\]}
-% Math is a bit more complicated as with the standard definitions
-% we don't regain control after the display. So we change all the
-% definitions to use the |\@doendpe| method. This means we have to
-% redefine |\[| at al to be a ref to |\displaymath| not the other
-% way around as it was done in \texttt{latex.ltx}.
-% \begin{macrocode}
-\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
-% \end{macrocode}
-% To gain control we end the paragraph and then invoke the |\end|
-% mechanism for dealing with par. This gives in certain situations
-% slightly different results compared working only with |$$|'s but
-% that's life.
-% \begin{macrocode}
- \par
- \@endpetrue % kill parindent if current paragraph continues
- \@ignoretrue
-}
-\def\[{\begin{displaymath}}
-\def\]{\end{displaymath}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\endequation}
-% Same change for the end of an equation.
-% \begin{macrocode}
-\def\endequation{\eqno \hbox{\@eqnnum}$$\par\@ignoretrue
- \@endpetrue % kill parindent if current paragraph continues
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\endeqnarray}
-% And again the same for the equation array structure.
-% \begin{macrocode}
-\def\endeqnarray{%
- \@@eqncr
- \egroup
- \global\advance\c@equation\m@ne
- $$\par\@ignoretrue
- \@endpetrue % kill parindent if current paragraph continues
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \endinput
-\endinput
-%
-% $Log: xo-grid.dtx,v $
-% Revision 1.3 2000/08/11 07:14:20 latex3
-% added header
-%
-% Revision 1.2 2000/08/06 19:01:12 latex3
-% fix \prevdepth situation before \@startsection
-%
-% Revision 1.1 2000/07/30 18:07:22 latex3
-% Initial revision
-%
-%
-%
-%
-%
-%
-%
-% \begin{macro}{}
-% \begin{macrocode}
-% \end{macrocode}
-% \end{macro}
diff --git a/Master/texmf-dist/source/latex3/xor/xo-here.dtx b/Master/texmf-dist/source/latex3/xor/xo-here.dtx
deleted file mode 100644
index 189aa2259ae..00000000000
--- a/Master/texmf-dist/source/latex3/xor/xo-here.dtx
+++ /dev/null
@@ -1,454 +0,0 @@
-% \iffalse
-%%
-%% (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.
-%%
-% \fi
-%
-% \begin{macrocode}
-\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 $
-% \end{macrocode}
-%
-% Ignore white space in this package.
-% \begin{macrocode}
-\IgnoreWhiteSpace
-% \end{macrocode}
-%
-%
-% Most of the code in this file is temporary in the sense that the
-% interfaces are not fixed or the intended functionality is not fully
-% implemented. It is sort of the proof of concept stuff.
-%
-%
-%
-% \begin{macro}{\requirespace}
-% The |\requirespace| command is an interface function for other
-% parts of a a class file. It issues a here point which ensures
-% that there is at least |#1| amount of space still available in
-% the current column. If not it results in carrying the here point,
-% including the previous line(s), to the next column. This could,
-% for example, be used by a heading to ensure that there is a
-% certain amount of minimal space following it.
-%
-% The precise (?) definition of ``previous line(s)'' is as follows:
-% the internal algorithm will split the so far collected column material
-% trying reach the latest possible break point before the here
-% point. It is theoretically possible to construct examples where
-% \TeX{} decides to take an earlier split point but it is
-% guaranteed the the here point is not losing contact with the
-% material directly preceeding it (unless a legal breakpoint was
-% added in front of it).
-% If the here point was added via |\vadjust| in horizontal mode,
-% this means that the line immediately before it will be after the
-% split (since there will be no other legal break point inbetween).
-% \begin{macrocode}
-\def\requirespace #1 {
- \ifhmode
- \@bsphack
- \fi
- \@next\@currbox\@freelist{}{}
-% \end{macrocode}
-% We are only interested in the type really:
-% \begin{macrocode}
- \global\toks\@currbox{{}{}
- {}
- {}
- {}
- {rspace}
- {}
- }
- \here@point\@currbox{#1}
- \@ignorefalse
- \@esphack
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\marginpar}
-% The current implementation of the document command |\marginpar|
-% is only a proof of concept draft. It doesn't cover the full
-% flexibility of the \LaTeXe{} version yet (and perhaps one wants
-% even an extension of that).
-% \begin{macrocode}
-\def\marginpar #1 {
- \ifhmode
- \@bsphack
- \fi
- \@next\@currbox\@freelist{}{}
- \@savemarbox\@currbox{#1}
-% \end{macrocode}
-% We are only interested in the type really:
-% \begin{macrocode}
- \global\toks\@currbox{{}{}
- {}
- {}
- {}
- {mpar}
- {}
- }
-% \end{macrocode}
-% How far is a marginpar allowed to move past the bottom of the
-% text area? Or say it differently: how much space does a marginpar
-% need to reserve on the page?
-%
-% The code below works differently than the \LaTeXe{} one: it will
-% move the marginpar including the line it was issued on to the
-% next column if its text will otherwise fall more than a
-% baselineskip below the page bottom.
-% \begin{macrocode}
- \@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
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-%
-%
-%
-% \begin{macro}{\typeset@a@marginpar}
-% The |\typeset@a@marginpar| code is called when a marginpar is
-% finally added to the current page (either in a trial or in the
-% final run).
-%
-% It should be templated!
-%
-% Current code is only working for two column setup (!) and lacks
-% any modification possibilities depending on the final position
-% for the marginpar.
-%
-% \begin{macrocode}
-\def \typeset@a@marginpar{
- \kern-\pagedepth
- \vtop to\pagedepth{\baselineskip\pagedepth
- \lineskip\z@
- \vss
- \dimen@\dp\@currbox
- \ifnum \curr@col@count = \@ne
-% \end{macrocode}
-% Since this perhaps only a trial setting we have to |\copy| and
-% not to |\box|!\footnote{FIX: Should clear those boxes somewhere
-% else to save space!}
-% \begin{macrocode}
- \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}
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-% \begin{macro}{\check@and@typeset@a@here@float}
-%
-% When we reach |\check@and@typeset@a@here@float| we are trying to
-% place a float from the active list into some area and have
-% encountered a here point while grabbing the column text for this
-% trial placement. In |\check@and@typeset@a@here@float| we check if
-% the type of the here point is the same as the current float and
-% if so whether or not it would conflict with that trial
-% placement. This is the case if
-% \begin{itemize}
-% \item
-% the here float and the float under trial have the same type
-% \item
-% and their ordering gets out of sync.
-% \end{itemize}
-% \begin{macrocode}
-\def\check@and@typeset@a@here@float{
-%<*trace>
- \@tracepush{check@and@typeset@a@here@float}
-%</trace>
-% \end{macrocode}
-% If we don't run with floats then no check are necessary (in fact,
-% the checks would produce incorrect results), so we skip them and
-% immediately typeset the here float.
-% \begin{macrocode}
- \ifrun@with@floats
-% \end{macrocode}
-% If the current float under trial has the same sequence class as the here
-% object we have to look at the spatial relationship in more detail.
-% \begin{macrocode}
- \ifx\here@class\this@class
-%<*trace>
- \tr@ce{here:~ here@class~ =~ this@class~ =~ \this@class}
-%</trace>
-% \end{macrocode}
-% If the float under trial has a larger sequence number than the
-% here float we have to ensure that the area we place it in follows
-% the here point, i.e., is either a later column or if it is in the
-% same column comes at the bottom.
-% \begin{macrocode}
- \ifnum \this@sequence@number > \here@sequence@number \relax
-%<*trace>
- \tr@ce{here:~ target~ area~ should~ be~ after~ here~ point!}
-%</trace>
-% \end{macrocode}
-% Like in the case of checking call-out relations we use the column
-% number returned in |\count@| by |calculate@target@fl@column|
-% rather than always using the start column of the area.
-% \begin{macrocode}
- \calculate@target@fl@column
- \ifnum \count@ > \curr@col@count
-%<*trace>
- \tr@ce{OK:~ target~ area column~ later}
-%</trace>
- \else
- \ifnum \count@ = \curr@col@count
-%<*trace>
- \tr@ce{??:~ target~ area~ target~ column~ identical}
-%</trace>
-% \end{macrocode}
-% So in case we are in the same column at the top we fail the trial.
-% \begin{macrocode}
- \if t \this@area@type
-%<*trace>
- \tr@ce{Fail:~ target~ area~ is~ before~ here~ point}
-%</trace>
- \@failtrue
-%<*trace>
- \else
- \tr@ce{OK:~ target~ area~ is~ after~ here~ point}
-%</trace>
- \fi
- \else
-% \end{macrocode}
-% And we fail the trial if we tried to place the float into an
-% earlier column.
-% \begin{macrocode}
-%<*trace>
- \tr@ce{Fail:~ target~ area~ column~ earlier~
- (\the\count@ < \the\curr@col@count)}
-%</trace>
- \@failtrue
- \fi
- \fi
-% \end{macrocode}
-% If the float sequence number of the current float is smaller than
-% the one of the here float then we should always handle it via
-% flushing the float out. So the |\else| case is really only there
-% for debugging
-% \begin{macrocode}
-%<*debug>
- \else
- \tr@ce{here:~ target~ area~ should~ be~ before~ here~ point!}
- \ifnum \this@area@col@number > \curr@col@count
- \tr@ce{Problem:~ target~ area~ column~ after~ here~ point
- (\this@area@col@number > \the\curr@col@count)}
- \else
- \ifnum \this@area@col@number = \curr@col@count
- \tr@ce{??:~ target~ area~ target~ column~ identical}
- \if t \this@area@type
- \tr@ce{OK:~ target~ area~ is~ before~ here~ point}
- \else
- \tr@ce{Problem:~ target~ area~ is~ after~ here~ point}
- \fi
- \else
- \tr@ce{OK:~ target~ area~ is~ before~ here~ point}
- \fi
- \fi
-%</debug>
- \fi
- \fi
- \fi
- \if@fail
-% \end{macrocode}
-% If the test above failed we report progress claiming that the
-% reason is due to the current float being placed before the here
-% float. As mentioned above this should be the only possibility why
-% things fail.
-% \begin{macrocode}
-%<*progress>
- \progress@failed{\this@area\space before~here~float~
- (\here@type\space \here@sequence@number)~
- in~ column~ \the\curr@col@count}
-%</progress>
- \global\curr@col@count\col@count
-%<*trace>
- \tr@ce{Failed:~ here~ float~ out~ of~ sync}
-%</trace>
- \else
- \typeset@a@here@float
- \fi
-%<*trace>
- \@tracepop{check@and@typeset@a@here@float}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\typeset@a@here@float}
-% The |\typeset@a@here@float| is called when a here float is
-% finally added to the current page (either in a trial or in the
-% final run).
-%
-% The caption is attached by the usual method where the here
-% area is denoted by |h|\meta{col}|1|. This allows to have
-% different caption placements depending, for example, on the
-% column being near the one of outer margins.
-%
-% The float is separated from preceeding and following text by the
-% current value of |\pagesetup@float@inline@sep| as defined in the
-% page setup template plus or minus a certain amount to allow
-% grid-based typesetting if desired.
-% \begin{macrocode}
-\def \typeset@a@here@float{
-% \end{macrocode}
-% Attach the caption to the float body and store the result in
-% |\this@captioned@float|.
-% \begin{macrocode}
- \append@here@caption@to@float
-% \end{macrocode}
-% If we are not doing grid typesetting we simply put
-% |\pagesetup@float@inline@sep| before and after the formatted
-% float.
-% \begin{macrocode}
- \ifdim \pagesetup@grid@point@sep = \z@
- \@tempskipa\pagesetup@float@inline@sep
- \else
-% \end{macrocode}
-% Otherwise we have to work a little harder since now we need to
-% put exactly the right amount of space before and after the float
-% to stay within the grid. So we measure the size of the formatted
-% float and store the value in |\@tempdima|.
-% \begin{macrocode}
- \@tempdima\ht\this@captioned@float
- \advance\@tempdima\dp\this@captioned@float
-% \end{macrocode}
-% To this we add twice |\pagesetup@float@inline@sep| which gives us
-% the target size for whole object including surrounding space.
-% \begin{macrocode}
- \advance\@tempdima\tw@\pagesetup@float@inline@sep
-% \end{macrocode}
-% Calculate the difference to the nearest grid point\ldots
-% \begin{macrocode}
- \snap@to@grid \@tempdima \pagesetup@grid@point@sep
-% \end{macrocode}
-% \ldots and decide which grid point is closest. If the smaller one
-% is closer use it if we are allowed to shrink the white space by
-% the necessary amount.
-% \begin{macrocode}
- \ifdim \returned@lower@delta@size < \returned@delta@size \relax
- \ifdim \returned@lower@delta@size < 2\pagesetup@float@inline@shrink
-% \end{macrocode}
-% Note that for the lower delta size we have to use the
-% negation since we want to backup by this amount and delta sizes
-% are always given in absolute values.
-% \begin{macrocode}
- \xdef \returned@delta@size {-\returned@lower@delta@size }
- \fi
- \fi
-% \end{macrocode}
-% Now set up the amount of white space we need around the float by
-% starting with the |\returned@delta@size| divided by two (i.e.,
-% equal amount contributed to both sides of the float and then add
-% |\pagesetup@float@inline@sep|. Notice, that we used a skip
-% register for the calculation so that any minus or plus parts will
-% survive. This is useful in case we are not doing grid typesetting
-% and want to allow for some flexibility.\footnote{This needs perhaps
-% rethinking it the light of extended grid implementation concept!}
-% \begin{macrocode}
- \@tempskipa \returned@delta@size \relax
- \divide \@tempskipa \tw@
- \advance \@tempskipa \pagesetup@float@inline@sep
-%<*trace>
- \tr@ce{GRID:~ here~float:~ use~ \the\@tempskipa \space above~ and~ below}
-%</trace>
- \fi
-% \end{macrocode}
-% Finally typeset the float and its surrounding space which is by
-% now stored in |\@tempskipa|.\footnote{Perhaps make the space
-% above and below specifiable individually. One day, perhaps!}
-% \begin{macrocode}
- \vskip\@tempskipa
- \box\this@captioned@float
- \vskip\@tempskipa
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\setup@here@float}
-% Absolutely temp!!!!!\footnote{FIX!!!!}
-% \begin{macrocode}
-\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}
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \endinput
-\endinput
-%
-% $Log: xo-here.dtx,v $
-% Revision 1.12 2000/08/11 07:14:21 latex3
-% added header
-%
-% Revision 1.11 2000/08/04 10:19:09 latex3
-% added init of here floats (temp version)
-%
-% Revision 1.10 2000/07/19 16:05:41 latex3
-% introduced float sequence class concept
-%
-% Revision 1.9 2000/07/10 19:13:34 latex3
-% template here floats and support grid typesetting for them.
-%
-% Revision 1.8 2000/06/29 17:18:44 latex3
-% introduced \setup@this@area
-%
-% Revision 1.7 2000/06/18 14:58:32 latex3
-% use \calculate@target@fl@column to determine the target column ti
-% check if here float and current float are in sync
-%
-% Revision 1.6 2000/06/15 15:23:05 latex3
-% untabify
-%
-% Revision 1.5 2000/06/13 20:45:47 latex3
-% docu updates
-%
-% Revision 1.4 2000/05/03 18:58:56 latex3
-% provide caption template support
-%
-% Revision 1.3 2000/04/27 19:51:45 latex3
-% bug fix: need to copy boxes in trials :-)
-% moved \check@and@typeset@a@here@float to this file
-%
-% Revision 1.2 2000/04/21 19:01:13 latex3
-% added documentation
-%
-% Revision 1.1 2000/04/21 10:19:07 latex3
-% Initial revision
-%
diff --git a/Master/texmf-dist/source/latex3/xor/xo-new.dtx b/Master/texmf-dist/source/latex3/xor/xo-new.dtx
deleted file mode 100644
index acbeda1bf83..00000000000
--- a/Master/texmf-dist/source/latex3/xor/xo-new.dtx
+++ /dev/null
@@ -1,701 +0,0 @@
-% \iffalse
-%%
-%% (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.
-%%
-% \fi
-%
-% \begin{macrocode}
-\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 $
-% \end{macrocode}
-%
-% This package is available for test overwrites that need integration
-% into the main packages at some point
-%
-% Ignore white space in this package.
-% \begin{macrocode}
-\IgnoreWhiteSpace
-% \end{macrocode}
-%
-
-%
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-%
-% STUFF THAT CHANGES CHRIS' xo-final
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-%
-%
-%
-% \begin{macrocode}
-
-\flushbottom
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%changes to xo-final
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\iftrue % using Frank's changes built on 1.15
-
-%<*obsolete>
-\def\typeset@this@float@and@caption{
- \append@caption@to@float
- \box\this@captioned@float
-}
-%</obsolete>
-
-
-
-\def\final@column {
-%<*trace>
- \@tracepush{produce@final@column}
-%</trace>
- \setbox\@outputbox \box\@cclv
-
- \ifvoid\footins
- \else
- \setbox\@outputbox \vbox {
- \boxmaxdepth \@maxdepth
-% \end{macrocode}
-% \TeX\ calculates page breaks expecting the depth of the main text
-% to extend below the page baseline, not contributing to the page height,
-% and it assumes the entire height plus depth of footnotes will contribute
-% to the page height. When the page is assembled, the footnote depth
-% is below the baseline and the main text depth appears mid-page. To
-% make the contents fit the page precisely, we (locally) adjust the
-% footnote spacing \cs{skip}\cs{footins} by the \emph{difference} in
-% the two depths.\footnote{This part of the code was suggested by
-% Donald Arseneau in bug report pr3189.}
-% \begin{macrocode}
- \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
-% \end{macrocode}
-% If we are doing grid typesetting we put all excess space between
-% the text and the footnote(s).
-% \begin{macrocode}
- \ifdim \pagesetup@grid@point@sep > \z@
- \vfil
- \fi
- \color@begingroup
- \normalcolor
- \footnoterule
- \unvbox \footins
- \color@endgroup
- }
- \fi
-% \end{macrocode}
-%
-% I am not sure if texttop/bottom should survive for long: something
-% more spohisictaed is needed these days. This may mean that
-% footnotes need better handling too: what makes a complex column
-% look good?
-%
-% \begin{macrocode}
- \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
-%<*trace>
- \@tracepop{produce@final@column}
-%</trace>
-}
-\let \produce@final@column \final@column
-
-
-
-\def\make@area@floats@box #1#2 {
-%<*trace>
- \@tracepush{make@area@floats@box}
- \tr@ce{Area:~ #1}
-%</trace>
- \@ifundefined{area@#1} % test only needed because of missing integration
- {
-%<*trace>
- \tr@ce{Area:~ not~ set~ up}
-%</trace>
- }
- {
- \setup@this@area{#1} % needed below when typesetting floats
-
- \setbox #2 \box\voidb@x % <-------- FMi
-% \let \@elt \@comflelt % Big aaah!
- \def \@elt { \typeset@float@in@box {#2} }
- \csname area@#1\endcsname
-% \end{macrocode}
-% Not very pretty yet! But better when decoration
-% stuff is used.
-% \begin{macrocode}
- \let \@elt \relax
-
- \expandafter
- \release@floats
- \csname area@#1\endcsname
- }
-%<*trace>
- \@tracepop{make@area@floats@box}
-%</trace>
-}
-
-
-\def\typeset@float@in@box #1 #2 {
-%<*trace>
- \@tracepush{typeset@float@in@box}
-%</trace>
- \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
-%<*trace>
- \tr@ce{col@ \this@area@type
- @floats@ \the\count@ @number~ <-~
- \csname col@ \this@area@type
- @floats@ \the\count@ @number\endcsname}
-%</trace>
- }
-
- \setbox #1 \vbox {
- \ifvoid #1
-%<*trace>
-\tr@ce{add~to~#1:~float~ #2}
-%</trace>
- \else % experimental FMi
-%<*trace>
-\tr@ce{add~to~#1:~float~ #2~ plus~ \pagesetup@float@float@sep}
-%</trace>
- \unvbox #1 % experimental FMi
- \vskip \pagesetup@float@float@sep % experimental FMi
- \fi % experimental FMi
- \typeset@this@float@and@caption
- }
-%<*trace>
- \@tracepop{typeset@float@in@box}
-%</trace>
- }
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% my new xo-final stuff
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-\def \myfinalpage {
- \mbox@addtopage (\pagebodylefthpos, -\headsep)
- {page:~\thepage}
-% \end{macrocode}
-%
-% \begin{macrocode}
-% Init |\dimen|1,2,3,\ldots as vertical current point per column
-% (don't forget in Chris's (sorry, Don's) universum zero is at the
-% top).
-% \end{macrocode}
-%
-% \begin{macrocode}
- \forall@columns{
- \dimen \the\curr@col@count
- \z@
- }
-% \end{macrocode}
-% Now mount all top areas looping through an ordered list of top
-% areas.
-% \begin{macrocode}
- \expandafter\mount@top@areas@loop
- \top@areas
- \relax\relax\relax
-% \end{macrocode}
-% Next mount the text columns.
-% \begin{macrocode}
- \forall@columns{
-
-%<*trace>
- \tr@ce{GRID (delta):~ column~\the\curr@col@count t:~
- \csname col@t@delta@ \the\curr@col@count
- \endcsname\space used}
-%</trace>
- \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 }
-
-%<*trace>
- \tr@ce{GRID (delta):~ column~\the\curr@col@count b:~
- \csname col@b@delta@ \the\curr@col@count
- \endcsname\space used}
-%</trace>
- \advance \dimen \the\curr@col@count
- by %NEEDED!!!!!
- \csname col@b@delta@ \the\curr@col@count \endcsname
- }
-% \end{macrocode}
-% Then mount the bottom floats.
-% \begin{macrocode}
- \def\col@of@focus{0} % temp solution see below
- \expandafter\mount@bot@areas@loop
- \bot@areas
- \relax\relax\relax
-% \end{macrocode}
-%
-% Next thing is absolutely temp: mount a marginal area on the right
-% (bottom) to allow footnotes there (this is just for testing).
-% \begin{macrocode}
- \setlength \@tempdima
- {\pagebodylefthpos + \columndisplacement * \col@count }
- \mbox@addtopage ( \the\@tempdima , \textheight )
- { \box \saved@footins } % TEMP FMi
-%
-% Next thing is absolutely temp: mount a marginal area on the right
-% (bottom) to allow marginal floats there (this is just for testing).
-% \begin{macrocode}
- \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
-
-% for tracing only (unchanged)
-
-
-\def\mbox@addtopage (#1,#2)#3{%
-% \tr@ce{box~being~added~to~page:~at~(#1,~#2) }
- \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 }
-
-% \end{macrocode}
-% There are probably much better ways to get the spacing right, the
-% one below is really only a temporary fix: in |\col@of@focus| we
-% remember the last column in which already applied
-% |\pagesetup@float@text@sep|, any additional float area will
-% contribute another |\pagesetup@float@area@sep|
-% instead.\footnote{To make this work it is absolutely necessary
-% that the floats in bot@areas are ordered by column!!! No-good. FIX!!}
-% \begin{macrocode}
- \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 }
-
-% \end{macrocode}
-% Next loop is actually not necessary as long we keep the
-% restriction that we don't allow partial overlapping float areas, ie we
-% will never mount another float area in the columns that are
-% spanned by the current float area (other than potentially the
-% first and we set this one explicitly).
-% \begin{macrocode}
- \dimen #2 = \@tempdimb
-% \count@ #2\relax
-% \advance\count@ #3\relax
-% \loop
-% \advance\count@\m@ne
-% \dimen \count@ = \@tempdimb
-% \ifnum #2 < \count@
-% \repeat
-
- \fi
-}
-
-
-% of course \top@areas and \bot@areas should be constructed
-% automatically when preparing the \use@areas or from the \known@areas
-% but for now i simply define them here:
-
-\def\top@areas{t13 t12 t22 t32 t11 t21 t31}
-
-\def\bot@areas{b11 b12 b13 b21 b22 b31 b32}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% next line activates my version (well some of it is activated already
-% above)
-%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\let\make@page@box\myfinalpage
-
-\fi % end of stuff modifying xo-final 1.15
-
-% \end{macrocode}
-%
-
-\endinput
-
-
-
-% \begin{macro}{\savecolumnsizes}
-% Declaration to turn on writing of CSL (column size list) files.
-% \begin{macrocode}
-\def\savecolumnsizes{
- \newwrite\csl@file
- \immediate\openout\csl@file\jobname.csl
- \def\perhaps@write@to@csl@file{
- \immediate\write\csl@file
- }
- \def\perhaps@write@placements@to@csl@file{
- \def\@elt{\expandafter
- \perhaps@write@placements@to@csl@file@aux\the\toks}
- \perhaps@write@to@csl@file{
- ^^JPage:~\the\absolute@page@number\space (\the\c@page)^^J
-% \end{macrocode}
-%
-% \begin{macrocode}
- \expandafter\@write@areas\used@areas\relax\relax\relax
- }
- \let\@elt\relax}}
-% \end{macrocode}
-% \end{macro}
-%
-
-
-
-
-
-
-\endinput
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% an attempt to use column 0 and n+1 as marginal areas
-% not active
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% \begin{macro}{\forall@columns@and@margins}
-% \begin{macrocode}
-\def\forall@columns@and@margins#1{
- \edef\saved@curr@col@count{\the\curr@col@count}
- \global\curr@col@count\col@count
- \global\advance\curr@col@count\@ne
- \@whilenum \curr@col@count>\m@ne \do
- {
- #1
- \global\advance\curr@col@count\m@ne
- }
- \global\curr@col@count\saved@curr@col@count\relax
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macrocode}
-% original macro no longer used
-\def\initialise@best@trial{
-%<*trace>
- \@tracepush{initialise@best@trial}
-%</trace>
-% \end{macrocode}
-%
-% \begin{macrocode}
- \global\let\best@trial\@empty
- \forall@columns@and@margins{
- \expandafter
- \g@addto@macro\expandafter\best@trial\expandafter
- {
- \expandafter
- \global
- \csname col@ht@ \the\curr@col@count\endcsname
- \textheight
- }
- }
-%<*trace>
- \tr@ce{\meaning\best@trial}
- \@tracepop{initialise@best@trial}
-%</trace>
-}
-% \end{macrocode}
-%
-
-% \begin{macrocode}
-\expandafter\newdimen\csname col@ht@ 0\endcsname
-% \end{macrocode}
-%
-
-
-% \begin{macro}{\initialise@next@page}
-% Initialises the column heights to text height. Clear the float
-% area lists, zero holdinginserts to allow footnote texts to arrive
-% in the insertion box.
-% \begin{macrocode}
-\def\initialise@next@page{
-%<*trace>
- \@tracepush{initialise@next@page}
-%</trace>
-%
- \forall@columns@and@margins
- {\global\csname col@ht@ \the\curr@col@count\endcsname\textheight}
-%
- \initialise@areas
-%
- \global\page@float@count\z@
-%
- \initialise@best@trial
-% \end{macrocode}
-%
-% \begin{macrocode}
- \initialise@flush@data
-% \end{macrocode}
-%
-% \begin{macrocode}
- \initialise@here@data
-% \end{macrocode}
-%
-% \begin{macrocode}
- \initialise@footins@action
-% \end{macrocode}
-%
-% Nothing is closed when we are at the start of a page.
-% \begin{macrocode}
- \global\let\this@page@closed\@empty
-% \end{macrocode}
-%
-% \begin{macrocode}
- \let\@elt\initialise@float@class
- \float@classes@list
- \let\@elt\relax
-%
-%\showfloatlists
-%\show\area@ddd\show\@activelist
-% for safety
- \global\let\this@float@box\@undefined
-%<*trace>
- \@tracepop{initialise@next@page}
-%</trace>
- }
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-
-%
-% \endinput
-\endinput
-%
-% $Log: xo-new.dtx,v $
-% Revision 1.25 2000/08/11 07:14:23 latex3
-% added header
-%
-% Revision 1.24 2000/08/11 06:49:09 latex3
-% untabify
-%
-% Revision 1.23 2000/08/05 10:01:26 latex3
-% ensure that \make@area@floats@box doesn't do any harm to areas not set
-% up via \DeclareFloatArea
-%
-% Revision 1.22 2000/08/04 15:50:31 latex3
-% \flushbottom default again
-%
-% Revision 1.21 2000/08/04 13:58:58 latex3
-% \bot@areas need to be ordered by column at the moment!!!!
-%
-% Revision 1.20 2000/08/04 10:20:09 latex3
-% removed old experimental code for grid layout
-%
-% Revision 1.19 2000/07/22 06:30:50 latex3
-% fixed bug in positioning bottom floats
-%
-% Revision 1.18 2000/07/19 17:12:53 latex3
-% introduced float sequence list
-%
-% Revision 1.17 2000/07/10 19:22:12 latex3
-% more grid support
-%
-% Revision 1.16 2000/07/04 19:48:55 latex3
-% experimental stuff for GRIDs
-% start writing out columnsizes (unused)
-% use \update@this@area@columns
-%
-% Revision 1.15 2000/06/29 17:16:59 latex3
-% introduced \setup@this@area
-%
-% Revision 1.14 2000/06/26 15:17:26 latex3
-% prototype support for \pagesetup@float@area@sep
-%
-% Revision 1.13 2000/06/16 11:21:07 latex3
-% rename \construct@and@test@col@height to \construct@and@test@col@ht
-% rename \construct@and@test@col@heights to \construct@and@test@col@hts
-% rename \cl@height1 to \@col@ht@1 (etc)
-%
-% Revision 1.12 2000/06/15 15:22:36 latex3
-% implemented new semantics for area names
-%
-% Revision 1.11 2000/06/13 21:23:03 latex3
-% *** empty log message ***
-%
-% Revision 1.10 2000/05/04 09:21:27 latex3
-% urg: \this@area undefined inside the output routine, so captions got
-% typeset with whatever was the last \this@area.
-%
-% Revision 1.9 2000/05/03 18:41:52 latex3
-% still overwriting code for xo-final 1.15 ! (not 1.16)
-% enabling support for caption templates
-%
-% Revision 1.8 2000/04/21 19:16:32 latex3
-% activate my version of xo-final
-%
-% Revision 1.7 2000/04/21 19:05:21 latex3
-% my version of xo-final mainly
-%
-% Revision 1.6 2000/04/09 20:02:42 latex3
-% first draft of marginpar support
-%
-% Revision 1.5 2000/03/24 15:34:27 latex3
-% version that starts supporting spans (still a hack yet)
-%
-% Revision 1.4 2000/02/26 18:26:08 david
-% code moved to xo-*
-%
-% Revision 1.3 2000/02/13 21:37:20 latex3
-% ooops, my ultrix rcs is too old to guess the comment char correctly
-% so we better add explicit \endinput
-%
-% Revision 1.2 2000/02/13 21:35:25 latex3
-% wording
-%
-% Revision 1.1 2000/02/13 21:34:51 latex3
-% Initial revision
-%
diff --git a/Master/texmf-dist/source/latex3/xor/xo-or.dtx b/Master/texmf-dist/source/latex3/xor/xo-or.dtx
deleted file mode 100644
index 6aef48254b1..00000000000
--- a/Master/texmf-dist/source/latex3/xor/xo-or.dtx
+++ /dev/null
@@ -1,5188 +0,0 @@
-% \iffalse
-%%
-%% (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.
-%%
-% \fi
-%
-
-% \begin{macrocode}
-\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 $
-% \end{macrocode}
-%
-% \subsection{A flowchart of the algorithm}
-%
-% Several output routines are employed. Output routines (that is,
-% macros to be used as the sole content of the primitive |\output|
-% register) are named xxx@or. Typically a companion macro named
-% setup@xxx is called to initialise the state (typically setting
-% vsize) and to assign |\output|.
-%
-%
-% [The flow chart has be cut into pieces and individual pieces are
-% shown below.]
-%
-% ^^A \input{xo-flow-chart.sty} ^^A .sty to ease updating
-%
-%
-%
-% Ignore white space in this package.
-% \begin{macrocode}
-\IgnoreWhiteSpace
-% \end{macrocode}
-%
-%
-%
-%
-% \subsection{General helper Routines}
-%
-% \begin{macro}{\@gobblethree}
-% Get rid of three tokens or brace groups.
-% \begin{macrocode}
-\long\def\@gobblethree#1#2#3{}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\xin@}
-% Like |\in@| but with both args (which have to be single tokens!)
-% expanded. Should be replaced by a proper interface.
-% \begin{macrocode}
-\def\xin@#1#2{%
-% expanded once:
- \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@@}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\gincrement@num}
-% Globally increment a ``number macro'' by one.
-% \begin{macrocode}
-\def\gincrement@num#1 {
-% \end{macrocode}
-% We don't want to modify |\count@| here as it might hold some
-% important data so we do everything in a group.
-% \begin{macrocode}
- \begingroup
- \count@#1
- \advance\count@\@ne
- \xdef#1{\the\count@}
- \endgroup
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\gdecrement@num}
-% Globally decrement a ``number macro'' by one.
-% \begin{macrocode}
-\def\gdecrement@num#1 {
- \begingroup
- \count@#1
- \advance\count@\m@ne
- \xdef#1{\the\count@}
- \endgroup
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\split@skip}
-% \begin{macro}{\check@for@fil}
-% \begin{macro}{\get@plus@part}
-% \begin{macro}{\get@minus@part}
-% |\split@skip| takes four aguments: a template key name (for error
-% recovery), a skip specification (e.g., either the value of a skip
-% register via |\the|\meta{register}, or a macro holding the
-% information, or the specification directly), and two dimen
-% registers. The skip specification is taken apart and the first
-% dimen register receives ``plus'' part and the second the
-% ``minus'' part. If the specification contains any |fil| parts an
-% error is generated since these values can't be assigned to a
-% dimen register.
-% \begin{macrocode}
-\begingroup
-% \end{macrocode}
-% We employ the |\lowercase| trick to get certain letters with
-% |\catcode| 12 since we have to scan for them (they are what
-% |\the| outputs. So if we say |MINUS| below we get |minus| but all
-% |\catcode|d 12.
-% \begin{macrocode}
-\catcode`\M=12
-\catcode`\I=12
-\catcode`\N=12
-\catcode`\U=12
-\catcode`\S=12
-% \end{macrocode}
-% We need |p| with |\catcode| 12 to scan for |pt| but we also need
-% |P| with |\catcode| 11 to be able to say |\PackageError|. So we
-% claim lowecase of |Z| is |p| and then say |ZT| and |ZLUS| below.
-% \begin{macrocode}
-\catcode`\Z=12
-\lccode`\Z=`\p
-\catcode`\T=12
-% \end{macrocode}
-% And we need to scan for |FIL|:
-% \begin{macrocode}
-\catcode`\L=12
-\catcode`\F=12
-% \end{macrocode}
-% And the error message contains uppercase |V| and |O| and we want
-% to retain those.
-% \begin{macrocode}
-\lccode`\V=`\V
-\lccode`\O=`\O
-% \end{macrocode}
-% With the above prelims we now apply |\lowercase| to all the
-% definitions below, which will put the correctly |\catcode|d
-% strings in the parsing part of the macros.
-% \begin{macrocode}
-\lowercase{
-\gdef\split@skip #1#2#3#4{
-% \end{macrocode}
-% |#2| is the skip specification. To be sure that the strings
-% ``plus'', ``minus'', ``pt'' are always having |\catcode| 12 we
-% assign it to a register first. Otherwise a user supplied string
-% like |1in plus .5in| wouldn't be parsable since we are only
-% looking for |pt| and also because in this case the |\catcode|s of
-% |plus| would be 11.
-% \begin{macrocode}
- \@tempskipa#2\relax
-% \end{macrocode}
-% Then we pass this on to |\check@for@fil| which will make sure
-% that there isn't any |fil| present and if not does the rest of
-% the processing.
-% \begin{macrocode}
- \expandafter\check@for@fil \the\@tempskipa FIL\relax\check@for@fil
- {\the\@tempskipa}{#3}{#4}{#1}
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\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
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\gdef\get@plus@part #1ZLUS#2ZT#3\get@plus@part#4{
- #4=#2pt\relax
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\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
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-%
-%
-%
-%
-%
-%
-% \subsection{Special Output Routine Penalties}
-%
-%
-% \begin{macro}{\output@collect@penalty}
-% Special penalty marking the point at which the collection OR ended.
-% \begin{macrocode}
-\mathchardef\output@collect@penalty=20202
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\output@balance@penalty}
-% Special penalty marking the point at which the collection OR
-% should end collection because we want to balance the material.
-% \begin{macrocode}
-\mathchardef\output@balance@penalty=10010
-% \end{macrocode}
-% \end{macro}
-%
-%
-% Other special penalties are inbetween -10000 and -10010. Those will
-% not stop the collection OR but are instead recorded along the way.
-%
-% \begin{macro}{\output@columnbreak@penalty}
-% Special penalty marking the point a forced column break was
-% requested by the user.
-% \begin{macrocode}
-\mathchardef\output@columnbreak@penalty=10005
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\output@flush@float@penalty}
-% Special penalty to trigger float flushing for one or more types.
-% \begin{macrocode}
-\mathchardef\output@flush@float@penalty=10006
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\output@here@float@penalty}
-% Special penalty for floats that should stay with their callout.
-% \begin{macrocode}
-\mathchardef\output@here@float@penalty=10007
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\output@grid@align@penalty}
-% Special penalty for places that should fall on the page grid.
-% \begin{macrocode}
-\mathchardef\output@grid@align@penalty=10008
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-%
-% \subsubsection{Utilities for Special Output Routine Penalties}
-%
-%
-% \begin{macro}{\add@badly@guarded@penalty}
-% Put a special penalty into the output and guard it with a
-% box. The reason this macro is called |\add@badly@guarded@penalty|
-% is that such a box of size zero is still messing up spacing
-% caluclations. Why? Because when the penalty is reached on the MVL
-% the preceeding line has already be fully added (i.e., including
-% its depth). This means that \TeX{} might not reach it at all in
-% time! For example, if the preceeding line would be the last line
-% of the page the depth would not be taken into account yet, but by
-% the time we reach the special penalty it has been added to
-% |\pagetotal| and that may result in not fitting anymore onto the
-% page.
-%
-% A solution would be to use a box that has the same depth as its
-% preceeding box and a negative height so that it effectively
-% doesn't modify the galley length. Easy, right? The only problem
-% is that in case of |\vadjust| (and that is unfortunately the more
-% important case) we just don't know what the preceeding depth is,
-% since |\prevdepth| will always give us a friendly |-1000pt| in
-% that case (start of a vertical sub-list\ldots).
-%
-% So not so easy after all. The way out of this dilemma turned out
-% to be complicated and involves a lot of strange corrective
-% actions in the collection process, see there for a replacement of
-% that box and what else can go wrong if one delves into messing
-% around with that part of \TeX.
-% \begin{macrocode}
-\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
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\add@guarded@penalty}
-% Put a special penalty into the output. To ensure that it doesn't
-% get mistakenly removed during breaking preceed it with a ``guard
-% box'' which is later removed again. --- Actually no longer used
-% but replacement isn't yet finalised.\footnote{CLEANUP!}
-% \begin{macrocode}
-\def\add@guarded@penalty#1
- {\guard@box{BUG:~\string#1}\penalty-#1\relax}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\guard@box}
-% Could be moved into the previous macro.
-%
-% The way it is written (using |\prevdepth|) this can only be used
-% in vertical mode! We have to carry over the |\prevdepth| and
-% append the box without adding any additional interline
-% space. Without it one gets nasty extra glue blobs of height
-% |\baselineskip| somewhere in the output.
-% \begin{macrocode}
-\def\guard@box#1{
- \dimen@\prevdepth
- \nointerlineskip
- \vbox to0pt{\vss \rlap{#1}\kern\z@}
- \prevdepth\dimen@
-}
-% \end{macrocode}
-% Better implementation? The above is wrong!\footnote{FIX!}
-% \begin{macrocode}
-\def\guard@box#1{
- \dimen@\prevdepth
- \nointerlineskip
- \begingroup
- \setbox\z@\vbox to\z@{\vss \rlap{#1}}
- \dp\z@\dimen@
- \box\z@
- \endgroup
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\remove@guard@box@from@cclv}
-% Remove a guard box again. This always happens in the OR and so we
-% hard code the box number for speed.
-%
-% Chris thinks this needs a maxdepth setting.
-% \begin{macrocode}
-\def\remove@guard@box@from@cclv{
- \global\setbox\@cclv \vbox{\boxmaxdepth\@maxdepth \unvbox\@cclv
- \global\setbox\removed@guard@box\lastbox}
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\readd@guarded@penalty}
-% Readding a guared penalty including the box that was removed
-% earlier. Probably not needed in the end either since the way it
-% is used at the moment we have a |\topskip| problem this
-% way.\footnote{FIX!!!!}
-% \begin{macrocode}
-\def\readd@guarded@penalty#1 {
- \box\removed@guard@box
-%FMi what about topskip?
- \penalty-#1\relax}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\removed@guard@box}
-% \begin{macrocode}
-\newbox\removed@guard@box
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-% \subsection{Columns and their Data Structures}
-%
-% \begin{macro}{\col@count}
-% We are collecting stuff for a given number of columns. This
-% number of column is available in a count register.
-% \begin{macrocode}
-\let\col@count \col@number % reuse a register from LaTeX
- % which is named differently there
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\curr@col@count}
-% Register denoting the column number of the current column while
-% we cut the galley etc. Should always be modified globally since
-% it is used within output routines.
-% \begin{macrocode}
-\newcount\curr@col@count
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \DescribeMacro\col@box@FOO
-% Per column number FOO we have one box register allocated in which
-% the column text from the galley is stored during trials and page
-% makeup.
-%
-% \DescribeMacro\col@ht@FOO
-% Per column number FOO we have dimen register allocated which
-% holds the vertical target size for the column during the trials.
-%
-% \DescribeMacro\col@t@floats@FOO@number
-% Per column number FOO we have a macro number in which we count
-% the number of top floats we have seen so far in this column. This
-% is used to implement |\pagesetup@float@area@sep| handling.
-%
-% \DescribeMacro\col@b@floats@FOO@number
-% Per column number FOO we have a macro number in which we count
-% the number of bottom floats we have seen so far in this column. This
-% is used to implement |\pagesetup@float@area@sep| handling.
-%
-%
-% \DescribeMacro\col@t@delta@FOO
-% Per column number foo we have a macro in which we record the
-% difference between the real size of all top floats (including
-% there separation spaces) and the nominal size which is used to
-% determine the vertical size of the remaining text column. The two
-% may differ if we do grid typesetting.
-%
-% \DescribeMacro\col@b@delta@FOO
-% Same kind of delta is recorded per column for the bottom floats.
-%
-% \DescribeMacro\fl@FOO@BAR
-% For each float type BAR (e.g., |figure|, |table|, etc.) and each
-% column number FOO we have a macro which holds the highest float
-% sequence number for floats of type BAR allocated to column FOO or
-% zero if no float has been allocated so far.
-%
-% \DescribeMacro{\fl@0@BAR}
-% For each float type BAR (e.g., |figure|, |table|, etc.)
-% |\fl@0@BAR| holds the highest sequence number in columns of the
-% previous page.
-%
-% \DescribeMacro\tfl@FOO@BAR
-% |\tfl@FOO@BAR| is like |\fl@FOO@BAR| but only stores information
-% about floats allocated to top areas.
-%
-%
-
-% \begin{macro}{\col@box@1}
-% \begin{macro}{\col@box@2}
-% \begin{macro}{\col@box@3}
-% \begin{macro}{\col@box@4}
-% \begin{macro}{\col@box@5}
-% \begin{macro}{\col@box@6}
-% Need a box per column (currently fixed at six) to hold material
-% from the galley for this column.
-% \begin{macrocode}
-\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
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\col@ht@ 1}
-% \begin{macro}{\col@ht@ 2}
-% \begin{macro}{\col@ht@ 3}
-% \begin{macro}{\col@ht@ 4}
-% \begin{macro}{\col@ht@ 5}
-% \begin{macro}{\col@ht@ 6}
-% Need a dimen\footnote{Could be a macro if we find ourselves to
-% use up too many dimens.} per column to hold its current vertical
-% target size.
-% \begin{macrocode}
-\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
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-%
-%
-%
-% \subsubsection{Utilities for Columns and their Data Structures}
-%
-% \begin{macro}{\forall@columns}
-% If we want to do something to data structures for all column we
-% can use the macro |\forall@columns|. Within its argument the
-% current column is available in the register
-% |\curr@col@count|. The macro takes some pains to restore the
-% original value of |\curr@col@count| afterwards.
-% \begin{macrocode}
-\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
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\initialise@column@data}
-% \begin{macrocode}
-\def\initialise@column@data{
-%<*trace>
- \@tracepush{initialise@column@data}
-%</trace>
-% \end{macrocode}
-%
-% \begin{macrocode}
- \global\let\best@trial\@empty
-
- \forall@columns
- {
-
- \global\csname col@ht@ \the\curr@col@count\endcsname\textheight
-
-% \end{macrocode}
-%
-% \begin{macrocode}
- \expandafter
- \g@addto@macro\expandafter\best@trial\expandafter
- {
- \expandafter
- \global
- \csname col@ht@ \the\curr@col@count\endcsname
- \textheight
- }
-% \end{macrocode}
-% We haven't seen any top or bottom floats yet.
-% \begin{macrocode}
- \global\@namedef{col@t@floats@ \the\curr@col@count
- @number}{0}
- \global\@namedef{col@b@floats@ \the\curr@col@count
- @number}{0}
-% \end{macrocode}
-% For the same reason the delta values for top and bottom areas are
-% zeroed.\footnote{Using \texttt{\string\let} and
-% \texttt{\string\z@} in places like this would be more faster and
-% shorter, but it wouldn't work nicely in tracing as it would make
-% unexpandable macros. Perhaps the tracing versions should be made
-% specially.}
-% \begin{macrocode}
- \global\@namedef{col@t@delta@ \the\curr@col@count}{0pt}
- \global\@namedef{col@b@delta@ \the\curr@col@count}{0pt}
- }
-
-%<*trace>
- \tr@ce{\meaning\best@trial}
- \@tracepop{initialise@column@data}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-%
-% \subsubsection{User Commands for Columns}
-%
-%
-% \begin{macro}{\columnbreak}
-% And here is the user command formaking a column
-% break:\footnote{All this is stolen from \texttt{multicol.sty} and
-% there is still code that doesn't belong here.} |\columnbreak| is
-% modelled after |\pagebreak| except that we generate a penalty
-% |-\output@columnbreak@penalty|.
-% \begin{macrocode}
-\def\columnbreak{
-% \end{macrocode}
-% We have to ensure that it is only used within a multicolumn
-% environment since if that penalty would be seen by the unmodified
-% \LaTeX{} output routine strange things would happen.
-% \begin{macrocode}
- \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}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-%
-%
-%
-%
-%
-% \subsection{Float Areas and their Data Structures}
-%
-% Naming conventions for float areas is as follows:
-% \begin{quote}
-% \meta{identifier}\meta{start-column}\meta{span-count}.
-% \end{quote}
-% The \meta{identifier} is a single letter denoting the type of area,
-% e.g., |t| for top, |b| for bottom. The \meta{span-count} is a single
-% digit denoting the number of columns to span. The
-% \meta{start-column} is a single digit\footnote{with a bit of care in
-% the code this could be extended to allow more than one digit.}
-% denoting the start column of the area. Thus |t32| is a top area
-% starting at column three and spanning two columns ie three and four.
-% A restriction due to the naming scheme is that currently no more than
-% 9 columns are possible.
-%
-% Only a subset of the float areas is allowed to be popolated on a
-% page. In essense the current algorithm does not support placements
-% that result in splitting the text of a column due to a float (other
-% than column `here' floats).\footnote{Perhaps this restriction is
-% lifted one day.} This means that if $pcs$ ($p=\textrm{pos}$,
-% $c=\textrm{column}$, $s=\textrm{span}$) is a float area that is
-% being populated then it must prevent populating all float areas that
-% satisfy either
-% \[
-% pij \textrm{ with } i < c \leq i+j < c+s
-% \]
-% or
-% \[
-% pij \textrm{ with } i \leq c+s < i+j \leq \verb=\col@count=
-% \]
-% The first formula describes the areas which partly overlap from the
-% left, the second formula describes those that partly overlap from
-% the right. Areas which are sub- or super-areas, e.g., \texttt{t13}
-% and \texttt{t22} do not affect each other. The above restriction is
-% necessary to prevent situations like
-%\begin{verbatim}
-%aaaaaaaaaaa 444
-%aaaaaaaaaaa 444
-%aaaaaaaaaaa 444
-%111 222 bbbbbbb
-%111 222 bbbbbbb
-%111 222 bbbbbbb
-%111 222 333 444
-%111 222 333 444
-%\end{verbatim}
-%
-%
-% For each area |FOO| (e.g., |t13|) we keep a number of global
-% variables to store relevant data. These are the following
-% variables\footnote{Not a consistent lot}:
-%
-% \DescribeMacro\area@FOO
-% Floats allocated to the area |FOO| by the page building process
-% are stored as an |\@elt| list in the macro |\area@FOO|.
-%
-% \DescribeMacro\pagesetup@FOO@float@num
-% The maximum number of floats allowed in area |FOO| is stored in
-% the macro |\pagesetup@FOO@float@num|.
-%
-% \DescribeMacro\FOO@@float@count
-%
-% The number of floats currently allocated to area |FOO| is stored
-% in the count register |\FOO@@float@count|.\footnote{This is a
-% waste of registers!}
-%
-% \DescribeMacro\pagesetup@FOO@class@close
-% The areas that should be closed for floats of the same sequence class the
-% moment a float is placed into area |FOO|. This is a comma
-% separated list.
-%
-% \DescribeMacro\pagesetup@FOO@all@close
-% The areas that should be closed for all float sequence classes the
-% moment a float is placed into area |FOO|. This is a comma
-% separated list.
-%
-%
-%
-% \begin{macro}{\known@areas}
-% |\known@areas| are the areas known to the system.\footnote{or
-% something else, the semantics are still changing} Initialisation
-% is done when declaring individual areas.
-% \begin{macrocode}
-\def\known@areas{}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\used@areas}
-% |\used@areas| are the areas used by the current page setup.
-% Initialisation is done in the page setup template so the
-% definition below is arbitrary.
-% \begin{macrocode}
-\def\used@areas{ t11 b11 }
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\@activelist}
-% \begin{macrocode}
-\let\@activelist\@empty
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@mvllist}
-% \begin{macrocode}
-\let\@mvllist\@empty
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\area@ddd}
-% The list of deferred floats (which we consider being an area in
-% some respects).
-% \begin{macrocode}
-\let\area@ddd\@empty
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\pagesetup@ddd@class@close}
-% \begin{macro}{\pagesetup@ddd@all@close}
-% \begin{macrocode}
-\def\pagesetup@ddd@class@close{\pagesetup@area@list}
-\let\pagesetup@ddd@all@close\@empty
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\this@open@areas}
-% \begin{macro}{\saved@this@open@areas}
-% In |\this@open@areas| we store the float areas which we will try
-% to place a float onto the current page. These areas are tried one
-% after another until the float is successfully placed or we run
-% out of areas. The list does not have any separator (as we assume
-% that all areas are denoted by a letter followed by two digits).
-%
-% |\saved@this@open@areas| is the seved version needed for
-% backtracking if we encounter a flush point that can't be resolved.
-% \begin{macrocode}
-\let\this@open@areas\@empty
-\let\saved@this@open@areas\@empty
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\this@closed@areas}
-% In |\this@closed@areas| we store the float areas which have been
-% closed for the current float while trying to place it. In this
-% list each area name is followed by a comma (to avoid spurious
-% matches). It is initialised with |closed@\this@class @areas| when
-% we fetch a new float to try. Once the float is placed we write
-% the then current value back.
-% \begin{macrocode}
-\let\this@closed@areas\@empty
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\this@page@closed}
-% In |\this@page@closed| we store the float areas which have been
-% closed for all float types. In this list each area name is
-% followed by a comma (to avoid spurious matches).
-% \begin{macrocode}
-\let\this@page@closed\@empty
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\t11@float@count}
-% \begin{macro}{\t21@float@count}
-% \begin{macro}{\b11@float@count}
-% \begin{macro}{\b21@float@count}
-% The float counts are allocated dynamically when an area is
-% declared if they are not defined, but we have a few registers
-% left over from \LaTeX{}'s old OR so we might as well use them.
-% \begin{macrocode}
-%\expandafter\newcount\csname t11@float@count\endcsname
-\expandafter\let\csname t11@float@count\endcsname \@topnum
-%\expandafter\newcount\csname b11@float@count\endcsname
-\expandafter\let\csname b11@float@count\endcsname \@botnum
-%\expandafter\newcount\csname t12@float@count\endcsname
-\expandafter\let\csname t12@float@count\endcsname \@dbltopnum
-%\expandafter\newcount\csname b12@float@count\endcsname
-\expandafter\let\csname b12@float@count\endcsname \@dblbotnum
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\ddd@float@count}
-% And we need to declare the one for the defer area is that isn't
-% going through the normal initialisation process.
-% \begin{macrocode}
-\newcount\ddd@float@count
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\pagesetup@float@area@sep}
-% |\pagesetup@float@area@sep| is the separation to use between two
-% adjacent float areas.
-% \begin{macrocode}
-\newskip\pagesetup@float@area@sep
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\pagesetup@float@text@sep}
-% |\pagesetup@float@text@sep| is the separation to use between
-% column text and adjacent float areas.
-% \begin{macrocode}
-%\newskip\pagesetup@float@text@sep
-\let\pagesetup@float@text@sep\textfloatsep % reuse register
-\let\textfloatsep\@undefined
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\pagesetup@float@float@sep}
-% |\pagesetup@float@float@sep| is the separation to use between
-% two floats in the same float area.
-% \begin{macrocode}
-%\newskip\pagesetup@float@float@sep
-\let\pagesetup@float@float@sep\floatsep % reuse register
-\let\floatsep\@undefined
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\pagesetup@float@text@shrink}
-% |\pagesetup@float@text@shrink| is the allowed shrinkability of
-% |\pagesetup@float@text@sep|. This is used if we are doing grid
-% typesetting and have to adjust the vertical size of the column.
-% \begin{macrocode}
-\newdimen\pagesetup@float@text@shrink
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\pagesetup@float@inline@sep}
-% |\pagesetup@float@inline@sep| is the separation to use between
-% two floats in the same float area.
-% \begin{macrocode}
-%\newskip\pagesetup@inline@float@sep
-\let\pagesetup@float@inline@sep\intextsep % reuse register
-\let\intextsep\@undefined
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\pagesetup@float@inline@shrink}
-% |\pagesetup@float@inline@shrink| is the allowed shrinkability of
-% |\pagesetup@float@inline@sep|. This is used if we are doing grid
-% typesetting and have to adjust the vertical size of object to be
-% added, e.g., an inline float with its caption.
-% \begin{macrocode}
-\newdimen\pagesetup@float@inline@shrink
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-%
-% \subsubsection{Utilities for Float Areas and their Data Structures}
-%
-%
-% \begin{macro}{\initialise@areas}
-% Initialise all float areas used within the current page setup.
-% \begin{macrocode}
-\def\initialise@areas{
- \expandafter\initialise@areas@loop
- \used@areas
- \relax\relax\relax
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\initialise@areas@loop}
-% The |\initialise@areas@loop| picks up the next three tokens and
-% interprets them as the component of an area name.
-% \begin{macrocode}
-\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}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\first@of@type}
-% The macro |\first@of@type| takes a \meta{type} name as its first
-% argument and an \meta{area} area name as its second argument and
-% will return in the macro |\returned@sequence@number| the sequence
-% number of the first float of type \meta{type} currently in
-% \meta{area}. If there is no float of type \meta{type} in this
-% area it will return |-1| (impossible sequence number).
-% \begin{macrocode}
-\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
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\first@of@type@aux}
-% This macro picks up the type definition in the data structure of
-% a float and compares it with the name started in |\@tempb|. If
-% they agree |\returned@sequence@number| will get updated to
-% contain the sequence number of the float.
-% \begin{macrocode}
-\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}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\last@of@type}
-% The macro |\last@of@type| takes a \meta{type} name as its firat
-% argument and an \meta{area} area name as its second argument and
-% will return in the macro |\returned@sequence@number| the sequence
-% number of the last float of type \meta{type} currently in
-% \meta{area}. If there is no float of type \meta{type} in this
-% area it will return |-1| (impossible sequence number).
-% \begin{macrocode}
-\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
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\last@of@type@aux}
-% \begin{macrocode}
-\def\last@of@type@aux#1#2#3#4#5#6#7{
- \def\@tempa{#6}
- \ifx\@tempa\@tempb
- \gdef\returned@sequence@number{#7}
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\setup@this@area}
-%
-% Whenever the algorithm works with some area as the current
-% candidate for putting a float into it uses the following commands
-% to reference this area:
-%
-% \DescribeMacro\this@area
-% The macro |\this@area| holds the name of the candidate area, e.g.,
-% it would expand to something like |t13|.
-%
-% \DescribeMacro\this@area@type
-% The macro |\this@area@type| holds the ``type'' of the area, e.g., |t|
-% in the above example.
-%
-% \DescribeMacro\this@area@col@number
-% The macro |\this@area@col@number| holds the starting column of the
-% area, e.g., |1| in the above example.
-%
-%
-% \DescribeMacro\this@area@span@number
-% The macro |\this@area@span@number| holds the number of columns
-% spanned by the area, e.g., |3| in the above example.
-%
-% All the above macros are globally assigned when calling
-% |\setup@this@area|. The argument is fully expanded (!) since one
-% typical usage to pick up the first area from an area like
-% |\this@open@areas| which can then be done within the argument.
-%
-% \begin{macrocode}
-\def\setup@this@area #1 {
- \xdef\this@area{#1}
-% \end{macrocode}
-% This really relies on |\this@area| containing exactly three
-% tokens (no error recovery if not).
-% \begin{macrocode}
- \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
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\update@this@area@columns}
-%
-% If we have to do updates for all columns that are spanned by the
-% current target area we can call |\update@this@area@columns|. It
-% loops through the columns with |\count@| referring to the current
-% column. Data structure updates have to be global as everything
-% happens within a group.
-% \begin{macrocode}
-\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
-%<*trace>
- \tr@ce{looking~ at~ column:~ \the\count@}
-%</trace>
- #1
- \repeat
- \endgroup
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-%
-% \newpage
-% \subsection{Collection Output Routine}
-%
-% \begin{description}
-% \item[Entry:] |\setup@collection@or|
-% \item[Exit:] |\setup@float@placement|
-% \item[Prereq:] |\initialise@next@page| should have been called before.
-% \item[Description:] Grab enough text (and float call-outs) to obtain
-% a galley big enough to form the next text page. The page goal is
-% set to a value high enough to ensure that in normal cases text
-% for all columns of the page is collected, i.e, we have a safety
-% margin of 5 extra lines per column.\footnote{This should be made
-% customisable for unusual jobs!}
-%
-% If the output routine is triggered with a special penalty (in the
-% range of $-10000>p>-10010=|\output@balance@penalty|$) the penalty
-% is moved into the collection box |\partial@galley@box| without
-% further processing; otherwise the collection is ended and all
-% collected material is moved to |\@holdpg| for use in page
-% production.
-%
-% \item[Flow:]
-%\begin{footnotesize}
-%\begin{verbatim}
-% \setup@collection@or
-% |
-% V
-% New OR: \collection@or
-% |
-% |<-----------------------------------------
-% | |
-% (natural end of collection reached?) |
-% | | |
-% yes no |
-% | | |
-% | (record special penalty and carry on)----
-% |
-% V
-% \setup@float@placement
-%\end{verbatim}
-%\end{footnotesize}
-% \end{description}
-%
-% Chris noted that |\@holdpg| never gets emptied. This could be
-% done when the Collection OR is started for a new page (in this
-% next macro).\footnote{FIX}
-%
-% \begin{macro}{\setup@collection@or}
-% \begin{macrocode}
-\def\setup@collection@or{
-%<*trace>
- \@tracepush{setup@collection@or}
-%</trace>
- \global\holdinginserts\@ne
-% \end{macrocode}
-% We set the |\vsize| for collection to the height of a single
-% column (plus a safety margin of currently five lines to allow for
-% vanishing space at margins) multiplied by the number of columns.
-% \begin{macrocode}
- \global\vsize\textheight
- \global\advance\vsize 5\baselineskip
- \global\multiply\vsize \col@count
-%<*trace>
- \tr@ce{collection~vsize:~\the\vsize }
-%</trace>
-% \end{macrocode}
-% Initialising the flush point handling:
-% \begin{macrocode}
- \@flushseenfalse
- \@flushfailfalse
-% \end{macrocode}
-% We may have to restart the collection (whenever we find a here or
-% a flush point) and we don't want to get extra space added via
-% |\topskip|. So we can either make |\topskip| zero during
-% collection (current strategy) or back it out whenever we restart.
-%
-% We can't set topskip to zero now since a) we want a proper
-% |\topskip| for the first column and b) due to a bloody fix for the
-% old \LaTeX{} OR, a value of |0pt| is set to |1sp| in
-% |\begin{document}| and this results in adding |1sp| at every
-% special point\ldots no, we definitely do not want this! It took
-% me ages to find out why the grid design macros didn't work.
-% \begin{macrocode}
- \xdef\saved@topskip{\the\topskip}
-% \end{macrocode}
-%
-% \begin{macrocode}
- \global\output{\collection@or}
-%<*trace>
- \@tracepop{setup@collection@or}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\if@collecting@new@material}
-% There are actually two collecting modes: one when the recent
-% contributions are empty and we are really collecting material
-% that we haven't seen before and one where we collect material
-% that has been collected on a previous collection pass and has been
-% placed again on to the main vertical list. The reason why we need
-% to differentiate between the two is that in the second case we
-% have to handle the special penalties differently since by now
-% they are already surrounded by the proper guard boxes before and
-% after and we better do not disturb this fragile setup.
-% \begin{macrocode}
-\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}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\collection@or}
-% The output routine during the collection phase assembles the
-% material until enough has been gathered to be sure to fill a
-% page.
-% \begin{macrocode}
-\def\collection@or{
-%<*trace>
- \@tracepush{collection@or}
- \tr@ce{output~pen:~ \the\outputpenalty}
-%{\x\showoutput\showbox255}
-%</trace>
-% \end{macrocode}
-% We first look if the call to the OR is due to a special penalty.
-% \begin{macrocode}
- \@testfalse
- \ifnum\outputpenalty < -\@M
- \ifnum\outputpenalty > -\output@balance@penalty
- \@testtrue
- \fi
- \fi
- \if@test
-%<*trace>
- \tr@ce{Forced~ break~(\the\outputpenalty)~ seen\on@line}
-%</trace>
-% \end{macrocode}
-% Whenever a special penalty, i.e., one between $-10000 > p >
-% -10010$ is encountered we need some magic:
-% \begin{itemize}
-% \item We want to keep the the penalty in the collected material but
-% nevertheless carry on with the collection. Simply moving the
-% collected material to a separate box is not enough since then
-% we will restart the collection with an empty page and thus
-% receive a |\topskip| glue as well as probably losing material
-% if there is anything discardable after the special penalty.
-% \item But putting a zero box back and doing something to fix the
-% problem with the |\topskip| glue isn't good either in case we
-% later actually want to break after the line with special
-% penalty, since then we would start a page with our inserted
-% box, and in this case we would like to get a proper |\topskip|
-% and we would like to get rid of discardable stuff.
-% \item And there is another problem, we need a guard box in front of
-% that special penalty, but this guard box should not be simply a
-% |\null| box (as it is right now added by
-% |\add@badly@guarded@penalty|) since that will result in wrong
-% page calculations because it will make \TeX{} add the depth of
-% the precious line to the page total which it shouldn't.
-% \end{itemize}
-% So what to do? First of all we remove the guard box in front of
-% the special penalty (which is now at the end of box 255) since we
-% want to replace that with something better, then we
-% store away the depth of box 255 since we need that in a minute.
-% \begin{macrocode}
- \remove@guard@box@from@cclv
-% \end{macrocode}
-% We really have to say |\dp\@cclv| not |\pagedepth|. The latter is
-% always zero in the OR which looks suspiciously like a bug or at
-% least an inconsistency when Don implemented the change from \TeX2
-% to \TeX3 (in \TeX2 |\page...| registers were useless in the OR,
-% now only |\pagedepth| seems to be left).
-% \begin{macrocode}
- \dimen@\dp\@cclv
-% \end{macrocode}
-% Then we subtract the size of the collected material from
-% |\vsize| since we will store it away in a separate box for a
-% while. Note that we have to use |\ht\@cclv| here not |\pagetotal|
-% since the latter might be to large because of that |\null|
-% box. The height of 255 on the other hand is, after the removal of
-% that box the natural height of the material.
-% \begin{macrocode}
- \global\advance\vsize-\ht\@cclv
-% \end{macrocode}
-% Now we append the material to |\partial@galley@box|, this is
-% straight forward.
-% \begin{macrocode}
- \global\setbox\partial@galley@box
- \vbox{\ifvoid\partial@galley@box
- \else
- \unvbox\partial@galley@box
- \fi
- \unvbox\@cclv
-% \end{macrocode}
-% But how to add the penalty and how to guard it? We need a box or
-% something to ensure the penalty doesn't get lost at a column
-% break but we also want to avoid that \TeX{} adds the depth of the
-% preceding line to |\pagetotal|. Fortunately we know this depth by
-% now (we have just stored it in |\dimen@|), something we didn't
-% know at the time the we added the penalty with
-% |\add@badly@guarded@penalty|. So we could back up and then add a
-% box with zero height and that depth. This way a break directly
-% after this line would have the same |\pagetotal| as a break at
-% the special penalty. In fact, instead of backing up using a
-% |\kern| or a |\vskip| we can simply make the height of the box
-% negative. The advantage is that this way we don't generate a
-% break point between the box and a preceding box and thus don't
-% have to use special precautions to prevent \TeX{} from breaking in
-% front of the guard box.\footnote{This statement is only true for
-% special penalties added using \texttt{\string\vadjust}, i.e., in
-% hmode. If the penalty was added between paragraphs then there
-% might be vertical space in front of the box. This might need
-% special handling too. CHECK!}
-% \begin{macrocode}
- \setbox\z@\vbox to-\dimen@{}
- \dp\z@\dimen@
- \box\z@
- \penalty\outputpenalty
- }
-%{\showoutput\batchmode\showbox\partial@galley@box\errorstopmode}
-% \end{macrocode}
-% So now we have put everthing we need into the
-% |\partial@galley@box|, but how do we restart our collection
-% process without running into the problems outlined above?
-%
-% Well, right now on the recent contributions there will be a
-% penalty node (from our special penalty) which gets set to 10000
-% by \TeX{} followed perhaps by another penalty from the line
-% breaking followed probably by interline glue calculated to make
-% the next line of text fit vertically with the preceding one ---
-% and we don't want to loose that that glue if we are ending up in
-% the middle of a column. But we want to make it vanish if we
-% happen to finally break at the special penalty place.
-%
-% So the trick is that we a) disable |\topskip| by setting it to
-% |-\maxdimen| (not zero this might be too large still) and b) we
-% add another of those funny boxes followed by a penalty of zero to
-% allow for a break after it.
-%
-% If later on all this is put together again into a single box (in
-% |\@holdpg|) we will have the following sequence there:
-% \begin{itemize}
-% \item text line (box) preceding the special penalty with depth $d$
-% or some other vertical material in which case $d=0\texttt{pt}$
-% \item special box with height $-d$ and depth $d$
-% \item special penalty, e.g. $-10008$
-% \item |\topskip| glue of 0pt
-% \item special box with height $-d$ and depth $d$
-% \item |\penalty| 0
-% \item |\penalty| 10000
-% \item perhaps a |\penalty| and/or interline glue
-% \item perhaps the next text line (box)
-% \end{itemize}
-% Now if during later processing we hit the special penalty
-% |\pagetotal| has the same value as if we would have broken the
-% galley directly after the text line, in other words we do not see
-% the penalty too late (assume this happens to be the last line of
-% the column then if |\pagetotal| would also have the extra depth
-% added to it it might have been overfull and the penalty not being
-% considered at all for this column).
-%
-% After the OR's have dealt with the special penalty, e.g., by
-% flushing some floats, etc. the penalty will be replaced by 10000
-% and thus the next time the galley is processed there is no
-% breakpoint between the two special boxes any more. As a result
-% the next potential breakpoint is the penalty 0 which again
-% results in exactly the same |\pagetotal| as before, i.e., if the
-% text line was the last line to fit in the column then this
-% breakpoint will still fit there. Thus if we break the column
-% there then the interline glue etc will vanish and \TeX{} will
-% insert |\topskip| glue (which has be set back to a normal value
-% by then). If on the other hand, this break point is not chosen
-% the interline glue will stay and thus the two text lines, before
-% and after the special penalty will sit one |\baselineskip| apart
-% just as they should.
-%
-% Woah. What did Don said on page 125 of \textit{The \TeX{}book}?
-% (Deep breath.) You got that?\footnote{There are probably still
-% cases that aren't covered I fear and the need for an explicit
-% penalty 0 at the end is kind of toublesome, so we have to see if
-% this needs further refinements.}
-%
-% And here is already the first case where the above method is not
-% appropriate: if we stumble across a |\output@columnbreak@penalty|
-% we need to discard any following glue, so we don't want a box
-% intervene here.\footnote{Once this is interfaced with the galley
-% code problems like this should vanish since then we can ensure
-% that all such penalties are added to the galley on at save
-% places. REDO THEN!}
-% \begin{macrocode}
- \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
-% \end{macrocode}
-%
-% \begin{macrocode}
- \ifnum\outputpenalty=-\output@flush@float@penalty
-%<*trace>
- \tr@ce{Forced~ break~ =~ flush~ float~ point}
-%</trace>
- \@flushseentrue
- \fi
-% \end{macrocode}
-% Otherwise either the we reached the natural end of the
-% collection, or the point where we have been before (in case we
-% are recollecting previously seen material) or we reached an
-% |\output@balance@penalty|.
-% \begin{macrocode}
- \else
- \ifnum\outputpenalty = -\output@collect@penalty
-% \end{macrocode}
-% If we got an |-\output@collect@penalty| then we are at the point
-% to which the previous collection pass got. So, away with the
-% guard box, then everything back onto the MVL and as a penalty we
-% try to put what we have found in the previous collection pass.
-% \begin{macrocode}
- \remove@guard@box@from@cclv
- \unvbox\@cclv
-%<*trace>
- \tr@ce{reinsert~penalty:~ \saved@outputpenalty\space
- (unless~ 10000~ or~ <~ -9999)}
-%</trace>
- \ifnum\saved@outputpenalty > -\@M
- \penalty
- \ifnum\saved@outputpenalty=\@M
- \z@
- \else
- \saved@outputpenalty\relax
- \fi
-% \end{macrocode}
-% We have a special situation to account for here: if we have a
-% |\pagebreak| that ended the collection last time then it might
-% still be the case that we haven't got to this point due to
-% floats. So we would need to put that penalty back. But only then,
-% and therese the catch! The alternative is to not stop a
-% collection as such a point so that this problem doesn't arise in
-% the first place. Right now we lose the
-% penalty.\footnote{Unresolved situation. FIX!}
-% \begin{macrocode}
- \else
- \fi
-% \end{macrocode}
-% Finally we change the |@collecting@new@material| switch since we
-% are from now on looking at really new material.
-% \begin{macrocode}
- \@collecting@new@materialtrue
- \else
-% \end{macrocode}
-% Next case is not functional right now\ldots
-% \begin{macrocode}
- \ifnum\outputpenalty = -\output@balance@penalty
- \@balancetrue
-%<*trace>
- \tr@ce{BALANCE:~ break~ seen\on@line}
-%</trace>
- \xdef\saved@outputpenalty{0}
-% \end{macrocode}
-% This is now the point where the collection ended naturally: we
-% save the penalty that triggered it and combine the
-% |\partial@galley@box| if it contains material with the stuff now
-% in 255 and put everything into |\@holdpg|.
-% \begin{macrocode}
- \else
- \xdef\saved@outputpenalty{\the\outputpenalty}
- \fi
- \ifvoid\partial@galley@box
- \global \setbox\@holdpg\box\@cclv
- \else
-%<*trace>
- \tr@ce{Re-adding~ forced~ break(s)~ for~ splitting}
-%</trace>
- \global\setbox\@holdpg\vbox{
- \unvbox\partial@galley@box
- \unvbox\@cclv}
- \fi
-
-%\showbox\@holdpg
-
- \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
-%<*trace>
- \@tracepop{collection@or}
-%</trace>
- }
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\partial@galley@box}
-% Need a box to store the partially collected galley.
-% \begin{macrocode}
-\newbox\partial@galley@box
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-% \begin{macro}{\initialise@float@class}
-%
-% \begin{macrocode}
-\def\initialise@float@class#1{
-%<*trace>
- \@tracepush{initialise@float@class}
-%</trace>
- \count@0\LastMark{#1}
-%
-% next line no longer used
-% \global\expandafter\mathchardef\csname count@#1\endcsname\count@
-%
-%<*trace>
- \tr@ce{count~ (#1) = \the\count@}
-%</trace>
-% \end{macrocode}
-%
-% At some point the set of open areas at page start (for a
-% given type of floats) should be specifiable through some
-% templates. Using |\used@areas| is not really the right thing
-% to do.\footnote{Code should vanish one day}.
-% \begin{macrocode}
- \global\expandafter\let\csname open@#1@areas\endcsname\used@areas
- \global\expandafter\let\csname closed@#1@areas\endcsname\@empty
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*trace>
- \tr@ce{open~ (#1) = \csname open@#1@areas\endcsname}
- \tr@ce{closed~ (#1) = \csname closed@#1@areas\endcsname}
-%</trace>
-% \end{macrocode}
-%
-% |\fl@1@figure| are macros that expands to the highest numbered
-% figure callout in this column (or zero if there is none).
-% |\fl@0@figure| is the highest value from previous pages (or zero
-% if there was never any float of this type).
-% \begin{macrocode}
- \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
-% \end{macrocode}
-% |\tfl@1@figure| is like |\fl@1@figure| but only stores
-% information about floats allocated to top areas.
-% \begin{macrocode}
- \expandafter\xdef
- \csname tfl@ \the\curr@col@count @#1\endcsname{0}
- }
-%<*trace>
- \@tracepop{initialise@float@class}
-%</trace>
- }
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \newpage
-%
-% \subsection{Placing Floats}
-%
-%
-% \begin{description}
-% \item[Entry:] |\setup@float@placement|
-% \item[Exit:] |\setup@grab@column@or| or |\setup@best@column@or|
-% \item[Prereq:]
-% \item[Description:]
-% \item[Flow:]
-%\begin{footnotesize}
-%\begin{verbatim}
-% \setup@float@placement
-% |
-% V
-%(2)--> \float@placement@loop
-% |
-% <run with floats?>
-% | |
-% yes no----------> \setup@grab@column@or
-% |
-% V
-% \trial@inner@loop
-% |
-% V
-% <current float successfully placed in previous trial?>
-% | |
-% no yes
-% | |
-% (means we now try V
-% again using different \try@next@float <-------------------
-% placement rules below ) | |
-% | | |
-% | <\@activelist empty?> |
-% | | | |
-% | no yes |
-% | | | |
-% | | V |
-% | (get it) \@activelist@empty@action |
-% | | (= \setup@best@column@or) |
-% -------------v---------------- |
-% | |
-% -----> \try@this@area (= \std@try@this@area, or |
-% | | \relaxed@try@this@area) |
-% | | |
-% | <still open areas for current float type?> |
-% | | | |
-% | yes no---------------(defer float)--------------
-% | | |
-% | (do some tests and perhaps |
-% | close area this way) |
-% | | |
-% | <float allowed on this page/column (according to tests)?> |
-% | | | |
-% | yes no---------------(defer float)--------------
-% | |
-% | <current area got closed by any test?>
-% | | |
-% | yes no
-% | | |
-% | (select next area) |
-% | | |
-% -------- V
-% \pretests@success@action (\setup@grab@column@or)
-%\end{verbatim}
-%\end{footnotesize}
-% \end{description}
-%
-%
-%
-%
-%
-% \begin{macro}{\if@fail}
-% \begin{macrocode}
-\newif\if@fail
-\def\@failfalse{\global\let\if@fail\iffalse}
-\def\@failtrue{\global\let\if@fail\iftrue}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\setup@float@placement}
-%
-% \begin{macrocode}
-\def\setup@float@placement {
-% initialise before trial loop (needs work)
-%<*trace>
- \@tracepush{setup@float@placement}
-%</trace>
-% \end{macrocode}
-% A bit statistics: how many floats do we have on the
-% |\@activelist|?
-% \begin{macrocode}
-%<*progress>
- \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@
-%</progress>
-% \end{macrocode}
-% We need the list of here floats during all trials. They are
-% therefore saved in |\saved@herelist| at this point which is then
-% used to initialise |\@herelist| at the beginning of each trial.
-% \begin{macrocode}
- \global\let\saved@herelist\@herelist
-% \end{macrocode}
-%
-% \begin{macrocode}
- \tighten@float@placement@conditions
-% \end{macrocode}
-% First time we run the |\float@placement@loop| we run it without
-% actually trying any floats (i.e., we are just cutting the
-% galley).\footnote{Could be improved: if there are no floats then
-% we run it once too often this way (per page) so\ldots}
-% \begin{macrocode}
- \run@with@floatsfalse
- \float@placement@loop
-%<*trace>
- \@tracepop{setup@float@placement}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\float@placement@loop}
-% Place the galley box back on the MVL. Needs to be done via the
-% special output routine call |\mark@restore@state| to ensure that
-% \TeX's primitive marks reflect the `logical' previous page rather
-% than the previous actual output routine call.
-% \begin{macrocode}
-\def\float@placement@loop{
-%<*trace>
- \@tracepush{float@placement@loop}
-%</trace>
-% \end{macrocode}
-%
-% \begin{macrocode}
- \deadcycles\z@
- \global\let\@activelist@empty@action\setup@best@column@or
- \global\let\pretests@success@action\setup@grab@column@or
-% \end{macrocode}
-%
-% If we are doing trials we have to place a special penalty at the
-% end of the MVL but if we are cutting up the galley for
-% typesetting we don't want this penalty. Since at this point it is
-% not clear in which case we are we defer this action until
-% later.\footnote{This part of the documentation is no longer true,
-% we now add it below. CORRECT DOCU}
-%
-% |\mark@restore@state| state is a special output routine those
-% only purpose is to reinitialise the state of the mark
-% mechanism. Its argument is executed at the of that OR.
-% \begin{macrocode}
- \mark@restore@state{
-% \end{macrocode}
-% Initialising the grabbing trials means putting the saved material
-% back onto the MVL and reinitialising the here float list.
-% \begin{macrocode}
- \unvcopy\@holdpg
- \ifnum\saved@outputpenalty > -1073741824\relax
- \add@badly@guarded@penalty\output@collect@penalty
- \fi
- \global\let\@herelist\saved@herelist
-% \end{macrocode}
-%
-% The we can start the actual loop: if we run with floats we go to
-% |\trial@inner@loop| otherwise we immediately setup the grap
-% column OR.
-% \begin{macrocode}
- \ifrun@with@floats
- \trial@inner@loop
- \else
- \setup@grab@column@or
- \fi
- }
-%<*trace>
- \@tracepop{float@placement@loop}
-%</trace>
- }
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\trial@inner@loop}
-% Alternative entry into the float placement trial loop. This can
-% be used by setting |\@activelist@empty@action| and
-% |\pretests@success@action| to different values, e.g., for trying
-% float pages without the overhead of the grabcolumn output
-% routine, etc.
-% \begin{macrocode}
-\def\trial@inner@loop{
-%<*trace>
- \@tracepush{trial@inner@loop}
-%</trace>
-% \end{macrocode}
-% If |\if@fail| is true we have already tried the current float
-% before. This means we either do a retry with relaxed conditions
-% (in which case the current area to try was suitably modified
-% beforhand) or else we have just started with a new float and
-% should try the first area of |\this@open@areas|.
-% \begin{macrocode}
- \if@fail
- \@failfalse
- \@flushfailfalse
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*progress>
- \global\advance\trial@count\@ne
-%</progress>
-% \end{macrocode}
-%
-% \begin{macrocode}
- \do@next\try@this@area
- \else
- \do@next\try@next@float
- \fi
-%<*trace>
- \@tracepop{trial@inner@loop}
-%</trace>
- \do@continue
- }
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\trial@count}
-% To gather statistics we count the number of trials per page.
-% \begin{macrocode}
-%<*progress>
-\newcount\trial@count
-%</progress>
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\try@this@area}
-% |\try@this@area| is |\let| to the right definition before it is
-% called so on top-level it is defined to be an error.
-% \begin{macrocode}
-\let\try@this@area\ERROR
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\try@next@area}
-% |\try@next@area| first updates |\this@open@areas| by removing the
-% first area in this list and then calls |\try@this@area|. Thus it
-% should never be called if |\this@open@areas| is already empty.
-% \begin{macrocode}
-\def\try@next@area{
- \xdef\this@open@areas{\expandafter\@gobblethree\this@open@areas}
-%<*progress>
- \global\advance\trial@count\@ne
-%</progress>
- \try@this@area
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\try@next@float}
-% If there is still a float on the active list take it and try to
-% place it in the next open float area (which will be the same as
-% the current area after a successful trial). If there are no
-% floats left execute |\best@trial| to return to that state then
-% switch to the bestcolumn output routine to begin typesetting
-% columns.
-% \begin{macrocode}
-\def\try@next@float{
-%<*trace>
- \@tracepush{try@next@float}
-%</trace>
- \@next\@currbox\@activelist{
-%<*trace>
- \tr@ce{currbox:~ \@currbox}
-%</trace>
-%<*progress>
- \progress{Float:~ \@currbox}
-%</progress>
- \expandafter\update@this@float@structure\the\toks\@currbox
-%<*trace>
- \tr@ce{saved@this@open@areas~(init):~
- \saved@this@open@areas\space :=~\this@open@areas}
-%</trace>
- \global\let\saved@this@open@areas\this@open@areas
-%<*progress>
- \global\advance\trial@count\@ne
-%</progress>
- \try@this@area
- }
-% \end{macrocode}
-% no floats left\ldots
-% \begin{macrocode}
- {
-%<*progress>
- \progress@nl{STATS:~ trials~ =~ \the\trial@count}
- \global\trial@count\z@
-%</progress>
- \@activelist@empty@action
- }
-%<*trace>
- \@tracepop{try@next@float}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-% \begin{macro}{\update@this@float@structure}
-% Each float box has an associated token register storing several
-% information fields.
-% \begin{enumerate}
-% \item[1] float caption (set by caption command)
-% \item[2] Currently unused (could have callout page number, set by
-% |\best@column@or|).
-% \item[3] saved label string
-% \item[4] `user counter' number (per-type count) set by float environment.
-% \item[5] Allowed float areas (from default or optional arg.)
-% \item[6] float type (currently this is the long name, eg figure) should
-% probably be the single token name, to allow quicker testing.
-% \item[7] float sequence number.
-% \end{enumerate}
-%
-% This macro assumes that |\@currbox| is the box number for this structure
-% \begin{macrocode}
-\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}
-% \end{macrocode}
-% From the type we infer the class:
-% \begin{macrocode}
- \global\expandafter\let\expandafter
- \this@class\csname sequence@class@#6\endcsname
- \gdef\this@sequence@number{#7}
-% \end{macrocode}
-% If we want to consider all areas for each float (and storing
-% closed areas via |\closed@|\meta{type}|@areas| we have to
-% initialise |\this@open@areas| to |\used@areas| (which is
-% derived from the |area-list| key.
-% \begin{macrocode}
- \global\let\this@open@areas\used@areas
-% \end{macrocode}
-%
-% \begin{macrocode}
- \global\expandafter\let\expandafter\this@closed@areas
- \csname closed@\this@class @areas\endcsname % FMi tmp
- \global\let\this@float@box\@currbox
-%<*trace>
-\tr@ce{This~float~structure:}
-\toks@{#1}\tr@ce{~{\the\toks@}}
-\tr@ce{~{#2}}
-\tr@ce{~{#3}}
-\tr@ce{~{#4}}
-\tr@ce{~{#5}}
-\tr@ce{~{#6}}
-\tr@ce{~{#7}}
-\tr@ce{~this@open@areas~ <-~ \this@open@areas}
-\tr@ce{~this@closed@areas~ <-~ \this@closed@areas}
-%</trace>
-%<*progress>
-\progress{~{#7}}
-\progress{~{#6}~(\this@class)}
-\progress{~{#4}}
-%\progress{~{#2}}
-%\progress{~{#3}}
-%\progress{~{#5}}
-\toks@{#1}\progress@nl{~{\the\toks@}}
-%</progress>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\extract@this@float@actual@structure}
-% As used by Chris in xo-final. Should probably be replaced by the
-% one above or combined with the one above!\footnote{FIX!!}
-% \begin{macrocode}
-\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}
- }
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\update@here@float@structure}
-%
-% Similar to |\update@this@float@structure| but filling different
-% macros.\footnote{We only need some of those macros, so this
-% should be cleaned up at some stage.}
-%
-% This macro assumes that |\@currbox| is the box number for this
-% structure.
-%
-% \begin{macrocode}
-\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@fps{#5}
- \gdef\here@caption{#1}
- \global\let\here@float@box\@currbox
-%<*trace>
-\tr@ce{Here~object~structure:}
-\toks@{#1}\tr@ce~{~{\the\toks@}}
-\tr@ce{~{#2}}
-\tr@ce{~{#3}}
-\tr@ce{~{#4}}
-\tr@ce{~{#5}}
-\tr@ce{~{#6}}
-\tr@ce{~{#7}}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-%
-% \begin{macro}{\page@float@count}
-% \begin{macrocode}
-%\newcount\page@float@count
-\let\page@float@count\@colnum
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\this@captioned@float}
-% \begin{macrocode}
-\newbox\this@captioned@float
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \newpage
-%
-% \subsection{Grab Column Output Routine}
-%
-% \begin{description}
-% \item[Entry:] |\setup@grab@column@or|
-% \item[Exit:] |\setup@cleanup@or|
-% \item[Prereq:]
-% \item[Description:]
-% \item[Flow:]
-%\begin{footnotesize}
-%\begin{verbatim}
-% \setup@grab@column@or
-% |
-% New OR: \grab@column@or
-% |
-% V
-% \grab@column@loop <-------
-% |
-% (when entering OR...)
-% |
-% <end of collection reached?>
-% | |
-% yes no
-% | |
-% | <col break requested?>
-% | | |
-% | yes no
-% | | |
-% | | <flush point encountered?>
-% | | | |
-% | | yes no
-% | | | |
-% | | <flush point <here point encountered?>
-% | | too early?> | |
-% | | | | yes no
-% | | yes no | |
-% | | | | ? ?
-% | | | (ignore break)
-% | | | |
-% | | | |
-% (end column now) <------- |
-% | |
-% V |
-% <all cols produced?> |
-% | | V
-% yes no--------------------> (reenter \grab@column@loop)
-% |
-% (store results of trial)
-% |
-% V
-% \setup@cleanup@or
-%\end{verbatim}
-%\end{footnotesize}
-% \end{description}
-%
-%
-%
-% \begin{macro}{\setup@grab@column@or}
-%
-% \begin{macrocode}
-\def\setup@grab@column@or{
-%<*trace>
- \@tracepush{setup@grab@column@or}
-%</trace>
-% \end{macrocode}
-%
-% We just returned to the MVL the current galley. We now add a
-% special penalty to mark the point that we need to reach in order
-% to remove everything after the trial run.
-% This penalty has to be guarded against premature removal, e.g.,
-% if the algorithm would break exactly before it it would then be
-% discarded which we can't allow.\footnote{Penalty now added
-% earlier (normally). CORRECT DOCU}
-% \begin{macrocode}
- \ifnum\saved@outputpenalty = -1073741824\relax
- \add@badly@guarded@penalty\output@collect@penalty
- \fi
-% \end{macrocode}
-%
-% \begin{macrocode}
- \@failfalse
- \global\curr@col@count\z@
-% \end{macrocode}
-% In case there is a flush penalty in the collection we have to
-% find out if we see it again during the trial. So we record the
-% number of flush points we see during the trial. Same happens for
-% here points.
-% \begin{macrocode}
- \gdef\trial@flush@seen@num{0}
- \gdef\trial@here@seen@num{0}
-% \end{macrocode}
-%
-% Moved from |\try@this@area| as it should be executed
-% only if we really do a trial and thus back it out if
-% unsuccessful---this was a bug as it changed
-% |\fl@|\meta{col}|@|\meta{type} in cases we never came to this
-% point here but recursed)
-% \begin{macrocode}
- \ifrun@with@floats
-% \end{macrocode}
-% Depending on the policy a spanning float can be considered belong
-% to different columns. This influences the behaviour of the
-% call-out contraint tests and is determined by the code stored in
-% |\calculate@target@fl@column|.
-% \begin{macrocode}
- \calculate@target@fl@column
-% \end{macrocode}
-% |\calculate@target@fl@column| returns its calculated column
-% number in |\count@|.
-% \begin{macrocode}
- \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
-%<*trace>
- \tr@ce{~fl@\the\count@ @\this@class\space <-~
- \csname fl@\the\count@ @\this@class\endcsname}
-%</trace>
-% \end{macrocode}
-% If we are adding to a top area we also have to update the
-% corresponding |tfl@| commands:
-% \begin{macrocode}
- \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
-%<*trace>
- \tr@ce{~tfl@\the\count@ @\this@class\space <-~
- \csname tfl@\the\count@ @\this@class\endcsname}
-%</trace>
- \fi
- \fi
-% \end{macrocode}
-%
-% If we have seen any flush points during collection we need to
-% save their current |min@col| positions in case we have to throw
-% away the current trial.
-% \begin{macrocode}
- \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
-%<*trace>
- \tr@ce{saved@flush@min@col@\the\count@ \space <-~
- \csname flush@min@col@\the\count@\endcsname}
-%</trace>
- }
- \fi
-% \end{macrocode}
-%
-% \begin{macrocode}
- \initialise@footins@action
-% \end{macrocode}
-%
-% \begin{macrocode}
- \global\output{\grab@column@or}
- \grab@column@loop
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*trace>
- \@tracepop{setup@grab@column@or}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\calculate@target@fl@column}
-% \begin{macro}{\calculate@target@fl@column@flexible}
-% \begin{macro}{\calculate@target@fl@column@strict}
-% The purpose of |\calculate@target@fl@column| is to calculate
-% the column number for which the |\fl@|\meta{col}|@number| has to
-% be updated in case we place the current float into the area with
-% start column |\this@area@col@number| and span-number
-% |\this@area@span@number|. It returns the calculated number in
-% |\count@|.
-%
-% For non-spanning floats it is simply returning
-% |\this@area@col@number|. If we return this value also in case of
-% spanning floats then this means that we claim that the float has
-% be placed the first of its spanned columns. Alternatively we
-% could return the last of the spanned columns which would if the
-% |column| policy is in force, allow to place a float into |t12|
-% even if its call-out is in the second column.
-%
-% The real value for |\calculate@target@fl@column| will be assigned
-% in the page setup template.
-% \begin{macrocode}
-\let\calculate@target@fl@column \ERROR
-% \end{macrocode}
-%
-% And here are the two possibilities.
-% \begin{macrocode}
-\def\calculate@target@fl@column@flexible {
- \count@\this@area@col@number\relax
- \advance\count@\this@area@span@number\relax
- \advance\count@\m@ne
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\calculate@target@fl@column@strict {
- \count@\this@area@col@number\relax
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\ifrun@with@floats}
-% \begin{macro}{\run@with@floatstrue}
-% \begin{macro}{\run@with@floatsfalse}
-%
-% \begin{macrocode}
-\newif\ifrun@with@floats
-\def\run@with@floatsfalse{\global\let\ifrun@with@floats\iffalse}
-\def\run@with@floatstrue{\global\let\ifrun@with@floats\iftrue}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\grab@column@loop}
-% The |\grab@column@or| output routine is responsible for
-% constructing one column of a layout trial. The loop command
-% increments the column count and sets vsize to the target height
-% for the current column (which has already been set based on the
-% size and position of the floats in this trial layout.
-% \begin{macrocode}
-\def\grab@column@loop{
-%<*trace>
- \@tracepush{grab@column@loop}
-%</trace>
- \global\advance\curr@col@count\@ne
- \global\vsize\csname col@ht@ \the\curr@col@count\endcsname
-%<*trace>
- \@tracepop{grab@column@loop}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-%
-% \begin{macro}{\some@column@or}
-% |\grab@column@or| and |\best@column@or| are sharing most of their
-% code which is therefore placed into a separate macro. At the
-% moment it takes 4 arguments: the name (``grab'' or ``best''),
-% what to do when we actually finish the column
-% (``|\grab@column@or@finish|'' or ``|\best@column@or@finish|''),
-% what to do for a flush point, and what to do when we encounter a
-% here float.\footnote{This code needs a bit of redesign to deal
-% properly with the case that we have stumbled upon one of the
-% special penalties. In this case we need to ensure that we also
-% remove the special box after the penalty in case we are at a
-% column break. This is not done right now so that in this case we
-% will not dicard material at the top of the column properly. FIX!!!!}
-% \begin{macrocode}
-\def\some@column@or #1#2#3#4{
-%<*trace>
- \@tracepush{#1@column@or}
- \tr@ce{output~pen:~ \the\outputpenalty}
- \tr@ce{#1~ col:~ \the\curr@col@count\space of~ \the\col@count}
-%</trace>
- \handle@case@of@premature@ending
- \handle@case@of@forced@pagebreak
-% \end{macrocode}
-% If the |\outputpenalty| is |-\output@flush@float@penalty| we
-% have reached a float flush point in the galley.
-% \begin{macrocode}
- \ifnum\outputpenalty=-\output@flush@float@penalty
- \gincrement@num\trial@flush@seen@num
-%<*trace>
- \tr@ce{flush~ point~(\trial@flush@seen@num,~
- affects:~ \csname flush@classes@list@\trial@flush@seen@num\endcsname,~
- mincol:~ \csname flush@min@col@\trial@flush@seen@num\endcsname,~
- lastfloat:~ \csname flush@last@float@\trial@flush@seen@num\endcsname
- )~ reached}
-%</trace>
-% \end{macrocode}
-% We then remove the guard box from the output (which is at the end
-% of box |\@cclv|.
-% \begin{macrocode}
- \remove@guard@box@from@cclv
-% \end{macrocode}
-% If the flush penalty moved to an earlier column than in the last
-% trial we end the current column (by calling
-% |\#1@column@or@finish|) and reinsert the penalty so that it will
-% be seen again if we do the next column.
-% \begin{macrocode}
- \ifnum\csname flush@min@col@\trial@flush@seen@num\endcsname
- > \curr@col@count
-%<*trace>
- \tr@ce{flush@min@col@\trial@flush@seen@num\space >~
- curr@col@count~
- (\csname flush@min@col@\trial@flush@seen@num\endcsname
- \space >~ \the\curr@col@count)~ ->~ ending~ column}
-%</trace>
- \gdecrement@num\trial@flush@seen@num
- \readd@guarded@penalty\output@flush@float@penalty
- #2
- \else
-% \end{macrocode}
-% Otherwise the flush point is in an acceptable position which
-% means we ignore it and carry on collecting material for the
-% current column. This is done be putting everything back onto the
-% MVL except the guard box and the penalty.\footnote{We lose a
-% potential break point here (acceptable?) See comments in
-% best@column@or!!}
-% \begin{macrocode}
-%<*trace>
- \tr@ce{flush@min@col@\trial@flush@seen@num\space
- <=~ curr@col@count~
- (\csname flush@min@col@\trial@flush@seen@num\endcsname
- \space <=~ \the\curr@col@count)}
-%</trace>
-% \end{macrocode}
-% What exactly happens here (beside the above) depends on the
-% calling macro.
-% \begin{macrocode}
- #3
- \fi
- \else
-% \end{macrocode}
-% If it was not a flush point we might have a here point to take
-% care of. This is more or less like the code above.
-% \begin{macrocode}
- \ifnum\outputpenalty=-\output@here@float@penalty
- \gincrement@num\trial@here@seen@num
-%<*trace>
- \tr@ce{here~ penalty~(\trial@here@seen@num)~ reached}
-%</trace>
- \remove@guard@box@from@cclv
- \ifnum\csname here@min@col@\trial@here@seen@num\endcsname
- > \curr@col@count
-%<*trace>
- \tr@ce{here@min@col@\trial@here@seen@num\space >~curr@col@count~
- (\csname here@min@col@\trial@here@seen@num\endcsname
- \space >~ \the\curr@col@count)~ ->~ ending~ column}
-%</trace>
- \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
-%<*trace>
- \tr@ce{here@required@space@\trial@here@seen@num\space >~
- \pagegoal-\pagetotal \space
- (\csname here@required@space@\trial@here@seen@num\endcsname
- \space >~ \the\pagegoal\space
- -~ \the\pagetotal\space =~
- \the\@tempdima)~
- ->~ ending~ column}
-%</trace>
- \split@off@last@line
- \gdecrement@num\trial@here@seen@num
- \readd@guarded@penalty\output@here@float@penalty
- #2
- \else
-%<*trace>
- \tr@ce{here@required@space@\trial@here@seen@num\space <=~
- \pagegoal-\pagetotal \space
- (\csname here@required@space@\trial@here@seen@num\endcsname
- \space <=~ \the\pagegoal\space
- -~ \the\pagetotal\space =~
- \the\@tempdima)~
- ->~ accepting~ here~ point}
-%</trace>
- \@reinserts
- \unvbox\@cclv
- \@next\@currbox\@herelist{
-%<*trace>
- \tr@ce{@currbox:~ \@currbox}
-%</trace>
- \expandafter\update@here@float@structure\the\toks\@currbox
-% \end{macrocode}
-% Different things need to be done depending on the type of the
-% here point:
-% \begin{macrocode}
- \def\@tempa{mpar}
- \ifx\@tempa\here@type
- \typeset@a@marginpar
- \else
- \def\@tempa{rspace}
- \ifx\@tempa\here@type
- % do nothing
- \else
- #4
- \fi
- \fi
- }
-% \end{macrocode}
-% If there is no here object left the algorithm has screwed up
-% (i.e., a ``this can't happen'' situation).
-% \begin{macrocode}
- \ERROR
- \fi
- \fi
- \else
-% \end{macrocode}
-% If it is neither a flush nor a here point it might be a grid point:
-% \begin{macrocode}
- \ifnum\outputpenalty=-\output@grid@align@penalty
- \align@collected@galley@and@restart
-% \end{macrocode}
-% So we now know that it wasn't one of our special points so this
-% must have been a normal end of the galley:
-% \begin{macrocode}
- \else
- #2
- \fi
- \fi
- \fi
-%<*trace>
- \@tracepop{#1@column@or}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\grab@column@or}
-% Here is the output routine used during trials, an instantiation
-% of |\some@column@or|.
-% \begin{macrocode}
-\def\grab@column@or{\some@column@or{grab}
- \grab@column@or@finish
- \grab@column@or@flushcheck
- \check@and@typeset@a@here@float
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\grab@column@or@flushcheck}
-%
-% The |\grab@column@or@flushcheck| code checks for restrictions
-% regarding the placement of the current float. It is called when
-% we just have encountered a flush float penalty while grabbing the
-% text for a column and now have to see which floats (if any) need
-% to be positioned before that flush point.
-% \begin{macrocode}
-\def\grab@column@or@flushcheck{
-%<*trace>
- \@tracepush{grab@column@or@flushcheck}
-%</trace>
-% \end{macrocode}
-% If we are making a dry-run without floats then there is no need to
-% do much, so we skip all testing that involves flush points and
-% only do the cleanup actions at the end.
-% \begin{macrocode}
- \ifrun@with@floats
- \expandafter\xin@\expandafter\this@class
- \csname flush@classes@list@\trial@flush@seen@num\endcsname
- \ifin@
-%<*trace>
- \tr@ce{flush:~ class~ \this@class\space in~
- {\csname flush@classes@list@\trial@flush@seen@num\endcsname}}
-%</trace>
-% \end{macrocode}
-% We store in |\count@| the float sequence number of the last float
-% that would be affected by the current flush penalty. This value
-% is then used in the tests below.
-% \begin{macrocode}
- \count@\csname flush@last@float@\trial@flush@seen@num\endcsname\relax
-% \end{macrocode}
-%
-% If the current float number is higher than float number stored in
-% |\flush@last@float@|\meta{num} with the flush penalty, we are
-% dealing with a float whose call-out is after the flush penalty
-% and thus we have no restriction.
-% \begin{macrocode}
- \ifnum\this@sequence@number>\count@
-%<*trace>
- \tr@ce{???:\this@sequence@number>\the\count@}
- \tr@ce{this~float~ past~flush~point}
-%</trace>
- \else
-% \end{macrocode}
-% Otherwise check if this float is placed in an acceptable position
-% with respect to the current flush point. For this we run
-% different code depending on the ``fuzziness'' of the flush point
-% under check:
-% \begin{macrocode}
- \csname flush@fuzziness@\trial@flush@seen@num \endcsname
- \fi
-%<*trace>
- \else
- \tr@ce{flush:~ class~ \this@class\space not~ in~
- {\csname flush@classes@list@\trial@flush@seen@num\endcsname}}
-%</trace>
- \fi
- \fi
-% \end{macrocode}
-% If we failed above we additionally record that the failure is
-% due to violating restrictions for a flush point.
-% \begin{macrocode}
- \if@fail
- \@flushfailtrue
-% \end{macrocode}
-%
-% \begin{macrocode}
- \global\setbox\@cclv\box\voidb@x
- \global\setbox\footins\box\voidb@x
-% \end{macrocode}
-% We have to immediately abort the current trial otherwise a
-% flush point following in the galley might be encountered and
-% processed before we reach |\evaluate@results@of@trial|. That
-% would result in updating the wrong data structure there (due to
-% the fact that there it assumes that |\trial@flush@seen@num|
-% refers to the flush point that is the reason for
-% failure).\footnote{Implementation could be improved!}
-% \begin{macrocode}
- \global\curr@col@count\col@count
- \grab@column@or@finish
- \else
-% \end{macrocode}
-% If we haven't failed we might have to update the
-% |\flush@min@col|\meta{num} for the current flush point in case it
-% moved to a new column.
-% \begin{macrocode}
- \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}
-%<*trace>
- \tr@ce{set~ flush@min@col@\trial@flush@seen@num:~
- \csname flush@min@col@\trial@flush@seen@num\endcsname}
-%</trace>
- \fi
-% \end{macrocode}
-% We have to return the collected footnotes first or else \TeX{}
-% might decide that it is better to break before
-% them.\footnote{Quite likely that this needs some refinement as it
-% might mess up vertical spacing in other respects. Look out for
-% other places where \texttt{\string\@reinserts} is used, if this
-% needs fixing.}
-% \begin{macrocode}
- \@reinserts
- \unvbox\@cclv
-% \end{macrocode}
-% What penalty to return???\footnote{FIX!!!}
-% \begin{macrocode}
-% \penalty\z@ % none i think now (in the current version) but this
- % will change again
- \fi
-%<*trace>
- \@tracepop{grab@column@or@flushcheck}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-% \begin{macro}{\flushcheck@page}
-% \begin{macrocode}
-\def\flushcheck@page {
-%<*trace>
- \tr@ce{OK:~flush~check~ (same~page)}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\flushcheck@spread}
-%
-% This is actually a dummy definition. There is more to do if we
-% want to provide support for spreads!\footnote{Finish implementation}
-% \begin{macrocode}
-\def\flushcheck@spread {
-%<*trace>
- \tr@ce{OK:~flush~check~ (using~page~not~ spread)}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\flushcheck@strict}
-% \begin{macrocode}
-\def\flushcheck@strict {
-%<*trace>
- \@tracepush{flushcheck@strict}
-%</trace>
-% \end{macrocode}
-% If strict flushing is required we look where the current float is
-% being placed. If it
-% is placed in a column which is earlier than the current column
-% then it is definitely before the flush point and thus we are okay.
-% \begin{macrocode}
- \ifnum\this@area@col@number<\curr@col@count
-%<*trace>
- \tr@ce{OK:~flush~check~
- (\this@area@col@number<\the\curr@col@count,~\this@area)}
-%</trace>
- \else
-% \end{macrocode}
-% Otherwise we test if the float is placed into the current
-% column. If this is the case it might be okay, but only if it is
-% not placed into the bottom area.
-% \begin{macrocode}
- \ifnum\this@area@col@number=\curr@col@count
-% \end{macrocode}
-% To test for the bottom area(s) means looking at the first token
-% in the area identifier. If it is |b| we are past the flush
-% point.\footnote{It might be an interesting extension to allow
-% relaxing the flush situation to allow the floats to appear
-% anywhere on the current column (on which the flush point ends up),
-% or even allowing that it only has to appear on the current page
-% or page spread.}
-% \begin{macrocode}
- \if b \this@area@type
- \@failtrue
-%<*progress>
- \progress@failed{area~ below~ flush~ point~
- (\this@area@col@number=\the\curr@col@count,~\this@area)}
-%</progress>
-%<*trace>
- \tr@ce{Fail:~flush~check~
- (\this@area@col@number=\the\curr@col@count,~\this@area)}
-% \end{macrocode}
-% Otherwise the float was placed into an area that is still before
-% the flush point.
-% \begin{macrocode}
- \else
- \tr@ce{OK:~flush~check~
- (\this@area@col@number=\the\curr@col@count,~\this@area)}
-%</trace>
- \fi
-% \end{macrocode}
-% If the float was neither placed before nor into the current
-% column we have to conclude that it was placed into a later column
-% which means it was placed after the flush point --- thus we fail.
-% \begin{macrocode}
- \else
- \@failtrue
-%<*progress>
- \progress@failed{area~ after~ flush~ point~
- (\this@area@col@number>\the\curr@col@count,~\this@area)}
-%</progress>
-%<*trace>
- \tr@ce{Fail:~flush~check~
- (\this@area@col@number>\the\curr@col@count,~\this@area)}
-%</trace>
- \fi
- \fi
-%<*trace>
- \@tracepop{flushcheck@strict}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\flushcheck@column}
-% \begin{macrocode}
-\def\flushcheck@column {
- \ifnum\this@area@col@number>\curr@col@count
- \@failtrue
-%<*progress>
- \progress@failed{area~ after~ flush~ point~ column~
- (\this@area@col@number>\the\curr@col@count,~\this@area)}
-%</progress>
-%<*trace>
- \tr@ce{Fail:~flush~check~
- (\this@area@col@number>\the\curr@col@count,~\this@area)}
- \else
- \tr@ce{OK:~flush~check~
- (\this@area@col@number<=\the\curr@col@count,~\this@area)}
-%</trace>
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\grab@column@or@finish}
-% \begin{macrocode}
-\def\grab@column@or@finish{
-%<*trace>
- \@tracepush{grab@column@or@finish}
-%</trace>
-% \end{macrocode}
-%
-% \begin{macrocode}
- \mark@update@structure
-% \end{macrocode}
-%
-% \begin{macrocode}
- \deal@with@footins@action
-% \end{macrocode}
-%
-% First check if there are some special constraints that should be
-% met (this is, for example, used to check if there are both bottom
-% floats and footnotes). If the constraints are not met don't
-% bother to check the callout/float constraints.
-% \begin{macrocode}
- \if@fail\else
- \ifrun@with@floats
- \check@some@constraints
- \fi
- \fi
- \if@fail\else
-% \end{macrocode}
-% For each float sequence class, call |\check@callout@constraints|
-% this will be set via a call to a pagesetup template to do an
-% appropriate check on the float placement relative to float
-% call-out.
-% \begin{macrocode}
- \ifrun@with@floats
- \let\@elt\check@callout@constraints
- \float@classes@list
- \fi
- \fi
-% \end{macrocode}
-%
-% Throw the text away (it will be reset later if this trial is
-% in fact chosen).
-% \begin{macrocode}
- \global\setbox\@cclv\box\voidb@x
- \global\setbox\footins\box\voidb@x
-% \end{macrocode}
-% After the last column we evaluate the results of the trial (and
-% if the result looks ok remember it as a candidate for the final
-% solution). We then switch to the `clean up' OR which will
-% collect up the main vertical list as far as the special penalty
-% marking the end of the collection pass, to clear the MVL for the
-% next trial. If this isn't the last column, set up the next
-% column.
-% \begin{macrocode}
- \ifnum\curr@col@count=\col@count
- \evaluate@results@of@trial
- \setup@cleanup@or
- \else
- \grab@column@loop
- \fi
-%<*trace>
- \@tracepop{grab@column@or@finish}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\handle@case@of@premature@ending}
-% Next |\ifnum| is a fix that needs rethinking: what is the best
-% approach if we hit the penalty which denotes the end of the
-% collected galley too early, e.g., in the middle of a trial using
-% |\grab@column@or| or when producing the final columns with
-% |\best@column@or|? Current solution gets the stuff out, but is it
-% probably not the best solution.
-% correct?
-% \begin{macrocode}
-\def\handle@case@of@premature@ending{
- \ifnum\outputpenalty=-\output@collect@penalty
- \remove@guard@box@from@cclv
- \readd@guarded@penalty\output@collect@penalty
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\check@some@constraints}
-% By default there are no additional constraints to check for.
-% \begin{macrocode}
-\let\check@some@constraints\relax
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\evaluate@results@of@trial}
-%
-% The purpose of |\evaluate@results@of@trial| is to determine if
-% the current trial is a potential candiate for the final solution
-% and if so store it away. We can determine if the trial failed by
-% looking at the switch |@fail|.
-% \begin{macrocode}
-\def\evaluate@results@of@trial{
-%<*trace>
- \@tracepush{evaluate@results@of@trial}
-%</trace>
-% \end{macrocode}
-%
-% \begin{macrocode}
- \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@
-%<*trace>
- \tr@ce{Failed:~ area~ +~ here~ floats~ exceed~ max~ floats}
-%</trace>
-%<*progress>
- \progress@failed{area~ +~ here~ floats~ exceed~ max~ floats}
-%</progress>
- \@failtrue
- \fi
- \fi
- \fi
-% \end{macrocode}
-%
-% \begin{macrocode}
- \if@fail
-%<*trace>
- \tr@ce{fail:~true}
-%</trace>
-% \end{macrocode}
-% If the trial has failed we have to distinguish two cases:
-% \begin{itemize}
-% \item
-% There has been a request for flushing out floats up to a
-% certain float somewhere
-% and the current float belongs to the list of floats to flush.
-% \item
-% There has been no such request.
-% \end{itemize}
-%
-% If there have been flush points we need to restore their
-% |min@col| values since we might have updated them.
-% \begin{macrocode}
- \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
-%<*trace>
- \tr@ce{flush@min@col@\the\count@ \space <-~
- \csname flush@min@col@\the\count@\endcsname \space
- (restore) }
-%</trace>
- }
- \fi
-
- \if@flushfail
-%<*trace>
- \tr@ce{flushfail:~true}
-%</trace>
-% \end{macrocode}
-% If we have failed and |\try@this@area| is already the ``relaxed''
-% version we have to artificially move the offending flush point to
-% the next column and hope that this way we get ourselves some new
-% options (worst case is that eventually the flush point is removed
-% from the page in which case we can as a last resort defer the
-% float).
-% \begin{macrocode}
- \ifx\try@this@area\relaxed@try@this@area
-
- \expandafter\gincrement@num
- \csname flush@min@col@\trial@flush@seen@num\endcsname
-%<*trace>
- \tr@ce{flush@min@col@\trial@flush@seen@num~ <-~
- \csname flush@min@col@\trial@flush@seen@num\endcsname}
-%</trace>
-%<*progress>
- \progress@failed{flush~ point~ \trial@flush@seen@num\space
- moved~ to~ column~
- \csname flush@min@col@\trial@flush@seen@num\endcsname}
-%</progress>
- \else
-
- \ifx\saved@this@open@areas\@empty
-%<*debug>
- \tr@ce{saved@this@open@areas:~empty ????????}
-%</debug>
- \ERROR
- \else
- \global\let\this@open@areas\saved@this@open@areas
-%<*trace>
- \tr@ce{~this@open@areas~ <-~ \this@open@areas \space (reopen)}
-%</trace>
- \fi
- \relax@float@placement@conditions
- \fi
- \else
-%<*trace>
- \tr@ce{flushfail:~false}
-%</trace>
- \xdef\this@open@areas{\expandafter\@gobblethree\this@open@areas}
- \fi
-
-%<*trace>
- \tr@ce{open:~\this@open@areas}
-
- \tr@ce{restore:~last~allocated:~\saved@fl@}
-%</trace>
-% \end{macrocode}
-% To restore the previous state we have to recalculate the target
-% |fl@| column.
-% \begin{macrocode}
- \calculate@target@fl@column
- \global\expandafter\let
- \csname fl@\the\count@ @\this@class\endcsname
- \saved@fl@
-%<*trace>
- \tr@ce{~fl@\the\count@ @\this@class\space <-~
- \saved@fl@ \space (restored)}
-%</trace>
-% \end{macrocode}
-% And if we tried a top area we also have to restored the
-% corresponding |tfl@| macro.
-% \begin{macrocode}
- \if t\this@area@type
- \global\expandafter\let
- \csname tfl@\the\count@ @\this@class\endcsname
- \saved@tfl@
-%<*trace>
- \tr@ce{~tfl@\the\count@ @\this@class\space <-~
- \saved@tfl@ \space (restored)}
-%</trace>
- \fi
-% \end{macrocode}
-% And we better don't forget to restore the heights.\footnote{This
-% is most likely buggy: I seem to restore all column values but i think
-% i don't save all of them! FIX!!!!}
-% \begin{macrocode}
- \update@this@area@columns
- {
-%<*trace>
- \tr@ce{restore:~saved@col@ht@ \the\count@:~
- \csname saved@col@ht@ \the\count@\endcsname}
-%</trace>
- \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
-%<*trace>
- \tr@ce{GRID (delta):~ column~\the\count@\this@area@type:~
- \csname saved@col@ \this@area@type @delta@ \the\count@
- \endcsname\space (restore) }
-%</trace>
- }
- \else
-%<*trace>
- \tr@ce{fail:~false}
-%</trace>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*progress>
- \let\progress@inform@later\@empty
-%</progress>
-% \end{macrocode}
-% If this trial is valid and we haven't seen all flush penalties
-% again we must have pushed them to the next page. We record
-% this fact by setting |flush@min@col@...| to |\maxdimen|.
-% \begin{macrocode}
- \if@flushseen
- \count@\flush@seq@num\relax
- \loop
- \ifnum \trial@flush@seen@num < \count@
- \global\@namedef{flush@min@col@\the\count@}{\maxdimen}
-%<*trace>
- \tr@ce{flush@min@col@\the\count@\space <-~ maxdimen}
-%</trace>
- \advance\count@\m@ne
- \repeat
-% \end{macrocode}
-% If there has been a flush point (ie if |\trial@flush@seen@num| und
-% thus |\count@| is greater than 0) we test whether or not the
-% float recently placed was the last one affected by the last flush
-% point on the current page and if so tighten the float placement
-% setting again.\footnote{correct logic?}
-% \begin{macrocode}
-%<*progress>
- \let\progress@inform@later\@empty
-%</progress>
- \ifrun@with@floats
- \ifnum \count@ > \z@
- \ifnum \csname flush@last@float@\trial@flush@seen@num\endcsname =
- \this@sequence@number \relax
-%<*trace>
- \tr@ce{flush:~ last~float~affected~ by~ flush~ point~
- \trial@flush@seen@num\space placed~ ->~
- use~ partly~ normal~ placement~ conditions~ again}
-%</trace>
-%<*progress>
- \def\progress@inform@later{
- \progress@nl{->~ past~ flush~ point:~ -->~
- tighten~ conditions~ again}
- \progress@nl{}
- }
-%</progress>
- \partly@tighten@float@placement@conditions
- \fi
- \fi
- \fi
-% \end{macrocode}
-% Having placed a float we need to update |\flush@classes@list@max| to
-% reflect which float types are affected by the flush points
-% currently on the page as this might be needed when trying to
-% place or rather defer the next float.
-%
-% So we loop and concatenate all |\flush@classes@list@|\meta{num} that
-% belong to flush points on the current page. This might result in
-% the list containing types several times but for the test we need
-% to do this doesn't make any difference (and it is far faster than
-% unifying the list).
-% \begin{macrocode}
- \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
- }
-%<*trace>
- \tr@ce{flush@classes@list@max~ <-~ \flush@classes@list@max}
-%</trace>
- \repeat
- \fi
-% \end{macrocode}
-%
-% With this algorithm a trial which passed so far is always
-% considered to be better than previous trials (meaning more floats
-% on the page are better). So we always update the best trial data
-% (unless this was the run without adding floats in which case we
-% only change the |run@with@floats| switch.
-% \begin{macrocode}
- \ifrun@with@floats
- \update@best@trial
-%<*progress>
- \progress@inform@later
-%</progress>
- \else
- \run@with@floatstrue
- \fi
- \fi
-%<*trace>
- \@tracepop{evaluate@results@of@trial}
-%</trace>
- }
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \subsection{Best Trial Data}
-%
-%
-% \begin{macro}{\best@trial}
-% \begin{macrocode}
-\let\best@trial\@empty
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\update@best@trial}
-% Not all of this belongs into this macro!\footnote{redistribute}
-% \begin{macrocode}
-\def\update@best@trial{
-%<*trace>
- \@tracepush{update@best@trial}
-%</trace>
-%<*progress>
- \progress@nl{->~ accepted}
-%</progress>
- \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
- }
- }
-% \end{macrocode}
-%
-% Frank says this needs to be documented (the rest of the code is self evident)
-% |\this@float@box| is |\let| to |\@currbox| which is defed to a chardefed
-% token from newinsert. so this is OK. honest.
-% \begin{macrocode}
- \expandafter\@cons\csname area@\this@area\expandafter\endcsname
- \this@float@box
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*trace>
- \tr@ce{this@page@closed~ \this@page@closed\space +~
- "\csname pagesetup@\this@area @all@close\endcsname"}
- \tr@ce{this@closed@areas~ \this@closed@areas\space +~
- "\csname pagesetup@\this@area @class@close\endcsname"}
-%</trace>
- \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}
-% \end{macrocode}
-%
-% \begin{macrocode}
- \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
-% \end{macrocode}
-% moving the captioned float to the main float box is put into a
-% separate macro so that we can suppress this in cases where we
-% potentially want to revert to a previous stage.\footnote{FIX}
-% \begin{macrocode}
-%<*obsolete>
- \add@caption@to@float@box
-%</obsolete>
-% \end{macrocode}
-%
-% \begin{macrocode}
- \global\advance\page@float@count\@ne
- \global\advance\csname \this@area @float@count\endcsname\@ne
-% \end{macrocode}
-%
-% Since the trial was successful, we have to update the the macros
-% that hold the number of top or bottom floats we have seen so far
-% in each column.\footnote{Code for this is similar to the one in
-% construct@and@test@col@ht and elsewhere; perhaps there should be
-% a subroutine for it!}
-% \begin{macrocode}
- \update@this@area@columns
- {
- \expandafter
- \gincrement@num
- \csname col@ \this@area@type
- @floats@ \the\count@ @number\endcsname
-%<*trace>
- \tr@ce{col@ \this@area@type
- @floats@ \the\count@ @number <-~
- \csname col@ \this@area@type
- @floats@ \the\count@ @number\endcsname}
-%</trace>
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*trace>
- \tr@ce{\meaning\best@trial}
- \tr@ce{area:~\this@area\space\csname area@\this@area\endcsname}
- \@tracepop{update@best@trial}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-
-% \begin{macro}{\add@caption@to@float@box}
-% This is a hook really to be able to prevent moving the caption
-% back into |\this@float@box| (by making this macro |\relax| and
-% this is what happens later on in xo-final). Yes we know the
-% coding here needs changing!\footnote{David FIX!!!}
-% \begin{macrocode}
-%<*obsolete>
-\def\add@caption@to@float@box{
- \global\setbox\this@float@box\box\this@captioned@float
-}
-%</obsolete>
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \newpage
-%
-% \subsection{Best Column Output Routine}
-%
-% \begin{description}
-% \item[Entry:] |\setup@best@column@or|
-% \item[Exit:] |\setup@collection@or|
-% \item[Prereq:]
-% \item[Description:]
-% \item[Flow:]
-%\begin{footnotesize}
-%\begin{verbatim}
-% \setup@best@column@or
-% |
-% New OR: \best@column@or
-% |
-% V
-% \best@column@loop <-------
-% |
-% (when entering OR...)
-% |
-% <end of collection reached?>
-% | |
-% yes no
-% | |
-% | <col break requested?>
-% | | |
-% | yes no
-% | | |
-% | | <flush point encountered?>
-% | | | |
-% | | yes no
-% | | | |
-% | | <flush point <here point encountered?>
-% | | too early?> | |
-% | | | | yes no
-% | | yes no | |
-% | | | | ? ?
-% | | | (ignore break)
-% | | | |
-% | | | |
-% | | | |
-% | | | |
-% | | | |
-% | | | |
-% | | | |
-% | | | |
-% | | | |
-% (end column now) <------- |
-% | |
-% V |
-% <all cols produced?> |
-% | | V
-% yes no--------------------> (reenter \best@column@loop)
-% |
-% (produce final page)
-% |
-% V
-% \initialise@next@page
-% |
-% V
-% (try to make float pages)
-% |
-% V
-% \setup@collection@or
-%\end{verbatim}
-%\end{footnotesize}
-% \end{description}
-%
-%
-% After the best trial is chosen the `best@column@or' output routines
-% are executed. Structurally this is similar to the grab column output
-% routines used during the trials, but this time information
-% about the float placements is recorded in the float area lists
-% and also optionally in float placement control files.
-%
-% \begin{macro}{\setup@best@column@or}
-% This is the initialisation code for producing the final best set
-% of columns (via the @best@column@or output routine).
-% \begin{macrocode}
-\def\setup@best@column@or{
-%<*trace>
- \@tracepush{setup@best@column@or}
-% Elsewhere now:
-% \tr@ce{reinsert~penalty:~ \saved@outputpenalty\space (unless~ 10000)}
-%</trace>
-% \penalty
-% \ifnum\saved@outputpenalty=\@M
-% \z@
-% \else
-% \saved@outputpenalty\relax
-% \fi
- \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
-% \end{macrocode}
-%
-% \begin{macrocode}
- \initialise@footins@action
-% \end{macrocode}
-%
-% \begin{macrocode}
- \global\output{\best@column@or}
- \best@column@loop
-%<*trace>
- \@tracepop{setup@best@column@or}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\best@column@loop}
-% \begin{macrocode}
-\def\best@column@loop{
-%<*trace>
- \@tracepush{best@column@loop}
-%</trace>
- \global\advance\curr@col@count\@ne
- \global\vsize\csname col@ht@ \the\curr@col@count\endcsname
-%<*trace>
- \tr@ce{vsize~ <-~ \the\vsize }
- \@tracepop{best@column@loop}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\best@column@or}
-% Here is the output routine used when preparing the final columns,
-% an instantiation of |\some@column@or|. In contrast to the version
-% used for |\grab@column@or| it doesn't do the tests.
-% \begin{macrocode}
-\def\best@column@or{\some@column@or{best}
- \best@column@or@finish
- {
- \@reinserts
- \unvbox\@cclv
-% \end{macrocode}
-% Next line not okay! we need to add a penalty here but which one?
-% Or we need a different mechanism using either |\holdinginserts|
-% or a partial box line in collection OR.\footnote{FIX!!! there is
-% also another place like this!}
-% \begin{macrocode}
-% \penalty\z@ %FMi?
- }
- {
- \perhaps@write@to@fpl@file{
- \@spaces Area:~hhh^^J
- \expandafter\perhaps@write@placements@to@fpl@file@aux\the\toks\@currbox}
- \typeset@a@here@float
- }
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-%
-% \begin{macro}{\best@column@or@finish}
-%
-% \begin{macrocode}
-\def\best@column@or@finish{
-%<*trace>
- \@tracepush{best@column@or@finish}
-%</trace>
- \mark@update@structure
-% \end{macrocode}
-%
-% \begin{macrocode}
- \deal@with@footins@action
-% \end{macrocode}
-%
-% save all marks here\footnote{not done yet!}
-%
-% add floats and footnotes etc to collected column
-%
-% \begin{macrocode}
- \produce@final@column
-% \end{macrocode}
-%
-% \begin{macrocode}
- \ifnum\curr@col@count=\col@count
- \produce@final@page
- \initialise@next@page
- \try@float@pages
- \place@deferred@floats
- \setup@collection@or
-%{\showoutput\showlists}
- \else
- \best@column@loop
- \fi
-%<*trace>
- \@tracepop{best@column@or@finish}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\initialise@next@page}
-% Initialises the column heights to text height. Clear the float
-% area lists, zero holdinginserts to allow footnote texts to arrive
-% in the insertion box.
-% \begin{macrocode}
-\def\initialise@next@page{
-%<*trace>
- \@tracepush{initialise@next@page}
-%</trace>
-%
-% \end{macrocode}
-%
-% \begin{macrocode}
- \initialise@column@data
-% \end{macrocode}
-%
-% \begin{macrocode}
- \initialise@areas
-% \end{macrocode}
-%
-% \begin{macrocode}
- \global\page@float@count\z@
-% \end{macrocode}
-%
-% \begin{macrocode}
- \initialise@flush@data
-% \end{macrocode}
-%
-% \begin{macrocode}
- \initialise@here@data
-% \end{macrocode}
-%
-% \begin{macrocode}
- \initialise@footins@action
-% \end{macrocode}
-%
-% Nothing is closed when we are at the start of a page.
-% \begin{macrocode}
- \global\let\this@page@closed\@empty
-% \end{macrocode}
-%
-% \begin{macrocode}
- \let\@elt\initialise@float@class
- \float@classes@list
- \let\@elt\relax
-%
-%\showfloatlists
-%\show\area@ddd\show\@activelist
-% for safety
- \global\let\this@float@box\@undefined
-%<*trace>
- \@tracepop{initialise@next@page}
-%</trace>
- }
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\handle@case@of@forced@pagebreak}
-% This is related to |\handle@case@of@premature@ending| but we have
-% to return the penalty only if we haven't reached the last column.
-% If we don't do this we would start collecting material in the
-% middle of final page generation!
-% \begin{macrocode}
-\def \handle@case@of@forced@pagebreak{
- \ifnum\curr@col@count<\col@count
- \ifnum\outputpenalty=-\@M
- \@emptycol
- \fi
- \fi
-
- \ifnum\outputpenalty=-\output@balance@penalty
-%<*trace>
- \tr@ce{BALANCE:~ end~ point~ seen~ again}
-%</trace>
- \remove@guard@box@from@cclv
- \ifnum\curr@col@count<\col@count
- \@emptycol
- \fi
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \newpage
-%
-% \subsection{Cleanup Output Routine}
-%
-% \begin{description}
-% \item[Entry:] |\setup@cleanup@or|
-% \item[Exit:] |\float@placement@loop|
-% \item[Prereq:]
-% \item[Description:]
-% Responsible for discarding unused text still on Main Vertical
-% List After the end of a trial. It eats everything until it sees
-% the special penalty marking the end of the last collection output
-% routine. This output routine may need to be called several times
-% in succession due to forced penalties in the galley.
-% \item[Flow:]
-%\begin{footnotesize}
-%\begin{verbatim}
-% \setup@cleanup@or
-% |
-% V
-% New OR: \cleanup@or
-% |
-% V
-% <special outputpenalty reached?> --> \float@placement@loop
-%\end{verbatim}
-%\end{footnotesize}
-% \end{description}
-%
-%
-% \begin{macro}{\setup@cleanup@or}
-% \begin{macrocode}
-\def\setup@cleanup@or{
- \global\vsize\maxdimen
- \global\output{\cleanup@or}
- }
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\cleanup@or}
-% In the actual output routine we grab text and throw it away until
-% we see the special output penalty. Then we prepare for the trials
-% to place the floats properly.
-% \begin{macrocode}
-\def\cleanup@or{
-%<*trace>
- \@tracepush{cleanup@or}
- \tr@ce{output~pen:~ \the\outputpenalty}
-%</trace>
-% \end{macrocode}
-% Throw everything away \ldots
-% \begin{macrocode}
- \global\setbox\@cclv\box\voidb@x
- \global\setbox\footins\box\voidb@x
-% \end{macrocode}
-% \ldots\ until we see the special output penalty again.
-% \begin{macrocode}
- \ifnum\outputpenalty=-\output@collect@penalty
- \float@placement@loop
- \fi
-%<*trace>
- \@tracepop{cleanup@or}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \newpage
-%
-% \subsection{Making float pages}
-%
-%
-% \begin{description}
-% \item[Entry:] |\try@float@pages|
-% \item[Exit:] --- (this happens within the OR)\\
-% On exit |\area@ddd| will be empty and the floats not being put
-% onto float pages are moved to |\@activelist| (those that have
-% their call outs on previous pages) and |\@mvllist| (those that
-% have their call outs still on the MVL).
-% \item[Prereq:] |\area@ddd| contains the float to work on; all other
-% areas are empty.
-% \item[Description:]
-% \item[Flow:]
-%\begin{footnotesize}
-%\begin{verbatim}
-% \try@float@pages
-% |
-% V
-% <\area@ddd has floats?>
-% | |
-% ----no yes
-% | |
-% | V
-% | (split \area@ddd into \@activelist and \@mvllist;
-% | setup trial conditions)
-% | |
-% | V
-% | \try@float@page <-------------
-% | | |
-% | <float page produced?> |
-% | | | |
-% | no yes |
-% | | | |
-% | | (output page) |
-% | | | |
-% | | (move new \area@ddd |
-% | | to \@activelist) |
-% | | | |
-% | | ------------------
-% | |
-% | |
-% | (restore float conditions before last trial)
-% | |
-% | (restore trial condition to normal)
-% | |
-% ------------->|
-% |
-% V
-%\end{verbatim}
-%\end{footnotesize}
-% \end{description}
-%
-%
-%
-% \begin{macro}{\try@float@pages}
-%
-% \begin{macrocode}
-\def\try@float@pages {
-%<*trace>
- \@tracepush{try@float@pages}
-%</trace>
- \ifx\area@ddd\@empty
-%<*trace>
- \tr@ce{no~ deferred~ floats}
-%</trace>
- \else
- \global\let\@activelist@empty@action\relax
- \global\let\pretests@success@action\floatpage@pretests@success@action
-% \end{macrocode}
-% this is only a tmp: we just use |\relaxed@try@this@area| but of
-% course there should be different rules for float pages (and
-% different float areas and \ldots)
-% \begin{macrocode}
- \global\let\try@this@area\relaxed@try@this@area
-% \end{macrocode}
-%
-% First thing to do is to split the list of deferred floats into
-% those that have ther callouts already typeset (on previous pages)
-% and those that we have only seen because we looked a bit
-% ahead. For making float pages we can only use the former.
-% \begin{macrocode}
- \let\@elt\split@defer@list
- \area@ddd
- \let\@elt\relax
- \global\let\area@ddd\@empty
-% \end{macrocode}
-% Now we loop until we fail to make float pages. The actual work is
-% done in the macro |\try@float@page|.
-% \begin{macrocode}
- \@floatpagetrue
- \loop
- \if@floatpage
- \begingroup % no nesting of \loop without grouping ...
-% \end{macrocode}
-% Next line prevents adding the caption to the float box. Of course
-% the float page does come out even worse this way, but we don't
-% get multiple captions if float page generation
-% fails.\footnote{FIX by redesigning caption handling!}
-% \begin{macrocode}
-%<*obsolete>
- \let\add@caption@to@float@box\relax %tmp!!
-%</obsolete>
-% \end{macrocode}
-%
-% A bit statistics: how many floats do we have on the
-% |\@activelist|?
-% \begin{macrocode}
-%<*progress>
- \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@
-%</progress>
-% \end{macrocode}
-% \begin{macrocode}
- \try@float@page
- \endgroup
- \repeat
-% \end{macrocode}
-% Once we are finished we have to return to normal trial
-% conditions, so\ldots
-% \begin{macrocode}
- \global\let\try@this@area\std@try@this@area
- \fi
-%<*trace>
- \@tracepop{try@float@pages}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\try@float@page}
-% This macro tries to build a single float page from the floats in
-% |\@activelist|. If it fails it (tries to) restores the state of
-% the floats. If it succeeds it will output a float page and returns.
-% \begin{macrocode}
-\def\try@float@page {
-%<*trace>
- \@tracepush{try@float@page}
-%</trace>
-% \end{macrocode}
-% Save the current state in case of failure then run the float
-% placement loop (setup for this loop should have happened
-% earlier).
-% \begin{macrocode}
- \save@current@float@state
- \trial@inner@loop
-%
-%\typeout{float.list.after.trial}
-%\showfloatlists
-%
-% \end{macrocode}
-% Loop through all ``text columns'' and add up their heights. This
-% is again only done to have some sort of measure for float pages
-% and should be removed once some real code gets into this part.
-% \begin{macrocode}
- \dimen@\z@
- \forall@columns{
-%<*trace>
- \tr@ce{\ht\the\curr@col@count=\the \csname
- col@ht@ \the\curr@col@count \endcsname}
-%</trace>
- \advance\dimen@ \csname
- col@ht@ \the\curr@col@count \endcsname
- }
-% \end{macrocode}
-%
-% If the sum of all white space is more than 300pt :-)
-% \begin{macrocode}
- \ifdim \dimen@ > 300pt \relax
-% \end{macrocode}
-% we fail
-% \begin{macrocode}
- \@floatpagefalse
-%<*trace>
- \tr@ce{float~page~failed}
-%</trace>
-%<*progress>
- \progress@failed{no~ float~ page~ made}
- \progress@nl{}
-%</progress>
-% \end{macrocode}
-% Return to the previous state (and as can be seen by using
-% |\initialise@next@page|) this needs some work; the latter might
-% in fact do too much like calling
-% |\initialise@flush@num|!\footnote{FIX}
-% \begin{macrocode}
- \saved@float@state
-% \end{macrocode}
-% To avoid having |\initialise@flush@num| do anything harmful we
-% set |\trial@flush@seen@num| to zero at this point.\footnote{This
-% needs fixing properly!} And the same is necessary for
-% |\initialise@here@num|.
-% \begin{macrocode}
- \gdef\trial@flush@seen@num{0}
- \gdef\trial@here@seen@num{0}
- \initialise@next@page
- \else
-% \end{macrocode}
-% Otherwise we claim we have a good float page.
-% \begin{macrocode}
-%<*trace>
- \tr@ce{float~page~succeeded}
- \tr@ce{We~ better~ output~ something~ now~ ...}
-%</trace>
-%<*progress>
- \progress@nl{succeeded}
- \progress@nl{}
-%</progress>
-% \end{macrocode}
-% producing this page is rubbish as well but it can't be written
-% before we have parameters and rules for making float pages.
-% \begin{macrocode}
- \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
-% \end{macrocode}
-% But the final lines are for real: if we did succeed we need to
-% provide a new |\@activelist| for the next potential float page.
-% It should be the floats we deferred while trying to make the
-% current float page followed by the floats that are still on the
-% active list (i.e., those we haven't even tried for the current
-% page).
-% \begin{macrocode}
- \xdef\@activelist{\area@ddd\@activelist}
- \global\let\area@ddd\@empty
- \fi
-%
-%\typeout{float.list.after.shipout.float.page.or.fail}
-%\showfloatlists
-%
-%<*trace>
- \@tracepop{try@float@page}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\if@floatpage}
-% \begin{macro}{\@floatpagefalse}
-% \begin{macro}{\@floatpagetrue}
-% Switch which is set to true while we are in the process of making
-% float pages and haven't failed.
-% \begin{macrocode}
-\newif\if@floatpage
-\def\@floatpagefalse{\global\let\if@floatpage\iffalse}
-\def\@floatpagetrue{\global\let\if@floatpage\iftrue}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\save@current@float@state}
-%
-% Save the current state of affairs concerning
-% floats\footnote{Needs more work, there are now other data
-% structures that should be saved if this is every going to be of
-% much use. (its current usage actually could be achieved with
-% simpler means). FIX or fold!}. In case of failure return to
-% this state by executing |\saved@float@state|.
-% \begin{macrocode}
-\def\save@current@float@state {
-%<*trace>
- \@tracepush{save@current@float@state}
-%</trace>
- \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
-% \end{macrocode}
-% No final |\relax| needed since this is followed by area data. And
-% if there are no areas we wouldn't call this code, would we?
-% \begin{macrocode}
- }
- }
-% \end{macrocode}
-% Save current state of all used float areas by looping though them.
-% \begin{macrocode}
- \expandafter\save@area@info\used@areas ddd\relax\relax\relax
-%<*trace>
- \tr@ce{saved:~ \meaning\saved@float@state}
- \@tracepop{save@current@float@state}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\save@area@info}
-% Save information about area and recourse.
-% \begin{macrocode}
-\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
-% \end{macrocode}
-% No |\relax| needed since followed by a |\gdef|.
-% \begin{macrocode}
- \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}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\saved@float@state}
-% To return to the saved float state execute |\saved@float@state|.
-% \begin{macrocode}
-\let\saved@float@state\@empty
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\split@defer@list}
-%
-% Split |\area@ddd| list, moving those floats whose callouts have
-% been typeset to |\@activelist| for consideration for (one day)
-% float pages, and for allocating to text page float areas.
-%
-% Floats whose callouts are still on MVL are placed on |\@mvllist|.
-% \begin{macrocode}
-\def\split@defer@list #1 {
- \def\@currbox{#1}
- \expandafter\extract@this@float@actual@structure\the\toks #1
-%<*trace>
- \tr@ce { #1:~\LastMark{\this@class}~ ???~\this@sequence@number }
-%</trace>
- \ifnum 0\LastMark{\this@class} < \this@sequence@number
-%<*trace>
- \tr@ce {#1:~ not~ really~ defered }
-%</trace>
- \@cons \@mvllist #1
- \else
-%<*trace>
- \tr@ce {#1:~ callout~ has~ been~ typeset}
-%</trace>
- \@cons \@activelist #1
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-% \subsection{Preassign deferred floats}
-%
-%
-%
-% \begin{macro}{\place@deferred@floats}
-%
-% The |\place@deferred@floats| is supposed to distribute from
-% previous pages (i.e., from the top of |\area@ddd| or more exactly
-% those currently on the |\@activelist| since the |\area@ddd| was
-% already split when trying to build float pages) into the areas
-% of the page to be build. After all we know that for those floats
-% the call outs are on previous pages so testing for them
-% is unnecessary and we could save time by bypassing this stuff.
-%
-% On the other hand if we have flush points in the upcoming text
-% all our placements might be wrong, so perhaps this doesn't really
-% save so much time after all and the extra complication might not
-% be worth the effort.
-%
-% Perhaps a compromise is to make a first column grab without any
-% floats to see if we end up with a flush point (not implemented).
-%
-% So if we don't do this then the only thing we need to do at this
-% point is to move the floats from the |\@mvllist| to the end of
-% the |\@activelist|.
-% \begin{macrocode}
-\def\place@deferred@floats {
-%<*trace>
- \@tracepush{place@deferred@floats}
-%</trace>
- \xdef\@activelist{\@activelist\@mvllist}
- \global\let\@mvllist\@empty
-%\showfloatlists
-%<*trace>
- \@tracepop{place@deferred@floats}
-%</trace>
-}
-% \end{macrocode}
-%
-%
-% Here is an alternate definition which does the preassigning but
-% it would need to be extended by checking for flush points or by a
-% flag that ensures that if we later encounter a flush point that
-% we know we could backtrack if necessary (e.g., the preassignment
-% might have already deferred some floats past the flush
-% point).\footnote{Extend, fix, or get rid of.}
-% \begin{macrocode}
-\iffalse % we don't do it right now
-\def\place@deferred@floats {
-%<*trace>
- \@tracepush{place@deferred@floats}
-%</trace>
-%\showfloatlists
-% \let\@elt\split@defer@list
-% \area@ddd
-% \let\@elt\relax
-% \global\let\area@ddd\@empty
- \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
-%\showfloatlists
-%<*trace>
- \@tracepop{place@deferred@floats}
-%</trace>
-}
-\fi
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\floatpage@pretests@success@action}
-% Version of |\pretests@success@action| for use in initial phase
-% when previously deferred floats are being allocated to float areas.
-% \begin{macrocode}
-\def\floatpage@pretests@success@action{
-%<*trace>
- \@tracepush{floatpage@pretests@success@action}
-%</trace>
- \update@best@trial
- \trial@inner@loop
-%<*trace>
- \@tracepop{floatpage@pretests@success@action}
-%</trace>
- }
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \newpage
-%
-% \subsection{Support for Balancing}
-%
-% Code in this section (and related code in other sections) is not
-% used at the moment and will most likely be replaced with something
-% completely different.
-%
-% \begin{macro}{\if@balance}
-% |@balance| is set to true if we encounter a balance penalty
-% during collection.
-% \begin{macrocode}
-\newif\if@balance
-\def\@balancefalse{\global\let\if@balance\iffalse}
-\def\@balancetrue{\global\let\if@balance\iftrue}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\balancecolumns}
-%
-% \begin{macrocode}
-\def\balancecolumns {
- \add@badly@guarded@penalty\output@balance@penalty
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-%
-% \newpage
-%
-% \subsection{Support for Flush Points}
-%
-%
-% \begin{macro}{\if@flushseen}
-% \begin{macro}{\if@flushfail}
-%
-% |@flushseen| is set to true if we encounter a flush penalty
-% during collection.
-%
-% |@flushfail| is set to true if we fail a trial due to placing the
-% float after the flush penalty.
-% \begin{macrocode}
-\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}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\flushfloats}
-%
-% Possible variants:
-%
-% Flush only one (some) types.
-%
-% Fuzzyflush or, more precisely, flush-to-this-column
-% or -page or -spread.\footnote{Right now "spread" is not implemented.}
-%
-% Parts of the flushpenalty (all types) data structure:
-%
-% |\flush@min@col@|\meta{num}
-% |\saved@flush@min@col@|\meta{num}
-% |\flush@prev@float@num@|\meta{num}\footnote{what is this Chris?}
-%
-% |\flush@seq@num| is the number of these so that
-% \meta{num} has range [1, |\flush@seq@num|]
-%
-% In addition, whilst doing an fp trial we need |\trial@flush@seen@num|
-% to record that we have, in this trial so far, seen the
-% flush points [1, |\trial@flush@seen@num|].
-%
-%
-% \begin{macrocode}
-\DeclareDocumentCommand\flushfloats { o O{strict} }
- { \flush@floats {#1} {#2} }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\flush@floats #1 #2 {
- \add@badly@guarded@penalty\output@flush@float@penalty
-% \end{macrocode}
-%
-% \begin{macrocode}
- \gincrement@num\flush@seq@num
-% \end{macrocode}
-%
-% \begin{macrocode}
- \global\@namedef{flush@min@col@\flush@seq@num}{1}
-% \end{macrocode}
-%
-% \begin{macrocode}
- \expandafter\xdef
- \csname flush@last@float@\flush@seq@num \endcsname
- {\the\float@sequence@count}
-% \end{macrocode}
-% If |#1| is |\NoValue| the current flush point affects all float
-% sequence classes, thus we store in
-% |\flush@classes@list@|\meta{num} a list of all float sequence
-% classes separated by semicolons. Otherwise we assume that we got
-% a single float type(!) as argument and flush the corresponding
-% class.
-% \begin{macrocode}
- \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
- }
-% \end{macrocode}
-% The argument |#2| holds the fuzziness of the flush point which
-% currently can be either |strict|, |column| or |page|.
-% We link |\flush@fuzziness@|\meta{num} to the code stored in
-% |\flushcheck@#2| after making sure that such code
-% exists.\footnote{Improve error handling (as elsewhere)}
-% \begin{macrocode}
- \@ifundefined {flushcheck@#2}
- \userinputERROR
- {\global\expandafter\let
- \csname flush@fuzziness@\flush@seq@num \expandafter \endcsname
- \csname flushcheck@#2\endcsname
-%<*trace>
- \tr@ce{flush@fuzziness@\flush@seq@num \space
- =:~ \expandafter\noexpand\csname flushcheck@#2\endcsname
- }
-%</trace>
- }
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\clearpage}
-% \LaTeX's |\clearpage| command now looks like this:
-% \begin{macrocode}
-\def\clearpage{ \flushfloats \newpage }
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\doubleclearpage}
-% \LaTeX's |\doubleclearpage| command also needs a new
-% definition:\footnote{But not this one :-) FIX!}
-% \begin{macrocode}
-\def\doubleclearpage{ \clearpage }
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\flush@seq@num}
-% The number |\flush@seq@num| records the number of flush
-% points we have have seen during collection.
-% \begin{macrocode}
-\def\flush@seq@num{0}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\trial@flush@seen@num}
-% The number |\trial@flush@seen@num| records the number of flush
-% points we have seen so far during a trial, i.e., it will be
-% initialised to zero at the beginning of the trial and advanced by
-% one for each flush point encountered.
-% \begin{macrocode}
-\def\trial@flush@seen@num{0}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\flush@last@float@xxx}
-% \begin{macro}{\flush@min@col@xxx}
-% \begin{macro}{\flush@classes@list@xxx}
-% \begin{macro}{\flush@fuzziness@xxx}
-%
-% For each flush point we have a data structure in which we store
-% relevant information. This data structure is provided by a set of
-% macros which can be accessed by using the number of the current
-% flush point and constructing |\csname|s from it, e.g., to get at
-% the ``flush min col'' for the flush point with number 3 would be
-% |\csname flush@min@col@3\endcsname|.
-
-% |\flush@min@col@|\meta{num} holds the column number in which we
-% last seen the flush penalty while trying to find a solution for
-% the current page. This is initialised to 1 in collection@or when
-% a flush penalty is encountered during collection (since 1 is the
-% earliest column in which the flush penalty finally may fall). By
-% adding additional floats to the page the penalty might move to a
-% later column but normally not back to an earlier
-% one\footnote{There is a possibility that this happens if there is
-% enough space vanishing at the new break.} If we end up with the
-% flush penalty moving backwards we force a break at this point
-% until we reach the column where it was before. The reason for
-% this action is that we might have allocated floats to later
-% columns that would otherwise end after after the flush penalty.
-%
-% If by adding floats to the trials the flush penalty is moved to
-% the next page we set |\flush@min@col@|\meta{num} to
-% |\maxdimen|. The actual test to see if a flush penalty still
-% belongs to the current page is to check against |\curr@col@count|
-% (so |\curr@col@count+1| would be sufficient, but using
-% |\maxdimen| avoids calculations.
-%
-% |\flush@classes@list@|\meta{num} holds a list of float types which
-% are affected by the current flush point.
-%
-% |\flush@fuzziness@|\meta{num} holds the fuzziness associated with
-% the flushpoint, valid values are |strict| and |page|.
-%
-% By defining (some of) them on top-level we avoid unnecessary
-% entries on the savestack since they would otherwise be
-% constructed (locally) first within the output routine (when doing
-% |\ifx| testing), resulting in |\relax| being stored on the
-% savestack.
-% \begin{macrocode}
-\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
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\flush@classes@list@max}
-% |\flush@classes@list@max| holds the concatenation of all
-% |\flush@classes@list@|\meta{num} on the page currently
-% constructed. This information is needed in case we get to a new
-% float and the preliminary tests suggests that it needs to be
-% deferred. In that case we need to know which flush points have
-% been seen previously to decide whether or not we can defer the
-% new float.
-% \begin{macrocode}
-\let\flush@classes@list@max\@empty
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\initialise@flush@data}
-% \begin{macrocode}
-\def \initialise@flush@data{
-%<*trace>
- \@tracepush{initialise@flush@data}
-%</trace>
-% \end{macrocode}
-% Does this need any documentation?
-%
-% Well, we have to get rid of all information relating to flush
-% float penalties that have been typeset on the previous page and
-% move the remaining ones (if any) to the front.
-% \begin{macrocode}
- \count@\flush@seq@num\relax
- \advance\count@ -\trial@flush@seen@num
-%<*trace>
- \tr@ce{flush@seq@num~
- =~ \flush@seq@num\space <-~
- \the\count@ }
-%</trace>
-% \end{macrocode}
-% Something wrong here if we get negative values!
-% \begin{macrocode}
-%<*debug>
- \ifnum\count@<\z@ \ERROR \fi
-%</debug>
-% \end{macrocode}
-%
-% \begin{macrocode}
- \xdef\flush@seq@num{\the\count@}
-% \end{macrocode}
-%
-% \begin{macrocode}
- \@tempcnta\trial@flush@seen@num
- \@tempcntb\z@
- \loop
- \ifnum \@tempcntb < \count@
-
- \advance\@tempcnta\@ne
- \advance\@tempcntb\@ne
-%<*trace>
- \tr@ce{flush@fuzziness@\the\@tempcntb\space
- =~ \expandafter \noexpand
- \csname flush@fuzziness@\the\@tempcntb\endcsname\space
- <-~ \expandafter \noexpand
- \csname flush@fuzziness@\the\@tempcnta \endcsname
- }
- \tr@ce{flush@last@float@\the\@tempcntb\space
- =~ \csname flush@last@float@\the\@tempcntb\endcsname\space <-~
- \csname flush@last@float@\the\@tempcnta \endcsname
- }
- \tr@ce{flush@classes@list@\the\@tempcntb\space
- =~ \csname flush@classes@list@\the\@tempcntb\endcsname\space <-~
- \csname flush@classes@list@\the\@tempcnta \endcsname
- }
- \tr@ce{flush@min@col@\the\@tempcntb\space <-~ 1}
-%</trace>
- \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
-% \end{macrocode}
-%
-% \begin{macrocode}
- \global\let\flush@classes@list@max\@empty
-% \end{macrocode}
-% Need to reset |\trial@flush@seen@num| in case the current macro
-% is called again too early, e.g., if it is called to initialize a
-% float page and then again to initialize a text page.
-% \begin{macrocode}
- \gdef\trial@flush@seen@num{0}
-%<*trace>
- \@tracepop{initialise@flush@data}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-% \subsection{Support for Here Points}
-%
-% A ``Here Point'' is a place in the galley at which something is
-% supposed to happen. For example, a marginal note needs to be
-% attached to the column, or a float needs to be inserted into the
-% column (here float), or it needs to be made sure that from that
-% point on there is still a certain amount of space available in the
-% column.
-%
-% With each here point there is associated a float structure (i.e. a
-% box and its corresponding |\toks| register) although in most cases
-% only parts of that structure is used. In addition each here point
-% has an associated dimension which denotes the amount of available
-% space which is required after the here point in the column to allow
-% to place the here point into this column. If this requirement is not
-% met the here point is moved to the next column (or page) by ending
-% the current column prematurely at the last legal breakpoint before
-% the here point (not at the here point itself\footnote{It should be
-% considered to allow breaking directly at the here point in special
-% cases, i.e., specified at the here point declaration.}). This
-% behaviour will ensure that a line of text preceding the here point
-% will also be moved to the next column or page which is important in
-% case of marginals and similar situations. In case of here floats it
-% might not be a requirements so perhaps this should be made
-% customisable.
-%
-% At the moment the ``type'' in the float structure is used to define
-% the type of here point. E.g.,
-% \begin{description}
-% \item[mpar] denotes a marginal
-% \item[rspace] denotes a requested space
-% \item[figure,table,\ldots] all normal float types identify the here
-% point as belonging to a here float.
-% \end{description}
-% The down side of this approach is that ``mpar'' can't be used as a
-% float type any longer and the whole approach might be too difficult
-% to extend this way. This needs certainly needs a cleanup.
-%
-% It is quite likely that there will be additional values that need
-% storing on a per here point basis. For this reason the code below
-% provides the requiredspace as a data structure external to the float
-% structure. Otherwise it could probably be integrated therein.
-%
-% When a here point is encountered while making columns for a trial or
-% for the final page, its requirements are checked. If they are
-% fulfilled then a here-point-type specific function will update the
-% column material (e.g. by adding a here float or a marginal).
-%
-% Here points are in many aspects like flush points. So most of the
-% code below should not be very surprising.
-%
-% \begin{macro}{\here@seq@num}
-% The number |\here@seq@num| records the number of here
-% points we have have seen during collection.
-% \begin{macrocode}
-\def\here@seq@num{0}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\trial@here@seen@num}
-% The number |\trial@here@seen@num| records the number of here
-% points we have seen so far during a trial, i.e., it will be
-% initialised to zero at the beginning of the trial and advanced by
-% one for each here point encountered.
-% \begin{macrocode}
-\def\trial@here@seen@num{0}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\@herelist}
-% |\@elt| list of floats that should appear at a here point.
-% \begin{macrocode}
-\let\@herelist\@empty
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\saved@herelist}
-% Saved version of the |\@herelist| while we run a through the
-% float placement trial since we need the full |\@herelist| again in
-% the next trial.
-% \begin{macrocode}
-\let\saved@herelist\@empty
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\here@point}
-% |\here@point| adds a here point to the MVL. It takes two
-% arguments: the box reference associated with the here point and
-% the vertical space that needs to be reserved for the material
-% added.
-% \begin{macrocode}
-\def\here@point #1#2{
-% \end{macrocode}
-%
-% \begin{macrocode}
- \@cons\@herelist#1
-% \end{macrocode}
-%
-% \begin{macrocode}
- \gincrement@num\here@seq@num
-% \end{macrocode}
-%
-% \begin{macrocode}
- \global\@namedef{here@min@col@\here@seq@num}{1}
-% \end{macrocode}
-%
-% \begin{macrocode}
- \setlength\dimen@{#2}
- \expandafter\xdef
- \csname here@required@space@\here@seq@num \endcsname
- {\the\dimen@}
-% \end{macrocode}
-%
-% \begin{macrocode}
- \add@badly@guarded@penalty\output@here@float@penalty
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\initialise@here@data}
-% \begin{macrocode}
-\def \initialise@here@data{
-%<*trace>
- \@tracepush{initialise@here@data}
-%</trace>
-% Does this need any documentation?
-%
-% Well, we have to get rid of all information relating to here
-% float penalties that have been typeset on the previous page and
-% move the remaining ones (if any) to the front.
-% \begin{macrocode}
- \count@\here@seq@num\relax
- \advance\count@ -\trial@here@seen@num
-%<*trace>
- \tr@ce{here@seq@num~
- =~ \here@seq@num\space <-~
- \the\count@ }
-%</trace>
-% \end{macrocode}
-% Something wrong hereif we get negative values!
-% \begin{macrocode}
-%<*debug>
- \ifnum\count@<\z@ \ERROR \fi
-%</debug>
-% \end{macrocode}
-%
-% \begin{macrocode}
- \xdef\here@seq@num{\the\count@}
-% \end{macrocode}
-%
-% \begin{macrocode}
- \@tempcnta\trial@here@seen@num
- \@tempcntb\z@
- \loop
- \ifnum \@tempcntb < \count@
-
- \advance\@tempcnta\@ne
- \advance\@tempcntb\@ne
-%<*trace>
- \tr@ce{here@required@space@\the\@tempcntb\space
- =~ \csname here@required@space@\the\@tempcntb\endcsname\space <-~
- \csname here@required@space@\the\@tempcnta \endcsname
- }
- \tr@ce{here@min@col@\the\@tempcntb\space <-~ 1}
-%</trace>
- \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
-%<*trace>
- \@tracepop{initialise@here@data}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\split@off@last@line}
-%
-% When a here point doesn't fit onto the current page or column for
-% some reason it will be moved into the next column. In some cases,
-% e.g., when the here point is associated with the line before it
-% (as, for example, in marginals) it is necessary to move the line
-% also to the later column.
-%
-% The purpose of |\split@off@last@line| (to be called inside the
-% OR) is to split box 255 at the latest possible breakpoint before
-% the end and return the material following this breakpoint to the
-% MVL.
-%
-% The idea is as follows: if we subtract 1sp from the height of
-% box 255 and also subtract all of its internal shrinkability and
-% then split it to this height it can't any longer reach the final
-% breakpoint (by 1sp). Thus it will settle with some earlier
-% breakpoint and chances are very very good that this will be the
-% prefinal one.
-% \begin{macrocode}
-\def \split@off@last@line{
-%<*trace>
- \@tracepush{split@off@last@line}
- \tr@ce{goal:~ \the\pagegoal;~ total:~ \the\pagetotal;~ shrink:~
- \the\pageshrink}
- \tr@ce{ht255:~ \the\ht255;~ dp255:~ \the\dp255}
-%</trace>
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
- \dimen@\ht\@cclv
-% \end{macrocode}
-% Looking at |\ht255| should be the same as |\pagetotal-\pagedepth|
-% or not?\footnote{Doesn't seem to be the case, bug in the code,
-% the program, or in my thinking? (seems to be a bug in \TeX:
-% pagedepth is always zero in the OR!)}
-% \begin{macrocode}
- \advance\dimen@-\pageshrink
- \advance\dimen@-1sp
-%{\showoutput\showbox\@cclv}
-% \end{macrocode}
-% Before splitting we have to ensure that the maximum depth is not
-% larger than the maximum depth allowed on the MVL.
-% \begin{macrocode}
- \splitmaxdepth\@maxdepth
- \setbox\z@\vsplit\@cclv to\dimen@
-%{\showoutput\showbox\z@}
-%{\showoutput\showbox\@cclv}
-% \end{macrocode}
-%
-% Before we now |\unvbox| 255 back onto the MVL we have to make sure
-% that the sum of its vertical dimensions plus the requested space
-% for the current here point is smaller than a full column height.
-%
-% If we don't do that we might end up with a situation where we are
-% pushing the two from column to columns since they will never fit.
-% \begin{macrocode}
- \dimen@\csname
- here@required@space@\trial@here@seen@num
- \endcsname
- \advance\dimen@\ht\@cclv
- \advance\dimen@\dp\@cclv
-% \end{macrocode}
-% If the sum is too large we reduce the required space for the here
-% point and complain (not really done yet the latter).
-% \begin{macrocode}
- \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
-% \end{macrocode}
-% So now we can |\unvbox| and then move the top from the split back
-% into 255 (essentially to have it taken out of that register by
-% the code following, but such is life).
-% \begin{macrocode}
- \unvbox\@cclv
- \global\setbox\@cclv\box\z@
-%<*trace>
- \@tracepop{split@off@last@line}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \subsection{Support for Grid Points}
-%
-%
-%
-%
-% \begin{macro}{\align@collected@galley@and@restart}
-% |\align@collected@galley@and@restart| is called inside
-% |\some@column@or| when we have encountered a grid point. It is
-% supposed to align the current line with the text grid and then
-% restarts the galley processing.
-%
-% We do this by putting the material gathered so far into a box of
-% appropriate size, and then push this pack onto the recent
-% contributions for reconsideration.
-% \begin{macrocode}
-\def \align@collected@galley@and@restart {
-%<*trace>
- \@tracepush{align@collected@galley@and@restart}
- \tr@ce{GRID:~ page~ goal~\space\space\space =~ \the\pagegoal}
- \tr@ce{GRID:~ page~ total~\space\space =~ \the\pagetotal}
- \tr@ce{GRID:~ page~ depth~\space\space =~ \the\pagedepth}
- \tr@ce{GRID:~ page~ shrink~\space =~ \the\pageshrink}
- \tr@ce{GRID:~ page~ stretch~ =~ \the\pagestretch}
- \tr@ce{GRID:~ page~ fil~ stretch~ =~ \the\pagefilstretch}
- \tr@ce{GRID:~ page~ fill~ stretch~ =~ \the\pagefillstretch}
- \tr@ce{GRID:~ page~ filll~ stretch~ =~ \the\pagefillstretch}
- \tr@ce{GRID:~ ht~ 255~\space =~ \the\ht\@cclv}
- \tr@ce{GRID:~ dp~ 255~\space =~ \the\dp\@cclv}
-%</trace>
-% \end{macrocode}
-% As a first step we remove the guard box since it has now served
-% its purpose.
-% \begin{macrocode}
- \remove@guard@box@from@cclv
-% \end{macrocode}
-% Then we calculate the distance to nearby grid points.
-% \begin{macrocode}
- \snap@to@grid{\ht\@cclv}\pagesetup@grid@point@sep
-% \end{macrocode}
-% So the next step is to make a decision which grid point to
-% use. The strategy used below can probably be refined
-% further\ldots
-%
-% First we test if the next grid point down makes us fall off the
-% page\footnote{We should use \texttt{\string\pagegoal} for the
-% test I think, not the commented out construct below, since in
-% case of footnotes the available space for text might has be
-% reduced!}, if so\ldots
-% \begin{macrocode}
- \ifdim \returned@size > \pagegoal
- % \csname col@ht@ \the\curr@col@count\endcsname % not!
-% \end{macrocode}
-% \ldots we better try using the previous grid point.
-% \begin{macrocode}
- \ifdim \returned@lower@delta@size < \pageshrink
-% \end{macrocode}
-% If the |\pageshrink| allows us to reach the previous point then
-% use it.
-% \begin{macrocode}
-% can use it: do so
-%<*trace>
- \tr@ce{GRID:~ outside~ page,~ choosing~ lower~ grid~ point}
-%</trace>
- \global\let \returned@size \returned@lower@size
- \xdef \returned@delta@size {-\returned@lower@delta@size }
- \else
-% \end{macrocode}
-% Otherwise, ouch \ldots{} what now? Can this happen? Unfortunately
-% yes, it seems to happen, for example, when we are trying to place
-% floats.\footnote{Analyse this situation and decide on a course of
-% action if necessary.}
-% \begin{macrocode}
- \OuchERROR
- \fi
-% \end{macrocode}
-% Otherwise we are in the normal case, i.e., somewhere in the
-% middle of the page.
-% \begin{macrocode}
- \else
-% \end{macrocode}
-% So now we can in principle choose either grid point. The code
-% below makes the decision based on which grid point is closer but
-% chooses the previous point only if |\pageshink| allows
-% it.\footnote{One could also have a look at the available
-% stretchability and base the decision on the resulting badness,
-% this might in fact be the more appropriate way!}
-% \begin{macrocode}
- \ifdim \returned@lower@delta@size < \returned@delta@size \relax
- \ifdim \returned@lower@delta@size < \pageshrink
-%<*trace>
- \tr@ce{GRID:~ choosing~ lower~ grid~ point}
-%</trace>
- \global\let \returned@size \returned@lower@size
- \xdef \returned@delta@size {-\returned@lower@delta@size }
- \fi
- \fi
- \fi
-%<*trace>
- \tr@ce{GRID:~ adjustment:~ \the\ht\@cclv\space ->~ \returned@size}
-%</trace>
-% \end{macrocode}
-% Whatever the decision was, we finally bundle up all material in a
-% box with the vertical size being that of the chosen grid point
-% (no |\maxdepth| setting in this case) and return this box to the
-% MVL followed by any footnotes found in that process. These
-% footnotes are reinserted so that they will be reconsidered but
-% since we have no break point between the box and them they will
-% be considered as a unit.
-% \begin{macrocode}
- \vbox to\returned@size{\unvbox\@cclv}
- \@reinserts
-% \end{macrocode}
-% We know that the material returned to the MVL is followered
-% immediately by a box of size zero followed by a penalty thus
-% there will be a breakpoint in the right place (or so we hope) so
-% that the box plus the following footnotes will still fit into the
-% column when reprocessed.
-% \begin{macrocode}
-%<*trace>
- \@tracepop{align@collected@galley@and@restart}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\OuchERROR}
-% This part of the code (as far as I can see right now) will be
-% executed if there is some larger display object (ie off grid)
-% which will just fit onto the page unaligned but not if we align
-% to the next grid point. The reason for this is that somewhere on
-% the column there are also footnotes for example, which result in
-% the column not being an integral number of grid lines.
-% \begin{macrocode}
-\def\OuchERROR{
-%<*trace>
- \tr@ce{Failed:~grid~ overflowing~ column~ \the\curr@col@count}
-%</trace>
-%<*progress>
- \progress@failed{next~ possible~ grid~ point~ in~ column~
- \the\curr@col@count\space outside~ page}
-%</progress>
-% \end{macrocode}
-% I think essentially what is needed here is to split the column
-% just before the current line, ie, using something like
-% |\split@off@last@line| (except that this only works for here
-% points right now) and this move the grid align penalty to the
-% next column.\footnote{Not done! FIX}
-% \begin{macrocode}
-% \split@off@last@line
-% \(re)???add@guarded@penalty\output@grid@align@penalty
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\std@AlignToGrid}
-% This is the definition for |\AlignToGrid| if we are really doing
-% grid based layout.
-% \begin{macrocode}
-\def\std@AlignToGrid{
- \add@badly@guarded@penalty\output@grid@align@penalty
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\IgnoreAlignToGrid}
-% \begin{macro}{\ObeyAlignToGrid}
-% |\IgnoreAlignToGrid| will turn off automatic grid alignment for a
-% while, while |\ObeyAlignToGrid| will turn it on again. This is
-% needed in commands that want to set something outside the grid
-% and then realign afterwards, e.g., a heading. If that heading
-% would follow, say, a list that issued a |\AlignToGrid| to be
-% executed on the next paragraph, that |\AlignToGrid| would
-% effectively appear on the heading title thus forcing that to be
-% on a grid line, which is typically not intended. So the heading
-% macro first says |\IgnoreAlignToGrid| then typesets the material
-% which should be not aligned, then says |\ObeyAlignToGrid| and
-% prepares to install its own |\AlignToGrid| (typically after the
-% first line of text via |\everypar|).
-% \begin{macrocode}
-\def\IgnoreAlignToGrid{
- \global\let\AlignToGrid\relax
-}
-\def\ObeyAlignToGrid{
- \global\let\AlignToGrid\std@AlignToGrid
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\AlignToGrid}
-% |\AlignToGrid| is the command that inserts a grid point which
-% triggers alignment to the text grid for the current line (if we
-% are doing grid based design). It should be set in the page setup
-% so the default is an error.
-% \begin{macrocode}
-\let\AlignToGrid\ERROR
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\TextAlignToGrid}
-% In nearly all cases the alignment should be done for a text line,
-% so we provide this abbreviation which starts horizontal mode if
-% necessary.
-% \begin{macrocode}
-\def\TextAlignToGrid{ \leavevmode \AlignToGrid }
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-%
-% \subsection{Initialisations}
-%
-% The initialisation at begin document isn't properly done
-% yet. Some bits are done unnecessarily here (by calling
-% initialisation commands that do too much and some bits are
-% problably still in the wrong place. Furthermore the column data
-% initialisation needs to be resolved properly. Right now we
-% hardwire a maximum of 6 columns down there and initialise the
-% data structures for all the potential columns independently of
-% whether or not they are ever being used.\footnote{SORT OUT!}
-% \begin{macrocode}
-\AtBeginDocument{
- \begingroup
- \col@count6\relax
- \initialise@column@data
-% \end{macrocode}
-% More column data stuff which needs to be set only the very first
-% time!
-% \begin{macrocode}
- \forall@columns {
-% \end{macrocode}
-%
-% \begin{macrocode}
- \def\@elt#1{
- \global\@namedef{fl@\the\curr@col@count @#1}{0}
- \global\@namedef{tfl@\the\curr@col@count @#1}{0}
- }
- \float@classes@list
-% \end{macrocode}
-% Setting |\@elt| back to |\relax| is done below.
-% \begin{macrocode}
- }
-% \end{macrocode}
-%
-% The default for fps should be all areas known (not only those
-% currently used!)
-% \begin{macrocode}
- \def\@elt#1{
- \global\expandafter\let\csname fps@#1\endcsname\known@areas
- \global\@namedef{fl@0@#1}{0}
- }
- \float@classes@list
- \endgroup
-% \end{macrocode}
-%
-% \begin{macrocode}
-% \initialise@next@page
-% \end{macrocode}
-% Start the document by collecting text.
-% \begin{macrocode}
- \@collecting@new@materialtrue
- \setup@collection@or
-}
-% \end{macrocode}
-%
-%
-% \endinput
-\endinput
-%
-% $Log: xo-or.dtx,v $
-% Revision 1.53 2000/08/11 07:14:25 latex3
-% added header
-%
-% Revision 1.52 2000/08/11 06:49:21 latex3
-% untabify
-%
-% Revision 1.51 2000/08/11 06:46:48 latex3
-% change logic for handling special penalties once more (and still not
-% okay)
-%
-% Revision 1.50 2000/08/06 19:03:44 latex3
-% change initialisation at \begin{document}
-% fix \columnbreak
-%
-% Revision 1.49 2000/08/04 13:58:16 latex3
-% documented issue when grid point overflows column
-%
-% Revision 1.48 2000/08/04 10:22:31 latex3
-% added \split@skip (probably not final version)
-%
-% Revision 1.47 2000/07/26 20:37:03 latex3
-% working version of grid points (text grids)
-%
-% Revision 1.46 2000/07/21 13:52:13 latex3
-% more renaming for float sequence class concept
-%
-% Revision 1.45 2000/07/19 17:12:08 latex3
-% introduced float sequence class concept
-% added variables for float area separation
-%
-% Revision 1.44 2000/07/10 19:24:59 latex3
-% some start at supporting "balance points" (unfinished).
-% added \initialise@column@data.
-% getting rid of extra empty page at end due to old defnition of
-% \clearpage.
-%
-% Revision 1.43 2000/07/04 19:45:40 latex3
-% fix GRID stuff (restore all values as needed)
-%
-% Revision 1.42 2000/07/01 16:07:26 latex3
-% use \update@this@area@columns
-% integrate code to support grid design (first draft)
-%
-% Revision 1.41 2000/06/29 17:40:44 latex3
-% introduced \setup@this@area
-%
-% Revision 1.40 2000/06/26 15:16:15 latex3
-% prototype support for \pagesetup@float@area@sep
-%
-% Revision 1.39 2000/06/22 20:07:51 latex3
-% renamed some macros to get them more uniform
-%
-% Revision 1.38 2000/06/22 10:59:57 latex3
-% Included support for writing fpl files
-%
-% Revision 1.37 2000/06/21 09:55:41 latex3
-% fix typo
-%
-% Revision 1.36 2000/06/19 19:03:56 latex3
-% make \gincrement@num and \gdecrement@num behave (not update \count@)
-% cleanup flushing (if fail only move flush point one column)
-%
-% Revision 1.35 2000/06/18 14:59:50 latex3
-% docu updates (and a bug fix due to typo)
-%
-% Revision 1.34 2000/06/16 11:21:14 latex3
-% rename \construct@and@test@col@height to \construct@and@test@col@ht
-% rename \construct@and@test@col@heights to \construct@and@test@col@hts
-% rename \cl@height1 to \@col@ht@1 (etc)
-%
-% Revision 1.33 2000/06/16 11:05:25 latex3
-% implemented tfl@ support (top area float sequences)
-% support float-callout-span-constraint
-% more documentation
-%
-% Revision 1.32 2000/06/15 15:20:16 latex3
-% implemented new semantics for area names
-%
-% Revision 1.31 2000/06/15 09:32:18 latex3
-% added mising \end{macro}'s
-%
-% Revision 1.30 2000/06/13 20:44:25 latex3
-% guard the output@collect@penalty
-% implemented fuzzy flushing (except for spreads)
-%
-% Revision 1.29 2000/06/06 11:03:21 latex3
-% before attempting fuzzyflush
-%
-% Revision 1.28 2000/05/03 20:17:31 latex3
-% need more info about here floats
-%
-% Revision 1.27 2000/05/03 18:45:40 latex3
-% fix bugs: always have a trial run wihtout floats to initialise here
-% and flush points; reset \trial@flush@seen@num after using it to update
-% the data structures on a new pages; have adding to the defer area
-% close other areas :-)
-% more documentation
-%
-% Revision 1.26 2000/04/27 19:50:11 latex3
-% some stats gathered now
-% combine \grab@column@or and \best@column@or as far as possible
-% some bug fixes and additional documentation
-%
-% Revision 1.25 2000/04/21 19:08:43 latex3
-% code cleanup
-% additional documentation
-% fixes for here points
-% support for footnote setup
-%
-% Revision 1.24 2000/04/11 21:06:06 latex3
-% basically Chris's 1.24 plus my changes
-%
-% Revision 1.24 2000/04/10 16:41:14 car2
-% typos, comments and guardbox removal
-%
-% Revision 1.23 2000/04/09 20:02:00 latex3
-% fix topskip problem in collection
-% added first draft of marginpar support
-%
-% Revision 1.22 2000/04/08 09:47:06 latex3
-% first draft of here point implementation
-% code cleanup
-% further documentation
-%
-% Revision 1.21 2000/03/31 17:12:41 latex3
-% disable preplacing deferred floats (until caption handling is fixed)
-% fix float page handling
-% ensure that float pages don't add additional captions (don't mind that
-% the float page comes out even worse)
-%
-% Revision 1.20 2000/03/26 21:05:11 latex3
-% work on float pages
-% some renaming in particular \try@this@area
-% and \try@next@area
-% some more documentation
-%
-% Revision 1.19 2000/03/24 15:34:27 latex3
-% version that starts supporting spans (still a hack yet)
-%
-% Revision 1.18 2000/03/22 15:51:11 latex3
-% some normalisations of names
-% moved code around
-% lot of updates
-%
-% Revision 1.17 2000/03/17 20:26:40 latex3
-% more fixes to flushing (looks good now)
-%
-% Revision 1.16 2000/03/16 10:28:29 latex3
-% partial and full flush working for the first time
-%
-% Revision 1.15 2000/03/05 19:36:53 latex3
-% some renaming
-% support multiple columns (6 max right now)
-% fix flush float logic (hopefully)
-%
-% Revision 1.14 2000/02/28 23:41:14 david
-% deadcycles
-%
-% Revision 1.13 2000/02/27 15:39:53 david
-% *** empty log message ***
-%
-% Revision 1.12 2000/02/27 15:12:00 david
-% 2nd attempt at flush floats (working as far as implemented)
-%
-% Revision 1.11 2000/02/27 11:26:35 david
-% first attempt at flush floats
-%
-% Revision 1.10 2000/02/26 18:20:09 david
-% added pre-allocation of deferred floats to float areas
-%
-% Revision 1.9 2000/02/21 23:25:11 david
-% t11|t22 support in optional argument
-%
-% Revision 1.8 2000/02/19 23:14:58 david
-% chris' doc fix
-%
-% Revision 1.7 2000/02/16 13:40:40 latex3
-% added 3col support
-%
-% Revision 1.6 2000/02/16 10:07:13 latex3
-% added further documentation
-% fixed bug by removing code from \try@this@area to
-% \pretests@success@action
-% handle case of hitting special output penalty during trial or
-% page production
-% handle case of \newpage ie penalty -10000
-%
-% Revision 1.5 2000/02/15 01:08:25 david
-% dead code
-%
-% Revision 1.4 2000/02/13 22:40:13 latex3
-% moved some stuff around and added macro environments
-%
diff --git a/Master/texmf-dist/source/latex3/xor/xo-page.dtx b/Master/texmf-dist/source/latex3/xor/xo-page.dtx
deleted file mode 100644
index 7dff99b8119..00000000000
--- a/Master/texmf-dist/source/latex3/xor/xo-page.dtx
+++ /dev/null
@@ -1,694 +0,0 @@
-% \iffalse
-%%
-%% (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.
-%%
-% \fi
-%
-
-% \begin{macrocode}
-\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 $
-% \end{macrocode}
-%
-%
-% Ignore white space in this package.
-% \begin{macrocode}
-\IgnoreWhiteSpace
-% \end{macrocode}
-%
-%
-%
-% \subsection{Footnote setup}
-%
-% \begin{macro}{\initialise@footins@action}
-% The |\initialise@footins@action| is a hook to add code to the
-% page initialisation phase related to the footnote insertions. For
-% example, when all footnotes are accumulated in the last column we
-% need to make footnote insertions invisible when gathering
-% material for the first columns.
-% \begin{macrocode}
-\let\initialise@footins@action\relax
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\deal@with@footins@action}
-% The |\deal@with@footins@action| hook is called in the
-% |\grab@column@or| and the |best@column@or| output routine to do
-% something to the accumulated footnote insertions if
-% necessary. I.e., it is called for every column.
-% \begin{macrocode}
-\let\deal@with@footins@action\relax
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macrocode}
-\DeclareTemplateType{footnotesetup}{0}
-% \end{macrocode}
-%
-%
-%
-%
-% \begin{macrocode}
-\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
-
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\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
-
- }
-% \end{macrocode}
-%
-%
-% Setting |max-height| as done below has not the desired effect and
-% needs investigation.\footnote{FIX!}
-%
-% \begin{macrocode}
-\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
-
-% \end{macrocode}
-% If the footnote do not appear within the columns we have to
-% ensure that the |\insert| does not change the page
-% calculations. This needs changes in two places:
-% \begin{macrocode}
- \global\count\footins\z@
- \global\skip\footins \z@
-
- }
-% \end{macrocode}
-%
-%
-%
-%
-% \subsubsection{Footnote setup ftnright}
-%
-% In this section we provide the code for running all footnotes in the
-% last column.
-%
-% \begin{macro}{\saved@footins}
-%
-% \begin{macrocode}
-\newbox\saved@footins
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\rcol@footinsskip}
-% \begin{macrocode}
-\newskip\rcol@footinsskip
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-% \begin{macro}{\initialise@footins@ftnright}
-% \begin{macrocode}
-\def \initialise@footins@ftnright {
- \global\setbox\saved@footins\box\voidb@x
- \global\skip\footins\z@
- \global\count\footins\z@
- \global\dimen\footins\textheight
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-% \begin{macro}{\deal@with@footins@ftnright}
-% \begin{macrocode}
-\def \deal@with@footins@ftnright {
-%<*trace>
- \@tracepush{deal@with@footins@ftnright}
-%</trace>
-% \end{macrocode}
-% If we are not in the last column we save any footnote accumulated
-% in |\footins| in a separate |\saved@footins| box. This way any
-% later code that checks |\footins| for constraints will not fire
-% incorrectly.
-% \begin{macrocode}
- \ifnum\curr@col@count<\col@count
-%<*trace>
- \tr@ce{not~ last~ col}
-%</trace>
- \ifvoid\footins
- \else
- \global\setbox\saved@footins
- \vbox{\unvbox\saved@footins
- \unvbox\footins}
- \fi
-% \end{macrocode}
-% If we are in the second last column we have to change the
-% procedure: we now have to return all saved footnotes to the MVL
-% and modify the insertion register values so that from now on
-% footnotes need space in the column.\footnote{Not correctly
-% handled is the case that we have accumulated more than a full
-% column of footnotes before!}
-% \begin{macrocode}
- \count@\col@count
- \advance\count@\m@ne
- \ifnum\curr@col@count=\count@ % cur col = second last col
-%<*trace>
- \tr@ce{second~ last~ col}
-%</trace>
- \global\count\footins\@m
- \global\skip\footins\rcol@footinsskip
- \ifvoid\saved@footins
- \else
- \insert\footins{\unvbox\saved@footins}
- \fi
- \fi
- \fi
-%<*trace>
- \@tracepop{deal@with@footins@ftnright}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\deal@with@footins@margin}
-% \begin{macrocode}
-\def \deal@with@footins@margin {
-%<*trace>
- \@tracepush{deal@with@footins@margin}
-%</trace>
- \ifvoid\footins
- \else
- \global\setbox\saved@footins
- \vbox{\unvbox\saved@footins
- \unvbox\footins}
- \fi
-%<*trace>
- \@tracepop{deal@with@footins@margin}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\deal@with@footins@margin}
-% \begin{macrocode}
-\def \initialise@footins@margin {
- \global\setbox\saved@footins\box\voidb@x
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \subsection{A basic page setup template}
-%
-%
-% \begin{macro}{\test@named@key}
-% This should perhaps be made more general
-% \begin{macrocode}
-\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
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\DeclareFloatArea}
-% We declare new float areas and (for the moment) internally use the
-% template mechanism. But this is more or less overkill and should
-% probably be replaced in the end.
-% \begin{macrocode}
-\def\DeclareFloatArea#1#2{
- \xdef\known@areas{\known@areas#1}
- \DeclareInstance{floatareasetup}{#1}{std}
- { name = #1, #2 }
-% \end{macrocode}
-% We need to do some intialisation here in case the area isn't
-% really used. (Since it is added to |\known@areas| it will be
-% considered and that will die if the initialisation isn't done)
-% \begin{macrocode}
- \UseInstance{floatareasetup}{#1}
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macrocode}
-\DeclareTemplateType{floatareasetup}{0}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\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
-% \end{macrocode}
-%
-% Declare area data structures if necessary\ldots
-% \begin{macrocode}
- \@ifundefined{\floatareasetup@name @float@count}
- {\expandafter\newcount\csname \floatareasetup@name
- @float@count\endcsname}
- {}
-% \end{macrocode}
-% \ldots and initialise them
-% \begin{macrocode}
- \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
-% \end{macrocode}
-% Let's not forget that area itself (some macros wouldn't like if
-% this is |\relax| rather than |\@empty|.
-% \begin{macrocode}
- \global\expandafter\let
- \csname area@\floatareasetup@name\endcsname
- \@empty
-}
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\DeclareTemplateType{pagesetup2}{0}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\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,
-%
-% \end{macrocode}
-%
-% \begin{macrocode}
- area-list =n \pagesetup@area@list,
-% \end{macrocode}
-% \begin{macrocode}
- defer-class-close-list=n \pagesetup@ddd@class@close,
- defer-all-close-list =n \pagesetup@ddd@all@close,
-% \end{macrocode}
-%
-% \begin{macrocode}
- footnote-setup =i {footnotesetup} \pagesetup@footnote@setup,
-% \end{macrocode}
-%
-% \begin{macrocode}
- 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,
-% \end{macrocode}
-%
-% \begin{macrocode}
- grid-point-sep =+L \pagesetup@grid@point@sep,
- }
- {
-% \end{macrocode}
-% We start off with ensuring that we are at the top of a page. This
-% is a temporary solution until after pagesetup is more settled and
-% those bits which are only possible if there is nothing left on
-% recent contributions are properly separated from those things
-% which can be changed midway.
-% \begin{macrocode}
- \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}
-% \end{macrocode}
-%
-% \begin{macrocode}
- \let\pagesetup@ddd@class@close\maxdimen %impossible value
- \let\pagesetup@ddd@all@close\@empty
-% \end{macrocode}
-%
-% \begin{macrocode}
-% tmp:
- \def\pagesetup@footnote@setup{\UseTemplate{footnotesetup}{std}{}}
-% \end{macrocode}
-%
-% \begin{macrocode}
- \global\let\pagesetup@grid@point@sep\z@ % no grid points by default
-
- \DoParameterAssignments
-% \end{macrocode}
-%
-% \begin{macrocode}
- \ifdim \pagesetup@grid@point@sep = \z@
- \global\let\snap@to@grid\dummy@snap@to@grid
-% \end{macrocode}
-% Next two lines need some refinement, we need some mechanism to
-% fully disable those grid points. |\IgnoreAlignToGrid| doesn't do
-% the trick.\footnote{FIX!}
-% \begin{macrocode}
- \IgnoreAlignToGrid
- \global\let\std@AlignToGrid\relax
- \else
- \global\let\snap@to@grid\std@snap@to@grid
- \ObeyAlignToGrid
- \fi
-% \end{macrocode}
-% Split the |\pagesetup@float@text@sep| specification and store the
-% minus part in |\pagesetup@float@text@shrink|. Right now the plus
-% part is not used. Actually this is only really necessary if we do
-% grid typesetting but we do it anyway so that the spec is always
-% checked for offending infinite stretch.
-% \begin{macrocode}
- \split@skip{float-text-sep}
- \pagesetup@float@text@sep
- \dimen@
- {\global\pagesetup@float@text@shrink}
-% \end{macrocode}
-%
-% \begin{macrocode}
- \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
-% \end{macrocode}
-%
-% \begin{macrocode}
- \global\hsize\columnwidth
- \global\linewidth\columnwidth
-
-% all taken away from AtBeginDocument (where it is was added in xo-final)
- \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}
-
-% \end{macrocode}
-%
-% Perhaps we could use |\known@areas| instead and save the
-% test (would need a change in xo-place as well!).\footnote{Check!}
-% \begin{macrocode}
- \ifx\pagesetup@ddd@class@close\maxdimen % not set?
- \let\pagesetup@ddd@class@close\pagesetup@area@list
- \fi
-% \end{macrocode}
-%
-% \begin{macrocode}
- \test@named@key
- \std@check@callout@constraints
- {check@callout@\pagesetup@float@callout}
- {float-callout-constraint}
- {`none',~ `page',~ `column',~ or~ `after'}
-% \end{macrocode}
-%
-% \begin{macrocode}
- \test@named@key
- \relaxed@check@callout@constraints
- {check@callout@\pagesetup@flush@float@callout}
- {flush-float-callout-constraint}
- {`none',~ `page',~ `column',~ or~ `after'}
-% \end{macrocode}
-%
-% \begin{macrocode}
- \test@named@key
- \std@check@some@constraints
- {check@float@footnote@\pagesetup@float@footnote}
- {bottom-float-footnote-constraint}
- {`none'~ or~ `forbidden'}
-% \end{macrocode}
-%
-% \begin{macrocode}
- \test@named@key
- \relaxed@check@some@constraints
- {check@float@footnote@\pagesetup@flush@float@footnote}
- {flush-bottom-float-footnote-constraint}
- {`none'~ or~ `forbidden'}
-% \end{macrocode}
-%
-% \begin{macrocode}
- \test@named@key
- \std@calculate@target@fl@column
- {calculate@target@fl@column@\pagesetup@float@callout@span}
- {float-callout-span-constraint}
- {`strict'~ or~ `flexible'}
-% \end{macrocode}
-%
-% \begin{macrocode}
- \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'}
-% \end{macrocode}
-%
-% \begin{macrocode}
- \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
-% \end{macrocode}
-%
-% \begin{macrocode}
- \global\let\used@areas\@empty
-% \end{macrocode}
-%
-% \begin{macrocode}
- \expandafter
- \@for \expandafter \@tempa \expandafter:\expandafter=
- \pagesetup@area@list \do
- {
-% \end{macrocode}
-% Perhaps the instance should be called the moment we declare the
-% area. on the other hand calling it within the page setup would
-% allow to use collections!\footnote{Think and decide}
-% \begin{macrocode}
- \xdef\used@areas{\used@areas\@tempa}
-% after next line \@tempa is gone ... David, template.sty needs a cleanup
- \UseInstance{floatareasetup}{\@tempa}
-%\show\@tempa
- }
-
-% \end{macrocode}
-%
-% \begin{macrocode}
- \pagesetup@footnote@setup
-% \end{macrocode}
-%
-% Finally another bit of the initalisation that we have to redo at
-% this point since now some of the values may have
-% changed.\footnote{Temporary solution until the initialisation bit
-% and the pagesetup is properly sorted out.}
-% \begin{macrocode}
- \initialise@next@page
- \setup@collection@or
- }
-%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\endinput
-% \end{macrocode}
-%
-% \endinput
-%
-% $Log: xo-page.dtx,v $
-% Revision 1.34 2000/08/11 07:14:27 latex3
-% added header
-%
-% Revision 1.33 2000/08/07 19:50:48 latex3
-% setup the collection@or again when a pagesetup is selected since its
-% parameter might have changed.
-%
-% Revision 1.32 2000/08/06 19:02:51 latex3
-% move parts initialisation to \begin{document}
-% move \newpage in pagesetup template first to ensure that previous page
-% is finished with old values
-%
-% Revision 1.31 2000/08/06 09:02:57 latex3
-% documented that footnotehandling needs fixing
-%
-% Revision 1.30 2000/08/04 10:23:24 latex3
-% removed float-text-shrink and float-inline-shrink keys and instead
-% used \split@skip
-%
-% Revision 1.29 2000/07/26 20:45:51 latex3
-% first implementation of grid point support
-%
-% Revision 1.28 2000/07/21 13:52:53 latex3
-% more renaming for float sequence class concept
-%
-% Revision 1.27 2000/07/18 21:07:03 latex3
-% introduced float sequence classes
-%
-% Revision 1.26 2000/07/12 16:47:44 latex3
-% use grid points properly in template
-%
-% Revision 1.25 2000/07/10 21:04:30 latex3
-% integration of float specing parameters in page setup
-% support for grid typesetting in page setup
-%
-% Revision 1.24 2000/07/04 19:44:58 latex3
-% fix marginal footnote template (did change column calculations)
-%
-% Revision 1.23 2000/06/26 15:01:29 latex3
-% docu update
-%
-% Revision 1.22 2000/06/21 09:56:09 latex3
-% update docu
-%
-% Revision 1.21 2000/06/18 15:00:35 latex3
-% move "Bottom float footnote relation" to xo-place file
-%
-% Revision 1.20 2000/06/16 11:06:05 latex3
-% support float-callout-span-constraint
-%
-% Revision 1.19 2000/06/15 17:49:55 latex3
-% moved macros about placment checking to xo-place since they don't
-% belong here
-%
-% Revision 1.18 2000/06/15 15:21:33 latex3
-% implemented new semantics for area names
-%
-% Revision 1.17 2000/06/13 21:21:08 latex3
-% added support for columnheight (tmp)
-% define \pagebodytopvpos etc inside template so that it can change
-%
-% Revision 1.16 2000/05/03 18:48:42 latex3
-% initialise float area data structure the moment the float area is
-% declared (otherwise you can't declare areas if they are not used!)
-%
-% add keys defer-type-close-list and defer-all-close-list to pagesetup2
-% template
-%
-% Revision 1.15 2000/04/21 19:03:58 latex3
-% added footnote setup
-% cleanup pagesetup code
-%
-% Revision 1.14 2000/04/08 10:48:42 latex3
-% code cleanup
-%
-% Revision 1.13 2000/04/08 08:16:53 latex3
-% default for \pagesetup@flush@float@callout changed
-%
-% Revision 1.12 2000/03/31 17:07:24 latex3
-% don't fail in footnote/float test if there isn't any bottom area at
-% all!
-%
-% Revision 1.11 2000/03/24 15:34:27 latex3
-% version that starts supporting spans (still a hack yet)
-%
-% Revision 1.10 2000/03/22 15:51:51 latex3
-% some normalisations of names
-%
-% Revision 1.9 2000/03/17 20:25:02 latex3
-% initialise fl@0
-% support relaxing constraints when flushing
-%
-% Revision 1.8 2000/03/15 19:58:00 latex3
-% assigning values to \column@number should always be done globally
-%
-% Revision 1.7 2000/03/05 19:41:21 latex3
-% support multiple columns (6 max right now)
-%
-% Revision 1.6 2000/02/26 18:21:16 david
-% fixed footnote bottom constraint code
-%
-% Revision 1.5 2000/02/26 16:52:25 david
-% *** empty log message ***
-%
-% Revision 1.4 2000/02/17 22:41:38 david
-% *** empty log message ***
-%
-% Revision 1.4 2000/02/16 13:41:06 latex3
-% added 3col support
-%
-% Revision 1.3 2000/02/13 14:38:53 latex3
-% was 1.2.1.2
-%
-% Revision 1.2.1.2 2000/02/13 11:51:27 latex3
-% fixed \check@callout@after (hopefully correct now)
-% added \check@some@constraints logic
-%
diff --git a/Master/texmf-dist/source/latex3/xor/xo-place.dtx b/Master/texmf-dist/source/latex3/xor/xo-place.dtx
deleted file mode 100644
index 0a208459540..00000000000
--- a/Master/texmf-dist/source/latex3/xor/xo-place.dtx
+++ /dev/null
@@ -1,1537 +0,0 @@
-% \iffalse
-%%
-%% (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.
-%%
-% \fi
-%
-
-% \begin{macrocode}
-\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 $
-% \end{macrocode}
-%
-%
-%
-% Ignore white space in this package.
-% \begin{macrocode}
-\IgnoreWhiteSpace
-% \end{macrocode}
-%
-%
-%
-% \subsection{Selecting the next area to try}
-%
-%
-% \begin{macro}{\std@try@this@area}
-% The |\std@try@this@area| command is called when we have
-% selected a float from the |\@activelist| and want to place it
-% in one of the open areas to see if it fits there. If we succeed
-% in finding a potential candidate place we will exit using
-% |\contruct@trial| which will run a trial cutting the galley to
-% see if each column gets the right kind of text and contains the
-% right kind of callouts.
-% The areas are tried in a defined order.
-%
-% If we don't find any open areas we return putting the current
-% float onto the |\area@ddd| and then calling |\@trynextfloat|.
-%
-% If we find an open area but for some reason the float is not
-% allowed to go there we close that area for floats of this type
-% and recurse (i.e. try to use the next open area for this type).
-%
-% The reasons for failure to place the float into the first open
-% area are numerous. First there are restrictions on the number of
-% floats on a page (if we reach this all areas get closed) there
-% there are similar restrictions for each individual float area.
-%
-% If those tests are passed we trial typeset the float with its
-% caption (or rather typeset and attach its caption) to determine
-% the size needed by the float. That will give us a dimension to
-% test against restrictions for the amount of space floats are
-% allowed to occupy etc.
-%
-% \begin{macrocode}
-\def\std@try@this@area{
-%<*trace>
- \@tracepush{std@try@this@area}
-%</trace>
-% \end{macrocode}
-% If all areas for the float type are closed we have to defer this float.
-% \begin{macrocode}
- \ifx\this@open@areas\@empty
-%<*trace>
- \tr@ce{defer:~no~open~area~ available}
-%</trace>
- \do@next\defer@and@try@next@float
- \else
-% \end{macrocode}
-% Otherwise the next area to try is the first of |\this@open@areas|:
-% \begin{macrocode}
- \setup@this@area{\expandafter\@carcube\this@open@areas\@nil}
-%<*trace>
- \tr@ce{area~trial:~ \this@area}
-%</trace>
-%<*progress>
- \progress{~ area~trial:~ \this@area}
-%</progress>
-% \end{macrocode}
-% Next test needs cleanup once the span has a decent data
-% structure.\footnote{FIX!!}
-% \begin{macrocode}
- \ifnum \this@area@span@number = \if!\this@span@number! 1\else % big hack
- \this@span@number \fi
- \relax
-%<*trace>
- \tr@ce{span~ count~ okay:~ \this@area \space =~
- \if!\this@span@number! 1\else % big hack
- \this@span@number \fi}
-%</trace>
-% \end{macrocode}
-%
-% \begin{macrocode}
- \ifnum \pagesetup@max@float@num > \page@float@count
-% \end{macrocode}
-%
-% \begin{macrocode}
- \ifnum\csname pagesetup@\this@area @float@num\endcsname =
- \csname \this@area @float@count \endcsname
-%
-% \end{macrocode}
-% Current area doesn't accept any more floats, so try next one (if any)
-% \begin{macrocode}
-%<*trace>
- \tr@ce{close~area:~\this@area\space float~num~reached ~
- (\csname pagesetup@\this@area @float@num\endcsname)}
-%</trace>
-%<*progress>
- \progress@failed{\this@area\space float~num~reached ~
- (\csname pagesetup@\this@area @float@num\endcsname)}
-%</progress>
- \do@next\try@next@area
-% \end{macrocode}
-%
-% \begin{macrocode}
- \else
- \xin@\this@area
- \this@page@closed
- \ifin@
-%<*trace>
- \tr@ce{area~ closed~ for~ all~ types;~ member~ of~
- (\this@page@closed)}
-%</trace>
-%<*progress>
- \progress@failed{area~ closed~ for~ all~ types}
-%</progress>
- \do@next\try@next@area
- \else
-%<*trace>
- \tr@ce{area~ not~ closed~ for~ all~ types:~ not~ member~ of~
- (\this@page@closed)}
-%</trace>
- \xin@\this@area
- \this@closed@areas
- \ifin@
-%<*trace>
- \tr@ce{area~ closed~ for~ class~ \this@class;~ member~ of~
- (\this@closed@areas)}
-%</trace>
-%<*progress>
- \progress@failed
- {area~ closed~ for~ class~ \this@class}
-%</progress>
- \do@next\try@next@area
- \else
-%<*trace>
- \tr@ce{area~ open~ for~ class~ \this@class;~ not~ member~ of~
- (\this@closed@areas)}
-%</trace>
- \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
-%<*trace>
- \tr@ce{close~area:~\this@area\space float~not~allowed~
- by~ user~ control~ (\this@fps)}
-%</trace>
-%<*progress>
- \progress@failed{\this@area\space float~not~allowed~
- by~ user~ control~ (\this@fps)}
-%</progress>
- \do@next\try@next@area
- \fi
- \fi
- \fi
- \fi
- \else
-% defer
- \global\let\this@open@areas\@empty
-%<*trace>
- \tr@ce{defer:~max~float~num~reached ~(\pagesetup@max@float@num)}
-%</trace>
-%<*progress>
- \progress@failed{max~float~num~reached ~(\pagesetup@max@float@num)}
-%</progress>
- \do@next\defer@and@try@next@float
- \fi
- \else
-%<*trace>
- \tr@ce{span~ count~ unsuitable:~ \this@area \space /=~
- \if!\this@span@number! 1\else % big hack
- \this@span@number \fi}
-%</trace>
-%<*progress>
- \progress@failed{span~ count~ \this@area \space /=~
- \if!\this@span@number! 1\else % big hack
- \this@span@number \fi}
-%</progress>
- \do@next\try@next@area
- \fi
- \fi
-%<*trace>
- \@tracepop{std@try@this@area}
-%</trace>
- \do@continue
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\do@next}
-% Emergency macro to reduce the number of input levels (as the code
-% got past the internal default of 300). This is because we have a
-% lot of recursion going on without being tail
-% recursion. Essentially this means some of the code needs slightly
-% different implementation.\footnote{fix}
-% \begin{macrocode}
-\def\do@next{\let\do@continue}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\relaxed@try@this@area}
-% \begin{macrocode}
-\def\relaxed@try@this@area{
-%<*trace>
- \@tracepush{relaxed@try@this@area}
-%</trace>
-% \end{macrocode}
-% If all areas for the float type are closed we have to defer this float.
-% \begin{macrocode}
- \ifx\this@open@areas\@empty
-%<*trace>
- \tr@ce{defer:~no~open~area~ available}
-%</trace>
- \do@next\defer@and@try@next@float
- \else
-% \end{macrocode}
-% Otherwise the next area to try is the first of |\this@open@areas|:
-% \begin{macrocode}
- \setup@this@area{\expandafter\@carcube\this@open@areas\@nil}
-%<*trace>
- \tr@ce{area~trial:~ \this@area}
-%</trace>
-%<*progress>
- \progress{~ area~trial:~ \this@area}
-%</progress>
-% \end{macrocode}
-% Next test needs cleanup once the span has a decent data
-% structure.\footnote{FIX!!}
-% \begin{macrocode}
- \ifnum \this@area@span@number = \if!\this@span@number! 1\else % big hack
- \this@span@number \fi
- \relax
-%<*trace>
- \tr@ce{span~ count~ okay:~ \this@area \space =~
- \if!\this@span@number! 1\else % big hack
- \this@span@number \fi}
-%</trace>
-% \end{macrocode}
-%
-% \begin{macrocode}
- \xin@\this@area\this@page@closed
- \ifin@
-%<*trace>
- \tr@ce{area~ closed~ for~ all~ types;~ member~ of~
- (\this@page@closed)}
-%</trace>
-%<*progress>
- \progress@failed{area~ closed~ for~ all~ types}
-%</progress>
- \do@next\try@next@area
- \else
-%<*trace>
- \tr@ce{area~ not~ closed~ for~ all~ types:~ not~ member~ of~
- (\this@page@closed)}
-%</trace>
- \xin@\this@area
- \this@closed@areas
- \ifin@
-%<*trace>
- \tr@ce{area~ closed~ for~ class~ \this@class;~ member~ of~
- (\this@closed@areas)}
-%</trace>
-%<*progress>
- \progress@failed
- {area~ closed~ for~ class~ \this@class}
-%</progress>
- \do@next\try@next@area
- \else
-%<*trace>
- \tr@ce{area~ open~ for~ class~ \this@class;~ not~ member~ of~
- (\this@closed@areas)}
-%</trace>
- \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
-%<*trace>
- \tr@ce{span~ count~ unsuitable:~ \this@area \space /=~
- \if!\this@span@number! 1\else % big hack
- \this@span@number \fi}
-%</trace>
-%<*progress>
- \progress@failed{span~ count~ \this@area \space /=~
- \if!\this@span@number! 1\else % big hack
- \this@span@number \fi}
-%</progress>
- \do@next\try@next@area
- \fi
- \fi
-%<*trace>
- \@tracepop{relaxed@try@this@area}
-%</trace>
- \do@continue
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\construct@and@test@col@hts}
-% The |\construct@and@test@col@hts| loops over all columns
-% affected by the float area we want to place our float into
-% and reduces the column size as
-% needed. It sets the switch |@test| to true in case the float
-% doesn't fit into area for some reason. It is up to the calling
-% macro to take proper action in this case (including resetting
-% column heights to their former values).
-% \begin{macrocode}
-\def\construct@and@test@col@hts {
-% \end{macrocode}
-% We use the information from the area not from the float (which
-% allows us to put small floats into larger areas.
-% \begin{macrocode}
- \update@this@area@columns
- {
- \expandafter
- \construct@and@test@col@ht
- \csname col@ht@ \the\count@ \endcsname
- {\the\count@}
-% \end{macrocode}
-% We need to break out of the updating loop if we found a column that
-% doesn't work, a) to save time and b) since the
-% |\construct@and@test@col@ht| resets the switch again to false
-% (in the current implementation).
-% \begin{macrocode}
- \if@test
- \count@\z@ % break out of loop
- \fi
- }
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\construct@and@test@col@ht}
-% The |\construct@and@test@col@ht| reduces the height of one column
-% by the size of the current float (plus some suitable extra space)
-% and tests if this reduction is possible/allowed. It sets the
-% switch |@test| to true if it encounters a problem.
-% \begin{macrocode}
-\def\construct@and@test@col@ht#1#2{
-%<*trace>
- \tr@ce{col height~before:~ \the#1 (\string#1)}
-%</trace>
-% \end{macrocode}
-% In |\@tempdima| we calculate the amount of space we need if we
-% place the float. This is the size of the float, i.e., its height
-% and depth, plus either |\pagesetup@float@text@sep| if this is the
-% very first float in this column (on top or on bottom), or
-% |\pagesetup@float@area@sep| if it is the first float in the
-% current area, or |\pagesetup@float@float@sep| if we already have
-% floats in this area.
-% \begin{macrocode}
- \@tempdima \ht\this@captioned@float
- \advance \@tempdima \dp\this@captioned@float
- \ifnum \csname col@ \this@area@type
- @floats@#2@number\endcsname
- = \z@
-%<*trace>
- \tr@ce{first~ float~ in~ any~ \this@area@type\space
- in~ column~ #2:~
- adding~ \string\pagesetup@float@text@sep
- =\the\pagesetup@float@text@sep}
-%</trace>
- \advance \@tempdima \pagesetup@float@text@sep
- \else
- \advance \@tempdima
- \expandafter
- \ifx \csname area@\this@area\endcsname\@empty
- \pagesetup@float@area@sep
-%<*trace>
- \tr@ce{first~ float~ in~ \this@area :~
- adding~ \string\pagesetup@float@area@sep
- =\the\pagesetup@float@area@sep}
-%</trace>
- \else
- \pagesetup@float@float@sep
-%<*trace>
- \tr@ce{additional~ float~ in~ \this@area :~
- adding~ \string\pagesetup@float@float@sep
- = \the\pagesetup@float@float@sep}
-%</trace>
- \fi
- \fi
-% \end{macrocode}
-% Now we make the area size fully fall into the page grid (if there
-% is one). To do this we first substract any delta that has been
-% accumulated for the column (to get back to the real size) and
-% then run |\snap@to@grid| to get the next grid point.
-% \begin{macrocode}
- \advance \@tempdima
- -\csname col@ \this@area@type @delta@ #2 \endcsname \relax
-% \end{macrocode}
-% The |\col@|\meta{area-type}|@delta@|\meta{col} are macros but
-% fortunately low-level \TeX{} supports register assignments of the
-% form |--3pt| so the above will work even if the macro contains a
-% negative value.
-% \begin{macrocode}
- \snap@to@grid \@tempdima \pagesetup@grid@point@sep
-% \end{macrocode}
-%
-% If the distance to the next grid point is larger than the
-% distance to the previous one, and if the space between floats and
-% text is allowed to shrink by the needed amount we will use the
-% previous grid point.
-% \begin{macrocode}
- \ifdim \returned@lower@delta@size < \returned@delta@size \relax
- \ifdim \returned@lower@delta@size < \pagesetup@float@text@shrink
-%<*trace>
- \tr@ce{GRID:~ column~#2:~ choosing~ lower~ grid~ point}
-%</trace>
-% \end{macrocode}
-% We do this by copying the |\returned@lower@...| to the macros
-% used below. Note that for the delta size we have to use the
-% negation since we want to backup by this amount and delta sizes
-% are always given in absolute values.
-% \begin{macrocode}
- \global\let \returned@size \returned@lower@size
- \xdef \returned@delta@size {-\returned@lower@delta@size }
- \fi
- \fi
-%<*trace>
- \tr@ce{GRID:~ column~#2:~ \the\@tempdima\space ->~ \returned@size}
-%</trace>
- \@tempdima \returned@size
-% \end{macrocode}
-%
-% After updating |\@tempdima| in this way we now have to check if
-% the space remaining for the text column is large enough.
-% \begin{macrocode}
- \@tempdimb#1
- \advance \@tempdimb -\@tempdima
- \@testfalse
- \ifdim \textminlines\baselineskip > \@tempdimb
-% \end{macrocode}
-% If not we bail out
-% \begin{macrocode}
- \@testtrue
-%<*trace>
- \tr@ce{close~area:~\this@area\space not~ enough~ text~ lines~
- left~
- (\textminlines x\the\baselineskip> \the\@tempdimb)}
-%</trace>
-%<*progress>
- \progress@failed{not~ enough~ text~ space~
- (\textminlines x\the\baselineskip\space
- >~ \the\@tempdimb)}
-%</progress>
- \else
-% \end{macrocode}
-% Otherwise we have to update the column heights (and their saved
-% version in case we back out later) as well as storing the new
-% delta (which is still in |\returned@delta@size|).
-% \begin{macrocode}
-%<*trace>
- \tr@ce{saved@col@ht@ #2~ <-~\the#1}
-%</trace>
- \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
-%<*trace>
- \tr@ce{GRID (delta):~ column~#2\this@area@type:~
- \csname saved@col@ \this@area@type @delta@ #2
- \endcsname\space ->~ \returned@delta@size}
-%</trace>
- \fi
-%<*trace>
- \tr@ce{col height~after:~ \the#1}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\textminlines}
-% Tmp definition; should be interfaced to pagesetup.
-% \begin{macrocode}
-\def\textminlines{4}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \subsection{Supporting grid based designs}
-%
-%
-%
-% \begin{macro}{\pagesetup@grid@point@sep}
-% |\pagesetup@grid@point@sep| is the distance between grid points
-% for page design or 0pt if we are not doing grid design.
-% \begin{macrocode}
-\let\pagesetup@grid@point@sep\ERROR
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\snap@to@grid}
-% |\snap@to@grid| takes a dimension as first argument and a
-% ``grid-size'' as second argument and from those two values
-% calculates a new dimension which is a multiple of the grid-size
-% and equal or larger than the first argument.
-%
-% It returns this calculated value globally in |\returned@size|. In
-% addition it will return in |\returned@delta@size| the delta
-% between the original and the new dimension.
-%
-% It also returns a lower or equal grid point in
-% |\returned@lower@size| and the delta to it (absolute value) in
-% |\returned@lower@delta@size|.
-%
-% Thus the first argument lies on a grid point if and only if
-% |\returned@size| equals |\returned@lower@size|.
-%
-% If we are not doing grid typesetting then |\snap@to@grid| is
-% actually a dummy which will return always the first argument in
-% |\returned@size| and |\returned@lower@size|, and |0pt| in the
-% deltas.
-%
-% The actual definition is assigned within the page setup.
-% \begin{macrocode}
-\let\snap@to@grid\ERROR
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\dummy@snap@to@grid}
-% In case we don't do grids we simply pretend that all sizes lie on
-% grid points.
-% \begin{macrocode}
-\def \dummy@snap@to@grid #1#2{
- \begingroup
-% \end{macrocode}
-% Definitions below can be optimised for speed but the ones used
-% give better tracing.
-% \begin{macrocode}
- \@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
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\std@snap@to@grid}
-% But if we do grid typesetting we have to do a bit more work
-% here.
-% \begin{macrocode}
-\def \std@snap@to@grid #1#2{
-% \end{macrocode}
-% Everything is done in a group so that the register change do not
-% affect other parts of the code.
-% \begin{macrocode}
- \begingroup
-% \end{macrocode}
-% First we calculate in |\@tempdimc| the nearest grid point which
-% is smaller or equal to the given size in |#1| by using scaled
-% point arithmetic.
-% \begin{macrocode}
- \@tempdima #1\relax
- \@tempdimb #2\relax
- \@tempcnta \@tempdima % orig size in sp
- \@tempcntb \@tempdimb % grid size in sp
- \divide \@tempcnta \@tempcntb
- \@tempdimc \@tempcnta\@tempdimb
-% \end{macrocode}
-% If the calculated grid point is smaller than the original
-% dimension use the next larger one. But record the other in
-% |\returned@lower@size|.
-% \begin{macrocode}
- \ifdim \@tempdimc < \@tempdima
- \xdef \returned@lower@size { \the\@tempdimc }
- \advance\@tempdimc \@tempdimb
- \fi
-% \end{macrocode}
-% The |\returned@size| will be whatever the result of the above is
-% and |\returned@delta@size| the difference to the given value in
-% |#1|. Note that |\returned@size| will always be larger or equal
-% to this value so the difference computed below will also be
-% non-negative!
-% \begin{macrocode}
- \xdef \returned@size { \the\@tempdimc }
- \advance \@tempdimc -\@tempdima
- \xdef \returned@delta@size { \the\@tempdimc }
-% \end{macrocode}
-% Now if this difference turns out to be zero then we actually
-% started with a dimension exactly on a grid point. In this case we
-% better define both |\returned@lower@size| and
-% |\returned@lower@delta@size| to equal their counterparts.
-% \begin{macrocode}
- \ifdim \@tempdimc = \z@
- \global \let \returned@lower@size \returned@size
- \global \let \returned@lower@delta@size \returned@delta@size
-% \end{macrocode}
-% Otherwise we only have to compute |\returned@lower@delta@size|
-% since in that case we already recorded |\returned@lower@size|
-% above (and we better had since by now we lost this information as
-% we reused |\@tempdimc|). Now the value for this macro should be
-% the difference between |\returned@delta@size| and our grid size
-% both of which are already stored in some temp registers,
-% thus\ldots
-% \begin{macrocode}
- \else
- \advance\@tempdimb-\@tempdimc
- \xdef \returned@lower@delta@size { \the\@tempdimb }
- \fi
- \endgroup
-%<*trace>
- \tr@ce{GRID:~ \string\returned@lower@size=\returned@lower@size}
- \tr@ce{GRID:~ \string\returned@lower@delta@size=\returned@lower@delta@size}
- \tr@ce{GRID:~ \string\returned@size=\returned@size}
- \tr@ce{GRID:~ \string\returned@delta@size=\returned@delta@size}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-% \subsection{Deferring a float}
-%
-%
-%
-% \begin{macro}{\really@defer@and@try@next@float}
-% \begin{macrocode}
-\def\really@defer@and@try@next@float{
-%<*progress>
- \progress@failed{-->~ defer}
- \progress@nl{}
-%</progress>
- \@cons\area@ddd\this@float@box
-%<*trace>
- \tr@ce{this@page@closed~ <-~ "\this@page@closed"~ +~
- "\pagesetup@ddd@all@close"}
-%</trace>
- \xdef\this@page@closed{\this@page@closed,
- \pagesetup@ddd@all@close}
-
- \ifx\pagesetup@ddd@class@close\pagesetup@area@list
-%<*trace>
- \tr@ce{this@closed@areas~ <-~
- "\pagesetup@ddd@class@close"~ (all~ closed)}
-%</trace>
- \global\let\this@closed@areas\pagesetup@ddd@class@close
- \else
-%<*trace>
- \tr@ce{this@closed@areas~ <-~ "\this@closed@areas"~ +~
- "\pagesetup@ddd@class@close"}
-%</trace>
- \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
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\defer@and@try@next@float}
-%
-% This code either defers the current float and restarts by calling
-% |\try@next@float| or recurses after relaxing the placement
-% conditions (in case the current float should be flushed).
-%
-% If the placement conditions are already relaxed we move the first
-% flush point that affects the current float one column forward and
-% then retry. This might result in succeding to place the float, if
-% not it will ultiamtely result in the flush point being moved from
-% the page at which point the float can be deferred.
-%
-% \begin{macrocode}
-\def\defer@and@try@next@float{
-%<*trace>
- \@tracepush{defer@and@try@next@float}
-%</trace>
-% \end{macrocode}
-% If there have been no flush points or if the flush points seen do
-% not affect the current float we can immediately defer it.
-% \begin{macrocode}
- \if@flushseen
- \xin@\this@class\flush@classes@list@max
- \ifin@
-%<*trace>
- \tr@ce{flush:~ class~ \this@class\space in~
- \flush@classes@list@max}
-%</trace>
-% \end{macrocode}
-% First test is just there to avoid doing any of the loops
-% (might not be worth having)
-% \begin{macrocode}
- \ifnum \csname flush@min@col@1\endcsname > \curr@col@count
-%<*trace>
- \tr@ce{flush:~ no~ flush~ points~ on~ page;~ defer}
-%</trace>
- \do@next\really@defer@and@try@next@float
- \else
-% \end{macrocode}
-%
-% The code is often invoked before there is an attempt to split the
-% galley; this means we don't know which flush point affects the
-% current float and thus have to manually get at it.
-%
-% So we loop through the |\flush@last@float@|\meta{num} values to
-% find the first one that a) affects the current float type and b)
-% holds a sequence number that is higher or equal to the sequence
-% number of the current float.
-% \begin{macrocode}
- \count@ \@ne
- \loop
-% \end{macrocode}
-% If |\count@| is greater than |\flush@seq@num| we have exhausted
-% all possible flush points without finding a candidate.
-% \begin{macrocode}
- \ifnum \flush@seq@num < \count@
- \in@false
- \else
-% \end{macrocode}
-% Otherwise, if |\this@sequence@number| is greater than
-% |\flush@last@float@|\meta{num} the current flush point is before
-% the call-out to the current float.
-% \begin{macrocode}
-%<*trace>
- \tr@ce{flush:~ \this@sequence@number \space ???~
- \csname flush@last@float@ \the\count@ \endcsname}
-%</trace>
- \ifnum \this@sequence@number >
- \csname flush@last@float@ \the\count@ \endcsname
- \relax
-% \end{macrocode}
-% We set |\in@true| to get a repeat below with a new value of
-% |\count@|.
-% \begin{macrocode}
- \in@true
- \else
-% \end{macrocode}
-% Otherwise we have a flush point that is later in the galley in
-% comparison to the call-out of the current float thus potentially
-% affects it. Therefore we now have to check if the sequence class
-% of the current float is affected by the flush point found:
-% \begin{macrocode}
- \expandafter\xin@\expandafter\this@class
- \csname flush@classes@list@ \the\count@ \endcsname
-% \end{macrocode}
-% Now we could make good use of the |\unless| primitive of
-% e\TeX. But since we want to run with standard \TeX{} and don't
-% have |\xnotin@| available we invert the result.
-% \begin{macrocode}
- \ifin@
- \in@false
- \else
- \in@true
-%<*trace>
- \tr@ce{flush:~ class~ \this@class\space not~ in~
- \csname flush@classes@list@ \the\count@ \endcsname
- \space (ignored)
- }
-%</trace>
- \fi
- \fi
- \fi
- \ifin@
- \advance\count@\@ne
- \repeat
-%<*trace>
- \tr@ce{flush:~ first~ float~ point~ after~ float~ =~
- \the\count@}
-%</trace>
- \ifnum \flush@seq@num < \count@
-%<*trace>
- \tr@ce{flush:~ this~ float~ past~all~flush~ points;~ defer}
-%</trace>
- \do@next\really@defer@and@try@next@float
- \else
-% \end{macrocode}
-% Once a |flush@min@col| is larger than |\curr@col@count| it has
-% moved to the next page. In particular this is true for the
-% artificial value |\maxdimen| to which it is sometimes set to
-% denote this fact. If so we can defer our float.
-% \begin{macrocode}
- \ifnum \csname flush@min@col@\the\count@\endcsname
- > \curr@col@count
-%<*trace>
- \tr@ce{flush:~ float~ past~ all~ flush~ points~
- on~ current~ page;~ defer}
-%</trace>
- \do@next\really@defer@and@try@next@float
- \else
-% \end{macrocode}
-% If we have already relaxed the conditions and we are still in
-% conflict with a flush point on the current page we nearly ran out
-% of options. In this case we are forced to move the flush point,
-% but rather than moving it to the next page and defering the float
-% we can move it one column further (which might make it fall off
-% the page though) and then retry to place the float since we have
-% now more space available.
-% \begin{macrocode}
- \ifx\try@this@area\relaxed@try@this@area
-%<*trace>
- \tr@ce{flush:~ defer~ forced;~ move~
- flush~ point~ columns}
-%</trace>
-%<*progress>
- \progress@nl{}
- \progress@nl{Flushing~ impossible~ -->~ breaking~
- before~ flush~ point~ and~ retry}
-%</progress>
-% \end{macrocode}
-% We should only increment the |flush@min@col@| value of the first
-% flush point that affects our float (this will automatically move
-% later flush points if necessary). Incrementing the later ones is
-% incorrect as they might not need moving!
-% \begin{macrocode}
- \expandafter \gincrement@num
- \csname flush@min@col@ \the\count@ \endcsname
-%<*trace>
- \tr@ce{flush@min@col@\the\count@ \space <-~
- \csname flush@min@col@ \the\count@ \endcsname
- }
-%</trace>
-%<*progress>
- \progress@nl{}
- \progress@nl{Defer~ impossible~ -->~ moving~
- flush~ point~ to~ column~
- \csname flush@min@col@ \the\count@\endcsname
- \space
- and~ retry}
-%</progress>
-% \end{macrocode}
-% Not clear that it is really necessary to check all areas again,
-% but it is late (after midnight) and it is definitely not
-% wrong.\footnote{Check!}
-% \begin{macrocode}
- \relax@float@placement@conditions % needed to reset open areas
- \do@next\try@this@area
-
- \else
-% \end{macrocode}
-%
-% \begin{macrocode}
- \relax@float@placement@conditions
- \do@next\try@this@area
- \fi
- \fi
- \fi
- \fi
- \else
-%<*trace>
- \tr@ce{flush:~ class~ \this@class\space not~ in~
- \flush@classes@list@max;~ defer}
-%</trace>
- \do@next\really@defer@and@try@next@float
- \fi
-
- \else
-%<*trace>
- \tr@ce{flush:~ no~ flush~ point~ seen; defer}
-%</trace>
- \do@next\really@defer@and@try@next@float
- \fi
-
-%<*trace>
- \@tracepop{defer@and@try@next@float}
-%</trace>
- \do@continue
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\relax@float@placement@conditions}
-% \begin{macrocode}
-\def \relax@float@placement@conditions {
-%<*progress>
- \progress@failed{-->~ retry~ with~ relaxed~ conditions}
- \progress@nl{}
-%</progress>
-%<*trace>
- \tr@ce{flush:~relax~placement~conditions}
-%</trace>
- \global\let\try@this@area\relaxed@try@this@area
-% next line perhaps external?
- \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
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\tighten@float@placement@conditions}
-% \begin{macrocode}
-\def\tighten@float@placement@conditions {
-%<*trace>
- \tr@ce{flush:~tighten~placement~conditions}
-%</trace>
- \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
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\partly@tighten@float@placement@conditions}
-% This is used when we have placed the last float that is affected
-% by a certain flush point. We don't want to tighten up completely
-% since this would essentially mean that we can't place any further
-% floats since callout relationships etc might be violated for
-% them. Good question is whether or not the last restriction should
-% be used again since this too might prevent any further placements.
-% \begin{macrocode}
-\def\partly@tighten@float@placement@conditions {
-%<*trace>
- \tr@ce{flush:~partly~tighten~placement~conditions}
-%</trace>
- \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
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \subsection{Checking float placement during trial}
-%
-% The interface to checking float placement in relation to its callout
-% is the following piece of code in |\grab@column@or|:
-%\begin{verbatim}
-% \let\@elt\check@callout@constraints
-% \float@classes@list
-%\end{verbatim}
-% This loops through all float types and executes
-% |\check@callout@constraints| with the float type as an argument. The output
-% routine |\grab@column@or| itself is called for each column of a trial
-% configuration, thus the above loop is called for each column
-% individually (|\curr@col@count| can be used to determine the current
-% column number).
-%
-% By giving |\check@callout@constraints| an appropriate definition a
-% pagesetup template can implement different relationships between
-% callout and float.
-%
-% Possible tests (getting stronger):
-% \begin{itemize}
-%
-% \item
-% Don't check, i.e., add the float when you find it and it fits
-% according to other criteria (like number of floats in the area,
-% etc.). This is implemented in |\check@callout@none|.
-%
-%
-% \item
-% Check if callouts for all floats on the page (not column) are
-% either on the same page or on an earlier page; i.e., callout can be
-% late as long as the float is visible from the callout.
-%
-% Fail if for last column and all float types:
-% last callout number for float type is smaller than maximum last float
-% of type put into any column.\footnote{This description is
-% probably wrong}
-%
-% This is implemented in |\check@callout@page|.
-%
-% \item
-% Check if callouts for all floats in the column are either on the
-% same column or on an earlier column.
-%
-% Fail if for any column and any float type:
-% last callout number for float type is smaller last float sequence
-% number for type recorded for this column.
-%
-% This case consists in fact of two subcases depending on how we
-% interpret to which column a spanning float belongs. If we claim
-% that a spanning float is placed into its starting column, then we
-% fail if its call-out is in a later column even though this column
-% might still be spanned by the float area.
-%
-% This is implemented in |\check@callout@column|.
-%
-% \item
-% Check if callouts for all floats in the column are on an earlier
-% column or if on the same column the float was added to the bottom
-% (or marginal) area; i.e. strict float/callout order
-%
-% Fail if for each type and for any column:
-% `top' callout number less than `top' float number
-% (at top of text column)
-%\begin{verbatim}
-% [Corectness proof:
-% TRUE => first callout's float comes before bottom
-% and so comes too early
-% => FAIL
-% FALSE => first callout's float comes in bottom and all other
-% callouts come later and so are in bottom or beyond
-% => OK
-% ]
-%\end{verbatim}
-% The proof above is in fact only valid if you look at the whole
-% document and not only at a single page since a float in the bottom
-% area of the last column with its callout on the next page will
-% only be detected when testing the next page. Therefore one needs
-% an additional check of type |\check@callout@column|.
-%
-% This is implemented in |\check@callout@after|.
-%
-%
-% \end{itemize}
-%
-%
-% \begin{macro}{\check@callout@none}
-% This test is an easy one: just do nothing, i.e., gobble the argument.
-% \begin{macrocode}
-\let\check@callout@none\@gobble
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\check@callout@page}
-% We are are only interested in the callout/float relation per page
-% we only have to do a check when producing the last column, i.e.,
-% when |\curr@col@count| is |\col@count|.
-% \begin{macrocode}
-\def\check@callout@page#1{
-%<*trace>
- \@tracepush{check@callout@page}
-%</trace>
- \ifnum\curr@col@count=\col@count
-% \end{macrocode}
-% We store in |\fl@max| the highest sequence number for floats of
-% the current type up to the end of the page. For this we have to
-% find the maximum of |\fl@0@|\meta{type} (highest float number on
-% previous pages) and those for the columns, e.g.,
-% |\fl@|\meta{colnum}|@|\meta{type}; this is done by the following
-% code:
-% \begin{macrocode}
- \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
- }
-% \end{macrocode}
-% We then store the number of the last callout in |\count@|; the
-% |0| will take care of the potential problem that there was never any
-% callout so far. And we better have a |\relax| afterwards since
-% otherwise we will expand the |\ifnum| before we have finished
-% assigning the |\count@|.
-% \begin{macrocode}
- \count@0\LastMark{#1}\relax
-%<*trace>
- \tr@ce{Last~callout~ (#1)~ =~ \the\count@}
-%</trace>
-% \end{macrocode}
-% Now we have to compare those two numbers to find out if that
-% trial has failed:
-% \begin{macrocode}
- \ifnum\count@<\fl@max\relax
- \@failtrue
-%<*progress>
- \progress@failed{last~callout~
- \the\count@\space~<~\fl@max
- \space last~float~put~on~page~or~ earlier}
-%</progress>
-%<*trace>
- \tr@ce{Failed:~(#1)~ last~callout~
- \the\count@\space~<~\fl@max
- \space last~float~put~on~page~or~ earlier}
- \else
- \tr@ce{OK:~(#1)~ last~callout~
- \the\count@\space~>=~\fl@max
- \space last~float~put~on~page~or~ earlier}
-%</trace>
- \fi
- \fi
-%<*trace>
- \@tracepop{check@callout@page}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\fl@max}
-% The macro |\fl@max| is used within |\check@callout@page| to hold
-% the highest sequence number of any allocated float on the current
-% page for the type under testing. It will be recalculated on
-% each pass.\footnote{One could generate this value while running through
-% the trials --- this would perhaps be a bit more time efficient.}
-% \begin{macrocode}
-\let\fl@max\ERROR
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\check@callout@column}
-% Checking each column separately means we have to compare for each
-% type the last callout on this or previous columns (i.e., as
-% returned by |\LastMark|) with the highest sequence number for
-% floats of this type in the current column (as stored in
-% |fl@|\meta{col}|@|\meta{type}). So we first store the callout
-% info in |\count@|.
-% \begin{macrocode}
-\def\check@callout@column#1{
-%<*trace>
- \@tracepush{check@callout@column}
-%</trace>
- \count@0\LastMark{#1}\relax
-% \end{macrocode}
-% Then we do the test. If there are no floats of the current type
-% in the current column |\fl@|\meta{col}|@|\meta{type} will be zero
-% and thus the following test will come out true. This is the
-% correct behaviour as any callouts that might be present will be
-% correctly evaluated in tests on neighboring columns with floats.
-% \begin{macrocode}
- \ifnum\count@<\csname fl@\the\curr@col@count @#1\endcsname\relax
-%<*progress>
- \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}
-%</progress>
-%<*trace>
- \tr@ce{Failed:~(#1)~ last~ callout~
- \the\count@\space <~
- \csname fl@\the\curr@col@count @#1\endcsname
- \space last~float~placed}
-%</trace>
-% \end{macrocode}
-% If the test fails we abort this trial by setting the switch
-% |@fail| to true. We also set
-% |\curr@col@count| to |\col@count| which will save us any further
-% iteration (in case this wasn't the last column). Finally we
-% locally set |\@elt| to |\@gobble| which will essentially about
-% the current loop through the |\float@classes@list|.
-% \begin{macrocode}
- \@failtrue
- \global\curr@col@count\col@count
- \let\@elt\@gobble
-% \end{macrocode}
-% Otherwise the constraints for callout of current float type are
-% met so we report this fact if we do tracing.
-% \begin{macrocode}
-%<*trace>
- \else
- \tr@ce{OK:~(#1)~ last~ callout~
- \the\count@\space >=~
- \csname fl@\the\curr@col@count @#1\endcsname
- \space last~float~placed}
-%</trace>
- \fi
-%<*trace>
- \@tracepop{check@callout@column}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\check@callout@after}
-%
-% \begin{macrocode}
-\def\check@callout@after#1{
-%<*trace>
- \@tracepush{check@callout@after}
-%</trace>
-% \end{macrocode}
-%
-% We first check if all floats are either on the same column than
-% their callout or on an later column by calling
-% |\check@callout@column|. If this returns |@fail| we immediately
-% abort any further processing.
-% \begin{macrocode}
- \check@callout@column{#1}
- \if@fail\else
-% \end{macrocode}
-%
-% If the above check found no violation we have to check for top
-% area floats that might preceed their callouts.
-%
-% For this we look at the value of the
-% |\tfl@|\meta{col}|@|\meta{float-type} macro which holds the
-% highest float sequence number for floats of this type allocated
-% in that column.
-% \begin{macrocode}
- \global\expandafter\let\expandafter
- \returned@sequence@number
- \csname tfl@\the\curr@col@count @#1\endcsname
-% \end{macrocode}
-%
-% If there was no float in the top area we get |0| back and in
-% that case we are done since all our constraints are met.
-% \begin{macrocode}
- \ifnum \returned@sequence@number = \z@
-%<*trace>
- \tr@ce{OK:~(#1)~ top~ areas~ have~ no~ floats}
-%</trace>
- \else
-% \end{macrocode}
-%
-% Otherwise we have to look at the top callout number and compare
-% it to the last float number of the top area.
-% \begin{macrocode}
- \count@ 0\PreviousMark{#1}\relax
-% \end{macrocode}
-% If that callout number is less than the last float number we
-% failed since this means that there is a float in the top area
-% which callout has not yet been seem. So we abort the
-% trial. Otherwise our constraints are met.
-% \begin{macrocode}
- \ifnum \count@ < \returned@sequence@number \relax
-% \end{macrocode}
-% But before aborting we give some information on why we
-% failed. This has to come first since we change |\curr@col@count|
-% below.
-% \begin{macrocode}
-%<*progress>
- \progress@failed{top~ callout~
- \the\count@\space <~ \returned@sequence@number
- \space last~ float~ put~ in~ top~
- of~ column~ \the\curr@col@count}
-%</progress>
- \@failtrue
- \global\curr@col@count\col@count
- \let\@elt\@gobble
-%<*trace>
- \tr@ce{Failed:~(#1)~ top~ callout~
- \the\count@\space <~ \returned@sequence@number
- \space last~float~put~in~top}
- \else
- \tr@ce{OK:~(#1)~ top~ callout~
- \the\count@\space >=~ \returned@sequence@number
- \space last~float~put~in~top}
-%</trace>
- \fi
- \fi
- \fi
-%<*trace>
- \@tracepop{check@callout@after}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \subsection{Checking bottom float footnote constraints}
-%
-% In |\grab@column@or|, the output routine that grabs a single column
-% during a trial, we have the command |\check@some@constraints| which
-% allows to check some constraints and if they aren't met is supposed
-% to set the switch |@fail|.
-%
-% This can, for example be used to implement a constraint that bottom
-% floats are only allowed if there are no footnotes in the current
-% column.\footnote{At the moment this is restricted to single column
-% floats. Spanning floats are always allowed.}
-%
-% \begin{macro}{\check@float@footnote@forbidden}
-% The command |\check@float@footnote@forbidden| is the
-% implementation for |\check@some@constraints| that prevents bottom
-% floats if the current column contains footnotes.
-% \begin{macrocode}
-\def\check@float@footnote@forbidden{
-%<*trace>
- \@tracepush{check@float@footnote@forbidden}
-%</trace>
- \ifvoid\footins
- \else
-% \end{macrocode}
-% If the current column contains footnotes and we have bottom
-% floats we fail. First we check if there is a bottom area for this
-% column defined if not we pretend there is an empty one.
-% \begin{macrocode}
- \expandafter
- \ifx \csname area@b\the\curr@col@count1\endcsname
- \relax
- \global\expandafter\let
- \csname area@b\the\curr@col@count1\endcsname
- \@empty
- \fi
-% \end{macrocode}
-% Then we check if the bottom area is empty and fail otherwise
-% \begin{macrocode}
- \expandafter
- \ifx \csname area@b\the\curr@col@count1\endcsname
- \@empty
-%<*trace>
- \tr@ce{OK:~ no~ old~ bottom~ floats}
-%</trace>
- \else
-%<*progress>
- \progress@failed{old~bottom~floats:~ \expandafter\meaning
- \csname area@b\the\curr@col@count1\endcsname}
-%</progress>
-%<*trace>
- \tr@ce{Failed:~ old~bottom~floats:~ \expandafter\meaning
- \csname area@b1\the\curr@col@count\endcsname}
-%</trace>
- \@failtrue
- \fi
-% \end{macrocode}
-% Finally we test if the float we are try to place is going onto a
-% bottom area.
-%
-% However we only do this if the float doesn't span.\footnote{Extend?}
-% \begin{macrocode}
- \ifnum \this@area@span@number = \@ne
-%<*trace>
- \tr@ce{this@area,column:~ \this@area,~\the\curr@col@count}
-%</trace>
- \if b \this@area@type
- \ifnum \this@area@col@number = \curr@col@count
- \@failtrue
- \fi
- \fi
- \fi
- \if@fail
-%<*progress>
- \progress@failed{column~ \the\curr@col@count\space
- contains~ footnotes~ and~ bottom~ floats}
-%</progress>
-%<*trace>
- \tr@ce{Failed:~ column~ \the\curr@col@count\space
- contains~ footnotes~ and~ bottom~ floats}
-%</trace>
- \global\curr@col@count\col@count
- \fi
- \fi
-%<*trace>
- \@tracepop{check@float@footnote@forbidden}
-%</trace>
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\check@float@footnote@none}
-%
-% This is the implementation for |\check@some@constraints| if we
-% don't care about mixing footnotes and bottom floats. The reason
-% |\@empty| rather than |\relax| is used is that otherwise the
-% |\ifx| test in the template would fail.
-% \begin{macrocode}
-\let\check@float@footnote@none\@empty
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-%
-%
-% \endinput
-\endinput
-%
-% $Log: xo-place.dtx,v $
-% Revision 1.37 2000/08/11 07:14:28 latex3
-% added header
-%
-% Revision 1.36 2000/08/11 06:49:47 latex3
-% untabify
-%
-% Revision 1.35 2000/08/11 06:45:03 latex3
-% only partially tighten float constraints after passing a flush point
-%
-% Revision 1.34 2000/07/23 21:03:19 latex3
-% removed obsolete commentary
-%
-% Revision 1.33 2000/07/21 13:53:17 latex3
-% more renaming for float sequence class concept
-%
-% Revision 1.32 2000/07/18 21:06:36 latex3
-% introduced float sequence classes
-%
-% Revision 1.31 2000/07/12 17:24:53 latex3
-% more support for grids
-%
-% Revision 1.30 2000/07/10 21:00:57 latex3
-% support for grid typesetting
-%
-% Revision 1.29 2000/07/04 19:42:05 latex3
-% fix tracing for GRID stuff
-%
-% Revision 1.28 2000/07/01 15:57:25 latex3
-% use \update@this@area@columns
-% integrate code to support grid design (first draft)
-%
-% Revision 1.27 2000/06/29 17:18:14 latex3
-% introduced \setup@this@area
-%
-% Revision 1.26 2000/06/26 15:03:40 latex3
-% making prototype for \pagesetup@float@area@sep
-%
-% Revision 1.25 2000/06/22 20:08:09 latex3
-% renamed some macros to get them more uniform
-%
-% Revision 1.24 2000/06/22 11:01:24 latex3
-% When substracting heights from columns do this for the columns spanned
-% by the area. Don't use the span number from the float (in the future
-% this might be smaller than the span number of the area)
-%
-% Revision 1.23 2000/06/19 21:38:04 latex3
-% fixed flush point handling when deferring
-%
-% Revision 1.22 2000/06/18 19:03:53 latex3
-% added "Checking bottom float footnote constraints" from xo-page
-%
-% Revision 1.21 2000/06/16 11:20:15 latex3
-% rename \construct@and@test@col@height to \construct@and@test@col@ht
-% rename \construct@and@test@col@heights to \construct@and@test@col@hts
-% rename \cl@height1 to \@col@ht@1 (etc)
-%
-% Revision 1.20 2000/06/16 11:06:37 latex3
-% support float-callout-span-constraint
-%
-% Revision 1.19 2000/06/16 07:49:49 latex3
-% improve progress info
-%
-% Revision 1.18 2000/06/15 17:49:02 latex3
-% moved macros from xo-page into here since they deal with placement
-%
-% Revision 1.17 2000/06/15 15:23:32 latex3
-% implemented new semantics for area names
-%
-% Revision 1.16 2000/06/13 20:48:18 latex3
-% docu update
-%
-% Revision 1.15 2000/06/06 12:50:40 latex3
-% before attempting fuzzy flushpoints
-%
-% Revision 1.14 2000/05/03 18:57:56 latex3
-% provide \construct@and@test@col@heights subroutine
-%
-% fix problem that deferred floats would not stop other floats going
-% into earlier areas
-%
-% Revision 1.13 2000/03/31 17:08:50 latex3
-% avoid using up too much input stack by using tail recursion in
-% strategic places (tmp fix)
-%
-% Revision 1.12 2000/03/26 21:04:03 latex3
-% some renaming of macros
-%
-% Revision 1.11 2000/03/24 15:34:27 latex3
-% version that starts supporting spans (still a hack yet)
-%
-% Revision 1.10 2000/03/22 15:52:37 latex3
-% some normalisations of names
-% first go at spans (tmp version)
-%
-% Revision 1.9 2000/03/17 20:23:11 latex3
-% more fixes to flushing (looks good now)
-%
-% Revision 1.8 2000/03/16 10:28:29 latex3
-% partial and full flush working for the first time
-%
-% Revision 1.7 2000/03/05 19:31:56 latex3
-% some renaming
-% extend to multiple columns (6 max right now)
-% fix defer logic: when flushseen don't defer immediately
-%
-% Revision 1.6 2000/02/27 15:12:45 david
-% *** empty log message ***
-%
-% Revision 1.5 2000/02/27 11:27:45 david
-% first attempt at flush floats
-%
-% Revision 1.4 2000/02/26 18:24:21 david
-% renaming, and using \initialise@areas
-%
-% Revision 1.3 2000/02/16 13:40:09 latex3
-% added 3col support
-%
-% Revision 1.2 2000/02/16 10:10:43 latex3
-% added documentation
-% added test for float area size after adding float
-%
-% Revision 1.1 2000/02/13 22:27:39 latex3
-% Initial revision
-%
diff --git a/Master/texmf-dist/source/latex3/xor/xo-trace.dtx b/Master/texmf-dist/source/latex3/xor/xo-trace.dtx
deleted file mode 100644
index 435994f1682..00000000000
--- a/Master/texmf-dist/source/latex3/xor/xo-trace.dtx
+++ /dev/null
@@ -1,140 +0,0 @@
-% \iffalse
-%%
-%% (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.
-%%
-% \fi
-%
-
-% \begin{macrocode}
-\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 $
-% \end{macrocode}
-%
-% Ignore white space in this package.
-% \begin{macrocode}
-\IgnoreWhiteSpace
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-\def\showmarks{
- \toks@\expandafter{\topmark}\typeout{topmark:\the\toks@}
- \toks@\expandafter{\firstmark}\typeout{firstmark:\the\toks@}
- \toks@\expandafter{\botmark}\typeout{botmark:\the\toks@}
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\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
- }
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*trace>
-\def \@tracemessage #1{%
- \begingroup\let\@elt\space\typeout{:~\tf@indent~#1}\endgroup}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\let\tf@indent\@empty
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@tracepush#1{%
- \tr@ce{entering~#1}
- \xdef\tf@indent{-\tf@indent}}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@tracepop#1{%
- \tr@ce{leaving~#1}
- \xdef\tf@indent{\expandafter\@gobble\tf@indent}}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def \tracefloats{\global\let \tr@ce \@tracemessage}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def \notrace {\global\let \tr@ce \@gobble}
-%\notrace
-% \end{macrocode}
-%
-% \begin{macrocode}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\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}
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\tracefloats
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def \@traceval #1{\tr@ce{\string #1~=~\the #1}}
-%</trace>
-%<-trace>\let\tr@ce\@gobble
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*progress>
-\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}}
-%</progress>
-% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex3/xor/xo.ins b/Master/texmf-dist/source/latex3/xor/xo.ins
deleted file mode 100644
index be726b76dfa..00000000000
--- a/Master/texmf-dist/source/latex3/xor/xo.ins
+++ /dev/null
@@ -1,40 +0,0 @@
-%
-% $Id: xo.ins,v 1.4 2000/08/05 09:43:49 latex3 Exp $
-
-\input docstrip
-\keepsilent
-\askforoverwritefalse
-
-\preamble
-
-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.
-\endpreamble
-
-
-
-\generate{%
- \file{xmarks.sty}{\from{xmarks.dtx}{package}}
- \file{xo-alloc.sty}{\from{xo-alloc.dtx}{package}}
- \file{xo-capt.sty}{\from{xo-capt.dtx}{package}}
- \file{xo-final.sty}{\from{xo-final.dtx}{package}}
- \file{xo-float.sty}{\from{xo-float.dtx}{package}}
- \file{xo-grid.sty}{\from{xo-grid.dtx}{package}}
- \file{xo-here.sty}{\from{xo-here.dtx}{package}}
- \file{xo-new.sty}{\from{xo-new.dtx}{package}}
- \file{xo-or.sty}{\from{xo-or.dtx}{package}}
- \file{xo-page.sty}{\from{xo-page.dtx}{package}}
- \file{xo-place.sty}{\from{xo-place.dtx}{package}}
- \file{xo-trace.sty}{\from{xo-trace.dtx}{package,trace}}
- \file{xoutput.sty}{\from{xoutput.dtx}{package}}
-}
-
-\endbatchfile
-
-% \file{xo-implement.sty}{\from{xo-implement-generic-algorithm.dtx}{package}}
diff --git a/Master/texmf-dist/source/latex3/xor/xoprogress.ins b/Master/texmf-dist/source/latex3/xor/xoprogress.ins
deleted file mode 100644
index 307853273dd..00000000000
--- a/Master/texmf-dist/source/latex3/xor/xoprogress.ins
+++ /dev/null
@@ -1,40 +0,0 @@
-%
-% $Id: xoprogress.ins,v 1.3 2000/08/04 15:54:51 latex3 Exp $
-
-\input docstrip
-\keepsilent
-\askforoverwritefalse
-
-\preamble
-
-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.
-\endpreamble
-
-
-
-\generate{%
- \file{xmarks.sty}{\from{xmarks.dtx}{package}}
- \file{xo-alloc.sty}{\from{xo-alloc.dtx}{package,progress}}
- \file{xo-capt.sty}{\from{xo-capt.dtx}{package,progress}}
- \file{xo-final.sty}{\from{xo-final.dtx}{package,progress}}
- \file{xo-float.sty}{\from{xo-float.dtx}{package,progress}}
- \file{xo-grid.sty}{\from{xo-grid.dtx}{package,progress}}
- \file{xo-here.sty}{\from{xo-here.dtx}{package,progress}}
- \file{xo-new.sty}{\from{xo-new.dtx}{package,progress}}
- \file{xo-or.sty}{\from{xo-or.dtx}{package,progress}}
- \file{xo-page.sty}{\from{xo-page.dtx}{package,progress}}
- \file{xo-place.sty}{\from{xo-place.dtx}{package,progress}}
- \file{xo-trace.sty}{\from{xo-trace.dtx}{package,progress,trace}}
- \file{xoutput.sty}{\from{xoutput.dtx}{package,progress}}
-}
-
-\endbatchfile
-
-% \file{xo-implement.sty}{\from{xo-implement-generic-algorithm.dtx}{package,progress}}
diff --git a/Master/texmf-dist/source/latex3/xor/xotrace.ins b/Master/texmf-dist/source/latex3/xor/xotrace.ins
deleted file mode 100644
index 7c5f971dcce..00000000000
--- a/Master/texmf-dist/source/latex3/xor/xotrace.ins
+++ /dev/null
@@ -1,40 +0,0 @@
-%
-% $Id: xotrace.ins,v 1.4 2000/08/04 15:47:48 latex3 Exp $
-
-\input docstrip
-\keepsilent
-\askforoverwritefalse
-
-\preamble
-
-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.
-\endpreamble
-
-
-
-\generate{%
- \file{xmarks.sty}{\from{xmarks.dtx}{package,trace}}
- \file{xo-alloc.sty}{\from{xo-alloc.dtx}{package,trace}}
- \file{xo-capt.sty}{\from{xo-capt.dtx}{package,trace}}
- \file{xo-final.sty}{\from{xo-final.dtx}{package,trace}}
- \file{xo-float.sty}{\from{xo-float.dtx}{package,trace}}
- \file{xo-grid.sty}{\from{xo-grid.dtx}{package,trace}}
- \file{xo-here.sty}{\from{xo-here.dtx}{package,trace}}
- \file{xo-new.sty}{\from{xo-new.dtx}{package,trace}}
- \file{xo-or.sty}{\from{xo-or.dtx}{package,trace}}
- \file{xo-page.sty}{\from{xo-page.dtx}{package,trace}}
- \file{xo-place.sty}{\from{xo-place.dtx}{package,trace}}
- \file{xo-trace.sty}{\from{xo-trace.dtx}{package,trace}}
- \file{xoutput.sty}{\from{xoutput.dtx}{package,trace}}
-}
-
-\endbatchfile
-
-% \file{xo-implement.sty}{\from{xo-implement-generic-algorithm.dtx}{package,trace}}
diff --git a/Master/texmf-dist/source/latex3/xor/xoutput.drv b/Master/texmf-dist/source/latex3/xor/xoutput.drv
deleted file mode 100644
index ee33688cd25..00000000000
--- a/Master/texmf-dist/source/latex3/xor/xoutput.drv
+++ /dev/null
@@ -1,144 +0,0 @@
-\def\rcsdata#1: #2,v #3${
- \def\rcsdata{#2 #3}}
-\rcsdata$Id: xoutput.drv,v 1.11 2000/08/04 16:42:11 latex3 Exp $
-
-\documentclass[a4paper]{ltxdoc}
-
-\usepackage{hyperref}
-
-%\usepackage{trace,xoutput}
-
-\CodelineIndex
-\EnableCrossrefs
-
-\setcounter{IndexColumns}{2}
-
-\DoNotIndex{\@elt,\@ne,\@tracepush,\@tracepop,\@empty,\@namedef}
-\DoNotIndex{\@spaces}
-\DoNotIndex{\advance,\aftergroup,\begingroup,\bgroup,\box,\chardef,\copy,\count,\countdef}
-\DoNotIndex{\count@,\csname,\def,\do,\dimen,\dimendef\endgroup,\egroup,\else,\endcsname,\expandafter}
-\DoNotIndex{\fi,\gdef,\global,\if,\ifdim,\ifeof,\ifnum,\iftrue,\ifx}
-\DoNotIndex{\immediate,\let,\long,\m@ne,\mathchardef,\meaning,\message,\multiply}
-\DoNotIndex{\noexpand,\read,\relax,\repeat,\setbox,\space,\string\the}
-\DoNotIndex{\toks,\tr@ce,\tw@,\unskip,\unvbox,\unvcopy,\vadjust}
-\DoNotIndex{\value,\vbox,\voidb@x,\vrule,\vskip,\vss,\wlog,\write,\z@}
-\DoNotIndex{\hbox,\hrule,\ht,\dp,\wd,\ifinner}
-\DoNotIndex{\RequirePackage,\typeout,\xdef,\tracingall}
-
-
-\begin{document}
-
-\title{A new output routine for \LaTeX\thanks{\rcsdata}}
-\author{\copyright\ Frank Mittelbach, David Carlisle and Chris Rowley}
-\date{Started in 1996--7; first real implementation in Feb 2000
-}
-
-\maketitle
-\tableofcontents
-
-
-\iffalse
-
-\section{What has been done}
-
-To get a rough estimate of the work involved (and make me feel good)
-look at the rcs change lines per file of the output routine
-(as of June 21 2000) using:
-\begin{verbatim}
- for f in xo*dtx xo*tex ; do rlog $f ; done | \
- awk -f get-changes.awk |sort
-\end{verbatim}
-
-\begin{scriptsize}
-\begin{verbatim}
-author: # changes # total lines # added lines # plus lines # minus lines
-car2; 4 1.84332% 1907 7.21065% 773 7.97977% 1340 7.41684% -567 6.76611%
-david; 51 23.5023% 3181 12.0278% 1935 19.9752% 2558 14.1584% -623 7.43437%
-frank; 162 74.6544% 21359 80.7615% 6979 72.045% 14169 78.4248%
--7190 85.7995%
-\end{verbatim}
-\end{scriptsize}
-
-\fi
-
-\section{xoutput}
-\DocInput{xoutput.dtx}
-
-\section{Output Routine Tracing}
-\DocInput{xo-trace.dtx}
-
-\newpage
-\section{Output Routines}
-\DocInput{xo-or.dtx}
-
-\newpage
-\section{Interfacing Here Points}
-\DocInput{xo-here.dtx}
-
-\newpage
-\section{Float Placement Algorithm}
-\DocInput{xo-place.dtx}
-
-\newpage
-\section{Page Makeup}
-\DocInput{xo-final.dtx}
-
-\newpage
-\section{Page Setup Templates}
-\DocInput{xo-page.dtx}
-
-\newpage
-\section{Float Environments}
-\DocInput{xo-float.dtx}
-
-\section{Captions}
-\DocInput{xo-capt.dtx}
-
-\section{Allocations}
-\DocInput{xo-alloc.dtx}
-
-\section{Redefinitions for Grid Design}
-\DocInput{xo-grid.dtx}
-
-\section{New stuff that needs merging (or cleanup)}
-\DocInput{xo-new.dtx}
-
-\newpage
-
-\PrintIndex
-
-\typeout{=====================================================================}
-\typeout{}
-\typeout{To get proper index run the document using:}
-\typeout{}
-\typeout{latex xoutput.drv ; makeindex -s gind.ist xoutput ; latex xoutput.drv}
-\typeout{}
-\typeout{=====================================================================}
-
-\end{document}
-
-% $Log: xoutput.drv,v $
-% Revision 1.11 2000/08/04 16:42:11 latex3
-% *** empty log message ***
-%
-% Revision 1.10 2000/07/30 18:06:52 latex3
-% added xo-grid.dtx
-%
-% Revision 1.9 2000/06/15 09:34:37 latex3
-% use .dtx not .sty
-%
-% Revision 1.8 2000/04/21 19:09:14 latex3
-% added xo-here
-%
-% Revision 1.7 2000/04/07 07:29:56 latex3
-% added index
-%
-% Revision 1.6 2000/03/16 10:28:29 latex3
-% adding index
-%
-% Revision 1.5 2000/03/09 14:44:31 latex3
-% *** empty log message ***
-%
-% Revision 1.4 2000/03/05 19:42:59 latex3
-% new sections
-%
diff --git a/Master/texmf-dist/source/latex3/xor/xoutput.dtx b/Master/texmf-dist/source/latex3/xor/xoutput.dtx
deleted file mode 100644
index 6f0467022cc..00000000000
--- a/Master/texmf-dist/source/latex3/xor/xoutput.dtx
+++ /dev/null
@@ -1,78 +0,0 @@
-% \iffalse
-%%
-%% (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.
-%%
-% \fi
-%
-
-% \begin{macrocode}
-\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 $
-% \end{macrocode}
-%
-% \begin{macrocode}
-\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
-}
-% \end{macrocode}
-%
-
-
-% Ignore white space in this package.
-% \begin{macrocode}
-\IgnoreWhiteSpace
-% \end{macrocode}
-%
-%
-%
-%
-% \endinput
-\endinput
-%
-% $Log: xoutput.dtx,v $
-% Revision 1.13 2000/08/11 07:14:49 latex3
-% added header
-%
-% Revision 1.12 2000/07/18 21:05:43 latex3
-% removed initialisations
-%
-% Revision 1.11 2000/07/12 19:44:58 latex3
-% removed some commented out code
-%
-% Revision 1.10 2000/06/13 21:22:29 latex3
-% turned into a dtx file
-%
-% Revision 1.9 2000/04/21 19:06:01 latex3
-% removed old initialisation
-% added xo-here
-%
-% Revision 1.8 2000/03/31 17:00:18 latex3
-% fixed rcs log
-%
-% Revision 1.7 2000/03/22 15:53:39 latex3
-% added xparse
-%
-% Revision 1.6 2000/02/26 18:26:26 david
-% xo-alloc and xo-new added
-%
-% Revision 1.5 2000/02/13 21:58:07 latex3
-% oops, my rcs again (probably something that will only show up here
-% but to ensure that everything is fine I add an \endinput)
-%
-% Revision 1.4 2000/02/13 21:33:05 latex3
-% added xo-place (float trial placement tests)
-%
diff --git a/Master/texmf-dist/tex/latex3/xor/xmarks.sty b/Master/texmf-dist/tex/latex3/xor/xmarks.sty
deleted file mode 100644
index c452a6fd060..00000000000
--- a/Master/texmf-dist/tex/latex3/xor/xmarks.sty
+++ /dev/null
@@ -1,227 +0,0 @@
-%%
-%% 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
deleted file mode 100644
index fe85bf2bbbf..00000000000
--- a/Master/texmf-dist/tex/latex3/xor/xo-alloc.sty
+++ /dev/null
@@ -1,73 +0,0 @@
-%%
-%% 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
deleted file mode 100644
index 07326f39a58..00000000000
--- a/Master/texmf-dist/tex/latex3/xor/xo-capt.sty
+++ /dev/null
@@ -1,157 +0,0 @@
-%%
-%% 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
deleted file mode 100644
index 56c6b90469c..00000000000
--- a/Master/texmf-dist/tex/latex3/xor/xo-final.sty
+++ /dev/null
@@ -1,435 +0,0 @@
-%%
-%% 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
deleted file mode 100644
index 8fa26b5b30d..00000000000
--- a/Master/texmf-dist/tex/latex3/xor/xo-float.sty
+++ /dev/null
@@ -1,339 +0,0 @@
-%%
-%% 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
deleted file mode 100644
index 705d211a5e1..00000000000
--- a/Master/texmf-dist/tex/latex3/xor/xo-grid.sty
+++ /dev/null
@@ -1,195 +0,0 @@
-%%
-%% 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
deleted file mode 100644
index 9bfb9cd39ca..00000000000
--- a/Master/texmf-dist/tex/latex3/xor/xo-here.sty
+++ /dev/null
@@ -1,142 +0,0 @@
-%%
-%% 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
deleted file mode 100644
index e55bf2af884..00000000000
--- a/Master/texmf-dist/tex/latex3/xor/xo-new.sty
+++ /dev/null
@@ -1,303 +0,0 @@
-%%
-%% 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
deleted file mode 100644
index 418b9fbe118..00000000000
--- a/Master/texmf-dist/tex/latex3/xor/xo-or.sty
+++ /dev/null
@@ -1,1251 +0,0 @@
-%%
-%% 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
deleted file mode 100644
index 51845c532ae..00000000000
--- a/Master/texmf-dist/tex/latex3/xor/xo-page.sty
+++ /dev/null
@@ -1,283 +0,0 @@
-%%
-%% 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
deleted file mode 100644
index 31018b431e4..00000000000
--- a/Master/texmf-dist/tex/latex3/xor/xo-place.sty
+++ /dev/null
@@ -1,422 +0,0 @@
-%%
-%% 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
deleted file mode 100644
index 8853935f57b..00000000000
--- a/Master/texmf-dist/tex/latex3/xor/xo-trace.sty
+++ /dev/null
@@ -1,104 +0,0 @@
-%%
-%% 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
deleted file mode 100644
index ac806d01623..00000000000
--- a/Master/texmf-dist/tex/latex3/xor/xoutput.sty
+++ /dev/null
@@ -1,44 +0,0 @@
-%%
-%% 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'.