summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/page-mis.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/page-mis.mkiv')
-rw-r--r--Master/texmf-dist/tex/context/base/page-mis.mkiv127
1 files changed, 50 insertions, 77 deletions
diff --git a/Master/texmf-dist/tex/context/base/page-mis.mkiv b/Master/texmf-dist/tex/context/base/page-mis.mkiv
index a620835e470..f7c3d529d1a 100644
--- a/Master/texmf-dist/tex/context/base/page-mis.mkiv
+++ b/Master/texmf-dist/tex/context/base/page-mis.mkiv
@@ -15,24 +15,24 @@
\unprotect
-\newif\ifmargeblokken
+\newif\ifmarginblocks
\def\dosetupmarginblocks[#1]%
{\getparameters[\??mb][#1]%
\doifelse\@@mbstate\v!start
{\showmessage\m!layouts4\empty
- \margeblokkentrue
+ \marginblockstrue
\let\somenextfloat\dosomenextfloat
\let\startmarginblock\dostartmarginblock
\let\stopmarginblock\dostopmarginblock}%
{\showmessage\m!layouts5\empty
- \margeblokkenfalse
+ \marginblocksfalse
\def\somenextfloat[##1]%
{\someelsefloat[##1,\v!here]}%
\let\startmarginblock\dontstartmargeblok
\let\stopmarginblock\dontstopmargeblok}}
-\def\setupmarginblocks
+\unexpanded\def\setupmarginblocks
{\dosingleargument\dosetupmarginblocks}
\newbox\marginbox
@@ -43,11 +43,11 @@
\unvcopy\marginbox
\ifvoid\marginbox\else\expandafter\@@mbinbetween\fi
\box\floatbox\filbreak}%
- \ifdim\ht\marginbox>\textheight
- \dosavefloatinfo
- \else
- \doinsertfloatinfo
- \fi}
+ \ifdim\ht\marginbox>\textheight
+ % \dosavefloatinfo
+ \else
+ \doinsertfloatinfo
+ \fi}
\newbox\preparedmarginbox
@@ -64,16 +64,16 @@
\@@mbbottom}%
\fi}
-\def\plaatsrechtermargeblok
+\unexpanded\def\placerightmarginblock
{\hskip\rightmarginwidth}
-\def\plaatslinkermargeblok
+\unexpanded\def\placeleftmarginblock
{\hskip\leftmarginwidth}
-\def\checkmargeblokken
- {\ifvoid\marginbox\else\docheckmargeblokken\fi}
+\def\checkmarginblocks
+ {\ifvoid\marginbox\else\docheckmarginblocks\fi}
-\def\docheckmargeblokken % erg inefficient
+\def\docheckmarginblocks % erg inefficient
{\setbox\preparedmarginbox\vbox
{\forgetall
\splittopskip\topskip
@@ -88,13 +88,13 @@
\setbox\preparedmarginbox\vbox
{\@@mbbefore\box\preparedmarginbox\@@mbafter}%
\def\rightmarginbox
- {\def\plaatsrechtermargeblok
+ {\unexpanded\def\placerightmarginblock
{\setbox\preparedmarginbox\hbox to \rightmarginwidth
{\@@mbleft\box\preparedmarginbox\@@mbright}%
\vsmashbox\preparedmarginbox
\box\preparedmarginbox}}%
\def\leftmarginbox
- {\def\plaatslinkermargeblok
+ {\unexpanded\def\placeleftmarginblock
{\setbox\preparedmarginbox\hbox to \leftmarginwidth
{\@@mbright\box\preparedmarginbox\@@mbleft}%
\vsmashbox\preparedmarginbox
@@ -134,7 +134,7 @@
\egroup
\@@mbafter}
-\newcounter\nofpostponedblocks
+\newcount\nofpostponedblocks
\newif\ifinpostponing
@@ -159,66 +159,39 @@
%
% \starttext \dorecurse{4}{\input tufte \page} \stoptext
-\newtoks \postponedpageblocks
-\newcounter\nofpostponedpageblocks
+\newtoks \postponedpageblocks
+\newcount \nofpostponedpageblocks
% \ifinpostponing: handhaven, want gebruikt in stijlen ! ! ! ! !
-\def\flushpagefloats
- {\doifoddpageelse
- {\ifvoid\collectedleftpagefloats
- \ifvoid\collectedrightpagefloats\else
- \unvbox\collectedrightpagefloats
- \page
- %\the\everytopofpage
- \fi
- \fi}
- {\ifvoid\collectedleftpagefloats\else
- \unvbox\collectedleftpagefloats
- \page
- %\the\everytopofpage
- \fi
- \ifvoid\collectedrightpagefloats\else
- \unvbox\collectedrightpagefloats
- \page
- %\the\everytopofpage
- \fi}%
- \ifvoid\collectedpagefloats\else
- % message
- \unvbox\collectedpagefloats
- \fi}
-
-% \def\flushrestfloats
-% {\doif{\floatsharedparameter\c!cache}\v!no\doflushfloats}
+\def\dodoflushpostponedblocks
+ {\bgroup % we need the font switch, else problems inside split verbatim
+ \setnormalcatcodes % postponing in verbatim
+ \restoreglobalbodyfont
+ \global\pagetotal\zeropoint
+ \global\inpostponingtrue
+ \the\postponedpageblocks
+ \dorecurse\nofpostponedblocks
+ {\getbuffer[pbuf-\recurselevel]}%
+ \doflushfloats % new but potential dangerous
+ \global\nofpostponedblocks\zerocount
+ \global\inpostponingfalse
+ \egroup}
-% \let\flushrestfloats\relax
+\def\doflushpostponedblocks
+ {\ifinpostponing \else
+ \ifcase\nofpostponedblocks \else \dodoflushpostponedblocks \fi
+ \ifcase\nofpostponedpageblocks \else \dodoflushpostponedblocks \fi
+ \fi}
-\def\dopostponeblock
- {\bgroup % new may 2004
- \setsystemmode\v!postponing % new may 2004
+\def\doflushpostponedcontent
+ {\bgroup
+ \setsystemmode\v!postponing
\the\everytopofpage
%\flushrestfloats
- \flushpagefloats
- \donefalse
- \ifinpostponing \else
- \ifcase\nofpostponedblocks \else \donetrue \fi
- \ifcase\nofpostponedpageblocks \else \donetrue \fi
- \fi
- \ifdone
- \bgroup % we need the color/font switch, else problems inside split verbatim
- \setnormalcatcodes % postponing in verbatim
- \restoreglobalbodyfont % The \nof-test is
- \global\pagetotal\zeropoint % recently added and
- \global\inpostponingtrue % definitely needed else
- \the\postponedpageblocks % we can loose or disorder
- \dorecurse\nofpostponedblocks % floats; anyhow, this
- {\getbuffer[pbuf-\recurselevel]}% % mechanism is still
- \doflushfloats % new but potential dangerous % suboptimal and needs a
- \doglobal\newcounter\nofpostponedblocks % proper analysis
- \global\inpostponingfalse
- \egroup
- \fi
- \egroup} % new may 2004
+ \doflushpagefloats
+ \doflushpostponedblocks
+ \egroup}
\def\getpostponedblock#1#2%
{\doif{#1}\realfolio{\getbuffer[rbuf-#2]}} % no \ifnum, avoid \fi
@@ -231,20 +204,20 @@
\doifnextoptionalelse{\egroup\nodostartpostponing}{\egroup\dodostartpostponing}}
\def\nodostartpostponing[#1]%
- {\doglobal\increment\nofpostponedpageblocks
+ {\global\advance\nofpostponedpageblocks\plusone % hm, never reset?
\bgroup % a little bit of misusing grouping
\doifinstring{+}{#1}\advance \realpageno#1\relax % ugly but efficient
\doglobal\appendetoks\noexpand\getpostponedblock
- {\realfolio}{\nofpostponedpageblocks}\to\postponedpageblocks
+ {\realfolio}{\number\nofpostponedpageblocks}\to\postponedpageblocks
\egroup
- \showmessage\m!layouts3\nofpostponedpageblocks
- \dostartbuffer[rbuf-\nofpostponedpageblocks]%
+ \showmessage\m!layouts3{\number\nofpostponedpageblocks}%
+ \dostartbuffer[rbuf-\number\nofpostponedpageblocks]%
[\e!start\v!postponing][\e!stop\v!postponing]}
\def\dodostartpostponing
- {\doglobal\increment\nofpostponedblocks
- \showmessage\m!layouts3\nofpostponedblocks
- \expanded{\dostartbuffer[pbuf-\nofpostponedblocks][\e!start\v!postponing][\e!stop\v!postponing]}}
+ {\global\advance\nofpostponedblocks\plusone
+ \showmessage\m!layouts3{\number\nofpostponedblocks}%
+ \expanded{\dostartbuffer[pbuf-\number\nofpostponedblocks][\e!start\v!postponing][\e!stop\v!postponing]}}
% Setups: