diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/lamstex/inputs/islands.tex |
Initial commit
Diffstat (limited to 'macros/lamstex/inputs/islands.tex')
-rw-r--r-- | macros/lamstex/inputs/islands.tex | 579 |
1 files changed, 579 insertions, 0 deletions
diff --git a/macros/lamstex/inputs/islands.tex b/macros/lamstex/inputs/islands.tex new file mode 100644 index 0000000000..f23b835640 --- /dev/null +++ b/macros/lamstex/inputs/islands.tex @@ -0,0 +1,579 @@ +\catcode`\@=11 +\def\Figureproofing{\figproofing@true} +\def\noFigureproofing{\figproofing@false} +\def\Hbyw#1{\global\Hby@true\hbyw\vsize{#1}} +\def\hbyw#1#2{% + \hbox{% + \ifHby@ + \else + \iffigproofing@ + \setbox\z@\vbox{\hrule\width5\p@}\ht\z@\z@ + \vbox to#1{\hrule\height5\p@\width.4\p@\vfil\hrule\height5\p@\width.4\p@}% + \kern-.4\p@\rlap{\copy\z@}\raise#1\hbox{\rlap{\copy\z@}}% + \fi + \fi + \vbox to#1{\hbox to#2{}\vfil}% + \ifHby@ + \else + \iffigproofing@ + \vbox to#1{\hrule\height5\p@\width.4\p@\vfil\hrule\height5\p@\width.4\p@}% + \kern-.4\p@\llap{\copy\z@}\raise#1\hbox{\llap{\boxz@}}% + \fi + \fi}} +\def\island@@@P{\csname\exxx@\islandtype@ @P\endcsname} +\def\island@@@Q{\csname\exxx@\islandtype@ @Q\endcsname} +\def\island@@@S{\csname\exxx@\islandtype@ @S\endcsname} +\def\island@@@N{\csname\exxx@\islandtype@ @N\endcsname} +\def\island@@@F{\csname\exxx@\islandtype@ @F\endcsname} +\def\island@@@C{\csname island@C\islandclass@\endcsname} +\def\island{% + \ifplace@ + \DN@{\let\islandclass@\empty\def\islandtype@{\island}\FN@\island@}% + \else + \long\DN@##1\endisland{\Err@{\noexpand\island must be used after some + type of \string\...place}}% + \fi + \next@} +\def\island@{\ifx\next\c\let\next@\island@c\else + \DN@{\FN@\island@@}\fi\next@} +\def\island@@{\ifcat\bgroup\noexpand\next\let\next@\island@@@\else + \DN@{\Err@{\noexpand\island must be followed by a {prefix} for + \string\caption's}}\fi\next@} +\def\island@@@#1{\def\captionprefix@{#1}\captioncount@\z@ + \global\setbox\islandbox@\vbox\bgroup} +\def\island@c\c#1{% + \ifplace@ + \DN@{\def\islandclass@{#1}% + \expandafter\ifx\csname island@C#1\endcsname\relax + \expandafter\newcount@\csname island@C#1\endcsname + \global\csname island@C#1\endcsname\z@\fi + \FNSS@\island@c@}% + \else + \DN@{\edef\next@{\long\def\noexpand\next@########1\expandafter\noexpand + \csname end\exxx@\islandtype@\endcsname{\noexpand\Err@{\noexpand\noexpand + \expandafter\noexpand + \islandtype@ must be used after some type of \noexpand\string + \noexpand\...place}}}\next@\next@}% + \fi + \next@} +\def\island@c@{% + \ifcat\bgroup\noexpand\next + \let\next@\island@c@@ + \else + \DN@{\Err@{\noexpand\island\string\c{\expandafter\string\islandclass@} must + be followed by a {prefix} for \string\caption's}}% + \fi\next@} +\def\island@c@@#1{\def\captionprefix@{#1}% + \captioncount@\z@\global\setbox\islandbox@\vbox\bgroup} +\def\caption{% + \ifnum\captioncount@=\z@ + \ifnopunct@ + \DN@{\egroup\nopunct@true}% + \else + \let\next@\egroup + \fi + \else + \let\next@\relax + \fi + \next@ + \advance\captioncount@\@ne + \FN@\caption@} +\def\caption@{\ifx\next"\expandafter\caption@q\else\expandafter\caption@@\fi} +\def\caption@q"#1"{\quoted@true + {\noexpands@ + \let\pre\island@@@P\let\post\island@@@Q + \let\style\island@@@S\let\numstyle\island@@@N + \Qlabel@{#1}\let\style\relax\xdef\Qlabel@@@@{#1}}% + \finishcaption@} +\def\caption@@{\quoted@false + \global\advance\island@@@C\@ne + {\noexpands@ + \xdef\Thelabel@@@{\number\island@@@C}% + \xdefThelabel@\island@@@N + \xdef\Thelabel@@@@{\island@@@P\Thelabel@\island@@@Q}% + \xdefThelabel@@\island@@@S + \xdef\Thepref@{\Thelabel@@@@}}% + \finishcaption@} +\long\def\widerthanisland@#1#2#3{\test@true\setbox\z@\vbox{\hsize\maxdimen + \noindent@@\captionformat@{#1}{#2}{#3}\par\setboxzl@}% + \ifdim\wdz@=\z@ + \global\setbox\captionbox@\hbox{\noset@\unlabel@ + \captionformat@{#1}{#2}{#3}}% + \ifdim\wd\captionbox@>\wd\islandbox@\else\test@false\fi + \fi} +\long\def\captionformat@@#1#2#3{\widerthanisland@{#1}{#2}{#3}% + \iftest@ + \global\setbox\captionbox@\vbox{\hsize\wd\islandbox@ + \vskip-\parskip\noindent@@\noset@\unlabel@ + \captionformat@{#1}{#2}{#3}\par}% + \else + \global\setbox\captionbox@ + \hbox to\wd\islandbox@{\hfil\box\captionbox@\hfil}% + \fi} +\long\def\finishcaption@#1{\def\entry@{#1}% + {\locallabel@ + \captionformat@@ + {\expandafter\ignorespaces\captionprefix@\unskip}% + {\ifx\thelabel@@\empty\unskip\else\thelabel@@\fi}% + {\ignorespaces#1\unskip}% + \ifnum\captioncount@=\@ne + \global\setbox\islandbox@\vbox{\ticwrite@\vbox{\box\islandbox@}}% + \global\setbox\Captionbox@\vbox{\box\captionbox@}% + \else + \global\setbox\islandbox@\vbox{\unvbox\islandbox@\setboxzl@ + \ticwrite@\boxz@}% + \global\setbox\Captionbox@\vbox{\unvbox\Captionbox@ + \smallskip\box\captionbox@}% + \fi}% + \nopunct@false\nospace@false} +\def\Sixtic@{\ifx\macdef@\empty\else + \DN@##1##2\next@{\def\macdef@{##1##2}}% + \expandafter\next@\macdef@\next@ + \edef\next@ + {\noexpand\six@\tic@\macdef@ + \space\space\space\space\space\space\space\space\space\space\space\space + \noexpand\six@}% + \next@\let\macdef@\relax\fi} +\def\ticwrite@{% + \iftoc@ + {\noexpands@\let\style\relax + \DN@{\island}% + \edef\next@{\write\tic@{% + \ifnopunct@\noexpand\noexpand\noexpand\nopunct\fi + \ifx\islandtype@\next@\noexpand\noexpand\noexpand\island + \noexpand\string\noexpand\c{\islandclass@}{\captionprefix@}% + {\QorThelabel@@@@}\else\noexpand\noexpand\expandafter\noexpand + \islandtype@{\QorThelabel@@@@}}\fi}% + \next@}% + \expandafter\unmacro@\meaning\entry@\unmacro@ + \Sixtic@ + \write\tic@{\noexpand\Page{\number\pageno}{\page@N}{\page@P}{\page@Q}^^J}% + \fi} +\def\Htrim@#1{% + \ifHby@ + \dimen@\vsize + \ifnum\captioncount@=\z@ + \else + \advance\dimen@-\ht\Captionbox@ + \advance\dimen@-#1% + \fi + \global\Hby@false + \dimen@ii\wd\islandbox@ + \global\setbox\islandbox@\vbox + {\unvbox\islandbox@\setboxzl@ + \vbox to\z@{\vss\boxz@}\nointerlineskip\hbyw\dimen@\dimen@ii}% + \global\Hby@true + \fi} +\def\iclasstest@#1{\DN@{#1}\ifx\next@\islandclass@ + \test@true\else\test@false\fi} +\def\endisland{\ifnum\captioncount@=\z@\expandafter\egroup\fi + \ifdata@ + \else + \iclasstest@{T}% + \iftest@ + {\rm\global\skipi@-\dp\strutbox}\global\advance\skipi@\bigskipamount + \Htrim@\skipi@ + \global\setbox\islandbox@\vbox + {\ifnum\captioncount@=\z@\else + \box\Captionbox@ + \nointerlineskip + \vskip\skipi@\fi + \box\islandbox@}% + \else + {\rm\global\skipi@\dp\strutbox}\global\advance\skipi@\medskipamount + \Htrim@\skipi@ + \global\setbox\islandbox@\vbox + {\box\islandbox@ + \ifnum\captioncount@=\z@\else + \nointerlineskip + \vskip\skipi@ + \box\Captionbox@ + \fi}% + \fi + \ifHby@ + \else + \dimen@\ht\islandbox@\advance\dimen@\dp\islandbox@ + \ifdim\dimen@>\vsize + \DN@{\island}% + \Err@{% + \ifx\islandtype@\next@\noexpand\island\else + \expandafter\noexpand\islandtype@\fi + \ifnum\captioncount@=\z@\else + with \noexpand\caption\fi + is larger than page}% + \ht\islandbox@=\vsize + \fi + \fi + \fi + \global\Hby@false\island@true} +\def\newisland#1\c#2#3{\define#1{}% + \iftoc@\immediate\write\tic@{\noexpand\newisland\noexpand#1% + \string\c{#2}{#3}^^J}\fi + \expandafter\def\csname\exstring@#1@S\endcsname{\island@S}% + \expandafter\def\csname\exstring@#1@N\endcsname{\island@N}% + \expandafter\def\csname\exstring@#1@P\endcsname{\island@P}% + \expandafter\def\csname\exstring@#1@Q\endcsname{\island@Q}% + \expandafter\def\csname\exstring@#1@F\endcsname{\island@F}% + \expandafter\def\csname end\exstring@#1\endcsname{\endisland}% + \expandafter + \ifx\csname island@C#2\endcsname\relax + \expandafter\newcount@\csname island@C#2\endcsname + \global\csname island@C#2\endcsname\z@ + \fi + \edef\next@{\noexpand\expandafter\noexpand\let\noexpand + \csname\exstring@#1@C\noexpand\endcsname + \csname island@C#2\endcsname}% + \next@ + \def#1{\def\islandtype@{#1}\island@c\c{#2}{#3}}} +\newisland\Figure\c{F}{Figure} +\newisland\Table\c{T}{Table} +\long\def\islandpairdata#1#2{{\data@true + \place@true + #1% + \global\setbox\islandboxi\box\islandbox@ + \global\setbox\captionboxi\box\Captionbox@ + #2% + \global\setbox\islandboxii\box\islandbox@ + \global\setbox\captionboxii\box\Captionbox@ + }} +\long\def\islandpairbox#1#2{\islandpairdata{#1}{#2}% + \dimen@\ht\captionboxi + \ifdim\ht\captionboxii>\dimen@\dimen@\ht\captionboxii\fi + \ifdim\dimen@>\z@ + \ifdim\ht\captionboxi<\dimen@ + \global\setbox\captionboxi\vbox to\dimen@{\unvbox\captionboxi\vfil}\fi + \ifdim\ht\captionboxii<\dimen@ + \global\setbox\captionboxii\vbox to\dimen@{\unvbox\captionboxii\vfil}\fi + \fi + \global\setbox\islandbox@\vbox + {\hbox to\hsize{\hfil\box\islandboxi\hfil\box\islandboxii\hfil}% + \ifdim\dimen@>\z@\nointerlineskip + {\rm\global\skipi@\dp\strutbox}\global\advance\skipi@\medskipamount + \vskip\skipi@ + \hbox to\hsize{\hfil\box\captionboxi\hfil\box\captionboxii\hfil}\fi}} +\long\def\islandpairboxa#1#2{\islandpairdata{#1}{#2}% + \dimen@\ht\captionboxi + \ifdim\ht\captionboxii>\dimen@\dimen@\ht\captionboxii\fi + \ifdim\dimen@>\z@ + \ifdim\ht\captionboxi<\dimen@ + \global\setbox\captionboxi\vbox to\dimen@{\vfil\unvbox\captionboxi}\fi + \ifdim\ht\captionboxii<\dimen@ + \global\setbox\captionboxii\vbox to\dimen@{\vfil\unvbox\captionboxii}\fi + \fi + \dimen@ii\ht\islandboxi + \ifdim\ht\islandboxii>\dimen@ii \dimen@ii\ht\islandboxii\fi + \ifdim\dimen@ii>\z@ + \ifdim\ht\islandboxi<\dimen@ii + \global\setbox\islandboxi\vbox to\dimen@ii{\box\islandboxi\vfil}\fi + \ifdim\ht\islandboxii<\dimen@ii + \global\setbox\islandboxii\vbox to\dimen@ii{\box\islandboxii\vfil}\fi + \fi + \global\setbox\islandbox@\vbox{\ifdim\dimen@>\z@ + \hbox to\hsize{\hfil\box\captionboxi\hfil\box\captionboxii\hfil}% + \nointerlineskip{\rm\global\skipi@-\dp\strutbox}% + \global\advance\skipi@\bigskipamount\vskip\skipi@\fi + \hbox to\hsize{\hfil\box\islandboxi\hfil\box\islandboxii\hfil}}} +\long\def\islandtripledata#1#2#3{{\data@true\place@true + #1% + \global\setbox\islandboxi\box\islandbox@ + \global\setbox\captionboxi\box\Captionbox@ + #2% + \global\setbox\islandboxii\box\islandbox@ + \global\setbox\captionboxii\box\Captionbox@ + #3% + \global\setbox\islandboxiii\box\islandbox@ + \global\setbox\captionboxiii\box\Captionbox@ + }} +\long\def\islandtriplebox#1#2#3{\islandtripledata{#1}{#2}{#3}% + \dimen@\ht\captionboxi + \ifdim\ht\captionboxii>\dimen@ \dimen@\ht\captionboxii\fi + \ifdim\ht\captionboxiii>\dimen@ \dimen@\ht\captionboxiii\fi + \ifdim\dimen@>\z@ + \ifdim\ht\captionboxi<\dimen@ + \global\setbox\captionboxi\vbox to\dimen@{\unvbox\captionboxi\vfil}\fi + \ifdim\ht\captionboxii<\dimen@ + \global\setbox\captionboxii\vbox to\dimen@{\unvbox\captionboxii\vfil}\fi + \ifdim\ht\captionboxiii<\dimen@ + \global\setbox\captionboxiii\vbox to\dimen@{\unvbox\captionboxiii\vfil}\fi + \fi + \global\setbox\islandbox@\vbox + {\hbox to\hsize{\hfil\box\islandboxi\hfil\box\islandboxii\hfil + \box\islandboxiii\hfil}% + \ifdim\dimen@>\z@\nointerlineskip + {\rm\global\skipi@\dp\strutbox}\global\advance\skipi@\medskipamount + \vskip\skipi@ + \hbox to\hsize{\hfil\box\captionboxi\hfil\box\captionboxii\hfil + \box\captionboxiii\hfil}\fi}} +\def\islandtripleboxa#1#2#3{\islandtripledata{#1}{#2}{#3}% + \dimen@\ht\captionboxi + \ifdim\ht\captionboxii>\dimen@ \dimen@\ht\captionboxii\fi + \ifdim\ht\captionboxiii>\dimen@ \dimen@\ht\captionboxiii\fi + \ifdim\dimen@>\z@ + \ifdim\ht\captionboxi<\dimen@ + \global\setbox\captionboxi\vbox to\dimen@{\vfil\unvbox\captionboxi}\fi + \ifdim\ht\captionboxii<\dimen@ + \global\setbox\captionboxii\vbox to\dimen@{\vfil\unvbox\captionboxii}\fi + \ifdim\ht\captionboxiii<\dimen@ + \global\setbox\captionboxiii\vbox to\dimen@{\vfil\unvbox\captionboxiii}\fi + \fi + \dimen@ii\ht\islandboxi + \ifdim\ht\islandboxii>\dimen@ii \dimen@ii\ht\islandboxii\fi + \ifdim\ht\islandboxiii>\dimen@ii \dimen@ii\ht\islandboxiii\fi + \ifdim\dimen@ii>\z@ + \ifdim\ht\islandboxi<\dimen@ii + \global\setbox\islandboxi\vbox to\dimen@ii{\box\islandboxi\vfil}\fi + \ifdim\ht\islandboxii<\dimen@ii + \global\setbox\islandboxii\vbox to\dimen@ii{\box\islandboxii\vfil}\fi + \ifdim\ht\islandboxiii<\dimen@ii + \global\setbox\islandboxiii\vbox to\dimen@ii{\box\islandboxiii\vfil}\fi + \fi + \global\setbox\islandbox@\vbox + {\ifdim\dimen@>\z@ + \hbox to\hsize{\hfil\box\captionboxi\hfil\box\captionboxii\hfil + \box\captionboxiii\hfil}% + \nointerlineskip{\rm\global\skipi@-\dp\strutbox}% + \global\advance\skipi@\bigskipamount\vskip\skipi@\fi + \hbox to\hsize{\hfil\box\islandboxi\hfil\box\islandboxii\hfil + \box\islandboxiii\hfil}}} +\def\Figurepair#1\and#2\endFigurepair{\island@true + \islandpairbox{\Figure#1\endFigure}{\Figure#2\endFigure}} +\def\Figuretriple#1\and#2\and#3\endFiguretriple{\island@true + \islandtriplebox{\Figure#1\endFigure}{\Figure#2\endFigure}% + {\Figure#3\endFigure}} +\def\Tablepair#1\and#2\endTablepair{\island@true + \islandpairboxa{\Table#1\endTable}{\Table#2\endTable}} +\def\Tabletriple#1\and#2\and#3\endTabletriple{\island@true + \islandtripleboxa{\Table#1\endTable}{\Table#2\endTable}% + {\Table#3\endTable}} +\def\place#1{\place@true\island@false + #1% + \ifisland@ + \box\islandbox@ + \else + \Err@{Whoa ... there's no \string\Figure, \string\Table, + etc., here}% + \fi + \place@false} +\def\storedim@{\global\setbox\topinsdims@ + \vbox{\hbox to\dimen@{}\unvbox\topinsdims@}} +\def\advancedimtopins@{% + \ifnum\pageno=\@ne + \else + \advance\dimen@\dimen\topins + \global\dimen\topins\dimen@ + \fi} +\def\Par{\par\global\csname Parprev1\endcsname\prevdepth + \global\Parcount@\@ne + \global\Par@true\global\let\Parlist@\empty + \global\setbox\Parbox@\vbox\bgroup\break} +\def\place@#1#2{% + \ifisland@ + \ifhmode + \ifPar@ + \ifnum\Parcount@>5 + \Err@{Only 5 \string\place's allowed per + \string\Par...\noexpand\endPar paragraph}% + \else + \expandafter\expandafter\expandafter + \global\expandafter\setbox + \csname Parfigbox\number\Parcount@\endcsname\box\islandbox@ + \global\advance\Parcount@\@ne + \xdef\Parlist@{\Parlist@#1}% + \fi + \else + \vadjust{#2}% + \fi + \else + #2% + \fi + \else + \Err@{Whoa ... there's no \string\Figure, + \string\Table, etc., here}% + \fi + \place@false} +\long\def\Aplace#1{\prevanish@ + \place@true\island@false + #1% + \place@ a\Aplace@ + \postvanish@} +\long\def\AAplace#1{\prevanish@\place@true\island@false + #1% + \place@ A\AAplace@ + \postvanish@} +\def\AAplace@{\AA@true\Aplace@\AA@false} +\def\Aplace@{\allowbreak + \dimen@=\ht\islandbox@ + \advance\dimen@\abovebotfigskip + \ht\islandbox@\dimen@ + \advance\dimen@\dp\islandbox@ + \storedim@ + \ifAA@ + \xdef\AAlist@{\AAlist@1}% + \advancedimtopins@ + \else + \xdef\AAlist@{\AAlist@0}% + \ifnum\topinscount@>\@ne\else\advancedimtopins@\fi + \fi + \insert\topins{\penalty\z@\splittopskip\z@\floatingpenalty\z@ + \box\islandbox@}% + \global\advance\topinscount@\@ne} +\long\def\Bplace#1{\prevanish@\place@true\island@false + #1% + \place@ b\Bplace@ + \postvanish@} +\def\Bplace@{\allowbreak + \ifnum\topinscount@=\z@ + \setbox\z@\vbox{\vbox to-\belowtopfigskip{}}% + \dimen@-\skip\topins + \ht\z@\dimen@ + \storedim@ + \advancedimtopins@ + \insert\topins{\boxz@}% + \global\advance\topinscount@\@ne + \xdef\AAlist@{\AAlist@0}% + \fi + \dimen@\ht\islandbox@ + \advance\dimen@\abovebotfigskip + \ht\islandbox@\dimen@ + \advance\dimen@\dp\islandbox@ + \storedim@ + \xdef\AAlist@{\AAlist@0}% + \ifnum\topinscount@>\@ne\else\advancedimtopins@\fi + \insert\topins{\penalty\z@\splittopskip\z@ + \floatingpenalty\z@ + \box\islandbox@}% + \global\advance\topinscount@\@ne} +\def\Place@#1#2{% + \ifisland@ + \ifhmode + \ifPar@ + \ifnum\Parcount@>5 + \Err@{Only 5 \string\place's allowed per + \string\Par...\noexpand\endPar paragraph}% + \else + \expandafter\expandafter\expandafter\global\expandafter\setbox + \csname Parfigbox\number\Parcount@\endcsname\box\islandbox@ + \global\advance\Parcount@\@ne + \xdef\Parlist@{\Parlist@#1}% + \vadjust{\break}% + \fi + \else + \Err@{\noexpand#2allowed only in a \string\Par...\noexpand\endPar + paragraph}% + \fi + \else + #2% + \fi + \else + \Err@{Who ... there's no \string\Figure, \string\Table, + etc., here}% + \fi + \place@false} +\long\def\Cplace#1{\prevanish@\place@true\island@false + #1% + \Place@ c\Cplace@ + \postvanish@} +\def\Cplace@{\allowbreak + \ifnum\topinscount@>\z@\else + \global\C@true\global\Cdim@\pagetotal\fi + \Aplace@} +\long\def\Mplace#1{\prevanish@\place@true\island@false + #1% + \Place@ m\Mplace@ + \postvanish@} +\long\def\MXplace#1{\prevanish@\place@true\island@false + #1% + \Place@ M\MXplace@ + \postvanish@} +\def\MXplace@{\MX@true\Mplace@\MX@false} +\def\Mplace@{\allowbreak + \dimen@\ht\islandbox@\advance\dimen@\dp\islandbox@ + \ifdim\pagetotal=\z@\else + \ifdim\lastskip<\abovebotfigskip\advance\dimen@\abovebotfigskip + \advance\dimen@-\lastskip\fi + \fi + \advance\dimen@\pagetotal + \ifdim\dimen@>\pagegoal + \Aplace@ + \else + \nointerlineskip + \ifdim\lastskip<\abovebotfigskip\removelastskip\vskip\abovebotfigskip\fi + \setbox\z@\vbox{\unvbox\islandbox@ + \breakisland@}% + \printisland@ + \ifnum\topinscount@=\z@ + \setbox\z@\vbox{\vbox to-\belowtopfigskip{}}% + \dimen@-\skip\topins + \ht\z@\dimen@ + \storedim@ + \advancedimtopins@ + \insert\topins{\boxz@}% + \global\advance\topinscount@\@ne + \xdef\AAlist@{\AAlist@0}% + \fi + \ifMX@ + \ifnum\topinscount@=\@ne + \setbox\z@\vbox{\vbox to-\abovebotfigskip{}}% + \ht\z@\z@ + \dimen@\z@ + \storedim@ + \advancedimtopins@ + \insert\topins{\boxz@}% + \global\advance\topinscount@\@ne + \xdef\AAlist@{\AAlist@0}% + \fi + \fi + \nointerlineskip + \vskip\belowtopfigskip + \fi} +\def\endPar{\egroup + \count@\@ne + {\vbadness\@M\vfuzz\maxdimen\splitmaxdepth\maxdimen\splittopskip\ht\strutbox + \setbox\z@\vsplit\Parbox@ to\ht\Parbox@ + \loop + \ifnum\count@<\Parcount@ + \expandafter\expandafter\expandafter\global\expandafter\setbox + \csname Parbox\number\count@\endcsname\vsplit\Parbox@ to\ht\Parbox@ + \count@@\count@\advance\count@@\@ne + \global\csname Parprev\number\count@@\endcsname + \dp\csname Parbox\number\count@\endcsname + \advance\count@\@ne + \repeat}% + \vskip\parskip + \count@\@ne + \def\nextv@##1##2\nextv@{\DN@{##1}\gdef\Parlist@{##2}}% + \loop + \ifnum\count@<\Parcount@ + \dimen@\csname Parprev\number\count@\endcsname + \advance\dimen@\ht\strutbox + \ifdim\dimen@<\baselineskip + \advance\dimen@-\baselineskip\vskip-\dimen@ + \else + \vskip\lineskip + \fi + \unvbox\csname Parbox\number\count@\endcsname + \global\setbox\islandbox@\box\csname Parfigbox\number\count@\endcsname + \expandafter\nextv@\Parlist@\nextv@ + \if a\next@\Aplace@\else + \if A\next@\AAplace@\else + \if b\next@\Bplace@\else + \if c\next@\Cplace@\else + \if m\next@\Mplace@\else + \if M\next@\MXplace@\fi\fi\fi\fi\fi\fi + \advance\count@\@ne + \repeat + \global\Par@false + \ifvoid\Parbox@ + \prevdepth\csname Parprev\number\count@\endcsname + \else + \dimen@\csname Parprev\number\count@\endcsname\advance\dimen@\ht\strutbox + \ifdim\dimen@<\baselineskip + \advance\dimen@-\baselineskip\vskip-\dimen@ + \else + \vskip\lineskip + \fi + \dimen@\dp\Parbox@ + \unvbox\Parbox@ + \prevdepth\dimen@ + \fi} +\catcode`\@=\active |