summaryrefslogtreecommitdiff
path: root/tex/context/base/page-mul.tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/page-mul.tex')
-rw-r--r--tex/context/base/page-mul.tex565
1 files changed, 310 insertions, 255 deletions
diff --git a/tex/context/base/page-mul.tex b/tex/context/base/page-mul.tex
index 0aa377f81..8e5fb5888 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 \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 \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 \type{\topskip} and \type{\maxdepth}
-%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 \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
%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 \kap{DTP}||systems anyway.
+%D be done in \cap{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 {\zetbreedte}
-\def\finalcolumntextheight {\teksthoogte}
-\def\columntextwidth {\zetbreedte}
-\def\columntextheight {\teksthoogte}
-\def\usercolumnwidth {\tekstbreedte}
+\def\finalcolumntextwidth {\makeupwidth}
+\def\finalcolumntextheight {\textheight}
+\def\columntextwidth {\makeupwidth}
+\def\columntextheight {\textheight}
+\def\usercolumnwidth {\textwidth}
\def\columntextoffset {\!!zeropoint}
-\def\fixedcolumnheight {\teksthoogte}
+\def\fixedcolumnheight {\textheight}
\def\betweencolumns {\hskip\bodyfontsize}
\let\setcolumnfloats \relax % in CONTEXT used for floats
@@ -286,65 +286,65 @@
%D
%D \startbuffer
%D \startbuffer[b]
-%D \startkolommen
+%D \startcolumns
%D \input tufte
-%D \stopkolommen
+%D \stopcolumns
%D \stopbuffer
-%D \typebuffer[b] \haalbuffer[b]
+%D \typebuffer[b] \getbuffer[b]
%D
%D \startbuffer[b]
-%D \startsmaller
+%D \startnarrower
%D \input tufte
-%D \stopsmaller
+%D \stopnarrower
%D \stopbuffer
-%D \typebuffer[b] \haalbuffer[b]
+%D \typebuffer[b] \getbuffer[b]
%D
%D \startbuffer[b]
-%D \startkolommen \startsmaller
+%D \startcolumns \startnarrower
%D \input tufte
-%D \stopsmaller \stopkolommen
+%D \stopnarrower \stopcolumns
%D \stopbuffer
-%D \typebuffer[b] \haalbuffer[b]
+%D \typebuffer[b] \getbuffer[b]
%D
%D \startbuffer[b]
-%D \startsmaller \startkolommen
+%D \startnarrower \startcolumns
%D \input tufte
-%D \stopkolommen \stopsmaller
+%D \stopcolumns \stopnarrower
%D \stopbuffer
-%D \typebuffer[b] \haalbuffer[b]
+%D \typebuffer[b] \getbuffer[b]
%D
%D \startbuffer[b]
-%D \startkolommen \startsmaller[left]
+%D \startcolumns \startnarrower[left]
%D \input tufte
-%D \stopsmaller \stopkolommen
+%D \stopnarrower \stopcolumns
%D \stopbuffer
-%D \typebuffer[b] \haalbuffer[b]
+%D \typebuffer[b] \getbuffer[b]
%D
%D \startbuffer[b]
-%D \startsmaller[left] \startkolommen
+%D \startnarrower[left] \startcolumns
%D \input tufte
-%D \stopkolommen \stopsmaller
+%D \stopcolumns \stopnarrower
%D \stopbuffer
-%D \typebuffer[b] \haalbuffer[b]
+%D \typebuffer[b] \getbuffer[b]
%D
%D \startbuffer[b]
-%D \startsmaller \startkolommen \startsmaller
+%D \startnarrower \startcolumns \startnarrower
%D \input tufte
-%D \stopsmaller\stopkolommen \stopsmaller
+%D \stopnarrower\stopcolumns \stopnarrower
%D \stopbuffer
-%D \typebuffer[b] \haalbuffer[b]
+%D \typebuffer[b] \getbuffer[b]
%D
%D \startbuffer[b]
-%D \startsmaller[left] \startkolommen \startsmaller
+%D \startnarrower[left] \startcolumns \startnarrower
%D \input tufte
-%D \stopsmaller\stopkolommen \stopsmaller
+%D \stopnarrower\stopcolumns \stopnarrower
%D \stopbuffer
-%D \typebuffer[b] \haalbuffer[b]
+%D \typebuffer[b] \getbuffer[b]
%D \stopbuffer
%D
%D \start
%D \def\postprocesscolumnline#1{\ruledhbox{\strut\box#1}\hss}
-%D \haalbuffer
+%D \getbuffer
%D \stop
%D One should be aware that when font related dimensions are
@@ -352,24 +352,46 @@
%D dimensions are influenced by bodyfont switches inside
%D multi||column mode.
-\def\setcolumnvsize
- {%\global\vsize\columntextheight
- \global\vsize-\columntextoffset
- \global\multiply\vsize 2
- \global\advance\vsize \columntextheight
+% \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
\ifdim\precolumnboxheight>\zeropoint
- \global\advance\vsize -\precolumnboxheight
+ \advance\mcscratchdimen -\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
+ \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\pagegoal\vsize} % let's do it only here
%D It really starts here. After some checks and initializations
@@ -470,6 +492,36 @@
%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
@@ -485,10 +537,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
@@ -496,6 +548,7 @@
\endgroup % here
\nofcolumns\plusone
\setvsize % the outer one!
+ \synchronizeoutput % new may 2004 / we need to: \pagegoal\vsize
\checkendcolumnfootnotes
\dosomebreak\allowbreak
\restoresavedfloats}
@@ -648,16 +701,16 @@
%D \def\postprocesscolumnline#1% or \postprocesscolumnbox
%D {\ruledhbox{\box#1}\hss}
%D
-%D \startkolommen[n=4]
+%D \startcolumns[n=4]
%D \dorecurse{25}{line: \recurselevel\par}
-%D \stopkolommen
+%D \stopcolumns
%D \stopbuffer
%D
%D \typebuffer
%D
%D Here we show the natural width of the lines:
%D
-%D {\haalbuffer}
+%D {\getbuffer}
%D
%D The next example does a bit more advanced manipulation:
%D
@@ -669,16 +722,16 @@
%D \relax\unhbox#1\hfill
%D \fi}
%D
-%D \startkolommen[n=4]
+%D \startcolumns[n=4]
%D \dorecurse{25}{line \recurselevel\par}
-%D \stopkolommen
+%D \stopcolumns
%D \stopbuffer
%D
%D \typebuffer
%D
%D Here we also see an application of \type{\currentcolumn}:
%D
-%D {\haalbuffer}
+%D {\getbuffer}
%D
%D This feature is implemented using the reshape macros
%D presented in \type{supp-box}.
@@ -756,16 +809,16 @@
\fuzzysnappedbox\unvbox0
\fakecolumnfootnotes{#1}}%
\else
- \ifclevernotes
+ \ifcase\clevernotes
+ \global\setbox#1\vsplit#2 to \dimen#3%
+ \global\setbox#1\vbox
+ {\fuzzysnappedbox\unvbox{#1}}% % or \box ?
+ \else
\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}
@@ -786,7 +839,7 @@
\def\fakecolumnfootnotes#1%
{\relax
- \ifclevernotes
+ \ifcase\clevernotes\else
\ifnum#1=\lastcolumnbox
\fakenotes
\fi
@@ -794,34 +847,91 @@
\def\columnfootnotecorrection#1#2%
{\relax
- \ifclevernotes
+ \ifcase\clevernotes
+ % page notes
+ \or
+ \ifnum#1=\firstcolumnbox\relax
+ \calculatetotalclevernoteheight
+ \advance#2 -\totalnoteheight
+ \fi
+ \else
\ifnum#1=\lastcolumnbox\relax
- \calculatetotalnoteheight
+ \calculatetotalclevernoteheight
\advance#2 -\totalnoteheight
\fi
\fi}
-\def\overlaycolumnfootnotes % VERVANGEN !!!
+% \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
{\relax
- \ifclevernotes
+ \ifcase\clevernotes
+ % page notes
+ \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}}%
+ \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
\egroup
\fi
\fi}
@@ -837,14 +947,16 @@
\forgetall
\setmulticolumnsout
\dontshowcomposition
- \dimen0=\columntextheight
- \advance\dimen0 -\precolumnboxheight
- \settotalinsertionheight
- \advance\dimen0 -\totalinsertionheight
- \ifgridsnapping % evt altijd, nog testen
- \getnoflines{\dimen0}
- \dimen0=\noflines\openlineheight
- \fi
+% \dimen0=\columntextheight
+% \advance\dimen0 -\precolumnboxheight
+% \settotalinsertionheight
+% \advance\dimen0 -\totalinsertionheight
+% \ifgridsnapping % evt altijd, nog testen
+% \getnoflines{\dimen0}
+% \dimen0=\noflines\openlineheight
+% \fi
+ \getmulticolumnlines
+ \dimen0=\nofcolumnlines\openlineheight
\dohandleallcolumns
{\splitcurrentcolumn from \box\normalpagebox to \dimen0}
\setbox\restofpage\vbox{\unvbox\normalpagebox}%
@@ -1043,20 +1155,20 @@
%D The multicolumn mechanism is incorporated in a \CONTEXT\
%D interface, which acts like:
%D
-%D \starttypen
+%D \starttyping
%D \startcolumns[n=4,balance=no]
%D some text
%D \stopcolumns
-%D \stoptypen
+%D \stoptyping
%D
%D The setup is optional. The default behaviour of columns
%D can be set up with:
%D
-%D \starttypen
+%D \starttyping
%D \setupcolumns
%D [n=2,
%D balance=yes]
-%D \stoptypen
+%D \stoptyping
%D
%D In this case, stretching is according to the way it's
%D done outside columns (\type{\inheritcolumnstrue}). Also
@@ -1154,7 +1266,7 @@
#2=\dimen4
#3=\dimen6 }
-\def\getinsertionheight%
+\def\getinsertionheight
{\ifdim\pagegoal<\maxdimen
\bgroup
\dimen0=\columntextheight
@@ -1162,7 +1274,7 @@
\xdef\insertionheight{\the\dimen0}%
\egroup
\else
- \global\let\insertionheight=\zeropoint
+ \global\let\insertionheight\zeropoint
\fi}
\def\docolumnroomfloat
@@ -1180,7 +1292,7 @@
% \advance\dimen0 \insertionheight
%\fi
\setbox\scratchbox\vbox % tricky met objecten ?
- {\blanko[\@@bkvoorwit]
+ {\blank[\@@bkspacebefore]
\snaptogrid\vbox{\copy\floatbox}}%
\advance\dimen0 \ht\scratchbox
\advance\dimen0 .5\lineheight % needed because goal a bit higher
@@ -1203,64 +1315,6 @@
\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
@@ -1273,11 +1327,11 @@
\doresavefloat
\else
%\setbox2=\vbox
- % {\blanko[\@@bkvoorwit]
+ % {\blank[\@@bkspacebefore]
% \snaptogrid\vbox{\copy\floatbox}%
- % \blanko[\@@bknawit]
+ % \blank[\@@bkspaceafter]
\setbox2=\vbox
- {\blanko[\@@bkvoorwit]
+ {\blank[\@@bkspacebefore]
\snaptogrid\vbox{\copy\floatbox}}%
\advance\dimen0 \ht2
\ifdim\dimen0>\dimen2
@@ -1287,8 +1341,8 @@
\ifdim\ht\currenttopcolumnbox=\zeropoint
\global\setbox\currenttopcolumnbox\vbox
{\snaptogrid\vbox{\copy\floatbox}
- \witruimte % nodig ?
- \blanko[\@@bknawit]}%
+ \whitespace % nodig ?
+ \blank[\@@bkspaceafter]}%
\dimen4=\ht\currenttopcolumnbox
\advance\dimen4 \dp\currenttopcolumnbox
\global\advance\vsize -\dimen4
@@ -1308,11 +1362,11 @@
\par
\ifdim\prevdepth<\zeropoint \else % anders bovenaan kolom witruimte
\nobreak
- \blanko[\@@bkvoorwit]
+ \blank[\@@bkspacebefore]
\nobreak
\fi
\flushfloatbox
- \blanko[\@@bknawit]
+ \blank[\@@bkspaceafter]
\fi
\fi
\fi
@@ -1323,12 +1377,12 @@
%D are placed, taking the width of a float into account. This
%D routine can be improved on different ways:
%D
-%D \startopsomming[intro,opelkaar]
-%D \som taking into account some imaginary baseline, just to
+%D \startitemize[intro,packed]
+%D \item taking into account some imaginary baseline, just to
%D get the captions in line
-%D \som multipass flushing until as many floats are displaced
+%D \item multipass flushing until as many floats are displaced
%D as possible
-%D \stopopsomming
+%D \stopitemize
%D
%D When handling lots of (small) floats spacing can get worse
%D because of lining out the columns.
@@ -1348,8 +1402,8 @@
{\snaptogrid\vbox
{\copy\currenttopcolumnbox
\hbox{\vphantom{\copy\floatbox}}}
- \witruimte % nodig ?
- \blanko[\@@bknawit]}%
+ \whitespace % nodig ?
+ \blank[\@@bkspaceafter]}%
\else
\dogetfloat
\ifdim\wd\floatbox>\finalcolumntextwidth % better somewhere else too
@@ -1374,9 +1428,9 @@
\advance\dimen0 -\intercolumnwidth
\global\setbox\floatbox\hbox to \dimen0
%{\hss\hbox{\copy\floatbox}\hss}%
- {\processaction[\@@bkplaats] % how easy to forget
- [ \v!links=>\copy\floatbox\hss,
- \v!rechts=>\hss\copy\floatbox,
+ {\processaction[\@@bklocation] % how easy to forget
+ [ \v!left=>\copy\floatbox\hss,
+ \v!right=>\hss\copy\floatbox,
\s!default=>\hss\copy\floatbox\hss,
\s!unknown=>\hss\copy\floatbox\hss]}%
\fi
@@ -1389,8 +1443,8 @@
{\snaptogrid\vbox
{\copy\currenttopcolumnbox
\copy\floatbox}
- \witruimte % nodig ?
- \blanko[\@@bknawit]}%
+ \whitespace % nodig ?
+ \blank[\@@bkspaceafter]}%
\fi
\dimen6\ht\currenttopcolumnbox
\advance\dimen6 \dp\currenttopcolumnbox
@@ -1416,44 +1470,44 @@
%D One inprovement can be to normalize the height of floats
%D to $n\times$\type{\lineheight} with a macro like:
%D
-%D \starttypen
+%D \starttyping
%D \normalizevbox{...}
-%D \stoptypen
+%D \stoptyping
% border case, should fit on one page
%
-% \startkolommen
+% \startcolumns
%
% 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}}
%
-% \stopkolommen
+% \stopcolumns
-\newif\ifbinnenkolommen
+\newif\ifinsidecolumns
\newif\if@@klbalanceren
\newif\if@@kluitlijnen
-\binnenkolommenfalse
+\insidecolumnsfalse
-\def\stelkolommenin
- {\dodoubleargument\dostelkolommenin}
+\def\setupcolumns
+ {\dosingleempty\dosetupcolumns}
-\def\stelkolommenin[#1]%
+\def\dosetupcolumns[#1]%
{\getparameters[\??kl][#1]%
\nofcolumns\@@kln\relax
\processaction
- [\@@kllijn]
- [ \v!aan=>\let\betweencolumns\linebetweencolumns,
- \v!uit=>\let\betweencolumns\spacebetweencolumns,
+ [\@@klrule]
+ [ \v!on=>\let\betweencolumns\linebetweencolumns,
+ \v!off=>\let\betweencolumns\spacebetweencolumns,
\s!default=>\let\betweencolumns\spacebetweencolumns,
- \s!unknown=>\let\betweencolumns\@@kllijn]}
+ \s!unknown=>\let\betweencolumns\@@klrule]}
\def\linebetweencolumns
{\bgroup
- \startcolorpage
- \ifdim\@@klafstand>\zeropoint
- \dimen0=\@@klafstand
+ \starttextproperties
+ \ifdim\@@kldistance>\zeropoint
+ \dimen0=\@@kldistance
\else
\dimen0=\linewidth
\fi
@@ -1463,115 +1517,115 @@
\!!width\linewidth
\ifb@selinebottom\!!depth\strutdepth\fi
\hskip.5\dimen0\relax
- \stopcolorpage
+ \stoptextproperties
\egroup}
\def\spacebetweencolumns
- {\hskip\@@klafstand}
+ {\hskip\@@kldistance}
\presetlocalframed[\??kl]
\def\backgroundfinishcolumnbox
- {\doifinsetelse\@@kloffset{\v!geen,\v!overlay}
+ {\doifinsetelse\@@kloffset{\v!none,\v!overlay}
{\let\@@kloffset\!!zeropoint}
{\scratchdimen\@@kloffset
- \advance\scratchdimen -\@@kllijndikte
+ \advance\scratchdimen -\@@klrulethickness
\edef\@@kloffset{\the\scratchdimen}}%
\localframed
[\??kl]
- [\c!strut=\v!nee,
- \c!breedte=\v!passend,
- \c!hoogte=\v!passend,
- \c!uitlijnen=]}
+ [\c!strut=\v!no,
+ \c!width=\v!fit,
+ \c!height=\v!fit,
+ \c!align=]}
\let\restorecolumnsettings\relax
-\definecomplexorsimpleempty\startkolommen
+\definecomplexorsimpleempty\startcolumns
-\def\complexstartkolommen[#1]% %% \startkolommen
+\def\complexstartcolumns[#1]% %% \startcolumns
{\bgroup
- \let\stopkolommen\egroup
- \ifbinnenkolommen
+ \let\stopcolumns\egroup
+ \ifinsidecolumns
\else
- \stelkolommenin[#1]%
+ \setupcolumns[#1]%
\ifnum\@@kln>1\relax
- \witruimte
+ \whitespace
\begingroup
- \doif\@@kloptie\v!achtergrond
+ \doif\@@kloption\v!background
{\let\finishcolumnbox\backgroundfinishcolumnbox
\let\columntextoffset\@@kloffset}%
- \ifx\@@klcommando\empty\else
- \let\postprocesscolumnline\@@klcommando
+ \ifx\@@klcommand\empty\else
+ \let\postprocesscolumnline\@@klcommand
\fi
- \doifelsenothing\@@klhoogte
+ \doifelsenothing\@@klheight
\heightencolumnsfalse
\heightencolumnstrue
- \doifelse\@@klrichting\v!rechts
+ \doifelse\@@kldirection\v!right
\reversecolumnsfalse
\reversecolumnstrue
- \doifelse\@@klbalanceren\v!ja
+ \doifelse\@@klbalance\v!yes
\balancecolumnstrue
\balancecolumnsfalse
\processaction % ook nog: laatsteuitlijnen
- [\@@kluitlijnen]
- [ \v!ja=>\stretchcolumnstrue
+ [\@@klalign]
+ [ \v!yes=>\stretchcolumnstrue
\inheritcolumnsfalse,
- \v!nee=>\stretchcolumnsfalse
+ \v!no=>\stretchcolumnsfalse
\inheritcolumnsfalse,
- \v!tekst=>\stretchcolumnsfalse
+ \v!text=>\stretchcolumnsfalse
\inheritcolumnstrue]%
\nofcolumns=\@@kln
%
% probably more is needed, and how about nesting save's
%
\savecurrentblanko
- \savecurrentwitruimte
+ \savecurrentwhitespace
\def\restorecolumnsettings
{\boxmaxdepth\maxdimen % done elsewhere
\restorecurrentblanko
- \restorecurrentwitruimte}%
+ \restorecurrentwhitespace}%
%
- \edef\fixedcolumnheight{\@@klhoogte}%
- \edef\minbalancetoplines{\@@klnboven}%
- \setuptolerance[\@@kltolerantie]% %% \startkolommen
- \setupblank[\@@klblanko]%
- \ifdim\tussenwit>\zeropoint\relax
- \setupwhitespace[\@@klblanko]%
+ \edef\fixedcolumnheight{\@@klheight}%
+ \edef\minbalancetoplines{\@@klntop}%
+ \setuptolerance[\@@kltolerance]% %% \startcolumns
+ \setupblank[\@@klblank]%
+ \ifdim\ctxparskip>\zeropoint\relax
+ \setupwhitespace[\@@klblank]%
\fi
- \def\stopkolommen
+ \def\stopcolumns
{\endmulticolumns
- \global\binnenkolommenfalse
+ \global\insidecolumnsfalse
\endgroup
\egroup}%
- \global\binnenkolommentrue
+ \global\insidecolumnstrue
\beginmulticolumns
\fi
\fi}
-\installcolumnbreakhandler {MUL} \v!voorkeur
+\installcolumnbreakhandler {MUL} \v!preference
{\goodbreak}
-\installcolumnbreakhandler {MUL} \v!ja
+\installcolumnbreakhandler {MUL} \v!yes
{\par % todo: since
- {\testrulewidth\zeropoint\ruledvskip\teksthoogte} % we misuse a
+ {\testrulewidth\zeropoint\ruledvskip\textheight} % we misuse a
\penalty-200 % side effect
- \vskip-\teksthoogte
- \prevdepth-\thousandpoint} % signals top of column to \blanko
+ \vskip-\textheight
+ \prevdepth-\thousandpoint} % signals top of column to \blank
-\stelkolommenin
+\setupcolumns
[\c!n=2,
- \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!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!offset=.5\korpsgrootte]
%D Undocumented and still under development.
@@ -1581,13 +1635,14 @@
\def\dostartsimplecolumns[#1]%
{\bgroup
+ \nopenalties
\getparameters[\??kl]
- [\c!breedte=\hsize,\c!afstand=1.5\korpsgrootte,%
- \c!n=2,\c!regels=0,#1]%
- \let\rigidcolumnlines\@@klregels
- \setrigidcolumnhsize\@@klbreedte\@@klafstand\@@kln
+ [\c!width=\hsize,\c!distance=1.5\korpsgrootte,%
+ \c!n=2,\c!lines=0,#1]%
+ \let\rigidcolumnlines\@@kllines
+ \setrigidcolumnhsize\@@klwidth\@@kldistance\@@kln
\setbox\scratchbox\vbox\bgroup
- \forgetall} % \blanko[\v!blokkeer]
+ \forgetall} % \blank[\v!disable]
\def\stopsimplecolumns
{\removebottomthings
@@ -1595,4 +1650,4 @@
\rigidcolumnbalance\scratchbox
\egroup}
-\protect \endinput \ No newline at end of file
+\protect \endinput