summaryrefslogtreecommitdiff
path: root/tex/context/base/page-ini.tex
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2004-08-30 00:00:00 +0200
committerHans Hagen <pragma@wxs.nl>2004-08-30 00:00:00 +0200
commit334f3edd2304915fc8b50a722a56765f41b1a7d5 (patch)
tree0d62c2871118f4971fa7b0b6bb1e87b12f647bff /tex/context/base/page-ini.tex
parent08a4bcc9bff26007ca9b5d14d6beaacab74c9ce4 (diff)
downloadcontext-334f3edd2304915fc8b50a722a56765f41b1a7d5.tar.gz
stable 2004.08.30
Diffstat (limited to 'tex/context/base/page-ini.tex')
-rw-r--r--tex/context/base/page-ini.tex257
1 files changed, 166 insertions, 91 deletions
diff --git a/tex/context/base/page-ini.tex b/tex/context/base/page-ini.tex
index 37dbc8835..f43d38fbd 100644
--- a/tex/context/base/page-ini.tex
+++ b/tex/context/base/page-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ file=page-ini,
+%D [ filefile=page-ini,
%D version=2000.10.20,
%D title=\CONTEXT\ Page Macros,
%D subtitle=Initializations,
@@ -922,20 +922,34 @@
\dosupereject
\fi
% but does not hurt either (we're still in the otr!)
- \inpagebodytrue % needed for enabling \blanko !
+ \inpagebodytrue % needed for enabling \blank !
\flushsavedfloats % was \dosetbothinserts; only otr one !
\setvsize % this is needed for interacting components, like floats and multicolumns
\adaptfuzzypagegoal} % watch this hack!
-\def\dofinaloutput#1#2%
+% \def\dofinaloutput#1#2%
+% {\beforefinaloutput
+% \the\everybeforeshipout
+% \ifspecialbasedsettings
+% \myshipout{\hbox{\hbox to \zeropoint{\the\pageboundsettings}%
+% \hbox{\dopagebody#1#2\setpagecounters}}}%
+% \else
+% \the\pageboundsettings
+% \myshipout{\hbox{\dopagebody#1#2\setpagecounters}}%
+% \fi
+% \the\everyaftershipout
+% \afterfinaloutput
+% \popproperties} % ... and here ...
+
+\def\dofinaloutput#1#2% \vbox: prevents spurious spaces in every..pagebody
{\beforefinaloutput
\the\everybeforeshipout
\ifspecialbasedsettings
\myshipout{\hbox{\hbox to \zeropoint{\the\pageboundsettings}%
- \hbox{\dopagebody#1#2\setpagecounters}}}%
+ \hbox{\vbox{\dopagebody#1#2\setpagecounters}}}}%
\else
\the\pageboundsettings
- \myshipout{\hbox{\dopagebody#1#2\setpagecounters}}%
+ \myshipout{\hbox{\vbox{\dopagebody#1#2\setpagecounters}}}%
\fi
\the\everyaftershipout
\afterfinaloutput
@@ -1004,14 +1018,14 @@
\or
% simple
\vskip\!!sixpoint
- \hbox to \zetbreedte
+ \hbox to \makeupwidth
{\infofont
Concept: \currentdate
\hss\reportpagedimensions}%
\or
% extensive
\vskip\!!sixpoint
- \hbox to \zetbreedte
+ \hbox to \makeupwidth
{\infofont
\getmessage\m!systems{27}: \currentdate\
\doplaatsversieaanduiding{Project}\currentproject
@@ -1023,19 +1037,19 @@
% tot hier
-\def\doversie[#1]%
+\def\doversion[#1]%
{\voorlopigfalse
\chardef\conceptmode\zerocount
\overfullrule\zeropoint
- \processaction % \v!definitief=>
+ \processaction % \v!final=>
[#1]
[ \v!concept=>\chardef\conceptmode\plusone,% simple banner
\v!file=>\chardef\conceptmode\plustwo,% full banner
- \v!voorlopig=>\chardef\conceptmode\plustwo % full banner plus
+ \v!temporary=>\chardef\conceptmode\plustwo % full banner plus
\overfullrule5\points]} % info in the margin
-\def\versie
- {\dosingleargument\doversie}
+\def\version
+ {\dosingleargument\doversion}
%\def\addstatusinfo
% {\ifvoorlopig
@@ -1054,11 +1068,11 @@
\fi}
\def\doaddstatusinfo#1%
- {\setbox#1\vbox to \papierhoogte
+ {\setbox#1\vbox to \paperheight
{\vsmashbox#1\box#1%
\offinterlineskip
- \vskip\kopwit
- \hsize\papierbreedte
+ \vskip\topspace
+ \hsize\paperwidth
\hfill\hbox{\plaatstestinfo\hskip.5cm}\vss
\settexthoffset\hskip\texthoffset % brrrr
%\tlap{\plaatsversieaanduiding}\vskip.5cm}}
@@ -1103,7 +1117,7 @@
\def\plaatstestinfo
{\ifvoorlopig
- \vbox to \zethoogte
+ \vbox to \makeupheight
{\forgetall
\infofont
\hsize10em
@@ -1127,7 +1141,7 @@
\vss}
\fi}
-\versie[\v!definitief]
+\version[\v!final]
\newif\ifinpagebody
@@ -1175,21 +1189,21 @@
\processaction
[#1]%
[\v!reset=>\chardef\showgridstate\zerocount,
- %\v!onder=>\chardef\showgridstate\plusone,
- \v!boven=>\chardef\showgridstate\plustwo]}
+ %\v!bottom=>\chardef\showgridstate\plusone,
+ \v!top=>\chardef\showgridstate\plustwo]}
\def\buildpagebox#1%
- {\setbox#1\vbox to \papierhoogte
- {\hsize\papierbreedte
- \vskip\kopwit
+ {\setbox#1\vbox to \paperheight
+ {\hsize\paperwidth
+ \vskip\topspace
\doifbothsides
- \hskip\rugwit
+ \hskip\backspace
\orsideone
- \hskip\rugwit
+ \hskip\backspace
\orsidetwo
- \hskip\papierbreedte
- \hskip-\rugwit
- \hskip-\zetbreedte
+ \hskip\paperwidth
+ \hskip-\backspace
+ \hskip-\makeupwidth
\od
\box#1}%
\dp#1\zeropoint}
@@ -1233,7 +1247,7 @@
% beware, \??ly is used before defined, i.e. bad module design
-\setuplayout[\c!methode=\v!normaal]
+\setuplayout[\c!method=\v!normal]
\def\buildpagebody#1#2%
{\ifsavepagebody\global\setbox\savedpagebody\fi
@@ -1241,18 +1255,18 @@
{\beginrestorecatcodes
\forgetall % igv problemen, check: \boxmaxdepth\maxdimen
\boxmaxdepth\maxdimen % new
- \mindermeldingen
+ \dontcomplain
% the following plugin uses and sets pagebox; beware: this
% will change and is for my (hh) personal experiments
- \executeifdefined{\??ly\c!methode\@@lymethode}%
- {\getvalue{\??ly\c!methode\v!normaal}}#1#2%
+ \executeifdefined{\??ly\c!method\@@lymethod}%
+ {\getvalue{\??ly\c!method\v!normal}}#1#2%
% the finishing touch
\ifcase\pageornamentstate
\addpagebackground \pagebox
\fi
\registerpageposition\pagebox
\ifarrangingpages
- \shiftpaperpagebox \pagebox % \v!papier
+ \shiftpaperpagebox \pagebox % \v!paper
\else
\clippagebox \pagebox
\addpagecutmarks \pagebox
@@ -1265,7 +1279,7 @@
\addprintbackground\pagebox
\mirrorprintbox \pagebox
\rotateprintbox \pagebox
- \shiftprintpagebox \pagebox % \v!pagina
+ \shiftprintpagebox \pagebox % \v!page
\offsetprintbox \pagebox
\negateprintbox \pagebox
\fi
@@ -1273,12 +1287,12 @@
\endrestorecatcodes}%
\ifsavepagebody\copy\savedpagebody\fi}
-\setvalue{\??ly\c!methode\v!normaal}#1#2%
+\setvalue{\??ly\c!method\v!normal}#1#2%
{\setbox\pagebox\vbox
{\offinterlineskip
\ifcase\pageornamentstate
\bgroup % else footnotes get inconsistent font/baseline
- \dostartattributes\??ly\c!letter\c!kleur\empty
+ \dostartattributes\??ly\c!style\c!color\empty
\offinterlineskip
\gettextboxes
\dostopattributes
@@ -1316,7 +1330,7 @@
\starttextproperties
\gotonextsubpage % nog eens: als in pagina (tbv standaard opmaak)
\dontshowboxes % dan hier blokkeren en verderop resetten
- \naastpagina
+% \shipoutfacingpage
\checkreferences
\checkmargeblokken
\dotoks\beforeeverypage
@@ -1410,7 +1424,7 @@
% was: \resetsectionmarks\firstsection, zie \handelpaginaaf
\def\page {\pagebreak} % the short form of \pagebreak (mult-com one)
-\def\pagina{\pagebreak} % for the moment, keep this one
+\def\page{\pagebreak} % for the moment, keep this one
\def\resetpagebreak
{\global\paginageblokkeerdfalse}
@@ -1451,7 +1465,7 @@
\iffirstargument % or if empty i.e. []
\flushnotes\executepagebreakhandlers{#1}%
\else % so, no pagebreak when \pagebreak[] ! ! !
- \flushnotes\executepagebreakhandler\v!ja
+ \flushnotes\executepagebreakhandler\v!yes
\fi
\ifnum\prevrealpageno<\realpageno
\global\chardef\pageornamentstate\zerocount
@@ -1466,8 +1480,8 @@
\gotonextpage
\ejectdummypage}
-\installpagebreakhandler \v!kader
- {\page\bgroup\showframe\page[\v!leeg]\egroup}
+\installpagebreakhandler \v!frame
+ {\page\bgroup\showframe\page[\v!empty]\egroup}
\installpagebreakhandler \s!unknown
{\doifinstringelse{+}\@@pagespecification
@@ -1492,59 +1506,59 @@
{% better not: \global\chardef\pageornamentstate\zerocount
\resetpagebreak}
-\installpagebreakhandler \v!blokkeer
+\installpagebreakhandler \v!disable
{\global\paginageblokkeerdtrue}
-\installpagebreakhandler \v!ja
+\installpagebreakhandler \v!yes
{\ifpaginageblokkeerd\else
\ejectinsert
\gotonextpage
- \ifbinnenkolommen % this will move to MUL
+ \ifinsidecolumns % this will move to MUL
\ejectpage % anders soms geen overgang
\fi
\fi}
-\installpagebreakhandler \v!opmaak % ??
+\installpagebreakhandler \v!makeup % ??
{\ifpaginageblokkeerd\else
\eject
\fi}
-\installpagebreakhandler \v!blanko
+\installpagebreakhandler \v!blank
{\ifcase\pageornamentstate
\global\chardef\pageornamentstate\plusone
\fi}
-\installpagebreakhandler \v!nee
+\installpagebreakhandler \v!no
{\ifpaginageblokkeerd\else
\dosomebreak\nobreak
\fi}
-\installpagebreakhandler \v!voorkeur
+\installpagebreakhandler \v!preference
{\ifpaginageblokkeerd\else
- \ifbinnenkolommen % this will move to MUL
+ \ifinsidecolumns % this will move to MUL
\dosomebreak\goodbreak
\else
\testpage[3][\zeropoint]%
\fi
\fi}
-\installpagebreakhandler \v!grotevoorkeur
+\installpagebreakhandler \v!bigpreference
{\ifpaginageblokkeerd\else
- \ifbinnenkolommen % this will move to MUL
+ \ifinsidecolumns % this will move to MUL
\dosomebreak\goodbreak
\else
\testpage[5][\zeropoint]%
\fi
\fi}
-\installpagebreakhandler \v!leeg
+\installpagebreakhandler \v!empty
{\ejectinsert
\gotonextpage
- \doifnotvalue{\??tk\v!hoofd\c!status}\v!stop{\setupheader[\c!status=\v!leeg]}%
- \doifnotvalue{\??tk\v!voet \c!status}\v!stop{\setupfooter[\c!status=\v!leeg]}%
+ \doifnotvalue{\??tk\v!header\c!state}\v!stop{\setupheader[\c!state=\v!empty]}%
+ \doifnotvalue{\??tk\v!footer \c!state}\v!stop{\setupfooter[\c!state=\v!empty]}%
\ejectdummypage}
-\installpagebreakhandler \v!links
+\installpagebreakhandler \v!left
{\ejectinsert
\gotonextpageX % will become \gotonextpage
\doifbothsidesoverruled
@@ -1554,7 +1568,7 @@
\orsidetwo
\od}
-\installpagebreakhandler \v!rechts
+\installpagebreakhandler \v!right
{\ejectinsert
\gotonextpageX % will become \gotonextpage
\doifbothsidesoverruled
@@ -1565,14 +1579,14 @@
\od}
\installpagebreakhandler \v!even
- {\pagina
+ {\page
\doifoddpageelse{\resetcurrentsectionmarks\ejectdummypage}\donothing}
-\installpagebreakhandler \v!oneven
- {\pagina
+\installpagebreakhandler \v!odd
+ {\page
\doifoddpageelse\donothing{\resetcurrentsectionmarks\ejectdummypage}}
-\installpagebreakhandler \v!viertal % not yet ok inside columnsets
+\installpagebreakhandler \v!quadruple % not yet ok inside columnsets
{\ifdubbelzijdig
\!!counta\realpageno
\!!countb\realpageno
@@ -1580,18 +1594,18 @@
\divide\!!countb 2
\ifnum\!!counta=\!!countb
\else
- \executepagebreakhandler\v!ja
- \executepagebreakhandler\v!leeg
- \executepagebreakhandler\v!leeg
+ \executepagebreakhandler\v!yes
+ \executepagebreakhandler\v!empty
+ \executepagebreakhandler\v!empty
\fi
\fi}
-\installpagebreakhandler \v!laatste
+\installpagebreakhandler \v!last
{\ejectinsert
\gotonextpageX % will become \gotonextpage
\relax
\doifbothsidesoverruled
- \naastpagina
+ \shipoutfacingpage
\orsideone
\orsidetwo
\noheaderandfooterlines
@@ -1607,11 +1621,11 @@
% nb: \executepagebreakhandler\v!hoofd in other ones
-\installpagebreakhandler \v!hoofd
- {\doifnotvalue{\??tk\v!hoofd\c!status}\v!stop{\setupheader[\c!status=\v!leeg]}}
+\installpagebreakhandler \v!header
+ {\doifnotvalue{\??tk\v!header\c!state}\v!stop{\setupheader[\c!state=\v!empty]}}
-\installpagebreakhandler \v!voet
- {\doifnotvalue{\??tk\v!voet \c!status}\v!stop{\setupfooter[\c!status=\v!leeg]}}
+\installpagebreakhandler \v!footer
+ {\doifnotvalue{\??tk\v!footer \c!state}\v!stop{\setupfooter[\c!state=\v!empty]}}
% \definepagebreak
% [chapter]
@@ -1662,7 +1676,7 @@
\definecomplexorsimple\columnbreak
\def\simplecolumnbreak
- {\executecolumnbreakhandler\v!ja}
+ {\executecolumnbreakhandler\v!yes}
\def\complexcolumnbreak[#1]% if empty, do nothing and avoid processing
{\doifsomething{#1}{\executecolumnbreakhandlers{#1}}}
@@ -1710,13 +1724,12 @@
\let\selectie \empty
\let\paginasoort\empty
-\let\naastpagina\relax
\let\napagina \relax
\let\voorpagina \relax
\def\dodovoorpagina#1%
{\global\let\voorpagina\relax
- \getvalue{\??pg#1\c!voor}}
+ \getvalue{\??pg#1\c!before}}
\def\dovoorpagina
{\doifsomething\paginasoort
@@ -1725,10 +1738,10 @@
\def\dododonapagina#1%
{\global\let\napagina\relax
\global\let\paginasoort\empty
- \getvalue{\??pg#1\c!na}}
+ \getvalue{\??pg#1\c!after}}
\def\dodonapagina#1%
- {\doifelsevalue{\??pg#1\c!optie}\v!dubbelzijdig
+ {\doifelsevalue{\??pg#1\c!option}\v!doublesided
{\doifbothsidesoverruled
\dododonapagina{#1}%
\orsideone
@@ -1744,7 +1757,7 @@
% Dit wordt eigenlijk nooit en moet worden vervangen door
% het meer algemene mechanisme.
-\def\dosoortpagina[#1]%
+\def\dopagetype[#1]%
{\edef\desoortpagina{#1}%
\ifx\desoortpagina\empty \else
\@EA\doglobal\@EA\addtocommalist\@EA{\desoortpagina}\paginasoort
@@ -1756,38 +1769,38 @@
\gdef\napagina {\donapagina }%
\fi}
-\def\soortpagina
- {\dosingleargument\dosoortpagina}
+\def\pagetype
+ {\dosingleargument\dopagetype}
-\def\dokoppelpagina[#1][#2]%
+\def\docouplepage[#1][#2]%
{\getparameters
[\??pg]
- [\c!voor=,
- \c!na=,
- \c!optie=,
+ [\c!before=,
+ \c!after=,
+ \c!option=,
#2]%
\def\docommando##1%
{\getparameters
[\??pg##1]
- [\c!voor=\@@pgvoor,
- \c!na=\@@pgna,
- \c!optie=\@@pgoptie]}%
+ [\c!before=\@@pgbefore,
+ \c!after=\@@pgafter,
+ \c!option=\@@pgoption]}%
\processcommalist[#1]\docommando}%
-\def\koppelpagina
- {\dodoubleargument\dokoppelpagina}
+\def\couplepage
+ {\dodoubleargument\docouplepage}
-\def\doverwerkpagina[#1][#2]%
+\def\doprocesspage[#1][#2]%
{\processaction
[#2]
- [ \v!ja=>\global\verwerkentrue,
- \v!nee=>\global\verwerkenfalse]%
+ [ \v!yes=>\global\verwerkentrue,
+ \v!no=>\global\verwerkenfalse]%
\gdef\selectie{#1}%
\global\selecterentrue
\global\geselecteerdfalse}
-\def\verwerkpagina
- {\dodoubleargument\doverwerkpagina}
+\def\processpage
+ {\dodoubleargument\doprocesspage}
\def\resetselectiepagina
{\ifselecteren
@@ -1835,4 +1848,66 @@
\box#3%
\egroup}
-\protect \endinput \ No newline at end of file
+%D \macros
+%D {setupoppositeplacing,startopposite}
+%D
+%D \starttyping
+%D \starttext
+%D test \startopposite \blackrule[width=3cm,height=4cm] \stopopposite test
+%D test \startopposite \blackrule[width=3cm,height=4cm] \stopopposite test
+%D \stoptext
+%D \stoptyping
+
+% Moved from page-mar.tex, made english, cleaned up, but still to be
+% redesigned
+
+\newbox\facingpage
+
+\def\setupoppositeplacing
+ {\dodoubleargument\getparameters[\??np]}
+
+\def\startopposite
+ {\dowithnextboxcontent
+ {\hsize\makeupwidth}%
+ {\global\setbox\facingpage\vbox
+ {\ifvoid\facingpage
+ \@@npbefore
+ \else
+ \@@npinbetween
+ \unvbox\facingpage
+ \fi
+ \box\nextbox}}%
+ \vbox\bgroup}
+
+\def\stopopposite
+ {\egroup}
+
+\def\finishfacingpage
+ {\ifvoid\facingpage\else
+ \global\setbox\facingpage\vbox to \makeupheight
+ {\unvbox\facingpage
+ \@@npafter
+ \vss}%
+ \fi}
+
+\def\shipoutfacingpage
+ {\doif\@@npstate\v!start
+ {\ifvoid\facingpage\else
+ \ifnum\realpageno>\plusone
+ \bgroup
+ \chardef\pageornamentstate\plusone
+ \finishfacingpage
+ \myshipout{\buildpagebody\box\facingpage}%
+ \egroup
+ \else
+ \global\setbox\facingpage\emptybox
+ \fi
+ \fi}}
+
+\setupoppositeplacing
+ [\c!state=\v!start,
+ \c!before=,
+ \c!inbetween=\blank,
+ \c!after=]
+
+\protect \endinput