diff options
Diffstat (limited to 'tex/context/base/page-txt.tex')
-rw-r--r-- | tex/context/base/page-txt.tex | 193 |
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}. |