summaryrefslogtreecommitdiff
path: root/tex/context/base/page-txt.tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/page-txt.tex')
-rw-r--r--tex/context/base/page-txt.tex193
1 files changed, 57 insertions, 136 deletions
diff --git a/tex/context/base/page-txt.tex b/tex/context/base/page-txt.tex
index e47d44d61..91cb89b61 100644
--- a/tex/context/base/page-txt.tex
+++ b/tex/context/base/page-txt.tex
@@ -67,14 +67,6 @@
\def\setuplayouttext%
{\dotripleempty\dosetuplayouttext}
-% \def\dosetuplayouttext[#1][#2][#3]%
-% {\ifthirdargument
-% \getparameters[\??tk#1#2][#3]%
-% \else
-% \getparameters[\??tk#1\v!tekst][#2]%
-% \fi
-% \calculatevsizes}
-
\def\dosetuplayouttext[#1][#2][#3]%
{\ifthirdargument
\getparameters[\??tk#1#2][#3]%
@@ -82,7 +74,7 @@
%\getparameters[\??tk#1\v!tekst][#2]%
\getparameters[\??tk#1][#2]%
\fi
-% \checkcurrentlayout
+ %\checkcurrentlayout % no
\calculatevsizes}
\def\setuptop {\dotripleempty\dosetuplayouttext[\v!boven]}
@@ -100,11 +92,11 @@
%D \showsetup{\y!noheaderandfooterlines}
%D \showsetup{\y!notopandbottomlines}
-\def\noheaderandfooterlines%
+\def\noheaderandfooterlines
{\setupheader[\c!status=\v!leeg]%
\setupfooter[\c!status=\v!leeg]}
-\def\notopandbottomlines%
+\def\notopandbottomlines
{\setuptop [\c!status=\v!leeg]%
\setupbottom[\c!status=\v!leeg]}
@@ -136,39 +128,39 @@
\def\dosetuptexts[#1][#2][#3][#4][#5][#6]%
{\ifsixthargument
\setvalue{\??tk#1#2\c!linkertekst}%
- {\dodoubletexts{\??tk#1}{#2}
- {\c!linkerletter \c!linkerkleur \c!linkerbreedte }{#3}
+ {\dodoubletexts{\??tk#1}{#2}%
+ {\c!linkerletter \c!linkerkleur \c!linkerbreedte }{#3}%
{\c!rechterletter\c!rechterkleur\c!rechterbreedte}{#6}}%
\setvalue{\??tk#1#2\c!rechtertekst}%
- {\dodoubletexts{\??tk#1}{#2}
- {\c!rechterletter\c!rechterkleur\c!rechterbreedte}{#4}
+ {\dodoubletexts{\??tk#1}{#2}%
+ {\c!rechterletter\c!rechterkleur\c!rechterbreedte}{#4}%
{\c!linkerletter \c!linkerkleur \c!linkerbreedte }{#5}}%
\else\iffifthargument
\setvalue{\??tk#1\v!tekst\c!linkertekst}%
{\dodoubletexts{\??tk#1}\v!tekst
- {\c!linkerletter \c!linkerkleur \c!linkerbreedte }{#2}
+ {\c!linkerletter \c!linkerkleur \c!linkerbreedte }{#2}%
{\c!rechterletter\c!rechterkleur\c!rechterbreedte}{#5}}%
\setvalue{\??tk#1\v!tekst\c!rechtertekst}%
{\dodoubletexts{\??tk#1}\v!tekst
- {\c!rechterletter\c!rechterkleur\c!rechterbreedte}{#3}
+ {\c!rechterletter\c!rechterkleur\c!rechterbreedte}{#3}%
{\c!linkerletter \c!linkerkleur \c!linkerbreedte }{#4}}%
\else\iffourthargument
\setvalue{\??tk#1#2\c!linkertekst}%
{\dodoubletexts{\??tk#1}{#2}
- {\c!linkerletter\c!linkerkleur\c!linkerbreedte}{#3}
+ {\c!linkerletter\c!linkerkleur\c!linkerbreedte}{#3}%
{\c!linkerletter\c!linkerkleur\c!linkerbreedte}{#3}}%
\setvalue{\??tk#1#2\c!rechtertekst}%
{\dodoubletexts{\??tk#1}{#2}
- {\c!rechterletter\c!rechterkleur\c!rechterbreedte}{#4}
+ {\c!rechterletter\c!rechterkleur\c!rechterbreedte}{#4}%
{\c!rechterletter\c!rechterkleur\c!rechterbreedte}{#4}}%
\else\ifthirdargument
\setvalue{\??tk#1\v!tekst\c!linkertekst}%
{\dodoubletexts{\??tk#1}\v!tekst
- {\c!linkerletter\c!linkerkleur\c!linkerbreedte}{#2}
+ {\c!linkerletter\c!linkerkleur\c!linkerbreedte}{#2}%
{\c!linkerletter\c!linkerkleur\c!linkerbreedte}{#2}}%
\setvalue{\??tk#1\v!tekst\c!rechtertekst}%
{\dodoubletexts{\??tk#1}\v!tekst
- {\c!rechterletter\c!rechterkleur\c!rechterbreedte}{#3}
+ {\c!rechterletter\c!rechterkleur\c!rechterbreedte}{#3}%
{\c!rechterletter\c!rechterkleur\c!rechterbreedte}{#3}}%
\else\ifsecondargument % new
\letvalue{\??tk#1\v!tekst\c!linkertekst }\empty
@@ -185,23 +177,20 @@
%D only when double sided typesetting is enabled.
\def\dodoubletexts#1#2#3#4#5#6%
- {\doifonevenpaginaelse
+ {\doifoddpageelse
{\dosingletexts{#1}{#2}#3{#4}} % #3 => provides three arguments
{\dosingletexts{#1}{#2}#5{#6}}} % #5 => provides three arguments
%D The next macro will be cleaned up amd made less messy and
%D dependent.
-%\def\placetextlinestrut#1%
-% {\doifvalue{#1\v!tekst\c!strut}{\v!ja}{\setstrut\strut}}
-
\def\placetextlinestrut#1%
- {\doifvalue{#1\c!strut}{\v!ja}{\setstrut\strut}}
+ {\doifvalue{#1\c!strut}\v!ja{\setstrut\strut}}
\def\dosingletexts#1#2#3#4#5#6%
{\bgroup
\convertargument#6\to\ascii
- \doifsomething{\ascii}
+ \doifsomething\ascii
{\doattributes{#1#2}#3#4%
{\placetextlinestrut{#1}% here !
%\doifdefinedelse{\??mk\ascii\c!koppeling} % brrr
@@ -254,10 +243,10 @@
{\edef\textlinestatus{\csname\??tk#1\c!status\endcsname}}
%\def\resettextlinestatus#1%
-% {\global\letvalue{\??tk#1\v!tekst\c!status}\v!normaal}
+% {\letgvalue{\??tk#1\v!tekst\c!status}\v!normaal}
\def\resettextlinestatus#1%
- {\global\letvalue{\??tk#1\c!status}\v!normaal}
+ {\letgvalue{\??tk#1\c!status}\v!normaal}
%\def\placelayouttextline#1#2% % handelt o.b.v. tekst
% {\settextlinestatus{#1}%
@@ -308,7 +297,7 @@
\setvalue{\string\placelayouttextline\v!geenmarkering}#1#2%
{\bgroup
\resettextlinestatus{#1}%
- \let\dohaalmarkering=\nohaalmarkering
+ \let\dohaalmarkering\nohaalmarkering
\doplacelayouttextline{#1}{#2}%
\egroup}
@@ -342,7 +331,7 @@
{\resettextlinestatus{#1}%
\donetrue}}
-\def\resetlayoutlines%
+\def\resetlayoutlines
{\donefalse
\resetlayoutline\v!boven
\resetlayoutline\v!hoofd
@@ -362,8 +351,8 @@
\newbox\scratchpagebox
-\def\gettextboxes%
- {\setbox\scratchpagebox=\vbox
+\def\gettextboxes
+ {\setbox\scratchpagebox\vbox
{\mindermeldingen
\calculatereducedvsizes
\swapmargins
@@ -398,10 +387,8 @@
\smashbox\scratchpagebox
\box\scratchpagebox}
-\let\maintextcolor\empty
-
\def\getmainbox#1#2%
- {\setbox\scratchpagebox=\vbox
+ {\setbox\scratchpagebox\vbox
{\offinterlineskip % na \paginaletter !
\calculatereducedvsizes
\calculatehsizes
@@ -427,11 +414,9 @@
\settextpagecontent\scratchpagebox{#1}{#2}%
\addtextbackground\scratchpagebox
\addtextgridlayer\scratchpagebox
- \ifx\maintextcolor\empty
+ \localstarttextcolor
\box\scratchpagebox
- \else
- \color[\maintextcolor]{\box\scratchpagebox}%
- \fi
+ \localstoptextcolor
\bgroup
\hskip\rechtermargeafstand
\ifdim\rechtermargebreedte>\zeropoint
@@ -452,24 +437,42 @@
%D (tracing) information.
\def\settextpagecontent#1#2#3% #2 and #3 will disappear
- {\setbox#1=\hbox to \zetbreedte
+ {\setbox#1\hbox to \zetbreedte
{\hss % so don't change this
\vbox to \teksthoogte
{\offinterlineskip
\freezetextwidth
- \hsize=\tekstbreedte % local variant of \sethsize
+ \hsize\tekstbreedte % local variant of \sethsize
\boxmaxdepth\maxdepth
\noindent % content can be < \hsize
\dopagecontents#2#3}%
\hss}%
- \dp#1=\zeropoint}
+ \dp#1\zeropoint}
-\def\addtextgridlayer#1%
- {\ifshowgrid
+\def\addtextgridlayer#1% tzt run time
+ {\ifcase\showgridstate\else % 1=bottom 2=top
\setgridbox\scratchbox\zetbreedte\teksthoogte
- \setbox#1=\hbox
- {\color[red]{\box\scratchbox}%
- \hskip-\zetbreedte\box#1}%
+ \setbox#1\hbox
+ {\ifcase\showgridstate\or\box#1\hskip-\zetbreedte\fi
+ \bgroup % color
+ \incolortrue
+ \ifcase\layoutcolumns\else
+ \gray
+ \hbox to \zetbreedte
+ {\dorecurse\layoutcolumns
+ {\hskip\layoutcolumnwidth
+ \ifnum\recurselevel<\layoutcolumns
+ \vrule
+ \!!height\ht\scratchbox
+ \!!depth\dp\scratchbox
+ \!!width\layoutcolumndistance
+ \fi}}%
+ \hskip-\zetbreedte
+ \fi
+ \red
+ \box\scratchbox
+ \egroup
+ \ifcase\showgridstate\or\or\hskip-\zetbreedte\box#1\fi}%
\fi}
%D The placement of a whole line is handled by the next two
@@ -478,88 +481,11 @@
\def\ignoredlinebreak{\unskip\space\ignorespaces}
-% \def\doplacelayouttextline#1#2%
-% {\ifdim#2>\zeropoint\relax % prevents pagenumbers when zero height
-% \goleftonpage
-% \hbox
-% {\setbox\scratchpagebox=\vbox to #2
-% {%\forgetall
-% \vsize#2\relax
-% \normalbaselines
-% \let\\\ignoredlinebreak
-% \let\crlf\ignoredlinebreak
-% \getvalue{\??tk#1\v!tekst\c!voor}%
-% \doifbothsidesoverruled
-% \dodoplacelayouttextline#1\c!linkertekst\c!middentekst\c!rechtertekst
-% \gobbleoneargument\getvalue
-% \orsideone
-% \dodoplacelayouttextline#1\c!linkertekst\c!middentekst\c!rechtertekst
-% \gobbleoneargument\getvalue
-% \orsidetwo
-% \dodoplacelayouttextline#1\c!rechtertekst\c!middentekst\c!linkertekst
-% \getvalue\gobbleoneargument
-% \od
-% \getvalue{\??tk#1\v!tekst\c!na}%
-% \kern\zeropoint}% keep the \dp, beware of \vtops, never change this!
-% \dp\scratchpagebox=\zeropoint
-% \box\scratchpagebox}%
-% \vskip-#2\relax
-% \fi}
-%
-% \def\dodoplacelayouttextline#1#2#3#4#5#6% \hsize toegevoegd
-% {\hbox % \hss's niet meer wijzigen
-% {\ifdim\linkerrandbreedte>\zeropoint
-% \hbox to \linkerrandbreedte
-% {\hsize\linkerrandbreedte
-% \hss\getvalue{\??tk#1\v!rand#2}}%
-% \hskip\linkerrandafstand
-% \fi
-% \ifdim\linkermargebreedte>\zeropoint
-% \hbox to \linkermargebreedte
-% {\hsize\linkermargebreedte
-% \hbox to \linkermargebreedte
-% {\hss\getvalue{\??tk#1\v!marge#2}}%
-% \hskip-\linkermargebreedte
-% \hbox to \linkermargebreedte
-% {\hss#5{\??tk#1\v!marge\c!margetekst}}}%
-% \hskip\linkermargeafstand
-% \fi
-% \ifdim\zetbreedte>\zeropoint
-% \hbox to \zetbreedte
-% {\hsize\zetbreedte
-% \hbox to \zetbreedte
-% {\@@nmpre{#5{\??tk#1\v!tekst\c!kantlijntekst}}%
-% \getvalue{\??tk#1\v!tekst#2}\hss}%
-% \hskip-\zetbreedte
-% \hbox to \zetbreedte
-% {\hss\getvalue{\??tk#1\v!tekst#3}\hss}%
-% \hskip-\zetbreedte
-% \hbox to \zetbreedte
-% {\hss\getvalue{\??tk#1\v!tekst#4}%
-% \@@nmpos{#6{\??tk#1\v!tekst\c!kantlijntekst}}}}%
-% \fi
-% \ifdim\rechtermargebreedte>\zeropoint
-% \hskip\rechtermargeafstand
-% \hbox to \rechtermargebreedte
-% {\hsize\rechtermargebreedte
-% \hbox to \rechtermargebreedte
-% {\getvalue{\??tk#1\v!marge#4}\hss}%
-% \hskip-\rechtermargebreedte
-% \hbox to \rechtermargebreedte
-% {#6{\??tk#1\v!marge\c!margetekst}\hss}}%
-% \fi
-% \ifdim\rechterrandbreedte>\zeropoint
-% \hskip\rechterrandafstand
-% \hbox to \rechterrandbreedte
-% {\hsize\rechterrandbreedte
-% \getvalue{\??tk#1\v!rand#4}\hss}%
-% \fi}}
-
\def\doplacelayouttextline#1#2%
{\ifdim#2>\zeropoint\relax % prevents pagenumbers when zero height
\goleftonpage
\hbox
- {\setbox\scratchpagebox=\vbox to #2
+ {\setbox\scratchpagebox\vbox to #2
{%\forgetall
\vsize#2\relax
\normalbaselines
@@ -580,7 +506,7 @@
%\getvalue{\??tk#1\v!tekst\c!na}%
\getvalue{\??tk#1\c!na}%
\kern\zeropoint}% keep the \dp, beware of \vtops, never change this!
- \dp\scratchpagebox=\zeropoint
+ \dp\scratchpagebox\zeropoint
\box\scratchpagebox}%
\vskip-#2\relax
\fi}
@@ -629,17 +555,12 @@
{\getvalue{\??tk#1\v!rand#4}\hss}%
\fi}}
-% \def\dododoplacelayouttextline#1#2#3#4%
-% {\hbox to #1{\hsize#1\relax#4}}
-
\def\dododoplacelayouttextline#1#2#3#4%
{\vbox % to \vsize
{\hsize#1\relax
- %\executeifdefined{\??tk#2#3\c!voor}\relax
- \getvalue{\??tk#2#3\c!voor}\relax
+ \getvalue{\??tk#2#3\c!voor}
\hbox to #1{#4}%
- %\executeifdefined{\??tk#2#3\c!na}\relax}}
- \getvalue{\??tk#2#3\c!na}\relax}}
+ \getvalue{\??tk#2#3\c!na}}}
%D Although it is far better to use backgrounds for this
%D purpose, one can add a rule in the following way. This
@@ -661,8 +582,8 @@
%D The next twosome will be done differently (using an
%D existing auxiliary macro).
-\def\@@nmpre#1{\setbox0=\hbox{#1}\ifdim\wd0=\zeropoint\else\unhbox0\tfskip\fi}
-\def\@@nmpos#1{\setbox0=\hbox{#1}\ifdim\wd0=\zeropoint\else\tfskip\unhbox0\fi}
+\def\@@nmpre#1{\setbox0\hbox{#1}\ifdim\wd0=\zeropoint\else\unhbox0\tfskip\fi}
+\def\@@nmpos#1{\setbox0\hbox{#1}\ifdim\wd0=\zeropoint\else\tfskip\unhbox0\fi}
%D This code will move to \type {page-flt.tex}.