diff options
Diffstat (limited to 'tex/context/base/cont-new.tex')
-rw-r--r-- | tex/context/base/cont-new.tex | 995 |
1 files changed, 0 insertions, 995 deletions
diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex deleted file mode 100644 index 67354000a..000000000 --- a/tex/context/base/cont-new.tex +++ /dev/null @@ -1,995 +0,0 @@ -%D \module -%D [ file=cont-new, -%D version=1995.10.10, -%D title=\CONTEXT\ Miscellaneous Macros, -%D subtitle=New Macros, -%D author=Hans Hagen, -%D date=\currentdate, -%D copyright={PRAGMA / Hans Hagen \& Ton Otten}] -%C -%C This module is part of the \CONTEXT\ macro||package and is -%C therefore copyrighted by \PRAGMA. See mreadme.pdf for -%C details. - -\newcontextversion{2011.01.14 14:44} - -%D This file is loaded at runtime, thereby providing an -%D excellent place for hacks, patches, extensions and new -%D features. - -\unprotect - -% it's about time to clean up this file ... - -\writestatus\m!systems{beware: some patches loaded from cont-new.tex} - -% \ifx\pdfmapfile \undefined \else \pdfmapfile{ } \fi - -% \font\f=dummyfont \rpcode\f0=500 \hbox{..}\char0 -% todo: mp-new -% caption: grid=top|bottom in xml defs - -\def\fastscale#1% - {\begingroup - \ifnum#1=1000\relax - \setfalse\scaleboxdone - \else - \settrue\scaleboxdone - \edef\finalscaleboxxscale{\withoutpt\the\dimexpr#1pt/1000\relax}% - \let\finalscaleboxyscale\finalscaleboxxscale - \fi - \dowithnextbox{\doscaleboxindeed\flushnextbox\endgroup}\hbox} - -% \setupcaption [figure] [align=flushleft] -% \setupcaption [figure-1] [align=flushleft,leftmargin=10mm] -% \setupcaption [figure-2] [align=flushleft,leftmargin=10mm,rightmargin=-10mm,width=\textwidth] -% -% \startsetups somefigure -% \ifdim\floatsetupwidth>\textwidth -% \placesetupfloat[figure-2] -% \else -% \placesetupfloat[figure-1] -% \fi -% \stopsetups -% -% \placefloatwithsetups[somefigure]{}{\externalfigure[dummy][width=5cm,height=2cm]} - -\def\placefloatwithsetups - {\dotripleempty\doplacefloatwithsetups} - -\long\def\doplacefloatwithsetups[#1][#2][#3]#4% - {\def\floatsetupcaption {#4}% - \def\floatsetupcontent {\copy\nextbox}% - \def\floatsetupwidth {\wd\nextbox}% - \def\floatsetupheight {\ht\nextbox}% - \def\placesetupfloat[##1]{\placefloat[##1][#2][#3]{#4}{\floatsetupcontent}}% #4 and not \floatsetupcaption (unexpanded) - \dowithnextbox{\setups[#1]}\vbox} - -\def\dividedsize#1#2#3% size gap n - {\dimexpr - \ifnum\dimexpr#1\relax>\plusone - (\dimexpr#1\relax-\numexpr#3-1\relax\dimexpr#2\relax)/#3\else#1% - \fi - \relax} - -% \setuplabeltext[\s!itemcount1={{I(},{)}}] -% \def\labeledcountervalue#1{\labeltexts{#1}{\countervalue{#1}}} - -\def\singlewidened #1{\hbox spread 1em{\hss#1\hss}} -\def\complexwidened[#1]#2{\hbox spread #1{\hss#2\hss}} - -\definecomplexorsimple\widened - -% todo -% -% \def\definelocation{\dodoubleargument\dodefinelocation} -% \def\dodefinelocation[#1][#2]{\setvalue{loc:#1}{#2}} -% -% \definelocation[lt] [\v!left\v!top] -% \definelocation[tl] [\v!left\v!top] -% \definelocation[\v!top\v!left][\v!left\v!top] -% -% \def\getlocation#1{\executeifdefined{loc:#1}{#1}} - -% just in case we load something from a file (pdfr-ec for instance) - -\prependtoks \restoreendofline \to \everybeforeshipout - -% \let\cs\getvalue % no, we want \cs to be czech - -% experimental so this may change - -\def\startdescriptions - {\dosingleempty\dostartdescriptions} - -\def\dostartdescriptions[#1]% - {\begingroup - \def\item{\getvalue{#1}}% - \let\dostoppairdescription \donothing - \let\@@description \dostartpairdescription - \let\@@startsomedescription\dostartsomedescription} - -\def\stopdescriptions - {\dostoppairdescription - \endgroup} - -\def\dostartpairdescription[#1][#2]% - {\dostoppairdescription - \def\dostoppairdescription{\@@stopdescription{#1}}% - \bgroup - \def\currentdescription{#1}% - \doifelse{\descriptionparameter{\s!do\c!state}}\v!start - {\@@makedescription{#1}[#2]{}} - {\@@makedescription{#1}[#2]}} - -\def\dostartsomedescription% #1[#2]#3% - {\bgroup - \@@makedescription} % {#1}[#2]{#3}} - -% \starttext -% -% \definedescription[test] -% -% \startdescriptions -% \test{Foo} Bar bar bar -% \test{Foo} Bar bar bar -% \test{Foo} Bar bar bar -% \stopdescriptions -% -% \startdescriptions[test] -% \item{Foo} Bar bar bar -% \item{Foo} Bar bar bar -% \item{Foo} Bar bar bar -% \stopdescriptions -% -% \startdescriptions -% \starttest{Foo} Bar bar bar \stoptest -% \starttest{Foo} Bar bar bar \stoptest -% \starttest{Foo} Bar bar bar \stoptest -% \stopdescriptions -% -% \startdescriptions[test] -% \item{Foo} Bar bar bar -% \item{Foo} Bar bar bar -% \item{Foo} Bar bar bar -% \stopdescriptions -% -% \stoptext - -% to do: -% -% \def\defineshapesynonym -% {\dodoubleargument\dodefineshapesynonym} -% -% \def\dodefineshapesynonym[#1][#2]% -% {\setvalue{shsy:#1}{#2}} -% -% \def\shapesynonym#1% -% {\ifcsname shsy:#1\endcsname -% \expandafter\shapesynonym\csname shsy:#1\endcsname\else#1% -% \fi} -% -%\defineshapesynonym[eacute] [e] -%\defineshapesynonym[egrave] [e] -%\defineshapesynonym[eumlaut [e] -%\defineshapesynonym[eogonek][e] -% -% more reduction -% -%\defineshapesynonym[e][o] -%\defineshapesynonym[w][v] -%\defineshapesynonym[m][n] -% -% \shapesynonym{eacute} - -% this will be activated when - -% \newinsert\thispageinsert % <- installinsertion - -% \def\flushatthispage -% {\bgroup -% \dowithnextbox{\insert\thispageinsert{\box\nextbox}\egroup}% -% \hbox} - -% \appendtoks -% \ifvoid\thispageinsert\else\hbox{\smashedbox\thispageinsert}\fi -% \to \everyshipout - -% \definemarkedpage[nobackgrounds] -% \markpage[nobackgrounds] -% \doifmarkedpageelse{nobackgrounds} - -\newcounter\nofmarkedpages - -\def\definemarkedpage[#1]% - {\definetwopasslist{\v!page:#1}} - -\def\markpage[#1]% looks very much like domarginreference - {\iftrialtypesetting\else - \doglobal\increment\nofmarkedpages\relax - \lazysavetwopassdata{\v!page:#1}{\nofmarkedpages}{\noexpand\realfolio}% - \fi} - -\def\doifmarkedpageelse#1% - {\gettwopassdatalist{\v!page:#1}% - \expanded{\doifinsetelse{\realfolio}{\twopassdatalist}}} - -% Just a simple and fast hanger, for usage in macros. - -\def\setuphanging - {\dodoubleempty\getparameters[\??ha]} - -\setuphanging - [\c!distance=.5em] - -\def\starthanging - {\noindent\bgroup - \dowithnextbox - {\setbox\nextbox\hbox{\flushnextbox\hskip\@@hadistance}% - \hangindent\nextboxwd - \hangafter\plusone - \flushnextbox\ignorespaces} - \hbox} - -\def\stophanging - {\endgraf - \egroup} - -% experimental - -\def\stophangaround - {\endgraf - \egroup} - -\def\starthangaround - {\noindent\bgroup - \dowithnextbox - {\ifdim\nextboxht>\strutht\setbox\nextbox\tbox{\flushnextbox}\fi - \setbox\nextbox\hbox{\flushnextbox\hskip\@@hadistance}% - \getboxheight\scratchdimen\of\box\nextbox - \getnoflines\scratchdimen - \nextboxht\strutht - \nextboxdp\strutdp - \hangindent\nextboxwd - \hangafter-\noflines - \llap{\flushnextbox}\ignorespaces} - \hbox} - -\def\modevalue#1#2#3% - {\@EA\ifx\csname\@mode@\systemmodeprefix#1\endcsname\endcsname\enabledmode#2\else#2\fi} - -\def\systemmodevalue#1% - {\modevalue{\systemmodeprefix#1}} - -% \getmulticolumnlines -> now in cont-loc, to be tested and really needed - -% \tracefonthandlingtrue - -% new, still to be improved -% -% \dorecurse{10} -% {\input thuan -% \placefigure{}{\framed[height=1.5cm]{test}} -% \placefloatplaceholder} - -\def\placefloatplaceholder - {\ifroomforfloat \else - \scratchdimen\pagegoal - \advance\scratchdimen-\pagetotal - \advance\scratchdimen-3\lineheight - \ifdim\scratchdimen>\zeropoint - \startlinecorrection[blank] - \mhbox{\inframed{\labeltexts{placeholder}{\lastcaptiontag}}}% - \stoplinecorrection - \else - \allowbreak - \fi - \fi} - -\setuplabeltext - [placeholder={, moved}] - -% etex only, of course we could just parse (scan for \% in string) - -\newif\ifpercentdimendone - -\bgroup % usage: \setpercentdimen\somedimen{% or dimen} todo: pct -\catcode124=\@@comment -\catcode 37=\@@active -\gdef\setpercentdimen#1#2| - {\xdef\@@expanded{#2}| - \ifx\@@expanded\empty\else - \bgroup - \global\percentdimendonefalse - \def\%{\dimexpr#1/100\relax\global\percentdimendonetrue\ignorespaces}| scantokens add's a space - \catcode`%=\@@active - \catcode`\\=\@@escape - \let%\%| - \scratchdimen#1| - \xdef\@@expanded{\@@expanded\scratchdimen\!!zeropoint}| trick: when 1.2 => .2\scratchdimen and 0pt typeset - \startnointerference - \global\globalscratchdimen\scantokens\@EA{\@@expanded}| i'm lazy and use etex - \stopnointerference - \egroup - #1\globalscratchdimen - \fi} -\egroup - -% TEX alternative, in principle accurate enough and also a bit faster - -% \bgroup -% -% \catcode`\%=\@@other -% \catcode`\|=\@@comment -% -% \gdef\setpercentdimen#1#2| -% {\beforesplitstring#2\at%\to\ascii -% \doifelse\ascii{#2} -% {#1=#2} -% {\divide#1by100\relax#1=\ascii#1\relax}} | or: {#1=\ascii#1\divide#1by100\relax}} -% -% \egroup -% -% \dimen0=1000pt \setpercentdimen{\dimen0}{10%} \the\dimen0 -% \dimen0= 100pt \setpercentdimen{\dimen0}{10%} \the\dimen0 -% \dimen0= 95pt \setpercentdimen{\dimen0}{10%} \the\dimen0 -% \dimen0= 10pt \setpercentdimen{\dimen0}{10%} \the\dimen0 -% \dimen0= 1pt \setpercentdimen{\dimen0}{10%} \the\dimen0 - -\bgroup - -\ifdefined\permitcaretescape \permitcaretescape \fi % mkiv - -\obeylines % don't remove %'s ! - -\gdef\collapsedspace#1% - {\ifx#1^^M% - \expandafter\collapsedspace - \else - \space - \expandafter#1% - \fi} - -\gdef\collapsespaces - {\prependtoksonce\relax\to\everyeof% - \ignorelines% - \ignoretabs% - \let\obeyedspace\collapsedspace% - \obeyspaces} - -\egroup - -\def\inlinedbox - {\bgroup - \dowithnextbox - {\scratchdimen\nextboxht - \advance\scratchdimen\nextboxdp - \advance\scratchdimen-\lineheight - \divide\scratchdimen\plustwo - \advance\scratchdimen\strutdepth - \setbox\nextbox\hbox{\lower\scratchdimen\flushnextbox}% - \nextboxht\strutht - \nextboxdp\strutdp - \flushnextbox - \egroup}% - \hbox} - -% \readfile{cont-exp}\donothing\donothing % speed up (5-20%) - -\def\dimenratio#1#2% etex only - {\withoutpt\the\dimexpr2\dimexpr(#1)/\dimexpr(#2)/32768\relax\relax} - -\def\doxprecurse#1#2% - {\ifnum#1=\zerocount % no \ifcase - \expandafter\gobblethreearguments - \else - #2\expandafter\expandafter\expandafter\doxprecurse\expandafter - \fi\expandafter{\the\numexpr#1-1\relax}{#2}} - -\def\buttonframed{\dodoubleempty\localframed[\??bt]} % goodie - -\unexpanded\def\asciistr#1{\dontleavehmode{\defconvertedargument\ascii{#1}\verbatimfont\ascii}} - -\def\shapefill{\vskip\zeropoint\!!plus\lineheight\!!minus\lineheight\relax} - -\let\normaltype\type - -\ifx\scantextokens\undefined - \ifx\scantokens\undefined - \unexpanded\def\retype#1{\dontleavehmode{\defconvertedargument\ascii{#1}\@EA\normaltype\@EA{\ascii}}} - \else - \unexpanded\def\retype#1{\dontleavehmode\scantokens{\normaltype{#1}\ignorespaces}\relax} - \fi -\else - \unexpanded\def\retype#1{\dontleavehmode\scantextokens{\normaltype{#1}}} -\fi - -\def\simplifytype{\let\type\retype} - -% \ruledhbox -% {\startignorespaces -% \def\oeps{a} -% \startignorespaces -% \def\oeps{a} -% \stopignorespaces -% \def\oeps{a} -% \stopignorespaces -% \oeps} - -\newsignal\boissignal -\newcount \boislevel - -\long\def\startignorespaces - {\advance\boislevel\plusone - \ifcase\boislevel\or \ifhmode - \hskip\boissignal - \fi \fi - \ignorespaces} - -\long\def\stopignorespaces - {\ifcase\boislevel\or \ifhmode - \doloop - {\ifdim\lastskip=\zeropoint - \exitloop - \else\ifdim\lastskip=\boissignal - \unskip - \exitloop - \else - \unskip - \fi\fi}% - \fi \fi - \advance\boislevel\minusone} - -\def\minimalhbox#1#% - {\dowithnextbox - {\bgroup - \setbox\scratchbox\hbox#1{\hss}% - \ifdim\nextboxwd<\wd\scratchbox\nextboxwd\wd\scratchbox\fi - \flushnextbox - \egroup} - \hbox} - -% \def\dodimchoice#1#2#3% -% {\ifx#3\relax -% #1\@EA\gobbleuntilrelax -% \else\ifdim#1#2% -% #3\@EAEAEA\gobbleuntilrelax -% \else -% \@EAEAEA\dodimchoice -% \fi\fi{#1}} - -% \def\donumchoice#1#2#3% -% {\ifx#3\relax -% #1\@EA\gobbleuntilrelax -% \else\ifnum#1#2% -% #3\@EAEAEA\gobbleuntilrelax -% \else -% \@EAEAEA\dodimchoice -% \fi\fi{#1}} - -% \def\dimchoice#1#2{\dodimchoice{#1}#2\empty\relax} -% \def\numchoice#1#2{\donumchoice{#1}#2\empty\relax} - -\def\gobbleuntilempty#1\empty{} - -\def\dodimchoice#1#2#3% - {\ifdim#1#2% - #3\@EA\gobbleuntilempty - \else - \@EA\dodimchoice - \fi{#1}} - -\def\donumchoice#1#2#3% - {\ifnum#1#2% - #3\@EA\gobbleuntilempty - \else - \@EA\dodimchoice - \fi{#1}} - -\def\dimchoice#1#2{\dodimchoice{#1}#2{=#1}{#1}\empty} -\def\numchoice#1#2{\donumchoice{#1}#2{=#1}{#1}\empty} - -% \the\dimexpr(\dimchoice {7pt}{{<10pt}{8pt}{<12pt}{9pt}{<15pt}{10pt}{=11pt}{12pt}}) -% \the\dimexpr(\dimchoice{11pt}{{<10pt}{8pt}{<12pt}{9pt}{<15pt}{10pt}{=11pt}{12pt}}) -% \the\dimexpr(\dimchoice{14pt}{{<10pt}{8pt}{<12pt}{9pt}{<15pt}{10pt}{=11pt}{12pt}}) - -\def\showsetupsdefinition[#1]{\showvalue{\??su:#1}} % temp hack for debugging - -% documentation : \setupregister[alternative=a|b|A|B] -\unprotected \def\traceposstring#1#2#3% - {\iftracepositions - \smashedhbox% - {#1{\infofont#2#3}% - \scratchdimen.5\points - \kern-2\scratchdimen - \vrule\!!width4\scratchdimen\!!height\scratchdimen\!!depth\scratchdimen}% - \fi} - -% will be a MyWay -% -% \setuplayout[grid=yes] \setupcaption[figure][inbetween=] \useMPlibrary[dum] \setupcolors[state=start] -% -% \starttext \showgrid \showstruts -% -% \input ward \placefigure{}{\externalfigure[dummy][width=.5\hsize,lines=1.4,grid=yes]} -% \input ward \placefigure{}{\externalfigure[dummy][width=.5\hsize,lines=1.4,grid=fit]} -% \input ward \placefigure{}{\externalfigure[dummy][width=.5\hsize,lines=1.4,grid=height]} -% \input ward -% \page -% \input ward \placefigure{}{\externalfigure[dummy][width=.5\hsize,lines=1.5,grid=yes]} -% \input ward \placefigure{}{\externalfigure[dummy][width=.5\hsize,lines=1.5,grid=fit]} -% \input ward \placefigure{}{\externalfigure[dummy][width=.5\hsize,lines=1.5,grid=height]} -% \input ward -% \page -% \input ward \placefigure{}{\externalfigure[dummy][width=.5\hsize,lines=1.6,grid=yes]} -% \input ward \placefigure{}{\externalfigure[dummy][width=.5\hsize,lines=1.6,grid=fit]} -% \input ward \placefigure{}{\externalfigure[dummy][width=.5\hsize,lines=1.6,grid=height]} -% \input ward -% \page -% \input ward \placefigure[none]{}{\externalfigure[dummy][width=.5\hsize,lines=1.4,grid=yes]} -% \input ward \placefigure[none]{}{\externalfigure[dummy][width=.5\hsize,lines=1.4,grid=fit]} -% \input ward \placefigure[none]{}{\externalfigure[dummy][width=.5\hsize,lines=1.4,grid=height]} -% \input ward -% \page -% \input ward \placefigure[none]{}{\externalfigure[dummy][width=.5\hsize,lines=1.5,grid=yes]} -% \input ward \placefigure[none]{}{\externalfigure[dummy][width=.5\hsize,lines=1.5,grid=fit]} -% \input ward \placefigure[none]{}{\externalfigure[dummy][width=.5\hsize,lines=1.5,grid=height]} -% \input ward -% \page -% \input ward \placefigure[none]{}{\externalfigure[dummy][width=.5\hsize,lines=1.6,grid=yes]} -% \input ward \placefigure[none]{}{\externalfigure[dummy][width=.5\hsize,lines=1.6,grid=fit]} -% \input ward \placefigure[none]{}{\externalfigure[dummy][width=.5\hsize,lines=1.6,grid=height]} -% \input ward -% -% \stoptext - -% funny, as field action with e.g. dissolve ... only the field dissolves, bug? - -\setglobalsystemreference\rt!exec{Transition}{transition} - -%def\PDFexecutetransition {/Trans /Trans <</Type /Trans \executeifdefined{PDFpage\argumentA}\PDFpagereplace>>} -\def\PDFexecutetransition {/Trans /Trans <<\executeifdefined{PDFpage\argumentA}\PDFpagereplace>>} - -% new, continuous blocks, \som \par \startdoorlopendblok ... - -% \startitemize -% \item bagger -% \item bagger -% \item \startdoorlopendblok bagger \stopdoorlopendblok -% \item \endgraf \startdoorlopendblok bagger \stopdoorlopendblok -% \item \endgraf \startdoorlopendblok \strut bagger \stopdoorlopendblok -% \item \startdoorlopendblok -% \starttabulate -% \NC test \NC test \NC \NR -% \NC test \NC test \NC \NR -% \NC test \NC test \NC \NR -% \stoptabulate -% \stopdoorlopendblok -% \item test -% \stopitemize - -\def\startdoorlopendblok % for special cases, don't change it too much and don't rely on it - {\ifhmode\endgraf\nobreak\fi % don't remove the \nobreak - \dowithnextboxcontent - {\setlocalhsize \hsize\localhsize \forgetall} - {\bgroup - \forgeteverypar - \forgetparskip - \scratchdimen\nextboxht - \advance\scratchdimen\nextboxdp - \getnoflines\scratchdimen - \advance\scratchdimen-\strutheight - \setbox\nextbox\hbox{\lower\scratchdimen\box\nextbox}% - \ht\nextbox\strutheight - \dp\nextbox\strutdepth - \setbox\nextbox\vbox - {\indent\box\nextbox - \endgraf - \nobreak - \advance\noflines\minusone - \dorecurse\noflines{\crlf\nobreak}}% - \verticalstrut - \endgraf - \nobreak - \offinterlineskip - \kern-2\lineheight % 2\lineheight when no vertical struts in main \vbox - \nobreak - \unvbox\nextbox - \prevdepth\strutdepth - % evt (eerst testen) een signal zodat een direct volgend blok goed gaat) - \egroup} - \vbox\bgroup - \vskip-\lineheight \verticalstrut\endgraf - \insidefloattrue - \doinhibitblank} % beware, no \inhibitblank ! ! ! ! ! ! - -\def\stopdoorlopendblok - {\endgraf\verticalstrut\endgraf\kern-2\lineheight - \egroup} - -\def\tabulaterule % to be redone, not correct - {\dotabulaterule - {\hrule\!!height.5\scratchdimen\!!depth.5\scratchdimen\relax - \doifvalue{\??tt\currenttabulate\c!distance}\v!grid - {\kern-\scratchdimen}}} % experimental tm-prikkels - -% experimental: \synchronizegrid bla bla bla - -\newcounter\currentgridsync - -\def\gridsynctag{grs:\currentgridsync} - -\def\synchronizegrid - {\doglobal\increment\currentgridsync - \par\prevdepth\zeropoint - \nointerlineskip - \hpos\gridsynctag{\strut}\par - \vskip-\lineheight - \nointerlineskip - % top of text - \scratchdimen\MPy{\v!text:\MPp\gridsynctag}% - \advance\scratchdimen\MPh{\v!text:\MPp\gridsynctag}% - % move to first baseline - \advance\scratchdimen-\topskip - % subtract wrong baseline - \advance\scratchdimen-\MPy\gridsynctag - % get minimal number of lines - \advance\scratchdimen\lineheight - \getnoflines\scratchdimen - % calculate difference - \advance\scratchdimen-\noflines\lineheight\relax - \scratchdimen-\scratchdimen\relax - \ifdim\scratchdimen>\zeropoint - \nointerlineskip - \advance\scratchdimen-\lineheight - \vskip\scratchdimen \dontleavehmode \quad \strut - \par - %\else - % \message{no grid correction: \the\scratchdimen}\wait - \fi} - -% needed for extreme (will go away) - -\definesystemvariable{ie} - -\def\definetest - {\dodoubleempty\dodefinetest} - -\def\dodefinetest[#1][#2]#3% - {\setgvalue{\??ie#1}{#3}% - \ifsecondargument - \processaction - [#2] - [% first test true, rest depends - \v!next=>\setgvalue{\??ie#1}{\setgvalue{\??ie#1}{#3}\firstoftwoarguments}, - % rest true if first true - % \v!first=>\setgvalue{\??ie#1}{#3{\letgvalue{\??ie#1}% - % \firstoftwoarguments\firstoftwoarguments}% - % \secondoftwoarguments}, - % always true - \v!yes=>\letgvalue{\??ie#1}\firstoftwoarguments, - % always false - \v!no=>\letgvalue{\??ie#1}\secondoftwoarguments]% - \fi} - -\def\doperformtest#1% - {\executeifdefined{\??ie#1}\secondoftwoarguments} - -\def\definecolumnsethsize#1#2#3#4% will be improved/speed up - {\bgroup - \def\OTRSETidentifier{#1}% - \ifcase\columnsetlevel\relax - \mofcolumns\plusone - \OTRSETinitializecolumns - \OTRSETassignwidths - \OTRSETsethsize - \fi - \!!counta#2\!!countb#3\docalculatecolumnsetspan - \expandafter\egroup\expandafter\edef\expandafter - #4\expandafter{\the\!!widtha}} - -% so far - -% between alignment lines certain rules apply, and even a -% simple test can mess up a table, which is why we have a -% special test facility -% -% \ruledvbox -% {\starttabulate[|l|p|] -% \NC 1test \NC test \NC \NR -% \tableifelse{\doifelse{a}{a}}{\NC Xtest \NC test \NC \NR}{}% -% \stoptabulate} - -\long\def\tableifelse#1% - {\tablenoalign - {#1% - {\aftergroup \firstoftwoarguments}% - {\aftergroup\secondoftwoarguments}}} - -\long \def\tableiftextelse#1{\tableifelse{\doiftextelse{#1}}} - -% experiment, not yet to be used - -\def\displaybreak - {\ifhmode - \removeunwantedspaces - \ifcase\raggedstatus\hfill\fi - \strut\penalty-9999 % \break fails on case (3) - \fi} - -\def\startdisplay{\displaybreak\ignorespaces\startpacked} -\def\stopdisplay {\stoppacked\displaybreak\ignorespaces} - -\def\tightvbox{\dowithnextbox{\nextboxdp\zeropoint\flushnextbox}\vbox} -\def\tightvtop{\dowithnextbox{\nextboxht\zeropoint\flushnextbox}\vtop} - -% what is this stupid macro meant for: - -\def\hyphenationpoint - {\hskip\zeropoint} - -\def\hyphenated#1% - {\bgroup - \!!counta\zerocount - \def\hyphenated##1{\advance\!!counta\plusone}% - \handletokens#1\with\hyphenated - \!!countb\plusone - \def\hyphenated##1% - {##1% - \advance\!!countb\plusone\relax - \ifnum\!!countb>2 \ifnum\!!countb<\!!counta - \hyphenationpoint - \fi\fi}% - \handletokens#1\with\hyphenated - \egroup} - -\def\obeysupersubletters - {\let\super\normalsuper - \let\suber\normalsuber - \let\normalsuper\letterhat - \let\normalsuber\letterunderscore - \enablesupersub} - -\def\obeysupersubmath - {\let\normalsuper\letterhat - \let\normalsuber\letterunderscore - \enablesupersub} - -%\let\normaltype\type -% -%\def\type#1% -% {\expanded{\normaltype{\detokenize{#1}}}} - -% {x123 \os x123} {\tfa x123 \os x123} {x123 \tx x123 \os x123} -% \definefontsynonym[OldStyle][Serif] -% {x123 \os x123} {\tfa x123 \os x123} {x123 \tx x123 \os x123} - -% testen : -% -% \appendtoks -% \let\registerparoptions\relax -% \to \everyforgetall - -\def\startgridcorrection - {\dosingleempty\dostartgridcorrection} - -\def\dostartgridcorrection[#1]% - {\ifgridsnapping - \iffirstargument\doifsomething{#1}{\moveongrid[#1]}\fi - \snaptogrid\vbox\bgroup - \else - \startbaselinecorrection - \fi} - -\def\stopgridcorrection - {\ifgridsnapping - \egroup - \else - \stopbaselinecorrection - \fi} - -\def\checkgridsnapping - {\lineskip\ifgridsnapping\zeropoint\else\normallineskip\fi} - -\def\startplaatsen - {\dosingleempty\dostartplaatsen} - -\def\dostartplaatsen[#1]% tzt n*links etc - {\endgraf - \noindent\bgroup - \setlocalhsize - \hbox to \localhsize\bgroup - \doifnot{#1}\v!left\hss - \def\stopplaatsen - {\unskip\unskip\unskip - \doifnot{#1}\v!right\hss - \egroup - \egroup - \endgraf}% - \gobblespacetokens} - -% \startplaatsen[links] bla \stopplaatsen - -% we don't register the paragraph characteristics, only the -% width - -\appendtoks - \setinnerparpositions % see "techniek" for application -\to \everytabulate - -\def\fontclassname#1#2% - {\ifcsname\??ff#1#2\endcsname - \fontclassname{#1}{\csname\??ff#1#2\endcsname}% - \else\ifcsname\??ff#2\endcsname - \fontclassname{#1}{\csname\??ff#2\endcsname}% - \else - #2% - \fi\fi} - -\def\defineclassfontsynonym - {\dotripleargument\dodefineclassfontsynonym} - -\def\dodefineclassfontsynonym[#1][#2][#3]% - {\definefontsynonym[#1][\fontclassname{#2}{#3}]} - -%\definefontsynonym [KopFont] [\fontclassname{officina}{SerifBold}] -% -%\defineclassfontsynonym [KopFont] [officina] [SerifBold] - -\def\startcolumnmakeup % don't change - {\bgroup - \getrawnoflines\textheight % teksthoogte kan topskip hebben, dus raw - \scratchdimen\noflines\lineheight - \advance\scratchdimen-\lineheight - \advance\scratchdimen\topskip - \setbox\scratchbox - \ifcase\showgridstate\vbox\else\ruledvbox\fi to \scratchdimen\bgroup - \forgetall} % ! don't change - -\def\stopcolumnmakeup - {\egroup - \dp\scratchbox\zeropoint - \wd\scratchbox\textwidth - \box\scratchbox - \egroup - \synchronizehsize} - -\long\def\startexternalfigure - {\dotripleempty\dostartexternalfigure} - -\long\def\dostartexternalfigure[#1][#2][#3]#4\stopexternalfigure - {\gdef\figuredescription{#4}% - \externalfigure[#1][#2][#3]% - \globallet\figuredescription\empty} - -\let\figuredescription\empty - -%% where does this come from, old code probably -%% -%% -%% \newif\ifpagechanged \let\lastchangedpage\empty -%% -%% \def\checkpagechange#1% -%% {\gettwopassdata\s!paragraph -%% \pagechangedfalse -%% \iftwopassdatafound -%% \ifnum\twopassdata>0\getvalue{\s!paragraph:p:#1}\relax -%% \pagechangedtrue -%% \fi -%% \fi -%% \ifpagechanged -%% \letgvalue{\s!paragraph:p:#1}\twopassdata -%% \globallet\lastchangedpage\twopassdata -%% \else -%% \globallet\lastchangedpage\realfolio -%% \fi -%% \doparagraphreference} -%% -%% \def\changedpage#1% -%% {\getvalue{\s!paragraph:p:#1}} - -\newcount\nofprofiled - -\def\profilemacro#1% - {\nofprofiled\zerocount - \letvalue{\string#1\string#1}#1% - \appendtoks - \normalwritestatus\m!systems{profile \string#1: \number\nofprofiled}% - \to \everystoptext - \unexpanded\def#1% - {\global\advance\nofprofiled\plusone - \csname\string#1\string#1\endcsname}} - -% incomplete, will be a special case of float placement - -\def\startfixed{\dosingleempty\dostartfixed} - -\def\dostartfixed[#1]% - {\expanded{\dowithnextbox{\noexpand\dodofixed{\ifhmode0\else1\fi}{#1}}}% - \vbox\bgroup - \setlocalhsize} - -\def\stopfixed - {\egroup} - -\def\dodofixed#1#2% - {\ifcase#1\relax - \processaction - [#2] - [ \v!high=>\bbox {\flushnextbox}, - \v!low=>\tbox {\flushnextbox}, - \v!middle=>\vcenter{\flushnextbox}, - \v!lohi=>\vcenter{\flushnextbox}, - \s!unknown=>\tbox {\flushnextbox}, - \s!default=>\tbox {\flushnextbox}]% - \else - \startbaselinecorrection - \noindent\flushnextbox - \stopbaselinecorrection - \fi} - -% \startitemize -% -% \item \externalfigure[koe][height=2cm] -% \item \externalfigure[koe][height=2cm] -% \item \externalfigure[koe][height=2cm] -% \item \externalfigure[koe][height=2cm] -% -% \page -% -% \item \startfixed \externalfigure[koe][height=2cm]\stopfixed -% \item \startfixed[high]\externalfigure[koe][height=2cm]\stopfixed -% \item \startfixed[low] \externalfigure[koe][height=2cm]\stopfixed -% \item \startfixed[lohi]\externalfigure[koe][height=2cm]\stopfixed -% -% \page -% -% \item test \startfixed \externalfigure[koe][height=2cm]\stopfixed -% \item test \startfixed[high]\externalfigure[koe][height=2cm]\stopfixed -% \item test \startfixed[low] \externalfigure[koe][height=2cm]\stopfixed -% \item test \startfixed[lohi]\externalfigure[koe][height=2cm]\stopfixed -% -% \page -% -% \item test \par \startfixed \externalfigure[koe][height=2cm]\stopfixed -% \item test \par \startfixed[high]\externalfigure[koe][height=2cm]\stopfixed -% \item test \par \startfixed[low] \externalfigure[koe][height=2cm]\stopfixed -% \item test \par \startfixed[lohi]\externalfigure[koe][height=2cm]\stopfixed -% -% \stopitemize - -\def\obeyfollowingtoken{{}} % end \cs scanning - -% \def\comparedimension#1#2% -% {\chardef\compresult -% \ifdim#1<#2% -% \zerocount -% \else\ifdim#1<#2% -% \plusone -% \else -% \plustwo -% \fi\fi} -% \newdimen\roundingeps \roundingeps=10sp -% \def\comparedimensioneps#1#2% -% {\chardef\compresult -% \ifdim\dimexpr(#1-#2)<\roudingeps -% \zerocount -% \else\ifdim\dimexpr(#2-#1)<\roudingeps -% \zerocount -% \else\ifdim#1<#2% -% \plusone -% \else -% \plustwo -% \fi\fi\fi} - -%D Next we load a few local optimizations and new features. They -%D live on on my machine and are not distributed, but they may end -%D up in the distributed files. - -\loadmarkfile{cont-new} - -\readsysfile {cont-loc} {} {} % local improvements, patches, new features -\readsysfile {cont-exp} {} {} % experimental features (e.g. local speed-ups) -%readsysfile {cont-mtx} {} {} % experimental metatex features - -\protect \endinput |