summaryrefslogtreecommitdiff
path: root/tex/context/base/page-ini.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/page-ini.mkiv')
-rw-r--r--tex/context/base/page-ini.mkiv203
1 files changed, 35 insertions, 168 deletions
diff --git a/tex/context/base/page-ini.mkiv b/tex/context/base/page-ini.mkiv
index 4c230c1fd..249b6eca6 100644
--- a/tex/context/base/page-ini.mkiv
+++ b/tex/context/base/page-ini.mkiv
@@ -38,13 +38,6 @@
\fi
-\ifx\recalculatelogos\undefined
-
- \let \recalculatelogos \relax
- \let \addlogobackground \gobbleoneargument % <box>
-
-\fi
-
\ifx\recalculatebackgrounds\undefined
\let \recalculatebackgrounds \relax
@@ -132,22 +125,6 @@
% floats:
%
% tricky in balancing mode, a la huidige multi columns
-
-% messages moved
-
-% messages moved
-
-% messages moved
-
-% messages moved
-
-% messages moved
-
-% messages moved
-
-% messages moved
-
-% messages moved
\ifx\dosetuplayout\undefined % overloaded in page-lay !
@@ -455,17 +432,9 @@
\ifx\bye\undefined \def\bye{\par\vfill\supereject\end} \fi % plain tex command
% floats
-%
-% \def\ejectinsert
-% {\flushnotes
-% \bgroup
-% \noftopfloats\plusthousand
-% \nofbotfloats\zerocount
-% \doflushfloats
-% \egroup}
\def\ejectinsert
- {\flushnotes
+ {%\flushnotes already done
\bgroup
\noftopfloats\plusthousand
\nofbotfloats\zerocount
@@ -481,7 +450,7 @@
\def\ejectdummypage
{\endgraf \ifvmode
\ejectinsert
- \hardespatie % will be different
+ \fixedspace
\vfill
\gotonextpage
\fi}
@@ -490,7 +459,7 @@
{}
\def\afterfinaloutput
- {\forgetall
+ {%\forgetall
\vskip\zeropoint\relax
\ifvoid\normalpagebox \else
\unvbox\normalpagebox
@@ -507,36 +476,32 @@
\adaptfuzzypagegoal} % watch this hack!
\def\dofinaloutput#1#2% \vbox: prevents spurious spaces in every..pagebody
- {\beforefinaloutput
+ {\forgetall
+ \beforefinaloutput
\the\everybeforeshipout % brrr not in shipout
\the\pageboundsettings
- \myshipout{\hbox{\vbox{\dopagebody#1#2\setpagecounters}}}%
+ \myshipout{\hbox{\vbox{\dopagebody#1#2}}}% is this hbox needed
\the\everyaftershipout
- \afterfinaloutput
- \popproperties} % ... and here ...
+ \afterfinaloutput}
\def\donofinaloutput#1#2%
- {\beforefinaloutput
+ {\forgetall
+ \beforefinaloutput
\the\everybeforeshipout
\setpagecounters
\message{[-\the\realpageno]}%
- \setbox\scratchbox\hbox
- {%\the\everyshipout % still needed here ?
- \dopagebody#1#2}%
+ \setbox\scratchbox\hbox{\dopagebody#1#2}%
\deadcycles\zerocount
- \gotonextrealpage
+ \setnextrealpageno
\the\everyaftershipout
- \afterfinaloutput
- \popproperties} % ... and here
+ \afterfinaloutput}
% beware: \ifprocessingpages is in use
-\ifx\checkpageversion\undefined \let\checkpageversion\relax \fi % todo: hook into \everybeforeshipout
-\ifx\doflushspread \undefined \let\doflushspread \relax \fi % todo
+\ifdefined\doflushspread\else \let\doflushspread\relax \fi % todo
\def\finaloutput#1#2%
- {\checkpageversion
- \ifprocessingpages
+ {\ifprocessingpages
\ifpageselected
\@EAEAEA\dofinaloutput
\else
@@ -624,9 +589,8 @@
\offinterlineskip
\vskip\topspace
\hsize\paperwidth
- \hfill\hbox{\placetestinfo\hskip.5cm}\vss
+ %\hfill\hbox{\placetestinfo\hskip.5cm}\vss % obsolete
\settexthoffset\hskip\texthoffset % brrrr
- %\tlap{\placeversioninfo}\vskip.5cm
\vbox to 1cm{\vss\placeversioninfo\vss}}}
\def\dotestinfo#1#2#3%
@@ -651,44 +615,6 @@
\fi
\fi\fi}
-% this will be inserts some day
-
-% \installinsertion\referenceinfobox
-% \installinsertion\registerinfobox
-% \installinsertion\floatinfobox
-
-\newbox\referenceinfobox
-\newbox\registerinfobox
-\newbox\floatinfobox
-
-\def\referenceinfo{\dotestinfo\referenceinfobox}
-\def\registerinfo {\dotestinfo\registerinfobox}
-\def\floatinfo {\dotestinfo\floatinfobox}
-
-\def\placetestinfo
- {\vbox to \makeupheight
- {\forgetall
- \infofont
- \hsize10em
- \ifvoid\floatinfobox\else
- \strut \getmessage\m!systems{24}%
- \vskip\!!sixpoint
- \unvbox\floatinfobox
- \vskip\!!twelvepoint
- \fi
- \ifvoid\referenceinfobox\else
- \strut \getmessage\m!systems{25}%
- \vskip\!!sixpoint
- \unvbox\referenceinfobox
- \vskip\!!twelvepoint
- \fi
- \ifvoid\registerinfobox\else
- \strut \getmessage\m!systems{26}%
- \vskip\!!sixpoint
- \unvbox\registerinfobox
- \fi
- \vss}}
-
\version[\v!final]
% bewaren tvb documentatie
@@ -803,7 +729,7 @@
{\ifsavepagebody\global\setbox\savedpagebody\fi
\vbox
{\beginrestorecatcodes
- \forgetall % igv problemen, check: \boxmaxdepth\maxdimen
+% \forgetall % igv problemen, check: \boxmaxdepth\maxdimen
\boxmaxdepth\maxdimen % new
\dontcomplain
% the following plugin uses and sets pagebox; beware: this
@@ -854,7 +780,6 @@
\getmainbox#1#2}% including footnotes
\ifcase\pageornamentstate
\addmainbackground \pagebox
- \addlogobackground \pagebox
\fi
\buildpagebox \pagebox
\addstatusinfo \pagebox}
@@ -870,8 +795,9 @@
\negateprintbox #1%
\fi}
+\appendtoks \restoreouterspacing \to \everybeforepagebody
\appendtoks \restoreglobalbodyfont \to \everybeforepagebody
-\appendtoks \restorecolumnsettings \to \everybeforepagebody
+%appendtoks \restoreouterspacing \to \everybeforepagebody
\ifx\nestednewbox\undefined \newbox\nestednextbox \fi
@@ -881,14 +807,14 @@
{%\getallmarks % now in following token register
\the\everybeforepagebody
\starttextproperties
- \gotonextsubpage % nog eens: als in pagina (tbv standaard opmaak)
- \dontshowboxes % dan hier blokkeren en verderop resetten
+ \setnextsubpageno % nog eens: als in pagina (tbv standaard opmaak)
+ \dontshowboxes % dan hier blokkeren en verderop resetten
% \shipoutfacingpage
\checkmargeblokken
\the\beforeeverypage
- \flushtoks\beforepage
+ \normalexpanded{\global\beforepage\emptytoks\the\beforepage}% \scratchtoks\beforepage\global\beforepage\emptytoks\the\scratchtoks % was \flushtoks\beforepage
\inpagebodytrue\buildpagebody#1#2%
- \flushtoks\afterpage
+ \normalexpanded{\global\afterpage \emptytoks\the\afterpage }% \scratchtoks\afterpage \global\afterpage \emptytoks\the\scratchtoks % was \flushtoks\afterpage
\the\aftereverypage
\resetpagebreak
%updatelistreferences % now in aftereverypage
@@ -898,65 +824,12 @@
\newtoks\pageboundsettings
-\prependtoks \initializepaper \to \pageboundsettings
+% \prependtoks \initializepaper \to \pageboundsettings
% not here
\newif\ifpagebreakdisabled \pagebreakdisabledfalse
-% \chardef\testpagemethod=0 % todo: \testnewpage[method=,lines=,voffset=]
-%
-% \def\testpage {\dotripleempty\dotestpage[\plusone]}
-% \def\testpageonly{\dotripleempty\dotestpage[\plustwo]}
-%
-% \def\dotestpage[#1][#2][#3]%
-% {%\relax % needed before \if
-% \endgraf
-% \ifpagebreakdisabled
-% % do nothing
-% \else
-% %ifnum#1=\plusone\synchronizeoutput\fi
-% \ifdim\pagegoal<\maxdimen \relax
-% \ifdim\pagetotal<\pagegoal \relax
-% \scratchdimen\lineheight
-% \multiply\scratchdimen#2\relax
-% \advance\scratchdimen \pagetotal
-% \ifdim\lastskip<\parskip
-% \advance\scratchdimen \parskip
-% \fi
-% \ifthirdargument
-% \advance\scratchdimen#3\relax
-% \fi
-% \ifcase\testpagemethod
-% \ifdim\scratchdimen>.99\pagegoal
-% \vfill\eject % \penalty-\!!tenthousand\relax
-% \fi
-% \or
-% \advance\scratchdimen-\pagegoal
-% \ifdim\scratchdimen>-\lineheight
-% \vfill\eject % \penalty-\!!tenthousand\relax
-% \fi
-% \or
-% \getnoflines\pagegoal
-% \advance\scratchdimen-\noflines\lineheight \relax
-% \ifdim\scratchdimen>-\lineheight
-% \vfill\eject % \penalty-\!!tenthousand\relax
-% \fi
-% \or % same as 0 but more accurate
-% \advance\scratchdimen-10\s!sp\relax
-% \ifdim\scratchdimen>\pagegoal
-% \vfill\eject % \penalty-\!!tenthousand\relax
-% \fi
-% \fi
-% \else
-% % force page break / new
-% % \vfill\eject % \penalty-\!!tenthousand\relax
-% \fi
-% \else
-% \ifnum#1=\plusone\goodbreak\fi
-% \fi
-% \fi}
-
\chardef\testpagemethod \zerocount % todo: \testnewpage[method=,lines=,voffset=]
\chardef\testpagetrigger\zerocount
@@ -1075,38 +948,32 @@
\def\executepagebreakhandler#1%
{\edef\@@pagespecification{#1}%
- \doifdefinedelse{\??pe:\@@pagespecification}
- {\getvalue{\??pe:\@@pagespecification}}
- {\doifdefinedelse{\??pe::\@@pagespecification}
- {\executepagebreakhandlers{\getvalue{\??pe::\@@pagespecification}}}
- {\getvalue{\??pe:\s!unknown}}}}
+ \ifcsname\??pe:\@@pagespecification\endcsname
+ \csname\??pe:\@@pagespecification\endcsname
+ \else\ifcsname\??pe::\@@pagespecification\endcsname
+ \executepagebreakhandlers{\csname\??pe::\@@pagespecification\endcsname}%
+ \else
+ \csname\??pe:\s!unknown\endcsname
+ \fi\fi}
\long\def\installpagebreakhandler#1#2%
{\long\setvalue{\??pe:#1}{#2}}
-% \definecomplexorsimple\pagebreak
-
-% \def\simplepagebreak
-% {\executepagebreakhandler\v!ja}
-
-% \def\complexpagebreak[#1]% if empty, do nothing and avoid processing,
-% {\flushnotes % see head's; watch how we group
-% \doifsomething{#1}{\bgroup\executepagebreakhandlers{#1}\egroup}}
-
\unexpanded\def\pagebreak
{\dosingleempty\dopagebreak}
\def\dopagebreak[#1]% so, page ornaments are reset after a pagebreak command, unless set
{\bgroup
+ \flushnotes
\edef\prevrealpageno{\the\realpageno}%
\ifcase\pageornamentstate \or
% disable reset after shipout
\global\chardef\pageornamentstate\plustwo
\fi
\iffirstargument % or if empty i.e. []
- \flushnotes\executepagebreakhandlers{#1}%
+ \executepagebreakhandlers{#1}%
\else % so, no pagebreak when \pagebreak[] ! ! !
- \flushnotes\executepagebreakhandler\v!yes
+ \executepagebreakhandler\v!yes
\fi
\ifnum\prevrealpageno<\realpageno
\global\chardef\pageornamentstate\zerocount
@@ -1375,7 +1242,7 @@
\def\dodobeforeshipout#1%
{\global\let\beforeshipout\relax
- \getvalue{\??pg#1\c!before}}
+ \csname\??pg#1\c!before\endcsname}
\def\dobeforeshipout
{\doifsomething\currentpageselection
@@ -1384,7 +1251,7 @@
\def\dododoaftershipout#1%
{\global\let\aftershipout\relax
\global\let\currentpageselection\empty
- \getvalue{\??pg#1\c!after}}
+ \csname\??pg#1\c!after\endcsname}
\def\dodoaftershipout#1%
{\doifelsevalue{\??pg#1\c!option}\v!doublesided