diff options
Diffstat (limited to 'tex')
65 files changed, 1835 insertions, 883 deletions
diff --git a/tex/context/base/colo-run.tex b/tex/context/base/colo-run.tex index 1355c9365..2b222328f 100644 --- a/tex/context/base/colo-run.tex +++ b/tex/context/base/colo-run.tex @@ -14,7 +14,7 @@ {\offinterlineskip \setuppalet[#1] \def\rule - {\vrule\!!width3em\!!height\ht\strutbox\!!depth\dp\strutbox} + {\vrule\!!width3em\!!height\strutht\!!depth\strutdp} \tabskip\zeropoint \def\doshowpalet##1% {\doifinsetelse\v!nummer{#2}{##1\hskip.5em}{}& @@ -47,10 +47,10 @@ \processpalet[#1]\doshowpalet}\cr \doifinset\v!naam{#2}{#1\hskip.5em}% \def\doshowpalet##1% - {&\color[##1]{\vrule\!!width\!!widtha\!!height\ht\strutbox\!!depth\!!zeropoint}}% + {&\color[##1]{\vrule\!!width\!!widtha\!!height\strutht\!!depth\!!zeropoint}}% \processpalet[#1]\doshowpalet\crcr \def\doshowpalet##1% - {&\graycolor[##1]{\vrule\!!width\!!widtha\!!height\!!zeropoint\!!depth\dp\strutbox}}% + {&\graycolor[##1]{\vrule\!!width\!!widtha\!!height\!!zeropoint\!!depth\strutdp}}% \processpalet[#1]\doshowpalet\crcr \doifinset\v!waarde{#2} {\def\doshowpalet##1% @@ -82,14 +82,14 @@ \setuppalet \tabskip\zeropoint \def\rule - {\vrule\!!width4em\!!height\ht\strutbox\!!depth\dp\strutbox} + {\vrule\!!width4em\!!height\strutht\!!depth\strutdp} \def\colorformatseparator{\strut\cr} \def\dodoshowgroup##1% {\halign {\hss####\hss\cr \doifinset\v!nummer{#2}{\strut##1}\cr - \color[#1:##1]{\vrule\!!width4em\!!height\ht\strutbox\!!depth\!!zeropoint}\cr - \graycolor[#1:##1]{\vrule\!!width4em\!!height\!!zeropoint\!!depth\dp\strutbox}\cr + \color[#1:##1]{\vrule\!!width4em\!!height\strutht\!!depth\!!zeropoint}\cr + \graycolor[#1:##1]{\vrule\!!width4em\!!height\!!zeropoint\!!depth\strutdp}\cr \doifinset\v!waarde{#2}{\colorvalue{#1:##1}\strut}\crcr}} \def\doshowgroup##1% {\doifdefined{\??cr#1:##1} @@ -110,7 +110,7 @@ \setuppalet \tabskip\zeropoint \def\rule - {\vrule\!!width2.5em\!!height\ht\strutbox\!!depth\dp\strutbox} + {\vrule\!!width2.5em\!!height\strutht\!!depth\strutdp} \def\doshowgroup##1% {\doifdefined{\??cr#1:##1} {\doifinset\v!nummer{#2}{##1\hskip.5em}& @@ -127,7 +127,7 @@ \setupcolor[#1] \stelwitruimtein[\v!geen] \def\rule - {\vrule\!!width4em\!!height\ht\strutbox\!!depth\dp\strutbox} + {\vrule\!!width4em\!!height\strutht\!!depth\strutdp} \def\docommand##1% {\hbox {\graycolor[##1]{\rule}\quad diff --git a/tex/context/base/cont-fil.tex b/tex/context/base/cont-fil.tex index d605583bb..56cd4a687 100644 --- a/tex/context/base/cont-fil.tex +++ b/tex/context/base/cont-fil.tex @@ -37,6 +37,7 @@ \definefilesynonym [res-make] [res-01] \definefilesynonym [res-base] [res-04] \definefilesynonym [res-trace] [res-08] +\definefilesynonym [res-log] [res-09] \definefilesynonym [pre-general] [pre-00] diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex index cdeae1d2f..5438259b6 100644 --- a/tex/context/base/cont-new.tex +++ b/tex/context/base/cont-new.tex @@ -16,6 +16,57 @@ %D features. \unprotect + +% startplaats + +\writestatus{\m!systems}{beware: some patches loaded from cont-new.tex!} + +\def\removefunnytabulateline + {\ifhmode + \strut\crcr + \TABLEnoalign{\kern-\lineheight}% + \fi} + +% \def\fulltabulatecontent +% {\tabulateheadcontent +% \tabulatecontent +% \tabulatetailcontent +% \removefunnytabulateline} + +\newsignal\strutsignal \setfalse\sigstruts + +\def\begstrut + {\relax\ifcase\strutht\else + \ifconditional\sigstruts + \noindent\hbox{\strut}% + \normalpenalty\@M % \!!tenthousand + \normalhskip-\strutsignal + \normalhskip\strutsignal + \else + \strut + \normalpenalty\@M % \!!tenthousand + \normalhskip\zeropoint + \fi + \ignorespaces + \fi} + +\def\endstrut + {\relax\ifhmode\ifcase\strutht\else + \ifconditional\sigstruts + \ifdim\lastskip=\strutsignal + \unskip\unskip\unpenalty\setbox\scratchbox\lastbox + \else + \normalpenalty\@M % \!!tenthousand + \normalhskip\zeropoint + \strut + \fi + \else + \removeunwantedspaces + \normalpenalty\@M % \!!tenthousand + \normalhskip\zeropoint + \strut + \fi + \fi\fi} \def\showexternalfigured {\bgroup @@ -30,31 +81,26 @@ \immediate\closeout\scratchwrite \egroup} -\def\setsidefloatparagraph - {%\advance\sidefloatprogress \sidefloatbottomskip - %\!!counta\sidefloatprogress -\scratchdimen\sidefloatprogress -\advance\scratchdimen \ht\strutbox -\advance\scratchdimen -10sp % new, needed in prikkels, prevent rounding errors -\!!counta\scratchdimen - \divide\!!counta \baselineskip - \ifnum\!!counta>0 - \hangindent \ifrightfloat-\fi\sidefloatwidth - \hangafter-\!!counta - \fi - \global\advance\sidefloatparagraph \plusone - \iftracesidefloats - \hskip-\sidefloatwidth - \color[darkgray]% - {\vrule\!!height.5\s!pt\!!depth.5\s!pt\!!width\sidefloatwidth - %\hskip-.25\bodyfontsize\showstruts\strut\hskip.25\bodyfontsize}% - \llap{\showstruts\strut\hskip.25\bodyfontsize}}% - \fi} +% 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\tableif#1% whow, this is real ugly +% {\TABLEnoalign{\let\gnext\gobbleoneargument#1% +% {\let\gnext\firstofoneargument}}\gnext} - -\writestatus{\m!systems}{beware: some patches loaded from cont-new.tex!} +\long \def\tableiftextelse#1{\tableifelse{\doiftextelse{#1}}} \def\ejectinsert {\flushnotes @@ -760,7 +806,7 @@ \setbox\columnspanbox\hbox % depth to be checked, probably option! {\localframed[\??ks][\c!offset=\v!overlay]{\box\columnspanbox}}% \ht\columnspanbox\scratchdimen - \dp\columnspanbox\dp\strutbox + \dp\columnspanbox\strutdp \wd\columnspanbox\hsize \ifbinnenkolommen \ifnum\@@ksn>1 @@ -784,7 +830,7 @@ \snaptogrid\vbox{\box\columnspanbox} \fi \endgraf - \prevdepth\dp\strutbox + \prevdepth\strutdp \egroup} \vbox\bgroup %\topskipcorrection % becomes an option ! diff --git a/tex/context/base/cont-sys.ori b/tex/context/base/cont-sys.ori index 755101e4e..55d304913 100644 --- a/tex/context/base/cont-sys.ori +++ b/tex/context/base/cont-sys.ori @@ -13,6 +13,11 @@ \unprotect +% If you want some extras, just uncomment the following +% line: +% +% \usemodule[plus] +% % Here you can take care of overloading some (style) % defaults. What goes here, depends on your local system. % diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex index f10dee3f5..49973594c 100644 --- a/tex/context/base/context.tex +++ b/tex/context/base/context.tex @@ -15,7 +15,7 @@ \catcode`\{=1 \catcode`\}=2 -\def\contextversion{2003.3.4} +\def\contextversion{2003.3.17} %D Welcome to the main module. When this module is ran through %D \type{initex} or \type{tex -i} or \type{whatevertex} using diff --git a/tex/context/base/core-buf.tex b/tex/context/base/core-buf.tex index 5633bb069..96578ee45 100644 --- a/tex/context/base/core-buf.tex +++ b/tex/context/base/core-buf.tex @@ -131,8 +131,8 @@ % more accurate % -% \@EA\convertcommand\csname\e!start\e!buffer\endcsname\to\beginofblock % else a space -% \@EA\convertcommand\csname\e!stop\e!buffer \endcsname\to\endofblock +% \@EA\convertcommand\csname\e!start\v!buffer\endcsname\to\beginofblock % else a space +% \@EA\convertcommand\csname\e!stop\v!buffer \endcsname\to\endofblock \def\resetbuffer {\dosingleempty\doresetbuffer} @@ -206,9 +206,9 @@ {\doifnumberelse{\getvalue{\??bu#1\c!alinea}} \segmentatebuffertrue\segmentatebufferfalse}% \doifelse{#4}{} - {\letbeundefined{\e!stop\e!buffer}% % \let\stopbuffer=\relax % \undefined - \@EA\@EA\@EA\convertargument\@EA\e!start\e!buffer\to\beginofblock % else a space - \@EA\@EA\@EA\convertargument\@EA\e!stop\e!buffer\to\endofblock + {\letbeundefined{\e!stop\v!buffer}% % \let\stopbuffer=\relax % \undefined + \@EA\@EA\@EA\convertargument\@EA\e!start\v!buffer\to\beginofblock % else a space + \@EA\@EA\@EA\convertargument\@EA\e!stop\v!buffer\to\endofblock \let\processnextblockline\processnextbufferline} {\letbeundefined{#4}% \letvalue{#4}=\relax % \undefined \@EA\convertargument\csname#3\endcsname\to\beginofblock @@ -233,7 +233,7 @@ \let\writeoutblocks\gobbleoneargument \copyblockline} -\letvalue{\e!start\e!buffer}\dostartbuffer +\letvalue{\e!start\v!buffer}\dostartbuffer % \setbuffer[name]#2\endbuffer : saves to file #1.tmp @@ -1014,9 +1014,9 @@ % the buffer mechanism handles nesting, add some switch -\setvalue{\e!start\e!verbergen}% +\setvalue{\e!start\v!verbergen}% {\dostartbuffer[buf-\nofpostponedblocks] - [\e!start\e!verbergen][\e!stop\e!verbergen]} + [\e!start\v!verbergen][\e!stop\v!verbergen]} \stelbufferin [\c!alinea=\v!nee, diff --git a/tex/context/base/core-des.tex b/tex/context/base/core-des.tex index 676209341..4a5c26c1c 100644 --- a/tex/context/base/core-des.tex +++ b/tex/context/base/core-des.tex @@ -44,7 +44,7 @@ {\??dd#1}\c!kopletter\c!kopkleur {\getvalue{\??dd#1\c!commando}% NAAR BUITENSTE NIVEAU ! {\begstrut\getvalue{\??dd#1\c!tekst}#4\endstrut}}% - \rawreference{\s!def}{#2}{#3}} + \rawreference\s!def{#2}{#3}} \setvalue{@@definitie\v!links}#1% {\@@definitiehang{#1}\@@definitielinkspure\@@definitielinkshang} @@ -99,15 +99,15 @@ \rightskip\zeropoint #2\steluitlijnenin[\getvalue{\??dd#1\c!uitlijnen}]% \unhcopy\@@definitiebox}% - \ht\@@definitiebox\ht\strutbox - \dp\@@definitiebox\dp\strutbox} + \ht\@@definitiebox\strutht + \dp\@@definitiebox\strutdp} \def\@@definitielinkshang#1[#2]#3% {\@@dostartdefinitie{#1}[#2]{#3}% \mindermeldingen \advance\!!widtha \!!widthb \hangindent\!!widtha - \@@makedefinitiehangbox{#1}{\raggedright}{\advance\rightskip \!!widthb}% + \@@makedefinitiehangbox{#1}\raggedright{\advance\rightskip \!!widthb}% \noindent\ignorespaces \llap {\dontshowcomposition @@ -119,7 +119,7 @@ \mindermeldingen \advance\!!widtha \!!widthb \hangindent-\!!widtha - \@@makedefinitiehangbox{#1}{\raggedleft}{\advance\leftskip \!!widthb}% + \@@makedefinitiehangbox{#1}\raggedleft{\advance\leftskip \!!widthb}% \noindent\ignorespaces \rlap {\mindermeldingen @@ -138,13 +138,13 @@ \hsize\!!widtha #2\steluitlijnenin[\getvalue{\??dd#1\c!uitlijnen}]#3% \unhcopy\@@definitiebox}% - \ht\@@definitiebox\ht\strutbox - \dp\@@definitiebox\dp\strutbox + \ht\@@definitiebox\strutht + \dp\@@definitiebox\strutdp \doifinsetelse{\getvalue{\??dd#1\c!hang}}{\v!passend,\v!ruim} {\dimen0=\ht\@@definitiebox \advance\dimen0 \dp\@@definitiebox \doifvalue{\??dd#1\c!hang}\v!ruim - {\advance\dimen0 .5\ht\strutbox}% + {\advance\dimen0 .5\strutht}% \getnoflines{\dimen0}% \hangafter-\noflines} {\hangafter-\getvalue{\??dd#1\c!hang}}}% @@ -289,7 +289,7 @@ \endgroup \getvalue{\??dd#1\c!na}% \egroup % temporary hack - \doifvalue{\??dd#1\c!springvolgendein}\v!nee\noindentation} + \dochecknextindentation{\??dd#1}} \def\@@dodefinitie#1% {\dostartattributes{\??dd#1}\c!letter\c!kleur\empty @@ -348,7 +348,6 @@ \setvalue{\e!stop#1}% {\@@stopdefinitie{#1}}}% - \def\@@startdefinitie[#1][#2]% {\doifelsevalue{\??dd#1\s!do\c!status}\v!start {\@@startsomedefinitie{#1}[#2]{}} @@ -405,11 +404,11 @@ \def\special@@definitiewoord#1#2#3#4[#5]#6#7% {\strut \doifelsevalue{\??dd#1\c!nummer}\v!nee - {\!!doneafalse} + \!!doneafalse {\doifelse{#5}{-} - {\!!doneafalse} - {\!!doneatrue}}% - \chardef\definitiekoppeling0 + \!!doneafalse + \!!doneatrue}% + \chardef\definitiekoppeling\zerocount \iflocation \doifvaluesomething{\??dd#1\c!koppeling} {\processaction % genereert > of < @@ -430,10 +429,10 @@ \preparethenumber{\??dd#1}\voorafgaandenummer\preparednumber \ifcase\definitiekoppeling \or \xdef\internaldoornummer{#3{#1}}% - \rawreference{\s!num}{#1:\internaldoornummer}{}% + \rawreference\s!num{#1:\internaldoornummer}{}% \or \xdef\internaldoornummer{\countervalue{\??dd\c!koppeling#1}}% - \rawreference{\s!num}{#1:\internaldoornummer}{}% + \rawreference\s!num{#1:\internaldoornummer}{}% \fi \egroup \fi @@ -448,16 +447,16 @@ \domakednnummer{#1}{#2}{#3}}}% \iflocation\ifcase\definitiekoppeling \else \edef\localconnection{\getvalue{\??dd#1\c!koppeling}:\internaldoornummer}% - \doifreferencefoundelse{\localconnection} + \doifreferencefoundelse\localconnection {\in[\localconnection]}{}% genereert > of < \fi\fi}% - \doifnot{#5}{-}{\rawreference{\s!num}{#5}{#3{#1}}}% + \doifnot{#5}{-}{\rawreference\s!num{#5}{#3{#1}}}% \else % Why was this strange expansion needed? \hbox {\edef\!!stringa{\showdnpuretext{#2#1}}% nog eens testen binnen \expanded \expanded{\doattributes{\??dd#1}\noexpand\c!kopletter\noexpand\c!kopkleur {\noexpand\getvalue{\??dd#1\c!commando}{\!!stringa}}}% - \doifnot{#5}{-}{\rawreference{\s!num}{#5}{}}}% + \doifnot{#5}{-}{\rawreference\s!num{#5}{}}}% \fi} \def\@@ddsetsubsubsubnummer#1% diff --git a/tex/context/base/core-fig.tex b/tex/context/base/core-fig.tex index 11eb2a8e6..2a98f6814 100644 --- a/tex/context/base/core-fig.tex +++ b/tex/context/base/core-fig.tex @@ -1505,6 +1505,9 @@ \def\useexternalfigure {\doquadrupleempty\douseexternalfigure} +\unexpanded\def\externalfigure + {\dotripleempty\doexternalfigure} + \def\doexternalfigure[#1][#2][#3]% {\bgroup \doifelsenothing{#1} @@ -1513,10 +1516,16 @@ {\useexternalfigure[\s!dummy][#1][#2][#3]% \getexternalfigure{\s!dummy}[#3]} {\getexternalfigure{#1}[#2]}}% + \globallet\currentresourcecomment\empty \egroup} -\unexpanded\def\externalfigure% - {\dotripleempty\doexternalfigure} +\long\def\resourcecomment#1% + {\long\gdef\currentresourcecomment{#1}} + +\long\def\startresourcecomment#1\stopresourcecomment + {\long\gdef\currentresourcecomment{#1}} + +\let\currentresourcecomment\empty %D Two alternatives, more settings needed. diff --git a/tex/context/base/core-fld.tex b/tex/context/base/core-fld.tex index a0138a552..9bdc263a1 100644 --- a/tex/context/base/core-fld.tex +++ b/tex/context/base/core-fld.tex @@ -945,7 +945,7 @@ \lower2ex\hbox to \zeropoint {\fitfield[\currentsystemfield:but]}% #2}% - \ht0=\ht\strutbox\dp0=\dp\strutbox\box0 + \ht0\strutht\dp0\strutdp\box0 \egroup} %D And one more: diff --git a/tex/context/base/core-fnt.tex b/tex/context/base/core-fnt.tex index 9bd68420a..c51f07103 100644 --- a/tex/context/base/core-fnt.tex +++ b/tex/context/base/core-fnt.tex @@ -476,9 +476,9 @@ \dimen0=\underbarlevel\dimen0 \ifdone \else %\advance\dimen0 -1pt - \advance\dimen0 -\ht\strutbox + \advance\dimen0 -\strutht \fi - \dimen2=\dimen0 + \dimen2\dimen0 \advance\dimen2 \@@onlijndikte \dododounderbar{-\dimen0}{\dimen2}{#1}% \egroup} diff --git a/tex/context/base/core-grd.tex b/tex/context/base/core-grd.tex index 8bf85846c..5d3644bdd 100644 --- a/tex/context/base/core-grd.tex +++ b/tex/context/base/core-grd.tex @@ -98,11 +98,11 @@ \ifdim\prevdepth>\zeropoint\kern-\prevdepth\fi \setbox0\null \wd0\hsize - \dp0\dp\strutbox + \dp0\strutdp \nointerlineskip \ruledvbox{\box0}% \egroup - \prevdepth\dp\strutbox}% + \prevdepth\strutdp}% \def\dotopbaselinecorrection {\hrule\!!height\thetopbaselinecorrection}% \def\dobotbaselinecorrection @@ -110,15 +110,15 @@ \def\dobaselinecorrection {\ifdim\prevdepth>\zeropoint\kern-\prevdepth\fi - \kern\dp\strutbox - \prevdepth\dp\strutbox} + \kern\strutdp + \prevdepth\strutdp} \def\baselinecorrection {\endgraf \ifvmode \ifdim\prevdepth<\maxdimen \ifdim\prevdepth<\zeropoint \else - \ifdim\prevdepth<\dp\strutbox + \ifdim\prevdepth<\strutdp \dobaselinecorrection \fi \fi @@ -136,7 +136,6 @@ \fi \fi} - % Beware, keep this one as it is, see for instance module % m-steps.tex, where we apply a \localhsize to the \vbox, in % order to follow narrower and side floats ! @@ -235,7 +234,7 @@ \setbaselinecorrections \dobotbaselinecorrection \allowbreak % new, otherwise problems when many in a row - \prevdepth\dp\strutbox + \prevdepth\strutdp \egroup \fi} @@ -367,7 +366,7 @@ % \forcepresnaptrue % \fi % \forcedpresnapcorrection -% \ifdim\nextboxht>\ht\strutbox +% \ifdim\nextboxht>\strutht % \scratchdimen\nextboxht % \ifcase\@@presnap\relax % \ifdim\scratchskip>\zeropoint\relax @@ -411,7 +410,7 @@ % \vskip\scratchdimen % \fi \fi % \fi -% \ifdim\nextboxdp>\dp\strutbox +% \ifdim\nextboxdp>\strutdp % \getnoflines{\nextboxdp}% % \advance\noflines -1 % \ifnum\noflines>0 @@ -426,14 +425,14 @@ % \ifnum\@@extrasnap=3 \advance\scratchdimen \extrasnapsign\lineheight \fi % \edef\postsnap{\the\scratchdimen}% % \ifstrutsnapping -% \nextboxht\ht\strutbox -% \nextboxdp\dp\strutbox +% \nextboxht\strutht +% \nextboxdp\strutdp % \else % \scratchdimen\presnap -% \advance\scratchdimen \ht\strutbox +% \advance\scratchdimen \strutht % \nextboxht\scratchdimen % \scratchdimen\postsnap -% \advance\scratchdimen \dp\strutbox +% \advance\scratchdimen \strutdp % \nextboxdp\scratchdimen % \fi % \hbox{\tracedsnapping\flushnextbox}% @@ -462,7 +461,7 @@ % \ifshowgridboxes % \setbox\nextbox\hbox{\color[grid:two]{\ruledhbox{\black\flushnextbox}}}% % \fi -% \nextboxdp\dp\strutbox +% \nextboxdp\strutdp % \dimen4=\nextboxht % \dimen6=\nextboxdp % \setbox\nextbox\vbox to \scratchdimen @@ -568,7 +567,7 @@ \forcepresnaptrue \fi \forcedpresnapcorrection - \ifdim\nextboxht>\ht\strutbox + \ifdim\nextboxht>\strutht \scratchdimen\nextboxht \ifcase\@@presnap\relax \ifdim\scratchskip>\zeropoint\relax @@ -612,7 +611,7 @@ \vskip\scratchdimen \fi \fi \fi - \ifdim\nextboxdp>\dp\strutbox + \ifdim\nextboxdp>\strutdp \getnoflines{\nextboxdp}% \advance\noflines -1 \ifnum\noflines>0 @@ -627,14 +626,14 @@ \ifnum\@@extrasnap=3 \advance\scratchdimen \extrasnapsign\lineheight \fi \edef\postsnap{\the\scratchdimen}% \ifstrutsnapping - \nextboxht\ht\strutbox - \nextboxdp\dp\strutbox + \nextboxht\strutht + \nextboxdp\strutdp \else \scratchdimen\presnap - \advance\scratchdimen \ht\strutbox + \advance\scratchdimen \strutht \nextboxht\scratchdimen \scratchdimen\postsnap - \advance\scratchdimen \dp\strutbox + \advance\scratchdimen \strutdp \nextboxdp\scratchdimen \fi \hbox{\tracedsnapping\flushnextbox}% @@ -662,7 +661,7 @@ \ifshowgridboxes \setbox\nextbox\hbox{\color[grid:two]{\ruledhbox{\black\flushnextbox}}}% \fi - \nextboxdp\dp\strutbox + \nextboxdp\strutdp \dimen4=\nextboxht \dimen6=\nextboxdp \iftracegridsnapping @@ -757,7 +756,7 @@ {\ifgridsnapping \dowithnextbox {\scratchdimen\nextboxht - \advance\scratchdimen -\ht\strutbox + \advance\scratchdimen -\strutht \advance\scratchdimen \topskip \nextboxht\scratchdimen \nextboxdp\zeropoint @@ -782,7 +781,7 @@ % {\forgetall % \vskip\zeropoint \!!plus \nextboxht % \copy\nextbox -% \kern.5\dp\strutbox % VOORLOPIGE WAARDE +% \kern.5\strutdp % VOORLOPIGE WAARDE % \vskip\zeropoint \!!plus \nextboxdp} % \noindent\snaptogrid\vbox{\flushnextbox}% % \egroup} @@ -793,7 +792,7 @@ % options, will be configurable some day ... \def\centertogrid % usage: see ie pascal / stepcharts - {\snaptogrid[\v!midden,.5\dp\strutbox]\vbox} + {\snaptogrid[\v!midden,.5\strutdp]\vbox} \ifx\startbaselinecorrection\undefined \wait \fi % change order @@ -817,7 +816,7 @@ \ruledvbox % calculated size {\getrawnoflines{#3}% \getnoflines{#3}% \vskip\topskip - \vskip-\ht\strutbox + \vskip-\strutht \scratchdimen#2\advance\scratchdimen \lineheight \dorecurse\noflines {\strut diff --git a/tex/context/base/core-hlp.tex b/tex/context/base/core-hlp.tex index 90503bf30..198a5e09a 100644 --- a/tex/context/base/core-hlp.tex +++ b/tex/context/base/core-hlp.tex @@ -24,10 +24,10 @@ \unprotect \defineframedtext - [\e!helptext] + [\v!helptext] \setupframedtexts - [\e!helptext] + [\v!helptext] [\c!breedte=.75\tekstbreedte, \c!uitlijnen=\v!normaal, \c!kader=\v!uit, @@ -87,33 +87,36 @@ {\nofhelpdataentries}% {#1}}} -\setvalue{\e!start\e!helptext}[#1]% +\setvalue{\e!start\v!helptext}[#1]% {\iflocation \global\settrue\somehelpdatadefined - \setvalue{\e!stop\e!helptext}% - %{\definesymbol[helpinfo:#1][\getvalue\e!helptext{\getbuffer[\e!helptext]}]% - {\definesymbol[helpinfo:#1][{\doframedtext[\e!helptext]{\getbuffer[\e!helptext]}}]% - \dopresetfieldsymbol{helpinfo:#1}}% + \setvalue{\e!stop\v!helptext}% + %{\definesymbol[helpinfo:#1][{\doframedtext[\v!helptext]{\getbuffer[\v!helptext]}}]% + % \dopresetfieldsymbol{helpinfo:#1}}% + {\definesymbol[\v!helptext:#1][{\doframedtext[\v!helptext]{\getbuffer[\v!helptext]}}]% + \dopresetfieldsymbol{\v!helptext:#1}}% \else - \letvalue{\e!stop\e!helptext}\relax + \letvalue{\e!stop\v!helptext}\relax \fi - \dostartbuffer[\e!helptext][\e!start\e!helptext][\e!stop\e!helptext]} + \dostartbuffer[\v!helptext][\e!start\v!helptext][\e!stop\v!helptext]} \long\def\helptext[#1]#2% {\iflocation \global\settrue\somehelpdatadefined - %\definesymbol[helpinfo:#1][\getvalue\e!helptext{#2}]% - \definesymbol[helpinfo:#1][{\doframedtext[\e!helptext]{#2}}]% - \dopresetfieldsymbol{helpinfo:#1}% + %\definesymbol[helpinfo:#1][{\doframedtext[\v!helptext]{#2}}]% + %\dopresetfieldsymbol{helpinfo:#1}% + \definesymbol[\v!helptext:#1][{\doframedtext[\v!helptext]{#2}}]% + \dopresetfieldsymbol{\v!helptext:#1}% \fi} \let\definehelptext\helptext % for backward compabilities sake \def\dohelpdata#1% - {\setbox0=\hbox + {\setbox0\hbox {\startoverlay {\box0} - {\definemainfield[help:#1][check][helpsetup][helpinfo:#1][helpinfo:#1]% + %{\definemainfield[help:#1][check][helpsetup][helpinfo:#1][helpinfo:#1]% + {\definemainfield[help:#1][check][helpsetup][\v!helptext:#1][\v!helptext:#1]% \fitfield[help:#1]} \stopoverlay}} diff --git a/tex/context/base/core-int.tex b/tex/context/base/core-int.tex index 666786674..5020c5add 100644 --- a/tex/context/base/core-int.tex +++ b/tex/context/base/core-int.tex @@ -1115,7 +1115,7 @@ \setvalue{\??am\??am\v!geen}{3} \setvalue{\??am\??am }{1} % default -\processbetween{\e!interactiemenu}\dostartinteractiemenu +\processbetween{\v!interactiemenu}\dostartinteractiemenu \def\dostartinteractiemenu#1% {\dodostartinteractiemenu#1\dodostopinteractiemenu} @@ -2112,7 +2112,7 @@ \newbox\commentbox \def\doflushcommentanchors - {\inmarge{\hbox{\raise\ht\strutbox\box\commentbox}}} + {\inmarge{\hbox{\raise\strutht\box\commentbox}}} \def\flushcommentanchors % in everypar so indirect {\ifvoid\commentbox\else \doflushcommentanchors \fi} @@ -2120,7 +2120,7 @@ \def\stelcommentaarin {\dodoubleargument\getparameters[\??cc]} -\setvalue{\e!start\e!commentaar}% the dummy triple gobbles trailing spaces +\setvalue{\e!start\v!commentaar}% the dummy triple gobbles trailing spaces {\dotripleempty\dostartcommentaar} \def\commentaar @@ -2157,14 +2157,14 @@ \egroup}}% {\long\def\docommando##1% {\egroup}}% - \grabuntil{\e!stop\e!commentaar}\docommando} + \grabuntil{\e!stop\v!commentaar}\docommando} \def\docommentaar[#1][#2]#3% {\doif\@@ccstatus\v!start {\hbox to \zeropoint {\dopreparecommentaar{#1}{#2}% \hskip-\@@ccmarge - \raise\ht\strutbox\hbox{\dodocommentaar{#3}}}}% + \raise\strutht\hbox{\dodocommentaar{#3}}}}% \ignorespaces} % \startcommentaar diff --git a/tex/context/base/core-itm.tex b/tex/context/base/core-itm.tex index 0d7865cf8..445b634d4 100644 --- a/tex/context/base/core-itm.tex +++ b/tex/context/base/core-itm.tex @@ -578,7 +578,7 @@ \ifnum\itemlevel=\plusone \doitembreak\allowbreak % toegevoegd \getitemparameter1\c!na - \doif\@@oospringvolgendein\v!nee\noindentation + \dochecknextindentation\??oo \fi \fi \endgroup @@ -888,12 +888,12 @@ % efficient default itemize as well as upward compatible % definition: -\defineitemgroup [\e!itemize] [\c!niveaus=6] +\defineitemgroup [\v!itemize] [\c!niveaus=6] % keep these, needed for styles: -% \def\startitemize {\startitemgroup[]} +% \def\startitemize {\startitemgroup[\v!itemize]} % \def\stopitemize {\stopitemgroup} -% \def\setupitemize {\setupitemgroup[]} +% \def\setupitemize {\setupitemgroup[\v!itemize]} \protect \endinput diff --git a/tex/context/base/core-job.tex b/tex/context/base/core-job.tex index 8d4e1dbb6..b6ae082e0 100644 --- a/tex/context/base/core-job.tex +++ b/tex/context/base/core-job.tex @@ -355,8 +355,8 @@ {\currentproject,\currentproduct,% \currentcomponent,\currentenvironment} {\loadedlocalenvironments} - {\letvalue{\e!stop\e!deelomgeving}\relax} - {\grabuntil{\e!stop\e!deelomgeving}\relax}} + {\letvalue{\e!stop\v!deelomgeving}\relax} + {\grabuntil{\e!stop\v!deelomgeving}\relax}} \def\startproduct{\startprodukt} \def\stopproduct {\stopprodukt} @@ -386,13 +386,13 @@ \def\doifsetupselse#1% {\doifdefinedelse{\??su#1}} -\long\@EA\def\csname\e!start\e!instellingen\endcsname#1 % +\long\@EA\def\csname\e!start\v!instellingen\endcsname#1 % {\bgroup \catcode`\^^M=\@@ignore \xdostartsetups{#1}} \expanded - {\long\noexpand\def\noexpand\xdostartsetups##1##2\csname\e!stop\e!instellingen\endcsname% + {\long\noexpand\def\noexpand\xdostartsetups##1##2\csname\e!stop\v!instellingen\endcsname% {\egroup \long\noexpand\setvalue{\??su##1}{##2}}} diff --git a/tex/context/base/core-ltb.tex b/tex/context/base/core-ltb.tex index 1dfcdffc9..bdb81d4f5 100644 --- a/tex/context/base/core-ltb.tex +++ b/tex/context/base/core-ltb.tex @@ -171,9 +171,9 @@ \else \scratchdimen\teksthoogte \fi - \advance\scratchdimen -\dp\strutbox + \advance\scratchdimen -\strutdp \ifdim\prevdepth<\maxdimen\ifdim\prevdepth>\zeropoint - \global\advance\scratchdimen -\dp\strutbox + \global\advance\scratchdimen -\strutdp \global\advance\scratchdimen -\parskip \fi\fi \getrawnoflines\scratchdimen diff --git a/tex/context/base/core-mak.tex b/tex/context/base/core-mak.tex index e8c75c9c1..d258ad9ec 100644 --- a/tex/context/base/core-mak.tex +++ b/tex/context/base/core-mak.tex @@ -21,7 +21,7 @@ % - still undocumented and also not in setupb yet % - kan ook intern/direct (scheelt duplicatie), zie \framedtext -\def\dodefinieerplaats[#1][#2]% +\def\dodefineplacement[#1][#2]% {\getparameters [\??pl#1] [\c!links=\hss, @@ -29,31 +29,71 @@ \c!regelcorrectie=\v!uit, \c!dieptecorrectie=\v!uit, \c!marge=\v!standaard, + \c!grid=\v!midden, %\c!voor=, %\c!na=, #2]% - \setvalue{\e!plaats#1}{\doplaats[\??pl#1]}} + \setvalue{\e!plaats#1}{\doplacement[\??pl#1]}} -\def\definieerplaats - {\dodoubleempty\dodefinieerplaats} +\def\defineplacement + {\dodoubleempty\dodefineplacement} -\def\doplaats - {\dodoubleempty\dodoplaats} +\def\setupplacement + {\dodoubleempty\dosetupplacement} -\def\dodoplaats[#1][#2]% correctie moet mooier +\def\dosetupplacement[#1]% + {\dodoubleempty\getparameters[\??pl#1]} + +\def\doplacement + {\dodoubleempty\dodoplacement} + +% \def\dodoplacement[#1][#2]% correctie moet mooier +% {\bgroup +% \dowithnextbox +% {\setlocalhsize +% \getparameters[#1][#2]% +% \getvalue{#1\c!voor}% +% \doifvalue{#1\c!regelcorrectie}\v!aan \startbaselinecorrection +% \doifinset{\getvalue{#1\c!marge}}{\v!standaard,\v!ja}\noindent +% \hbox to \localhsize +% {\getvalue{#1\c!links}% +% \flushnextbox +% \getvalue{#1\c!rechts}}% +% \doifvalue{#1\c!dieptecorrectie}\v!aan\baselinecorrection +% \doifvalue{#1\c!regelcorrectie }\v!aan\stopbaselinecorrection +% \getvalue{#1\c!na}% +% \egroup} +% \vbox} + +\def\dodoplacement[#1][#2]% correctie moet mooier {\bgroup - \dowithnextbox + \dowithnextboxcontent + {\forgetall} {\setlocalhsize \getparameters[#1][#2]% \getvalue{#1\c!voor}% - \doifvalue{#1\c!regelcorrectie}\v!aan \startbaselinecorrection - \doifinset{\getvalue{#1\c!marge}}{\v!standaard,\v!ja}\noindent - \hbox to \localhsize + \begingroup + \positioningparfalse + \setbox\nextbox\hbox to \localhsize {\getvalue{#1\c!links}% \flushnextbox \getvalue{#1\c!rechts}}% - \doifvalue{#1\c!dieptecorrectie}\v!aan\baselinecorrection - \doifvalue{#1\c!regelcorrectie }\v!aan\stopbaselinecorrection + \ifinsidefloat \else + \addlocalbackgroundtobox\nextbox + \fi + \ifgridsnapping + \doifundefined{#1\c!grid}{\letvalue{#1\c!grid}\v!midden}% + % unchecked + \doifinset{\getvalue{#1\c!marge}}{\v!standaard,\v!ja}\noindent + \snaptogrid[\getvalue{#1\c!grid}]\hbox{\flushnextbox}% + \else + \doifvalue{#1\c!regelcorrectie}\v!aan \startbaselinecorrection + \doifinset{\getvalue{#1\c!marge}}{\v!standaard,\v!ja}\noindent + \flushnextbox + \doifvalue{#1\c!dieptecorrectie}\v!aan\baselinecorrection + \doifvalue{#1\c!regelcorrectie }\v!aan\stopbaselinecorrection + \fi + \endgroup \getvalue{#1\c!na}% \egroup} \vbox} diff --git a/tex/context/base/core-mat.tex b/tex/context/base/core-mat.tex index b9517053c..b70fc9a3d 100644 --- a/tex/context/base/core-mat.tex +++ b/tex/context/base/core-mat.tex @@ -163,8 +163,8 @@ \def\doformulenummer {\dotripleempty\dodoformulenummer} -\setvalue{\e!start\e!formule}{\dostartformula{}} -\setvalue{\e!stop \e!formule}{\dostopformula} +\setvalue{\e!start\v!formule}{\dostartformula{}} +\setvalue{\e!stop \v!formule}{\dostopformula} \def\definieerformule% {\dodoubleempty\dodefinieerformule} @@ -178,8 +178,8 @@ \c!springvolgendein,\c!variant, \c!strut,\c!uitlijnen,\c!afstand]% \setupformulas[#1][#2]% - \setvalue{\e!start#1\e!formule}{\dostartformula{#1}}% - \setvalue{\e!stop #1\e!formule}{\dostopformula}}} + \setvalue{\e!start#1\v!formule}{\dostartformula{#1}}% + \setvalue{\e!stop #1\v!formule}{\dostopformula}}} \def\setupformulas {\dodoubleempty\dosetupformulas} @@ -272,16 +272,16 @@ \let\setdisplayskips\relax \ifoptimizedisplayspacing \ifdim\lastlinewidth>\zeropoint - \abovedisplayshortskip-\ht\strutbox\relax + \abovedisplayshortskip-\strutht\relax \fi \else \resetlastlinewidth \fi - \getvalue{\e!start\getvalue{\??fm\currentformula\c!variant}\e!formule}} + \getvalue{\e!start\getvalue{\??fm\currentformula\c!variant}\v!formule}} \def\switchtoformulabodyfont{\switchtobodyfont} -\setvalue{\e!formule}{\dosingleempty\doformula} +\setvalue{\v!formule}{\dosingleempty\doformula} \def\doformula[#1]#2% {\begingroup @@ -294,10 +294,10 @@ \def\dostopformula {\doplaceformulanumber - \getvalue{\e!stop\getvalue{\??fm\currentformula\c!variant}\e!formule}% + \getvalue{\e!stop\getvalue{\??fm\currentformula\c!variant}\v!formule}% \resetlastlinewidth \nonoindentation - \doifvalue{\??fm\currentformula\c!springvolgendein}\v!nee\noindentation + \dochecknextindentation{\??fm\currentformula}% \egroup} \newif\ifinformula @@ -382,8 +382,8 @@ {\dotripleargument\dodefineformulaalternative} \def\dodefineformulaalternative[#1][#2][#3]% - {\setvalue{\e!start#1\e!formule}{#2}% - \setvalue{\e!stop #1\e!formule}{#3}} + {\setvalue{\e!start#1\v!formule}{#2}% + \setvalue{\e!stop #1\v!formule}{#3}} \defineformulaalternative[\s!default][\startdisplaymath][\stopdisplaymath] diff --git a/tex/context/base/core-mis.tex b/tex/context/base/core-mis.tex index 2d86723fd..3478d2004 100644 --- a/tex/context/base/core-mis.tex +++ b/tex/context/base/core-mis.tex @@ -539,7 +539,7 @@ \def\doorsnede {\hbox{\rlap/$\circ$} } -\def\punten +\unexpanded\def\punten {\dosingleempty\dopunten} \def\dopunten[#1]% @@ -547,12 +547,12 @@ \hbox to \iffirstargument#1\else5\fi \scratchdimen {\leaders\hbox to \scratchdimen{\hss.\hss}\hss}} -\def\ongeveer +\unexpanded\def\ongeveer {\mathematics\pm} % for compatibility -\def\unknown +\unexpanded\def\unknown {\dontleavehmode\punten[3]} \def\leftboundarycharacter#1#2% @@ -889,7 +889,7 @@ \let\dodostopdelimitedtextpar\endgraf} {\startsmaller[#1]\let\dodostopdelimitedtextpar\stopsmaller}% % so far - \doif{\delimitedtextparameter\c!springvolgendein}\v!nee\noindentation + \dochecknextindentation{\??ci\currentdelimitedtext}% \dostartattributes{\??ci\currentdelimitedtext}\c!letter\c!kleur\empty \leftdelimitedtextmark \doglobal\incrementvalue{\??ci\currentdelimitedtext\c!niveau}% @@ -1372,23 +1372,23 @@ \stopmessages \definetabulate - [\e!legenda] + [\v!legenda] [|emj1|i1|mR|] \setuptabulate - [\e!legenda] + [\v!legenda] [\c!eenheid=.75em,\c!binnen=\setquicktabulate\leg,EQ={=}] \definetabulate - [\e!legenda][\v!twee] + [\v!legenda][\v!twee] [|emj1|emk1|i1|mR|] \definetabulate - [\e!gegeven] + [\v!gegeven] [|R|ecmj1|i1mR|] \setuptabulate - [\e!gegeven] + [\v!gegeven] [\c!eenheid=.75em,\c!binnen=\setquicktabulate\geg,EQ={=}] \unexpanded\def\xbox @@ -1759,7 +1759,7 @@ \box#1\relax \ifcase\pairedlocationb\hss\or\or\or\or\hss\fi}} -\definepairedbox[\e!legenda] +\definepairedbox[\v!legenda] %D Goody: @@ -1846,10 +1846,10 @@ {\ifx\nexttoken\egroup \else % the next box is empty \hsize\wd0 \steluitlijnenin[\combinationparameter\c!uitlijnen]% -\dostartattributes{\??co\currentcombination}\c!letter\c!kleur\empty + \dostartattributes{\??co\currentcombination}\c!letter\c!kleur\empty \bgroup \aftergroup\endstrut -\aftergroup\dostopattributes + \aftergroup\dostopattributes \aftergroup\egroup \begstrut \fi}% @@ -1954,6 +1954,7 @@ \def\flushcombinationstack {\noalign {\ifdim\ht\combinationstack>\zeropoint +\nointerlineskip % nieuw \@@cotussen \global\horcombination\maxhorcombination \globallet\doflushcombinationstack\dodoflushcombinationstack diff --git a/tex/context/base/core-nav.tex b/tex/context/base/core-nav.tex index e3e2e3a76..60877f953 100644 --- a/tex/context/base/core-nav.tex +++ b/tex/context/base/core-nav.tex @@ -137,19 +137,21 @@ \newif\iflocationsplit \def\resetgoto - {\global\let\@@ia@@hoogte\!!zeropoint - \global\let\@@ia@@diepte\!!zeropoint} + {\globallet\@@ia@@hoogte\!!zeropoint + \globallet\@@ia@@diepte\!!zeropoint} \resetgoto \def\presetgoto {\iflocationstrut \setstrut - \xdef\@@ia@@hoogte{\the\ht\strutbox}% - \xdef\@@ia@@diepte{\the\dp\strutbox}% + %\xdef\@@ia@@hoogte{\the\strutht}% + %\xdef\@@ia@@diepte{\the\strutdp}% + \globallet\@@ia@@hoogte\strutheight + \globallet\@@ia@@diepte\strutdepth \else - \global\let\@@ia@@hoogte\@@iahoogte - \global\let\@@ia@@diepte\@@iadiepte + \globallet\@@ia@@hoogte\@@iahoogte + \globallet\@@ia@@diepte\@@iadiepte \fi} %D In the macros that deal with making areas into hyperlinks, diff --git a/tex/context/base/core-not.tex b/tex/context/base/core-not.tex index e9afb604d..77eec6bc7 100644 --- a/tex/context/base/core-not.tex +++ b/tex/context/base/core-not.tex @@ -441,8 +441,8 @@ \forgetall \setfootnotebodyfont \redoconvertfont % to undo \undo calls in in headings etc - \splittopskip\ht\strutbox % not actually needed here - \splitmaxdepth\dp\strutbox % not actually needed here + \splittopskip\strutht % not actually needed here + \splitmaxdepth\strutdp % not actually needed here \iffixedlayoutdimensions % ugly hack, will change \linkermargeafstand\@@vnmargeafstand \rechtermargeafstand\linkermargeafstand @@ -571,7 +571,7 @@ \c!strut=\v!nee, \c!offset=\v!overlay] {\ifdim\dp0=\zeropoint % this hack is needed because \vadjust - \hbox{\lower\dp\strutbox\box0}% % in margin number placement + \hbox{\lower\strutdp\box0}% % in margin number placement \else % hides the (always) present depth \box0 \fi}% @@ -705,7 +705,7 @@ \c!strut=\v!nee, \c!offset=\v!overlay] {\ifdim\dp0=\zeropoint % this hack is needed because \vadjust - \hbox{\lower\dp\strutbox\box0}% % in margin number placement + \hbox{\lower\strutdp\box0}% % in margin number placement \else % hides the (always) present depth \box0 \fi}}% diff --git a/tex/context/base/core-ntb.tex b/tex/context/base/core-ntb.tex index e97e12955..d6ad8278a 100644 --- a/tex/context/base/core-ntb.tex +++ b/tex/context/base/core-ntb.tex @@ -64,7 +64,7 @@ \else \par \ifdim\prevdepth<\zeropoint % =-1000pt ? - \vskip-\dp\strutbox + \vskip-\strutdp \else \removebottomthings \fi @@ -471,7 +471,7 @@ \endTBL % wrong ! ! ! better to have an auto-offset-overlay % \ifnum\TBLlevel>1 - % \vskip-\dp\strutbox + % \vskip-\strutdp % \fi \egroup \egroup @@ -596,8 +596,9 @@ \setbox0\vbox{\trialtypesettingtrue \the\tbltoks}% \ifautoTBLspread % experimental, stretch non fixed cells to \hsize - \checktblwidthsone % trial run - \checktblwidthstwo % real run + \checktblwidthsone % trial run + \checktblwidthstwo % real run + \stretchtblwidths \let\handleTBLcell\dohandleTBLcellB \setbox\scratchbox\vbox{\trialtypesettingtrue \the\tbltoks}% \else\ifdim\wd0>\hsize @@ -687,6 +688,21 @@ \vbox{\the\tbltoks}% \fi\fi} +\def\stretchtblwidths + {\!!dimend\zeropoint + \dorecurse\maximumcol + {\advance\!!dimend\gettblwid\recurselevel}% + % distribute width (stretch) + \ifdim\!!dimend<\hsize + \advance\!!dimend-\hsize + \!!dimend-\!!dimend + \divide\!!dimend\maximumcol + \dorecurse\maximumcol + {\scratchdimen\gettblwid\recurselevel + \advance\scratchdimen\!!dimend + \settblwid\recurselevel{\the\scratchdimen}}% + \fi} + % \def\splittblbox#1% #1 <> 0/2 % {\unvbox#1} @@ -769,17 +785,17 @@ {\let\xrowTBL\recurselevel \dorecurse\maximumcol {\let\xcolTBL\recurselevel - \count0=0\gettblrow\xrowTBL\xcolTBL\relax + \!!countb=0\gettblrow\xrowTBL\xcolTBL\relax % check row span - \ifnum\count0>1 + \ifnum\!!countb>1 % current height in row \dimen0=\gettblht\xrowTBL\xcolTBL % find nearest height in row \dimen2=\zeropoint \dorecurse\maximumcol {\ifnum\recurselevel=\xcolTBL\else - \count2=0\gettblrow\xrowTBL\recurselevel\relax - \ifnum\count2=\plusone + \!!countc=0\gettblrow\xrowTBL\recurselevel\relax + \ifnum\!!countc=\plusone \dimen4=\gettblht\xrowTBL\recurselevel\relax \ifdim\dimen2<\dimen4 \dimen2=\dimen4 @@ -789,7 +805,7 @@ \let\xxrowTBL\xrowTBL % calculate cummulative height \dimen4=\dimen2 - \dorecurse{\count0} + \dorecurse{\!!countb} {\ifnum\xxrowTBL=\xrowTBL\else \advance\dimen4 \gettblhei\xxrowTBL \fi @@ -797,10 +813,10 @@ % distribute overshoot equally \ifdim\dimen4<\dimen0 \advance\dimen0 -\dimen4 - \divide\dimen0 \count0 + \divide\dimen0 \!!countb \let\xxrowTBL\xrowTBL \settblhei\xrowTBL{\the\dimen2}% - \dorecurse{\count0} + \dorecurse{\!!countb} {\dorecurse\maximumcol {\ifnum\recurselevel=\xcolTBL\else \scratchdimen\gettblht\xxrowTBL\recurselevel @@ -816,7 +832,7 @@ \fi\fi \fi}}} -\def\checktblheightstwo% +\def\checktblheightstwo {} \def\showtblwids#1% diff --git a/tex/context/base/core-pos.tex b/tex/context/base/core-pos.tex index b60186eed..d44af3480 100644 --- a/tex/context/base/core-pos.tex +++ b/tex/context/base/core-pos.tex @@ -707,7 +707,7 @@ \def\wpos#1% {\dontleavehmode\vadjust % may disappear if buried - {\setbox0\hbox{\raise\dp\strutbox\hbox{\rawwpos{#1}}}% + {\setbox0\hbox{\raise\strutdp\hbox{\rawwpos{#1}}}% \rlap{\smashedbox0}}} \def\wwpos#1% \hsmashed{\llap{\rawwpos{#1}}} @@ -766,22 +766,23 @@ \def\doregisterparoptions {\doglobal\increment\parposcounter - \bgroup + \begingroup \leftskip 1\leftskip \rightskip1\rightskip \setpositiondataplus {p:\parposcounter}% % identifier - {\zeropoint} - {\ht\strutbox} - {\dp\strutbox} + {\zeropoint}% + {\strutht}% + {\strutdp}% {\efficientdimen\hsize ,% 1 \efficientdimen\leftskip ,% 2 \efficientdimen\rightskip ,% 3 \efficientdimen\hangindent,% 4 \the\hangafter ,% 5 \efficientdimen\parindent }% 6 - \normalhbox{\registerparsymbol}% - \egroup} + %\normalhbox{\registerparsymbol}% + \registerparsymbol + \endgroup} \newif\iftracepositions @@ -913,39 +914,39 @@ % \def\dopresetpositionanchors % {\bgroup -% \dimen0=\ifdim\topskip>\ht\strutbox\topskip\else\ht\strutbox\fi +% \dimen0=\ifdim\topskip>\strutht\topskip\else\strutht\fi % \dimen2=\MPy\textanchor % \dimen4=\dimen2 % \advance\dimen2 \MPh\textanchor % space is essential % \advance\dimen2 -\dimen0 -% \advance\dimen4 \dp\strutbox +% \advance\dimen4 \strutdp % \dimen6=\MPx\textanchor % \dimen8=\MPw\textanchor % \setxvalue{\POSprefix\headanchor}% % {\realfolio,\withoutpt{\the\dimen6},\withoutpt{\the\dimen2},% -% \withoutpt{\the\dimen8},\withoutpt{\the\dimen0},\withoutpt{\the\dp\strutbox}}% +% \withoutpt{\the\dimen8},\withoutpt{\the\dimen0},\withoutpt{\the\strutdp}}% % \setxvalue{\POSprefix\tailanchor}% % {\realfolio,\withoutpt{\the\dimen6},\withoutpt{\the\dimen4},% -% \withoutpt{\the\dimen8},\withoutpt{\the\ht\strutbox},\withoutpt{\the\dp\strutbox}}% +% \withoutpt{\the\dimen8},\withoutpt{\the\strutht},\withoutpt{\the\strutdp}}% % %\showanchor\textanchor\showanchor\headanchor\showanchor\tailanchor\wait % \egroup} \def\dopresetpositionanchors {\bgroup - \!!dimena\ifdim\topskip>\ht\strutbox\topskip\else\ht\strutbox\fi + \!!dimena\ifdim\topskip>\strutht\topskip\else\strutht\fi \!!dimenb\MPy\textanchor \!!dimenc\!!dimenb \advance\!!dimenb \MPh\textanchor % space is essential \advance\!!dimenb -\!!dimena - \advance\!!dimenc \dp\strutbox + \advance\!!dimenc \strutdp \!!dimend\MPx\textanchor \!!dimene\MPw\textanchor \setxvalue{\POSprefix\headanchor}% {\realfolio,\withoutpt{\the\!!dimend},\withoutpt{\the\!!dimenb},% - \withoutpt{\the\!!dimene},\withoutpt{\the\!!dimena},\withoutpt{\the\dp\strutbox}}% + \withoutpt{\the\!!dimene},\withoutpt{\the\!!dimena},\withoutpt{\the\strutdp}}% \setxvalue{\POSprefix\tailanchor}% {\realfolio,\withoutpt{\the\!!dimend},\withoutpt{\the\!!dimenc},% - \withoutpt{\the\!!dimene},\withoutpt{\the\ht\strutbox},\withoutpt{\the\dp\strutbox}}% + \withoutpt{\the\!!dimene},\withoutpt{\the\strutht},\withoutpt{\the\strutdp}}% %\showanchor\textanchor\showanchor\headanchor\showanchor\tailanchor\wait \egroup} @@ -1083,9 +1084,9 @@ % rounding errors {\setbox\scratchbox\hbox to \overlaywidth {\dopositionaction{#1::\MPanchoridentifier}\hss}% - \ht\scratchbox\overlayheight - \dp\scratchbox\zeropoint - \box\scratchbox}}% + \ht\scratchbox\overlayheight + \dp\scratchbox\zeropoint + \box\scratchbox}}% {\hbox to \overlaywidth{\hss}}% \vfill}% \fi} @@ -1836,7 +1837,6 @@ \endgraf % new \getvalue{\??td\currenttextbackground\c!na}} - \let\textparpages \!!zeropoint \let\textparheight\!!zeropoint \let\textparwidth \!!zeropoint @@ -1913,7 +1913,7 @@ {\dodoubleempty\dodefinetextbackground} \def\dodefinetextbackground[#1][#2]% - {\ifsecondargument + {\ifsecondargument % why ? \copyparameters[\??td#1][\??td] [\c!status,\c!plaats,\c!variant,\c!mp,\c!methode, \c!achtergrond,\c!achtergrondkleur,\c!hoek,\c!niveau, @@ -2100,7 +2100,7 @@ % \scratchdimen=\MPy{\s!margin:\currentmarginpos}% % \doglobal\increment\currentmarginpos % \advance\scratchdimen by -\MPy{\s!margin:\currentmarginpos}% -% \advance\scratchdimen by -\dp\strutbox +% \advance\scratchdimen by -\strutdp % \setbox#1=\hbox % {\setposition{\s!margin:\currentmarginpos}\raise\scratchdimen\box#1}% % \dp#1=\!!zeropoint @@ -2117,7 +2117,7 @@ \scratchdimen\MPy{\s!margin:\currentmarginpos}% \doglobal\increment\currentmarginpos \advance\scratchdimen -\MPy{\s!margin:\currentmarginpos}% - \advance\scratchdimen -\dp\strutbox + \advance\scratchdimen -\strutdp % new \setbox#1\hbox {\hskip-\MPx{\s!margin:\currentmarginpos}% @@ -2344,22 +2344,20 @@ %D \startbuffer %D \def\cw#1{\color[white]{#1}} %D -%D \def\TableShade#1#2% -%D {\startMPpositiongraphic -%D initialize_area(\MPpos{b:#1},\MPpos{e:#1}) ; -%D linear_shade(pxy,0,.4#2,.9#2) ; -%D anchor_area(\MPanchor{b:#1}) ; -%D \stopMPpositiongraphic} -%D -%D \dosetpositionaction{b:x}{\TableShade{x}{red}} -%D \dosetpositionaction{b:y}{\TableShade{y}{green}} -%D \dosetpositionaction{b:z}{\TableShade{z}{blue}} +%D \startMPpositiongraphic{tableshade} +%D initialize_area(\MPpos{\MPvar{from}},\MPpos{\MPvar{to}}) ; +%D color c ; c := \MPvar{color} ; +%D linear_shade(pxy,0,.4c,.9c) ; +%D anchor_area(\MPanchor{\MPvar{from}}) ; +%D \stopMPpositiongraphic +%D +%D \setMPpositiongraphic{b:x}{tableshade}{from=b:x,to=e:x,color=red} +%D \setMPpositiongraphic{b:y}{tableshade}{from=b:y,to=e:y,color=green} +%D \setMPpositiongraphic{b:z}{tableshade}{from=b:z,to=e:z,color=blue} %D \stopbuffer %D -%D \typebuffer -%D -%D % \haalbuffer -%D +%D \typebuffer \haalbuffer +%D %D The definition of the table looks about the same as the %D previous one: %D @@ -2373,7 +2371,7 @@ %D %D \typebuffer %D -%D % \haalbuffer +%D \haalbuffer % \definepositionframed[w][background=color,backgroundcolor=yellow] % \definepositionframed[x][background=color,backgroundcolor=red] diff --git a/tex/context/base/core-rul.tex b/tex/context/base/core-rul.tex index 70c4af511..a248a99a2 100644 --- a/tex/context/base/core-rul.tex +++ b/tex/context/base/core-rul.tex @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\writestatus{loading}{Context Core Macros / Ruled Stuff Handling} +\writestatus{loading}{Context Core Macros / Ruled Content Handling} \unprotect @@ -795,7 +795,7 @@ \let\localbegstrut\pseudobegstrut % was: \relax \let\localendstrut\pseudoendstrut % was: \relax \let\localstrut \pseudostrut % was: \relax - %\ifboxhasheight\ifdim\!!heighta<\ht\strutbox % saveguard + %\ifboxhasheight\ifdim\!!heighta<\strutht % saveguard % \let\localbegstrut\relax % but not that % \let\localstrut \relax % save afterall %\fi\fi @@ -1401,45 +1401,11 @@ {\framednoflines\zerocount \framedlastlength\zeropoint} -% \def\doreshapeframedbox% -% {\beginofshapebox -% \unvcopy\framebox -% \endofshapebox -% \global\@@globalwidth=\zeropoint -% \resetshapeframebox -% \reshapebox -% {\setbox0=\hbox -% {\strut\ifhbox\shapebox\unhbox\else\box\fi\shapebox}% -% \global\advance\framednoflines by 1 -% \ifdim\framedlastlength>\zeropoint\else -% \global\framedlastlength=\wd0 -% \fi -% \ifdim\wd0>\@@globalwidth -% \global\@@globalwidth=\wd0 -% \fi}% -% \dosetraggedcommand{\localformat}% -% \raggedcommand -% \ifboxhasheight -% \setbox\framebox=\vbox to \localheight -% {\hsize\@@globalwidth -% \reshapebox{\hbox to \hsize{\ifhbox\shapebox\unhbox\else\box\fi\shapebox}}% -% \dobeforeframedbox -% \innerflushshapebox -% \doafterframedbox}% -% \else -% \setbox\framebox=\vbox -% {\hsize\@@globalwidth -% \reshapebox{\hbox to \hsize{\ifhbox\shapebox\unhbox\else\box\fi\shapebox}}% -% \innerflushshapebox}% -% \dp\framebox=\dp\strutbox -% \fi -% \ifdim\framedlastlength=\zeropoint\global\framednoflines=\wd\framebox\fi -% \ifcase\framednoflines\global\framednoflines=1\fi} - -% better depth preserving, else problems with framed display -% math and auto width +% The next implementation is frozen! It preserves the depth, +% otherwise we get problems with framed display math and auto +% width. -\def\doreshapeframedbox +\def\doreshapeframedbox % frozen {\beginofshapebox \unvcopy\framebox \endofshapebox @@ -1470,7 +1436,7 @@ {\hsize\@@globalwidth \reshapebox{\hbox to \hsize{\ifhbox\shapebox\unhbox\else\box\fi\shapebox}}% \innerflushshapebox}% - \dp\framebox\scratchdimen % \dp\strutbox otherwise problem with math + \dp\framebox\scratchdimen % \strutdp otherwise problem with math \fi \ifdim\framedlastlength=\zeropoint\global\framednoflines\wd\framebox\fi \ifcase\framednoflines\global\framednoflines\plusone\fi} @@ -1539,14 +1505,14 @@ %D baseline intact outside as well as inside the framed box. \def\doinlineframedbox - {\scratchdimen\dp\strutbox + {\scratchdimen\strutdp \advance\scratchdimen \ruledlinewidth \ifboxhasoffset \advance\scratchdimen \framedparameter\c!offset \fi \setbox\framebox\hbox{\lower\scratchdimen\box\framebox}% - \ht\framebox\ht\strutbox - \dp\framebox\dp\strutbox + \ht\framebox\strutht + \dp\framebox\strutdp \box\framebox} %D We can also lower the box over the natural depth of the @@ -1554,9 +1520,9 @@ \def\doloweredframedbox {\getboxheight\scratchdimen\of\box\framebox - \advance\scratchdimen -\dp\strutbox + \advance\scratchdimen -\strutdp \ht\framebox\scratchdimen - \dp\framebox\dp\strutbox + \dp\framebox\strutdp \box\framebox} %D Hanging the content is mainly meant for cases like the @@ -1618,14 +1584,14 @@ \ifboxhasheight \dimen4=\localheight \divide\dimen4 2 \dimen6=\dimen4 - \advance\dimen4 \dp\strutbox - \advance\dimen6 -\dp\strutbox + \advance\dimen4 \strutdp + \advance\dimen6 -\strutdp \advance\dimen4 -2\ruledlinewidth \advance\dimen6 2\ruledlinewidth \else - \dimen4\ht\strutbox + \dimen4\strutht \advance\dimen4 \dimen2 - \dimen6\dp\strutbox + \dimen6\strutdp \advance\dimen6 \dimen2 \fi \unskip @@ -1636,8 +1602,8 @@ \!!depth\dimen6 \!!width\ruledlinewidth \hskip\dimen2}% - \ht0\ht\strutbox - \dp0\dp\strutbox + \ht0\strutht + \dp0\strutdp \box0 \ignorespaces \egroup} @@ -1722,8 +1688,8 @@ \getparameters[\??bj][#1]% \setstrut \doif\@@bjbreedte\v!max{\def\@@bjbreedte{1em}}% - \doif\@@bjhoogte \v!max{\def\@@bjhoogte{\ht\strutbox}}% - \doif\@@bjdiepte \v!max{\def\@@bjdiepte{\dp\strutbox}}% + \doif\@@bjhoogte \v!max{\def\@@bjhoogte{\strutht}}% + \doif\@@bjdiepte \v!max{\def\@@bjdiepte{\strutdp}}% \localstartcolor[\@@bjkleur]% \vrule \!!width \@@bjbreedte @@ -1800,7 +1766,7 @@ \def\dodrawmarginrule {\setbox0\hbox - {\vrule\!!depth\strutdepth\!!height\strutheight\!!width\@@kadikte}% + {\vrule\!!depth\strutdepth\!!height\strutheight\!!width\@@kalijndikte}% \smashbox0 % no \vsmash !!! \box0} @@ -1840,7 +1806,7 @@ %D %D \showsetup{\y!setupmarginrules} -\def\setupmarginrules% +\def\setupmarginrules {\dodoubleargument\getparameters[\??ka]} %D \macros @@ -1886,7 +1852,7 @@ %D \stopkantlijn %D %D \startkantlijn[5] -%D The second paragraph is a level~5 one. As we can se here, +%D The second paragraph is a level~5 one. As we can see here, %D the marginal rule gets a width according to its level. %D \stopkantlijn %D @@ -1924,24 +1890,24 @@ \def\complexvl[#1]% {\bgroup - \dimen0=#1\ht\strutbox - \dimen2=#1\dp\strutbox - \setbox0\hbox + \!!dimena#1\strutht + \!!dimenb#1\strutdp + \setbox\scratchbox\hbox {\vrule \!!width \linewidth - \!!height\dimen0 - \!!depth \dimen2}% - \dp0\dp\strutbox - \ht0\ht\strutbox - \box0 + \!!height\!!dimena + \!!depth \!!dimenb}% + \dp\scratchbox\strutdp + \ht\scratchbox\strutht + \box\scratchbox \egroup} \def\complexhl[#1]% {\hbox {\vrule - \!!width#1em + \!!width #1\s!em \!!height\linewidth - \!!depth\zeropoint}} + \!!depth \zeropoint}} \definecomplexorsimple\vl \def\simplevl{\complexvl[1]} \definecomplexorsimple\hl \def\simplehl{\complexhl[1]} @@ -2005,8 +1971,8 @@ % \startcolor[\@@dlkleur]% % \doif{\@@dlhoogte}{\v!max}{\def\@@dlhoogte{1}}% % \doif{\@@dldiepte}{\v!max}{\def\@@dldiepte{1}}% -% \freezedimensionwithunit\@@dlhoogte{\ht\strutbox}% -% \freezedimensionwithunit\@@dldiepte{\dp\strutbox}% +% \freezedimensionwithunit\@@dlhoogte{\strutht}% +% \freezedimensionwithunit\@@dldiepte{\strutdp}% % \leaders % \hrule\!!height\@@dlhoogte\!!depth\@@dldiepte % \hfill @@ -2054,8 +2020,8 @@ \let\@@dlhoogte\!!plusone \let\@@dldiepte\!!plusone \fi - \freezedimensionwithunit\@@dlhoogte{\ht\strutbox}% - \freezedimensionwithunit\@@dldiepte{\dp\strutbox}% + \freezedimensionwithunit\@@dlhoogte{\strutht}% + \freezedimensionwithunit\@@dldiepte{\strutdp}% \divide\linewidth 2 \doifelse\@@dlachtergrond\v!kleur {\startcolor[\@@dlachtergrondkleur]% @@ -2460,7 +2426,7 @@ \ifinsidefloat \box\framebox \else - \doplaats[\??kd#1][\c!dieptecorrectie=\v!uit]{\box\framebox}% + \doplacement[\??kd#1][\c!dieptecorrectie=\v!uit]{\box\framebox}% \fi \egroup} @@ -2592,8 +2558,8 @@ \fi \color[\@@tllijnkleur] {\leaders\hrule\!!height\dimen4\!!depth\dimen6\hfill}}% - \ht\scratchbox\ht\strutbox - \dp\scratchbox\dp\strutbox + \ht\scratchbox\strutht + \dp\scratchbox\strutdp \noindent\box\scratchbox %\nobreak\verticalstrut\kern-\lineheight % evt \witruimte @@ -2612,8 +2578,8 @@ {\ifhmode \endgraf \fi - \dimen0\dp\strutbox - \ifdim\prevdepth<\dp\strutbox + \dimen0\strutdp + \ifdim\prevdepth<\strutdp \ifdim\prevdepth>\zeropoint \advance\dimen0 -\prevdepth \fi @@ -3124,7 +3090,7 @@ % \def\registered{\encircled{R}} % \setuprules -% [\c!dikte=\v!middel] +% [\c!lijndikte=\v!middel] \setuplinewidth [\v!middel] @@ -3174,7 +3140,7 @@ \setupmarginrules [\c!niveau=0, - \c!dikte=\@@kadefaultwidth\linewidth] + \c!lijndikte=\@@kadefaultwidth\linewidth] \setupthinrules [\c!interlinie=\v!klein, diff --git a/tex/context/base/core-sec.tex b/tex/context/base/core-sec.tex index 44612b528..6ee585198 100644 --- a/tex/context/base/core-sec.tex +++ b/tex/context/base/core-sec.tex @@ -206,7 +206,7 @@ {\let\numberseparator\empty \let#3#2} {\unexpanded\def\numberseparator{\getvalue{#1\c!scheider}}% - \edef#3{\@EA\separatednumber\@EA{#2}}}} + \edef#3{\@EA\separatednumber\@EA{#2}}}} % hm, etex \def\lossenummer[#1]% {\maakhetnummer[#1]% @@ -827,12 +827,12 @@ \def\getsectieblokomgeving#1% {\let\do\firstofoneargument\getvalue{\??sb\s!do#1}} -\setvalue{\e!start\e!sectieblokomgeving}% +\setvalue{\e!start\v!sectieblokomgeving}% {\dosingleargument\dostartsectieblokomgeving} \def\dostartsectieblokomgeving[#1]% evt \pushendofline \popendofline {\long\def\do##1##2{\setsectieblokomgeving{#1}{##1##2}}% - \grabuntil{\e!stop\e!sectieblokomgeving}{\getvalue{\??sb\s!do#1}}} + \grabuntil{\e!stop\v!sectieblokomgeving}{\getvalue{\??sb\s!do#1}}} %D \starttypen %D \startsectionblockenvironment[frontpart] @@ -1468,7 +1468,7 @@ \def\stoplistreferences% {\gobbleoneargument} -% \prevdepth\dp\strutbox is belangrijk, vergelijk naast elkaar: +% \prevdepth\strutdp % is belangrijk, vergelijk naast elkaar: % % \onderwerp{test} \input tufte % \onderwerp{test} \strut \input tufte @@ -1552,7 +1552,8 @@ \ifdisplaysectionhead \getvalue{\??ko#1\c!tekstcommando}% {\setstrut\begstrut#3\endstrut}% - \xdef\localheaddepth{\the\dp\strutbox}% + \xdef\localheaddepth{\the\strutdp}% + % == \globallet\localheaddepth\strutdepth \else \getvalue{\??ko#1\c!tekstcommando}{#3}% \fi @@ -1608,7 +1609,8 @@ \ifdisplaysectionhead \getvalue{\??ko#1\c!tekstcommando}% {\setstrut\begstrut#4\endstrut}% - \xdef\localheaddepth{\the\dp\strutbox}% + \xdef\localheaddepth{\the\strutdp}% + % == \globallet\localheaddepth\strutdepth \else \getvalue{\??ko#1\c!tekstcommando}{#4}% \fi @@ -1623,62 +1625,12 @@ \let\headlastlinewidth\!!zeropoint \newif\ifcontinuoushead -% \def\beginheadplacement#1% -% {\bgroup -% \gdef\localheaddepth{\dp\strutbox}% -% \everypar{}% needed indeed -% \noindent % ipv \witruimte elders, na \forgetall ! -% \bgroup -% \forgetall % now we may forget everything -% %\showcomposition -% \mindermeldingen -% \postponefootnotes -% \iflocation\ifdisplaysectionhead\else\noninterferingmarks\fi\fi -% %\setupinteraction -% % [\c!letter=, -% % \c!kleur=, -% % \c!contrastkleur=]% -% \resetinteractionparameter\c!letter -% \resetinteractionparameter\c!kleur -% \resetinteractionparameter\c!contrastkleur -% \strictouterreferencestrue % tzt instelling -% \def\localheadsetup% -% {\dolocalheadsetup{#1}}% -% \startsynchronisatie} - -% \def\beginheadplacement#1% -% {\bgroup -% \setsystemmode{#1}% to be documented -% \ifgridsnapping\iftracegridsnapping\showstruts\fi\fi -% \gdef\localheaddepth{\dp\strutbox}% -% \everypar\emptytoks % needed indeed -% \noindent % ipv \witruimte elders, na \forgetall ! -% \bgroup -% \doifelsevalue{\??ko#1\c!titeluitlijnen}\v!ja % new -% {\leftskip 1\leftskip -% \rightskip1\rightskip -% \edef\next{\leftskip\the\leftskip\rightskip\the\rightskip}% -% \xdef\localheadskip{\the\leftskip}% -% \expandafter\forgetall\next % now we may forget everything -% \setlocalhsize\hsize\localhsize} -% {\globallet\localheadskip\!!zeropoint -% \forgetall}% -% \mindermeldingen -% \postponefootnotes -% \iflocation\ifdisplaysectionhead\else\noninterferingmarks\fi\fi -% \resetinteractionparameter\c!letter -% \resetinteractionparameter\c!kleur -% \resetinteractionparameter\c!contrastkleur -% \strictouterreferencestrue % tzt instelling -% \def\localheadsetup% -% {\dolocalheadsetup{#1}}% -% \startsynchronisatie} - \def\beginheadplacement#1% {\bgroup \setsystemmode{#1}% to be documented \ifgridsnapping\iftracegridsnapping\showstruts\fi\fi - \gdef\localheaddepth{\dp\strutbox}% + \gdef\localheaddepth{\strutdp}% + % == \globallet\localheaddepth\strutdp \everypar\emptytoks % needed indeed \noindent % ipv \witruimte elders, na \forgetall ! \bgroup @@ -1704,7 +1656,6 @@ {\dolocalheadsetup{#1}}% \startsynchronisatie} - \def\endheadplacement#1#2% {\doifelsevalue{\??rf#1\c!status}\v!start {\doifvaluenothing{\??ko#1\c!file}{\autocrossdocumentfalse}} @@ -1756,7 +1707,7 @@ \fi \ifdisplaysectionhead \ifgridsnapping % important, font related depth, see comment - \prevdepth\dp\strutbox + \prevdepth\strutdp \else \prevdepth\localheaddepth \fi @@ -1765,7 +1716,7 @@ \egroup \egroup \ifdisplaysectionhead - \doifvalue{\??ko#1\c!springvolgendein}\v!nee\noindentation + \dochecknextindentation{\??ko#1}% \else \nonoindentation % recently added, was a bug \fi} diff --git a/tex/context/base/core-spa.tex b/tex/context/base/core-spa.tex index 53ba96cc7..f5a6b7730 100644 --- a/tex/context/base/core-spa.tex +++ b/tex/context/base/core-spa.tex @@ -1122,6 +1122,22 @@ \def\nietinspringen{\inspringen[\v!nee,\v!volgende]} \def\welinspringen {\inspringen[\v!ja,\v!eerste]} + +\def\dochecknextindentation#1% internal one + {\checknextindentation[\getvalue{#1\c!springvolgendein}]} + +\def\checknextindentation[#1]% + {\processaction[#1][%\v!handhaaf=>, + \v!ja=>\doindentation, + \v!nee=>\noindentation, + \v!auto=>\autoindentation]} + +\def\doindentation% too simple + {\gdef\checkindentation{\global\indentationtrue}} + +\ifx\autoindentation\undefined + \let\autoindentation\relax +\fi % \frenchspacing leidt soms tot afbreken tussen -, vandaar % de variant \newfrenchspacing. @@ -1734,7 +1750,7 @@ {\strutdimen\normallineheight % wat niet per se \lineheight \strutdimen#2\strutdimen % is omdat een strut lokaal \strutdimen#3\strutdimen % kan afwijken van de globale - \edef#1{\the\strutdimen}} % strut + \edef#1{\the\strutdimen}} % macro % strut % plain definition: % @@ -1779,8 +1795,8 @@ \def\setcharstrut#1% {\setbox\strutbox\hbox{#1}% - \edef\strutheight{\the\ht\strutbox}% - \edef\strutdepth {\the\dp\strutbox}% + \edef\strutheight{\the\strutht}% + \edef\strutdepth {\the\strutdp}% \dosetstrut} \def\setfontstrut @@ -1831,8 +1847,7 @@ \setstrut} \def\begstrut - {%relax\ifdim\ht\strutbox=\zeropoint\else - \relax\ifcase\ht\strutbox\else + {\relax\ifcase\strutht\else \strut \normalpenalty\@M % \!!tenthousand \normalhskip\zeropoint @@ -1840,8 +1855,7 @@ \fi} \def\endstrut - {%relax\ifhmode\ifdim\ht\strutbox=\zeropoint\else - \relax\ifhmode\ifcase\ht\strutbox\else + {\relax\ifhmode\ifcase\strutht\else \removeunwantedspaces \normalpenalty\@M % \!!tenthousand \normalhskip\zeropoint diff --git a/tex/context/base/core-tab.tex b/tex/context/base/core-tab.tex index df2db6ab6..320ee324e 100644 --- a/tex/context/base/core-tab.tex +++ b/tex/context/base/core-tab.tex @@ -1174,17 +1174,17 @@ \let\@@TABLEhead\empty \def\TABLEhead{\@@TABLEhead} \let\@@TABLEtail\empty \def\TABLEtail{\@@TABLEtail} -\letvalue{\e!start\e!tablehead}=\undefined -\letvalue{\e!stop \e!tablehead}=\undefined -\letvalue{\e!start\e!tabletail}=\undefined -\letvalue{\e!stop \e!tabletail}=\undefined +\letvalue{\e!start\v!tablehead}=\undefined +\letvalue{\e!stop \v!tablehead}=\undefined +\letvalue{\e!start\v!tabletail}=\undefined +\letvalue{\e!stop \v!tabletail}=\undefined \expanded - {\def\csname\e!start\e!tablehead\endcsname##1\csname\e!stop\e!tablehead\endcsname% + {\def\csname\e!start\v!tablehead\endcsname##1\csname\e!stop\v!tablehead\endcsname% {\noexpand\setTABLEhead##1\noexpand\end}} \expanded - {\def\csname\e!start\e!tabletail\endcsname##1\csname\e!stop\e!tabletail\endcsname% + {\def\csname\e!start\v!tabletail\endcsname##1\csname\e!stop\v!tabletail\endcsname% {\noexpand\setTABLEtail##1\noexpand\end}} %D The second argument is a dummy one, by scanning for it, we @@ -1218,9 +1218,9 @@ \fi \advance\dimen2 -\dimen0 \global\TABLEmaxheight\dimen2 - \global\advance\TABLEmaxheight -\dp\strutbox + \global\advance\TABLEmaxheight -\strutdp \ifdim\prevdepth<\maxdimen\ifdim\prevdepth>\zeropoint - \global\advance\TABLEmaxheight -\dp\strutbox + \global\advance\TABLEmaxheight -\strutdp \global\advance\TABLEmaxheight -\parskip \fi\fi} @@ -1233,7 +1233,7 @@ \fi \advance\dimen2 -\dimen0 \global\TABLEmaxheight\dimen2 - \global\advance\TABLEmaxheight -\dp\strutbox} + \global\advance\TABLEmaxheight -\strutdp} \def\calculatemaxTABLEheight#1% {\ifsplittables @@ -1570,7 +1570,7 @@ \gdef\afterTABLEline{\TABLEnoalign{\nobreak}}% \else \dimen2=\TABLEheight - \advance\dimen2 \dp\strutbox + \advance\dimen2 \strutdp \advance\dimen2 \TABLEtailheight \advance\dimen2 \TABLEcaptionheight \advance\dimen2 \lineheight % we're ahead diff --git a/tex/context/base/core-tbl.tex b/tex/context/base/core-tbl.tex index 8a7753504..ff8aa2f9b 100644 --- a/tex/context/base/core-tbl.tex +++ b/tex/context/base/core-tbl.tex @@ -487,8 +487,8 @@ {\unvbox\tabulatebox}% \setbox\tabulatebox\hbox to \wd\tabulatebox {\hss\dotabulatehook{\box\tabulatebox}\hss}% - \ht\tabulatebox\ht\strutbox - \dp\tabulatebox\dp\strutbox + \ht\tabulatebox\strutht + \dp\tabulatebox\strutdp \box\tabulatebox} \def\dotabulatehook {\getvalue{\@@tabhook@@ \tabulatecolumn}} @@ -572,7 +572,7 @@ {\ifthirdargument \doifundefined{\??tt#1::\c!eenheid} {\copyparameters - [\??tt#1::][\??tt\e!tabulate::]% + [\??tt#1::][\??tt\v!tabulate::]% [\c!kader,\c!afstand,\c!eenheid,\c!voor,\c!korps,\c!na, \c!binnen,\c!inspringen,\c!marge,\c!uitlijnen, \c!lijnkleur,\c!lijndikte,EQ]}% @@ -652,19 +652,19 @@ \tabulatecontent \tabulatetailcontent} -\setvalue{\e!start\e!tabulatehead}% +\setvalue{\e!start\v!tabulatehead}% {\dosingleempty\dostartstarttabulatehead} \def\dostartstarttabulatehead[#1]% - {\processcontent{\e!stop\e!tabulatehead}\next - {\letvalue{\??tt\iffirstargument#1\else\e!tabulate\fi::\v!hoofd}\next}} + {\processcontent{\e!stop\v!tabulatehead}\next + {\letvalue{\??tt\iffirstargument#1\else\v!tabulate\fi::\v!hoofd}\next}} -\setvalue{\e!start\e!tabulatetail}% +\setvalue{\e!start\v!tabulatetail}% {\dosingleempty\dostartstarttabulatetail} \def\dostartstarttabulatetail[#1]% - {\processcontent{\e!stop\e!tabulatetail}\next - {\letvalue{\??tt\iffirstargument#1\else\e!tabulate\fi::\v!voet}\next}} + {\processcontent{\e!stop\v!tabulatetail}\next + {\letvalue{\??tt\iffirstargument#1\else\v!tabulate\fi::\v!voet}\next}} \def\dosubstarttabulate {\dodoubleempty\dodosubstarttabulate} @@ -672,17 +672,17 @@ \def\dodosubstarttabulate[#1][#2]% {\getvalue{\e!start#1::\ifundefined{\e!start#1::#2}\else#2\fi}} -\setvalue{\e!start\e!tabulate}% +\setvalue{\e!start\v!tabulate}% {\bgroup\dodoubleempty\donormalstarttabulate} \def\donormalstarttabulate[#1][#2]% {\ifsecondargument - \getparameters[\??tt\e!tabulate::][#2]% + \getparameters[\??tt\v!tabulate::][#2]% \fi \iffirstargument - \def\next{\dofinalstarttabulate[\e!tabulate][][#1]}% + \def\next{\dofinalstarttabulate[\v!tabulate][][#1]}% \else - \def\next{\dofinalstarttabulate[\e!tabulate][][|l|p|]}% + \def\next{\dofinalstarttabulate[\v!tabulate][][|l|p|]}% \fi \next} @@ -781,16 +781,16 @@ \let\\\tabulateautocolumn} %\def\tabulateruleseperator -% {\vskip\dp\strutbox} +% {\vskip\strutdp} -\def\tabulateruleseperator% +\def\tabulateruleseperator {\bgroup \let\factor\!!plusone - \scratchskip\dp\strutbox + \scratchskip\strutdp \ExpandFirstAfter\processallactionsinset [\getvalue{\??tt\currenttabulate\c!afstand}] [ \v!blanko=>\scratchskip\bigskipamount, - \v!diepte=>\scratchskip\dp\strutbox, + \v!diepte=>\scratchskip\strutdp, \v!klein=>\def\factor{.25}, \v!middel=>\def\factor{.5}, \v!groot=>, @@ -1025,7 +1025,7 @@ \def\xbskip{\bskip}% \def\xeskip{\eskip}% \ifsplittabulate - \splittopskip\ht\strutbox + \splittopskip\strutht \global\let\flushtabulatedindeed\empty \long\def\bbskip {\ifvoid\tablebox\tabulatecolumn @@ -1086,8 +1086,8 @@ \def\tablebaselinecorrection {\def\dobaselinecorrection {\vskip-\prevdepth - \vskip\dp\strutbox - \vskip\dp\strutbox}% + \vskip\strutdp + \vskip\strutdp}% \baselinecorrection}% \def\FL{\TABLEnoalign {\ifinsidefloat\else @@ -1097,7 +1097,7 @@ \tabulaterule \dotabulatenobreak \tabulateruleseperator - \prevdepth\dp\strutbox + \prevdepth\strutdp \dotabulatenobreak}}% \def\ML{\TABLEnoalign {\tabulateruleseperator @@ -1117,7 +1117,7 @@ \tabulaterule \ifinsidefloat\else \doifemptyvalue{\??tt\currenttabulate\c!na} % no expansion - {\vskip\dp\strutbox + {\vskip\strutdp \vbox{\strut}% \vskip-\lineheight}% \fi}}% @@ -1125,9 +1125,9 @@ % \chardef\tabulatepass\plustwo \@EA\halign\@EA{\the\!!toksa\crcr\fulltabulatecontent\crcr}% - \prevdepth\dp\strutbox % nog eens beter, temporary hack + \prevdepth\strutdp % nog eens beter, temporary hack \doifvalue{\??tt\currenttabulate\c!afstand}\v!grid - {\vskip-\dp\strutbox}% experimental tm-prikkels + {\vskip-\strutdp}% experimental tm-prikkels % \stopframedcontent % @@ -1186,7 +1186,7 @@ \else\ifsecondargument \getparameters[\??tt#1::][#2]% \else - \getparameters[\??tt\e!tabulate::][#1]% + \getparameters[\??tt\v!tabulate::][#1]% \fi\fi} \setuptabulate diff --git a/tex/context/base/core-ver.tex b/tex/context/base/core-ver.tex index 09e90e34c..4b302422a 100644 --- a/tex/context/base/core-ver.tex +++ b/tex/context/base/core-ver.tex @@ -729,7 +729,7 @@ {\stopverbatimcolor \stopopelkaar % includes \egroup \getvalue{\??tp#1\c!na}% - \doifvalue{\??tp#1\c!springvolgendein}\v!nee\noindentation} + \dochecknextindentation{\??tp#1}} %D \macros %D {setuptyping} diff --git a/tex/context/base/core-vis.tex b/tex/context/base/core-vis.tex index 2c26e3a48..3b5c6a5d5 100644 --- a/tex/context/base/core-vis.tex +++ b/tex/context/base/core-vis.tex @@ -76,15 +76,15 @@ \normalhbox {\boxrulewidth5\testrulewidth \setbox0\ruledhbox to \hangindent - {\scratchdimen\ht\strutbox - \advance\scratchdimen \dp\strutbox + {\scratchdimen\strutht + \advance\scratchdimen \strutdp \vrule \!!width \zeropoint \!!height \zeropoint \!!depth -\hangafter\scratchdimen}% \normalhskip-\hangindent \smashbox0 - \raise\ht\strutbox\box0}% + \raise\strutht\box0}% \fi \fi} diff --git a/tex/context/base/enco-grk.tex b/tex/context/base/enco-grk.tex new file mode 100644 index 000000000..dbab21302 --- /dev/null +++ b/tex/context/base/enco-grk.tex @@ -0,0 +1,317 @@ +%D \module +%D [ file=enco-grk, +%D version=2003.03.01, +%D title=\CONTEXT\ Encoding Macros, +%D subtitle=Greek, +%D author=Apostolos Syropoulos, +%D date=\currentdate, +%D copyright=PRAGMA-ADE] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + + +\startencoding[default] + +% +% Uppercase Greek letters +% + +\definecharacter GreekAlpha {A} +\definecharacter GreekBeta {B} +\definecharacter GreekGamma {G} +\definecharacter GreekDelta {D} +\definecharacter GreekEpsilon {E} +\definecharacter GreekZeta {Z} +\definecharacter GreekEta {H} +\definecharacter GreekTheta {J} +\definecharacter GreekIota {I} +\definecharacter GreekKappa {K} +\definecharacter GreekLamda {L} +\definecharacter GreekMu {M} +\definecharacter GreekNu {N} +\definecharacter GreekXi {X} +\definecharacter GreekOmicron {O} +\definecharacter GreekPi {P} +\definecharacter GreekRho {R} +\definecharacter GreekSigma {S} +\definecharacter GreekTau {T} +\definecharacter GreekUpsilon {U} +\definecharacter GreekPhi {F} +\definecharacter GreekChi {Q} +\definecharacter GreekPsi {Y} +\definecharacter GreekOmega {W} + +% +% Lowercase Greek letters +% + +\definecharacter Greekalpha {a} +\definecharacter Greekbeta {b} +\definecharacter Greekgamma {g} +\definecharacter Greekdelta {d} +\definecharacter Greekepsilon {e} +\definecharacter Greekzeta {z} +\definecharacter Greeketa {h} +\definecharacter Greektheta {j} +\definecharacter Greekiota {i} +\definecharacter Greekkappa {k} +\definecharacter Greeklamda {l} +\definecharacter Greekmu {m} +\definecharacter Greeknu {n} +\definecharacter Greekxi {x} +\definecharacter Greekomicron {o} +\definecharacter Greekpi {p} +\definecharacter Greekrho {r} +\definecharacter Greekfinalsigma {c} +\definecharacter Greeksigma {s} +\definecharacter Greektau {t} +\definecharacter Greekupsilon {u} +\definecharacter Greekphi {f} +\definecharacter Greekchi {q} +\definecharacter Greekpsi {y} +\definecharacter Greekomega {w} + +% +% Accented Uppercase Greek letters +% + +\definecharacter GreekAlphatonos {'A} +\definecharacter GreekEpsilontonos {'E} +\definecharacter GreekEtatonos {'H} +\definecharacter GreekIotatonos {'I} +\definecharacter GreekOmicrontonos {'O} +\definecharacter GreekUpsilontonos {'U} +\definecharacter GreekOmegatonos {'W} +\definecharacter GreekIotadialytika {"I} +\definecharacter GreekUpsilondialytika {"U} + +% +% Accented Lowercase Greek letters +% + +\definecharacter Greekalphatonos {'a} +\definecharacter Greekepsilontonos {'e} +\definecharacter Greeketatonos {'h} +\definecharacter Greekiotatonos {'i} +\definecharacter Greekomicrontonos {'o} +\definecharacter Greekupsilontonos {'u} +\definecharacter Greekomegatonos {'w} +\definecharacter Greekiotadialytika {"i} +\definecharacter Greekupsilondialytika {"u} +\definecharacter Greekiotadialytikatonos {'"i} +\definecharacter Greekupsilondialytikatonos {'"u} + +% +% Miscellaneous Greek symbols +% + +\definecharacter Greekleftquot {((} +\definecharacter Greekrightquot {))} +\definecharacter Greektonos {'} +\definecharacter Greekdialytikatonos {'"} +\definecharacter Greekapostrophos {''} + +\stopencoding + +%%% Note that with the command +%%% \definecasemap 165 181 165 +%%% character 165 becomes 181 in uppercase and 165 in lowercase + +\startmapping[iso-8859-7] + +% +% Uppercase Greek letters +% + +\definecasemap 193 193 225 % GreekAlpha +\definecasemap 194 194 226 % GreekBeta +\definecasemap 195 195 227 % GreekGamma +\definecasemap 196 196 228 % GreekDelta +\definecasemap 197 197 229 % GreekEpsilon +\definecasemap 198 198 230 % GreekZeta +\definecasemap 199 199 213 % GreekEta +\definecasemap 200 200 232 % GreekTheta +\definecasemap 201 201 233 % GreekIota +\definecasemap 202 202 234 % GreekKappa +\definecasemap 203 203 235 % GreekLamda +\definecasemap 204 204 236 % GreekMu +\definecasemap 205 205 237 % GreekNu +\definecasemap 206 206 238 % GreekXi +\definecasemap 207 207 239 % GreekOmicron +\definecasemap 208 208 240 % GreekPi +\definecasemap 209 209 241 % GreekRho +\definecasemap 211 211 243 % GreekSigma +\definecasemap 212 212 244 % GreekTau +\definecasemap 213 213 245 % GreekUpsilon +\definecasemap 214 214 246 % GreekPhi +\definecasemap 215 215 247 % GreekChi +\definecasemap 216 216 248 % GreekPsi +\definecasemap 217 217 249 % GreekOmega + +% +% Lowercase Greek letters +% + +\definecasemap 225 193 225 % Greekalpha +\definecasemap 226 194 226 % Greekbeta +\definecasemap 227 195 227 % Greekgamma +\definecasemap 228 196 228 % Greekdelta +\definecasemap 229 197 229 % Greekepsilon +\definecasemap 230 198 230 % Greekzeta +\definecasemap 213 199 213 % Greeketa +\definecasemap 232 200 232 % Greektheta +\definecasemap 233 201 233 % Greekiota +\definecasemap 234 202 234 % Greekkappa +\definecasemap 235 203 235 % Greeklamda +\definecasemap 236 204 236 % Greekmu +\definecasemap 237 205 237 % Greeknu +\definecasemap 238 206 238 % Greekxi +\definecasemap 239 207 239 % Greekomicron +\definecasemap 240 208 240 % Greekpi +\definecasemap 241 209 241 % Greekrho +\definecasemap 242 211 242 % Greekfinalsigma +\definecasemap 243 211 243 % GreekSigma +\definecasemap 244 212 244 % GreekTau +\definecasemap 245 213 245 % GreekUpsilon +\definecasemap 246 214 246 % GreekPhi +\definecasemap 247 215 247 % GreekChi +\definecasemap 248 216 248 % GreekPsi +\definecasemap 249 217 249 % GreekOmega + +% +% Accented Uppercase Greek letters +% + +\definecasemap 182 193 220 % GreekAlphatonos +\definecasemap 184 197 221 % GreekEpsilontonos +\definecasemap 185 199 222 % GreekEtatonos +\definecasemap 186 201 223 % GreekIotatonos +\definecasemap 188 207 252 % GreekOmicrontonos +\definecasemap 190 213 253 % GreekUpsilontonos +\definecasemap 191 217 254 % GreekOmegatonos +\definecasemap 218 218 250 % GreekIotadialytika +\definecasemap 219 219 251 % GreekUpsilondialytika + +% +% Accented Lowercase Greek letters +% + +\definecasemap 220 193 220 % Greekalphatonos +\definecasemap 221 197 221 % Greekepsilontonos +\definecasemap 222 199 222 % Greeketatonos +\definecasemap 223 201 223 % Greekiotatonos +\definecasemap 252 207 252 % Greekomicrontonos +\definecasemap 253 213 253 % Greekupsilontonos +\definecasemap 254 217 254 % Greekomegatonos +\definecasemap 250 218 250 % Greekiotadialytika +\definecasemap 251 219 251 % Greekupsilondialytika +\definecasemap 192 218 192 % Greekiotadialytikatonos +\definecasemap 224 219 224 % Greekupsilondialytikatonos + + +\stopencoding + +\startencoding[iso-8859-7] + +% +% Uppercase Greek letters +% + +\definecharacter GreekAlpha 193 +\definecharacter GreekBeta 194 +\definecharacter GreekGamma 195 +\definecharacter GreekDelta 196 +\definecharacter GreekEpsilon 197 +\definecharacter GreekZeta 198 +\definecharacter GreekEta 199 +\definecharacter GreekTheta 200 +\definecharacter GreekIota 201 +\definecharacter GreekKappa 202 +\definecharacter GreekLamda 203 +\definecharacter GreekMu 204 +\definecharacter GreekNu 205 +\definecharacter GreekXi 206 +\definecharacter GreekOmicron 207 +\definecharacter GreekPi 208 +\definecharacter GreekRho 209 +\definecharacter GreekSigma 211 +\definecharacter GreekTau 212 +\definecharacter GreekUpsilon 213 +\definecharacter GreekPhi 214 +\definecharacter GreekChi 215 +\definecharacter GreekPsi 216 +\definecharacter GreekOmega 217 + +% +% Lowercase Greek letters +% + +\definecharacter Greekalpha 225 +\definecharacter Greekbeta 226 +\definecharacter Greekgamma 227 +\definecharacter Greekdelta 228 +\definecharacter Greekepsilon 229 +\definecharacter Greekzeta 230 +\definecharacter Greeketa 231 +\definecharacter Greektheta 232 +\definecharacter Greekiota 233 +\definecharacter Greekkappa 234 +\definecharacter Greeklamda 235 +\definecharacter Greekmu 236 +\definecharacter Greeknu 237 +\definecharacter Greekxi 238 +\definecharacter Greekomicron 239 +\definecharacter Greekpi 240 +\definecharacter Greekrho 241 +\definecharacter Greekfinalsigma 242 +\definecharacter Greeksigma 243 +\definecharacter Greektau 244 +\definecharacter Greekupsilon 245 +\definecharacter Greekphi 246 +\definecharacter Greekchi 247 +\definecharacter Greekpsi 248 +\definecharacter Greekomega 249 + +% +% Accented Uppercase Greek letters +% + +\definecharacter GreekAlphatonos 182 +\definecharacter GreekEpsilontonos 184 +\definecharacter GreekEtatonos 185 +\definecharacter GreekIotatonos 186 +\definecharacter GreekOmicrontonos 188 +\definecharacter GreekUpsilontonos 190 +\definecharacter GreekOmegatonos 191 +\definecharacter GreekIotadialytika 218 +\definecharacter GreekUpsilondialytika 219 + +% +% Accented Lowercase Greek letters +% + +\definecharacter Greekalphatonos 220 +\definecharacter Greekepsilontonos 221 +\definecharacter Greeketatonos 222 +\definecharacter Greekiotatonos 223 +\definecharacter Greekomicrontonos 252 +\definecharacter Greekupsilontonos 253 +\definecharacter Greekomegatonos 254 +\definecharacter Greekiotadialytika 250 +\definecharacter Greekupsilondialytika 251 +\definecharacter Greekiotadialytikatonos 192 +\definecharacter Greekupsilondialytikatonos 224 + +% +% Miscellaneous Greek symbols +% + +\definecharacter Greekleftquot 171 +\definecharacter Greekrightquot 187 +\definecharacter Greektonos 180 +\definecharacter Greekdialytikatonos 181 +\definecharacter Greekapostrophos 162 + +\stopencoding diff --git a/tex/context/base/font-chi.tex b/tex/context/base/font-chi.tex index fa9e940f7..43a19be3c 100644 --- a/tex/context/base/font-chi.tex +++ b/tex/context/base/font-chi.tex @@ -357,8 +357,8 @@ \rotate[\c!rotatie=270]{\box\scratchbox}% \fi \hss}% - \ht\scratchbox\unicodeheight\ht\strutbox - \dp\scratchbox\unicodedepth \dp\strutbox + \ht\scratchbox\unicodeheight\strutht + \dp\scratchbox\unicodedepth \strutdp \ifvmode % catches \hbox{...}, actually \hbox should be \vbox -) \nointerlineskip \fi diff --git a/tex/context/base/font-run.tex b/tex/context/base/font-run.tex index 20b720c8c..9b81ac140 100644 --- a/tex/context/base/font-run.tex +++ b/tex/context/base/font-run.tex @@ -37,9 +37,9 @@ {\dosetshowfonttitle{#1}% \def\bigstrut##1##2% {\hbox{\vrule - \!!height ##1\ht\strutbox - \!!depth ##2\dp\strutbox - \!!width \!!zeropoint}} + \!!height##1\strutht + \!!depth ##2\strutdp + \!!width \zeropoint}} \def\next##1##2##3% {&&##1&&##2\tf##3&&##2\sc##3% &&##2\sl##3&&##2\it##3&&##2\bf##3&&##2\bs##3&&##2\bi##3% @@ -144,15 +144,15 @@ {\tf\vbox to 2.5em {\vss \hbox to 2.5em - {\dummy\ifdim\fontdimen2\font=\!!zeropoint - \setbox\scratchbox=\hbox - {\raise.5\dp\scratchbox\hbox - {\lower.5\ht\scratchbox\copy\scratchbox}}% + {\dummy\ifdim\fontdimen2\font=\zeropoint + \setbox\scratchbox\hbox + {\raise.5\dp\scratchbox\hbox + {\lower.5\ht\scratchbox\copy\scratchbox}}% \ht\scratchbox\zeropoint \dp\scratchbox\zeropoint \else - \ht\scratchbox\ht\strutbox - \dp\scratchbox\dp\strutbox + \ht\scratchbox\strutht + \dp\scratchbox\strutdp \strut \fi \hss\copy\scratchbox\hss} diff --git a/tex/context/base/font-uni.tex b/tex/context/base/font-uni.tex index a114c0882..269c0f771 100644 --- a/tex/context/base/font-uni.tex +++ b/tex/context/base/font-uni.tex @@ -372,15 +372,15 @@ \def\dosetunicodestrut#1#2% height depth {\def\unicodestrut {\vrule - \!!width\zeropoint - \!!height#1\ht\strutbox - \!!depth#2\dp\strutbox + \!!width \zeropoint + \!!height#1\strutht + \!!depth #2\strutdp \relax}} \def\setunicodestrut#1#2% height depth - {\ifdim#1\ht\strutbox>\zeropoint + {\ifdim#1\strutht>\zeropoint \dosetunicodestrut{#1}{#2}% - \else\ifdim#1\dp\strutbox>\zeropoint + \else\ifdim#1\strutdp>\zeropoint \dosetunicodestrut{#1}{#2}% \else \let\unicodestrut\empty diff --git a/tex/context/base/m-educat.tex b/tex/context/base/m-educat.tex index 01e156797..0951ee055 100644 --- a/tex/context/base/m-educat.tex +++ b/tex/context/base/m-educat.tex @@ -73,7 +73,7 @@ \def\setupanswerarea {\setuptextbackground[\v!answerarea]} -\def\answerspace +\setvalue\e!answerspace {\dosingleempty\doanswerspace} \def\doanswerspace[#1]% @@ -181,7 +181,7 @@ \getvalue{\e!stop\v!answerarea}% \par\endgroup\endgroup} -\def\answerlines +\setvalue\e!answerlines {\dosingleempty\doanswerlines} \def\doanswerlines[#1]#2% diff --git a/tex/context/base/m-plus.tex b/tex/context/base/m-plus.tex new file mode 100644 index 000000000..cd3a72757 --- /dev/null +++ b/tex/context/base/m-plus.tex @@ -0,0 +1,29 @@ +%D \module +%D [ file=m-plus, +%D version=2003.03.16, +%D title=\CONTEXT\ Extra Modules, +%D subtitle=Loading extra features, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright=PRAGMA-ADE] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +%D Somewhere in 2001 i started collecting new functionality +%D in a module \type {m-yesno}. As the name suggests, I was +%D not entirely sure if this functionality belonged in the +%D kernel. When (again) on the \CONTEXT\ list a request for +%D side bars was posted, I decided to move such code to plus +%D modules. Users who want this additional functionality can +%D put the following call in their \type {cont-sys.tex} file: +%D +%D \starttyping +%D \usemodule[plus] +%D \stoptyping + +\readfile {plus-rul} \donothing \donothing +\readfile {plus-pag} \donothing \donothing + +\endinput diff --git a/tex/context/base/mult-com.tex b/tex/context/base/mult-com.tex index c6a8ba11d..6dc0ab5b9 100644 --- a/tex/context/base/mult-com.tex +++ b/tex/context/base/mult-com.tex @@ -804,24 +804,28 @@ stelnummerin: stelnummerin setupnumber ran ran ran ran % new + defineitemgroup: definieeritemgroep defineitemgroup + defineitemgroup defineitemgroup + defineitemgroup defineitemgroup + setupitemgroup: stelitemgroepin setupitemgroup + setupitemgroup setupitemgroup + setupitemgroup setupitemgroup setupitemgroups: stelitemgroepenin setupitemgroups setupitemgroups setupitemgroups setupitemgroups setupitemgroups - % downward compatible definitions - - setupitemgroups: stelopsommingenin setupitemizations - stelleaufzaehlungenein nastavvycty - impostaelencazioni setareitemization - startitemize: startopsomming startitemize - startaufzaehlung startvycet - iniziaelenco startenumerare - setupitemize: stelopsommingin setupitemize - stelleaufzaehlungein nastavvycet - impostaelenco setareenumerare - stopitemize: stopopsomming stopitemize - stopaufzaehlung stopvycet - terminaelenco stopenumerare +% setupitemgroups: stelopsommingenin setupitemizations +% stelleaufzaehlungenein nastavvycty +% impostaelencazioni setareitemization +% startitemize: startopsomming startitemize +% startaufzaehlung startvycet +% iniziaelenco startenumerare +% setupitemize: stelopsommingin setupitemize +% stelleaufzaehlungein nastavvycet +% impostaelenco setareenumerare +% stopitemize: stopopsomming stopitemize +% stopaufzaehlung stopvycet +% terminaelenco stopenumerare % so far @@ -1148,9 +1152,15 @@ listsymbol: lijstsymbool listsymbol placefloat: plaatsplaatsblok placefloat placefloat placefloat placefloat placefloat %%% -movesidefloat: verplaatszijblok movesidefloat - movesidefloat movesidefloat - movesidefloat movesidefloat + movesidefloat: verplaatszijblok movesidefloat + movesidefloat movesidefloat + movesidefloat movesidefloat +defineplacement: definieerplaats defineplacement + defineplacement defineplacement + defineplacement defineplacement + setupplacement: stelplaatsin setupplacement + setupplacement setupplacement + setupplacement setupplacement definecombination: definieercombinatie definecombination definecombination definecombination definecombination definecombination diff --git a/tex/context/base/mult-con.tex b/tex/context/base/mult-con.tex index 7e34cb065..b5661567b 100644 --- a/tex/context/base/mult-con.tex +++ b/tex/context/base/mult-con.tex @@ -315,6 +315,9 @@ spraak: spraak speech speech speech speech speech + itemize: opsomming itemize + aufzaehlung vycet + elenco enumerare \stopvariables @@ -445,6 +448,9 @@ clipoffset: clipoffset clipoffset auteur: auteur author autor autor autore autor + auto: auto auto + auto auto + auto auto autofile: autofile autofile autofile autofile autofile autofile % TB TH @@ -529,9 +535,9 @@ clipoffset: clipoffset clipoffset dieptecorrectie: dieptecorrectie depthcorrection tiefekorrektur korekcehloubky correzioneprofondita corectieadancime - dikte: dikte thickness - dicke tloustka - spessore grosime +% dikte: dikte thickness +% dicke tloustka +% spessore grosime doorgaan: doorgaan continue fortsetzen pokracovat continua continua @@ -1412,9 +1418,6 @@ trefwoord: trefwoord keyword breedte: breedte width breite sirka ampiezza latime - buffer: buffer buffer - puffer buffer - buffer buffer buiten: buiten outer aussen vnejsi esterno extern @@ -2311,6 +2314,21 @@ geencontrole: geencontrole nocheck framedtext: kadertekst framedtext umrahmtertext oramovanytext testoincorniciato textinconjurat + itemgroup: itemgroup itemgroup + itemgroup itemgroup + itemgroup itemgroup + typen: typen typing + tippen typing + typing typing % GB + buffer: buffer buffer + puffer buffer + buffer buffer + formule: formule formula + formel rovnice + formula formula + tabulate: tabulatie tabulate + tabulator tabelator + tabulato tabulate \stopsetupvariables @@ -2329,18 +2347,9 @@ geencontrole: geencontrole nocheck beginvan: beginvan begin anfang zacatek inizio inceput - buffer: buffer buffer - puffer buffer - buffer buffer - commentaar: commentaar comment - kommentar komentar - commento comentariu eindvan: eindvan end ende konec fine sfarsit - formule: formule formula - formel rovnice - formula formula gekoppelde: gekoppelde coupled verknuepft propojene accoppiato cuplat @@ -2353,15 +2362,6 @@ geencontrole: geencontrole nocheck in: in - ein - - - - instellingen: instellingen setups - impostazioni einstellungen - nastaveni setari - interactiemenu: interactiemenu interactionmenu - interaktionsmenue interaktivnimenu - menuinterattivo meniuinteractiune - itemize: opsomming itemize - aufzaehlung vycet - elenco enumerare laad: laad load laden nacist carica incarca @@ -2380,9 +2380,6 @@ geencontrole: geencontrole nocheck lokale: lokale local lokal lokalne locale local - opmaak: opmaak makeup - umbruch zlom - makeup makeup % GB plaats: plaats place platziere umisti metti pune @@ -2398,33 +2395,6 @@ geencontrole: geencontrole nocheck stop: stop stop stop stop termina stop - tablehead: tabelkop tablehead - tabellenueberschrift zahlavitabulky - testatabella antettabel - tabletail: tabelstaart tabletail - tabellenende konectabulky - codatabella subsoltabel - tabulate: tabulatie tabulate - tabulator tabelator - tabulato tabulate - tabulatehead: tabulatiekop tabulatehead - tabulatehead tabulatehead - testatabulato tabulatehead % - tabulatetail: tabulatiestaart tabulatetail - tabulatetail tabulatetail - codatabulato tabulatetail % - tekst: tekst text - text text - testo text - type: type type - type opis - type type % GB - uitstellen: uitstellen postponing - verschieben odlozit - posporre postponing % GB - verbergen: verbergen hiding - verbergen skryt - nascondere ascundere verhoog: verhoog increment erhoehen zvysit incrementa increment @@ -2443,33 +2413,83 @@ geencontrole: geencontrole nocheck zie: zie see sieh viz vedi vezi - register: register register - register rejstrik - registro registru + type: type type + type opis + type type % GB + opmaak: opmaak makeup + umbruch zlom + makeup makeup % GB + tekst: tekst text + text text + testo text + +\stopelements + +%D These are predefined instances. To be cleaned up. + +\startvariables dutch english + german czech + italian romanian + + buffer: buffer buffer + puffer buffer + buffer buffer + linenote: regelnoot linenote + linenote linenote + linenote linenote + commentaar: commentaar comment + kommentar komentar + commento comentariu + interactiemenu: interactiemenu interactionmenu + interaktionsmenue interaktivnimenu + menuinterattivo meniuinteractiune + uitstellen: uitstellen postponing + verschieben odlozit + posporre postponing % GB + verbergen: verbergen hiding + verbergen skryt + nascondere ascundere + tabulate: tabulatie tabulate + tabulator tabelator + tabulato tabulate + tabulatehead: tabulatiekop tabulatehead + tabulatehead tabulatehead + testatabulato tabulatehead % + tabulatetail: tabulatiestaart tabulatetail + tabulatetail tabulatetail + codatabulato tabulatetail % gegeven: gegeven fact gegeben fakt fatto fapt legenda: legenda legend legende legenda legenda legenda + formule: formule formula + formel rovnice + formula formula + tablehead: tabelkop tablehead + tabellenueberschrift zahlavitabulky + testatabella antettabel + tabletail: tabelstaart tabletail + tabellenende konectabulky + codatabella subsoltabel + instellingen: instellingen setups + impostazioni einstellungen + nastaveni setari helptext: helptekst helptext hilfetext textnapovedy testoaiuto textajutator - pagecomment: paginacommentaar pagecomment - pagecomment komentarstranky - commentopagina comentariupagina % TB - sectieblokomgeving: sectieblokomgeving sectionblockenvironment - sectionblockenvironment sectionblockenvironment - ambientebloccosezione blocsectiuneambient % TB TH deelomgeving: deelomgeving localenvironment lokaleumgebung lokalnihoprostredi ambientelocale mediulocal + sectieblokomgeving: sectieblokomgeving sectionblockenvironment + sectionblockenvironment sectionblockenvironment + ambientebloccosezione blocsectiuneambient % TB TH + pagecomment: paginacommentaar pagecomment + pagecomment komentarstranky + commentopagina comentariupagina % TB - linenote: regelnoot linenote - linenote linenote - linenote linenote - -\stopelements +\stopvariables %D \stopcompressdefinitions diff --git a/tex/context/base/page-flt.tex b/tex/context/base/page-flt.tex index 2178d4b26..c99e6e119 100644 --- a/tex/context/base/page-flt.tex +++ b/tex/context/base/page-flt.tex @@ -1056,7 +1056,7 @@ \newskip\sidefloatleftshift \newskip\sidefloatrightshift -\def\sidefloattopoffset {\openstrutdepth} % {\dp\strutbox} +\def\sidefloattopoffset {\openstrutdepth} % {\strutdp} \newcount\noftopfloats \noftopfloats=2 \newcount\nofbotfloats \nofbotfloats=0 @@ -1145,7 +1145,7 @@ {\doattributes{\??kj#1}\c!kopletter\c!kopkleur {\labeltexts{#1}{\preparednumber}}% \doattributes{\??kj#1}\c!tekstletter\c!tekstkleur - {\dotfskip\@@kjkjafstand#3}}}% + {\dotfskip{\getvalue{\??kj#1\c!afstand}}#3}}}% \fi} \def\placefloatcaptiontext [#1]{\getvalue{@fl@t@#1}} @@ -1258,8 +1258,10 @@ \dopreparestackcaptionmin{#1}{#2}{#3}{#4}% \fi}}% \edef\width{\the\wd\tempfloatbox}% -\doglobal\addlocalbackgroundtobox\tempfloatbox -\doglobal\addlocalbackgroundtobox\tempcaptionbox +%\doglobal +\addlocalbackgroundtobox\tempfloatbox +%\doglobal +\addlocalbackgroundtobox\tempcaptionbox \buildfloatbox \fi % \doglobal\addlocalbackgroundtobox\floatbox @@ -1381,10 +1383,10 @@ \processaction [\@@kjkjplaats] [ \v!boven=>\locatefloat{\box\tempcaptionbox}% - \endgraf\@@kjkjtussen + \endgraf\nointerlineskip\@@kjkjtussen \locatefloat{\box\tempfloatbox}, \v!onder=>\locatefloat{\box\tempfloatbox}% - \endgraf\@@kjkjtussen + \endgraf\nointerlineskip\@@kjkjtussen \locatefloat{\box\tempcaptionbox}, \v!hoog=>\locatefloat {\doifelse\@@flflplaats\v!links @@ -1544,7 +1546,8 @@ \mindermeldingen %\showcomposition \setbox\tempfloatbox\vbox{\borderedfloatbox{#4}}% -\doglobal\addlocalbackgroundtobox\tempfloatbox +%\doglobal +\addlocalbackgroundtobox\tempfloatbox \ifnofloatcaption \global\setbox\floatbox\vbox{\box\tempfloatbox}% \else @@ -1565,14 +1568,21 @@ {\dosetraggedvbox\@@kjkjuitlijnen \setbox\tempcaptionbox\raggedbox {\hsize\wd\tempfloatbox\putcompletecaption{#4}{#2}{#3}{0}}}}% -\doglobal\addlocalbackgroundtobox\tempcaptionbox +%\doglobal +\addlocalbackgroundtobox\tempcaptionbox \global\setbox\floatbox\vbox {\processaction [\@@kjkjplaats] - [ \v!boven=>\box\tempcaptionbox\endgraf\@@kjkjtussen\box\tempfloatbox, - \v!onder=>\box\tempfloatbox\endgraf\@@kjkjtussen\box\tempcaptionbox, + [ \v!boven=>\box\tempcaptionbox + \endgraf\nointerlineskip\@@kjkjtussen + \box\tempfloatbox, + \v!onder=>\box\tempfloatbox + \endgraf\nointerlineskip\@@kjkjtussen + \box\tempcaptionbox, \v!geen=>\box\tempfloatbox, - \s!unknown=>\box\tempfloatbox\endgraf\@@kjkjtussen\box\tempcaptionbox]}% + \s!unknown=>\box\tempfloatbox + \endgraf\nointerlineskip\@@kjkjtussen + \box\tempcaptionbox]}% \fi % \doglobal\addlocalbackgroundtobox\floatbox \egroup} @@ -1924,11 +1934,11 @@ % \egroup % \fi\fi} % -% \setvalue{\e!start\e!uitstellen}% +% \setvalue{\e!start\v!uitstellen}% % {\doglobal\increment\nofpostponedblocks % \showmessage\m!layouts3\nofpostponedblocks % \dostartbuffer[buf-\nofpostponedblocks] -% [\e!start\e!uitstellen][\e!stop\e!uitstellen]} +% [\e!start\v!uitstellen][\e!stop\v!uitstellen]} % \startpostponing [pagenumber] [+pageoffset] % @@ -1983,7 +1993,7 @@ % beware, \dosingleempty conflicts with buffers (feeds back the \par) -\setvalue{\e!start\e!uitstellen}% +\setvalue{\e!start\v!uitstellen}% {\bgroup \obeylines \doifnextcharelse[% @@ -1998,13 +2008,13 @@ \egroup \showmessage\m!layouts3\nofpostponedpageblocks \dostartbuffer[rbuf-\nofpostponedpageblocks]% - [\e!start\e!uitstellen][\e!stop\e!uitstellen]} + [\e!start\v!uitstellen][\e!stop\v!uitstellen]} \def\dodostartpostponing {\doglobal\increment\nofpostponedblocks \showmessage\m!layouts3\nofpostponedblocks \dostartbuffer[pbuf-\nofpostponedblocks]% - [\e!start\e!uitstellen][\e!stop\e!uitstellen]} + [\e!start\v!uitstellen][\e!stop\v!uitstellen]} \definieernummer [\??si] diff --git a/tex/context/base/page-imp.tex b/tex/context/base/page-imp.tex index f35b08bf2..8d318b4b0 100644 --- a/tex/context/base/page-imp.tex +++ b/tex/context/base/page-imp.tex @@ -1081,11 +1081,11 @@ {\setuppapersize[\c!links=\hskip\@@pcoffset]% \adddimenmacro\papierhoogte\@@pcoffset\@@pcoffset\@@pcafstand\@@pchoogte\to\@@pcpaperheight \adddimenmacro\papierbreedte\@@pcoffset\@@pcoffset\to\@@pcpaperwidth - \defineoverlay[pagecomment][\placepagecommentTB]} + \defineoverlay[\v!pagecomment][\placepagecommentTB]} {\setuppapersize[\c!boven=\vskip\@@pcoffset]% \adddimenmacro\papierhoogte\@@pcoffset\@@pcoffset\to\@@pcpaperheight \adddimenmacro\papierbreedte\@@pcoffset\@@pcoffset\@@pcafstand\@@pcbreedte\to\@@pcpaperwidth - \defineoverlay[pagecomment][\placepagecommentLR]}% + \defineoverlay[\v!pagecomment][\placepagecommentLR]}% \processaction [\@@pcplaats] [ \v!onder=>{\setuppapersize[\c!onder =\vss,\c!boven =\vskip\@@pcoffset]}, @@ -1093,12 +1093,12 @@ \v!links=>{\setuppapersize[\c!links =\hss,\c!rechts=\hskip\@@pcoffset]}, \v!rechts=>{\setuppapersize[\c!rechts=\hss,\c!links =\hskip\@@pcoffset]}]% \definepapersize - [commentedpage] + [\v!pagecomment] [\c!hoogte=\@@pcpaperheight, \c!breedte=\@@pcpaperwidth]% \let\@@pcprintpapersize\printpapersize - \setuppapersize[\papersize][commentedpage]% - \setupbackgrounds[\v!papier][\c!achtergrond=pagecomment]} + \setuppapersize[\papersize][\v!pagecomment]% + \setupbackgrounds[\v!papier][\c!achtergrond=\v!pagecomment]} {\doif\@@pcstatus\v!stop % else initialization invokes backgrounds {% this should be tested first % \expanded{\setuppapersize[\papersize][\@@pcprintpapersize]}% @@ -1117,7 +1117,7 @@ {\forgetall \hsize\papierbreedte \ifpagecomment - \haalbuffer[pagecomm] + \getbuffer[\v!pagecomment]% \global\pagecommentfalse \fi}% \hfill @@ -1133,7 +1133,7 @@ \vskip\@@pcoffset \hsize\@@pcbreedte \ifpagecomment - \haalbuffer[pagecomm] + \getbuffer[\v!pagecomment]% \global\pagecommentfalse \fi \vss}% @@ -1142,9 +1142,9 @@ \newif\ifpagecomment -\setvalue{\e!start\e!pagecomment}% +\setvalue{\e!start\v!pagecomment}% {\global\pagecommenttrue - \dostartbuffer[pagecomm][\e!start\e!pagecomment][\e!stop\e!pagecomment]} + \dostartbuffer[\v!pagecomment][\e!start\v!pagecomment][\e!stop\v!pagecomment]} \setuppagecomment [\c!status=, % \v!stop would invoke background calculation diff --git a/tex/context/base/page-ini.tex b/tex/context/base/page-ini.tex index 167f59af8..4b59577c3 100644 --- a/tex/context/base/page-ini.tex +++ b/tex/context/base/page-ini.tex @@ -562,6 +562,12 @@ 13: blocul lat este mutat in partea de sus a coloanelor \stopmessages +\ifx\dosetuplayout\undefined % overloaded in page-lay ! + + \def\setuplayout{\dodoubleempty\getparameters[\??ly]} + +\fi + %D In case we're not running \ETEX, we need to bypass a %D couple of primitives. @@ -1198,6 +1204,63 @@ \newif\ifsavepagebody \newbox\savedpagebody +% \def\buildpagebody#1#2% +% {\ifsavepagebody\global\setbox\savedpagebody\fi +% \vbox +% {\beginrestorecatcodes +% \forgetall % igv problemen, check: \boxmaxdepth\maxdimen +% \boxmaxdepth\maxdimen % new +% \mindermeldingen +% \setbox\pagebox\vbox +% {\offinterlineskip +% \ifpagebodyornaments +% % \getbackgroundbox +% % \getlogobox +% \bgroup % else footnotes get inconsistent font/baseline +% % \doconvertfont\@@lyletter\empty +% \dostartattributes\??ly\c!letter\c!kleur\empty +% \offinterlineskip +% \gettextboxes +% \dostopattributes +% \egroup +% \fi +% \getmainbox#1#2}% including footnotes +% \ifpagebodyornaments +% \addmainbackground \pagebox +% \addlogobackground \pagebox +% \fi +% \buildpagebox \pagebox +% \addstatusinfo \pagebox +% \ifpagebodyornaments +% \addpagebackground \pagebox +% \fi +% \registerpageposition\pagebox +% \ifarrangingpages +% \shiftpaperpagebox \pagebox % \v!papier +% \else +% \clippagebox \pagebox +% \addpagecutmarks \pagebox +% \replicatepagebox \pagebox +% \scalepagebox \pagebox +% \mirrorpaperbox \pagebox +% \rotatepaperbox \pagebox +% \addpagecolormarks \pagebox +% \centerpagebox \pagebox +% \addprintbackground\pagebox +% \mirrorprintbox \pagebox +% \rotateprintbox \pagebox +% \shiftprintpagebox \pagebox % \v!pagina +% \offsetprintbox \pagebox +% \negateprintbox \pagebox +% \fi +% \box\pagebox +% \endrestorecatcodes}% +% \ifsavepagebody\copy\savedpagebody\fi} + +% beware, \??ly is used before defined, i.e. bad module design + +\setuplayout[\c!methode=\v!normaal] + \def\buildpagebody#1#2% {\ifsavepagebody\global\setbox\savedpagebody\fi \vbox @@ -1205,26 +1268,11 @@ \forgetall % igv problemen, check: \boxmaxdepth\maxdimen \boxmaxdepth\maxdimen % new \mindermeldingen - \setbox\pagebox\vbox - {\offinterlineskip - \ifpagebodyornaments -% \getbackgroundbox -% \getlogobox - \bgroup % else footnotes get inconsistent font/baseline - % \doconvertfont\@@lyletter\empty - \dostartattributes\??ly\c!letter\c!kleur\empty - \offinterlineskip - \gettextboxes - \dostopattributes - \egroup - \fi - \getmainbox#1#2}% including footnotes - \ifpagebodyornaments - \addmainbackground \pagebox - \addlogobackground \pagebox - \fi - \buildpagebox \pagebox - \addstatusinfo \pagebox + % the following plugin uses and sets pagebox; beware: this + % will change and is for my (hh) personal experiments + \executeifdefined{\??ly\c!methode\@@lymethode}% + {\getvalue{\??ly\c!methode\v!normaal}}#1#2% + % the finishing touch \ifpagebodyornaments \addpagebackground \pagebox \fi @@ -1251,6 +1299,25 @@ \endrestorecatcodes}% \ifsavepagebody\copy\savedpagebody\fi} +\setvalue{\??ly\c!methode\v!normaal}#1#2% + {\setbox\pagebox\vbox + {\offinterlineskip + \ifpagebodyornaments + \bgroup % else footnotes get inconsistent font/baseline + \dostartattributes\??ly\c!letter\c!kleur\empty + \offinterlineskip + \gettextboxes + \dostopattributes + \egroup + \fi + \getmainbox#1#2}% including footnotes + \ifpagebodyornaments + \addmainbackground \pagebox + \addlogobackground \pagebox + \fi + \buildpagebox \pagebox + \addstatusinfo \pagebox} + \def\finishpagebox#1% {\ifarrangingpages \addpagecutmarks #1% @@ -1684,13 +1751,13 @@ \ht\registertextbox\ht#3% \dp\registertextbox\dp#3% \ifcase#1\or % 1 - \setbox\registertextbox\hbox{\lower\dp\strutbox\box\registertextbox}% + \setbox\registertextbox\hbox{\lower\strutdp\box\registertextbox}% \fi \ifcase#2\or % 1 - \setbox\registertextbox\hbox{\raise\topskip\hbox{\lower\ht\strutbox\box\registertextbox}}% - \dp\registertextbox\dp\strutbox + \setbox\registertextbox\hbox{\raise\topskip\hbox{\lower\strutht\box\registertextbox}}% + \dp\registertextbox\strutdp \fi - \dp\registertextbox\dp\strutbox % needed + \dp\registertextbox\strutdp % needed %\setbox\registertextbox\hbox % {\iftracetextareas\gray\boxrulewidth2pt\ruledhbox\fi % {\registerMPtextarea{\box\registertextbox}}}% diff --git a/tex/context/base/page-lin.tex b/tex/context/base/page-lin.tex index 12af9dc27..8038e45b9 100644 --- a/tex/context/base/page-lin.tex +++ b/tex/context/base/page-lin.tex @@ -269,7 +269,7 @@ %\def\regelreferentie#1[#2]% % {\bgroup -% \dimen0=\dp\strutbox +% \dimen0\strutdp % \doif{\@@rnrefereren}{\v!aan} % {\doglobal\increment\linereference % % start 1=>(n=y,l=0,p=1) @@ -285,7 +285,7 @@ \def\regelreferentie#1[#2]% {\bgroup - \dimen0=\dp\strutbox + \dimen0=\strutdp \doif\@@rnrefereren\v!aan {\doglobal\increment\linereference % start 1=>(n=y,l=0,p=1) @@ -307,7 +307,7 @@ {\reshapebox % We are going back! {\global\advance\linenumber \minusone \dimen0=\dp\shapebox - \advance\dimen0 -\dp\strutbox\relax + \advance\dimen0 -\strutdp\relax \ifdim\dimen0>\zeropoint % 1=>4 | 2=>4 1=>2 % start 1=>(n=y,l=2,p=1) @@ -354,9 +354,9 @@ {\referenceprefix\linereferencename}{}{}{0}}% ==done \fi}% \dimen0\dp\shapebox - \advance\dimen0 -\dp\strutbox\relax + \advance\dimen0 -\strutdp\relax \ifdim\dimen0>\zeropoint - \dp\shapebox\dp\strutbox + \dp\shapebox\strutdp \fi \schrijfregelnummer\box\shapebox}}% no \strut ! \else diff --git a/tex/context/base/page-mar.tex b/tex/context/base/page-mar.tex index 5109446b1..3447a9f4d 100644 --- a/tex/context/base/page-mar.tex +++ b/tex/context/base/page-mar.tex @@ -57,7 +57,7 @@ \def\margetekstnummer {0} \let\margetekstscheider = \empty -\def\margestrutheight{\ht\strutbox} +\def\margestrutheight{\strutht} \def\maakmargetekstblok#1#2#3#4#5#6% {#4\relax @@ -92,11 +92,11 @@ \@@imvoor \dostartattributes{\??im\margetekstnummer}\c!letter\c!kleur\empty \dorecurse\margetekstregels{\strut\\}% - \xdef\margestrutheight{\the\ht\strutbox}% + \xdef\margestrutheight{\the\strutht}% \begstrut#6\endstrut\endgraf \dostopattributes \@@imna}% - \ht0\ht\strutbox + \ht0\strutht \box0 \egroup #5\relax} @@ -131,17 +131,17 @@ \setbox0\hbox {#2{\hskip#3\strut \iflowinmargin\else - \dimen0\dp\strutbox + \dimen0\strutdp \advance\dimen0 \margestrutheight - \advance\dimen0 -\ht\strutbox + \advance\dimen0 -\strutht \raise\dimen0 \fi \box0}}% \ht0\zeropoint \dp0\zeropoint - \gdef\margestrutheight{\the\ht\strutbox}% + \gdef\margestrutheight{\the\strutht}% %\graphicvadjust{\box0}} % fails in high math lines, let it be - %\hbox{\lower\dp\strutbox\box0}} % alas, wrong lapping, therefore useless + %\hbox{\lower\strutdp\box0}} % alas, wrong lapping, therefore useless \dopositionmarginbox0} %D This approach permits us to implement a better mechanism @@ -562,7 +562,7 @@ {\egroup \global\setbox\facingpage\vbox {\ifvoid\facingpage - \vskip\openstrutdepth % \dp\strutbox + \vskip\openstrutdepth % \strutdp \else \unvbox\facingpage \fi diff --git a/tex/context/base/page-mul.tex b/tex/context/base/page-mul.tex index cc14f168e..9536114a2 100644 --- a/tex/context/base/page-mul.tex +++ b/tex/context/base/page-mul.tex @@ -809,15 +809,15 @@ \ifnotespresent \bgroup \scratchdimen\ht\firstcolumnbox - \advance\scratchdimen -\openstrutdepth % \dp\strutbox + \advance\scratchdimen -\openstrutdepth % \strutdp \getnoflines\scratchdimen \advance\noflines -2 \scratchdimen\noflines\lineheight \advance\scratchdimen \topskip \setbox0\hbox {\lower\scratchdimen\vbox{\placefootnoteinserts}}% - \ht0=\openstrutheight % \ht\strutbox - \dp0=\openstrutdepth % \dp\strutbox + \ht0=\openstrutheight % \strutht + \dp0=\openstrutdepth % \strutdp \scratchdimen\ht\lastcolumnbox \global\setbox\lastcolumnbox\vbox to \scratchdimen {\box\lastcolumnbox @@ -856,8 +856,8 @@ {\dimen0\dp\currentcolumnbox \unvbox\currentcolumnbox \vskip-\dimen0 - \vskip\openstrutdepth % \dp\strutbox - \prevdepth\openstrutdepth % \dp\strutbox + \vskip\openstrutdepth % \strutdp + \prevdepth\openstrutdepth % \strutdp \vfill}}% \ifbottomnotes \else \dimen0\ht\firstcolumnbox diff --git a/tex/context/base/page-new.tex b/tex/context/base/page-new.tex index b5f9faf43..342d5c81d 100644 --- a/tex/context/base/page-new.tex +++ b/tex/context/base/page-new.tex @@ -11,9 +11,9 @@ {\bgroup \donefalse \def\OTRSETcheckcontent##1% - {\setbox\scratchbox=##1\recurselevel - \setbox\scratchbox=\vbox{\unvbox\scratchbox}% - \ifdim\ht\scratchbox>\!!zeropoint\donetrue\fi}% + {\setbox\scratchbox##1\recurselevel + \setbox\scratchbox\vbox{\unvbox\scratchbox}% + \ifdim\ht\scratchbox>\zeropoint\donetrue\fi}% \dorecurse{\nofcolumns} {\OTRSETcheckcontent\columngettextbox \OTRSETcheckcontent\columngetfootbox @@ -25,12 +25,12 @@ {\scratchdimen=\OTRSETgetparameter\c!maxhoogte#1% \advance\scratchdimen -\OTRSETgetparameter\c!bovenoffset#1% \advance\scratchdimen -\ht\columntopbox#1% -\advance\scratchdimen -\getvalue{\??mc\number\mofcolumns-f}% + \advance\scratchdimen -\getvalue{\??mc\number\mofcolumns-f}% \advance\scratchdimen -\ht\columnbotbox#1} % not used \def\OTRSETgetcolumnnaturalheight#1% max - boven - top - {\setbox\scratchbox=\vbox{\unvcopy\columntextbox#1}% - \scratchdimen=\ht\scratchbox + {\setbox\scratchbox\vbox{\unvcopy\columntextbox#1}% + \scratchdimen\ht\scratchbox \advance\scratchdimen \OTRSETgetparameter\c!bovenoffset#1% \advance\scratchdimen \ht\columntopbox#1% \advance\scratchdimen -\getvalue{\??mc\number\mofcolumns-f}% @@ -42,8 +42,8 @@ % collect content and notes \bgroup \OTRSEToutput - {\global\setbox1=\vbox{\unvbox\normalpagebox}% - \global\setbox3=\vbox{\unvbox\footins}}% + {\global\setbox1\vbox{\unvbox\normalpagebox}% + \global\setbox3\vbox{\unvbox\footins}}% \vbox{\toonstruts\strut}\vskip-\lineheight % makes footnotes flush \eject \global\collectingcontentfalse @@ -52,18 +52,18 @@ \global\setbox1=\vbox{} % fix height of first line \ifdim\ht3>\!!zeropoint - \global\setbox3=\vbox + \global\setbox3\vbox {\setfootnotebodyfont - \kern-\ht\strutbox + \kern-\strutht \kern\topskip \unvbox3} \fi % prepare trial box - \global\setbox5=\vbox - {\ifdim\ht1>\!!zeropoint + \global\setbox5\vbox + {\ifdim\ht1>\zeropoint \unvcopy1 \ifdim\ht3>\zeropoint \kern\skip\footins \fi \fi - \ifdim\ht3>\!!zeropoint \unvcopy3 \fi} + \ifdim\ht3>\zeropoint \unvcopy3 \fi} \egroup % erase old stuff \columnerasetextboxes @@ -72,11 +72,11 @@ \OTRSETdotopinsertions \OTRSETdobotinsertions % not used can be removed % calculate available space - \!!heighta=\!!zeropoint % available total height + \!!heighta\zeropoint % available total height \dorecurse{\nofcolumns} {\OTRSETgetcolumntextheight\recurselevel \OTRSETcalculatelines\scratchdimen - \advance\!!heighta by \scratchdimen} + \advance\!!heighta \scratchdimen} % quick check \ifdim\ht5>\!!heighta % use normal routine @@ -87,26 +87,26 @@ \unvbox3 \doglobal\addtocommalist{-\realfolio}\OTRSETbalancinglist \donefalse - %\writestatus{\m!columns}{no balancing, text overflows height}% - \else\ifdim\ht5>\!!zeropoint \relax + %\writestatus\m!columns{no balancing, text overflows height}% + \else\ifdim\ht5>\zeropoint \relax % some text and/or notes \donetrue \else \donefalse - \dorecurse{\nofcolumns} - {\ifdim\ht\columntopbox\recurselevel>\!!zeropoint \donetrue \fi}% + \dorecurse\nofcolumns + {\ifdim\ht\columntopbox\recurselevel>\zeropoint \donetrue \fi}% \ifdone % no text and notes, but figures \else % no text, no notes, no figures \doglobal\addtocommalist{-\realfolio}\OTRSETbalancinglist - \writestatus{\m!columns}{no balancing, nothing to be placed}% + \writestatus\m!columns{no balancing, nothing to be placed}% \fi \fi\fi \ifdone - \ifdim\ht5>\!!zeropoint \relax + \ifdim\ht5>\zeropoint \relax % balancing text and notes - %\writestatus{\m!columns}{text may fit, balancing}% + %\writestatus\m!columns{text may fit, balancing}% \newcounter\loopcounter \newcounter\balancinglines \doloop @@ -115,22 +115,22 @@ \columnerasetextboxes \columnerasefootboxes \setbox0=\copy5 - \splittopskip=\topskip + \splittopskip\topskip % pre-split loop and quality calculation - %\writestatus{\m!columns}{pass \loopcounter: correction -\balancinglines} - \dorecurse{\nofcolumns} + %\writestatus\m!columns{pass \loopcounter: correction -\balancinglines} + \dorecurse\nofcolumns {\OTRSETgetcolumntextheight\recurselevel \OTRSETcalculatelines\scratchdimen - \!!heightc=\scratchdimen + \!!heightc\scratchdimen \ifnum\recurselevel<\nofcolumns - \advance\!!heightc by -\balancinglines\lineheight + \advance\!!heightc -\balancinglines\lineheight \fi - \columnsettextbox\recurselevel=\vsplit0 to \!!heightc} + \columnsettextbox\recurselevel\vsplit0 to \!!heightc} % just one method - \OTRSETgetcolumnnaturalheight1 \dimen4=\scratchdimen - \OTRSETgetcolumnnaturalheight\nofcolumns \dimen6=\scratchdimen - %\writestatus{\m!columns}{first column: \the\dimen4}% - %\writestatus{\m!columns}{last column: \the\dimen6}% + \OTRSETgetcolumnnaturalheight1 \dimen4\scratchdimen + \OTRSETgetcolumnnaturalheight\nofcolumns \dimen6\scratchdimen + %\writestatus\m!columns{first column: \the\dimen4}% + %\writestatus\m!columns{last column: \the\dimen6}% \ifdim\dimen4=\dimen6 \donetrue % perfect balance \else\ifdim\dimen4>\dimen6 @@ -144,50 +144,50 @@ \fi \fi\fi % extra check - % \ifdim\ht0>\!!zeropoint\relax \donefalse \fi + % \ifdim\ht0>\zeropoint\relax \donefalse \fi % another check \ifdone - %\writestatus{\m!columns}{balancing finished in pass \loopcounter}% + %\writestatus\m!columns{balancing finished in pass \loopcounter}% \else \ifnum\loopcounter>100 \donetrue - %\writestatus{\m!columns}{balancing aborted after pass \loopcounter}% + %\writestatus\m!columns{balancing aborted after pass \loopcounter}% \else - %\writestatus{\m!columns}{balancing continued after pass \loopcounter}% + %\writestatus\m!columns{balancing continued after pass \loopcounter}% \fi \fi % final balancing pass \ifdone - \setbox0=\copy1 - \setbox2=\copy3 + \setbox0\copy1 + \setbox2\copy3 \columnerasetextboxes \columnerasefootboxes - \dorecurse{\nofcolumns} + \dorecurse\nofcolumns {\OTRSETgetcolumntextheight\recurselevel \OTRSETcalculatelines\scratchdimen - \!!heightc=\scratchdimen + \!!heightc\scratchdimen \ifnum\recurselevel<\nofcolumns - \advance\!!heightc by -\balancinglines\lineheight + \advance\!!heightc -\balancinglines\lineheight \fi % split off text - \ifdim\ht0>\!!zeropoint - \columnsettextbox\recurselevel=\vsplit0 to \!!heightc - \setbox4=\vbox{\unvcopy\columntextbox\recurselevel} - \advance\!!heightc by -\ht4 - \ifdim\ht0>\!!zeropoint - \columnsettextbox\recurselevel=\box4 - \advance\!!heightc by \skip\footins + \ifdim\ht0>\zeropoint + \columnsettextbox\recurselevel\vsplit0 to \!!heightc + \setbox4\vbox{\unvcopy\columntextbox\recurselevel} + \advance\!!heightc -\ht4 + \ifdim\ht0>\zeropoint + \columnsettextbox\recurselevel\box4 + \advance\!!heightc \skip\footins \fi \fi % split off footnotes - \ifdim\ht0>\!!zeropoint\relax \else - \ifdim\ht2>\!!zeropoint\relax - \setbox4=\vsplit2 to \!!heightc + \ifdim\ht0>\zeropoint\relax \else + \ifdim\ht2>\zeropoint\relax + \setbox4\vsplit2 to \!!heightc \setbox\footins=\vbox{\unvbox4} % ugly and dirty trick - \ifdim\ht\columntextbox\recurselevel=\!!zeropoint\relax - \columnsettextbox\recurselevel=\hbox - {\raise\dp\strutbox\hbox % ugly but needed + \ifdim\ht\columntextbox\recurselevel=\zeropoint\relax + \columnsettextbox\recurselevel\hbox + {\raise\strutdp\hbox % ugly but needed {\setfootnotebodyfont % both these moves - \lower\dp\strutbox\hbox{\placebottomnotes}}} + \lower\strutdp\hbox{\placebottomnotes}}} \else - \columnsetfootbox\recurselevel=\hbox{\placebottomnotes} + \columnsetfootbox\recurselevel\hbox{\placebottomnotes} \fi \fi \fi} diff --git a/tex/context/base/page-one.tex b/tex/context/base/page-one.tex index 02a6e139f..e620d43bf 100644 --- a/tex/context/base/page-one.tex +++ b/tex/context/base/page-one.tex @@ -56,14 +56,14 @@ % \pushcolor % \ifgridsnapping % \vskip-\currentpagedepth -% \vskip\openstrutdepth % \dp\strutbox -% \prevdepth\openstrutdepth % \dp\strutbox +% \vskip\openstrutdepth % \strutdp +% \prevdepth\openstrutdepth % \strutdp % \dobotinsertions % \vfil % \else\ifr@ggedbottom % \vskip-\currentpagedepth -% \vskip\openstrutdepth % \dp\strutbox -% \prevdepth\openstrutdepth % \dp\strutbox +% \vskip\openstrutdepth % \strutdp +% \prevdepth\openstrutdepth % \strutdp % \dobotinsertions % \vfil % \else\ifb@selinebottom @@ -458,7 +458,7 @@ {\baselinecorrection \doplacefloatbox \doinsertfloatinfo - \doif\@@bkspringvolgendein\v!nee\noindentation} % new + \dochecknextindentation\??bk} \def\OTRONEsomefixdfloat % [#1] {\docheckiffloatfits diff --git a/tex/context/base/page-set.tex b/tex/context/base/page-set.tex index 16ca38798..ab6e43545 100644 --- a/tex/context/base/page-set.tex +++ b/tex/context/base/page-set.tex @@ -298,8 +298,8 @@ {\topskipcorrection \dorecurse\columnmaxcells {\setbox\scratchbox\hbox{\OTRSETgetgridcell\mofcolumns\recurselevel}% - \ht\scratchbox\ht\strutbox - \dp\scratchbox\dp\strutbox + \ht\scratchbox\strutht + \dp\scratchbox\strutdp \ifcase\columndirection \box\scratchbox \else @@ -328,8 +328,8 @@ \setbox\scratchbox\hbox {\hbox to \zeropoint{\OTRSETgetgridcell\nofcolumns\lastcolumnlastcell}% \box\scratchbox}% - \ht\scratchbox\ht\strutbox - \dp\scratchbox\dp\strutbox + \ht\scratchbox\strutht + \dp\scratchbox\strutdp \OTRSETsetgridcell\nofcolumns\lastcolumnlastcell\box\scratchbox \fi \global\lastcolumnlastcell\zerocount @@ -628,14 +628,14 @@ % \setbox0\vbox to \columnfreecells\lineheight % {\vskip-\topskip % \vskip\lineheight -% \prevdepth\dp\strutbox +% \prevdepth\strutdp % \unvbox\normalpagebox % \vfill}% % \setbox2\hbox % {\OTRSETplacebottomnotes}% % \setbox\scratchbox\hbox % {\wd0\zeropoint\box0\box2}% -% \dp\scratchbox\dp\strutbox +% \dp\scratchbox\strutdp % \OTRSEThandleflushedtext1 % \egroup} @@ -645,14 +645,14 @@ \setbox0\vbox to \columnfreecells\lineheight {\vskip-\topskip \vskip\lineheight - \prevdepth\dp\strutbox + \prevdepth\strutdp \unvbox\normalpagebox \vfill}% \setbox2\hbox {\OTRSETplacebottomnotes}% \setbox\scratchbox\hbox {\wd0\zeropoint\box0\box2}% - \dp\scratchbox\dp\strutbox + \dp\scratchbox\strutdp \donetrue \ifbalancecolumns \ifcase\OTRSETfinish \or \or % we're in the second balance loop in this column set, @@ -1931,8 +1931,8 @@ \wd\scratchbox\zeropoint \else \wd\scratchbox\hsize - \ht\scratchbox\ht\strutbox - \dp\scratchbox\dp\strutbox + \ht\scratchbox\strutht + \dp\scratchbox\strutdp \fi \box\scratchbox}} @@ -1973,7 +1973,7 @@ \def\OTRSETsomeslotfloat[#1]% {\setbox\floatbox\vbox{\flushfloatbox}% - \dp\floatbox\dp\strutbox + \dp\floatbox\strutdp \@EA\uppercasestring\floatmethod\to\floatmethod \OTRSETstoreincolumnslot\floatmethod\floatbox \doinsertfloatinfo} @@ -2439,27 +2439,6 @@ % \chardef\columnslotlocation2 -% \def\dostopcolumnsetspan#1% -% {\par -% \vbox{\strut} -% \kern-2\lineheight -% \vbox{\strut} -% \doifsomething{\framedtextparameter{cs:#1}\c!na} -% {\framedtextparameter{cs:#1}\c!na -% \kern\zeropoint}% otherwise blanks disappear, better be a switch -% \dostopframedtext -% \egroup -% \setbox\scratchbox\frozenhbox % keeps grid snapping okay -% {\lower\strutdepth\box\scratchbox}% -% %todo: nboven/onder\chardef\columnslotlocation2 -% %\OTRSETstoreincolumnslotSOMEWHERE\columnslotlocation\scratchbox -% \chardef\columnslotspacing\framedtextparameter{cs:#1}\c!nregels\relax -% \OTRSETstoreincolumnslotSOMEWHERE2\scratchbox -% \doif{\framedtextparameter{cs:#1}\c!springvolgendein}\v!nee -% \noindentation -% \egroup -% \endgraf} - \def\dostopcolumnsetspan#1% {\par \vbox{\strut} @@ -2488,8 +2467,8 @@ \@EA\uppercasestring\floatmethod\to\floatmethod % todo : \v!hier -> here enzovoorts \OTRSETstoreincolumnslot\floatmethod\scratchbox - \doif{\framedtextparameter{cs:#1}\c!springvolgendein}\v!nee - \noindentation + % watch out: no \dochecknextindentation{tag} + \checknextindentation[\framedtextparameter{cs:#1}\springvolgendein] \fi \egroup \endgraf} diff --git a/tex/context/base/page-sid.tex b/tex/context/base/page-sid.tex index b0919842f..521b8b968 100644 --- a/tex/context/base/page-sid.tex +++ b/tex/context/base/page-sid.tex @@ -597,11 +597,32 @@ \def\iffirstsidefloatparagraph {\ifnum\sidefloatparagraph=1 } +% \def\setsidefloatparagraph +% {%\advance\sidefloatprogress \sidefloatbottomskip +% %\!!counta\sidefloatprogress +%\scratchdimen\sidefloatprogress +%\advance\scratchdimen \strutht +%\!!counta\scratchdimen +% \divide\!!counta \baselineskip +% \ifnum\!!counta>0 +% \hangindent \ifrightfloat-\fi\sidefloatwidth +% \hangafter-\!!counta +% \fi +% \global\advance\sidefloatparagraph \plusone +% \iftracesidefloats +% \hskip-\sidefloatwidth +% \color[darkgray]% +% {\vrule\!!height.5\s!pt\!!depth.5\s!pt\!!width\sidefloatwidth +% %\hskip-.25\bodyfontsize\showstruts\strut\hskip.25\bodyfontsize}% +% \llap{\showstruts\strut\hskip.25\bodyfontsize}}% +% \fi} + \def\setsidefloatparagraph {%\advance\sidefloatprogress \sidefloatbottomskip %\!!counta\sidefloatprogress \scratchdimen\sidefloatprogress -\advance\scratchdimen \ht\strutbox +\advance\scratchdimen \strutht +\advance\scratchdimen -10sp % new, needed in prikkels, prevent rounding errors \!!counta\scratchdimen \divide\!!counta \baselineskip \ifnum\!!counta>0 diff --git a/tex/context/base/plus-rul.tex b/tex/context/base/plus-rul.tex new file mode 100644 index 000000000..8b5652485 --- /dev/null +++ b/tex/context/base/plus-rul.tex @@ -0,0 +1,183 @@ +%D \module +%D [ file=plus-rul, +%D version=2003.03.16, +%D title=\CONTEXT\ Plus Macros, +%D subtitle=Ruled Stuff Handling, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright=PRAGMA-ADE] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\writestatus{loading}{Context Plus Macros / Ruled Content Handling} + +\unprotect + +%D \definesidebar[whow][rulecolor=green,distance=] +%D +%D \starttext +%D +%D \input tufte \par +%D \startsidebar +%D \input tufte \par +%D \input tufte \par +%D \startsidebar[whow] +%D \input tufte \par +%D \input tufte \par +%D \input tufte \stopsidebar \par +%D \input tufte \par +%D \input tufte \stopsidebar \par +%D \input tufte \par +%D \input tufte \par +%D \startsidebar +%D \input tufte \par +%D \input tufte \par +%D \input tufte \par +%D \input tufte \par +%D \input tufte \stopsidebar \par +%D \input tufte \par +%D \input tufte \par +%D \startsidebar +%D \input tufte +%D \input tufte +%D \input tufte +%D \input tufte +%D \input tufte +%D \stopsidebar + +\newcounter\currentsidebar +\newdimen \sidebardistance + +\definesystemvariable{sr} + +\def\setupsidebars + {\dodoubleargument\dosetupsidebars} + +\def\dosetupsidebars[#1][#2]% + {\ifsecondargument + \getparameters[\??sr#1][#2]% + \else + \getparameters[\??sr][#1]% + \fi} + +% \setupMPvariables +% [mpos:bar] +% [linecolor=red, +% linewidth=2pt, +% distance=5pt] + +\setupsidebars + [\c!lijndikte=2pt, + \c!lijnkleur=red, + \c!afstand=.5\bodyfontsize] + +\def\definesidebar + {\dodoubleempty\dodefinesidebar} + +\def\dodefinesidebar[#1][#2]% + {\copyparameters + [\??sr#1][\??sr] + [\c!lijndikte,\c!lijnkleur,\c!afstand]% + \getparameters + [\??sr#1][#2]} + +\def\startsidebar + {\dosingleempty\dostartsidebar} + +\def\dostartsidebar[#1]% + {\bgroup + \dontleavehmode + \checktextbackgrounds + \doglobal\increment\currentsidebar + \doifelsenothing{#1} + {\advance\sidebardistance\@@srafstand} + {\doifelsevaluenothing{\??sr#1\c!afstand} + {\advance\sidebardistance\@@srafstand} + {\sidebardistance\getvalue{\??sr#1\c!afstand}}}% + \startpositionoverlay{text-1}% + \expanded{\setMPpositiongraphicrange + {b:side:\currentsidebar}% + {e:side:\currentsidebar}% + {mpos:bar}% + {self=side:\currentsidebar, + linewidth=\getvalue{\??sr#1\c!lijndikte}, + linecolor=\getvalue{\??sr#1\c!lijnkleur}, + distance=\the\sidebardistance}}% + \stoppositionoverlay + \edef\stopsidebar{\noexpand\dostopsidebar{\currentsidebar}}% + \bpos{side:\currentsidebar}\ignorespaces} + +\def\dostopsidebar#1% + {\removelastspace\tpos{side:#1}\carryoverpar\egroup} + +\startMPpositionmethod{mpos:bar} + \startMPpositiongraphic{mpos:bar}{linecolor,linewidth,distance}% + StartPage ; + path p ; p := + if \MPp\MPbself=\MPp\MPeself : + (xpart ulcorner Field[Text][Text],\MPy\MPbself+\MPh\MPbself) -- + (xpart llcorner Field[Text][Text],\MPy\MPeself-\MPd\MPeself) ; + elseif RealPageNumber=\MPp\MPbself : + (xpart ulcorner Field[Text][Text],\MPy\MPbself+\MPh\MPbself) -- + (llcorner Field[Text][Text]) ; + elseif RealPageNumber=\MPp\MPeself : + (ulcorner Field[Text][Text]) -- + (xpart llcorner Field[Text][Text],\MPy\MPeself-\MPd\MPeself) ; + else : + (ulcorner Field[Text][Text]) -- + (llcorner Field[Text][Text]) ; + fi ; + p := p shifted (-llcorner Field[Text][Text]-(\MPvar{distance},0)) ; + interim linecap := butt ; + draw p + withpen pencircle scaled \MPvar{linewidth} + withcolor \MPvar{linecolor} ; + StopPage ; + \stopMPpositiongraphic + \MPpositiongraphic{mpos:bar}{}% +\stopMPpositionmethod + +%D We now reimplement the margin rules handler defined in +%D \type {core-rul}: +%D +%D \setupmarginrules[level=5] +%D +%D \startmarginrule[1] +%D First we set the level at~5. Next we typeset this first +%D paragraph as a level~1 one. As expected no rule show up. +%D \stopmarginrule +%D +%D \startmarginrule[5] +%D The second paragraph is a level~5 one. As we can see here, +%D the marginal rule gets a width according to its level. +%D \stopmarginrule +%D +%D \startmarginrule[8] +%D It will of course be no surprise that this third paragraph +%D has a even thicker margin rule. This behavior can be +%D overruled by specifying the width explictly. +%D \stopmarginrule + +\definesidebar + [\v!marge] + [\c!lijnkleur=black, + \c!lijndikte=\@@kalijndikte, + \c!afstand=\dimexpr(\linkermargeafstand-\@@kalijndikte/2)] + +\def\complexstartmarginrule[#1]% + {\bgroup + \ifnum#1<\@@kaniveau\relax + \let\stopmarginrule\egroup + \else + \def\@@kadefaultwidth{#1}% + \let\stopmarginrule\dostopmarginrule + \@EA\startsidebar\@EA[\@EA\v!marge\@EA]% + \fi} + +\def\dostopmarginrule + {\stopsidebar + \egroup} + +\protect \endinput diff --git a/tex/context/base/ppchtex.tex b/tex/context/base/ppchtex.tex index 474c75c42..9ab0754f5 100644 --- a/tex/context/base/ppchtex.tex +++ b/tex/context/base/ppchtex.tex @@ -1158,7 +1158,7 @@ \ifchemicalpicture \setchemicalpicture{#1}{#2}% \else - \doifelse{\@@chemicaloptie}{\v!test} + \doifelse\@@chemicaloptie\v!test {\def\@@chemicalframe{\chemicalframe}} {\def\@@chemicalframe{}}% \dosetsubscripts @@ -1166,7 +1166,7 @@ \setbox4=\hbox{$\@@dochemicalstyle{\@@localchemicalformat C_2^2}$}% \setbox6=\hbox{$\@@dochemicalstyle{\@@localchemicalformat O}$}% or C \doresetsubscripts - \doifnot{\@@chemicalplaats}{\v!intekst} + \doifnot\@@chemicalplaats\v!intekst {\ht2=\ht4 \dp2=\dp4}% \setbox2=\hbox{\@@chemicalframe{\@@dochemicalcolor\box2}}% @@ -3166,7 +3166,7 @@ RT##3##4##5=>\processchemicaltextelement{RN}{##3##4##5}{#1}{0}{}, {\dosetsubscripts% $\@@dochemicalstyle{\@@localchemicalformat\strut##1}$% \doresetsubscripts}% - \doifelse{\@@chemicalplaats}{\v!intekst}% + \doifelse\@@chemicalplaats\v!intekst {#1{\dochemicaltext\toptext}}% {\setbox\chemicalsymbols=\hbox {\box\chemicalsymbols @@ -3175,56 +3175,56 @@ RT##3##4##5=>\processchemicaltextelement{RN}{##3##4##5}{#1}{0}{}, #2% \hbox to 3em{\hss\dochemicaltext{\bottext}\hss}\cr}}}}} -\def\executechemicalGIVES% +\def\executechemicalGIVES {\executechemicalarrow {\chemicalsinglepicturearrow}% nodig {\rightarrowfill\cr}} -\def\executechemicalEQUILIBRIUM% +\def\executechemicalEQUILIBRIUM {\executechemicalarrow {\chemicaldoublepicturearrow}% nodig {\rightarrowfill\cr\leftarrowfill\cr}} -\def\executechemicalMESOMERIC% +\def\executechemicalMESOMERIC {\executechemicalarrow {\chemicalsinglepicturearrow}% nodig {$\leftarrow\hskip-1em$\rightarrowfill\cr}} \def\executechemicalsign#1[#2]% - {\doifelse{\@@chemicalplaats}{\v!intekst} + {\doifelse\@@chemicalplaats\v!intekst {\dosetsubscripts $\@@dochemicalstyle{\@@localchemicalformat#1}$% \doresetsubscripts} - {\setbox\chemicalsymbols=\hbox + {\setbox\chemicalsymbols\hbox {\box\chemicalsymbols \dosetsubscripts $\@@dochemicalstyle{\@@localchemicalformat#1}$% \doresetsubscripts}}} -\def\executechemicalPLUS% +\def\executechemicalPLUS {\executechemicalsign{+}} -\def\executechemicalMINUS% +\def\executechemicalMINUS {\executechemicalsign{-}} -\def\executechemicalEQUAL% +\def\executechemicalEQUAL {\executechemicalsign{=}} \def\executechemicalSPACE[#1]% - {\doifnot{\@@chemicalplaats}{\v!intekst}% - {\setbox\chemicalsymbols=\hbox + {\doifnot\@@chemicalplaats\v!intekst + {\setbox\chemicalsymbols\hbox {\box\chemicalsymbols \quad}}} \def\executechemicalCHEM[#1]% - {\doifnot{\@@chemicalplaats}{\v!intekst}% - {\setbox\chemicalsymbols=\hbox + {\doifnot\@@chemicalplaats\v!intekst + {\setbox\chemicalsymbols\hbox {\box\chemicalsymbols $\@@dochemicalstyle{\@@localchemicalformat#1}$}}} \def\executechemicalTEXT[#1]% - {\doifnot{\@@chemicalplaats}{\v!intekst}% - {\setbox\chemicalsymbols=\hbox + {\doifnot\@@chemicalplaats\v!intekst + {\setbox\chemicalsymbols\hbox {\box\chemicalsymbols#1}}} %\def\executechemicalLOW[#1]% @@ -3362,11 +3362,11 @@ RT##3##4##5=>\processchemicaltextelement{RN}{##3##4##5}{#1}{0}{}, \ifCONTEXT \def\setchemicalattributes - {\scratchdimen=\@@chemicalchemicallijndikte + {\scratchdimen\@@chemicalchemicallijndikte \def\chemicalattributes {withpen pencircle scaled \the\scratchdimen\space withcolor }% - \doifelsenothing{\@@chemicalchemicallijnkleur} + \doifelsenothing\@@chemicalchemicallijnkleur {\edef\chemicalattributes{\chemicalattributes black}} {\edef\chemicalattributes {\chemicalattributes \MPcolor{\@@chemicalchemicallijnkleur}}}% @@ -3377,10 +3377,10 @@ RT##3##4##5=>\processchemicaltextelement{RN}{##3##4##5}{#1}{0}{}, \let\@@chemicalkleur\empty \def\@@dochemicalcolor - {\doifsomething{\@@chemicalkleur}{\color[\@@chemicalkleur]}} + {\doifsomething\@@chemicalkleur{\color[\@@chemicalkleur]}} \def\@@dochemicalstyle - {\doconvertfont{\@@chemicalletter}} + {\doconvertfont\@@chemicalletter} \setupchemical [\c!lijndikte=\linewidth, @@ -3396,6 +3396,4 @@ RT##3##4##5=>\processchemicaltextelement{RN}{##3##4##5}{#1}{0}{}, \fi -\protect - -\endinput +\protect \endinput diff --git a/tex/context/base/regi-grk.tex b/tex/context/base/regi-grk.tex new file mode 100644 index 000000000..72b732eb8 --- /dev/null +++ b/tex/context/base/regi-grk.tex @@ -0,0 +1,117 @@ +%D \module +%D [ file=regi-grk, +%D version=2003.03.01, +%D title=\CONTEXT\ Encoding Macros, +%D subtitle=Greek, +%D author=Apostolos Syropoulos, +%D date=\currentdate, +%D copyright=PRAGMA-ADE] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\startregime[grk] + +% +% Uppercase Greek letters +% + +\defineactivetoken 193 {\GreekAlpha} +\defineactivetoken 194 {\GreekBeta} +\defineactivetoken 195 {\GreekGamma} +\defineactivetoken 196 {\GreekDelta} +\defineactivetoken 197 {\GreekEpsilon} +\defineactivetoken 198 {\GreekZeta} +\defineactivetoken 199 {\GreekEta} +\defineactivetoken 200 {\GreekTheta} +\defineactivetoken 201 {\GreekIota} +\defineactivetoken 202 {\GreekKappa} +\defineactivetoken 203 {\GreekLamda} +\defineactivetoken 204 {\GreekMu} +\defineactivetoken 205 {\GreekNu} +\defineactivetoken 206 {\GreekXi} +\defineactivetoken 207 {\GreekOmicron} +\defineactivetoken 208 {\GreekPi} +\defineactivetoken 209 {\GreekRho} +\defineactivetoken 211 {\GreekSigma} +\defineactivetoken 212 {\GreekTau} +\defineactivetoken 213 {\GreekUpsilon} +\defineactivetoken 214 {\GreekPhi} +\defineactivetoken 215 {\GreekChi} +\defineactivetoken 216 {\GreekPsi} +\defineactivetoken 217 {\GreekOmega} + +% +% Lowercase Greek letters +% + +\defineactivetoken 225 {\Greekalpha} +\defineactivetoken 226 {\Greekbeta} +\defineactivetoken 227 {\Greekgamma} +\defineactivetoken 228 {\Greekdelta} +\defineactivetoken 229 {\Greekepsilon} +\defineactivetoken 230 {\Greekzeta} +\defineactivetoken 231 {\Greeketa} +\defineactivetoken 232 {\Greektheta} +\defineactivetoken 233 {\Greekiota} +\defineactivetoken 234 {\Greekkappa} +\defineactivetoken 235 {\Greeklamda} +\defineactivetoken 236 {\Greekmu} +\defineactivetoken 237 {\Greeknu} +\defineactivetoken 238 {\Greekxi} +\defineactivetoken 239 {\Greekomicron} +\defineactivetoken 240 {\Greekpi} +\defineactivetoken 241 {\Greekrho} +\defineactivetoken 242 {\Greekfinalsigma} +\defineactivetoken 243 {\Greeksigma} +\defineactivetoken 244 {\Greektau} +\defineactivetoken 245 {\Greekupsilon} +\defineactivetoken 246 {\Greekphi} +\defineactivetoken 247 {\Greekchi} +\defineactivetoken 248 {\Greekpsi} +\defineactivetoken 249 {\Greekomega} + +% +% Accented Uppercase Greek letters +% + +\defineactivetoken 182 {\GreekAlphatonos} +\defineactivetoken 184 {\GreekEpsilontonos} +\defineactivetoken 185 {\GreekEtatonos} +\defineactivetoken 186 {\GreekIotatonos} +\defineactivetoken 188 {\GreekOmicrontonos} +\defineactivetoken 190 {\GreekUpsilontonos} +\defineactivetoken 191 {\GreekOmegatonos} +\defineactivetoken 218 {\GreekIotadialytika} +\defineactivetoken 219 {\GreekUpsilondialytika} + +% +% Accented Lowercase Greek letters +% + +\defineactivetoken 220 {\Greekalphatonos} +\defineactivetoken 221 {\Greekepsilontonos} +\defineactivetoken 222 {\Greeketatonos} +\defineactivetoken 223 {\Greekiotatonos} +\defineactivetoken 252 {\Greekomicrontonos} +\defineactivetoken 253 {\Greekupsilontonos} +\defineactivetoken 254 {\Greekomegatonos} +\defineactivetoken 250 {\Greekiotadialytika} +\defineactivetoken 251 {\Greekupsilondialytika} +\defineactivetoken 192 {\Greekiotadialytikatonos} +\defineactivetoken 224 {\Greekupsilondialytikatonos} + +% +% Miscellaneous Greek symbols +% + +\defineactivetoken 171 {\Greekleftquot} +\defineactivetoken 187 {\Greekrightquot} +\defineactivetoken 180 {\Greektonos} +\defineactivetoken 181 {\Greekdialytikatonos} +\defineactivetoken 162 {\Greekapostrophos} + +\stopregime + +\endinput diff --git a/tex/context/base/regi-ini.tex b/tex/context/base/regi-ini.tex index 07e1f3fb9..0f663a423 100644 --- a/tex/context/base/regi-ini.tex +++ b/tex/context/base/regi-ini.tex @@ -1,5 +1,19 @@ -% For the moment regimes are implemented in the enco-ini.tex -% module, but some day we will move the code here. +%D \module +%D [ file=regi-ini, +%D version=2000.12.27, % 1998.12.03, +%D title=\CONTEXT\ Regime Macros, +%D subtitle=Initialization, +%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. + +%D For the moment regimes are implemented in \type +%D {enco-ini.tex} module, but some day we will move the +%D code here. % also needed: message @@ -18,6 +32,8 @@ \def\useregime[#1]% {\processcommalist[#1]\douseregime} +\fetchruntimecommand \showregime {regi-run} + \protect \useregime[def,uni,ibm,win,il1,mac] diff --git a/tex/context/base/regi-mac.tex b/tex/context/base/regi-mac.tex index 62d79a059..b3c281ec0 100644 --- a/tex/context/base/regi-mac.tex +++ b/tex/context/base/regi-mac.tex @@ -3,7 +3,7 @@ %D version=2001.03.18, %D title=\CONTEXT\ Encoding Macros, %D subtitle=Mac Encoding, -%D author={Michel Bovani \& Hans Hagen}, +%D author={Michel Bovani \& Adam Lindsay \& Hans Hagen}, %D date=\currentdate, %D copyright=PRAGMA-ADE] %C @@ -13,104 +13,135 @@ \startregime [mac] -\defineactivetoken {\Agrave} -\defineactivetoken {\Aacute} -\defineactivetoken {\Acircumflex} -\defineactivetoken {\Atilde} -\defineactivetoken {\Adiaeresis} -\defineactivetoken {\Aring} % ? -\defineactivetoken {\AEligature} - -\defineactivetoken {\agrave} -\defineactivetoken {\aacute} -\defineactivetoken {\acircumflex} -\defineactivetoken {\atilde} -\defineactivetoken {\adiaeresis} -\defineactivetoken {\aring} % ? -\defineactivetoken {\aeligature} - -\defineactivetoken {\Ccedilla} -\defineactivetoken {\ccedilla} - -\defineactivetoken {\Egrave} -\defineactivetoken {\Eacute} -\defineactivetoken {\Ecircumflex} -\defineactivetoken {\Ediaeresis} - -\defineactivetoken {\egrave} -\defineactivetoken {\eacute} -\defineactivetoken {\ecircumflex} -\defineactivetoken {\ediaeresis} - -\defineactivetoken {\Igrave} -\defineactivetoken {\Iacute} -\defineactivetoken {\Icircumflex} -\defineactivetoken {\Idiaeresis} - -\defineactivetoken {\igrave} -\defineactivetoken {\iacute} -\defineactivetoken {\icircumflex} -\defineactivetoken {\idiaeresis} - -\defineactivetoken {\Ntilde} -\defineactivetoken {\ntilde} - -\defineactivetoken {\Ograve} -\defineactivetoken {\Oacute} -\defineactivetoken {\Ocircumflex} -\defineactivetoken {\Otilde} -\defineactivetoken {\Odiaeresis} -\defineactivetoken {\OEligature} -\defineactivetoken {\Oslash} % ? - -\defineactivetoken {\ograve} -\defineactivetoken {\oacute} -\defineactivetoken {\ocircumflex} -\defineactivetoken {\otilde} -\defineactivetoken {\odiaeresis} -\defineactivetoken {\oeligature} -\defineactivetoken {\oslash} % ? - -\defineactivetoken {\Scaron} -\defineactivetoken {\scaron} -\defineactivetoken {\ssharp} - -\defineactivetoken {\Ugrave} -\defineactivetoken {\Uacute} -\defineactivetoken {\Ucircumflex} -\defineactivetoken {\Udiaeresis} - -\defineactivetoken {\ugrave} -\defineactivetoken {\uacute} -\defineactivetoken {\ucircumflex} -\defineactivetoken {\udiaeresis} - -\defineactivetoken {\Yacute} -\defineactivetoken {\yacute} -\defineactivetoken {\ydiaeresis} -\defineactivetoken {\Ydiaeresis} - -\defineactivetoken {?`} % ? -\defineactivetoken {!`} % ? -\defineactivetoken {\textdag} -\defineactivetoken {\textddag} -\defineactivetoken {\paragraphmark} -\defineactivetoken {\sectionmark} -\defineactivetoken {\endash} -\defineactivetoken {\emdash} -\defineactivetoken {\unknown} % ? -\defineactivetoken {\copyright} -\defineactivetoken {\sterling} % ? - -\defineactivetoken {\quotedblleft } % {\char44\kern-.1em\char44 } % ? -\defineactivetoken {\quotedblbase } % {\char96\kern-.1em\char96 } % ? -\defineactivetoken {\quoteleft} -\defineactivetoken {\char39 } % ? -\defineactivetoken {\leftguillemot} -\defineactivetoken {\rightguillemot} +\defineactivetoken 128 {\Adiaeresis} +\defineactivetoken 129 {\Aring} +\defineactivetoken 130 {\Ccedilla} +\defineactivetoken 131 {\Eacute} +\defineactivetoken 132 {\Ntilde} +\defineactivetoken 133 {\Odiaeresis} +\defineactivetoken 134 {\Udiaeresis} +\defineactivetoken 135 {\aacute} +\defineactivetoken 136 {\agrave} +\defineactivetoken 137 {\acircumflex} +\defineactivetoken 138 {\adiaeresis} +\defineactivetoken 139 {\atilde} +\defineactivetoken 140 {\aring} +\defineactivetoken 141 {\ccedilla} +\defineactivetoken 142 {\eacute} +\defineactivetoken 143 {\egrave} +\defineactivetoken 144 {\ecircumflex} +\defineactivetoken 145 {\ediaeresis} +\defineactivetoken 146 {\iacute} +\defineactivetoken 147 {\igrave} +\defineactivetoken 148 {\icircumflex} +\defineactivetoken 149 {\idiaeresis} +\defineactivetoken 150 {\ntilde} +\defineactivetoken 151 {\oacute} +\defineactivetoken 152 {\ograve} +\defineactivetoken 153 {\ocircumflex} +\defineactivetoken 154 {\odiaeresis} +\defineactivetoken 155 {\otilde} +\defineactivetoken 156 {\uacute} +\defineactivetoken 157 {\ugrave} +\defineactivetoken 158 {\ucircumflex} +\defineactivetoken 159 {\udiaeresis} +\defineactivetoken 160 {\textdag} +\defineactivetoken 161 {\textdegree} +\defineactivetoken 162 {\textcent} +\defineactivetoken 163 {\textsterling} +\defineactivetoken 164 {\sectionmark} +\defineactivetoken 165 {\textbullet} +\defineactivetoken 166 {\paragraphmark} +\defineactivetoken 167 {\ssharp} +\defineactivetoken 168 {\registered} +\defineactivetoken 169 {\copyright} +\defineactivetoken 170 {\trademark} +\defineactivetoken 171 {\textacute} +\defineactivetoken 172 {\textdiaeresis} +\defineactivetoken 173 {\mathematics\neq} +\defineactivetoken 174 {\AEligature} +\defineactivetoken 175 {\Ostroke} +\defineactivetoken 176 {\mathematics\infty} +\defineactivetoken 177 {\textpm} +\defineactivetoken 178 {\mathematics\leq} +\defineactivetoken 179 {\mathematics\geq} +\defineactivetoken 180 {\textyen} +\defineactivetoken 181 {\textmu} +\defineactivetoken 182 {\mathematics\partial} +\defineactivetoken 183 {\mathematics\Sigma} +\defineactivetoken 184 {\mathematics\Pi} +\defineactivetoken 185 {\mathematics\pi} +\defineactivetoken 186 {\mathematics\smallint} +\defineactivetoken 187 {\ordfeminine} +\defineactivetoken 188 {\ordmasculine} +\defineactivetoken 189 {\mathematics\Omega} +\defineactivetoken 190 {\aeligature} +\defineactivetoken 191 {\ostroke} +\defineactivetoken 192 {\questiondown} +\defineactivetoken 193 {\exclamdown} +\defineactivetoken 194 {\textlognot} +\defineactivetoken 195 {\mathematics{\sqrt{}}} +\defineactivetoken 196 {\textflorin} +\defineactivetoken 197 {\mathematics\approx} +\defineactivetoken 198 {\mathematics\Delta} +\defineactivetoken 199 {\leftguillemot} +\defineactivetoken 200 {\rightguillemot} +\defineactivetoken 201 {\dots} +\defineactivetoken 202 {\nonbreakablespace} +\defineactivetoken 203 {\Agrave} +\defineactivetoken 204 {\Atilde} +\defineactivetoken 205 {\Otilde} +\defineactivetoken 206 {\OEligature} +\defineactivetoken 207 {\oeligature} +\defineactivetoken 208 {\endash} +\defineactivetoken 209 {\emdash} +\defineactivetoken 210 {\quotedblleft} +\defineactivetoken 211 {\quotedblright} +\defineactivetoken 212 {\quoteleft} +\defineactivetoken 213 {\quoteright} +\defineactivetoken 214 {\textdiv} +\defineactivetoken 215 {\mathematics\diamond} +\defineactivetoken 216 {\ydiaeresis} +\defineactivetoken 217 {\Ydiaeresis} +\defineactivetoken 218 {\textfraction} +\defineactivetoken 219 {\texteuro} +\defineactivetoken 220 {\guilsingleleft} +\defineactivetoken 221 {\guilsingleright} +\defineactivetoken 222 {fi} +\defineactivetoken 223 {fl} +\defineactivetoken 224 {\textddag} +\defineactivetoken 225 {\periodcentered} +\defineactivetoken 226 {\quotesinglebase} +\defineactivetoken 227 {\quotedblbase } +\defineactivetoken 228 {\perthousand} +\defineactivetoken 229 {\Acircumflex} +\defineactivetoken 230 {\Ecircumflex} +\defineactivetoken 231 {\Aacute} +\defineactivetoken 232 {\Ediaeresis} +\defineactivetoken 233 {\Egrave} +\defineactivetoken 234 {\Iacute} +\defineactivetoken 235 {\Icircumflex} +\defineactivetoken 236 {\Idiaeresis} +\defineactivetoken 237 {\Igrave} +\defineactivetoken 238 {\Oacute} +\defineactivetoken 239 {\Ocircumflex} +%defineactivetoken 240 % No definition for Apple logo glyph yet. +\defineactivetoken 241 {\Ograve} +\defineactivetoken 242 {\Uacute} +\defineactivetoken 243 {\Ucircumflex} +\defineactivetoken 244 {\Ugrave} +\defineactivetoken 245 {\dotlessi} +\defineactivetoken 246 {\textcircumflex} +\defineactivetoken 247 {\texttilde} +\defineactivetoken 248 {\textmacron} +\defineactivetoken 249 {\textbreve} +\defineactivetoken 250 {\textdotaccent} +\defineactivetoken 251 {\textring} +\defineactivetoken 252 {\textcedilla} +\defineactivetoken 253 {\texthungarumlaut} +\defineactivetoken 254 {\textogonek} +\defineactivetoken 255 {\textcaron} \stopregime -% \enableregime[mac] - \endinput diff --git a/tex/context/base/setupb.tex b/tex/context/base/setupb.tex index f407f3c4f..d42d1e788 100644 --- a/tex/context/base/setupb.tex +++ b/tex/context/base/setupb.tex @@ -730,7 +730,7 @@ \startsetup \command - [\e!start\v!typen] + [\e!start<<\y!typen>>] \type [\c!stp!] \stopsetup @@ -1255,7 +1255,7 @@ [\c!number!] [1] \variable - [\c!dikte] + [\c!lijndikte] [\c!dimension!] [] \stopsetup @@ -1286,7 +1286,7 @@ % \type % [\c!var!] % \variable -% [\c!dikte] +% [\c!lijndikte] % [\v!klein,\v!middel,\v!groot,\c!dimension!] % [\v!middel] % \variable @@ -5151,9 +5151,12 @@ \startsetup \command - [\y!setupitemize] + [\y!setupitemgroup] \type - [\c!opt!\c!val!\c!opt!\c!vals!\c!opt!\c!vars!] + [\c!val!\c!opt!\c!val!\c!opt!\c!vals!\c!opt!\c!vars!] + \value + [\c!identifier!] + [] \value [\c!number!,\v!elk] [] @@ -5260,9 +5263,12 @@ \startsetup \command - [\y!startitemize] + [\e!start<<\y!itemgroup>>] \type - [\c!opt!\c!vals!\c!opt!\c!vars!\c!stp!] + [\c!val!\c!opt!\c!vals!\c!opt!\c!vars!\c!stp!] + \value + [\c!identifier!] + [] \value [a,A,KA,n,N,m,r,R,KR,\c!number!,\v!verder, \v!standaard,\c!repeat!\v!ruim,\c!repeat!\v!aanelkaar,\v!opelkaar, @@ -5270,7 +5276,7 @@ \v!kolommen] [\v!standaard] \inheritvariables - [\y!setupitemize] + [\y!setupitemgroup] [] \stopsetup @@ -5897,7 +5903,7 @@ \startsetup \command - [\e!start\e!uitstellen] + [\e!start\v!uitstellen] \type [\c!stp!] \stopsetup @@ -5921,7 +5927,7 @@ \startsetup \command - [\e!start\e!verbergen] + [\e!start\v!verbergen] \type [\c!stp!] \stopsetup @@ -6080,7 +6086,7 @@ \startsetup \command - [\e!start\e!buffer] + [\e!start<<\y!buffer>>] \type [\c!opt!\c!val!\c!stp!] \value @@ -6262,7 +6268,7 @@ \startsetup \command - [\e!start\e!formule] + [\e!start<<\y!formule>>] \type [\c!stp!] \value @@ -6949,7 +6955,7 @@ \startsetup \command - [\e!start\e!tabulate] + [\e!start<<\y!tabulate>>] \type [\c!opt!\c!val!\c!opt!\c!vars!\c!stp!] \value @@ -7353,7 +7359,7 @@ \startsetup \command - [\e!start\e!legenda] + [\e!start\v!legenda] \type [\c!opt!\c!val!\c!tex!{leg}\c!nop!\c!sep!\c!nop!\c!sep!\c!nop!\c!sep!\c!tex!{leg}\c!stp!] \value @@ -7372,7 +7378,7 @@ \startsetup \command - [\e!start\e!gegeven] + [\e!start\v!gegeven] \type % [\c!tex!{geg}\c!nop!\c!sep!\c!nop!\c!sep!\c!nop!\c!sep!\c!tex!{geg}\c!stp!] [\c!tex!{\y!geg}\c!nop!\c!sep!\c!nop!\c!sep!\c!nop!\c!sep!\c!tex!{\y!geg}\c!stp!] @@ -7805,7 +7811,7 @@ \startsetup \command - [\e!start\e!interactiemenu] + [\e!start\v!interactiemenu] \type [\c!alwint!\c!val!\c!stp!] \value @@ -8396,7 +8402,7 @@ \startsetup \command - [\e!start\e!commentaar] + [\e!start\v!commentaar] \type [\c!opt!\c!val!\c!opt!\c!vars!\c!stp!] \value diff --git a/tex/context/base/spec-tpd.tex b/tex/context/base/spec-tpd.tex index ce63603dd..b7ff66081 100644 --- a/tex/context/base/spec-tpd.tex +++ b/tex/context/base/spec-tpd.tex @@ -30,7 +30,7 @@ % \box\pdfdestbox % \fi} % -% \def\PDFdestvoffset{2\lineheight} % {1.5\ht\strutbox} +% \def\PDFdestvoffset{2\lineheight} % {1.5\strutht} %D \macros %D {jobsuffix} diff --git a/tex/context/base/supp-box.tex b/tex/context/base/supp-box.tex index b32274f38..fd497fe5e 100644 --- a/tex/context/base/supp-box.tex +++ b/tex/context/base/supp-box.tex @@ -35,6 +35,19 @@ \ifx\normalvcenter\undefined \let\normalvcenter\vcenter \fi %D \macros +%D {strutdp,strutht,strutwd} +%D +%D The next shortcuts save memory and keying. The width is +%D normally zero points (if not, you're in trouble). These +%D shortcuts can be used like a dimension, opposite to the +%D core macros \type {\strutdepth} and alike, which are +%D values. + +\def\strutdp{\dp\strutbox} +\def\strutht{\ht\strutbox} +\def\strutwd{\wd\strutbox} + +%D \macros %D {resetbox, emptybox} %D %D Let's start with an easy one. The next macro hides the @@ -741,7 +754,7 @@ \reshapingboxtrue \the\everyshapebox \normalhbox to \shapesignal{\strut\hss}% plus \strut - \prevdepth\dp\strutbox} % never \nointerlineskip + \prevdepth\strutdp} % never \nointerlineskip \def\endofshapebox% {\endgraf @@ -775,7 +788,7 @@ {\everypar\emptytoks\normalvbox{\strut}}\nobreak \kern-\lineheight % geen \vskip \kern-\parskip - % \vskip-\dp\strutbox + % \vskip-\strutdp \fi\fi\fi \scratchdimen\dp\newshapebox \unvbox\newshapebox @@ -783,8 +796,8 @@ \kern-\scratchdimen % ?? % now \prevdepth=0pt \ifdone - \kern\dp\strutbox - \prevdepth\dp\strutbox + \kern\strutdp + \prevdepth\strutdp \fi \fi \egroup} @@ -899,8 +912,8 @@ \normalhbox{\unhbox2}}}% \ifdim\ht0>\zeropoint \repeat}% - \ht\scratchbox\ht\strutbox - \dp\scratchbox\dp\strutbox + \ht\scratchbox\strutht + \dp\scratchbox\strutdp \box\scratchbox \egroup} @@ -1009,12 +1022,12 @@ %D \hfuzz\maxdimen %D \veryraggedright %D \strut\unhcopy\nextbox}% -%D \ifdim\nextboxht>\ht\strutbox \else +%D \ifdim\nextboxht>\strutht \else %D \setbox\scratchbox\null % overfull and not split %D \fi %D \setbox\nextbox=\normalvbox % if omitted: missing brace reported %D {\splittopskip=\openstrutheight -%D \setbox\nextbox=\vsplit\nextbox to \ht\strutbox +%D \setbox\nextbox=\vsplit\nextbox to \strutht %D \unvbox\nextbox %D \setbox\nextbox=\lastbox %D \global\setbox1=\normalhbox @@ -1065,15 +1078,15 @@ \hskip\zeropoint \!!plus 1\!!fill % \hsize \fi \unhcopy0}% - \ifdim\nextboxht>\ht\strutbox + \ifdim\nextboxht>\strutht \setbox\nextbox\normalvbox % if omitted: missing brace reported {\splittopskip\openstrutheight \ifdone - \setbox\nextbox\vsplit\nextbox to \ht\strutbox + \setbox\nextbox\vsplit\nextbox to \strutht \else \doloop - {\setbox0\vsplit\nextbox to \ht\strutbox - \ifdim\nextboxht>\ht\strutbox \else \exitloop \fi}% + {\setbox0\vsplit\nextbox to \strutht + \ifdim\nextboxht>\strutht \else \exitloop \fi}% \fi \unvbox\nextbox \setbox\nextbox\lastbox @@ -1651,8 +1664,8 @@ \ifvoid\unhhedbox \setbox\hhbox\normalhbox{\strut\normalhboxofvbox\hhbox}% \fi - \ht\hhbox\ht\strutbox - \dp\hhbox\dp\strutbox + \ht\hhbox\strutht + \dp\hhbox\strutdp \ifdim\hhboxindent=\zeropoint\else \setbox\hhbox\normalhbox{\hskip-\hhboxindent\box\hhbox}% \hhboxindent\zeropoint @@ -2045,10 +2058,10 @@ {\bgroup \par \dimen0\nextboxht - \nextboxht\ht\strutbox - \nextboxdp\dp\strutbox + \nextboxht\strutht + \nextboxdp\strutdp \normalhbox{\flushnextbox} - \prevdepth\dp\strutbox + \prevdepth\strutdp \doloop {\advance\dimen0 -\lineheight \ifdim\dimen0<\zeropoint @@ -2389,7 +2402,7 @@ {\ifvmode \ifdim\prevdepth>\zeropoint \kern-\prevdepth \fi \fi} \def\obeydepth - {\par \removedepth \ifvmode \kern\dp\strutbox \fi} + {\par \removedepth \ifvmode \kern\strutdp \fi} %D \macros %D {removebottomthings, removelastskip} @@ -2409,8 +2422,8 @@ %D strut. \def\domakestrutofbox - {\ht\registercount\ht\strutbox - \dp\registercount\dp\strutbox + {\ht\registercount\strutht + \dp\registercount\strutdp \wd\registercount\zeropoint} \def\makestrutofbox @@ -2433,8 +2446,8 @@ {\def\next % both direct and {} dimensions {\dowithnextbox {\setbox\nextbox\normalhbox{#1\scratchdimen\flushnextbox}% - \nextboxht\ht\strutbox - \nextboxdp\dp\strutbox + \nextboxht\strutht + \nextboxdp\strutdp \flushnextbox}}% \afterassignment\next\scratchdimen=#2} diff --git a/tex/context/base/supp-fun.tex b/tex/context/base/supp-fun.tex index 352cb7e98..6f324be6b 100644 --- a/tex/context/base/supp-fun.tex +++ b/tex/context/base/supp-fun.tex @@ -133,14 +133,14 @@ % \fi % \setbox0=\hbox % {\definedfont[#2 at #3]#1{#7}\hskip#4}% -% \ifdim\dp0>\dp\strutbox % one of those Q's , will be option -% \setbox2=\hbox{\raise\dp0\hbox{\lower\dp\strutbox\copy0}}% -% \ht2=\ht0 \dp0=\dp\strutbox \setbox0=\box2 +% \ifdim\dp0>\strutdp % one of those Q's , will be option +% \setbox2=\hbox{\raise\dp0\hbox{\lower\strutdp\copy0}}% +% \ht2=\ht0 \dp0=\strutdp \setbox0=\box2 % \fi -% \setbox0=\hbox +% \setbox0\hbox % {\lower#5\box0}% -% \ht0=\ht\strutbox -% \dp0=\dp\strutbox +% \ht0\strutht +% \dp0\strutdp % \edef\DroppedIndent{\the\wd0}% % \edef\DroppedLines {\number#6}% % \hangindent\DroppedIndent @@ -174,14 +174,14 @@ % \fi % \setbox0\hbox % {\definedfont[#2 at #3]#1{#7}\hskip#4}% -% \ifdim\dp0>\dp\strutbox % one of those Q's , will be option -% \setbox2\hbox{\raise\dp0\hbox{\lower\dp\strutbox\copy0}}% -% \ht2\ht0 \dp0\dp\strutbox \setbox0\box2 +% \ifdim\dp0>\strutdp % one of those Q's , will be option +% \setbox2\hbox{\raise\dp0\hbox{\lower\strutdp\copy0}}% +% \ht2\ht0 \dp0\strutdp \setbox0\box2 % \fi % \setbox0\hbox % {\lower#5\box0}% -% \ht0\ht\strutbox -% \dp0\dp\strutbox +% \ht0\strutht +% \dp0\strutdp % \globaldropcaps\edef\DroppedIndent{\the\wd0}% % \globaldropcaps\edef\DroppedLines {\number#6}% % \globaldropcaps\chardef\DroppedStatus2 @@ -215,10 +215,10 @@ \fi \setbox0\hbox {\definedfont[#2 at #3]#1{#7}\hskip#4}% - \ifdim\dp0>\dp\strutbox % one of those Q's , will be option - \setbox2\hbox{\raise\dp0\hbox{\lower\dp\strutbox\copy0}}% + \ifdim\dp0>\strutdp % one of those Q's , will be option + \setbox2\hbox{\raise\dp0\hbox{\lower\strutdp\copy0}}% \ht2\ht0 - \dp0\dp\strutbox + \dp0\strutdp \setbox0\box2 \fi \setbox0\hbox @@ -226,8 +226,8 @@ \hskip-\wd0\wd0\zeropoint \fi \lower#5\box0}% - \ht0\ht\strutbox - \dp0\dp\strutbox + \ht0\strutht + \dp0\strutdp \ifnum\DropMode=\plusone \globaldropcaps\let\DroppedIndent\!!zeropoint \globaldropcaps\edef\DroppedLines{\number\maxdimen}% @@ -368,7 +368,7 @@ {\scratchcounter\baselineskip}{#5}} \def\LineDroppedCaps% command font offset lines - {\DoLineDroppedCaps{\ht\strutbox}} + {\DoLineDroppedCaps{\strutht}} \def\NiceDroppedCaps% command font offset lines {\DoLineDroppedCaps{.5\baselineskip}} diff --git a/tex/context/base/symb-mvs.tex b/tex/context/base/symb-mvs.tex index f25eeadaf..eb1c4c842 100644 --- a/tex/context/base/symb-mvs.tex +++ b/tex/context/base/symb-mvs.tex @@ -3,7 +3,7 @@ % tobias: what is the original and what the berry name? %D \module -%D [ file=symb-nav, +%D [ file=symb-mvs, %D version=2000.03.30, %D title=\CONTEXT\ Symbol Libraries, %D subtitle=Martin Vogels Symbole, diff --git a/tex/context/base/syst-new.tex b/tex/context/base/syst-new.tex index 1d2b911b5..f55fb34c3 100644 --- a/tex/context/base/syst-new.tex +++ b/tex/context/base/syst-new.tex @@ -552,7 +552,6 @@ \long\xdef\@@expanded{\noexpand#1}% \let\notexpanded\empty \@@expanded} - % \def\doifdimensionelse#1% % {\afterassignment\dodoifdimensionelse\scratchdimen=#1pt\relax\empty\empty\empty\empty} @@ -596,5 +595,9 @@ % \edef\xxxx{\doifnum{2}{2}{yes}} \show \xxxx % \scratchcounter0 \edef\xxxx{\doifnum{1}{\scratchcounter}{no}} \show \xxxx % \scratchcounter1 \edef\xxxx{\doifnum{1}{\scratchcounter}{yes}} \show \xxxx - + +\def\appended#1#2#3{\@EA#1\@EA#2\@EA{#2#3}} +\def\appendvalue #1{\@EA\appended\@EA \def\csname#1\endcsname} +\def\appendgvalue#1{\@EA\appended\@EA\gdef\csname#1\endcsname} + \protect \endinput diff --git a/tex/context/base/type-enc.tex b/tex/context/base/type-enc.tex index 10441a464..e2d0d4a14 100644 --- a/tex/context/base/type-enc.tex +++ b/tex/context/base/type-enc.tex @@ -20,6 +20,67 @@ % Computer Modern Roman (AMS) +\starttypescript [all] [computer-modern] [lm] + + % the encoding vector is not yet okay ! + + \definefontsynonym [cmb10] [lmb10] [encoding=texnansi] + \definefontsynonym [cmbx10] [lmbx10] [encoding=texnansi] + \definefontsynonym [cmbx12] [lmbx12] [encoding=texnansi] + \definefontsynonym [cmbx5] [lmbx5] [encoding=texnansi] + \definefontsynonym [cmbx6] [lmbx6] [encoding=texnansi] + \definefontsynonym [cmbx7] [lmbx7] [encoding=texnansi] + \definefontsynonym [cmbx8] [lmbx8] [encoding=texnansi] + \definefontsynonym [cmbx9] [lmbx9] [encoding=texnansi] + \definefontsynonym [cmbxsl10] [lmbxsl10] [encoding=texnansi] + \definefontsynonym [cmbxti10] [lmbxti10] [encoding=texnansi] + \definefontsynonym [cmcsc10] [lmcsc10] [encoding=texnansi] + \definefontsynonym [cmitt10] [lmitt10] [encoding=texnansi] + \definefontsynonym [cmr10] [lmr10] [encoding=texnansi] + \definefontsynonym [cmr12] [lmr12] [encoding=texnansi] + \definefontsynonym [cmr17] [lmr17] [encoding=texnansi] + \definefontsynonym [cmr5] [lmr5] [encoding=texnansi] + \definefontsynonym [cmr6] [lmr6] [encoding=texnansi] + \definefontsynonym [cmr7] [lmr7] [encoding=texnansi] + \definefontsynonym [cmr8] [lmr8] [encoding=texnansi] + \definefontsynonym [cmr9] [lmr9] [encoding=texnansi] + \definefontsynonym [cmsl10] [lmsl10] [encoding=texnansi] + \definefontsynonym [cmsl12] [lmsl12] [encoding=texnansi] + \definefontsynonym [cmsl8] [lmsl8] [encoding=texnansi] + \definefontsynonym [cmsl9] [lmsl9] [encoding=texnansi] + \definefontsynonym [cmsltt10] [lmsltt10] [encoding=texnansi] + \definefontsynonym [cmss10] [lmss10] [encoding=texnansi] + \definefontsynonym [cmss12] [lmss12] [encoding=texnansi] + \definefontsynonym [cmss17] [lmss17] [encoding=texnansi] + \definefontsynonym [cmss8] [lmss8] [encoding=texnansi] + \definefontsynonym [cmss9] [lmss9] [encoding=texnansi] + \definefontsynonym [cmssbx10] [lmssbx10] [encoding=texnansi] + \definefontsynonym [cmssdc10] [lmssdc10] [encoding=texnansi] + \definefontsynonym [cmssi10] [lmssi10] [encoding=texnansi] + \definefontsynonym [cmssi12] [lmssi12] [encoding=texnansi] + \definefontsynonym [cmssi17] [lmssi17] [encoding=texnansi] + \definefontsynonym [cmssi8] [lmssi8] [encoding=texnansi] + \definefontsynonym [cmssi9] [lmssi9] [encoding=texnansi] + \definefontsynonym [cmtcsc10] [lmtcsc10] [encoding=texnansi] + \definefontsynonym [cmti10] [lmti10] [encoding=texnansi] + \definefontsynonym [cmti12] [lmti12] [encoding=texnansi] + \definefontsynonym [cmti7] [lmti7] [encoding=texnansi] + \definefontsynonym [cmti8] [lmti8] [encoding=texnansi] + \definefontsynonym [cmti9] [lmti9] [encoding=texnansi] + \definefontsynonym [cmtt10] [lmtt10] [encoding=texnansi] + \definefontsynonym [cmtt12] [lmtt12] [encoding=texnansi] + \definefontsynonym [cmtt8] [lmtt8] [encoding=texnansi] + \definefontsynonym [cmtt9] [lmtt9] [encoding=texnansi] + + \definefontsynonym [cmbsl10] [lmbsl10] [encoding=texnansi] + \definefontsynonym [cmssbi10] [lmssbi10] [encoding=texnansi] + \definefontsynonym [cmssdi10] [lmssdi10] [encoding=texnansi] + \definefontsynonym [cmssq8] [lmssq8] [encoding=texnansi] + \definefontsynonym [cmssqb8] [lmssqb8] [encoding=texnansi] + \definefontsynonym [cmssqbi8] [lmssqbi8] [encoding=texnansi] + \definefontsynonym [cmssqi8] [lmssqi8] [encoding=texnansi] +\stoptypescript + \starttypescript [all] [computer-modern] [ec] \definefontsynonym [cmb10] [aeb10] [encoding=ec,handling=glm] \definefontsynonym [cmbx10] [aebx10] [encoding=ec,handling=glm] diff --git a/tex/context/base/type-map.tex b/tex/context/base/type-map.tex index f1c19dbda..55097b8e7 100644 --- a/tex/context/base/type-map.tex +++ b/tex/context/base/type-map.tex @@ -20,6 +20,10 @@ \loadmapfile[original-ams-euler.map] \stoptypescript +\starttypescript [map] [lm] + \loadmapfile[original-ams-lmr.map] +\stoptypescript + \starttypescript [map] [il2] \loadmapfile[il2-ams-cmr.map] \stoptypescript diff --git a/tex/context/base/x-contml.tex b/tex/context/base/x-contml.tex index cbe356041..a9adae2bd 100644 --- a/tex/context/base/x-contml.tex +++ b/tex/context/base/x-contml.tex @@ -168,9 +168,9 @@ %D \showelements [context] [verbatim] \defineXMLenvironment [context:verbatim] - {\startopelkaar + {\startpacked \defineXMLargument[context:line]{\endgraf\type}} - {\stopopelkaar} + {\stoppacked} \defineXMLenvironment [context:typing] {\startpacked\defineXMLargument[context:line]{\endgraf\type}} diff --git a/tex/context/base/x-res-08.tex b/tex/context/base/x-res-08.tex index 0eb315a7b..c7452d1ee 100644 --- a/tex/context/base/x-res-08.tex +++ b/tex/context/base/x-res-08.tex @@ -16,14 +16,15 @@ %D \starttyping %D <rl:library> %D <rl:usage> -%D <rl:type>figure<rr:type> -%D <rl:state>found|missing<rr:state> -%D <rl:name>filename<rr:name> -%D <rl:suffix>filesuffix<rr:suffix> -%D <rl:width>width in pt<rr:width> -%D <rl:height>height in pt<rr:height> +%D <rl:type>figure</rl:type> +%D <rl:state>found|missing</rl:state> +%D <rl:name>filename</rl:name> +%D <rl:suffix>filesuffix</rl:suffix> +%D <rl:width>width in pt</rl:width> +%D <rl:height>height in pt</rl:height> +%D <rl:comment>text</rl:comment> %D </rl:usage> -%D <rl:library> +%D </rl:library> %D \stoptyping \unprotect @@ -47,7 +48,8 @@ \let\figurefilefile \empty \def\XMLfeedbackresource#1#2% - {\immediate\write\XMLrllog + {\convertcommand\currentresourcecomment\to\currentresourcecomment + \immediate\write\XMLrllog {\writtenXMLelement{\XMLrlprefix usage}% {\writtenXMLelement{\XMLrlprefix type}{#2}% \writtenXMLelement{\XMLrlprefix state}{#1}% @@ -78,6 +80,9 @@ \ifnum\figurefilepage>\zerocount \writtenXMLelement{\XMLrlprefix page}{\figurefilepage}% \fi +\ifx\currentresourcecomment\empty\else + \writtenXMLelement{\XMLrlprefix comment}{\currentresourcecomment}% +\fi \writtenXMLelement{\XMLrlprefix width}{\figurewidth}% \writtenXMLelement{\XMLrlprefix height}{\figureheight}}}} diff --git a/tex/context/base/x-res-09.tex b/tex/context/base/x-res-09.tex index 8b6421b47..cfe56a5c8 100644 --- a/tex/context/base/x-res-09.tex +++ b/tex/context/base/x-res-09.tex @@ -19,35 +19,42 @@ \defineXMLenvironment [rl:usage] {\bgroup} - {\setups[rl usage]\egroup} - -\defineXMLsave [rl:type] % figure -\defineXMLsave [rl:state] % found|missing -\defineXMLsave [rl:file] % filename -\defineXMLsave [rl:suffix] % filesuffix -\defineXMLsave [rl:width] % width in pt -\defineXMLsave [rl:height] % height in pt -\defineXMLsave [rl:page] % page from file + {\setups[rl:usage]% + \egroup} + +\defineXMLsave [rl:type] % figure +\defineXMLsave [rl:state] % found|missing +\defineXMLsave [rl:file] % filename +\defineXMLsave [rl:suffix] % filesuffix +\defineXMLsave [rl:comment] % text +\defineXMLsave [rl:width] % width in pt +\defineXMLsave [rl:height] % height in pt +\defineXMLsave [rl:page] % page from file \def\XMLbpentry#1% {\PointsToWholeBigPoints{\XMLflush{#1}}\temp\temp bp} +% \def\XMLrlentry#1#2#3% +% {\doiftextelse{\XMLflush{#2}} +% {\NC\bf#1\NC\XMLflush{#2}\doif{#3}{1}{ (\XMLbpentry{#2})}\NC\NR} +% {}} + \def\XMLrlentry#1#2#3% - {\doiftext{\XMLflush{#2}} - {\NC\bf#1\NC\XMLflush{#2}\doif{#3}{1}{ (\XMLbpentry{#2})}\NC\NR}% - \ignorespaces} - -\startsetups[rl usage] - -\starttabulate -\XMLrlentry {type} {rl:type} {0} -\XMLrlentry {state} {rl:state} {0} -\XMLrlentry {file} {rl:file} {0} -\XMLrlentry {name} {rl:name} {0} -\XMLrlentry {suffix} {rl:suffix} {0} -\XMLrlentry {page} {rl:page} {0} -\XMLrlentry {width} {rl:width} {1} -\XMLrlentry {height} {rl:height} {1} + {\tableiftextelse{\XMLflush{#2}} + {\NC\bf#1\NC\XMLflush{#2}\doif{#3}{1}{ (\XMLbpentry{#2})}\NC\NR}{}} + +\startsetups[rl:usage] + +\starttabulate[|lw(4.5em)|p|] + \XMLrlentry {type} {rl:type} {0} + \XMLrlentry {state} {rl:state} {0} + \XMLrlentry {file} {rl:file} {0} + \XMLrlentry {name} {rl:name} {0} + \XMLrlentry {suffix} {rl:suffix} {0} + \XMLrlentry {page} {rl:page} {0} + \XMLrlentry {width} {rl:width} {1} + \XMLrlentry {height} {rl:height} {1} + \XMLrlentry {comment}{rl:comment}{0} \stoptabulate \stopsetups diff --git a/tex/context/user/cont-sys.rme b/tex/context/user/cont-sys.rme index 755101e4e..55d304913 100644 --- a/tex/context/user/cont-sys.rme +++ b/tex/context/user/cont-sys.rme @@ -13,6 +13,11 @@ \unprotect +% If you want some extras, just uncomment the following +% line: +% +% \usemodule[plus] +% % Here you can take care of overloading some (style) % defaults. What goes here, depends on your local system. % |