summaryrefslogtreecommitdiff
path: root/tex/context/base/page-set.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/page-set.mkiv')
-rw-r--r--tex/context/base/page-set.mkiv598
1 files changed, 278 insertions, 320 deletions
diff --git a/tex/context/base/page-set.mkiv b/tex/context/base/page-set.mkiv
index 45755436e..467f22493 100644
--- a/tex/context/base/page-set.mkiv
+++ b/tex/context/base/page-set.mkiv
@@ -13,9 +13,7 @@
% getnoflines vs getrawnoflines
-% This is a rather old mechanism and we can best keep it as it is. If it gets
-% replaced by a more modern solution, it will be an extra mechanism. So, we
-% only do some basic cleanup.
+% some day: cleanup and go etex
\writestatus{loading}{ConTeXt Page Macros / Column Sets}
@@ -46,95 +44,13 @@
\newif\ifenoughcolumncells
\newif\ifsomefreecolumncells
\newif\ifcolumnspread
-\newif\iftracecolumnset
-
-\newif\ifforcecolumnsetgrid \forcecolumnsetgridtrue
-\newif\ifcollectingsetcontent % never set
-\newif\ifcarryoverfootnotes %\carryoverfootnotestrue
-\newif\iflastcolumnfootnotes % never set \lastcolumnfootnotestrue
-\newif\ifintermediatefootnotes
-
-\newbox \b_page_set_preceding
-\newbox \b_page_set_trailing
-
-\newdimen \d_page_set_local_hsize
-\newconditional\c_page_set_width_set
-
-\installcorenamespace{columnsetgrid}
+\newif\iftracecolumnset % \tracecolumnsettrue
\def\columnmaxcells {75} % runtime
\def\columnmaxfreecells {0} % runtime
\def\columngaplimit {0} % {5}
-\def\page_set_cell #1#2{\csname \??columnsetgrid:\number#1:\number#2\endcsname}
-\def\page_set_cell_get#1#2{\box\csname \??columnsetgrid:\number#1:\number#2\endcsname}
-\def\page_set_cell_set#1#2{\global\setbox\csname\??columnsetgrid:\number#1:\number#2\endcsname}
-
-\def\page_set_cell_doifelse#1#2%
- {\relax
- \ifvoid\csname\??columnsetgrid:\number#1:\number#2\endcsname
- \expandafter\secondoftwoarguments
- \else
- \expandafter\firstoftwoarguments
- \fi}
-
-\def\page_set_cell_erase_grid % maybe dedicated loops ... make another loop when max's have changed
- {\bgroup
- \increment\columnmaxcells\relax
- \ifodd\realpageno \else
- \columnspreadfalse
- \fi
- \ifcolumnspread
- \page_set_cell_erase_grid_spread
- \else
- \page_set_cell_erase_grid_page
- \fi
- \page_set_cell_erase_grid_top
- \global\columnfirstcell\zerocount
- \global\columnlastcell \columnfirstcell
- \global\columnfreecells\columnfirstcell
- \egroup}
-
-\let\m_page_column_l\relax
-\let\m_page_column_r\relax
-
-\def\page_set_cell_erase_grid_spread
- {\dorecurse\nofcolumns
- {\let \m_page_column_l\recurselevel
- \edef\m_page_column_r{\the\numexpr\recurselevel+\lofcolumns}%
- \dostepwiserecurse \zerocount \columnmaxcells \plusone
- {\ifcsname\??columnsetgrid:\m_page_column_l:\recurselevel\endcsname
- \global\setbox\csname\??columnsetgrid:\m_page_column_l:\recurselevel\endcsname
- \ifcsname\??columnsetgrid:\m_page_column_r:\recurselevel\endcsname
- \box\csname\??columnsetgrid:\m_page_column_r:\recurselevel\endcsname
- \else
- \emptyhbox
- \expandafter\newbox\csname\??columnsetgrid:\m_page_column_r:\recurselevel\endcsname
- \fi
- \else
- \expandafter\newbox\csname\??columnsetgrid:\m_page_column_l:\recurselevel\endcsname
- \ifcsname\??columnsetgrid:\m_page_column_r:\recurselevel\endcsname
- \global\setbox\csname\??columnsetgrid:\m_page_column_l:\recurselevel\endcsname\box\csname\??columnsetgrid:\m_page_column_r:\recurselevel\endcsname
- \else
- \expandafter\newbox\csname\??columnsetgrid:\m_page_column_r:\recurselevel\endcsname
- \fi
- \fi}}}
-
-\def\page_set_cell_erase_grid_page
- {\dorecurse \tofcolumns
- {\let\m_page_column_l\recurselevel
- \dostepwiserecurse \zerocount \columnmaxcells \plusone
- {\ifcsname\??columnsetgrid:\m_page_column_l:\recurselevel\endcsname
- \global\setbox\csname\??columnsetgrid:\m_page_column_l:\recurselevel\endcsname\emptybox
- \else
- \expandafter\newbox\csname\??columnsetgrid:\m_page_column_l:\recurselevel\endcsname
- \fi}}}
-
-\def\page_set_cell_erase_grid_top
- {\dorecurse\tofcolumns
- {\global\setbox\csname\??columnsetgrid:\recurselevel:\columnmaxcells\endcsname\copy\placeholderboxa}}
-
-% % % %
+\def\@otr@{otr}
\def\OTRSETmakeupwidth{\innermakeupwidth}
@@ -144,6 +60,15 @@
\unexpanded\def\page_set_command_synchronize_side_floats
{\page_sides_forget_floats}
+\def\OTRSETgridcell #1#2{\csname \@otr@:\number#1:\number#2\endcsname}
+\def\OTRSETgetgridcell#1#2{\box\csname \@otr@:\number#1:\number#2\endcsname}
+\def\OTRSETsetgridcell#1#2{\global\setbox\csname\@otr@:\number#1:\number#2\endcsname}
+
+\long\def\OTRSETdoifcellelse#1#2%
+ {\relax\ifvoid\csname\@otr@:\number#1:\number#2\endcsname
+ \@EA\secondoftwoarguments\else\@EA\firstoftwoarguments
+ \fi}
+
% The following two macros are used to compensate for a switch in body fonts
% as in:
%
@@ -259,16 +184,64 @@
\relax % needed ! ! ! ! else lookahead over \fi and \@EA
\@EA\egroup\@EA\scratchdimen\the\!!dimena\relax}
+\def\columnerasegridboxes % maybe dedicated loops
+ {\bgroup
+ \increment\columnmaxcells\relax
+ \ifodd\realpageno
+ \else % we are on the other page
+ \columnspreadfalse
+ \fi
+ \ifcolumnspread
+ \dorecurse\nofcolumns
+ {\let\!!stringa\recurselevel
+ \scratchcounter\recurselevel \advance\scratchcounter\lofcolumns
+ \edef\!!stringb{\the\scratchcounter}%
+ \dostepwiserecurse \zerocount \columnmaxcells \plusone
+ {\ifcsname\@otr@:\!!stringa:\recurselevel\endcsname
+ \global\setbox\csname\@otr@:\!!stringa:\recurselevel\endcsname
+ \ifcsname\@otr@:\!!stringb:\recurselevel\endcsname
+ \box\csname\@otr@:\!!stringb:\recurselevel\endcsname
+ %\global\setbox\csname\@otr@:\!!stringa:\recurselevel\endcsname\box\csname\@otr@:\!!stringb:\recurselevel\endcsname
+ \else
+ \emptyhbox
+ %\global\setbox\csname\@otr@:\!!stringa:\recurselevel\endcsname\emptybox
+ \expandafter\newbox\csname\@otr@:\!!stringb:\recurselevel\endcsname
+ \fi
+ \else
+ \expandafter\newbox\csname\@otr@:\!!stringa:\recurselevel\endcsname
+ \ifcsname\@otr@:\!!stringb:\recurselevel\endcsname
+ \global\setbox\csname\@otr@:\!!stringa:\recurselevel\endcsname\box\csname\@otr@:\!!stringb:\recurselevel\endcsname
+ \else
+ \expandafter\newbox\csname\@otr@:\!!stringb:\recurselevel\endcsname
+ \fi
+ \fi}}%
+ \else
+ \dorecurse \tofcolumns
+ {\let\!!stringa\recurselevel
+ \dostepwiserecurse \zerocount \columnmaxcells \plusone
+ {\ifcsname\@otr@:\!!stringa:\recurselevel\endcsname
+ \global\setbox\csname\@otr@:\!!stringa:\recurselevel\endcsname\emptybox
+ \else
+ \expandafter\newbox\csname\@otr@:\!!stringa:\recurselevel\endcsname
+ \fi}}%
+ \fi
+ \dorecurse\tofcolumns
+ {\global\setbox\csname\@otr@:\recurselevel:\columnmaxcells\endcsname\copy\placeholderboxa}%
+ \global\columnfirstcell\zerocount
+ \global\columnlastcell\columnfirstcell
+ \global\columnfreecells\columnfirstcell
+ \egroup}
+
\def\doOTRSETsetgridcells#1#2#3#4#5#6% placeholder col row wid hei {data}
{\!!countd#2\advance\!!countd#4\advance\!!countd\minusone
\!!counte#3\advance\!!counte#5\advance\!!counte\minusone
\dostepwiserecurse{#2}\!!countd\plusone
{\!!countf\recurselevel
\dostepwiserecurse{#3}\!!counte\plusone
- {\page_set_cell_set\!!countf\recurselevel#1}}%
+ {\OTRSETsetgridcell\!!countf\recurselevel#1}}%
\dostepwiserecurse{#3}\!!counte\plusone
- {\wd\page_set_cell{#2}\recurselevel\hsize}%
- \page_set_cell_set{#2}\!!counte#6}
+ {\wd\OTRSETgridcell{#2}\recurselevel\hsize}%
+ \OTRSETsetgridcell{#2}\!!counte#6}
\def\OTRSETsetgridcells
{\doOTRSETsetgridcells{\copy\placeholderboxb}}
@@ -279,17 +252,19 @@
\unexpanded\def\setupcolumnsetlines{\doquintupleempty\dosetupcolumnsettrick[l]}
\unexpanded\def\setupcolumnsetstart{\doquintupleempty\dosetupcolumnsettrick[s]}
-\installcorenamespace{columnsettag} % temp hack
-
\def\dosetupcolumnsettrick[#1][#2][#3][#4][#5]% tag id page col value
- {\iffifthargument
- \setevalue{\??columnsettag:#1:#2:\number#3:\number#4}{\number#5}%
+ {% not needed, is already relative
+ % \doifinstringelse{+}{#3}{\scratchcounter\realpageno}{\scratchcounter\zerocount}%
+ % \advance\scratchcounter#3\relax % \relax needed
+ % \setevalue{\??mc:#1:#2:\the\scratchcounter:\number#4}{\number#5}}
+ \iffifthargument
+ \setevalue{\??mc:#1:#2:\number#3:\number#4}{\number#5}%
\else
- \setevalue{\??columnsettag:#1:#2:\number#3:0}{\number#4}%
+ \setevalue{\??mc:#1:#2:\number#3:0}{\number#4}%
\fi}
-\def\currentcolumnmaxcellstag #1{\??columnsettag:l:\OTRSETidentifier:\columnsetpage:\number#1}
-\def\currentcolumnstartcelltag#1{\??columnsettag:s:\OTRSETidentifier:\columnsetpage:\number#1}
+\def\currentcolumnmaxcellstag #1{\??mc:l:\OTRSETidentifier:\columnsetpage:\number#1}
+\def\currentcolumnstartcelltag#1{\??mc:s:\OTRSETidentifier:\columnsetpage:\number#1}
\def\doresetcolumnsetlines#1%
{\ifcsname\currentcolumnmaxcellstag{#1}\endcsname
@@ -337,7 +312,7 @@
{\ifnum\columnfirstcell>\columnmaxcells\relax
\exitloop
\else
- \page_set_cell_doifelse{#1}\columnfirstcell
+ \OTRSETdoifcellelse{#1}\columnfirstcell
{\global\advance\columnfirstcell\plusone}\exitloop
\fi}%
\global\columnlastcell\columnfirstcell
@@ -345,7 +320,7 @@
{\ifnum\columnlastcell>\columnmaxcells\relax
\exitloop
\else
- \page_set_cell_doifelse{#1}\columnlastcell
+ \OTRSETdoifcellelse{#1}\columnlastcell
{\global\advance\columnlastcell \minusone \exitloop}
{\global\advance\columnlastcell \plusone }%
\fi}%
@@ -376,7 +351,7 @@
\edef\columnmaxcells{\the\scratchcounter}%
\scratchcounter\zerocount
\dostepwiserecurse{#2}\columnmaxcells\plusone
- {\page_set_cell_doifelse{#1}\recurselevel
+ {\OTRSETdoifcellelse{#1}\recurselevel
{\ifnum\columnmaxfreecells<\scratchcounter
\edef\columnmaxfreecells{\the\scratchcounter}%
\let\columnfrmfreecells\recurselevel
@@ -387,7 +362,7 @@
\long\def\OTRSETrecurseRL#1%
{\dostepwiserecurse\nofcolumns\plusone\minusone
- {#1\hskip\namedcolumnsetparameter{\currentcolumnset:\recurselevel}\c!distance}}
+ {#1\hskip\OTRSETgetparameter\c!distance\recurselevel}}
\def\OTRSETmakegridbox
{\ifcase\columndirection
@@ -398,28 +373,6 @@
\def\OTRSETmakeupwidth{\makeupwidth} % temporary indirectness
-\def\page_set_make_background_box
- {\begingroup
- \mofcolumns\recurselevel % used to signal mp
- \d_page_set_local_hsize\OTRSETlocalwidth\recurselevel
- \scratchdistance\namedcolumnsetparameter{\currentcolumnset:\recurselevel}\c!distance\relax
- \edef\currentcolumnset{\currentcolumnset:\recurselevel}%
- \letcolumnsetparameter\c!width \d_page_set_local_hsize
- \letcolumnsetparameter\c!height\!!heighta
- \letcolumnsetparameter\c!lines \empty
- \letcolumnsetparameter\c!region\currentcolumnset
- \setbox\scratchbox\hbox\inheritedcolumnsetframed{}% maybe \fastlocalframed
- \wd\scratchbox\d_page_set_local_hsize
- \ht\scratchbox\!!heighta
- \ifcase\columndirection
- \hskip\scratchdistance
- \box\scratchbox
- \else
- \box\scratchbox
- \hskip\scratchdistance
- \fi
- \endgroup}
-
\def\OTRSETdomakegridbox#1#2#3%
{\hbox\bgroup
\dontcomplain
@@ -427,13 +380,28 @@
\!!heighta \textheight
% test first !
\hbox to \OTRSETmakeupwidth
- {\dostepwiserecurse{#1}{#2}{#3}\page_set_make_background_box}%
+ {\dostepwiserecurse{#1}{#2}{#3}
+ {\mofcolumns\recurselevel
+ \localcolumnwidth\OTRSETlocalwidth\mofcolumns
+ \setbox\scratchbox\hbox\localframed
+ [\??mc\OTRSETidentifier\number\mofcolumns]%
+ [\c!width=\localcolumnwidth,\c!height=\!!heighta,\c!lines=]%
+ {}%
+ \wd\scratchbox\localcolumnwidth
+ \ht\scratchbox\!!heighta
+ \ifcase\columndirection
+ \hskip\OTRSETgetparameter\c!distance\recurselevel
+ \box\scratchbox
+ \else
+ \box\scratchbox
+ \hskip\OTRSETgetparameter\c!distance\recurselevel
+ \fi}}%
\hskip-\OTRSETmakeupwidth
% main text
\hbox to \OTRSETmakeupwidth
{\dostepwiserecurse{#1}{#2}{#3}
{\mofcolumns\recurselevel
- \d_page_set_local_hsize\OTRSETlocalwidth\mofcolumns
+ \localcolumnwidth\OTRSETlocalwidth\mofcolumns
\offinterlineskip
\setbox\scratchbox\vbox to \!!heighta
{%\topskipcorrection % not needed
@@ -449,14 +417,14 @@
\vfill
\fi
\dorecurse\columnmaxcells
- {\setbox\scratchbox\hbox{\page_set_cell_get\mofcolumns\recurselevel}%
+ {\setbox\scratchbox\hbox{\OTRSETgetgridcell\mofcolumns\recurselevel}%
\ht\scratchbox\strutht
\dp\scratchbox\strutdp
\ifcase\columndirection
\box\scratchbox
\else
- \hbox to \d_page_set_local_hsize
- {\hskip\d_page_set_local_hsize\llap{\box\scratchbox}}%
+ \hbox to \localcolumnwidth
+ {\hskip\localcolumnwidth\llap{\box\scratchbox}}%
\fi
\par}%
\ifcase\OTRSETbalancemethod
@@ -471,12 +439,12 @@
\kern\zeropoint
\vss
\fi}%
- \wd\scratchbox\d_page_set_local_hsize % \textwidth
+ \wd\scratchbox\localcolumnwidth % \textwidth
\page_marks_synchronize_column{#1}{#2}\recurselevel\scratchbox
\ifcase\columndirection
- \hskip\namedcolumnsetparameter{\currentcolumnset:\recurselevel}\c!distance\box\scratchbox
+ \hskip\OTRSETgetparameter\c!distance\recurselevel\box\scratchbox
\else
- \box\scratchbox\hskip\namedcolumnsetparameter{\currentcolumnset:\recurselevel}\c!distance
+ \box\scratchbox\hskip\OTRSETgetparameter\c!distance\recurselevel
\fi}}%
\egroup}
@@ -491,7 +459,7 @@
\!!counta\columnmaxcells
\donetrue
\doloop
- {\dorecurse\nofcolumns{\page_set_cell_doifelse\recurselevel\!!counta\donefalse\donothing}%
+ {\dorecurse\nofcolumns{\OTRSETdoifcellelse\recurselevel\!!counta\donefalse\donothing}%
\ifdone
\ifnum\!!counta>\plusone\advance\!!counta\minusone\else\exitloop\fi
\else
@@ -515,22 +483,22 @@
{\placebottomnotes}%
\ifdim\ht\scratchbox>\zeropoint
\setbox\scratchbox\hbox
- {\hbox to \zeropoint{\page_set_cell_get\nofcolumns\lastcolumnlastcell}%
+ {\hbox to \zeropoint{\OTRSETgetgridcell\nofcolumns\lastcolumnlastcell}%
\box\scratchbox}%
\ht\scratchbox\strutht
\dp\scratchbox\strutdp
- \page_set_cell_set\nofcolumns\lastcolumnlastcell\box\scratchbox
+ \OTRSETsetgridcell\nofcolumns\lastcolumnlastcell\box\scratchbox
\fi
\global\lastcolumnlastcell\zerocount
\fi}
\def\OTRSETdoflush
- {\ifcollectingsetcontent
+ {\ifcollectingcontent
\global\mofcolumns\plusone
\else
\OTRSETdofinalflush
\OTRSETdofinaloutput
- \ifnum\columnsetpage>\zerocount
+ \ifnum\columnsetpage>0
\dorecurse\nofcolumns{\doresetcolumnsetlines\recurselevel}%
\fi
\doglobal\increment\columnsetpage
@@ -586,10 +554,11 @@
\newdimen \OTRSETtextsheight
\let \OTRSETidentifier=\empty
+\def\OTRSETgetparameter#1#2{\csname\??mc\OTRSETidentifier\number#2#1\endcsname}
+\def\OTRSETsetparameter#1#2{\setvalue{\??mc\OTRSETidentifier\number#2#1}}
+
\def\OTRSETskipstart
- {\doifelsenothing{\columnsetparameter\c!start}
- {\scratchcounter\zerocount}%
- {\scratchcounter\columnsetparameter\c!start}%
+ {\scratchcounter\executeifdefined{\??mc\OTRSETidentifier\c!start}\zerocount
\relax % needed !
\ifcase\scratchcounter\else
\advance\scratchcounter\plusone
@@ -600,7 +569,7 @@
\fi}
\unexpanded\def\page_set_command_set_vsize % snap per sectie (gap here?)
- {\ifcollectingsetcontent \else % can be assigndimen
+ {\ifcollectingcontent \else % can be assigndimen
\OTRSETsetcolumnmaxcells % layout can be changed
\OTRSETskipstart % not that well tested
\OTRSETcheckinsert % added
@@ -608,7 +577,7 @@
\ifsomefreecolumncells
\global\vsize\columnfreecells\lineheight
\ifinotr % else problems with floats, see extreme
- \pagegoal\vsize % niet nodig, tenzij binnen otr
+ \global\pagegoal\vsize % niet nodig, tenzij binnen otr
\fi
\synchronizeoutput % fails on example
% \allowbreak % hm
@@ -617,12 +586,12 @@
\fi}
\def\page_set_command_set_hsize % of course this does not migrate outside the otr
- {\d_page_set_local_hsize\OTRSETlocalwidth\mofcolumns
- \textwidth\d_page_set_local_hsize
- \hsize\d_page_set_local_hsize}
+ {\localcolumnwidth\OTRSETlocalwidth\mofcolumns
+ \textwidth\localcolumnwidth
+ \hsize\localcolumnwidth}
\unexpanded\def\page_set_command_synchronize_hsize
- {\ifconditional\c_page_set_width_set
+ {\ifcase0\getvalue{\??mc\??mc\c!width}\else % some width set
\bgroup
\scratchdimen\OTRSETlocalwidth\mofcolumns
\ifdim\scratchdimen=\textwidth
@@ -860,7 +829,7 @@
{\ifnum\columngaplimit>\zerocount
\donefalse
\dostepwiserecurse{#2}\columnmaxcells\plusone
- {\page_set_cell_doifelse{#1}\recurselevel
+ {\OTRSETdoifcellelse{#1}\recurselevel
{\ifdone
\!!countb\recurselevel \advance\!!countb -\!!counta\relax
\ifnum\!!countb>\plusone
@@ -868,7 +837,7 @@
\ifnum\!!countb<\columngaplimit\relax
\!!countb\recurselevel \advance\!!countb \minusone
\dostepwiserecurse\!!counta\!!countb\plusone
- {\page_set_cell_set{#1}\recurselevel\copy\placeholderboxc}%
+ {\OTRSETsetgridcell{#1}\recurselevel\copy\placeholderboxc}%
%\message{[gap]}%
\fi
\fi
@@ -982,7 +951,7 @@
\else
\advance\columnhcells \plusone
\advance\scratchcounter \plusone
- \advance\totalcolumnspace \namedcolumnsetparameter{\currentcolumnset:\number\scratchcounter}\c!distance
+ \advance\totalcolumnspace \OTRSETgetparameter\c!distance\scratchcounter
\fi
\else
\exitloop
@@ -1004,9 +973,9 @@
%\scratchcounter#2\advance\scratchcounter\minusone
%\ifnum\scratchcounter>0
% \dostepwiserecurse{#1}\!!countd\plusone
-% {\ifdim\wd\page_set_cell\recurselevel\scratchcounter>\zeropoint
+% {\ifdim\wd\OTRSETgridcell\recurselevel\scratchcounter>\zeropoint
% \let\columnspacetopoffset\plusone
-% \else\ifdim\dp\page_set_cell\recurselevel\scratchcounter>\zeropoint
+% \else\ifdim\dp\OTRSETgridcell\recurselevel\scratchcounter>\zeropoint
% \let\columnspacetopoffset\plusone
% \fi\fi}%
% \advance\!!counte \columnspacetopoffset \relax
@@ -1017,9 +986,9 @@
%\advance\scratchcounter \columnvcells \relax
%\ifnum\scratchcounter>\columnmaxcells\else
% \dostepwiserecurse{#1}\!!countd\plusone
-% {\ifdim\wd\page_set_cell\recurselevel\scratchcounter>\zeropoint
+% {\ifdim\wd\OTRSETgridcell\recurselevel\scratchcounter>\zeropoint
% \let\columnspacebotoffset\plusone
-% \else\ifdim\dp\page_set_cell\recurselevel\scratchcounter>\zeropoint
+% \else\ifdim\dp\OTRSETgridcell\recurselevel\scratchcounter>\zeropoint
% \let\columnspacebotoffset\plusone
% \fi\fi}%
% \advance\!!counte \columnspacebotoffset \relax
@@ -1030,15 +999,12 @@
\!!countf\recurselevel\relax
\dostepwiserecurse{#2}\!!counte\plusone % rows
{\ifenoughcolumncells
- \page_set_cell_doifelse\!!countf\recurselevel
+ \OTRSETdoifcellelse\!!countf\recurselevel
{\enoughcolumncellsfalse}{}%
\fi}%
\fi}%
\fi}
-\let\preferedcolumn\empty
-\let\preferedrow \empty
-
\def\OTRSETsetpreferedcolumnslot#1#2%
{\doifsomething{#1}{\edef\preferedcolumn{#1}}%
\doifsomething{#2}{\edef\preferedrow {#2}}}
@@ -1112,7 +1078,7 @@
\def\OTRSETstoreincolumnslotFXTB#1% fixed column
{\OTRSETcheckprefered
- \page_set_cell_doifelse\pofcolumns\plusone
+ \OTRSETdoifcellelse\pofcolumns\plusone
{\OTRSETprepareforcolumnslot2}{\OTRSETprepareforcolumnslot1}{#1}% % 1/2 dependent of place, todo
\OTRSETflushtextsofar
\OTRSETstoreincolumnslotindeed
@@ -1121,7 +1087,7 @@
\def\OTRSETstoreincolumnslotFXBT#1% fixed column
{\OTRSETcheckprefered
- \page_set_cell_doifelse\pofcolumns\columnmaxcells
+ \OTRSETdoifcellelse\pofcolumns\columnmaxcells
{\OTRSETprepareforcolumnslot2}{\OTRSETprepareforcolumnslot3}{#1}% % 3/2 dependent of place, todo
\OTRSETflushtextsofar
\OTRSETstoreincolumnslotindeed
@@ -1298,7 +1264,7 @@
\fi}
\unexpanded\def\page_set_command_check_if_float_fits
- {\global\ifconditional\c_page_floats_not_permitted\setfalse\c_page_floats_room\else\settrue\c_page_floats_room\fi}
+ {\global\ifnofloatpermitted\roomforfloatfalse\else\roomforfloattrue\fi}
\def\OTRSETunpreparebox#1%
{\ifhbox#1% spans and so
@@ -1313,25 +1279,25 @@
\def\OTRSETsavebox#1% clean up the skips
{\OTRSETunpreparebox{#1}%
- \page_floats_save\s!text}
+ \dofloatssave\s!text}
\def\OTRSETresavebox#1% clean up the skips
{\OTRSETunpreparebox{#1}%
- \page_floats_resave\s!text}
+ \dofloatsresave\s!text}
\unexpanded\def\page_set_command_flush_float_box
- {\box\floatbox}
+ {\iftestfloatbox\ruledhbox\fi{\box\floatbox}}
\unexpanded\def\page_set_command_flush_floats
{\bgroup
\def\OTRSETsavebox##1{\!!doneafalse}%
\doloop
- {\ifconditional\c_page_floats_some_waiting
+ {\ifsomefloatwaiting
\OTRSETskipstart
- \page_floats_get_info\s!text
+ \dofloatsgetinfo\s!text
\ifdim\floatwidth>\zeropoint
\!!doneatrue
- \page_floats_flush\s!text\plusone
+ \dofloatsflush\s!text{1}%
\dp\floatbox\zeropoint
\OTRSETstoreincolumnslot{TBLR}\floatbox
\if!!donea
@@ -1367,9 +1333,9 @@
\else
% only span if there is a next column with content
\dorecurse\columnmaxcells
- {\ifdim\ht\page_set_cell\currenthcell\currentvcell>\zeropoint
+ {\ifdim\ht\OTRSETgridcell\currenthcell\currentvcell>\zeropoint
\centergridcellonlyfalse
- \else\ifdim\dp\page_set_cell\currenthcell\currentvcell>\zeropoint
+ \else\ifdim\dp\OTRSETgridcell\currenthcell\currentvcell>\zeropoint
\centergridcellonlyfalse
\fi\fi}%
\fi
@@ -1377,10 +1343,10 @@
\currenthcell\recurselevel
\dorecurse\columnmaxcells
{\currentvcell\recurselevel\relax
- \ifdim\ht\page_set_cell\currenthcell\currentvcell>\zeropoint
- \ifdim\dp\page_set_cell\currenthcell\currentvcell=\zeropoint
+ \ifdim\ht\OTRSETgridcell\currenthcell\currentvcell>\zeropoint
+ \ifdim\dp\OTRSETgridcell\currenthcell\currentvcell=\zeropoint
\bgroup
- \setbox\scratchbox\page_set_cell_get\currenthcell\currentvcell
+ \setbox\scratchbox\OTRSETgetgridcell\currenthcell\currentvcell
\getnoflines{\ht\scratchbox}%
\!!counta\currentvcell
\advance\!!counta -\noflines
@@ -1397,9 +1363,9 @@
{\if!!doneb
\let\xrecurselevel\recurselevel
\dostepwiserecurse\!!counta\currentvcell\plusone
- {\ifdim\ht\page_set_cell\xrecurselevel\recurselevel>\zeropoint
+ {\ifdim\ht\OTRSETgridcell\xrecurselevel\recurselevel>\zeropoint
\!!donebfalse
- \else\ifdim\wd\page_set_cell\xrecurselevel\recurselevel>\zeropoint
+ \else\ifdim\wd\OTRSETgridcell\xrecurselevel\recurselevel>\zeropoint
\!!donebfalse
\fi\fi}%
\if!!doneb
@@ -1409,11 +1375,11 @@
\totalcolumnspace\OTRSETlocalwidth\currenthcell
\dostepwiserecurse\!!countc\!!countb\plusone
{\advance\totalcolumnspace \OTRSETlocalwidth\recurselevel
- \advance\totalcolumnspace \namedcolumnsetparameter{\currentcolumnset:\recurselevel}\c!distance}%
+ \advance\totalcolumnspace \OTRSETgetparameter\c!distance\recurselevel}%
\ifdim\totalcolumnspace>\wd\scratchbox
\setbox\scratchbox\hbox to \totalcolumnspace{\hss\box\scratchbox\hss}%
\fi
- \page_set_cell_set\currenthcell\currentvcell\box\scratchbox
+ \OTRSETsetgridcell\currenthcell\currentvcell\box\scratchbox
\egroup
\fi
\fi}}%
@@ -1422,8 +1388,8 @@
\def\OTRSETinitializecolumns% once per page
{\columnspreadtrue % todo
\ifcolumnspread
- \global\rofcolumns\columnsetparameter\c!nright
- \global\lofcolumns\columnsetparameter\c!nleft
+ \global\rofcolumns\getvalue{\??mc\OTRSETidentifier\c!nright}%
+ \global\lofcolumns\getvalue{\??mc\OTRSETidentifier\c!nleft}%
\global\tofcolumns\rofcolumns \relax
\ifodd\realpageno\relax
\global\nofcolumns\rofcolumns
@@ -1432,70 +1398,67 @@
\global\nofcolumns\lofcolumns
\fi
\else
- \global\nofcolumns\columnsetparameter\c!n
+ \global\nofcolumns\getvalue{\??mc\OTRSETidentifier\c!n}%
\global\rofcolumns\nofcolumns
\global\lofcolumns\nofcolumns
\global\tofcolumns\nofcolumns
\fi
\OTRSETassignwidths
\global\mofcolumns\plusone
- \page_set_cell_erase_grid}
+ \columnerasegridboxes}
-% this is a first step in upgrading
-
-\installcorenamespace{columnset}
-
-\installframedcommandhandler \??columnset {columnset} \??columnset
-
-\setupcolumnset % todo, use the rather basic backgroundframed
- [\c!direction=\v!right,
- \c!balance=\v!no,
- \c!distance=1.5\bodyfontsize,
- \c!n=2,
- \c!nleft=\columnsetparameter\c!n,
- \c!nright=\columnsetparameter\c!n,
- \c!width=\v!fit,
- \c!lines=0,
- \c!start=0,
- \c!frame=\v!off,
- \c!offset=\v!overlay,
- \c!frame=\v!off,
- \c!align=,
- \c!lines=0]
-
-\let\page_set_setup_saved\setupcolumnset
-
-\newconditional\c_page_set_defining
-
-\appendtoks
- \ifconditional\c_page_set_defining \else
- \settrue\c_page_set_defining
- \dorecurse{\columnsetparameter\c!nleft}
- {\normalexpanded{\definecolumnset[\currentcolumnset:\recurselevel][\currentcolumnset]}}%
- \dorecurse{\columnsetparameter\c!nright}
- {\normalexpanded{\definecolumnset[\currentcolumnset:\recurselevel][\currentcolumnset]}}%
- \normalexpanded{\page_set_setup_saved[\currentcolumnset:1][\c!distance=\zeropoint]}%
- \setfalse\c_page_set_defining
- \fi
-\to \everydefinecolumnset
+% vanaf hier:
+
+\unexpanded\def\definecolumnset
+ {\dodoubleargument\dodefinecolumnset}
+
+\def\dodefinecolumnset[#1][#2]%
+ {\getparameters[\??mc#1]
+ [\c!direction=\v!right,
+ \c!balance=\v!no,
+ \c!distance=1.5\bodyfontsize, % controleren
+ \c!n=2,
+ \c!nleft=\getvalue{\??mc#1\c!n},
+ \c!nright=\getvalue{\??mc#1\c!n},
+ \c!width=\v!fit,
+ \c!lines=0,
+ \c!start=0,
+ #2]%
+ \dorecurse{\getvalue{\??mc#1\c!nleft}} % todo
+ {\dododefinecolumnset[#1][\recurselevel]}%
+ \dorecurse{\getvalue{\??mc#1\c!nright}} % todo
+ {\dododefinecolumnset[#1][\recurselevel]}%
+ % redo framed settings
+ \setupcolumnset[#1][1][\c!distance=\!!zeropoint]}
+
+\def\dododefinecolumnset[#1][#2]%
+ {\presetlocalframed
+ [\??mc#1#2]%
+ \setupcolumnset
+ [#1][#2]
+ [\c!offset=\v!overlay,
+ \c!frame=\v!off,
+ \c!align=,
+ \c!lines=0,% really needed since c!regels is now part of framed
+ \c!width=\getvalue{\??mc#1\c!width},
+ \c!distance=\getvalue{\??mc#1\c!distance}]}
\unexpanded\def\setupcolumnset
- {\dotripleargument\page_set_setup}
+ {\dotripleargument\dosetupcolumnset}
-\def\page_set_setup[#1][#2][#3]%
+\def\dosetupcolumnset[#1][#2][#3]%
{\ifthirdargument
- \unexpanded\def\page_set_setup_step##1%
+ \def\docommand##1%
{\doifelse{##1}\v!each
- {\dorecurse{\namedcolumnsetparameter{#1}\c!n}{\page_set_setup_step\recurselevel}}
- {\normalexpanded{\page_set_setup_saved[#1:\recurselevel]}[#3]}}%
- \processcommalist[#2]\page_set_setup_step
+ {\dorecurse{\getvalue{\??mc#1\c!n}}{\docommand\recurselevel}}
+ {\getparameters[\??mc#1##1][#3]}}%
+ \processcommalist[#2]\docommand
\else
- \page_set_setup_saved[#1][#2]%
+ \getparameters[\??mc#1][#2]%
\fi}
-
-\definecolumnset
- [\s!default]
-
+
+\definecolumnset[\s!default][\c!n=2] % fallback
+
\unexpanded\def\page_set_command_next_page
{\page_otr_fill_and_eject_page
\relax\ifnum\mofcolumns>\plusone
@@ -1507,6 +1470,7 @@
\let\page_set_command_next_page_and_inserts\page_set_command_next_page
+
\def\OTRSETgotocolumn
{\dosingleempty\doOTRSETgotocolumn}
@@ -1536,7 +1500,7 @@
\currenthcell\mofcolumns
\currentvcell#1\advance\currentvcell \minusone
\dorecurse\currentvcell
- {\page_set_cell_doifelse\mofcolumns\recurselevel\donothing
+ {\OTRSETdoifcellelse\mofcolumns\recurselevel\donothing
{\advance\scratchcounter\plusone}}
\getnoflines\pagetotal
\advance\scratchcounter-\noflines
@@ -1583,7 +1547,7 @@
% \currenthcell\mofcolumns
% \currentvcell#2\advance\currentvcell \minusone
% \dorecurse\currentvcell
-% {\page_set_cell_doifelse\mofcolumns\recurselevel\donothing
+% {\OTRSETdoifcellelse\mofcolumns\recurselevel\donothing
% {\advance\scratchcounter\plusone}}
% \getnoflines\pagetotal
% \advance\scratchcounter-\noflines
@@ -1646,7 +1610,7 @@
% \stoptext
\def\OTRSETflushleftovers % new per 13/4/2006
- {\page_set_cell_doifelse\plusone\plusone
+ {\OTRSETdoifcellelse{1}{1}
{\bgroup
\OTRSETcentergridcells
\OTRSETbalancemethod\plusone
@@ -1679,7 +1643,7 @@
\fi
\fi
\global\setfalse\OTRSETfinish
- \ifconditional\c_page_floats_some_waiting
+ \ifsomefloatwaiting
\page_otr_command_set_vsize
\pagebreak
\page_otr_command_set_vsize
@@ -1761,8 +1725,8 @@
{\doifsomething\OTRSETlist
{\getfromcommacommand[\OTRSETlist][1]%
\global\let\OTRSETidentifier\commalistelement
- \xdef\currentcolumnset{\commalistelement}%
- \checkcolumnsetparent
+ \doifundefined{\??mc\OTRSETidentifier\c!n}
+ {\globallet\OTRSETidentifier\s!default}%
\let\newcommalistelement\empty
\doglobal\replaceincommalist\OTRSETlist1%
\OTRSETrestart}}
@@ -1788,8 +1752,8 @@
\OTRSETsetcorrectnofcells\currentcolumnstartcell
\advance\scratchcounter \minusone
\dorecurse\scratchcounter
- {\page_set_cell_doifelse\mofcolumns\recurselevel
- \donothing{\page_set_cell_set\mofcolumns\recurselevel\copy\placeholderboxe}}%
+ {\OTRSETdoifcellelse\mofcolumns\recurselevel
+ \donothing{\OTRSETsetgridcell\mofcolumns\recurselevel\copy\placeholderboxe}}%
\egroup}}
\unexpanded\def\page_set_command_routine
@@ -1814,13 +1778,13 @@
% new: raw
\OTRSETsetcolumnmaxcells
% direction
- \doifelse{\columnsetparameter\c!direction}\v!right
+ \doifelsevalue{\??mc\OTRSETidentifier\c!direction}\v!right
{\columndirection\zerocount}
{\columndirection\plusone}%
% balancing
\OTRSETbalancemethod\zerocount
\processaction
- [\columnsetparameter\c!balance]
+ [\getvalue{\??mc\OTRSETidentifier\c!balance}]
[ \v!yes=>\OTRSETbalancemethod\plusone,
\v!top=>\OTRSETbalancemethod\plustwo,
\v!bottom=>\OTRSETbalancemethod\plusthree]}
@@ -1839,46 +1803,46 @@
\ifx\lastskipinotr\undefined \newskip\lastskipinotr \fi
\installoutputroutine\OTRSETflushpreposttext
- {\global\setbox\b_page_set_preceding\vbox
+ {\global\setbox\precolumnbox\vbox
{\unvbox\normalpagebox
\global\lastskipinotr\lastskip}%
\ifdim\lastskipinotr>\zeropoint
- \global\setbox\b_page_set_preceding\hbox
- {\lower\strutdepth\box\b_page_set_preceding}%
+ \global\setbox\precolumnbox\hbox
+ {\lower\strutdepth\box\precolumnbox}%
\fi
- \dp\b_page_set_preceding\strutdepth
+ \dp\precolumnbox\strutdepth
\ifcarryoverfootnotes \else
- \global\setbox\b_page_set_trailing\vbox{\placebottomnotes}%
+ \global\setbox\postcolumnbox\vbox{\placebottomnotes}%
\fi}
\let\precolumnlines \!!zerocount
\let\postcolumnlines\!!zerocount
\def\OTRSEThandlepreposttext
- {\ifdim\ht\b_page_set_preceding>\zeropoint % new
- \getnoflines{\ht\b_page_set_preceding}%
+ {\ifdim\ht\precolumnbox>\zeropoint % new
+ \getnoflines{\ht\precolumnbox}%
\edef\precolumnlines{\the\noflines}%
\doOTRSETsetgridcells
{\copy\placeholderboxe}
\plusone\plusone\nofcolumns\noflines
% normal version (single column set)
- % {\box\b_page_set_preceding}%
+ % {\box\precolumnbox}%
% compensated for bodyfont change
{\hbox
{\OTRSETsetcorrectcellht
- \raise\scratchdimen\box\b_page_set_preceding}}%
+ \raise\scratchdimen\box\precolumnbox}}%
\else
\let\precolumnlines\!!zerocount
\fi
- \ifdim\ht\b_page_set_trailing>\zeropoint % new, otherwise empty bottom line
- \getnoflines{\ht\b_page_set_trailing}%
+ \ifdim\ht\postcolumnbox>\zeropoint % new, otherwise empty bottom line
+ \getnoflines{\ht\postcolumnbox}%
\edef\postcolumnlines{\the\noflines}%
\advance\columnfreecells -\noflines
\advance\columnfreecells \plusone
\doOTRSETsetgridcells
{\copy\placeholderboxe}
\plusone\columnfreecells\nofcolumns\noflines
- {\box\b_page_set_trailing}%
+ {\box\postcolumnbox}%
\else
\let\postcolumnlines\!!zerocount
\fi}
@@ -1891,7 +1855,7 @@
\def\OTRSETcheckgrid
{\topskip1\topskip
- \ifforcecolumnsetgrid
+ \ifforcecolumngrid
\widowpenalty\zerocount
\clubpenalty\zerocount
\brokenpenalty\zerocount
@@ -1930,31 +1894,29 @@
% interface to footnotes
-\installcorenamespace{columnsetwidth}
-
\def\OTRSETassignwidths
{%\scratchdimen\makeupwidth
\freezetextwidth \scratchdimen\textwidth
%
\scratchcounter\zerocount
\dorecurse\nofcolumns
- {\doifelse{\namedcolumnsetparameter{\currentcolumnset:\recurselevel}\c!width}\v!fit
- {\advance\scratchcounter \plusone}
- {\advance\scratchdimen -\namedcolumnsetparameter{\currentcolumnset:\recurselevel}\c!width}%
- \advance\scratchdimen -\namedcolumnsetparameter{\currentcolumnset:\recurselevel}\c!distance}%
+ {\doifelsevalue{\??mc\OTRSETidentifier\recurselevel\c!width}\v!fit
+ {\advance\scratchcounter \plusone }
+ {\advance\scratchdimen -\getvalue{\??mc\OTRSETidentifier\recurselevel\c!width}}%
+ \advance\scratchdimen -\getvalue{\??mc\OTRSETidentifier\recurselevel\c!distance}}%
\ifcase\scratchcounter\else
\divide\scratchdimen \scratchcounter
\fi
- \global\setfalse\c_page_set_width_set
+ \setgvalue{\??mc\??mc\c!width}{0}%
\dorecurse\nofcolumns
- {\doifelse{\namedcolumnsetparameter{\currentcolumnset:\recurselevel}\c!width}\v!fit
+ {\doifelsevalue{\??mc\OTRSETidentifier\recurselevel\c!width}\v!fit
{\dimen0=\scratchdimen}
- {\global\settrue\c_page_set_width_set
- \dimen0=\namedcolumnsetparameter{\currentcolumnset:\recurselevel}\c!width}%
- \setxvalue{\??columnsetwidth\recurselevel}{\the\dimen0}}}
+ {\setgvalue{\??mc\??mc\c!width}{1}%
+ \dimen0=\getvalue{\??mc\OTRSETidentifier\recurselevel\c!width}}%
+ \setxvalue{\??mc\recurselevel\??mc\c!width}{\the\dimen0}}}
\def\OTRSETlocalwidth#1%
- {\getvalue{\??columnsetwidth\number#1}}
+ {\getvalue{\??mc\number#1\??mc\c!width}}
\newbox\placeholderboxa
\newbox\placeholderboxb
@@ -1968,7 +1930,7 @@
{\setbox\scratchbox\hbox to \hsize
{\iftracecolumnset
\hskip-.5ex%
- \startcolor[columnset:#2]\vrule\s!width\exheight\s!height.5\exheight\s!depth.5\exheight\stopcolor
+ \startcolor[columnset:#2]\vrule\!!width1ex\!!height.5ex\!!depth.5ex\stopcolor
\fi
\hss}%
\ifcase#1\relax
@@ -2022,14 +1984,14 @@
\def\page_set_place_float_bottom{\def\floatmethod{BOTS}\page_set_place_float_slot} % check
\def\OTRSETflushfloatbox % nog verder doorvoeren en meer info in marge
- {\box\floatbox}
+ {\iftestfloatbox\ruledhbox\fi{\box\floatbox}}
\def\page_set_place_float_slot
{\setbox\floatbox\vbox{\page_otr_command_flush_float_box}%
\dp\floatbox\strutdp
\@EA\uppercasestring\floatmethod\to\floatmethod
\OTRSETstoreincolumnslot\floatmethod\floatbox
- \page_floats_report_total}
+ \doinsertfloatinfo}
% kind of new, looks much like OTRONE, but not entirely
@@ -2037,7 +1999,7 @@
\unexpanded\def\page_set_command_set_top_insertions
{\bgroup
- \ifconditional\c_page_floats_some_waiting
+ \ifsomefloatwaiting
\noffloatinserts\zerocount
\let\totaltopinserted\!!zeropoint
\OTRSETdodosettopinserts
@@ -2058,9 +2020,9 @@
\egroup}
\def\OTRSETdodosettopinserts
- {\ifnum\noffloatinserts<\c_page_floats_n_of_top
- \page_floats_get
- \ifdim\d_page_floats_inserted_top=\zeropoint\relax
+ {\ifnum\noffloatinserts<\noftopfloats
+ \dogetfloat
+ \ifdim\topinserted=\zeropoint\relax
\settrue\c_page_set_top_of_insert
\else
\setfalse\c_page_set_top_of_insert
@@ -2076,28 +2038,25 @@
\fi
\page_otr_command_flush_float_box
\blank[\rootfloatparameter\c!spaceafter]}%
- \global\advance\d_page_floats_inserted_top \ht\scratchbox\relax
- \ifdim\d_page_floats_inserted_top>\vsize % was \textheight\relax
+ \global\advance\topinserted \ht\scratchbox\relax
+ \ifdim\topinserted>\vsize % was \textheight\relax
\OTRSETresavebox\floatbox
- \noffloatinserts\c_page_floats_n_of_top\relax
- \global\advance\d_page_floats_inserted_top -\ht\scratchbox
+ \noffloatinserts\noftopfloats\relax
+ \global\advance\topinserted -\ht\scratchbox
\let\OTRSETdodosettopinserts\relax % to be tested
\else
- \xdef\totaltopinserted{\the\d_page_floats_inserted_top}%
- \insert\namedinsertionnumber\s!topfloat\bgroup
- \forgetall
- \box\scratchbox
- \egroup
- \ifconditional\c_page_floats_some_waiting
+ \xdef\totaltopinserted{\the\topinserted}%
+ \insert\topins{\forgetall\box\scratchbox}% interlineskip ?
+ \ifsomefloatwaiting
\advance\noffloatinserts \plusone
\else
- \noffloatinserts\c_page_floats_n_of_top\relax
+ \noffloatinserts\noftopfloats\relax
\fi
- \page_floats_report_flushed
+ \dofloatflushedinfo
\fi
\else
- \ifconditional\c_page_floats_some_waiting
- \showmessage\m!floatblocks6{\the\c_page_floats_n_of_top}%
+ \ifsomefloatwaiting
+ \showmessage\m!floatblocks6{\the\noftopfloats}%
\fi
\let\OTRSETdodosettopinserts\relax
\fi
@@ -2105,66 +2064,67 @@
\unexpanded\def\page_set_command_set_bottom_insertions
{\bgroup
- \ifconditional\c_page_floats_some_waiting
+ \ifsomefloatwaiting
\noffloatinserts\zerocount
\OTRSETdodosetbotinserts
\fi
\egroup}
\def\OTRSETdodosetbotinserts
- {\ifnum\noffloatinserts<\c_page_floats_n_of_bottom\relax
- \page_floats_get
- \global\advance\d_page_floats_inserted_bottom\dimexpr\ht\floatbox+\dp\floatbox+\d_strc_floats_top\relax
- \ifdim\d_page_floats_inserted_bottom<\pagegoal\relax
- \insert\namedinsertionnumber\s!bottomfloat\bgroup
- \forgetall
- \blank[\rootfloatparameter\c!spacebefore]%
- \page_otr_command_flush_float_box
- \egroup
- \ifconditional\c_page_floats_some_waiting
+ {\ifnum\noffloatinserts<\nofbotfloats\relax
+ \dogetfloat
+ \global\advance\botinserted \ht\floatbox\relax
+ \global\advance\botinserted \dp\floatbox\relax
+ \global\advance\botinserted \floattopskip\relax
+ \ifdim\botinserted<\pagegoal\relax
+ \insert\botins
+ {\forgetall
+ \blank[\rootfloatparameter\c!spacebefore]%
+ \page_otr_command_flush_float_box}%
+ \ifsomefloatwaiting
\advance\noffloatinserts \plusone
\else
- \noffloatinserts\c_page_floats_n_of_bottom
+ \noffloatinserts\nofbotfloats
\fi
- \page_floats_report_flushed
+ \dofloatflushedinfo
\else
\OTRSETresavebox\floatbox
- \noffloatinserts\c_page_floats_n_of_bottom\relax
+ \noffloatinserts\nofbotfloats\relax
\fi
- \global\settrue\c_page_floats_not_permitted % vgl topfloats s!
+ \global\nofloatpermittedtrue % vgl topfloats s!
\else
- \ifconditional\c_page_floats_some_waiting
- \showmessage\m!floatblocks7{\the\c_page_floats_n_of_bottom}%
+ \ifsomefloatwaiting
+ \showmessage\m!floatblocks7{\the\nofbotfloats}%
\fi
\let\OTRSETdodosetbotinserts\relax
\fi
\OTRSETdodosetbotinserts}
\unexpanded\def\page_set_command_flush_top_insertions
- {\ifvoid\namedinsertionnumber\s!topfloat\else
+ {\ifvoid\topins\else
\ifvoid\columntopbox\mofcolumns
- \columnsettopbox\mofcolumns\box\namedinsertionnumber\s!topfloat
+ \columnsettopbox\mofcolumns\box\topins
\else
\columnsettopbox\mofcolumns\vbox % temp, must be better
{\forgetall
\offinterlineskip
\box\columntopbox\mofcolumns
- \box\namedinsertionnumber\s!topfloat}
+ \box\topins}
\fi
\fi
- \global\d_page_floats_inserted_top\zeropoint\relax} % goes away
+ \global\topinserted\zeropoint\relax} % goes away
\unexpanded\def\page_set_command_flush_bottom_insertions
- {\ifvoid\namedinsertionnumber\s!bottomfloat \else
- \columnsetbotbox\mofcolumns\box\namedinsertionnumber\s!bottomfloat
+ {\ifvoid\botins \else
+ \columnsetbotbox\mofcolumns\box\botins
% \else
% \columnsetbotbox\mofcolumns\vbox % temp, must be better
% {\forgetall
% \offinterlineskip
-% \box\namedinsertionnumber\s!bottomfloat
+% \box\botins
% \box\columnbotbox\mofcolumns}
\fi
- \global\d_page_floats_inserted_bottom\zeropoint\relax} % goes away
+ \global\botinserted\zeropoint\relax} % goes away
% set ipv text
@@ -2175,8 +2135,6 @@
% links rechts => odd, even, n, named
-\definesystemvariable {mt} % MulTicolumn
-
\unexpanded\def\definecolumntextarea
{\dotripleempty\dodefinecolumntextarea}
@@ -2353,7 +2311,7 @@
\c!height=\!!heighta]%
{\copy\scratchbox}%
\fi}%
- \page_set_cell_set\!!counta\!!countb\box0
+ \OTRSETsetgridcell\!!counta\!!countb\box0
\ifcase\!!countc\else
\advance\!!counta \columntextareaparameter\c!nx
\advance\!!counta -\!!countc
@@ -2370,7 +2328,7 @@
\c!height=\!!heighta,%
\c!hoffset=\!!widthb]%
{\copy\scratchbox}}%
- \page_set_cell_set\!!counta\!!countb\box0%
+ \OTRSETsetgridcell\!!counta\!!countb\box0%
\fi}
\unexpanded\def\setupcolumntextareatext
@@ -2408,7 +2366,7 @@
\fi
\advance\!!counta \plusone
\dostepwiserecurse\!!counta\!!countb\plusone
- {\advance\!!widtha\namedcolumnsetparameter{\currentcolumnset:\recurselevel}\c!distance}%
+ {\advance\!!widtha\OTRSETgetparameter\c!distance\recurselevel}%
\!!widthb\!!widtha
\advance\!!widthb -\!!countc\textwidth
\ifodd\realpageno \else % tricky, assumes that we keep there
@@ -2418,7 +2376,7 @@
\advance\!!widtha \namedlayoutparameter\v!odd \c!backspace
\advance\!!widthb \namedlayoutparameter\v!even\c!backspace
\dorecurse\!!countc
- {\advance\!!widtha\namedcolumnsetparameter{\currentcolumnset:\recurselevel}\c!distance}%
+ {\advance\!!widtha\OTRSETgetparameter\c!distance\recurselevel}%
\fi
\fi}
@@ -2428,12 +2386,12 @@
{\!!counta#1\!!countb#2\docalculatecolumnsetspan
\edef\columnsetspanhsize{\the\!!widtha}}
-\unexpanded\def\page_set_command_set_float_hsize % this helper has to be moved to strc-flt
+\unexpanded\def\page_set_command_set_float_hsize
{\hsize % maybe checking optional
- \ifdim\d_strc_float_temp_width>\makeupwidth
+ \ifdim\tempfloatwidth>\makeupwidth
\makeupwidth
\else
- \d_strc_float_temp_width
+ \tempfloatwidth
\fi}
\unexpanded\def\definecolumnsetspan
@@ -2580,12 +2538,12 @@
% \stopcolumnset
\unexpanded\def\page_set_command_flush_saved_floats % rather similar to _one_ ut this might change
- {\global\d_page_floats_inserted_top\zeropoint
- \global\d_page_floats_inserted_bottom\zeropoint
- \ifconditional\c_page_floats_flushing \else
+ {\global\topinserted\zeropoint
+ \global\botinserted\zeropoint
+ \ifflushingfloats \else
\page_set_command_set_top_insertions
\page_set_command_set_bottom_insertions
- \ifconditional\c_page_floats_some_waiting
+ \ifsomefloatwaiting
\doif{\rootfloatparameter\c!cache}\v!no\page_set_command_flush_floats % could be _otr_
\fi
\fi}