diff options
Diffstat (limited to 'tex/context/base/cont-new.tex')
-rw-r--r-- | tex/context/base/cont-new.tex | 837 |
1 files changed, 33 insertions, 804 deletions
diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex index 2180bd1b7..a2ff8d06e 100644 --- a/tex/context/base/cont-new.tex +++ b/tex/context/base/cont-new.tex @@ -18,120 +18,38 @@ %D excellent place for hacks and new features. \unprotect - -\setupclipping - [\c!linkeroffset=\zeropoint, - \c!rechteroffset=\zeropoint, - \c!bovenoffset=\zeropoint, - \c!onderoffset=\zeropoint] -\def\doclip[#1]% nb top->bottom left->right - {\bgroup - \getparameters[\??cp][#1]% - \dowithnextbox - {\ifdim\@@cpbreedte>\zeropoint - \dimen0=\@@cpbreedte - \dimen4=\@@cphoffset - \else - \dimen0=\wd\nextbox - \divide\dimen0 \@@cpnx - \dimen4=\@@cpx\dimen0 - \advance\dimen4 -\dimen0 - \dimen0=\@@cpsx\dimen0 - \fi - \relax % sure - \ifdim\@@cphoogte>\zeropoint - \dimen2=\@@cphoogte - \dimen6=\ht\nextbox - \advance\dimen6 -\@@cpvoffset - \advance\dimen6 -\dimen2 +\writestatus{\m!systems}{beware: some patches loaded from cont-new.tex!} + +\def\toplinebox + {\dowithnextbox + {\ifdim\dp\nextbox>\strutdepth + \scratchdimen\dp\nextbox + \advance\scratchdimen-\strutdepth + \getnoflines\scratchdimen + \struttedbox{\box\nextbox}% + \dorecurse\noflines{\vbox{\hsize\zeropoint\strut}}% \else - \dimen2=\ht\nextbox - \divide\dimen2 \@@cpny - \dimen6=-\@@cpy\dimen2 - \advance\dimen6 -\@@cpsy\dimen2 - \advance\dimen6 \dimen2 - \dimen2=\@@cpsy\dimen2 - \advance\dimen6 \ht\nextbox - \fi - \setbox\nextbox\hbox % old - {\advance\dimen4 -\@@cplinkeroffset % new ! - \advance\dimen6 \@@cpbovenoffset % new ! - \hskip-\dimen4\lower\dimen6\box\nextbox}% old - \wd\nextbox\zeropoint - \ht\nextbox\zeropoint - \dp\nextbox\zeropoint - \setbox\nextbox\hbox - {\advance\dimen0 \@@cplinkeroffset % new ! - \advance\dimen0 \@@cprechteroffset % new ! - \advance\dimen2 \@@cpbovenoffset % new ! - \advance\dimen2 \@@cponderoffset % new ! - \dostartclipping\@@cpmp{\dimen0}{\dimen2}% old - \box\nextbox - \dostopclipping}% - \setbox\nextbox\hbox % new ! - {\dimen0-\@@cplinkeroffset % new ! - \dimen2-\@@cpbovenoffset % new ! - \hskip\dimen0\lower\dimen2\box\nextbox}% new ! - \wd\nextbox\dimen0 - \ht\nextbox\dimen2 - \dp\nextbox\zeropoint - \box\nextbox - \egroup}% - \hbox} + \box\nextbox + \fi}% + \tbox} -% beware, we have clipping offsets of 2\lineheight by default - -\def\columntextareaparameter#1% - {\csname\??mt\currentcolumntestarea#1\endcsname} - -\def\dodoplacecolumntextareas#1#2% - {\def\currentcolumntestarea{#1#2}% - \!!counta\columntextareaparameter\c!x - \!!countb\columntextareaparameter\c!nx - \docalculatecolumnsetspan - \!!heighta\columntextareaparameter\c!ny\lineheight - % to do: met/zonder ht/dp - \ifnum\columntextareaparameter\c!y=\zerocount - \advance\!!heighta -\lineheight - \advance\!!heighta \topskip +\def\expandifnonempty#1% + {\@EA\ifx\csname#1\endcsname\empty + \expandafter\secondoftwoarguments + \else + \expandafter\firstoftwoarguments \fi - \advance\!!heighta -\lineheight % option - \setbox\scratchbox\vbox - {\donetrue\localframed - [\??mt\currentcolumntestarea] - [\c!breedte=\!!widtha,\c!hoogte=\!!heighta,\c!regels=] - {\columntextareaparameter\empty}}% - \!!counta\columntextareaparameter\c!x - \!!countb\columntextareaparameter\c!y - \advance\!!countb \columntextareaparameter\c!ny - \advance\!!countb \minusone - \OTRSETsetgridcell - \!!counta\!!countb - \hbox{\clip - [\c!bovenoffset=\columntextareaparameter\c!clipoffset,% - \c!onderoffset=\columntextareaparameter\c!clipoffset,% - \c!linkeroffset=\columntextareaparameter\c!clipoffset,% - \c!breedte=\!!widthb,% - \c!hoogte=\!!heighta]% - {\copy\scratchbox}}% - \ifcase\!!countc\else - \advance\!!counta \columntextareaparameter\c!nx - \advance\!!counta -\!!countc - \advance\!!widtha -\!!widthb - \OTRSETsetgridcell - \!!counta\!!countb - \hbox - {\hskip-\namedlayoutparameter\v!oneven\c!rugwit - \clip - [\c!bovenoffset=\columntextareaparameter\c!clipoffset,% - \c!onderoffset=\columntextareaparameter\c!clipoffset,% - \c!rechteroffset=\columntextareaparameter\c!clipoffset,% - \c!breedte=\!!widtha,% - \c!hoogte=\!!heighta,% - \c!hoffset=\!!widthb]% - {\copy\scratchbox}}% - \fi} + {\csname#1\endcsname}} + +\def\@@sectiekoppeling#1% + {\expandifnonempty{\??ko#1\c!koppeling}{#1}} + +\def\@@sectiesectie#1% + {\expandifnonempty{\??ko#1\c!sectie}{\@@sectiekoppeling{#1}}} + +\def\sectioncountervalue#1% + {\@@sectionvalue{\@@sectiesectie{#1}}} \def\NormalizeFontSize#1#2#3#4#5% the normal struggle with accuracy {\bgroup @@ -152,8 +70,6 @@ \expandafter \egroup \expandafter\font\expandafter#2\fontname\font\relax} - - % todo namespace \@@meta:#1:... ! ! ! ! ! ! @@ -163,55 +79,6 @@ \def\dopresetMPvariable[#1][#2=#3]% {\doifundefined{#1:#2}{\setvalue{#1:#2}{#3}}} -\def\complexcolumnbreak[#1]% if empty, do nothing and avoid processing - {\doifsomething{#1}{\executecolumnbreakhandlers{#1}}} - -\def\OTRSETsethsize - {%\OTRSETassignwidth\OTRSETidentifier\to\localcolumnwidth - \localcolumnwidth\OTRSETlocalwidth\mofcolumns - \tekstbreedte\localcolumnwidth - \hsize\localcolumnwidth} - -\def\OTRSETsynchronizehsize - {\ifcase0\getvalue{\??mc\??mc\c!breedte}\else % some width set - \bgroup - \scratchdimen\OTRSETlocalwidth\mofcolumns - \ifdim\scratchdimen=\tekstbreedte - \egroup - \else - \egroup \OTRSETsethsize % only if change in width and \column/\break - \fi - \fi } - -\def\filluparrangedpages % beware: \realpageno is 1 ahead - {\ifarrangingpages - \scratchcounter\realpageno - \advance\scratchcounter \minusone - \dosetmodulo\scratchcounter\arrangedpageT\scratchcounter - \ifcase\scratchcounter\else - \advance\scratchcounter \plusone - \dostepwiserecurse\scratchcounter\arrangedpageT\plusone - {\noheaderandfooterlines\ejectdummypage}% - \fi - \fi} - -\def\substituteincommalist#1#2#3% old, new, list (slooow) - {\edef\!!stringb{#1}% - \edef\!!stringd{#2}% - \let\!!stringa#3% - \let#3\empty - \def\dosubstituteincommalist##1% - {\edef\!!stringc{##1}% - \ifx\!!stringb\!!stringc - \ifx\!!stringd\empty\else - \edef#3{#3\ifx#3\empty\else,\fi\!!stringd}% - \fi - \def\docommando####1{\edef#3{#3,####1}}% - \else - \edef#3{#3\ifx#3\empty\else,\fi##1}% - \fi}% - \@EA\rawprocesscommacommand\@EA[\!!stringa]\dosubstituteincommalist} - % experiment, not yet to be used \def\displaybreak @@ -226,24 +93,10 @@ \def\tightvbox {\dowithnextbox{\dp\nextbox\zeropoint\box\nextbox}\vbox} + \def\tightvtop {\dowithnextbox{\ht\nextbox\zeropoint\box\nextbox}\vtop} -% cleaner - -\def\@@nmpre#1{\doiftext{#1}{{#1}\tfskip}} -\def\@@nmpos#1{\doiftext{#1}{\tfskip{#1}}} - -% newer - -\def\@@nmprepos#1#2#3#4#5% - {\doifelsenothing\@@nmbreedte - {\doiftext{#5}{#1{#5}#2}} - {\doiftext{#5}{\hbox to \@@nmbreedte{#3{#5}#4}}}} - -\def\@@nmpre{\@@nmprepos\empty\tfskip\relax\hss} -\def\@@nmpos{\@@nmprepos\tfskip\empty\hss\relax} - \def\startpagefigure {\dodoubleempty\dostartpagefigure} @@ -263,157 +116,14 @@ \def\dopagefigure[#1][#2]% {\dostartpagefigure[#1][#2]\stoppagefigure} -\def\doprocesstabskipline#1% - {\bgroup - \scratchcounter\plusone - \dodoprocesstabskipline#1\relax - \egroup} - -\def\dodoprocesstabskipline#1% - {\ifnum\scratchcounter>\spacespertab\relax - \donetrue \else \donefalse \advance - \fi \scratchcounter \plusone - \ifx#1\relax \else - \ifcase\tabskipmode - % can't happen - \or - % go on - \else\ifnum`#1<128 - % ok, no special character - \else\ifnum\catcode`#1=\active - % quits parsing, else utf lookahead problems - \chardef\tabskipmode\zerocount - \fi\fi\fi - \ifcase\tabskipmode - \@EAEAEA#1% - \else - \@EAEAEA#1\@EAEAEA\dodoprocesstabskipline - \fi - \fi} - -\setuptyping[\c!tab=\s!ascii] % better default than \v!yes - -% obey eigennummer - -\def\doresetsectioncounters#1% - {\resetcounter{\??se#1}% - \letgvalue{\??se#1\c!eigennummer}\relax - \donexttracklevel{#1}} - -\def\@@shortsectionnumber#1% - {\@EA\ifx\csname\??se#1\c!eigennummer\endcsname\relax - \@EA\ifx\csname\??se#1\@@sectieblok\c!conversie\endcsname\relax - \@EA\ifx\csname\??se#1\c!conversie\endcsname\relax - \@@sectionvalue{#1}% - \else - \@@sectionconversion{#1}{\@@sectionvalue{#1}}% - \fi - \else - \@@sectionconversion{#1}{\@@sectionvalue{#1}}% - \fi - \else - \csname\??se#1\c!eigennummer\endcsname - \fi} - -\def\setsomeheadconversion#1#2% - {\someheadconversionfalse - \doifelsevalue{\??ko#1\c!eigennummer}\v!ja - {\setgvalue{\??se\@@sectie\c!eigennummer}{#2}% - \def\someheadconversion{#2}} - {\letgvalue{\??se\@@sectie\c!eigennummer}\relax - \bepaalkopnummer[#1]% - \@EA\ifx\csname\??se\@@sectie\@@sectieblok\c!kopconversie\endcsname\relax - \@EA\ifx\csname\??se\@@sectie\c!kopconversie\endcsname\relax - \def\someheadconversion{#2}% - \else - \@EA\ifx\csname\??se\@@sectie\c!kopconversie\endcsname\empty - \def\someheadconversion{#2}% - \else - \someheadconversiontrue - \def\someheadconversion% - {\fullsectionnumber{#1}{\getvalue{\??se\@@sectie\c!kopconversie}}{#2}}% - \fi - \fi - \else - \@EA\ifx\csname\??se\@@sectie\@@sectieblok\c!kopconversie\endcsname\empty - \def\someheadconversion{#2}% - \else - \someheadconversiontrue - \def\someheadconversion% - {\fullsectionnumber{#1}{\getvalue{\??se\@@sectie\@@sectieblok\c!kopconversie}}{#2}}% - \fi - \fi}} - % pretty important (esp since we now ignore shipouts) % % actually we should nil all writes, marks, specials \appendtoks \globallet\popcolor\relax \to \everylastshipout -\def\doscalelikeafigure % quite dirty and potential interference possible - {\doifsomething{\@@xyfactor\@@xyhfactor\@@xybfactor\@@xyschaal - \@@xybreedte\@@xyhoogte\@@xyregels} - {\let \@@efschaal \@@xyschaal - \let \@@effactor \@@xyfactor - \let \@@efbfactor\@@xybfactor - \let \@@efhfactor\@@xyhfactor - \let \@@efbreedte\@@xybreedte - \let \@@efhoogte \@@xyhoogte - \let \@@efregels \@@xyregels - \let \@@epx \!!zeropoint - \let \@@epy \!!zeropoint - \edef\@@epw {\the\wd\nextbox}% - \edef\@@eph {\the\ht\nextbox}% - \figwid\zeropoint \figxsca\plusone % see note * (core-fig) - \fighei\zeropoint \figysca\plusone % see note * (core-fig) - \checkfiguresettings - \setfactorfiguresize - \setscalefiguresize - \setdimensionfiguresize - \convertfigureinsertscale\@@epx\figx\figxsca\scax - \convertfigureinsertscale\@@epy\figy\figysca\scay - \scratchdimen\scax\s!pt \divide\scratchdimen 100 - \edef\@@xysx{\withoutpt\the\scratchdimen}% - \scratchdimen\scay\s!pt \divide\scratchdimen 100 - \edef\@@xysy{\withoutpt\the\scratchdimen}}} - -\def\doschaal[#1]% - {\bgroup - \forgetall - \getparameters - [\??xy] - [\c!schaal=,\c!breedte=,\c!hoogte=,\c!regels=, - \c!factor=,\c!hfactor=,\c!bfactor=, - \c!sx=1,\c!sy=1,#1]% - \dowithnextbox - {\dontshowcomposition - \ifdim\ht\nextbox>\zeropoint \ifdim\wd\nextbox>\zeropoint - \doscalelikeafigure - \dimen0=\@@xysy\ht\nextbox - \dimen2=\@@xysy\dp\nextbox - \dimen4=\@@xysx\wd\nextbox - \dimen6=\dimen0\advance\dimen6 \dimen2 -% \setbox\nextbox\vbox to \dimen6 -% {\ht\nextbox\zeropoint -% \dp\nextbox\zeropoint -% \vfill % erbij -% \dostartscaling\@@xysx\@@xysy\box\nextbox\dostopscaling}% - \setbox\nextbox\hbox - {\smashbox\nextbox - \dostartscaling\@@xysx\@@xysy\box\nextbox\dostopscaling}% - \ht\nextbox\dimen0 - \dp\nextbox\dimen2 - \wd\nextbox\dimen4 - \fi \fi - \box\nextbox - \egroup} - \hbox} - -\def\incrementvalue#1% - {\expandafter\increment\csname#1\endcsname} - -\def\decrementvalue#1% - {\expandafter\decrement\csname#1\endcsname} +\def\incrementvalue#1{\expandafter\increment\csname#1\endcsname} +\def\decrementvalue#1{\expandafter\decrement\csname#1\endcsname} % \translateMPinput{il2-pl} % @@ -427,118 +137,6 @@ % draw btex MetaPost: ± ¶ etex scaled 5 ; % \stopMPcode -\def\doMPpositiongraphic#1#2% tag setups - {\bgroup - \def\@@meta{#1:}% - \setupMPvariables[#2]% - \prepareMPpositionvariables - \MPshiftdrawingtrue - \def\doMPpositiongraphic##1##2% - {{% new, see (techniek) - \def\@@meta{##1:}% - \setupMPvariables[#2,##2]% - \prepareMPpositionvariables - % and needed - \getvalue{MPG:##1}}}% temp hack - \setbox\positiongraphicbox\hbox - {\ignorespaces - \executeifdefined{MPM:#1}{\executeifdefined{MPG:#1}\donothing}% - \removelastspace}% - \smashbox\positiongraphicbox - \box\positiongraphicbox - \egroup} - -\writestatus{\m!systems}{beware: some patches loaded from cont-new.tex!} - -\def\columnhbreak - {\ifhmode - \bgroup - \removeunwantedspaces - \parfillskip\zeropoint - \OTRSETcolumnseparator - \par - \egroup - \fi} - -\installcolumnbreakhandler {SET} \v!lokaal - {\columnhbreak - \ejectinsert - \ejectpage % brrr - \OTRSETsynchronizehsize} % no \OTRSETsethsize, can be mid smaller (like tabulate) - -% We need to make sure that we really leave the column; mid -% column we may end up in an empty gap, and we don;t want to -% stay there (basically such a gap is a small empty page -% then). - -\installcolumnbreakhandler {SET} \v!ja - {\columnhbreak - \edef\savedmofcolumns{\the\mofcolumns}% - \edef\savedrealpageno{\the\realpageno}% - \ejectinsert - \ejectpage % brrr - \doloop - {\ifnum\savedmofcolumns=\mofcolumns - \ifnum\savedrealpageno=\realpageno - \OTRSETdummycolumn - \else - \exitloop - \fi - \else - \exitloop - \fi}% - \OTRSETsynchronizehsize} - -% testcase : pascal demo-bbi, paragraaf/aanduiding koppen - -\ifx\lastskipinotr\undefined \newskip\lastskipinotr \fi - -\installoutput\OTRSETflushpreposttext - {\global\setbox\precolumnbox\vbox - {\unvbox\normalpagebox - \global\lastskipinotr\lastskip}% - \ifdim\lastskipinotr>\zeropoint - \global\setbox\precolumnbox\hbox - {\lower\strutdepth\box\precolumnbox}% - \fi - \global\dp\precolumnbox\strutdepth - \ifcarryoverfootnotes \else - \global\setbox\postcolumnbox\vbox{\placebottomnotes}% - \fi} - -\def\dopositionaction#1% test saves hash entry in etex - {\ifundefined{\POSactionprefix#1::}\else - \ifnum\MPp{#1}>\zerocount % new -\setbox\scratchbox\hbox - \bgroup - \traceposstring\clap\red{<#1>}% - \the\everyinsertpositionaction - \the\everypositionaction - \ifcollectMPpositiongraphics - % can save a lot of run time - \pushMPdrawing - \MPshiftdrawingtrue - \resetMPdrawing - \getvalue{\POSactionprefix#1::}% - \ifMPdrawingdone - \getMPdrawing - \fi - \resetMPdrawing - \popMPdrawing - \else - \getvalue{\POSactionprefix#1::}% - \fi - \cleanuppositionaction{#1}% - \egroup -\smashedbox\scratchbox - \else - % shouldn't happen too often - \traceposstring\clap\cyan{<#1>}% - \fi - \fi} - -\def\MPspacechar{\char32\relax} % old solution does not work with math - \def\begintbl {\doglobal\newcounter\colTBL \doglobal\newcounter\rowTBL @@ -552,63 +150,6 @@ % \startcolumnsetspan[two] \input tufte \stopcolumnsetspan % \input tufte \stopcolumnset -%D Well, here comes some real trickery. When we have the 100\% -%D spot color or black color, we don't want to erase the -%D background. So, instead we hide the content by giving it -%D zero transparency. - -% todo : #1#2#3 met #2 > of < and #3 een threshold - -% \newif\ifhidesplitcolor \hidesplitcolortrue - -\def\dohidecolor#1#2% - {\ifhidesplitcolor - \ifx#1#2% - \dostartgraycolormode\@@cl@@o - \else - \fullytransparentcolor - \fi - \else - \dostartgraycolormode\@@cl@@o - \fi} - -\def\dovidecolor#1#2% - {\ifhidesplitcolor - \ifx#1#2% - \fullytransparentcolor - \else - \dostartgraycolormode\@@cl@@o - \fi - \else - \dostartgraycolormode\@@cl@@o - \fi} - -\def\fullytransparentcolor - {\dostartgraycolormode\@@cl@@o % better than z - %\global\@EA\chardef\csname\@@currenttransparent\endcsname\plusone - %\global\intransparenttrue - \dostarttransparency10} - -\def\noexeccolorS#1:#2\od - {\edef\@@cl@@s{#1}% - \dohidecolor\@@cl@@s\@@cl@@o} - -\def\noexeccolorP#1:#2:#3\od - {\edef\@@cl@@p{#2}% - \dohidecolor\@@cl@@p\@@cl@@z} - -\def\doexeccolorPP#1:#2:% - {\edef\@@cl@@n{#1}% - \edef\@@cl@@p{#2}% - \registerusedspotcolor\@@cl@@n - \ifx\@@cl@@n\currentspotcolor - \normalizeSPOT - \dostartgraycolormode\@@cl@@p % was spotcolormode - \else - \dovidecolor\@@cl@@p\@@cl@@o - \fi - \exectransparency} - % now in cont-loc.tex, for the sake of testing. % % %D When \type {\somecolor} is issued, we can savely assume @@ -688,6 +229,8 @@ \@EA\rawreference\@EA\s!ref\@EA\asciia\@EA{\asciib}% \egroup} +% what is this stupid macro meant for: + \def\hyphenationpoint {\hskip\zeropoint} @@ -733,274 +276,6 @@ % \let\registerparoptions\relax % \to \everyforgetall -\newsignal\noblanksignal - -\def\docomplexdoblanko[#1]% pas op \relax's zijn nodig ivm volgende \if - {\global\blankoresetfalse - \global\blankoblokkeerfalse - \global\blankogeenwitfalse - \global\lokaalblankoflexibelfalse - \global\lokaalblankovastfalse - \global\blankoskip\zeropoint - \global\blankoforceerfalse - \blankobuitenfalse - \expanded{\rawprocesscommalist[#1]}\doblanko - \ifdim\blankoskip=\zeropoint\relax - \iflokaalblankoflexibel - \doglobal\advance\blankoskip \currentblanko - \else\iflokaalblankovast - \doglobal\advance\blankoskip \currentblanko - \fi\fi - \fi - \ifblankobuiten - \else - \par - \ifvmode %in pos fonts gaat dit mis - \ifblankoforceer%\ifdim\prevdepth>\zeropoint\else - % -1000pt signals top of page or column (\ejectcolumn) - \vbox{\strut}\kern-\lineheight - \fi - \ifblankoblokkeer - \global\doeblankofalse - \ifgridsnapping - \ifdim\prevdepth<\zeropoint - % brrr - \else - % dirty trick: smaller blanks are ignored after - % a larger one, so 10 lines is probably safe; first make - % sure that we honor penalties - \scratchcounter\lastpenalty - % now comes the trick (cross our fingers that this works - % well in multi columns; maybe an ifinner test is needed - % \vskip-10\lineheight - % \ifnum\scratchcounter=\zerocount \else \penalty\lastpenalty \fi - % \vskip 10\lineheight - % allas, this leads to overfull pages, so we try this: - \kern-\noblanksignal - \ifnum\scratchcounter=\zerocount - \else - \penalty\lastpenalty - \fi - \kern\noblanksignal - % end-of-dirty-trick - \fi - \else - \ifdim\prevdepth<\zeropoint - % brrr - \else - % ensure at least a proper prevdepth, this should be - % an option - \vskip-\prevdepth - \vskip\strutdepth - \prevdepth\strutdepth - \fi - % the old crappy piece of code - \edef\oldprevdepth{\the\prevdepth}% - \prevdepth\newprevdepth - \fi - \else - \global\doeblankotrue - \fi - \ifblankoreset - \global\doeblankotrue - \ifgridsnapping - % let's play safe and not fool around with the depth, if - % only because it took a lot of effort to sort out the grid - % stuff in the first place - \else - \ifdim\prevdepth=\newprevdepth - \prevdepth\oldprevdepth - \fi - \fi - \fi - \ifdoeblanko - \ifdim1\lastskip<1\blankoskip\relax - % else when \blanko[2*groot] + \blanko[3*groot] with parskip - % equaling 1*groot, gives a groot=\parskip so adding a small - % value makes it distinguishable; can also be done at parskip - % setting time (better) - \global\advance\blankoskip \mindimen\relax % = skip - % test this on 2* + 3* and parskip groot - \ifblankogeenwit - \global\advance\blankoskip -\parskip - \else - \ifdim\lastskip=\parskip - \else % force this due to previous comment - \ifdim\parskip>\zeropoint\relax - \ifdim\blankoskip<\parskip\relax - \global\blankoskip\zeropoint - \else - \global\advance\blankoskip -\parskip - \fi - \fi - \fi - \fi - \ifblankoflexibel \else - \blankoskip1\blankoskip - \fi - \iflokaalblankovast - \blankoskip1\blankoskip - \fi - \iflokaalblankoflexibel - \blankoskip1\blankoskip - \!!plus\skipgluefactor\blankoskip - \!!minus\skipgluefactor\blankoskip - \fi - \ifgridsnapping - \ifdim\lastkern=\noblanksignal - \global\doeblankofalse - \fi - \else - \ifdim\prevdepth=\newprevdepth - \global\doeblankofalse - \fi - \fi - \ifdoeblanko - \iffuzzyvskip - \removelastfuzzyvskip - \fuzzyvskip\blankoskip\relax - \else - \removelastskip - \vskip\blankoskip\relax - \fi - \fi - \else - \iffuzzyvskip - \removelastfuzzyvskip - \fuzzyvskip\blankoskip\relax - \else - % new, test this on pascal - \ifdim\blankoskip<\zeropoint - \advance\blankoskip-\lastskip - \removelastskip - \ifdim\blankoskip>\zeropoint - \vskip\blankoskip - \else - \vskip\zeropoint - \fi - \else - % also new - \ifdim\blankoskip=\zeropoint - \ifblankogeenwit - \geenwitruimte - \fi - \fi - \fi - \fi - \fi - \fi - \fi - \fi - \global\fuzzyvskipfalse - \presetindentation} - -\def\processfilelinesverbatim#1#2#3% - {\bgroup - \let\saveddoflushverbatimline\doflushverbatimline - \let\saveddoemptyverbatimline\doemptyverbatimline - \def\checkverbatimfileline##1% - {\ifnum\verbatimlinenumber<#2\else - \ifnum\verbatimlinenumber>#3\else - ##1% - \fi\fi}% - \def\doflushverbatimline - {\checkverbatimfileline\saveddoflushverbatimline}% - \def\doemptyverbatimline - {\checkverbatimfileline\saveddoemptyverbatimline}% - \processfileverbatim{#1}% - \egroup} - -\def\typefile - {\dodoubleempty\dotypefile} - -\def\dotypefile[#1][#2]#3% - {\ifsecondargument - \dodotypefile[#1][#2]{#3}% - \else\iffirstargument - \doifassignmentelse{#1} - {\dodotypefile[\v!file][#1]{#3}} - {\dodotypefile[#1][]{#3}}% - \else - \dodotypefile[\v!file][]{#3}% - \fi\fi} - -\def\dosetuptypelinenumbering#1#2% - {\setuptyping[#1][\c!start=,\c!stop=,\c!stap=,\c!nregels=,#2]% - \doifelsevalue{\??tp#1\c!nummeren}\v!file - {\stelregelnummerenin[\c!methode=\v!file]% - \donetrue} - {\doifelsevalue{\??tp#1\c!nummeren}\v!regel - {% \stelregelnummerenin defaults start/step to 1/1, so we need - \doifvaluenothing{\??tp#1\c!start}{\setvalue{\??tp#1\c!start}{1}}% - \doifvaluenothing{\??tp#1\c!stap }{\setvalue{\??tp#1\c!stap }{1}}% - \stelregelnummerenin - [\c!methode=\v!type, - \c!start=\getvalue{\??tp#1\c!start}, - \c!stap=\getvalue{\??tp#1\c!stap}]% - \donetrue} - {\donefalse}}% - \ifdone - \def\beginofverbatimlines{\startregelnummeren}% - \def\endofverbatimlines {\stopregelnummeren }% - \fi} - -\def\dodotypefile[#1][#2]#3% - {\getvalue{\??tp#1\c!voor}% - \doiflocfileelse{#3} - {\startopelkaar % includes \bgroup - \dosetuptypelinenumbering{#1}{#2}% - \doifinset{\getvalue{\??tp#1\c!optie}}{\v!commandos,\v!schuin,\v!normaal} - {\setuptyping[#1][\c!optie=\v!geen]}% - \doifvalue{\??tp#1\c!optie}\v!kleur - {\expandafter\aftersplitstring#3\at.\to\prettyidentifier - \letvalue{\??tp#1\c!optie}\prettyidentifier}% - \initializetyping{#1}% - \startverbatimcolor - \makelocreadfilename{#3}% - \doifundefinedelse{\??tp#3\v!globaal\c!start} - {\scratchcounter\zerocount} - {\scratchcounter\getvalue{\??tp#3\v!globaal\c!start}}% - \advance\scratchcounter\plusone - \setxvalue{\??tp#3\v!globaal\c!start}{\the\scratchcounter}% - \doifelsevaluenothing{\??tp#1\c!start} - {\processfileverbatim\readfilename} - {\doifvalue{\??tp#1\c!start}\v!verder - {\setevalue{\??tp#1\c!start}% - {\getvalue{\??tp#3\v!globaal\c!start}}}% - \doifelsevaluenothing{\??tp#1\c!stop} - {\doifelsevaluenothing{\??tp#1\c!nregels} - {\processfileverbatim\readfilename} - {\scratchcounter\getvalue{\??tp#1\c!start}% - \advance\scratchcounter\getvalue{\??tp#1\c!nregels}% - \advance\scratchcounter\minusone - \setxvalue{\??tp#3\v!globaal\c!start}% - {\the\scratchcounter}% - \processfilelinesverbatim\readfilename - {\getvalue{\??tp#1\c!start}} - {\getvalue{\??tp#3\v!globaal\c!start}}}}% - {\processfilelinesverbatim\readfilename - {\getvalue{\??tp#1\c!start}} - {\getvalue{\??tp#1\c!stop }}}}% - \stopverbatimcolor - \stopopelkaar} % includes \egroup - {\bgroup - \expanded{\convertargument#3}\to\ascii - \tttf[\makemessage\m!verbatims1\ascii]% - \showmessage\m!verbatims1\ascii - \egroup}% - \getvalue{\??tp#1\c!na}} - -% \setuptyping[file][numbering=file] -% -% \typefile[start=2,nlines=3]{zapf} -% \typefile[start=continue,nlines=13]{zapf} -% \typefile{zapf} -% -% \setuptyping[file][numbering=line] -% -% \typefile[start=4,step=3]{zapf} -% \typefile{zapf} - \def\startgridcorrection {\dosingleempty\dostartgridcorrection} @@ -1022,40 +297,6 @@ \def\checkgridsnapping {\lineskip\ifgridsnapping\zeropoint\else\normallineskip\fi} -\def\splittblbox#1% #1 <> 0/2 - {\ifinsidefloat - \unvbox#1% - \else - % spacing between rows gets lost in split - \setbox4\vbox - {\doifsomething\tbltbltussenwit{\blank[\tbltbltussenwit]}}% - \setbox2\vbox - {}% - \dorecurse\noftblheadlines - {\setbox0\vsplit#1 to \lineheight - \setbox2\vbox{\unvcopy2\unvcopy0}}% - \ifcase\noftblheadlines\else\unvcopy2\fi - \donefalse - \doloop - {\setbox0\vsplit#1 to \lineheight - \ifdim\pagegoal<\maxdimen - \setbox0\vbox{\unvbox0}% - \dimen0\ht0 - \advance\dimen0\ht4 - \advance\dimen0\pagetotal - \ifdim\dimen0>\pagegoal - \bgroup \pagina \egroup % make sure that local vars are kept - \ifcase\noftblheadlines\else\unvcopy2\fi - \fi - \fi - \ifdone - \doifsomething\tbltbltussenwit{\blank[\tbltbltussenwit]}% - \fi - \unvbox0 - \allowbreak - \ifvoid#1 \exitloop \else \donetrue \fi}% - \fi} - \def\startplaatsen {\dosingleempty\dostartplaatsen} @@ -1128,18 +369,6 @@ % %\defineclassfontsynonym [KopFont] [officina] [SerifBold] -\def\woordrechts % zie naw - {\groupedcommand - {\removeunwantedspaces - \hfill - \hskip\zeropoint % permit break, \allowbreak fails here - \strut - \hfill - \quad % decent spacing - \hbox} - {\parfillskip\zeropoint - \par}} - \def\startkolomopmaak % don't change {\bgroup \getrawnoflines\teksthoogte % teksthoogte kan topskip hebben, dus raw |