diff options
Diffstat (limited to 'tex/context/base/page-mul.tex')
-rw-r--r-- | tex/context/base/page-mul.tex | 560 |
1 files changed, 253 insertions, 307 deletions
diff --git a/tex/context/base/page-mul.tex b/tex/context/base/page-mul.tex index 8e5fb5888..0a4fa03ca 100644 --- a/tex/context/base/page-mul.tex +++ b/tex/context/base/page-mul.tex @@ -68,16 +68,16 @@ %D perfect. While at the moment the routine doesn't support %D all kind of floats, it does support: %D -%D \startitemize[packed] -%D \item an unlimitted number of columns -%D \item ragged or not ragged bottoms -%D \item optional balancing without \type{\balancingerrors} -%D \item different \type{\baselineskips}, \type{\spacing}, +%D \startopsomming[opelkaar] +%D \som an unlimitted number of columns +%D \som ragged or not ragged bottoms +%D \som optional balancing without \type{\balancingerrors} +%D \som different \type{\baselineskips}, \type{\spacing}, %D \type{\topskip} and \type{\maxdepth} -%D \item left- and right indentation, e.g. within lists -%D \item moving columns floats to the next column or page -%D \item handling of floats that are to wide for a columns -%D \stopitemize +%D \som left- and right indentation, e.g. within lists +%D \som moving columns floats to the next column or page +%D \som handling of floats that are to wide for a columns +%D \stopopsomming %D %D One could wonder why single and multi||columns modes are %D still separated. One reason for this is that \TeX\ is not @@ -86,7 +86,7 @@ %D column as a special case of multi||columns is posible but at %D the cost of worse float handling, worse page breaking, %D worse etc. Complicated multi||column page handling should -%D be done in \cap{DTP}||systems anyway. +%D be done in \kap{DTP}||systems anyway. %D %D There are three commands provided for entering and leaving %D multi||column mode and for going to the next column: @@ -177,14 +177,14 @@ %D A lot of footnote stuff added! -\def\finalcolumntextwidth {\makeupwidth} -\def\finalcolumntextheight {\textheight} -\def\columntextwidth {\makeupwidth} -\def\columntextheight {\textheight} -\def\usercolumnwidth {\textwidth} +\def\finalcolumntextwidth {\zetbreedte} +\def\finalcolumntextheight {\teksthoogte} +\def\columntextwidth {\zetbreedte} +\def\columntextheight {\teksthoogte} +\def\usercolumnwidth {\tekstbreedte} \def\columntextoffset {\!!zeropoint} -\def\fixedcolumnheight {\textheight} +\def\fixedcolumnheight {\teksthoogte} \def\betweencolumns {\hskip\bodyfontsize} \let\setcolumnfloats \relax % in CONTEXT used for floats @@ -286,65 +286,65 @@ %D %D \startbuffer %D \startbuffer[b] -%D \startcolumns +%D \startkolommen %D \input tufte -%D \stopcolumns +%D \stopkolommen %D \stopbuffer -%D \typebuffer[b] \getbuffer[b] +%D \typebuffer[b] \haalbuffer[b] %D %D \startbuffer[b] -%D \startnarrower +%D \startsmaller %D \input tufte -%D \stopnarrower +%D \stopsmaller %D \stopbuffer -%D \typebuffer[b] \getbuffer[b] +%D \typebuffer[b] \haalbuffer[b] %D %D \startbuffer[b] -%D \startcolumns \startnarrower +%D \startkolommen \startsmaller %D \input tufte -%D \stopnarrower \stopcolumns +%D \stopsmaller \stopkolommen %D \stopbuffer -%D \typebuffer[b] \getbuffer[b] +%D \typebuffer[b] \haalbuffer[b] %D %D \startbuffer[b] -%D \startnarrower \startcolumns +%D \startsmaller \startkolommen %D \input tufte -%D \stopcolumns \stopnarrower +%D \stopkolommen \stopsmaller %D \stopbuffer -%D \typebuffer[b] \getbuffer[b] +%D \typebuffer[b] \haalbuffer[b] %D %D \startbuffer[b] -%D \startcolumns \startnarrower[left] +%D \startkolommen \startsmaller[left] %D \input tufte -%D \stopnarrower \stopcolumns +%D \stopsmaller \stopkolommen %D \stopbuffer -%D \typebuffer[b] \getbuffer[b] +%D \typebuffer[b] \haalbuffer[b] %D %D \startbuffer[b] -%D \startnarrower[left] \startcolumns +%D \startsmaller[left] \startkolommen %D \input tufte -%D \stopcolumns \stopnarrower +%D \stopkolommen \stopsmaller %D \stopbuffer -%D \typebuffer[b] \getbuffer[b] +%D \typebuffer[b] \haalbuffer[b] %D %D \startbuffer[b] -%D \startnarrower \startcolumns \startnarrower +%D \startsmaller \startkolommen \startsmaller %D \input tufte -%D \stopnarrower\stopcolumns \stopnarrower +%D \stopsmaller\stopkolommen \stopsmaller %D \stopbuffer -%D \typebuffer[b] \getbuffer[b] +%D \typebuffer[b] \haalbuffer[b] %D %D \startbuffer[b] -%D \startnarrower[left] \startcolumns \startnarrower +%D \startsmaller[left] \startkolommen \startsmaller %D \input tufte -%D \stopnarrower\stopcolumns \stopnarrower +%D \stopsmaller\stopkolommen \stopsmaller %D \stopbuffer -%D \typebuffer[b] \getbuffer[b] +%D \typebuffer[b] \haalbuffer[b] %D \stopbuffer %D %D \start %D \def\postprocesscolumnline#1{\ruledhbox{\strut\box#1}\hss} -%D \getbuffer +%D \haalbuffer %D \stop %D One should be aware that when font related dimensions are @@ -352,46 +352,24 @@ %D dimensions are influenced by bodyfont switches inside %D multi||column mode. -% \def\setcolumnvsize -% {%\global\vsize\columntextheight -% \global\vsize-\columntextoffset -% \global\multiply\vsize \plustwo -% \global\advance\vsize \columntextheight -% \ifdim\precolumnboxheight>\zeropoint -% \global\advance\vsize -\precolumnboxheight -% \fi -% %\getinsertionheights\to\dimen0\\% -% %\global\advance\vsize -\dimen0 -% \settotalinsertionheight -% \global\advance\vsize -\totalinsertionheight -% %%%\ifgridsnapping % evt altijd, nog testen, testing now, see columned tocs -% \getnoflines\vsize -% \vsize\noflines\openlineheight -% \advance\vsize .5\openlineheight % collect enough data -% %%%\fi -% \global\vsize\nofcolumns\vsize -% \global\pagegoal\vsize} % let's do it only here - -\newdimen\mcscratchdimen -\newcount\nofcolumnlines - -\def\getmulticolumnlines - {\mcscratchdimen-\columntextoffset - \multiply\mcscratchdimen \plustwo - \advance\mcscratchdimen \columntextheight +\def\setcolumnvsize + {%\global\vsize\columntextheight + \global\vsize-\columntextoffset + \global\multiply\vsize 2 + \global\advance\vsize \columntextheight \ifdim\precolumnboxheight>\zeropoint - \advance\mcscratchdimen -\precolumnboxheight + \global\advance\vsize -\precolumnboxheight \fi + %\getinsertionheights\to\dimen0\\% + %\global\advance\vsize -\dimen0 \settotalinsertionheight - \advance\mcscratchdimen -\totalinsertionheight - \getnoflines\mcscratchdimen - \nofcolumnlines\noflines} - -\def\setcolumnvsize - {\getmulticolumnlines - \mcscratchdimen\nofcolumnlines\openlineheight - \advance\mcscratchdimen .5\openlineheight % collect enough data - \global\vsize\nofcolumns\mcscratchdimen + \global\advance\vsize -\totalinsertionheight +%%%\ifgridsnapping % evt altijd, nog testen, testing now, see columned tocs + \getnoflines\vsize + \vsize\noflines\openlineheight + \advance\vsize .5\openlineheight % collect enough data +%%%\fi + \global\vsize\nofcolumns\vsize \global\pagegoal\vsize} % let's do it only here %D It really starts here. After some checks and initializations @@ -492,36 +470,6 @@ %D e.g. when there is no text given between \type{\begin..} %D and \type{\end..}. The \type{\par} is needed! -% \def\endmulticolumns -% {%\par -% \vskip\lineheight\vskip-\lineheight % take footnotes into account -% \dontshowcomposition -% \doflushcolumnfloat % added recently -% %\doflushcolumnfloats % no, since it results in wrong top floats -% \flushnotes % before start of columns -% \par -% \ifbalancecolumns -% \global\output{\continuousmulticolumnsout}% -% \goodbreak -% \global\output{\balancedmulticolumnsout}% -% \else -% \goodbreak -% \fi -% \eject % the prevdepth is important, try e.g. toclist in -% \prevdepth\zeropoint % columns before some noncolumned text text -% \global\output\singlecolumnout -% \global\output{\the\mainoutput}% % % % % todo -% \ifvoid\precolumnbox\else -% \unvbox\precolumnbox -% \fi -% \global\precolumnboxheight\zeropoint -% \endgroup % here -% \nofcolumns\plusone -% \setvsize % the outer one! -% \checkendcolumnfootnotes -% \dosomebreak\allowbreak -% \restoresavedfloats} - \def\endmulticolumns {%\par \vskip\lineheight\vskip-\lineheight % take footnotes into account @@ -537,10 +485,10 @@ \else \goodbreak \fi - \eject % the prevdepth is important, try e.g. toclist in + \eject % the prevdepth is important, try e.g. toclist in \prevdepth\zeropoint % columns before some noncolumned text text \global\output\singlecolumnout - \global\output{\the\mainoutput}% % % % % todo + \global\output{\the\mainoutput}% % % % % todo \ifvoid\precolumnbox\else \unvbox\precolumnbox \fi @@ -548,7 +496,6 @@ \endgroup % here \nofcolumns\plusone \setvsize % the outer one! - \synchronizeoutput % new may 2004 / we need to: \pagegoal\vsize \checkendcolumnfootnotes \dosomebreak\allowbreak \restoresavedfloats} @@ -701,16 +648,16 @@ %D \def\postprocesscolumnline#1% or \postprocesscolumnbox %D {\ruledhbox{\box#1}\hss} %D -%D \startcolumns[n=4] +%D \startkolommen[n=4] %D \dorecurse{25}{line: \recurselevel\par} -%D \stopcolumns +%D \stopkolommen %D \stopbuffer %D %D \typebuffer %D %D Here we show the natural width of the lines: %D -%D {\getbuffer} +%D {\haalbuffer} %D %D The next example does a bit more advanced manipulation: %D @@ -722,16 +669,16 @@ %D \relax\unhbox#1\hfill %D \fi} %D -%D \startcolumns[n=4] +%D \startkolommen[n=4] %D \dorecurse{25}{line \recurselevel\par} -%D \stopcolumns +%D \stopkolommen %D \stopbuffer %D %D \typebuffer %D %D Here we also see an application of \type{\currentcolumn}: %D -%D {\getbuffer} +%D {\haalbuffer} %D %D This feature is implemented using the reshape macros %D presented in \type{supp-box}. @@ -809,16 +756,16 @@ \fuzzysnappedbox\unvbox0 \fakecolumnfootnotes{#1}}% \else - \ifcase\clevernotes - \global\setbox#1\vsplit#2 to \dimen#3% - \global\setbox#1\vbox - {\fuzzysnappedbox\unvbox{#1}}% % or \box ? - \else + \ifclevernotes \columnfootnotecorrection{#1}{\dimen#3}% \setbox0\vsplit#2 to \dimen#3% \global\setbox#1\vbox to \dimen#3% {\fuzzysnappedbox\unvbox0 \fakecolumnfootnotes{#1}}% + \else + \global\setbox#1\vsplit#2 to \dimen#3% + \global\setbox#1\vbox + {\fuzzysnappedbox\unvbox{#1}}% % or \box ? \fi \fi \egroup} @@ -839,7 +786,7 @@ \def\fakecolumnfootnotes#1% {\relax - \ifcase\clevernotes\else + \ifclevernotes \ifnum#1=\lastcolumnbox \fakenotes \fi @@ -847,91 +794,34 @@ \def\columnfootnotecorrection#1#2% {\relax - \ifcase\clevernotes - % page notes - \or - \ifnum#1=\firstcolumnbox\relax - \calculatetotalclevernoteheight - \advance#2 -\totalnoteheight - \fi - \else + \ifclevernotes \ifnum#1=\lastcolumnbox\relax - \calculatetotalclevernoteheight + \calculatetotalnoteheight \advance#2 -\totalnoteheight \fi \fi} -% \def\overlaycolumnfootnotes % VERVANGEN !!! -% {\relax -% \ifcase\clevernotes\else -% \checknotepresence -% \ifnotespresent -% % the note box has the depth of the notefont -% % because a column (i.e. first column has no depth, -% % we need to anchor top down) -% \bgroup -% \scratchdimen\ht\firstcolumnbox -% \advance\scratchdimen -\openstrutdepth % \strutdp -% \getnoflines\scratchdimen -% \advance\noflines -2 -% \scratchdimen\noflines\lineheight -% \advance\scratchdimen \topskip -% \setbox0\hbox -% {\lower\scratchdimen\vbox{\placenoteinserts}}% -% \ht0=\openstrutheight % \strutht -% \dp0=\openstrutdepth % \strutdp -% \scratchdimen\ht\lastcolumnbox -% \global\setbox\lastcolumnbox\vbox to \scratchdimen -% {\box\lastcolumnbox -% \vskip-\scratchdimen -% \restoretextcolor{\box0}}% -% \egroup -% \fi -% \fi} - -\def\overlaycolumnfootnotes +\def\overlaycolumnfootnotes % VERVANGEN !!! {\relax - \ifcase\clevernotes - % page notes - \else + \ifclevernotes \checknotepresence \ifnotespresent - % the note box has the depth of the notefont - % because a column (i.e. first column has no depth, - % we need to anchor top down) \bgroup - \ifcase\clevernotes\or - \getmulticolumnlines - \advance\nofcolumnlines -2 % ? - \scratchdimen\nofcolumnlines\lineheight - \advance\scratchdimen \topskip - \setbox0\hbox - {\lower\scratchdimen\vbox{\placenoteinserts}}% - \ht0=\openstrutheight % \strutht - \dp0=\openstrutdepth % \strutdp - \scratchdimen\ht\firstcolumnbox - \global\setbox\firstcolumnbox\vbox to \scratchdimen - {\box\firstcolumnbox - \vskip-\scratchdimen - \restoretextcolor{\box0}}% - \else - % maybe here also \getmulticolumnlines - \scratchdimen\ht\firstcolumnbox - \advance\scratchdimen -\openstrutdepth % \strutdp - \getnoflines\scratchdimen - \advance\noflines -2 - \scratchdimen\noflines\lineheight - \advance\scratchdimen \topskip - \setbox0\hbox - {\lower\scratchdimen\vbox{\placenoteinserts}}% - \ht0=\openstrutheight % \strutht - \dp0=\openstrutdepth % \strutdp - \scratchdimen\ht\lastcolumnbox - \global\setbox\lastcolumnbox\vbox to \scratchdimen - {\box\lastcolumnbox - \vskip-\scratchdimen - \restoretextcolor{\box0}}% - \fi + \scratchdimen\ht\firstcolumnbox + \advance\scratchdimen -\openstrutdepth % \strutdp + \getnoflines\scratchdimen + \advance\noflines -2 + \scratchdimen\noflines\lineheight + \advance\scratchdimen \topskip + \setbox0\hbox + {\lower\scratchdimen\vbox{\placenoteinserts}}% + \ht0=\openstrutheight % \strutht + \dp0=\openstrutdepth % \strutdp + \scratchdimen\ht\lastcolumnbox + \global\setbox\lastcolumnbox\vbox to \scratchdimen + {\box\lastcolumnbox + \vskip-\scratchdimen + \restoretextcolor{\box0}}% \egroup \fi \fi} @@ -947,16 +837,14 @@ \forgetall \setmulticolumnsout \dontshowcomposition -% \dimen0=\columntextheight -% \advance\dimen0 -\precolumnboxheight -% \settotalinsertionheight -% \advance\dimen0 -\totalinsertionheight -% \ifgridsnapping % evt altijd, nog testen -% \getnoflines{\dimen0} -% \dimen0=\noflines\openlineheight -% \fi - \getmulticolumnlines - \dimen0=\nofcolumnlines\openlineheight + \dimen0=\columntextheight + \advance\dimen0 -\precolumnboxheight + \settotalinsertionheight + \advance\dimen0 -\totalinsertionheight + \ifgridsnapping % evt altijd, nog testen + \getnoflines{\dimen0} + \dimen0=\noflines\openlineheight + \fi \dohandleallcolumns {\splitcurrentcolumn from \box\normalpagebox to \dimen0} \setbox\restofpage\vbox{\unvbox\normalpagebox}% @@ -1155,20 +1043,20 @@ %D The multicolumn mechanism is incorporated in a \CONTEXT\ %D interface, which acts like: %D -%D \starttyping +%D \starttypen %D \startcolumns[n=4,balance=no] %D some text %D \stopcolumns -%D \stoptyping +%D \stoptypen %D %D The setup is optional. The default behaviour of columns %D can be set up with: %D -%D \starttyping +%D \starttypen %D \setupcolumns %D [n=2, %D balance=yes] -%D \stoptyping +%D \stoptypen %D %D In this case, stretching is according to the way it's %D done outside columns (\type{\inheritcolumnstrue}). Also @@ -1266,7 +1154,7 @@ #2=\dimen4 #3=\dimen6 } -\def\getinsertionheight +\def\getinsertionheight% {\ifdim\pagegoal<\maxdimen \bgroup \dimen0=\columntextheight @@ -1274,7 +1162,7 @@ \xdef\insertionheight{\the\dimen0}% \egroup \else - \global\let\insertionheight\zeropoint + \global\let\insertionheight=\zeropoint \fi} \def\docolumnroomfloat @@ -1292,7 +1180,7 @@ % \advance\dimen0 \insertionheight %\fi \setbox\scratchbox\vbox % tricky met objecten ? - {\blank[\@@bkspacebefore] + {\blanko[\@@bkvoorwit] \snaptogrid\vbox{\copy\floatbox}}% \advance\dimen0 \ht\scratchbox \advance\dimen0 .5\lineheight % needed because goal a bit higher @@ -1315,6 +1203,64 @@ \newif\ifflushingcolumnfloats \flushingcolumnfloatstrue +% \def\doflushcolumnfloat% +% {\ifpostponecolumnfloats\else\ifflushingcolumnfloats\ifprocessingverbatim\else\ifsomefloatwaiting +% \bgroup +% \forgetall +% \let\doflushcolumnfloat=\relax +% \getcolumnstatus\column\count255\total\dimen0\goal\dimen2\\% +% \ifdim\dimen0>\zeropoint +% \dogetfloat +% \ifdim\wd\floatbox>\hsize +% \doresavefloat +% \else +% %\setbox2=\vbox +% % {\blanko[\@@bkvoorwit] +% % \snaptogrid\vbox{\copy\floatbox}% +% % \blanko[\@@bknawit] +% \setbox2=\vbox +% {\blanko[\@@bkvoorwit] +% \snaptogrid\vbox{\copy\floatbox}}% +% \advance\dimen0 by \ht2 +% \ifdim\dimen0>\dimen2 +% \ifnum\count255<\nofcolumns +% \advance\count255 by 1 +% \edef\currenttopcolumnbox{\getvalue{\@@topcol\the\count255}}% +% \ifdim\ht\currenttopcolumnbox=\zeropoint +% \global\setbox\currenttopcolumnbox=\vbox +% {\snaptogrid\vbox{\copy\floatbox} +% \witruimte % nodig ? +% \blanko[\@@bknawit]}% +% \dimen4=\ht\currenttopcolumnbox +% \advance\dimen4 by \dp\currenttopcolumnbox +% \global\advance\vsize by -\dimen4 +% \advance\dimen4 by -\pagegoal +% \global\pagegoal=-\dimen4 +% \showmessage{\m!columns}{12}{a}% +% \else +% \showmessage{\m!columns}{12}{b}% +% \doresavefloat +% \fi +% \else +% \showmessage{\m!columns}{12}{c}% +% \doresavefloat +% \fi +% \else +% \ifhmode{\setbox0=\lastbox}\fi% waar is die er in geslopen +% \par +% \ifdim\prevdepth<\zeropoint \else % anders bovenaan kolom witruimte +% \nobreak +% \blanko[\@@bkvoorwit] +% \nobreak +% \fi +% \flushfloatbox +% \blanko[\@@bknawit] +% \fi +% \fi +% \fi +% \egroup +% \fi\fi\fi\fi} + \def\doflushcolumnfloat {\ifpostponecolumnfloats\else\ifflushingcolumnfloats\ifprocessingverbatim\else\ifsomefloatwaiting \bgroup @@ -1327,11 +1273,11 @@ \doresavefloat \else %\setbox2=\vbox - % {\blank[\@@bkspacebefore] + % {\blanko[\@@bkvoorwit] % \snaptogrid\vbox{\copy\floatbox}% - % \blank[\@@bkspaceafter] + % \blanko[\@@bknawit] \setbox2=\vbox - {\blank[\@@bkspacebefore] + {\blanko[\@@bkvoorwit] \snaptogrid\vbox{\copy\floatbox}}% \advance\dimen0 \ht2 \ifdim\dimen0>\dimen2 @@ -1341,8 +1287,8 @@ \ifdim\ht\currenttopcolumnbox=\zeropoint \global\setbox\currenttopcolumnbox\vbox {\snaptogrid\vbox{\copy\floatbox} - \whitespace % nodig ? - \blank[\@@bkspaceafter]}% + \witruimte % nodig ? + \blanko[\@@bknawit]}% \dimen4=\ht\currenttopcolumnbox \advance\dimen4 \dp\currenttopcolumnbox \global\advance\vsize -\dimen4 @@ -1362,11 +1308,11 @@ \par \ifdim\prevdepth<\zeropoint \else % anders bovenaan kolom witruimte \nobreak - \blank[\@@bkspacebefore] + \blanko[\@@bkvoorwit] \nobreak \fi \flushfloatbox - \blank[\@@bkspaceafter] + \blanko[\@@bknawit] \fi \fi \fi @@ -1377,12 +1323,12 @@ %D are placed, taking the width of a float into account. This %D routine can be improved on different ways: %D -%D \startitemize[intro,packed] -%D \item taking into account some imaginary baseline, just to +%D \startopsomming[intro,opelkaar] +%D \som taking into account some imaginary baseline, just to %D get the captions in line -%D \item multipass flushing until as many floats are displaced +%D \som multipass flushing until as many floats are displaced %D as possible -%D \stopitemize +%D \stopopsomming %D %D When handling lots of (small) floats spacing can get worse %D because of lining out the columns. @@ -1402,8 +1348,8 @@ {\snaptogrid\vbox {\copy\currenttopcolumnbox \hbox{\vphantom{\copy\floatbox}}} - \whitespace % nodig ? - \blank[\@@bkspaceafter]}% + \witruimte % nodig ? + \blanko[\@@bknawit]}% \else \dogetfloat \ifdim\wd\floatbox>\finalcolumntextwidth % better somewhere else too @@ -1428,9 +1374,9 @@ \advance\dimen0 -\intercolumnwidth \global\setbox\floatbox\hbox to \dimen0 %{\hss\hbox{\copy\floatbox}\hss}% - {\processaction[\@@bklocation] % how easy to forget - [ \v!left=>\copy\floatbox\hss, - \v!right=>\hss\copy\floatbox, + {\processaction[\@@bkplaats] % how easy to forget + [ \v!links=>\copy\floatbox\hss, + \v!rechts=>\hss\copy\floatbox, \s!default=>\hss\copy\floatbox\hss, \s!unknown=>\hss\copy\floatbox\hss]}% \fi @@ -1443,8 +1389,8 @@ {\snaptogrid\vbox {\copy\currenttopcolumnbox \copy\floatbox} - \whitespace % nodig ? - \blank[\@@bkspaceafter]}% + \witruimte % nodig ? + \blanko[\@@bknawit]}% \fi \dimen6\ht\currenttopcolumnbox \advance\dimen6 \dp\currenttopcolumnbox @@ -1470,44 +1416,44 @@ %D One inprovement can be to normalize the height of floats %D to $n\times$\type{\lineheight} with a macro like: %D -%D \starttyping +%D \starttypen %D \normalizevbox{...} -%D \stoptyping +%D \stoptypen % border case, should fit on one page % -% \startcolumns +% \startkolommen % % 1 \input tufte \par \plaatsfiguur{}{\omlijnd[breedte=\hsize,hoogte=3cm]{1}} % 2 \input tufte \par \plaatsfiguur{}{\omlijnd[breedte=\hsize,hoogte=3cm]{2}} % 3 \input tufte \par \plaatsfiguur{}{\omlijnd[breedte=\hsize,hoogte=3cm]{3}} % -% \stopcolumns +% \stopkolommen -\newif\ifinsidecolumns +\newif\ifbinnenkolommen \newif\if@@klbalanceren \newif\if@@kluitlijnen -\insidecolumnsfalse +\binnenkolommenfalse -\def\setupcolumns - {\dosingleempty\dosetupcolumns} +\def\stelkolommenin + {\dodoubleargument\dostelkolommenin} -\def\dosetupcolumns[#1]% +\def\stelkolommenin[#1]% {\getparameters[\??kl][#1]% \nofcolumns\@@kln\relax \processaction - [\@@klrule] - [ \v!on=>\let\betweencolumns\linebetweencolumns, - \v!off=>\let\betweencolumns\spacebetweencolumns, + [\@@kllijn] + [ \v!aan=>\let\betweencolumns\linebetweencolumns, + \v!uit=>\let\betweencolumns\spacebetweencolumns, \s!default=>\let\betweencolumns\spacebetweencolumns, - \s!unknown=>\let\betweencolumns\@@klrule]} + \s!unknown=>\let\betweencolumns\@@kllijn]} \def\linebetweencolumns {\bgroup \starttextproperties - \ifdim\@@kldistance>\zeropoint - \dimen0=\@@kldistance + \ifdim\@@klafstand>\zeropoint + \dimen0=\@@klafstand \else \dimen0=\linewidth \fi @@ -1521,111 +1467,111 @@ \egroup} \def\spacebetweencolumns - {\hskip\@@kldistance} + {\hskip\@@klafstand} \presetlocalframed[\??kl] \def\backgroundfinishcolumnbox - {\doifinsetelse\@@kloffset{\v!none,\v!overlay} + {\doifinsetelse\@@kloffset{\v!geen,\v!overlay} {\let\@@kloffset\!!zeropoint} {\scratchdimen\@@kloffset - \advance\scratchdimen -\@@klrulethickness + \advance\scratchdimen -\@@kllijndikte \edef\@@kloffset{\the\scratchdimen}}% \localframed [\??kl] - [\c!strut=\v!no, - \c!width=\v!fit, - \c!height=\v!fit, - \c!align=]} + [\c!strut=\v!nee, + \c!breedte=\v!passend, + \c!hoogte=\v!passend, + \c!uitlijnen=]} \let\restorecolumnsettings\relax -\definecomplexorsimpleempty\startcolumns +\definecomplexorsimpleempty\startkolommen -\def\complexstartcolumns[#1]% %% \startcolumns +\def\complexstartkolommen[#1]% %% \startkolommen {\bgroup - \let\stopcolumns\egroup - \ifinsidecolumns + \let\stopkolommen\egroup + \ifbinnenkolommen \else - \setupcolumns[#1]% + \stelkolommenin[#1]% \ifnum\@@kln>1\relax - \whitespace + \witruimte \begingroup - \doif\@@kloption\v!background + \doif\@@kloptie\v!achtergrond {\let\finishcolumnbox\backgroundfinishcolumnbox \let\columntextoffset\@@kloffset}% - \ifx\@@klcommand\empty\else - \let\postprocesscolumnline\@@klcommand + \ifx\@@klcommando\empty\else + \let\postprocesscolumnline\@@klcommando \fi - \doifelsenothing\@@klheight + \doifelsenothing\@@klhoogte \heightencolumnsfalse \heightencolumnstrue - \doifelse\@@kldirection\v!right + \doifelse\@@klrichting\v!rechts \reversecolumnsfalse \reversecolumnstrue - \doifelse\@@klbalance\v!yes + \doifelse\@@klbalanceren\v!ja \balancecolumnstrue \balancecolumnsfalse \processaction % ook nog: laatsteuitlijnen - [\@@klalign] - [ \v!yes=>\stretchcolumnstrue + [\@@kluitlijnen] + [ \v!ja=>\stretchcolumnstrue \inheritcolumnsfalse, - \v!no=>\stretchcolumnsfalse + \v!nee=>\stretchcolumnsfalse \inheritcolumnsfalse, - \v!text=>\stretchcolumnsfalse + \v!tekst=>\stretchcolumnsfalse \inheritcolumnstrue]% \nofcolumns=\@@kln % % probably more is needed, and how about nesting save's % \savecurrentblanko - \savecurrentwhitespace + \savecurrentwitruimte \def\restorecolumnsettings {\boxmaxdepth\maxdimen % done elsewhere \restorecurrentblanko - \restorecurrentwhitespace}% + \restorecurrentwitruimte}% % - \edef\fixedcolumnheight{\@@klheight}% - \edef\minbalancetoplines{\@@klntop}% - \setuptolerance[\@@kltolerance]% %% \startcolumns - \setupblank[\@@klblank]% - \ifdim\ctxparskip>\zeropoint\relax - \setupwhitespace[\@@klblank]% + \edef\fixedcolumnheight{\@@klhoogte}% + \edef\minbalancetoplines{\@@klnboven}% + \setuptolerance[\@@kltolerantie]% %% \startkolommen + \setupblank[\@@klblanko]% + \ifdim\tussenwit>\zeropoint\relax + \setupwhitespace[\@@klblanko]% \fi - \def\stopcolumns + \def\stopkolommen {\endmulticolumns - \global\insidecolumnsfalse + \global\binnenkolommenfalse \endgroup \egroup}% - \global\insidecolumnstrue + \global\binnenkolommentrue \beginmulticolumns \fi \fi} -\installcolumnbreakhandler {MUL} \v!preference +\installcolumnbreakhandler {MUL} \v!voorkeur {\goodbreak} -\installcolumnbreakhandler {MUL} \v!yes +\installcolumnbreakhandler {MUL} \v!ja {\par % todo: since - {\testrulewidth\zeropoint\ruledvskip\textheight} % we misuse a + {\testrulewidth\zeropoint\ruledvskip\teksthoogte} % we misuse a \penalty-200 % side effect - \vskip-\textheight - \prevdepth-\thousandpoint} % signals top of column to \blank + \vskip-\teksthoogte + \prevdepth-\thousandpoint} % signals top of column to \blanko -\setupcolumns +\stelkolommenin [\c!n=2, - \c!ntop=1, - \c!command=, - \c!direction=\v!right, - \c!rule=\v!off, - \c!tolerance=\v!tolerant, - \c!distance=1.5\korpsgrootte, % influenced by switching - \c!height=, - \c!balance=\v!yes, - \c!align=\v!text, - \c!blank={\v!line,\v!fixed}, - \c!option=, - \c!rulethickness=\linewidth, + \c!nboven=1, + \c!commando=, + \c!richting=\v!rechts, + \c!lijn=\v!uit, + \c!tolerantie=\v!soepel, + \c!afstand=1.5\korpsgrootte, % influenced by switching + \c!hoogte=, + \c!balanceren=\v!ja, + \c!uitlijnen=\v!tekst, + \c!blanko={\v!regel,\v!vast}, + \c!optie=, + \c!lijndikte=\linewidth, \c!offset=.5\korpsgrootte] %D Undocumented and still under development. @@ -1637,12 +1583,12 @@ {\bgroup \nopenalties \getparameters[\??kl] - [\c!width=\hsize,\c!distance=1.5\korpsgrootte,% - \c!n=2,\c!lines=0,#1]% - \let\rigidcolumnlines\@@kllines - \setrigidcolumnhsize\@@klwidth\@@kldistance\@@kln + [\c!breedte=\hsize,\c!afstand=1.5\korpsgrootte,% + \c!n=2,\c!regels=0,#1]% + \let\rigidcolumnlines\@@klregels + \setrigidcolumnhsize\@@klbreedte\@@klafstand\@@kln \setbox\scratchbox\vbox\bgroup - \forgetall} % \blank[\v!disable] + \forgetall} % \blanko[\v!blokkeer] \def\stopsimplecolumns {\removebottomthings @@ -1650,4 +1596,4 @@ \rigidcolumnbalance\scratchbox \egroup} -\protect \endinput +\protect \endinput
\ No newline at end of file |