From c710c4ab57f84965c89205af58bc4fe204dfb79c Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Mon, 23 Apr 2001 00:00:00 +0200 Subject: stable 2001.04.23 --- context/perltk/texexec.pl | 14 +- tex/context/base/colo-ini.tex | 200 +- tex/context/base/colo-pra.tex | 64 + tex/context/base/colo-run.tex | 203 + tex/context/base/cont-old.tex | 3 + tex/context/base/cont-sys.ori | 92 + tex/context/base/cont-sys.rme | 87 - tex/context/base/context.tex | 7 +- tex/context/base/core-reg.tex | 81 +- tex/context/base/core-spa.tex | 1870 +++++++++ tex/context/base/enco-def.tex | 35 +- tex/context/base/enco-ini.tex | 9 +- tex/context/base/enco-run.tex | 32 +- tex/context/base/font-aer.tex | 69 - tex/context/base/font-ams.tex | 506 --- tex/context/base/font-ant.tex | 28 - tex/context/base/font-arb.tex | 2 + tex/context/base/font-ber.tex | 92 - tex/context/base/font-chi.tex | 2 + tex/context/base/font-cmr.tex | 613 --- tex/context/base/font-con.tex | 65 - tex/context/base/font-csr.tex | 111 - tex/context/base/font-eul.tex | 177 - tex/context/base/font-fil.tex | 121 - tex/context/base/font-heb.tex | 2 + tex/context/base/font-ini.tex | 2343 +++++------ tex/context/base/font-lbr.tex | 302 -- tex/context/base/font-map.tex | 2 + tex/context/base/font-pcr.tex | 32 - tex/context/base/font-phv.tex | 26 - tex/context/base/font-plr.tex | 130 - tex/context/base/font-pos.tex | 21 - tex/context/base/font-ppl.tex | 26 - tex/context/base/font-ptm.tex | 26 - tex/context/base/font-run.tex | 221 + tex/context/base/font-unk.tex | 169 +- tex/context/base/font-vnr.tex | 4 + tex/context/base/lang-ini.tex | 6 +- tex/context/base/main-001.tex | 1863 +-------- tex/context/base/math-ams.tex | 317 ++ tex/context/base/math-eul.tex | 127 + tex/context/base/math-ini.tex | 351 ++ tex/context/base/math-lbr.tex | 167 + tex/context/base/math-tex.tex | 495 +++ tex/context/base/math-tim.tex | 371 ++ tex/context/base/mult-sys.tex | 7 + tex/context/base/s-mod-00.tex | 408 ++ tex/context/base/s-mod-01.tex | 144 + tex/context/base/s-mod-02.tex | 409 ++ tex/context/base/s-pre-00.tex | 31 +- tex/context/base/setupa.tex | 771 ++++ tex/context/base/setupb.tex | 8635 ++++++++++++++++++++++++++++++++++++++++ tex/context/base/setupd.tex | 182 + tex/context/base/supp-box.tex | 12 +- tex/context/base/supp-fil.tex | 8 +- tex/context/base/syst-con.tex | 21 +- tex/context/base/syst-gen.tex | 2 +- tex/context/base/syst-new.tex | 7 +- tex/context/base/thrd-ran.tex | 13 +- tex/context/base/type-enc.tex | 528 +++ tex/context/base/type-exa.tex | 69 + tex/context/base/type-ini.tex | 253 ++ tex/context/base/type-map.tex | 26 + tex/context/base/type-pre.tex | 210 + tex/context/base/type-run.tex | 53 + tex/context/base/type-siz.tex | 554 +++ tex/context/base/type-spe.tex | 38 + tex/context/base/type-syn.tex | 274 ++ tex/context/base/verb-ini.tex | 12 +- tex/context/base/x-fig-00.tex | 2 +- tex/context/base/xtag-ini.tex | 16 +- tex/context/base/xtag-run.tex | 122 + tex/context/base/xtag-vis.tex | 122 - tex/context/extra/setup-qr.tex | 178 + tex/context/sample/douglas.tex | 23 + tex/context/sample/knuth.tex | 16 + tex/context/sample/materie.tex | 50 + tex/context/sample/reich.tex | 11 + tex/context/sample/tufte.tex | 13 + tex/context/sample/zapf.tex | 11 + tex/context/user/cont-sys.rme | 92 + 81 files changed, 18879 insertions(+), 5928 deletions(-) create mode 100644 tex/context/base/colo-pra.tex create mode 100644 tex/context/base/colo-run.tex create mode 100644 tex/context/base/cont-sys.ori delete mode 100644 tex/context/base/cont-sys.rme create mode 100644 tex/context/base/core-spa.tex delete mode 100644 tex/context/base/font-aer.tex delete mode 100644 tex/context/base/font-ams.tex delete mode 100644 tex/context/base/font-ant.tex delete mode 100644 tex/context/base/font-ber.tex delete mode 100644 tex/context/base/font-cmr.tex delete mode 100644 tex/context/base/font-con.tex delete mode 100644 tex/context/base/font-csr.tex delete mode 100644 tex/context/base/font-eul.tex delete mode 100644 tex/context/base/font-fil.tex delete mode 100644 tex/context/base/font-lbr.tex delete mode 100644 tex/context/base/font-pcr.tex delete mode 100644 tex/context/base/font-phv.tex delete mode 100644 tex/context/base/font-plr.tex delete mode 100644 tex/context/base/font-pos.tex delete mode 100644 tex/context/base/font-ppl.tex delete mode 100644 tex/context/base/font-ptm.tex create mode 100644 tex/context/base/font-run.tex create mode 100644 tex/context/base/math-ams.tex create mode 100644 tex/context/base/math-eul.tex create mode 100644 tex/context/base/math-ini.tex create mode 100644 tex/context/base/math-lbr.tex create mode 100644 tex/context/base/math-tex.tex create mode 100644 tex/context/base/math-tim.tex create mode 100644 tex/context/base/s-mod-00.tex create mode 100644 tex/context/base/s-mod-01.tex create mode 100644 tex/context/base/s-mod-02.tex create mode 100644 tex/context/base/setupa.tex create mode 100644 tex/context/base/setupb.tex create mode 100644 tex/context/base/setupd.tex create mode 100644 tex/context/base/type-enc.tex create mode 100644 tex/context/base/type-exa.tex create mode 100644 tex/context/base/type-ini.tex create mode 100644 tex/context/base/type-map.tex create mode 100644 tex/context/base/type-pre.tex create mode 100644 tex/context/base/type-run.tex create mode 100644 tex/context/base/type-siz.tex create mode 100644 tex/context/base/type-spe.tex create mode 100644 tex/context/base/type-syn.tex create mode 100644 tex/context/base/xtag-run.tex delete mode 100644 tex/context/base/xtag-vis.tex create mode 100644 tex/context/extra/setup-qr.tex create mode 100644 tex/context/sample/douglas.tex create mode 100644 tex/context/sample/knuth.tex create mode 100644 tex/context/sample/materie.tex create mode 100644 tex/context/sample/reich.tex create mode 100644 tex/context/sample/tufte.tex create mode 100644 tex/context/sample/zapf.tex create mode 100644 tex/context/user/cont-sys.rme diff --git a/context/perltk/texexec.pl b/context/perltk/texexec.pl index c5f11859e..56cbd258c 100644 --- a/context/perltk/texexec.pl +++ b/context/perltk/texexec.pl @@ -1303,16 +1303,12 @@ sub RunModule "--documents $FileName.pl $FileName.pm $FileName.mp $FileName.tex" ) ; print " module : $FileName\n\n" ; open (MOD, ">$ModuleFile.tex") ; - print MOD "% format=dutch \n" ; - print MOD "\\starttekst \n" ; - print MOD "\\input modu-abr \n" ; - print MOD "\\input modu-arg \n" ; - print MOD "\\input modu-env \n" ; - print MOD "\\input modu-mod \n" ; - print MOD "\\input modu-pap \n" ; + print MOD "% format=dutch\n" ; + print MOD "\\gebruikmodule[abr-01,mod-01]\n" ; print MOD "\\def\\ModuleNumber{1}\n" ; - print MOD "\\input $FileName.ted \n" ; - print MOD "\\stoptekst \n" ; + print MOD "\\starttekst\n" ; + print MOD "\\input $FileName.ted\n" ; + print MOD "\\stoptekst\n" ; close (MOD) ; $ConTeXtInterface = "nl" ; RunConTeXtFile($ModuleFile, "tex") ; diff --git a/tex/context/base/colo-ini.tex b/tex/context/base/colo-ini.tex index 4bbf139af..41233ed90 100644 --- a/tex/context/base/colo-ini.tex +++ b/tex/context/base/colo-ini.tex @@ -1169,72 +1169,7 @@ %D %D \showsetup{\y!showpalet} -\def\showpalet% - {\dodoubleargument\doshowpalet} - -\def\doshowpalet[#1][#2]% - {\doifdefined{\??pa#1} - {\doifinsetelse{\v!vertikaal}{#2} - {\showverticalpalet[#1][#2]} - {\showhorizontalpalet[#1][#2]}}} - -\def\showverticalpalet[#1][#2]% - {\localvbox - {\offinterlineskip - \setuppalet[#1] - \def\rule% - {\vrule\!!width3em\!!height\ht\strutbox\!!depth\dp\strutbox} - \tabskip\!!zeropoint - \def\doshowpalet##1% - {\doifinsetelse{\v!nummer}{#2}{##1\hskip.5em}{}& - \color[##1]{\rule}\graycolor[##1]{\rule}& - \doifinset{\v!waarde}{#2}{\hskip.5em\colorvalue{##1}}\crcr} - \halign - {\hss##&\hss##\hss&##\cr - &\doifinset{\v!naam}{#2}{\strut#1}&\cr% - \processpalet[#1]\doshowpalet\crcr}}} - -\def\showhorizontalpalet[#1][#2]% - {\localvbox - {\offinterlineskip - \setuppalet[#1] - \tabskip\!!zeropoint - \!!widtha=\!!zeropoint - \doifinset{\v!nummer}{#2} - {\def\doshowpalet##1% - {\setbox0=\hbox{##1}% - \ifdim\!!widtha<\wd0\!!widtha=\wd0\fi}% - \processpalet[#1]\doshowpalet}% - \advance\!!widtha by 1em - \ifdim\!!widtha<5em - \!!widtha=5em - \fi - \halign - {##&&\hbox to \!!widtha{\hss##\hss}\cr - \doifinset{\v!nummer}{#2} - {\def\doshowpalet##1{&\strut##1}% - \processpalet[#1]\doshowpalet}\cr - \doifinset{\v!naam}{#2}{#1\hskip.5em}% - \def\doshowpalet##1% - {&\color[##1]{\vrule\!!width\!!widtha\!!height\ht\strutbox\!!depth\!!zeropoint}}% - \processpalet[#1]\doshowpalet\crcr - \def\doshowpalet##1% - {&\graycolor[##1]{\vrule\!!width\!!widtha\!!height\!!zeropoint\!!depth\dp\strutbox}}% - \processpalet[#1]\doshowpalet\crcr - \doifinset{\v!waarde}{#2} - {\def\doshowpalet##1% - {&\vbox - {\hsize\!!widtha - \vskip.25ex - \everypar{\strut} - \veryraggedcenter - \let\colorformatseparator=\endgraf - \colorvalue{##1}}}% - \processpalet[#1]\doshowpalet}% - \crcr}}} - -\def\processpalet[#1]% - {\expanded{\globalprocesscommalist[\getvalue{\??pa#1}]}} +\fetchruntimecommand \showpalet {\f!coloprefix\s!run} %D \macros %D {definecolorgroup} @@ -1311,60 +1246,7 @@ %D %D \showsetup{\y!showcolorgroup} -\def\showcolorgroup% - {\dodoubleargument\doshowcolorgroup} - -\def\doshowcolorgroup[#1][#2]% - {\doifdefined{\??cr#1:1} - {\doifinsetelse{\v!vertikaal}{#2} - {\showverticalcolorgroup[#1][#2]} - {\showhorizontalcolorgroup[#1][#2]}}} - -\def\showhorizontalcolorgroup[#1][#2]% - {\localvbox - {\offinterlineskip - \setuppalet - \tabskip\!!zeropoint - \def\rule% - {\vrule\!!width4em\!!height\ht\strutbox\!!depth\dp\strutbox} - \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 - \doifinset{\v!waarde}{#2}{\colorvalue{#1:##1}\strut}\crcr}} - \def\doshowgroup##1% - {\doifdefined{\??cr#1:##1} - {\vbox{\dodoshowgroup{##1}}}} - \hbox - {\doifinset{\v!naam}{#2} - {\strut - \doifinsetelse{\v!waarde}{#2} - {\raise3\lineheight\hbox{#1\hskip.5em}} - {#1}% - \hskip.5em}% - \doshowgroup1\doshowgroup2\doshowgroup3\doshowgroup4% - \doshowgroup5\doshowgroup6\doshowgroup7\doshowgroup8}}} - -\def\showverticalcolorgroup[#1][#2]% - {\localvbox - {\offinterlineskip - \setuppalet - \tabskip\!!zeropoint - \def\rule% - {\vrule\!!width2.5em\!!height\ht\strutbox\!!depth\dp\strutbox} - \def\doshowgroup##1% - {\doifdefined{\??cr#1:##1} - {\doifinset{\v!nummer}{#2}{##1\hskip.5em}& - \color[#1:##1]{\rule}\graycolor[#1:##1]{\rule}& - \doifinset{\v!waarde}{#2}{\hskip.5em\colorvalue{#1:##1}}\crcr}} - \halign - {\hss##&\hss##\hss&##\hss\cr - &\doifinset{\v!naam}{#2}{\strut#1}&\crcr - \doshowgroup1\doshowgroup2\doshowgroup3\doshowgroup4% - \doshowgroup5\doshowgroup6\doshowgroup7\doshowgroup8}}} +\fetchruntimecommand \showcolorgroup {\f!coloprefix\s!run} %D There are ten predefined color groups, like %D \color[groen]{\em groen}, \color[rood]{\em rood}, @@ -1423,37 +1305,7 @@ %D %D \showsetup{\y!comparepalet} -\def\comparepalet% - {\dosingleargument\docomparepalet} - -\def\docomparepalet[#1]% - {\doifdefined{\??pa#1} - {\hbox - {\dodocomparepalet\color[#1]% - \quad - \dodocomparepalet\graycolor[#1]}}} - -\def\dodocomparepalet#1[#2]% - {\localvbox - {\offinterlineskip - \setuppalet[#2] - \getcommacommandsize[\getvalue{\??pa#2}] - \!!widtha=2em\relax - \hsize=\commalistsize\!!widtha - \def\rule% - {\vrule\!!width.5\!!widtha\!!height2.25ex\!!depth-.75ex} - \def\dododocomparepalet##1% - {\hbox - {\setbox0=\hbox - {#1[##1]{\vrule\!!width\hsize\!!height3ex}}% - \wd0=\!!zeropoint\box0 - \hbox to \hsize - {\def\dododocomparepalet####1% - {\hbox to \!!widtha - {\hss#1[####1]{\rule}\hss}}% - \processcommacommand[\getvalue{\??pa#2}]\dododocomparepalet}} - \endgraf} - \processcommacommand[\getvalue{\??pa#2}]\dododocomparepalet}} +\fetchruntimecommand \comparepalet {\f!coloprefix\s!run} %D \macros %D {comparecolorgroup} @@ -1476,34 +1328,7 @@ %D %D \showsetup{\y!comparecolorgroup} -\def\comparecolorgroup% - {\dosingleargument\docomparecolorgroup} - -\def\docomparecolorgroup[#1]% - {\doifdefined{\??cr#1:1} - {\hbox - {\dodocomparecolorgroup\color[#1]% - \quad - \dodocomparecolorgroup\graycolor[#1]}}} - -\def\dodocomparecolorgroup#1[#2]% - {\localvbox - {\!!counta=0 - \dorecurse{15} - {\doifdefined{\??cr#2:\recurselevel}{\advance\!!counta by 1}} - \!!widtha=2em\relax - \hsize=\!!counta\!!widtha - \def\rule% - {\vrule\!!width.5\!!widtha\!!height2.25ex\!!depth-.75ex} - \def\dododocomparecolorgroup##1% - {\hbox to \hsize - {\setbox0=\hbox - {#1[#2:##1]{\vrule\!!width\hsize\!!height3ex}}% - \wd0=\!!zeropoint\box0 - \hbox to \hsize - {\hss\dorecurse{\!!counta}{#1[#2:\recurselevel]{\rule}\hss}}} - \endgraf} - \dorecurse{\!!counta}{\dododocomparecolorgroup\recurselevel}}} +\fetchruntimecommand \comparecolorgroup {\f!coloprefix\s!run} %D \macros %D {showcolor} @@ -1519,22 +1344,7 @@ %D %D \showsetup{\y!showcolor} -\def\showcolor[#1]% - {\bgroup - \setupcolor[#1] - \stelwitruimtein[\v!geen] - \def\rule% - {\vrule\!!width4em\!!height\ht\strutbox\!!depth\dp\strutbox} - \def\docommand##1% - {\hbox - {\graycolor[##1]{\rule}\quad - \color[##1]{\rule}\quad - \grayvalue{##1}\quad - \hbox to 12em{\colorvalue{##1}\hss}% - \strut##1} - \endgraf} - \processcommacommand[\colorlist]\docommand - \egroup} +\fetchruntimecommand \showcolor {\f!coloprefix\s!run} %D \macros %D {negativecolorbox} diff --git a/tex/context/base/colo-pra.tex b/tex/context/base/colo-pra.tex new file mode 100644 index 000000000..a915762cb --- /dev/null +++ b/tex/context/base/colo-pra.tex @@ -0,0 +1,64 @@ +%D \module +%D [ file=colo-pra, +%D version=1997.1.3, +%D title=\CONTEXT\ Color Macros, +%D subtitle=PRAGMA, +%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 This module is not meant for third party use and defines +%D some \PRAGMA\ specific colors. + +% huisstijl + +\definecolor [pragmaburcolor] [r=1,g=0.62,b=0.06] % (Pantone 138 CV) +\definecolor [pragmaburkleur] [pragmaburcolor] + +\definecolor [pragmaadecolor] [r=1,g=0.62,b=0.06] % (Pantone 138 CV) +\definecolor [pragmaadekleur] [pragmaadecolor] + +\definecolor [pragmapodcolor] [r=.6,g=.7,b=.8] % (rather mathematic) +\definecolor [pragmapodkleur] [pragmapodcolor] + +\definecolor [pragmacolor] [pragmaburcolor] +\definecolor [pragmakleur] [pragmaburcolor] + +\definecolor [texprettyone] [r=.8, g=0, b=0] % red +\definecolor [texprettytwo] [r=0, g=.6, b=0] % green +\definecolor [texprettythree] [r=.0, g=.0, b=.9] % blue +\definecolor [texprettyfour] [r=.8, g=.8, b=.6] % yellow + +\definecolor [BackgroundColor] [r=1, g=1, b=.7] +\definecolor [InteractionColor] [r=.1, g=.5, b=.8] + +\definecolor [AchtergrondKleur] [BackgroundColor] +\definecolor [InteractieKleur] [InteractionColor] + +\definecolor [DemoRed] [r=1, g=.6, b=.6] +\definecolor [DemoRood] [DemoRed] + +\definecolor [DemoBlue] [r=.6, g=.8, b=1] +\definecolor [DemoBlauw] [DemoBlue] + +\definecolor [DemoYellow] [BackgroundColor] +\definecolor [DemoGeel] [BackgroundColor] + +% demonstratiekleuren + +\definecolor [cyaan:x] [r=.3, g=.85, b=1] +\definecolor [cyaan:y] [r=.4, g=.8, b=1] +\definecolor [cyaan:z] [r=.5, g=.75, b=1] + +% schermkleuren + +\definecolor [schermgroen] [r=0, g=.8, b=0] +\definecolor [schermrood] [r=.8, g=0, b=0] +\definecolor [schermcyaan] [r=0, g=.8, b=.8] +\definecolor [schermgeel] [r=.9, g=.9, b=0] + +\endinput diff --git a/tex/context/base/colo-run.tex b/tex/context/base/colo-run.tex new file mode 100644 index 000000000..0b6c6da68 --- /dev/null +++ b/tex/context/base/colo-run.tex @@ -0,0 +1,203 @@ +\unprotect + +\gdef\showpalet% + {\dodoubleargument\doshowpalet} + +\gdef\doshowpalet[#1][#2]% + {\doifdefined{\??pa#1} + {\doifinsetelse{\v!vertikaal}{#2} + {\showverticalpalet[#1][#2]} + {\showhorizontalpalet[#1][#2]}}} + +\gdef\showverticalpalet[#1][#2]% + {\localvbox + {\offinterlineskip + \setuppalet[#1] + \def\rule% + {\vrule\!!width3em\!!height\ht\strutbox\!!depth\dp\strutbox} + \tabskip\!!zeropoint + \def\doshowpalet##1% + {\doifinsetelse{\v!nummer}{#2}{##1\hskip.5em}{}& + \color[##1]{\rule}\graycolor[##1]{\rule}& + \doifinset{\v!waarde}{#2}{\hskip.5em\colorvalue{##1}}\crcr} + \halign + {\hss##&\hss##\hss&##\cr + &\doifinset{\v!naam}{#2}{\strut#1}&\cr% + \processpalet[#1]\doshowpalet\crcr}}} + +\gdef\showhorizontalpalet[#1][#2]% + {\localvbox + {\offinterlineskip + \setuppalet[#1] + \tabskip\!!zeropoint + \!!widtha=\!!zeropoint + \doifinset{\v!nummer}{#2} + {\def\doshowpalet##1% + {\setbox0=\hbox{##1}% + \ifdim\!!widtha<\wd0\!!widtha=\wd0\fi}% + \processpalet[#1]\doshowpalet}% + \advance\!!widtha by 1em + \ifdim\!!widtha<5em + \!!widtha=5em + \fi + \halign + {##&&\hbox to \!!widtha{\hss##\hss}\cr + \doifinset{\v!nummer}{#2} + {\def\doshowpalet##1{&\strut##1}% + \processpalet[#1]\doshowpalet}\cr + \doifinset{\v!naam}{#2}{#1\hskip.5em}% + \def\doshowpalet##1% + {&\color[##1]{\vrule\!!width\!!widtha\!!height\ht\strutbox\!!depth\!!zeropoint}}% + \processpalet[#1]\doshowpalet\crcr + \def\doshowpalet##1% + {&\graycolor[##1]{\vrule\!!width\!!widtha\!!height\!!zeropoint\!!depth\dp\strutbox}}% + \processpalet[#1]\doshowpalet\crcr + \doifinset{\v!waarde}{#2} + {\def\doshowpalet##1% + {&\vbox + {\hsize\!!widtha + \vskip.25ex + \everypar{\strut} + \veryraggedcenter + \let\colorformatseparator=\endgraf + \colorvalue{##1}}}% + \processpalet[#1]\doshowpalet}% + \crcr}}} + +\gdef\processpalet[#1]% + {\expanded{\globalprocesscommalist[\getvalue{\??pa#1}]}} + +\gdef\showcolorgroup% + {\dodoubleargument\doshowcolorgroup} + +\gdef\doshowcolorgroup[#1][#2]% + {\doifdefined{\??cr#1:1} + {\doifinsetelse{\v!vertikaal}{#2} + {\showverticalcolorgroup[#1][#2]} + {\showhorizontalcolorgroup[#1][#2]}}} + +\gdef\showhorizontalcolorgroup[#1][#2]% + {\localvbox + {\offinterlineskip + \setuppalet + \tabskip\!!zeropoint + \def\rule% + {\vrule\!!width4em\!!height\ht\strutbox\!!depth\dp\strutbox} + \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 + \doifinset{\v!waarde}{#2}{\colorvalue{#1:##1}\strut}\crcr}} + \def\doshowgroup##1% + {\doifdefined{\??cr#1:##1} + {\vbox{\dodoshowgroup{##1}}}} + \hbox + {\doifinset{\v!naam}{#2} + {\strut + \doifinsetelse{\v!waarde}{#2} + {\raise3\lineheight\hbox{#1\hskip.5em}} + {#1}% + \hskip.5em}% + \doshowgroup1\doshowgroup2\doshowgroup3\doshowgroup4% + \doshowgroup5\doshowgroup6\doshowgroup7\doshowgroup8}}} + +\gdef\showverticalcolorgroup[#1][#2]% + {\localvbox + {\offinterlineskip + \setuppalet + \tabskip\!!zeropoint + \def\rule% + {\vrule\!!width2.5em\!!height\ht\strutbox\!!depth\dp\strutbox} + \def\doshowgroup##1% + {\doifdefined{\??cr#1:##1} + {\doifinset{\v!nummer}{#2}{##1\hskip.5em}& + \color[#1:##1]{\rule}\graycolor[#1:##1]{\rule}& + \doifinset{\v!waarde}{#2}{\hskip.5em\colorvalue{#1:##1}}\crcr}} + \halign + {\hss##&\hss##\hss&##\hss\cr + &\doifinset{\v!naam}{#2}{\strut#1}&\crcr + \doshowgroup1\doshowgroup2\doshowgroup3\doshowgroup4% + \doshowgroup5\doshowgroup6\doshowgroup7\doshowgroup8}}} + +\gdef\showcolor[#1]% + {\bgroup + \setupcolor[#1] + \stelwitruimtein[\v!geen] + \def\rule% + {\vrule\!!width4em\!!height\ht\strutbox\!!depth\dp\strutbox} + \def\docommand##1% + {\hbox + {\graycolor[##1]{\rule}\quad + \color[##1]{\rule}\quad + \grayvalue{##1}\quad + \hbox to 12em{\colorvalue{##1}\hss}% + \strut##1} + \endgraf} + \processcommacommand[\colorlist]\docommand + \egroup} + +\gdef\comparepalet% + {\dosingleargument\docomparepalet} + +\gdef\docomparepalet[#1]% + {\doifdefined{\??pa#1} + {\hbox + {\dodocomparepalet\color[#1]% + \quad + \dodocomparepalet\graycolor[#1]}}} + +\gdef\dodocomparepalet#1[#2]% + {\localvbox + {\offinterlineskip + \setuppalet[#2] + \getcommacommandsize[\getvalue{\??pa#2}] + \!!widtha=2em\relax + \hsize=\commalistsize\!!widtha + \def\rule% + {\vrule\!!width.5\!!widtha\!!height2.25ex\!!depth-.75ex} + \def\dododocomparepalet##1% + {\hbox + {\setbox0=\hbox + {#1[##1]{\vrule\!!width\hsize\!!height3ex}}% + \wd0=\!!zeropoint\box0 + \hbox to \hsize + {\def\dododocomparepalet####1% + {\hbox to \!!widtha + {\hss#1[####1]{\rule}\hss}}% + \processcommacommand[\getvalue{\??pa#2}]\dododocomparepalet}} + \endgraf} + \processcommacommand[\getvalue{\??pa#2}]\dododocomparepalet}} + +\gdef\comparecolorgroup% + {\dosingleargument\docomparecolorgroup} + +\gdef\docomparecolorgroup[#1]% + {\doifdefined{\??cr#1:1} + {\hbox + {\dodocomparecolorgroup\color[#1]% + \quad + \dodocomparecolorgroup\graycolor[#1]}}} + +\gdef\dodocomparecolorgroup#1[#2]% + {\localvbox + {\!!counta=0 + \dorecurse{15} + {\doifdefined{\??cr#2:\recurselevel}{\advance\!!counta by 1}} + \!!widtha=2em\relax + \hsize=\!!counta\!!widtha + \def\rule% + {\vrule\!!width.5\!!widtha\!!height2.25ex\!!depth-.75ex} + \def\dododocomparecolorgroup##1% + {\hbox to \hsize + {\setbox0=\hbox + {#1[#2:##1]{\vrule\!!width\hsize\!!height3ex}}% + \wd0=\!!zeropoint\box0 + \hbox to \hsize + {\hss\dorecurse{\!!counta}{#1[#2:\recurselevel]{\rule}\hss}}} + \endgraf} + \dorecurse{\!!counta}{\dododocomparecolorgroup\recurselevel}}} + +\protect \endinput diff --git a/tex/context/base/cont-old.tex b/tex/context/base/cont-old.tex index 5451de8b0..6fb82c4dd 100644 --- a/tex/context/base/cont-old.tex +++ b/tex/context/base/cont-old.tex @@ -82,6 +82,9 @@ %substitutecommand \showcorpsenvironment \showbodyfontenvironment %def \corpssize {\bodyfontsize} + +\substitutecommand \showencoding {\showaccents\showcharacters} + \protect \endinput diff --git a/tex/context/base/cont-sys.ori b/tex/context/base/cont-sys.ori new file mode 100644 index 000000000..cbeee6a1e --- /dev/null +++ b/tex/context/base/cont-sys.ori @@ -0,0 +1,92 @@ +%D \module +%D [ file=cont-sys, +%D version=1995.10.10, +%D title=\CONTEXT\ Miscellaneous Macros, +%D subtitle=System Specific Setups, +%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. + +\unprotect + +% Here you can take care of overloading some (style) +% defaults. What goes here, depends on your local system. +% +% Set default file name mapping: +% +% \usetypescript [ber] +% +% Overload Lucida by Adobe-15: +% +% \definetypescriptsynonym [lbr] [pos] +% +% Compensate for missing files: +% +% \definefontsynonym [Courier-Bold] [Courier] +% \definefontsynonym [Courier-BoldOblique] [Courier] +% +% \definefontsynonym [gbhei] [gbsong] +% \definefontsynonym [gbheisl] [gbsong] +% \definefontsynonym [gbheisl] [gbsong] +% +% Setting up a global figure path (beware, \c!gebied may change): +% +% \setupexternalfigures +% [\c!gebied={e:/fig/eps,t:/pragma/metapost/symbols}] +% +% Loading a specific special driver: +% +% \setupoutput +% [dviwindo] +% +% Enabling \CONTEXT\ navigation symbols as well as \euro's. + +\usesymbols + [nav,eur] + +\setupsymbolset + [navigation 1] + +\setupinteraction + [\c!symboolset=navigation 1] + +% Changing language defaults: +% +% \setuplanguage +% [nl] +% [\c!leftquote=\upperleftsinglesixquote, +% \c!leftquotation=\upperleftdoublesixquote] +% +% So far for the settings. + +% Loading local preferences: +% +% \input prag-gen % company styles +% \input prag-log % more company styles +% +% Enabling run time \METAPOST\ (also enable \write18 in texmf.cnf): + + \runMPgraphicstrue +\runMPTEXgraphicstrue + \recycleMPslotstrue +\useMETAFUNformattrue + +% Enabling nested pretty printing: + + \newprettytrue + +% Protect filenames: + + \protectbufferstrue + +% not really needed + +% \runutilityfiletrue + +% So far. + +\protect \endinput diff --git a/tex/context/base/cont-sys.rme b/tex/context/base/cont-sys.rme deleted file mode 100644 index d4be0d79a..000000000 --- a/tex/context/base/cont-sys.rme +++ /dev/null @@ -1,87 +0,0 @@ -%D \module -%D [ file=cont-sys, -%D version=1995.10.10, -%D title=\CONTEXT\ Miscellaneous Macros, -%D subtitle=System Specific Setups, -%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. - -\unprotect - -% Some examples of missing font sets and font files: -% -% \setupbodyfont [ber] % berry names -% -% \definefilesynonym [font-lbr] [font-cmr] -% -% \definefontsynonym [Courier-Bold] [Courier] -% \definefontsynonym [Courier-BoldOblique] [Courier] -% -% \definefontsynonym [gbhei] [gbsong] -% \definefontsynonym [gbheisl] [gbsong] -% \definefontsynonym [gbheisl] [gbsong] -% -% Setting up a global figure path (beware, \c!gebied may change): -% -% \setupexternalfigures -% [\c!gebied={e:/fig/eps,t:/pragma/metapost/symbols}] -% -% Loading a specific special driver: -% -% \setupoutput -% [dviwindo] -% -% Enabling \CONTEXT\ navigation symbols as well as \euro's. -% -% \usesymbols -% [nav,eur] -% -% \setupsymbolset -% [navigation 1] -% -% \setupinteraction -% [\c!symboolset=navigation 1] -% -% Changing language defaults: -% -% \setuplanguage -% [nl] -% [\c!leftquote=\upperleftsinglesixquote, -% \c!leftquotation=\upperleftdoublesixquote] -% -% So far for the settings. - -\protect - -% Loading local preferences: -% -% \input prag-gen % company styles -% \input prag-log % more company styles -% -% Enabling run time \METAPOST\ (also enable \write18 in texmf.cnf): - - \runMPgraphicstrue -\runMPTEXgraphicstrue - \recycleMPslotstrue -\useMETAFUNformattrue - -% Enabling nested pretty printing: - - \newprettytrue - -% Protect filenames: - - \protectbufferstrue - -% not really needed - -% \runutilityfiletrue - -% So far. - -\endinput diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex index 512010c0d..c04c6ce80 100644 --- a/tex/context/base/context.tex +++ b/tex/context/base/context.tex @@ -13,7 +13,7 @@ \catcode`\{=1 \catcode`\}=2 -\def\contextversion{2001.4.9} +\def\contextversion{2001.4.23} %D Welcome to the main module. When this module is ran through %D \type{initex} or \type{tex -i} or \type{whatevertex} using @@ -171,6 +171,7 @@ \input core-mat.tex \input core-syn.tex \input core-mul.tex % moved +\input core-spa.tex \input main-001.tex % still to be split \input core-sec.tex \input core-pag.tex @@ -215,6 +216,10 @@ \input font-ini.tex \input font-uni.tex +\input type-ini.tex + +\input math-ini.tex + %D Now we're ready for more core modules. \input core-fnt.tex diff --git a/tex/context/base/core-reg.tex b/tex/context/base/core-reg.tex index 3b996ee09..841df4e46 100644 --- a/tex/context/base/core-reg.tex +++ b/tex/context/base/core-reg.tex @@ -72,48 +72,92 @@ \processseparatedlist[#1][+]\docommando \!!stringa} -\def\doprocesspageregister[#1]#2% +% \def\doprocesspageregister[#1]#2% +% {\begingroup +% \thisisnextinternal{\s!ind}% +% \ifduplicate\getlastregisterentry{#2}\fi +% \convertexpanded{\??id\currentregister}{#2}\asciiregisterentry +% \makesectionformat +% \edef\schrijfwegnaarregister% +% {\writeutility% +% {r \ifcase\registerpagestatus\space\or e \or f \or t \fi +% {\currentregister} % +% {\nextinternalreference} % +% {#1} % +% {\asciiregisterentry} % +% {\sectionformat::\noexpand\pagenumber} % +% {\noexpand\realfolio}}}% +% \schrijfwegnaarregister +% \getfirstcharacter\currentregister +% \registerinfo{> \firstcharacter}{#2}% +% \endgroup} + +\def\doprocesspageregister[#1]#2#3% key altnum entry {\begingroup \thisisnextinternal{\s!ind}% - \ifduplicate\getlastregisterentry{#2}\fi - \convertexpanded{\??id\currentregister}{#2}\asciiregisterentry + \ifduplicate\getlastregisterentry{#3}\fi + \convertexpanded{\??id\currentregister}{#3}\asciiregisterentry \makesectionformat - \edef\schrijfwegnaarregister% + \doifelsevalue{\??id\currentregister\c!eigennummer}{\v!ja}{\donetrue}{\donefalse}% + \edef\schrijfwegnaarregister% spaces between } { are essential for texutil's split {\writeutility% {r \ifcase\registerpagestatus\space\or e \or f \or t \fi {\currentregister} % {\nextinternalreference} % {#1} % {\asciiregisterentry} % - {\sectionformat::\noexpand\pagenumber} % +% {\sectionformat::\noexpand\pagenumber} % + {\sectionformat::\ifdone#2\else\noexpand\pagenumber\fi} % {\noexpand\realfolio}}}% \schrijfwegnaarregister \getfirstcharacter\currentregister - \registerinfo{> \firstcharacter}{#2}% + \registerinfo{> \firstcharacter}{#3}% \endgroup} -\def\complexdoregister[#1]#2% - {\doprocesspageregister[#1]{#2}% - \ifvmode\nobreak\fi - \GotoPar} +%\def\complexdoregister[#1]#2% +% {\doprocesspageregister[#1]{#2}% +% \ifvmode\nobreak\fi +% \GotoPar} %\def\doregister#1% % {\def\currentregister{#1}% % \complexorsimpleempty\doregister} +%\def\doregister#1% +% {\chardef\registerpagestatus=1 +% \def\currentregister{#1}% +% \complexorsimpleempty\doregister} + \def\doregister#1% {\chardef\registerpagestatus=1 \def\currentregister{#1}% - \complexorsimpleempty\doregister} + \doifelsevalue{\??id\currentregister\c!eigennummer}{\v!ja} + {\def\next{\dosingleempty\dodoregister}} + {\def\next{\dosingleempty\donoregister}}% + \next} + +\def\donoregister[#1]% + {\dodoregister[#1]{}} + +\def\dodoregister[#1]#2#3% + {\doprocesspageregister[#1]{#2}{#3}% + \ifvmode\nobreak\fi + \GotoPar} \def\startregister% {\dodoubleargument\dostartregister} +%\def\dostartregister[#1][#2]#3% +% {\chardef\registerpagestatus=2 +% \def\currentregister{#1}% +% \setgvalue{\??id#1\??id#2}{\dodostopregister[#1][#2]{#3}}% +% \complexdoregister[#2]{#3}} + \def\dostartregister[#1][#2]#3% {\chardef\registerpagestatus=2 \def\currentregister{#1}% \setgvalue{\??id#1\??id#2}{\dodostopregister[#1][#2]{#3}}% - \complexdoregister[#2]{#3}} + \donoregister[#2]{#3}} \def\stopregister% {\dodoubleargument\dostopregister} @@ -121,10 +165,15 @@ \def\dostopregister[#1][#2]% {\getvalue{\??id#1\??id#2}\setgvalue{\??id#1\??id#2}{}} +%\def\dodostopregister[#1][#2]% +% {\chardef\registerpagestatus=3 +% \def\currentregister{#1}% +% \complexdoregister[#2]} + \def\dodostopregister[#1][#2]% {\chardef\registerpagestatus=3 \def\currentregister{#1}% - \complexdoregister[#2]} + \donoregister[#2]} \def\complexdozieregister[#1]#2#3% {\begingroup @@ -150,9 +199,13 @@ {\def\currentregister{#1}% \complexorsimpleempty\dozieregister} +%\def\doschrijfnaarregister[#1]% % de twee-traps-aanroep is nodig +% {\edef\currentregister{#1}% % om gebruik van \ExpandBothAfter +% \doprocesspageregister} % mogelijk te maken + \def\doschrijfnaarregister[#1]% % de twee-traps-aanroep is nodig {\edef\currentregister{#1}% % om gebruik van \ExpandBothAfter - \doprocesspageregister} % mogelijk te maken + \doprocesspageregister{}} % mogelijk te maken \def\schrijfnaarregister% {\dodoubleempty\doschrijfnaarregister} diff --git a/tex/context/base/core-spa.tex b/tex/context/base/core-spa.tex new file mode 100644 index 000000000..87983690f --- /dev/null +++ b/tex/context/base/core-spa.tex @@ -0,0 +1,1870 @@ +%D \module +%D [ file=core-spa, +%D version=1997.03.31, +%D title=\CONTEXT\ Core Macros, +%D subtitle=Spacing, +%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. + +\writestatus{loading}{Context Spacing Macros} + +\unprotect + +\newevery \everybodyfont \Everybodyfont % just to be sure + +\appendtoks \presetnormallineheight \to \everybodyfont +\appendtoks \setnormalbaselines \to \everybodyfont +\appendtoks \setstrut \to \everybodyfont +\appendtoks \settopskip \to \everybodyfont +\appendtoks \setmaxdepth \to \everybodyfont +\appendtoks \spacing 1\to \everybodyfont +\appendtoks \stelinspringenin \to \everybodyfont +\appendtoks \stelblankoin \to \everybodyfont +\appendtoks \stelwitruimtein \to \everybodyfont +%\appendtoks\setupfootnotes \to \everybodyfont +\appendtoks \stelspatieringin \to \everybodyfont % nieuw +\appendtoks \setdisplayskips \to \everybodyfont % nieuw + +\def\stelfactorenin% + {\stelwitruimtein + \stelblankoin + \settopskip + \setmaxdepth} + +%D There are two ways to influence the interline spacing. The +%D most general and often most consistent way is using +%D +%D \showsetup{\y!stelinterliniein} +%D +%D For instance +%D +%D \starttypen +%D \setupinterlinespace[line=2.8ex] +%D \stoptypen +%D +%D This setting adapts itself to the bodyfontsize, while for +%D instance saying +%D +%D \starttypen +%D \setupinterlinespace[line=12pt] +%D \stoptypen +%D +%D sets things fixed for all sizes, which is definitely not +%D what we want. Therefore one can also say: +%D +%D \starttypen +%D \definecorpsenvironment[9pt][interlinespace=11pt] +%D \stoptypen +%D +%D One can still use \type{\setupinterlinespace} (without +%D arguments) to set the interline space according to the +%D current font, e.g. a \type{\bfa}. + +\newif\iflocalinterlinespace + +% font-ini + +\ifx\bodyfontinterlinespecs\undefined + + \let\bodyfontinterlinespecs\empty + \let\bodyfontinterlinespace\empty + +\fi + +\def\presetnormallineheight% + {\edef\normallineheight{\@@itregel}% + \iflocalinterlinespace \else + \doifdefined{\bodyfontinterlinespecs} + {\doifsomething{\bodyfontinterlinespace} + {\edef\normallineheight{\bodyfontinterlinespace}}}% + \fi} + +\def\complexstelinterliniein[#1]% \commalistelement ipv #1 + {\doifassignmentelse{#1} + {\getparameters[\??it][#1]% + \scratchdimen=0\@@ithoogte pt + \advance\scratchdimen by 0\@@itdiepte pt + \ifdim\scratchdimen>1pt + \showmessage{\m!layouts}{10}{\@@ithoogte,\@@itdiepte}% + \let\@@ithoogte=\strutheightfactor + \let\@@itdiepte=\strutdepthfactor + \else + \let\strutheightfactor=\@@ithoogte + \let\strutdepthfactor=\@@itdiepte + \fi + \let\minimallinedistance=\@@itafstand + \let\normallineheight=\@@itregel % let ! ! ! ! ! ivm ex + \let\topskipfactor=\@@itboven + \let\maxdepthfactor=\@@itonder + \setfontparameters % redundant \setstrut + \updateraggedskips} % yes indeed + {\processallactionsinset % \regelwit = dummy ! + [#1] + [ \v!aan=>\oninterlineskip, + \v!uit=>\offinterlineskip, + \v!reset=>\setfontparameters, + \s!unknown=>\assignvalue{#1}{\regelwit}{1.00}{1.25}{1.50}% + \spacing{\regelwit}]}} + +\def\simplestelinterliniein% + {\localinterlinespacetrue + \setfontparameters + \updateraggedskips % funny one here + \localinterlinespacefalse} + +\definecomplexorsimple\stelinterliniein + +% In earlier versions \type{\bigskipamount} was +% \type{\ht\strutbox} and the stretch was plus or minus +% \type{.4\dp\strutbox}. Don't ask me why. The most recent +% implementation is based on a user supplied distance, which +% is by default \type{.75\normalskipamount} where +% \type{\normalskipamount} equals the current baseline +% distance. + +\newif\ifblankoreset \blankoresetfalse +\newif\ifblankoblokkeer \blankoblokkeerfalse +\newif\ifblankogeenwit \blankogeenwitfalse +\newif\ifdoeblanko \doeblankofalse +\newif\ifblankoflexibel \blankoflexibeltrue +\newif\ifblankobuiten +\newif\ifblankoforceer + +\newskip\blankoskip \blankoskip=\bigskipamount +\newskip\blankoskipamount + +\def\skipfactor {.75} +\def\skipgluefactor {.25} + +\def\normalskipamount% + {\openlineheight + \ifgridsnapping \else \ifblankoflexibel + \!!plus\skipgluefactor\openlineheight + \!!minus\skipgluefactor\openlineheight + \fi \fi + \relax} + +\def\regelafstand{\normalskipamount} + +\def\deblankoskip{\skipfactor\regelafstand} + +\def\laatsteblankoskip% + {\blankoskip} + +\def\geenblanko% + {\removelastskip} + +\def\dosingleblanko#1% ook nog \v!halveregel+fuzzysnap + {\doifelse{#1}{\v!regel} + {\blankoskipamount=\openlineheight} + {\ifgridsnapping + \assigndimension{#1}{\blankoskipamount}% + {.25\openlineheight}{.5\openlineheight}{\openlineheight}% + \else + \assigndimension{#1}{\blankoskipamount}% + {\smallskipamount}{\medskipamount}{\bigskipamount}% + \fi}% + \global\advance\blankoskip by \blankoskipamount} + +\newif\iffuzzyvskip + +% old +% +% \def\doblanko#1% +% {\processallactionsinset +% [#1] +% [ \v!groot=>\dosingleblanko\v!groot, % happens often +% \v!buiten=>\ifvmode\ifinner\blankobuitentrue\fi\fi, +% \v!reset=>\global\blankoresettrue, +% \v!flexibel=>\global\lokaalblankoflexibeltrue, +% \v!vast=>\global\lokaalblankovasttrue, +% \v!back=>\geenblanko, +% \v!wit=>\global\advance\blankoskip by \parskip, +% \v!formule=>\global\advance\blankoskip by \medskipamount, +% \v!geenwit=>\global\blankogeenwittrue, +% -\v!wit=>\global\advance\blankoskip by -\parskip, +% \v!blokkeer=>\global\blankoblokkeertrue, +% \v!forceer=>\global\blankoforceertrue, +% \v!regel=>\global\advance\blankoskip by \lineheight, +% \v!halveregel=>\global\fuzzyvskiptrue\global\advance\blankoskip by .5\lineheight, +% \s!unknown=>{\herhaalmetcommando[#1]\dosingleblanko}]} +% +% new, see below + +\def\doblanko#1% + {\processallactionsinset + [#1] + [ \v!groot=>\dosingleblanko\v!groot, % happens often + \v!buiten=>\ifvmode\ifinner\blankobuitentrue\fi\fi, + \v!reset=>\global\blankoresettrue, + \v!flexibel=>\global\lokaalblankoflexibeltrue, + \v!vast=>\global\lokaalblankovasttrue, + \v!back=>\geenblanko, + \v!wit=>\global\advance\blankoskip by \parskip, + \v!formule=>\global\advance\blankoskip by \medskipamount, + \v!geenwit=>\global\blankogeenwittrue, + -\v!wit=>\global\advance\blankoskip by -\parskip, + \v!blokkeer=>\global\blankoblokkeertrue, + \v!forceer=>\global\blankoforceertrue, + \v!regel=>\global\advance\blankoskip by \lineheight, + \v!halveregel=>\global\fuzzyvskiptrue\global\advance\blankoskip by .5\lineheight, + \s!unknown=>\doindirectblanko{#1}]} + +\def\oldprevdepth{\prevdepth}% +\def\newprevdepth{-1001pt} + +\def\mindimen{0.00002pt} % beter 1sp + +\newif\iflokaalblankovast +\newif\iflokaalblankoflexibel + +\def\docomplexdoblanko[#1]% pas op \relax's zijn nodig ivm volgende \if + {\global\blankoresetfalse + \global\blankoblokkeerfalse + \global\blankogeenwitfalse + \global\lokaalblankoflexibelfalse + \global\lokaalblankovastfalse + \global\blankoskip=\!!zeropoint + \global\blankoforceerfalse + \blankobuitenfalse + \processcommalist[#1]\doblanko +\ifdim\blankoskip=\!!zeropoint\relax + \iflokaalblankoflexibel \dosingleblanko\currentblanko \fi + \iflokaalblankovast \dosingleblanko\currentblanko \fi +\fi + \ifblankobuiten + \else + \par + \ifvmode %in pos fonts gaat dit mis + \ifblankoforceer%\ifdim\prevdepth>\!!zeropoint\else + % -1000pt signals top of page or column (\ejectcolumn) + \vbox{\strut}\kern-\lineheight + \fi%\fi + \ifblankoblokkeer + \global\doeblankofalse + \edef\oldprevdepth{\the\prevdepth}% + \prevdepth=\newprevdepth + \else + \global\doeblankotrue + \fi + \ifblankoreset + \global\doeblankotrue + \ifdim\prevdepth=\newprevdepth + \prevdepth=\oldprevdepth + \fi + \fi + \ifdoeblanko + \ifdim\lastskip<\blankoskip\relax + % else when \blanko[2*groot] + \blanko[3*groot] with parskip + % equaling 1*groot, gives a groot=\parskip so adding a small + % value makes it distinguishable; can also be done at parskip + % setting time (better) + \global\advance\blankoskip by \mindimen\relax % = skip + % test this on 2* + 3* and parskip groot + \ifblankogeenwit + \global\advance\blankoskip by -\parskip + \else + \ifdim\lastskip=\parskip + \else % force this due to previous comment + \ifdim\parskip>\!!zeropoint\relax + \ifdim\blankoskip<\parskip\relax + \global\blankoskip=\!!zeropoint + \else + \global\advance\blankoskip by -\parskip + \fi + \fi + \fi + \fi +\ifblankoflexibel \else + \blankoskip=1\blankoskip +\fi +\iflokaalblankovast + \blankoskip=1\blankoskip +\fi +\iflokaalblankoflexibel + \blankoskip=1\blankoskip + \!!plus\skipgluefactor\blankoskip + \!!minus\skipgluefactor\blankoskip +\fi + \ifdim\prevdepth=\newprevdepth + \else + \iffuzzyvskip + \removelastfuzzyvskip + \fuzzyvskip\blankoskip\relax + \else + \removelastskip + \vskip\blankoskip\relax + \fi + \fi + \else + \iffuzzyvskip + \removelastfuzzyvskip + \fuzzyvskip\blankoskip\relax + \fi + \fi + \fi + \fi + \fi + \global\fuzzyvskipfalse + \presetindentation} + +\def\complexdodoblanko[#1]% + {\flushfootnotes + \ifopelkaar + \ifinpagebody + \expanded{\docomplexdoblanko[#1]}% \expanded=nieuw + \else + \par + \fi + \else + \expanded{\docomplexdoblanko[#1]}% \expanded = nieuw + \fi} + +% old +% +% \def\doindirectblanko#1% +% {\ifundefined{\??bo#1}% <-etex \expandafter\ifx\csname\??bo#1\endcsname\relax +% \expanded{\complexdodoblanko[#1]}% +% \else +% \expandafter\complexdoblanko\expandafter[\csname\??bo#1\endcsname]% +% \fi} +% +% \def\complexdoblanko[#1]% enables [force,8\bodyfontsize] +% {\doifinstringelse{,}{#1} +% {\expanded{\complexdodoblanko[#1]}} +% {\doifnumberelse{#1} +% {\expanded{\complexdodoblanko[#1]}} +% {\doindirectblanko{#1}}}} +% +% new, more robust +% +% \def\doindirectblanko#1% +% {\edef\ascii{#1}\convertcommand\ascii\to\ascii +% \ifundefined{\??bo\ascii}% <-etex \expandafter\ifx\csname\??bo#1\endcsname\rel +% \herhaalmetcommando[#1]\dosingleblanko +% \else +% \expandafter\complexdoblanko\expandafter[\csname\??bo\ascii\endcsname]% +% \fi} +% +% even more robust + +\def\doindirectblanko#1% + {\edef\ascii{#1}\convertcommand\ascii\to\ascii + \ifundefined{\??bo\ascii}% <-etex \expandafter\ifx\csname\??bo#1\endcsname + \expanded{\herhaalmetcommando[#1]\noexpand\dosingleblanko}% + \else + \expandafter\complexdoblanko\expandafter[\csname\??bo\ascii\endcsname]% + \fi} + +\def\complexdoblanko[#1]% enables [force,8\bodyfontsize] + {\expanded{\complexdodoblanko[#1]}} + +\def\currentblanko% + {\v!groot} + +%D For a long time we had: +%D +%D \starttypen +%D \def\simpledoblanko% +%D {\doifelse{\currentwitruimte}{\v!geen} +%D {\blanko[\currentblanko]} +%D {\blanko[\currentwitruimte]}} +%D \stoptypen +%D +%D But Berend de Boer wanted more control, so now we have: + +\def\simpledoblanko% + {\doifelse{\currentwitruimte}{\v!geen} + {\blanko[\currentblanko]} + {\blanko[\s!default]}} + +%D Another useful definition would be: +%D +%D \starttypen +%D \definieerblanko +%D [\s!default] +%D [\v!groot] +%D \stoptypen + +\def\blanko% % the \relax is definitely needed due to the many \if's + {\relax\complexorsimple\doblanko} + +%\def\dostelblankoin#1% +% {\bgroup % rommelig +% \skip0=#1\relax +% \xdef\globalblanko{\the\skip0}% +% \egroup +% \bigskipamount=\globalblanko +% \smallskipamount=\globalblanko +% \medskipamount=\globalblanko +% \divide\medskipamount by 2\relax +% \divide\smallskipamount by 4\relax}% + +\def\dostelblankoin#1% + {\bigskipamount=#1\relax + \ifblankoflexibel \else + \bigskipamount=1\bigskipamount + \fi + \smallskipamount=\bigskipamount + \medskipamount=\bigskipamount + \divide\medskipamount by 2 + \divide\smallskipamount by 4 }% + +\def\complexstelblankoin[#1]% + {\ifgridsnapping + \blankoflexibelfalse + \else + \ExpandFirstAfter\processallactionsinset + [#1] + [ \v!flexibel=>\blankoflexibeltrue, + \v!vast=>\blankoflexibelfalse]% + \fi + \ExpandFirstAfter\processallactionsinset + [#1] + [ \v!flexibel=>\dostelblankoin{\deblankoskip}, + \v!vast=>\dostelblankoin{\deblankoskip}, + \v!regel=>\edef\deblankoskip{\regelafstand}% + \dostelblankoin{\deblankoskip}% + \let\deblanko=\v!groot, + \v!halveregel=>\scratchskip=.5\regelafstand + \edef\deblankoskip{\the\scratchskip}% + \dostelblankoin{\deblankoskip}% + \let\deblanko=\v!middel, + \v!groot=>\ifgridsnapping + \edef\deblankoskip{\regelafstand}% + \dostelblankoin{\deblankoskip}% + \fi + \def\currentblanko{\v!groot}% + \let\deblanko=\v!groot, + \v!middel=>\def\currentblanko{\v!middel}% + \let\deblanko=\v!middel, + \v!klein=>\def\currentblanko{\v!klein}% + \let\deblanko=\v!klein, + \v!normaal=>\dostelblankoin{\deblankoskip}% + \let\deblanko=\v!groot, + \v!standaard=>\edef\deblankoskip{\skipfactor\regelafstand}% + \dostelblankoin{\deblankoskip}% + \let\deblanko=\v!groot, + \s!default=>\dostelblankoin{\deblankoskip}% + \let\deblanko=\v!groot, + \s!unknown=>\let\deblankoskip=\commalistelement + \dostelblankoin{\deblankoskip}% + \let\deblanko=\v!groot]% + \stelwitruimtein} + +% \definecomplexorsimpleempty\stelblankoin +% +% speed gain: 60 sec -> 30 sec + +\definecomplexorsimple\stelblankoin + +\def\simplestelblankoin% == snelle \stelblankoin[\s!default] + {\ifgridsnapping + \blankoflexibelfalse + \fi + \dostelblankoin{\deblankoskip}% + \let\deblanko\v!groot + \stelwitruimtein} + +\def\dodefinieerblanko[#1][#2]% + {\def\docommando##1{\setvalue{\??bo##1}{#2}}% + \processcommalist[#1]\docommando} + +\def\definieerblanko% + {\dodoubleargument\dodefinieerblanko} + +\def\savecurrentblanko% + {\edef\restorecurrentblanko% + {\bigskipamount=\the\bigskipamount + \medskipamount=\the\medskipamount + \smallskipamount=\the\smallskipamount + \noexpand\def\noexpand\currentblanko{\currentblanko}% + \ifblankoflexibel + \noexpand\blankoflexibeltrue + \else + \noexpand\blankoflexibelfalse + \fi}} + +\def\inhibitblank% the fast, local way + {\endgraf\ifvmode\prevdepth\newprevdepth\fi} + +%D Now. + +\definieerblanko + [\s!default] + [\v!wit] + +\let\currentvoorwit=\empty + +\newdimen\voorwit + +\newif\ifindentfirstparagraph % \indentfirstparagraphtrue + +\def\presetindentation% + {\doifoutervmode + {\ifindentfirstparagraph\else\noindentation\fi}} + +%\def\dostelinspringenin[#1]% +% {\processallactionsinset +% [#1] +% [ \v!eerste=>\indentfirstparagraphtrue, +% \v!volgende=>\indentfirstparagraphfalse, +% \s!default=>\dodostelinspringenin, +% \s!unknown=>\edef\currentvoorwit{\commalistelement}% +% \dodostelinspringenin]} +% +%\def\dodostelinspringenin% +% {\assigndimension{\currentvoorwit}{\voorwit}{1em}{1.5em}{2em}% +% \parindent=\voorwit\relax} +% +%\def\stelinspringenin% +% {\dosingleempty\dostelinspringenin} + +\definecomplexorsimple\stelinspringenin + +\def\complexstelinspringenin[#1]% + {\processallactionsinset + [#1] + [ \v!eerste=>\indentfirstparagraphtrue, + \v!volgende=>\indentfirstparagraphfalse, + \s!default=>\simplestelinspringenin, + \s!unknown=>\edef\currentvoorwit{\commalistelement}% + \simplestelinspringenin]} + +\def\simplestelinspringenin% + {\assigndimension{\currentvoorwit}{\voorwit}{1em}{1.5em}{2em}% + \parindent=\voorwit\relax} + +\def\doinspringen[#1]% + {\processallactionsinset + [#1] + [ \v!nee=>\parindent=\voorwit\relax\noindent, + \v!niet=>\parindent=\voorwit\relax\noindent, + \v!ja=>\parindent=\voorwit\relax, % geen \indent ! + \v!eerste=>\indentfirstparagraphtrue, + \v!volgende=>\indentfirstparagraphfalse, + \v!altijd=>\parindent=\voorwit\relax, % geen \indent ! + \v!nooit=>\parindent=\!!zeropoint\relax]} + +\def\inspringen% + {\dosingleargument\doinspringen} + +\def\nietinspringen{\inspringen[\v!nee,\v!volgende]} +\def\welinspringen {\inspringen[\v!ja,\v!eerste]} + +% \frenchspacing leidt soms tot afbreken tussen -, vandaar +% de variant \newfrenchspacing. + +\def\dofrenchspacing#1% + {\sfcode`\.#1 \sfcode`\,#1\relax + \sfcode`\?#1 \sfcode`\!#1\relax + \sfcode`\:#1 \sfcode`\;#1\relax} + +\def\frenchspacing% + {\dofrenchspacing{1000}} % \@m + +\def\newfrenchspacing% + {\dofrenchspacing{1050}} % \@ml + +\def\complexstelspatieringin[#1]% + {\processaction + [#1] + [\v!opelkaar=>\newfrenchspacing, + \v!ruim=>\nonfrenchspacing]% + \updateraggedskips} + +\def\simplestelspatieringin% + {\updateraggedskips} + +\definecomplexorsimple\stelspatieringin + +\bgroup +\catcode`\~=\@@active % eigenlijk is ~ al actief +\gdef\fixedspaces% % in Plain \TeX, maar we weten + {\catcode`\~=\@@active % nooit wat er inmiddels is + \def~{\fixedspace}} % gebeurd, vandaar. +\egroup + +\def\space { } +\def\fixedspace {\hskip.5em\relax} +\def\nospace {\unskip\ignorespaces} + +\let\spatie \space +\let\hardespatie\fixedspace +\let\geenspatie \nospace + +\def\opelkaar% + {\nointerlineskip} + +\def\omlaag[#1]% nog eens mooier, relateren aan blanko + {\nointerlineskip + \vskip#1 } + +\newskip\tussenwit +\tussenwit=\!!zeropoint + +\def\blankokleinmaat% + {\smallskipamount} + +\def\blankomiddelmaat% + {\medskipamount} + +\def\blankogrootmaat% + {\bigskipamount} + +\def\currentwitruimte% + {\!!zeropoint} + +\def\stelwitruimteopnieuwin% + {\expanded{\stelwitruimtein[\currentwitruimte]}} + +\newif\ifwitruimteflexibel \witruimteflexibeltrue + +%\def\dodostelwitruimtein[#1]% +% {%\witruimteflexibeltrue +% \processallactionsinset +% [#1] +% [\v!herstel=>, +% \v!vast=>\witruimteflexibelfalse, +% \v!flexibel=>\witruimteflexibeltrue, +% \v!regel=>\tussenwit=\baselineskip, +% \v!halveregel=>\tussenwit=.5\baselineskip, +% \s!default=>\doifnot{\currentwitruimte}{\v!geen} +% {\stelwitruimteopnieuwin}, +% \s!unknown=>\@EA\assigndimension\@EA{\commalistelement} % \@EA is nodig +% {\tussenwit} +% {\blankokleinmaat}{\blankomiddelmaat}{\blankogrootmaat}]% % te vangen +% \edef\currentwitruimte% +% {\ifdim\tussenwit=\!!zeropoint +% \v!geen +% \else +% \ifgridsnapping\the\baselineskip\else\the\tussenwit\fi +% \fi}% +% \ifgridsnapping +% \witruimteflexibelfalse +% \tussenwit=1\tussenwit +% \ifdim\tussenwit>\!!zeropoint +% \tussenwit=\baselineskip +% \fi +% \else +% \ifwitruimteflexibel \else \tussenwit=1\tussenwit \fi +% \fi +% \parskip=\tussenwit} +% +%\def\dostelwitruimtein[#1]% +% {\expanded{\dodostelwitruimtein[#1]}} +% +%\def\stelwitruimtein% +% {\dosingleempty\dostelwitruimtein} + +\definecomplexorsimple\stelwitruimtein + +\def\complexstelwitruimtein[#1]% + {\expanded{\dostelwitruimtein[#1]}% + \dodostelwitruimtein} + +\def\dostelwitruimtein[#1]% + {\processallactionsinset + [#1] + [\v!herstel=>, + \v!vast=>\witruimteflexibelfalse, + \v!flexibel=>\witruimteflexibeltrue, + \v!regel=>\tussenwit=\baselineskip, + \v!halveregel=>\tussenwit=.5\baselineskip, + \s!default=>\doifnot{\currentwitruimte}{\v!geen} + {\stelwitruimteopnieuwin}, + \s!unknown=>\@EA\assigndimension\@EA{\commalistelement} % \@EA is nodig + {\tussenwit} + {\blankokleinmaat}{\blankomiddelmaat}{\blankogrootmaat}]} % te vangen + +\def\dodostelwitruimtein% + {\edef\currentwitruimte% + {\ifdim\tussenwit=\!!zeropoint + \v!geen + \else + \ifgridsnapping\the\baselineskip\else\the\tussenwit\fi + \fi}% + \ifgridsnapping + \witruimteflexibelfalse + \tussenwit=1\tussenwit + \ifdim\tussenwit>\!!zeropoint + \tussenwit=\baselineskip + \fi + \else + \ifwitruimteflexibel \else \tussenwit=1\tussenwit \fi + \fi + \parskip=\tussenwit} + +\def\simplestelwitruimtein% == snelle \stelwitruimtein[\s!default] + {\doifnot{\currentwitruimte}{\v!geen} + {\stelwitruimteopnieuwin}% + \dodostelwitruimtein} + +\def\geenwitruimte% + {\ifdim\parskip>\!!zeropoint\relax + \ifdim\lastskip=-\parskip + \else + \vskip-\parskip + \fi + \fi} + +\def\savecurrentwitruimte% + {\edef\restorecurrentwitruimte% + {\tussenwit=\the\tussenwit + \parskip=\the\parskip + \noexpand\def\noexpand\currentwitruimte{\currentwitruimte}% + \ifwitruimteflexibel + \noexpand\witruimteflexibeltrue + \else + \noexpand\witruimteflexibelfalse + \fi}} + +% deze variant is nodig binnen \startopelkaar +% steeds testen: +% +% \hoofdstuk{..} +% \plaatslijst[..] +% \hoofdstuk{..} +% \input tufte +% +% met/zonder witruimte + +\def\witruimte% + {\par + \ifdim\parskip>\!!zeropoint\relax + %\ifdim\lastskip>\parskip \else + % \removelastskip interferes with blanko blokkeer en klein + \vskip\parskip + %\fi + \fi} + +\def\nonoblanko[#1]% + {\par} + +\def\noblanko% + {\dosingleempty\nonoblanko} + +% De onderstaande macro handelt ook de situatie dat er geen +% tekst tussen \start ... \stop is geplaatst. Daartoe wordt de +% laatste skip over de lege tekst heen gehaald. Dit komt goed +% van pas bij het plaatsen van (mogelijk lege) lijsten. + +\newif\ifopelkaar + +\def\noparskipsignal {0.00001pt} +\def\lastdoneparskip {0pt} + +\def\startopelkaar% + {\dosingleempty\dostartopelkaar} + +\def\dostartopelkaar[#1]% nesting afvangen + {\par + \ifvmode + \edef\lastdoneparskip{\the\lastskip}% +\edef\lastdoneprevdepth{\the\prevdepth}% zeer recent toegevoegd + \ifdim\prevdepth=-1000pt % toegevoegd omdat binnen + \else % een vbox een extra skip + \witruimte % ongewenst is; dit kan +\baselinecorrection %% zie in \plaatsregister[n=1] + \vskip\noparskipsignal % waarschijnlijk ook in + \fi % blanko blokkeer + \bgroup + \doifelse{#1}{\v!blanko} + {\opelkaarfalse} + {\opelkaartrue}% + \blanko[\v!blokkeer]% + \stelwitruimtein[\v!geen] + \fi} + +\def\stopopelkaar% + {\par +\ifvmode + \egroup + \ifdim\lastskip=\noparskipsignal\relax + \removelastskip + \geenwitruimte + \vskip-\lastdoneparskip + \vskip+\lastdoneparskip +\prevdepth-\lastdoneprevdepth % zeer recent toegevoegd + \fi +\fi} + +\def\startvanelkaar% + {\blanko + \leavevmode + \bgroup} + +\def\stopvanelkaar% + {\egroup + \blanko} + +% De onderstaande macro's moeten nog eens nader worden uitgewerkt. +% Ze spelen een rol bij de spatiering rond omkaderde teksten +% en/of boxen zonder diepte. + +\def\toonregelcorrectie {\showbaselinecorrection} +\def\regelcorrectie {\baselinecorrection} + +\definecomplexorsimpleempty\startregelcorrectie + +% \prevdepth crosses pageboundaries! + +\let\dorondomregelcorrectie=\relax + +\def\complexstartregelcorrectie[#1]% + {\bgroup + \processaction + [#1] + [ \v!blanko=>\let\dorondomregelcorrectie=\blanko, + \s!default=>\let\dorondomregelcorrectie=\relax, + \s!unknown=>{\def\dorondomregelcorrectie{\blanko[#1]}}]% + \dorondomregelcorrectie + \startbaselinecorrection + \offbaselinecorrection} + +\def\stopregelcorrectie% + {\stopbaselinecorrection + \dorondomregelcorrectie + \egroup} + +\def\corrigeerwitruimte% + {\dowithnextbox + {\startbaselinecorrection + \box\nextbox + \stopbaselinecorrection}% + \vbox} + +\def\toonstruts% + {\setteststrut} + +% Hieronder volgen enkele instellingen en macro's ten behoeve +% van de interlinie en \strut. De waarden 2.8, 0.07, 0.72 en +% 0.28 zijn ooit eens ontleend aan INRS-TEX en moeten wellicht +% nog eens instelbaar worden. +% +% \lineheight : de hoogte van een regel +% \spacing{getal} : instellen interlinie +% \normalbaselines : instellen regelafstend +% +% \setstrut : instellen \strut +% \setnostrut : resetten \strut, \endstrut, \begstrut +% +% \setteststrut : instellen zichtbare struts +% \resetteststrut : instellen onzichtbare struts +% +% \setfontparameters : instellen na fontset +% +% De hoogte van een regel (\lineheight) is gelijk aan de +% som van de hoogte (\ht) en diepte (\dp) van \strutbox. +% +% \strut : denkbeeldig blokje met hoogte en diepte +% +% Een \hbox kan als deze aan het begin van een regel staat +% een breedte \hsize krijgen. Dit is soms te voorkomen met het +% commando \leavevmode. Binnen een \vbox geeft dit echter +% niet altijd het gewenste resultaat, vandaar het commando +% +% \leaveoutervmode + +% Pas op: niet zomaar \topskip en \baselineskip aanpassen +% en zeker niet \widowpenalty. Dit kan ernstige gevolgen +% hebben voor kolommen. +% +% Enige glue kan op zich geen kwaad, echter als blanko=vast, +% dan moet ook de rek 0 zijn. Binnen kolommen is rek ook +% niet bepaald mooi. Een hele kleine waarde (0.025) voldoet, +% omdat een positieve glue eindeloos rekbaar is. + +\newdimen\strutdimen +\newdimen\lineheight +\newdimen\openlineheight +\newdimen\openstrutheight +\newdimen\openstrutdepth +\def\strutheightfactor {.72} +\def\strutdepthfactor {.28} + +\def\baselinefactor {2.8} +\def\baselinegluefactor {0} + +\def\normallineheight {\baselinefactor ex} +\def\minimallinedistance {\lineskip} + +\def\strutheight {0pt} +\def\strutdepth {0pt} +\def\strutwidth {0pt} + +\def\spacingfactor {1} + +\def\topskipfactor {1.0} +\def\maxdepthfactor {0.5} + +\def\systemtopskipfactor {\topskipfactor} +\def\systemmaxdepthfactor {\maxdepthfactor} + +% De onderstaande definitie wordt in de font-module overruled + +\ifx\globalbodyfontsize\undefined + \newdimen\globalbodyfontsize + \globalbodyfontsize=12pt +\fi +\ifx\normalizedbodyfontsize\undefined + \def\normalizedbodyfontsize{12pt} +\fi + +% door een \dimen. Dit is geen probleem omdat (1) de default +% korpsgrootte 12pt is en (2) de fonts nog niet geladen zijn +% en de instellingen bij het laden nogmaals plaatsvinden. + +\def\topskipcorrection% + {\ifdim\topskip>\openstrutheight + \vskip\topskip + \vskip-\openstrutheight + \fi + \vbox{\strut} + \vskip-\openlineheight} + +\def\settopskip% the extra test is needed for the lbr family + {\topskip=\systemtopskipfactor\globalbodyfontsize + \ifgridsnapping \else + \ifr@ggedbottom\!!plus5\globalbodyfontsize\fi + \fi + \relax % the skip + \ifdim\topskip<\strutheightfactor\openlineheight + \topskip=\strutheightfactor\openlineheight\relax + \fi} + +\def\setmaxdepth% + {\maxdepth=\systemmaxdepthfactor\globalbodyfontsize} + +\def\normalbaselines% + {\baselineskip\normalbaselineskip + \lineskip\normallineskip + \lineskiplimit\normallineskiplimit} + +\def\setnormalbaselines% + {\lineheight=\normallineheight + \openlineheight=\spacingfactor\lineheight +\openstrutheight=\strutheightfactor\openlineheight +\openstrutdepth =\strutdepthfactor \openlineheight + \normalbaselineskip= + \openlineheight + \!!plus\baselinegluefactor\openlineheight + \!!minus\baselinegluefactor\openlineheight + \normallineskip\minimallinedistance\relax % \!!onepoint\relax + \normallineskiplimit\!!zeropoint\relax + \normalbaselines} + +\def\setspacingfactor#1\to#2\by#3\\% + {\strutdimen=#2pt\relax + \strutdimen=#3\strutdimen + \edef#1{\withoutpt{\the\strutdimen}}} + +\def\spacing#1% + {\ifgridsnapping + \edef\spacingfactor{1}% + \showmessage{\m!layouts}{11}{#1}% + \else + \edef\spacingfactor{#1}% + \fi + \setspacingfactor\systemtopskipfactor\to\topskipfactor\by#1\\% + \setspacingfactor\systemmaxdepthfactor\to\maxdepthfactor\by#1\\% + \setnormalbaselines + \setstrut} + +\def\setstrutdimen#1#2#3% % een strut is n.m maal ex + {\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 + +% plain definition: +% +% \def\strut{\relax\ifmmode\copy\strutbox\else\unhcopy\strutbox\fi} +% +% could be: +% +% \def\strut{\relax\ifmmode\copy\else\unhcopy\fi\strutbox} + +\let\normalstrut=\strut + +% The double \hbox construction enables us to \backtrack +% boxes. + +% \def\setstrut% +% {\setstrutdimen\strutheight\strutheightfactor\spacingfactor +% \setstrutdimen\strutdepth \strutdepthfactor \spacingfactor +% \let\strut=\normalstrut +% \setbox\strutbox=\normalhbox +% {\normalhbox +% {\vrule +% \!!width \strutwidth +% \!!height \strutheight +% \!!depth \strutdepth +% \normalkern-\strutwidth}}} + +\def\setstrut% + {\setstrutdimen\strutheight\strutheightfactor\spacingfactor + \setstrutdimen\strutdepth \strutdepthfactor \spacingfactor + \dosetstrut} + +\def\setcharstrut#1% + {\setbox\strutbox=\hbox{#1}% + \edef\strutheight{\the\ht\strutbox}% + \edef\strutdepth {\the\dp\strutbox}% + \dosetstrut} + +\def\setcapstrut% could be M, but Q has descender + {\setcharstrut{Q}} + +%D Centered looks nicer: + +\def\dosetstrut% + {\let\strut=\normalstrut + \setbox\strutbox=\normalhbox + {\normalhbox to \!!zeropoint + {% \hss % new, will be option + \vrule + \!!width \strutwidth + \!!height\strutheight + \!!depth \strutdepth + \hss}}} + +%D Sometimes a capstrut comes in handy +%D +%D \starttabulatie[|Tl|l|l|] +%D \NC yes \NC normal strut \NC {\toonstruts\setupstrut[ja]\strut} \NC \NR +%D \NC no \NC no strut \NC {\toonstruts\setupstrut[nee]\strut} \NC \NR +%D \NC kap \NC a capital strut (i.e. Q) \NC {\toonstruts\setupstrut[kap]\strut} \NC \NR +%D \NC A B \unknown \NC a character strut (e.g. A) \NC {\toonstruts\setupstrut[A]\strut} \NC \NR +%D \NC \NC a normal strut \NC {\toonstruts\setupstrut\strut} \NC \NR +%D \stoptabulatie + +\def\setupstrut% + {\dosingleempty\dosetupstrut} + +\def\dosetupstrut[#1]% yet undocumented + {\processaction + [#1] + [ \v!ja=>\setstrut, + \v!nee=>\setnostrut, + \v!kap=>\setcapstrut, + \s!default=>\setstrut, + \s!unknown=>\setcharstrut{\commalistelement}]} + +\def\setteststrut% + {\def\strutwidth{.8pt}% + \setstrut} + +\def\begstrut% + {\relax\ifdim\ht\strutbox=\!!zeropoint\else + \strut + \normalpenalty\!!tenthousand + \normalhskip\!!zeropoint + \ignorespaces + \fi} + +\def\endstrut% + {\relax\ifhmode\ifdim\ht\strutbox=\!!zeropoint\else + \unskip\unskip\unskip + \normalpenalty\!!tenthousand + \normalhskip\!!zeropoint + \strut + \fi\fi} + +\def\setnostrut% + {\setbox\strutbox=\normalhbox{\normalhbox{}}% + \let\strut=\empty + \let\endstrut=\empty + \let\begstrut=\empty} + +% unsave: +% +% \def\pseudostrut% +% {\bgroup +% \setnostrut +% \normalstrut +% \egroup} +% +% try: +% +% \startchemie +% \chemie[ONE,Z0,SB15,MOV1,SB15,Z0][C,C] +% \stopchemie +% +% so: + +\def\pseudostrut% + {\noindent} % better: \dontleavehmode + +\let\pseudobegstrut\pseudostrut + +\def\pseudoendstrut% removes all kind of signals + {\ifhmode\unskip\unskip\unskip\unskip\fi} + +\def\resetteststrut% + {\let\strutwidth=\!!zeropoint + \setstrut} + +\ifx\setfontparameters\undefined + \def\setfontparameters{\the\everybodyfont} +\fi + +%D Handy: + +\def\baselinedistance{\the\lineheight} + +%D We need \type{\normaloffinterlineskip} because the new +%D definition contains an assignment, and |<|don't ask me +%D why|>| this assignment gives troubles in for instance the +%D visual debugger. + +\ifx\undefined\normaloffinterlineskip + \let\normaloffinterlineskip=\offinterlineskip % knuth's original +\fi + +\def\offinterlineskip% + {\ifdim\baselineskip>\!!zeropoint + \edef\oninterlineskip% + {\baselineskip=\the\baselineskip + \lineskip=\the\lineskip + \lineskiplimit=\the\lineskiplimit + \noexpand\let\noexpand\offinterlineskip=\noexpand\normaloffinterlineskip}% + \else + \let\oninterlineskip=\setnormalbaselines + \fi + \normaloffinterlineskip} + +\let\oninterlineskip=\relax + +\def\leaveoutervmode% + {\ifvmode\ifinner\else + \leavevmode + \fi\fi} + +% We stellen enkele penalties anders in dan Plain TEX: + +\def\defaultwidowpenalty{2000} % was: 1000 +\def\defaultclubpenalty {2000} % was: 800 + +\widowpenalty=\defaultwidowpenalty\relax +\clubpenalty =\defaultclubpenalty \relax + +% Bovendien definieren we enkele extra \fill's: + +\def\hfilll% + {\hskip\!!zeropoint\!!plus1filll\relax} + +\def\vfilll% + {\vskip\!!zeropoint\!!plus1filll\relax} + +% De onderstaande hulpmacro's moeten nog eens instelbaar worden +% gemaakt. + +\def\tfskipsize{1em\relax} + +\def\tfkernsize{1ex\relax} + +\def\tfskip% + {{\tf\hskip\tfskipsize}} + +\def\tfkern% + {{\tf\kern\tfkernsize}} + +\newskip\linkssmaller +\newskip\rechtssmaller +\newskip\middensmaller + +\def\dosinglesmaller#1% + {\processaction + [#1] + [ \v!links=>\global\advance\linkssmaller by \@@sllinks, + \v!midden=>\global\advance\middensmaller by \@@slmidden, + \v!rechts=>\global\advance\rechtssmaller by \@@slrechts, + \s!unknown=>\global\advance\middensmaller by \commalistelement]} + +\def\dosmaller[#1]% + {\processaction + [#1] + [ \v!links=>\global\advance\linkssmaller by \@@sllinks, + \v!midden=>\global\advance\middensmaller by \@@slmidden, + \v!rechts=>\global\advance\rechtssmaller by \@@slrechts, + \s!unknown=>{\herhaalmetcommando[#1]\dosinglesmaller}]} + +\def\complexstartsmaller[#1]% + {\par + \bgroup + \global\linkssmaller=\!!zeropoint + \global\rechtssmaller=\!!zeropoint + \global\middensmaller=\!!zeropoint + \processcommalistwithparameters[#1]\dosmaller + \advance\leftskip by \linkssmaller + \advance\rightskip by \rechtssmaller + \advance\leftskip by \middensmaller + \advance\rightskip by \middensmaller} + +\def\simplestartsmaller% + {\startsmaller[\v!midden]} + +\definecomplexorsimple\startsmaller + +\def\stopsmaller% + {\par % else skips forgotten + \egroup} + +\def\stelsmallerin% + {\dodoubleargument\getparameters[\??sl]} + +\def\dodefinieerhbox[#1][#2]% + {\setvalue{hbox#1}##1% + {\hbox to #2{\begstrut##1\endstrut\hss}}} + +\def\definieerhbox% + {\dodoubleargument\dodefinieerhbox} + +\def\lrcbox#1#2#% + {\vbox#2\bgroup + \let\\=\endgraf + \forgetall#1\let\next=} + +\def\lbox% + {\lrcbox\raggedleft} + +\def\rbox% + {\lrcbox\raggedright} + +\def\cbox% + {\lrcbox\raggedcenter} + +\def\dosetraggedvbox#1% + {\processaction + [#1] + [ \v!links=>\def\raggedbox{\lbox}, + \v!rechts=>\def\raggedbox{\rbox}, + \v!midden=>\def\raggedbox{\cbox}, + \v!nee=>\def\raggedbox{\vbox\bgroup\raggedright\let\next=}, + \s!default=>\def\raggedbox{\vbox}, + \s!unknown=>\def\raggedbox{\vbox}]} + +\def\dosetraggedhbox#1% + {\processaction + [#1] + [ \v!links=>\let\raggedbox\regellinks, + \v!rechts=>\let\raggedbox\regelrechts, + \v!midden=>\let\raggedbox\regelmidden, + \v!normaal=>\let\raggedbox\hbox, + \s!default=>\let\raggedbox\hbox, + \s!unknown=>\let\raggedbox\hbox]} + +% \def\dosetraggedcommand#1% ook ruim,rechts en zo +% {\processaction +% [#1] +% [ \v!links=>\def\raggedcommand{\raggedleft}, +% \v!rechts=>\def\raggedcommand{\raggedright}, +% \v!midden=>\def\raggedcommand{\raggedcenter}, +% \v!nee=>\def\raggedcommand{\raggedright}, +% \v!normaal=>\let\raggedcommand\relax, +% \s!default=>\def\raggedcommand{\raggedcenter}, +% \s!unknown=>\let\raggedcommand\relax]} + +\def\dosetraggedcommand#1% + {\expanded{\dodosetraggedcommand{#1}}} + +\def\dodosetraggedcommand#1% + {\doifinsetelse{\v!ruim} {#1}{\!!doneatrue}{\!!doneafalse}% + \doifinsetelse{\v!breed}{#1}{\!!donebtrue}{\!!donebfalse}% + \let\raggedcommand\relax + \let\raggedtopcommand\empty + \let\raggedbottomcommand\empty + \!!donectrue + \ExpandFirstAfter\processallactionsinset + [#1] + [ \v!links=>\if!!donea \def\raggedcommand{\veryraggedleft}% + \else \def\raggedcommand{\raggedleft}% + \fi + \!!donecfalse, % {\v!links,\v!midden} + \v!rechts=>\if!!donea \def\raggedcommand{\veryraggedright}% + \else \def\raggedcommand{\raggedright}% + \fi + \!!donecfalse, % {\v!rechts,\v!midden} + \v!midden=>\if!!donec + \if!!doneb \def\raggedcommand{\raggedwidecenter}% + \else\if!!donea \def\raggedcommand{\veryraggedcenter}% + \else \def\raggedcommand{\raggedcenter}% + \fi\fi + \!!donecfalse % {\v!midden,\v!midden} + \else + \let\raggedbottomcommand\vfilll % bonus, pretty strong + \let\raggedtopcommand \vfilll % used with \framed for + \fi, % instance in tables + \v!hoog=>\let\raggedbottomcommand\vfilll, % and since we lack a + \v!laag=>\let\raggedtopcommand \vfilll, % proper keyword, but + \v!laho=>\let\raggedbottomcommand\vfilll % we do support the + \let\raggedtopcommand \vfilll, % ugly laho (lohi) + \v!nee=>\def\raggedcommand{\raggedright}, + \v!ja=>\let\raggedcommand\relax, + \v!normaal=>\let\raggedcommand\relax]} + +% Nodig i.v.m. inspringen eerste alineas + +\def\explicithmode% + {\unhbox\voidb@x} + +% Nodig voor gebruikers + +\def\geentest{\donottest} + +% Nog doen: +% +% \goodbreak -> \allowbreak en \dosomebreak{..} in koppen +% +% bij koppen zowieso: \blanko[reset] + +% Nog in commando verwerken: +% +% \voorkeur … la \blanko +% +% Om ongewenste witruimte te voorkomen kan met \dosomebreak{\break} +% een \penalty v¢¢r witruimte worden geplaatst. + +\def\removelastskip% a redefinition of plain + {\ifvmode\ifdim\lastskip=\z@\else\vskip-\lastskip\fi\fi} + +\def\dosomebreak#1% + {\skip0=\lastskip + \removelastskip + %\type{#1}% + #1\relax + \ifdim\skip0=\!!zeropoint + \else + \vskip\skip0 + \fi} + +% beter, vooral in \vbox; nog in \pagina toepassen s! + +\def\doifoutervmode#1% + {\ifvmode\ifinner\else#1\fi\fi} + +\def\dosomebreak#1% + {\doifoutervmode + {\skip0=\lastskip + \removelastskip + %\leavevmode\type{#1}% + #1\relax + \ifdim\skip0=\!!zeropoint % else interference with footnotes + \else + \vskip\skip0 + \fi}} + +% Idem: +% +% \springin + +%\def\noindentation% vervallen +% {\EveryPar +% {\ifdim\parindent=\!!zeropoint +% \else +% \bgroup +% \setbox0=\lastbox +% \egroup +% \fi +% \EveryPar{}}} + +\newif\ifindentation \indentationtrue % documenteren, naar buiten + +\let\checkindentation=\relax + +\def\donoindentation% + {\ifdim\parindent=\!!zeropoint + \else + \bgroup + \setbox0=\lastbox + \egroup + \fi} + +\def\noindentation% made global + {\ifinpagebody \else + \global\indentationfalse + \gdef\checkindentation% + {\donoindentation + \gdef\checkindentation{\global\indentationtrue}}% + \fi} + +\def\nonoindentation% bv bij floats + {\ifinpagebody \else + \global\indentationtrue + \gdef\checkindentation{\global\indentationtrue}% + \fi} + +\def\indentation% + {\ifvmode \ifdim\parindent=\!!zeropoint \else + % was : \hskip\parindent + % can be: \indent + % but we test: + \noindent\hskip\parindent + \fi \fi} + +% vergeten + +\def\forgeteverypar% + {\everypar{}} + +\def\forgeteverypar% + {\everypar{\the\neverypar}} + +\def\forgetparindent% + {\forgeteverypar + \indentfirstparagraphtrue % recently added + \stelinspringenin[\v!geen]} + +\def\forgetparskip% + {\stelwitruimtein[\v!geen]} + +\def\forgetbothskips% + {\tolerance=1500 + \leftskip\!!zeropoint + \rightskip\!!zeropoint\relax} + +\def\forgetspacing% + {\emergencystretch\!!zeropoint\relax} + +\def\forgetall% + {\the\everyforgetall} + +\appendtoks \let\par\endgraf \to \everyforgetall % i.v.m. getpar etc +\appendtoks \notragged \to \everyforgetall +\appendtoks \forgetparskip \to \everyforgetall +\appendtoks \forgetparindent \to \everyforgetall +\appendtoks \forgetbothskips \to \everyforgetall +\appendtoks \forgetspacing \to \everyforgetall % i.v.m. funny spacing in pagebody +\appendtoks \everypar\emptytoks \to \everyforgetall % indeed! + +\def\localvbox#1#% + {\vbox#1\bgroup + \forgetparskip + \setlocalhsize + \hsize=\localhsize + \forgetparindent + \forgetbothskips + \forgeteverypar + \let\next=} + +% ach ja + +\unexpanded\def\dostartattributes#1#2#3% + {\begingroup % geen \bgroup, anders in mathmode lege \hbox + \doifdefinedelse{#1#2} + {\def\fontattribute{\getvalue{#1#2}}} + {\let\fontattribute=\empty}% + \doifdefinedelse{#1#3} + {\def\colorattribute{\getvalue{#1#3}}} + {\let\colorattribute=\empty}% + \startcolor[\colorattribute]% + \@EA\doconvertfont\@EA{\fontattribute}} + +\unexpanded\def\dostopattributes% + {\stopcolor + \endgroup} + +\unexpanded\def\doattributes#1#2#3#4% + {\dostartattributes{#1}{#2}{#3}{#4}\dostopattributes} + +% kan vaker worden toegepast: + +\newskip\leftskipadaption + +\def\doadaptleftskip#1% + {\dosetleftskipadaption{#1}% + \advance\leftskip by \leftskipadaption} + +\def\dosetleftskipadaption#1% + {\leftskipadaption\!!zeropoint + \processaction[#1] % \ExpandFirstAfter + [\v!standaard=>\leftskipadaption= + \ifdim\voorwit=\!!zeropoint\@@sllinks\else\voorwit\fi, + \v!ja=>\leftskipadaption= + \ifdim\voorwit=\!!zeropoint\@@sllinks\else\voorwit\fi, + \v!nee=>, + \s!unknown=>\leftskipadaption=#1]} + +% Dit hoort eigenlijk thuis onder het kopje boodschappen cq, +% meldingen. + +\let\mindermeldingen\dontcomplain + +\definetwopasslist{\s!paragraph} + +\newcounter\nofraggedparagraphs + +\def\doparagraphreference% looks very much like domarginreference + {\doglobal\increment\nofraggedparagraphs\relax + \edef\writeparref% + {\writeutilitycommand% + {\twopassentry% + {\s!paragraph}% + {\nofraggedparagraphs}% + {\noexpand\realfolio}}}% + \writeparref} + +\def\setraggedparagraphmode#1#2% + {\ifinner + \ifdubbelzijdig + \gettwopassdata{\s!paragraph}% + \iftwopassdatafound + \ifodd\twopassdata#1\else#2\fi + \else + \ifodd\realfolio#1\else#2\fi + \fi + \doparagraphreference + \else + #2\relax + \fi + \else + #2\relax + \fi} + +% \let\doifrightpageelse\setraggedparagraphmode + +% De onderstaande macro's zijn opgenomen in Plain TeX. +% +% \def\raggedright% +% {\rightskip\z@ plus2em \spaceskip.3333em \xspaceskip.5em\relax} +% +% \def\ttraggedright% +% {\tttf\rightskip\z@ plus2em\relax} +% +% \newif\ifr@ggedbottom +% +% \def\raggedbottom% +% {\topskip 10\p@ plus60\p@ \r@ggedbottomtrue} +% +% \def\normalbottom% +% {\topskip 10\p@ \r@ggedbottomfalse} +% +% en worden hieronder wat aangepast. + +% the three boolean will become obsolete some day in favour +% of \bottomraggedness + +\chardef\bottomraggedness=0 % 0=ragged 1=normal/align 2=baseline + +\def\bottomalignlimit{3\lineheight} + +\newif\ifn@rmalbottom +\newif\ifr@ggedbottom +\newif\ifb@selinebottom + +\def\raggedbottom% + {\chardef\bottomraggedness=0 + \n@rmalbottomfalse + \r@ggedbottomtrue + \b@selinebottomfalse + \settopskip} + +\def\alignbottom% + {\chardef\bottomraggedness=1 + \n@rmalbottomtrue + \r@ggedbottomfalse + \b@selinebottomfalse + \settopskip} + +\def\baselinebottom% + {\chardef\bottomraggedness=2 + \n@rmalbottomfalse + \r@ggedbottomfalse + \b@selinebottomtrue + \settopskip} + +\let\normalbottom=\alignbottom % downward compatible + +% so, the new one will be +% +% \chardef\bottomraggedness=0 % 0=ragged 1=normal/align 2=baseline +% +% \def\bottomalignlimit{3\lineheight} % will be settable +% +% \def\raggedbottom {\chardef\bottomraggedness=0 \settopskip} +% \def\alignbottom {\chardef\bottomraggedness=1 \settopskip} +% \def\baselinebottom{\chardef\bottomraggedness=2 \settopskip} +% +% \let\normalbottom =\alignbottom + +% \hyphenpenalty = ( 2.5 * \hsize ) / \raggedness +% \tolerance >= 1500 % was 200 +% \raggedness = 2 .. 6\korpsgrootte + +\chardef\raggedstatus=0 % normal left center right + +\def\leftraggedness {2\bodyfontsize} +\def\rightraggedness {2\bodyfontsize} +\def\middleraggedness {6\bodyfontsize} + +%D More hyphenation control, will be combined with align +%D setup. + +\def\nohyphens% + {\ifx\dohyphens\relax + \edef\dohyphens% + {\hyphenpenalty\the\hyphenpenalty + \exhyphenpenalty\the\exhyphenpenalty\relax}% + \fi + \hyphenpenalty\@M + \exhyphenpenalty\@M} + +\let\dohyphens\relax + +%D To prevent unwanted side effects, we also have to check +%D for hyphens here: + +\def\setraggedness#1% + {\ifnum\tolerance<1500\relax % small values have + \tolerance=1500\relax % unwanted side effects + \fi + \spaceskip=2.5\hsize % we misuse these registers + \xspaceskip=#1\relax % for temporary storage; + \divide\spaceskip by \xspaceskip % they are changed anyway + \ifx\dohyphens\relax + \hyphenpenalty=\spaceskip % \else no hyphens is active + \fi} + +\let\updateraggedskips\relax + +\def\setraggedskips#1#2#3#4#5#6#7% never change this name + {\def\updateraggedskips% + {\dosetraggedskips{#1}{#2}{#3}{#4}{#5}{#6}{#7}}% + \updateraggedskips} + +\def\dosetraggedskips#1#2#3#4#5#6#7% + {\chardef\raggedstatus=#1\relax + \leftskip=1\leftskip\!!plus#2\relax % zie: Tex By Topic 8.1.3 + \rightskip=1\rightskip\!!plus#3\relax % zie: Tex By Topic 8.1.3 + \spaceskip#4\relax + \xspaceskip#5\relax + \parfillskip\!!zeropoint\!!plus#6\relax + \parindent#7\relax} + +\def\notragged% + {\setraggedskips{0}{0em}{0em}{0em}{0em}{1fil}{\parindent}} + +\def\raggedleft% + {\setraggedness\leftraggedness + \setraggedskips{1}{\leftraggedness}{0em}{.3333em}{.5em}{0em}{0em}} + +\def\raggedcenter% + {\setraggedness\middleraggedness + \setraggedskips{2}{\middleraggedness}{\middleraggedness}{.3333em}{.5em}{0em}{0em}} + +%D We used to have: +%D +%D \starttypen +%D \def\raggedright% +%D {\setraggedness\rightraggedness +%D \setraggedskips{3}{0em}{\rightraggedness}{.3333em}{.5em}{0em}{\parindent}} +%D \stoptypen +%D +%D However, the next alternative, suggested by Taco, is better. + +\def\raggedright% + {\setraggedness\rightraggedness + \setraggedskips{3}{0em}{\rightraggedness}{.3333em}{.5em}{1fil}{\parindent}} + +\def\veryraggedleft% + {\setraggedskips{1}{1fil}{0em}{.3333em}{.5em}{0em}{0em}} + +%D When we want the last line to have a natural width: +%D +%D \starttypen +%D \def\veryraggedleft% +%D {\setraggedskips{1}{1fil}{0em}{.3333em}{.5em}{0em}{-1fil}} +%D \stoptypen +%D +%D but this one is not accepted by the macros. + +\def\veryraggedcenter% + {\setraggedskips{2}{1fil}{1fil}{.3333em}{.5em}{0em}{0em}} + +\def\veryraggedright% + {\setraggedskips{3}{0em}{1fil}{.3333em}{.5em}{0em}{\parindent}} + +\def\ttraggedright% + {\tttf + \setraggedskips{3}{0em}{\rightraggedness}{0em}{0em}{0em}{\parindent}} % {\voorwit}} + +%D A bonus one: + +\def\raggedwidecenter% + {\setraggedness\middleraggedness + \setraggedskips{2}{.5fil}{.5fil}{.3333em}{.5em}{0em}{0em}} + +\newif\if@@asragged \@@asraggedtrue % old method + +\def\dodosteluitlijnenin[#1]% + {\doifinsetelse{\v!ruim} {#1}{\!!doneatrue}{\!!doneafalse}% + \doifinsetelse{\v!breed}{#1}{\!!donebtrue}{\!!donebfalse}% + \ExpandFirstAfter\processallactionsinset + [#1] + [ \v!regel=>\baselinebottom, + \v!onder=>\raggedbottom, + \v!hoogte=>\normalbottom, + \v!breedte=>\notragged, + \v!normaal=>\notragged, + \v!ja=>\notragged, + \v!nee=>\raggedright, +\if@@asragged\v!binnen\else\v!buiten\fi + =>\setraggedparagraphmode\raggedleft\raggedright, +\if@@asragged\v!buiten\else\v!binnen\fi + =>\setraggedparagraphmode\raggedright\raggedleft, +\if@@asragged\v!links\else\v!rechts\fi + =>\if!!donea\veryraggedleft \else\raggedleft \fi, +\if@@asragged\v!rechts\else\v!links\fi + =>\if!!donea\veryraggedright \else\raggedright \fi, + \v!midden=>\if!!doneb\raggedwidecenter\else + \if!!donea\veryraggedcenter\else\raggedcenter\fi\fi, + \v!hangend=>\enableprotruding, + \v!niethangend=>\disableprotruding, + \v!afgebroken=>\dohyphens, +\v!nietafgebroken=>\nohyphens, + \v!nieuw=>\@@asraggedfalse, % so new will give you consistency + \v!reset=>\notragged\normalbottom]} + +\def\dosteluitlijnenin[#1]% + {\expanded{\dodosteluitlijnenin[#1]}} + +\def\steluitlijnenin% + {\dosingleargument\dosteluitlijnenin} + +\def\startuitlijnen% + {\bgroup + \steluitlijnenin} + +\def\stopuitlijnen + {\par + \egroup} + +%\def\regellinks#1% +% {\noindent\leftline{{\strut#1}}} +% +%\def\regelrechts#1% +% {\noindent\rightline{{#1\strut}}} +% +%\def\regelmidden#1% +% {\noindent\centerline{{\strut#1}}} + +\def\doalignline#1#2% + {\dowithnextbox + {\noindent\hbox to \hsize + {\strut#1\unhbox\nextbox#2}} + \hbox} + +% also supporting \\ +% +% \def\doalignline#1#2% +% {\dowithnextbox +% {\noindent\hbox to \hsize +% {\strut#1\unhbox\nextbox#2}} +% \hbox\bgroup +% \def\\{\egroup\par\doalignline#1#2\bgroup}\let\next=} + +\def\doalignline#1#2% + {\bgroup + \def\\{\egroup\par\doalignline#1#2\bgroup}% + \dowithnextbox + {\noindent\hbox to \hsize + {\strut#1\unhbox\nextbox#2}\egroup} + \hbox} + +% directe commando's + +\def\regellinks {\doalignline \relax \hss } +\def\regelrechts{\doalignline \hss \relax} +\def\regelmidden{\doalignline \hss \hss } + +\def\regelbegrensd#1{\limitatetext{#1}{\hsize}{\unknown}} + +% indirecte commando's + +\setvalue{regel\v!links }{\doalignline \relax \hss } +\setvalue{regel\v!rechts}{\doalignline \hss \relax} +\setvalue{regel\v!midden}{\doalignline \hss \hss } + +\def\doregelplaats#1% + {\getvalue{regel#1}} + +\def\dosteltolerantiein[#1]% + {\doifinsetelse{\v!vertikaal}{#1}% + {\ExpandFirstAfter\processallactionsinset + [#1] + [\v!zeerstreng=>\def\bottomtolerance{}, + \v!streng=>\def\bottomtolerance{.050}, + \v!soepel=>\def\bottomtolerance{.075}, + \v!zeersoepel=>\def\bottomtolerance{.100}]}% + {\ExpandFirstAfter\processallactionsinset + [#1] + [ \v!rek=>\emergencystretch=\bodyfontsize, + \v!zeerstreng=>\tolerance=200, + \v!streng=>\tolerance=1500, + \v!soepel=>\tolerance=3000, + \v!zeersoepel=>\tolerance=4500]}} + +\def\steltolerantiein% + {\dosingleargument\dosteltolerantiein} + +\def\woordrechts% + {\groupedcommand{\hfill\hbox}{\parfillskip\!!zeropoint}} + + +\stelwitruimtein + [\v!geen] + +\inspringen + [\v!nooit] + +\stelinspringenin + [\v!geen] + +\stelblankoin + [\v!standaard, + \v!groot] + +\definieerblanko[\v!default] [\currentblanko] +\definieerblanko[\v!voor] [\v!default] +\definieerblanko[\v!tussen] [\v!default] +\definieerblanko[\v!na] [\v!voor] + +% doen? + +\def\@@blankovoor {\blanko[\v!voor]} % +\def\@@blankotussen{\blanko[\v!tussen]} % scheelt 5 tokens == >20 bytes +\def\@@blankona {\blanko[\v!na]} % + +\stelinterliniein + [\c!hoogte=.72, + \c!diepte=.28, + \c!boven=1.0, + \c!onder=0.4, + \c!afstand=1pt, + \c!regel=2.8ex] + +\stelsmallerin + [\c!links=1.5em, + \c!rechts=1.5em, + \c!midden=1.5em] + +\steltolerantiein + [\v!horizontaal,\v!zeerstreng] + +\steltolerantiein + [\v!vertikaal,\v!streng] + +\steluitlijnenin + [\v!onder, + \v!breedte] + +\stelspatieringin + [\v!opelkaar] + +\protect \endinput diff --git a/tex/context/base/enco-def.tex b/tex/context/base/enco-def.tex index f49549e98..37f108b60 100644 --- a/tex/context/base/enco-def.tex +++ b/tex/context/base/enco-def.tex @@ -27,6 +27,7 @@ \definecharacter textcaron 20 \definecharacter textbreve 21 \definecharacter textmacron 22 +\definecharacter textring 23 \definecharacter textcedilla 24 \definecharacter textogonek 24 % no ! \definecharacter textbottomdot 46 @@ -78,6 +79,8 @@ \definecharacter atilde {\buildtextaccent\texttilde a} \definecharacter Itilde {\buildtextaccent\texttilde \dotlessI} \definecharacter itilde {\buildtextaccent\texttilde \dotlessi} +\definecharacter Ntilde {\buildtextaccent\texttilde N} +\definecharacter ntilde {\buildtextaccent\texttilde n} \definecharacter Otilde {\buildtextaccent\texttilde O} \definecharacter otilde {\buildtextaccent\texttilde o} \definecharacter Utilde {\buildtextaccent\texttilde U} @@ -179,10 +182,10 @@ \definecharacter Uogonek {\buildtextogonek U} \definecharacter uogonek {\buildtextogonek u} -\definecharacter Aring {A} -\definecharacter aring {a} -\definecharacter Uring {U} -\definecharacter uring {u} +\definecharacter Aring {\buildtextaccent\textring A} +\definecharacter aring {\buildtextaccent\textring a} +\definecharacter Uring {\buildtextaccent\textring U} +\definecharacter uring {\buildtextaccent\textring u} \definecharacter Abreve {\buildtextaccent\textbreve A} \definecharacter abreve {\buildtextaccent\textbreve a} @@ -223,16 +226,22 @@ \definecharacter dotlessI {I} \definecharacter dotlessJ {J} -\definecharacter AEligature {\char"1D } -\definecharacter aeligature {\char"1A } -\definecharacter Lstroke {\char32L} -\definecharacter lstroke {\char32l} -\definecharacter Ostroke {\char"1F } -\definecharacter ostroke {\char"1C } -\definecharacter OEligature {\char"1E } -\definecharacter oeligature {\char"1B } +% \definecharacter ffligature {\char11 } +% \definecharacter filigature {\char12 } +% \definecharacter flligature {\char13 } +% \definecharacter ffiligature {\char14 } +% \definecharacter fflligature {\char15 } + +\definecharacter AEligature {\char29 } % "1D +\definecharacter aeligature {\char26 } % "1A +\definecharacter Lstroke {\hsmash{\char32}L} +\definecharacter lstroke {\hsmash{\char32}l} +\definecharacter Ostroke {\char31 } % "1F +\definecharacter ostroke {\char28 } % "1C +\definecharacter OEligature {\char30 } % "1E +\definecharacter oeligature {\char27 } % "1B \definecharacter Ssharp {SS} -\definecharacter ssharp {\char"19 } +\definecharacter ssharp {\char25 } % "19 \definecharacter IJligature {IJ} \definecharacter ijligature {ij} diff --git a/tex/context/base/enco-ini.tex b/tex/context/base/enco-ini.tex index 3e9c1da1e..a65fa843b 100644 --- a/tex/context/base/enco-ini.tex +++ b/tex/context/base/enco-ini.tex @@ -386,8 +386,9 @@ \ifx\enabledmapping\charactermapping \else \doifdefined{\@map@\charactermapping} {\the\csname\@map@\charactermapping\endcsname}% + \edef\enabledmapping{\charactermapping}% \enablelanguagespecifics[\currentlanguage]% new - \edef\enabledmapping{\charactermapping\currentlanguage}% +% \edef\enabledmapping{\charactermapping\currentlanguage}% \fi \synchronizepatterns} @@ -960,9 +961,9 @@ %D can be used to check the correct loading of hyphenation %D patterns. -\fetchruntimecommand \showaccents {\f!encodingprefix run} -\fetchruntimecommand \showcharacters {\f!encodingprefix run} -\fetchruntimecommand \showhyphenations {\f!encodingprefix run} +\fetchruntimecommand \showaccents {\f!encodingprefix\s!run} +\fetchruntimecommand \showcharacters {\f!encodingprefix\s!run} +\fetchruntimecommand \showhyphenations {\f!encodingprefix\s!run} %D {\em The next section is experimental and implements font %D specific features, like hanging punctuation.} diff --git a/tex/context/base/enco-run.tex b/tex/context/base/enco-run.tex index 02df0abde..082d89050 100644 --- a/tex/context/base/enco-run.tex +++ b/tex/context/base/enco-run.tex @@ -18,7 +18,7 @@ {\ifcase##1\relax\red\or\blue\else\green\fi##1\hss##2}}% \let\normalbuildtextaccent\buildtextaccent \let\normalbottomaccent \bottomaccent -% \def\char{\green\normalchar}% + %\def\char{\green\normalchar}% \def\char% can be used in \oalign {\bgroup\def\char{\green\normalchar\scratchcounter\egroup}% \afterassignment\char\scratchcounter}% @@ -26,25 +26,28 @@ \def\bottomaccent{\let\green\empty\red\normalbottomaccent}} \gdef\visualizecharacterslegend% - {\hbox{\currentencoding:\space + {\hbox{\currentencoding\space\fontname\font:\space {\blue composed}\space{\red bottom}\space{\green char}\space raw}} \gdef\showaccents% {\bgroup + \savefont + \setuptextrules[\c!letter=] \starttextrule{\visualizecharacterslegend} + \restorefont\stelinterliniein \visualizecharacters \def\do##1% {{\def\dodo####1% - {\hss\hbox to 1em{\hss\expanded{##1####1\recurselevel}\hss}}% - \hbox to \hsize - {\localcolortrue - \hbox to 2em{\tttf\string##1\hss}% - \dorecurse{26}{\dodo\character}}% - \hbox to \hsize - {\localcolortrue - \hskip2em - \dorecurse{26}{\dodo\Character}}}% - \par} + {\hss\hbox to 1em{\hss\expanded{##1####1\recurselevel}\hss}}% + \hbox to \hsize + {\localcolortrue + \hbox to 2em{\tttf\string##1\hss}% + \dorecurse{26}{\dodo\character}}% + \hbox to \hsize + {\localcolortrue + \hskip2em + \dorecurse{26}{\dodo\Character}}}% + \par} \do\'\do\`\do\^\do\~\do\" \do\H\do\r\do\v\do\u\do\= \do\.\do\b\do\d\do\k\do\c @@ -53,6 +56,9 @@ \gdef\showcharacters% {\bgroup + \savefont + \setuptextrules[\c!letter=] + \starttextrule{\visualizecharacterslegend} \dontcomplain \forgetall \def\startencoding[##1]{} @@ -74,10 +80,12 @@ \edef\enccols{\number\dimen0} \visualizecharacters \startcolumns[\c!n=\enccols,\c!afstand=2em] + \restorefont\stelinterliniein \def\definecharacter ##1 ##2 % {\hbox{\localcolortrue\hbox to \encwidth{\getvalue{##1}\hss}##1}\par} \readsysfile{\f!encodingprefix def}{}{} \stopcolumns + \stoptextrule \egroup} \gdef\showhyphenations#1% diff --git a/tex/context/base/font-aer.tex b/tex/context/base/font-aer.tex deleted file mode 100644 index 4e21fc1d8..000000000 --- a/tex/context/base/font-aer.tex +++ /dev/null @@ -1,69 +0,0 @@ -%D \module -%D [ file=font-aer, -%D version=2000.09.20, -%D title=\CONTEXT\ Font Macros, -%D subtitle=Computer Modern, -%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 This file remaps the default Computer Modern Font Files -%D onto the virtual EC ones, so that hyphenations work well. - -\resetfontdefinitionfile[cmr] - -\definefontsynonym [cmb10] [aeb10] [encoding=ec] -\definefontsynonym [cmcsc10] [aecsc10] [encoding=ec] -\definefontsynonym [cmsl10] [aesl10] [encoding=ec] -\definefontsynonym [cmssbx10] [aessbx10] [encoding=ec] -\definefontsynonym [cmti7] [aeti7] [encoding=ec] -\definefontsynonym [cmbx10] [aebx10] [encoding=ec] -\definefontsynonym [cmitt10] [aeitt10] [encoding=ec] -\definefontsynonym [cmsl12] [aesl12] [encoding=ec] -\definefontsynonym [cmssdc10] [aessdc10] [encoding=ec] -\definefontsynonym [cmti8] [aeti8] [encoding=ec] -\definefontsynonym [cmbx12] [aebx12] [encoding=ec] -\definefontsynonym [cmr10] [aer10] [encoding=ec] -\definefontsynonym [cmsl8] [aesl8] [encoding=ec] -\definefontsynonym [cmssi10] [aessi10] [encoding=ec] -\definefontsynonym [cmti9] [aeti9] [encoding=ec] -\definefontsynonym [cmbx5] [aebx5] [encoding=ec] -\definefontsynonym [cmr12] [aer12] [encoding=ec] -\definefontsynonym [cmsl9] [aesl9] [encoding=ec] -\definefontsynonym [cmssi12] [aessi12] [encoding=ec] -\definefontsynonym [cmtt10] [aett10] [encoding=ec] -\definefontsynonym [cmbx6] [aebx6] [encoding=ec] -\definefontsynonym [cmr17] [aer17] [encoding=ec] -\definefontsynonym [cmsltt10] [aesltt10] [encoding=ec] -\definefontsynonym [cmssi17] [aessi17] [encoding=ec] -\definefontsynonym [cmtt12] [aett12] [encoding=ec] -\definefontsynonym [cmbx7] [aebx7] [encoding=ec] -\definefontsynonym [cmr5] [aer5] [encoding=ec] -\definefontsynonym [cmss10] [aess10] [encoding=ec] -\definefontsynonym [cmssi8] [aessi8] [encoding=ec] -\definefontsynonym [cmtt8] [aett8] [encoding=ec] -\definefontsynonym [cmbx8] [aebx8] [encoding=ec] -\definefontsynonym [cmr6] [aer6] [encoding=ec] -\definefontsynonym [cmss12] [aess12] [encoding=ec] -\definefontsynonym [cmssi9] [aessi9] [encoding=ec] -\definefontsynonym [cmtt9] [aett9] [encoding=ec] -\definefontsynonym [cmbx9] [aebx9] [encoding=ec] -\definefontsynonym [cmr7] [aer7] [encoding=ec] -\definefontsynonym [cmss17] [aess17] [encoding=ec] -\definefontsynonym [cmtcsc10] [aetcsc10] [encoding=ec] -\definefontsynonym [cmbxsl10] [aebxsl10] [encoding=ec] -\definefontsynonym [cmr8] [aer8] [encoding=ec] -\definefontsynonym [cmss8] [aess8] [encoding=ec] -\definefontsynonym [cmti10] [aeti10] [encoding=ec] -\definefontsynonym [cmbxti10] [aebxti10] [encoding=ec] -\definefontsynonym [cmr9] [aer9] [encoding=ec] -\definefontsynonym [cmss9] [aess9] [encoding=ec] -\definefontsynonym [cmti12] [aeti12] [encoding=ec] - -\setupbodyfont[cmr] - -\endinput diff --git a/tex/context/base/font-ams.tex b/tex/context/base/font-ams.tex deleted file mode 100644 index be264f3ce..000000000 --- a/tex/context/base/font-ams.tex +++ /dev/null @@ -1,506 +0,0 @@ -%D \module -%D [ file=font-ams, -%D version=1995.1.1, -%D title=\CONTEXT\ Font Macros, -%D subtitle=AMS Math Symbols, -%D author=Hans Hagen, -%D date=\currentdate, -%D copyright={PRAGMA / Hans Hagen \& Ton Otten}] - -%D Here we implement the symbol fonts as provided by the -%D American Mathematical Society. The names of these symbols -%D can be found in The Joy of \TeX\ by M.~Spivak. -%D -%D First we extend the already defined font sets a bit. We make -%D use of the \type{sa} option. - -\definefontsynonym [MathAlpha] [msam10] -\definefontsynonym [MathBeta] [msbm10] - -\definebodyfont [14.4pt,12pt,11pt,10pt,9pt] [mm] - [ma=msam10 sa 1, - mb=msbm10 sa 1] - -\definebodyfont [8pt,7pt] [mm] - [ma=msam7 sa 1, - mb=msbm7 sa 1] - -\definebodyfont [6pt,5pt,4pt] [mm] - [ma=msam5 sa 1, - mb=msbm5 sa 1] - -%D We already have defined some additional math families. This -%D means that do not have to do this again. It would exhaust our -%D limited pool of \type{\fam}'s anyway. - -\unprotect - -\let\msafam=\mafam -\let\msbfam=\mbfam - -\let\msafam@=\hexmafam -\let\msbfam@=\hexmbfam - -\protect - -%D The following piece of \TEX\ is part of the distribution -%D of the \AMS\ fonts. The macros are slightly adapted to the -%D \CONTEXT\ way of font handling, which means that we have -%D commented out some sections. The comments are original. - -%D \starttypen -%D %% @texfile{ -%D %% filename="amssym.def", -%D %% version="2.1", -%D %% date="5-APR-1991", -%D %% filetype="TeX: option", -%D %% copyright="Copyright (C) American Mathematical Society, -%D %% all rights reserved. Copying of this file is -%D %% authorized only if either: -%D %% (1) you make absolutely no changes to your copy -%D %% including name; OR -%D %% (2) if you do make changes, you first rename it to some -%D %% other name.", -%D %% author="American Mathematical Society", -%D %% address="American Mathematical Society, -%D %% Technical Support Department, -%D %% P. O. Box 6248, -%D %% Providence, RI 02940, -%D %% USA", -%D %% telephone="401-455-4080 or (in the USA) 800-321-4AMS", -%D %% email="Internet: Tech-Support@Math.AMS.org", -%D %% codetable="ISO/ASCII", -%D %% checksumtype="line count", -%D %% checksum="108", -%D %% keywords="amsfonts, tex", -%D %% abstract="This file contains definitions that perform the same -%D %% functions as similar ones in AMS-TeX, so that the file -%D %% AMSSYM.TEX can be used outside of AMS-TeX. Instructions -%D %% for using this file and the AMS symbol fonts are -%D %% included in the AMSFonts 2.0 User's Guide." -%D %% } -%D \stoptypen - -\expandafter\ifx\csname amssym.def\endcsname\relax\else\endinput\fi - -%D Store the catcode of the @ in the csname so that it can be -%D restored later. - -\expandafter\edef\csname amssym.def\endcsname% - {\catcode`\noexpand\@=\the\catcode`\@\normalspace} - -%D Set the catcode to 11 for use in private control sequence -%D names. - -\unprotect % \catcode`\@=11 - -%D Include all definitions related to the fonts msam, msbm and -%D eufm, so that when this file is used by itself, the results -%D with respect to those fonts are equivalent to what they -%D would have been using \AMSTEX. Most symbols in fonts msam -%D and msbm are defined using \type{\newsymbol}; however, a few -%D symbols that replace composites defined in plain must be -%D defined with \type{\mathchardef}. - -\let\normalundefine\undefine -\let\normalnewsymbol\newsymbol - -\def\undefine#1% - {\let#1\undefined} - -\def\newsymbol#1#2#3#4#5% - {\let\next@\relax - \ifnum#2=\@ne - \let\next@\msafam@ - \else - \ifnum#2=\tw@ - \let\next@\msbfam@ - \fi - \fi - \mathchardef#1="#3\next@#4#5} - -\def\mathhexbox@#1#2#3% - {\relax - \ifmmode - \mathpalette{}{\m@th\mathchar"#1#2#3}% - \else - \leavevmode - \hbox{$\m@th\mathchar"#1#2#3$}% - \fi} - -%D \starttypen -%D \def\hexnumber@#1% -%D {\ifcase#1 -%D 0\or 1\or 2\or 3\or -%D 4\or 5\or 6\or 7\or -%D 8\or 9\or A\or B\or -%D C\or D\or E\or F\fi} -%D -%D \font\tenmsa=msam10 -%D \font\sevenmsa=msam7 -%D \font\fivemsa=msam5 -%D \newfam\msafam -%D \textfont\msafam=\tenmsa -%D \scriptfont\msafam=\sevenmsa -%D \scriptscriptfont\msafam=\fivemsa -%D \edef\msafam@% -%D {\hexnumber@\msafam} -%D \stoptypen - -\mathchardef\dabar@"0\msafam@39 - -\def\dashrightarrow {\mathrel{\dabar@\dabar@\mathchar"0\msafam@4B}} -\def\dashleftarrow {\mathrel{\mathchar"0\msafam@4C\dabar@\dabar@}} -\let\dasharrow \dashrightarrow -\def\ulcorner {\delimiter"4\msafam@70\msafam@70 } -\def\urcorner {\delimiter"5\msafam@71\msafam@71 } -\def\llcorner {\delimiter"4\msafam@78\msafam@78 } -\def\lrcorner {\delimiter"5\msafam@79\msafam@79 } -\def\yen {{\mathhexbox@\msafam@55 }} -\def\checkmark {{\mathhexbox@\msafam@58 }} -\def\circledR {{\mathhexbox@\msafam@72 }} -\def\maltese {{\mathhexbox@\msafam@7A }} - -%D \starttypen -%D \font\tenmsb=msbm10 -%D \font\sevenmsb=msbm7 -%D \font\fivemsb=msbm5 -%D \newfam\msbfam -%D \textfont\msbfam=\tenmsb -%D \scriptfont\msbfam=\sevenmsb -%D \scriptscriptfont\msbfam=\fivemsb -%D \edef\msbfam@% -%D {\hexnumber@\msbfam} -%D \stoptypen - -\def\Bbb#1% - {{\fam\msbfam\relax#1}} - -\def\widehat#1% - {\setbox\z@\hbox{$\m@th#1$}% - \ifdim\wd\z@>\tw@ em% - \mathaccent"0\msbfam@5B{#1}% - \else - \mathaccent"0362{#1}% - \fi} - -\def\widetilde#1% - {\setbox\z@\hbox{$\m@th#1$}% - \ifdim\wd\z@>\tw@ em% - \mathaccent"0\msbfam@5D{#1}% - \else - \mathaccent"0365{#1}% - \fi} - -%D \starttypen -%D \font\teneufm=eufm10 -%D \font\seveneufm=eufm7 -%D \font\fiveeufm=eufm5 -%D \newfam\eufmfam -%D \textfont\eufmfam=\teneufm -%D \scriptfont\eufmfam=\seveneufm -%D \scriptscriptfont\eufmfam=\fiveeufm -%D \def\frak#1{{\fam\eufmfam\relax#1}} -%D \let\goth\frak -%D \stoptypen - -%D Restore the catcode value for @ that was previously saved. - -\csname amssym.def\endcsname - -%D \starttypen -%D %% @texfile{ -%D %% filename="amssym.tex", -%D %% version="2.1a", -%D %% date="31-OCT-1991", -%D %% filetype="TeX: option", -%D %% copyright="Copyright (C) American Mathematical Society, -%D %% all rights reserved. Copying of this file is -%D %% authorized only if either: -%D %% (1) you make absolutely no changes to your copy -%D %% including name; OR -%D %% (2) if you do make changes, you first rename it to some -%D %% other name.", -%D %% author="American Mathematical Society", -%D %% address="American Mathematical Society, -%D %% Technical Support Department, -%D %% P. O. Box 6248, -%D %% Providence, RI 02940, -%D %% USA", -%D %% telephone="401-455-4080 or (in the USA) 800-321-4AMS", -%D %% email="Internet: Tech-Support@Math.AMS.org", -%D %% codetable="ISO/ASCII", -%D %% checksumtype="line count", -%D %% checksum="279", -%D %% keywords="amstex, ams-tex, tex, amsfonts, math symbols", -%D %% abstract="This file defines names for all the math symbols in -%D %% the math symbol fonts of the AMSFonts package (MSAM and -%D %% MSBM). If this file is not used by way of the AMS-TeX -%D %% \UseAMSsymbols command, it must be used in conjunction -%D %% with AMSSYM.DEF, which provides a definition of the -%D %% \newsymbol and \undefine commands. -%D %% Instructions for using the AMS symbol fonts are -%D %% included in: AMS-TeX 2.1 User's Guide; AMSFonts 2.1 -%D %% User's Guide; The Joy of TeX, editions dated 1990 or -%D %% later." -%D %% } -%D \stoptypen - -%D Save the current value of the @-sign catcode so that it can -%D be restored afterwards. This allows us to call amssym.tex -%D either within an \AMSTEX\ document style file or by itself, -%D in addition to providing a means of testing whether the file -%D has been previously loaded. We want to avoid inputting this -%D file twice because when \AMSTEX\ is being used -%D \type{\newsymbol} will give an error message if used to -%D define a control sequence name that is already defined. - -%D If the csname is not equal to \type{\relax}, we assume this -%D file has already been loaded and \type{\endinput} -%D immediately. - -\expandafter\ifx\csname pre amssym.tex at\endcsname\relax \else \endinput\fi - -%D Otherwise we store the catcode of the @ in the csname. - -\expandafter\chardef\csname pre amssym.tex at\endcsname=\the\catcode`\@ - -%D Set the catcode to 11 for use in private control sequence -%D names. - -\catcode`\@=11 - -%D Most symbols in fonts msam and msbm are defined using -%D \type{\newsymbol}. A few that are delimiters or otherwise -%D require special treatment have already been defined as soon -%D as the fonts were loaded. Finally, a few symbols that -%D replace composites defined in plain must be undefined first. - -\newsymbol\boxdot 1200 -\newsymbol\boxplus 1201 -\newsymbol\boxtimes 1202 -\newsymbol\square 1003 -\newsymbol\blacksquare 1004 -\newsymbol\centerdot 1205 -\newsymbol\lozenge 1006 -\newsymbol\blacklozenge 1007 -\newsymbol\circlearrowright 1308 -\newsymbol\circlearrowleft 1309 -\undefine\rightleftharpoons -\newsymbol\rightleftharpoons 130A -\newsymbol\leftrightharpoons 130B -\newsymbol\boxminus 120C -\newsymbol\Vdash 130D -\newsymbol\Vvdash 130E -\newsymbol\vDash 130F -\newsymbol\twoheadrightarrow 1310 -\newsymbol\twoheadleftarrow 1311 -\newsymbol\leftleftarrows 1312 -\newsymbol\rightrightarrows 1313 -\newsymbol\upuparrows 1314 -\newsymbol\downdownarrows 1315 -\newsymbol\upharpoonright 1316 - \let\restriction\upharpoonright -\newsymbol\downharpoonright 1317 -\newsymbol\upharpoonleft 1318 -\newsymbol\downharpoonleft 1319 -\newsymbol\rightarrowtail 131A -\newsymbol\leftarrowtail 131B -\newsymbol\leftrightarrows 131C -\newsymbol\rightleftarrows 131D -\newsymbol\Lsh 131E -\newsymbol\Rsh 131F -\newsymbol\rightsquigarrow 1320 -\newsymbol\leftrightsquigarrow 1321 -\newsymbol\looparrowleft 1322 -\newsymbol\looparrowright 1323 -\newsymbol\circeq 1324 -\newsymbol\succsim 1325 -\newsymbol\gtrsim 1326 -\newsymbol\gtrapprox 1327 -\newsymbol\multimap 1328 -\newsymbol\therefore 1329 -\newsymbol\because 132A -\newsymbol\doteqdot 132B - \let\Doteq\doteqdot -\newsymbol\triangleq 132C -\newsymbol\precsim 132D -\newsymbol\lesssim 132E -\newsymbol\lessapprox 132F -\newsymbol\eqslantless 1330 -\newsymbol\eqslantgtr 1331 -\newsymbol\curlyeqprec 1332 -\newsymbol\curlyeqsucc 1333 -\newsymbol\preccurlyeq 1334 -\newsymbol\leqq 1335 -\newsymbol\leqslant 1336 -\newsymbol\lessgtr 1337 -\newsymbol\backprime 1038 -\newsymbol\risingdotseq 133A -\newsymbol\fallingdotseq 133B -\newsymbol\succcurlyeq 133C -\newsymbol\geqq 133D -\newsymbol\geqslant 133E -\newsymbol\gtrless 133F -\newsymbol\sqsubset 1340 -\newsymbol\sqsupset 1341 -\newsymbol\vartriangleright 1342 -\newsymbol\vartriangleleft 1343 -\newsymbol\trianglerighteq 1344 -\newsymbol\trianglelefteq 1345 -\newsymbol\bigstar 1046 -\newsymbol\between 1347 -\newsymbol\blacktriangledown 1048 -\newsymbol\blacktriangleright 1349 -\newsymbol\blacktriangleleft 134A -\newsymbol\vartriangle 134D -\newsymbol\blacktriangle 104E -\newsymbol\triangledown 104F -\newsymbol\eqcirc 1350 -\newsymbol\lesseqgtr 1351 -\newsymbol\gtreqless 1352 -\newsymbol\lesseqqgtr 1353 -\newsymbol\gtreqqless 1354 -\newsymbol\Rrightarrow 1356 -\newsymbol\Lleftarrow 1357 -\newsymbol\veebar 1259 -\newsymbol\barwedge 125A -\newsymbol\doublebarwedge 125B -\undefine\angle -\newsymbol\angle 105C -\newsymbol\measuredangle 105D -\newsymbol\sphericalangle 105E -\newsymbol\varpropto 135F -\newsymbol\smallsmile 1360 -\newsymbol\smallfrown 1361 -\newsymbol\Subset 1362 -\newsymbol\Supset 1363 -\newsymbol\Cup 1264 - \let\doublecup\Cup -\newsymbol\Cap 1265 - \let\doublecap\Cap -\newsymbol\curlywedge 1266 -\newsymbol\curlyvee 1267 -\newsymbol\leftthreetimes 1268 -\newsymbol\rightthreetimes 1269 -\newsymbol\subseteqq 136A -\newsymbol\supseteqq 136B -\newsymbol\bumpeq 136C -\newsymbol\Bumpeq 136D -\newsymbol\lll 136E - \let\llless\lll -\newsymbol\ggg 136F - \let\gggtr\ggg -\newsymbol\circledS 1073 -\newsymbol\pitchfork 1374 -\newsymbol\dotplus 1275 -\newsymbol\backsim 1376 -\newsymbol\backsimeq 1377 -\newsymbol\complement 107B -\newsymbol\intercal 127C -\newsymbol\circledcirc 127D -\newsymbol\circledast 127E -\newsymbol\circleddash 127F -\newsymbol\lvertneqq 2300 -\newsymbol\gvertneqq 2301 -\newsymbol\nleq 2302 -\newsymbol\ngeq 2303 -\newsymbol\nless 2304 -\newsymbol\ngtr 2305 -\newsymbol\nprec 2306 -\newsymbol\nsucc 2307 -\newsymbol\lneqq 2308 -\newsymbol\gneqq 2309 -\newsymbol\nleqslant 230A -\newsymbol\ngeqslant 230B -\newsymbol\lneq 230C -\newsymbol\gneq 230D -\newsymbol\npreceq 230E -\newsymbol\nsucceq 230F -\newsymbol\precnsim 2310 -\newsymbol\succnsim 2311 -\newsymbol\lnsim 2312 -\newsymbol\gnsim 2313 -\newsymbol\nleqq 2314 -\newsymbol\ngeqq 2315 -\newsymbol\precneqq 2316 -\newsymbol\succneqq 2317 -\newsymbol\precnapprox 2318 -\newsymbol\succnapprox 2319 -\newsymbol\lnapprox 231A -\newsymbol\gnapprox 231B -\newsymbol\nsim 231C -\newsymbol\ncong 231D -\newsymbol\diagup 231E -\newsymbol\diagdown 231F -\newsymbol\varsubsetneq 2320 -\newsymbol\varsupsetneq 2321 -\newsymbol\nsubseteqq 2322 -\newsymbol\nsupseteqq 2323 -\newsymbol\subsetneqq 2324 -\newsymbol\supsetneqq 2325 -\newsymbol\varsubsetneqq 2326 -\newsymbol\varsupsetneqq 2327 -\newsymbol\subsetneq 2328 -\newsymbol\supsetneq 2329 -\newsymbol\nsubseteq 232A -\newsymbol\nsupseteq 232B -\newsymbol\nparallel 232C -\newsymbol\nmid 232D -\newsymbol\nshortmid 232E -\newsymbol\nshortparallel 232F -\newsymbol\nvdash 2330 -\newsymbol\nVdash 2331 -\newsymbol\nvDash 2332 -\newsymbol\nVDash 2333 -\newsymbol\ntrianglerighteq 2334 -\newsymbol\ntrianglelefteq 2335 -\newsymbol\ntriangleleft 2336 -\newsymbol\ntriangleright 2337 -\newsymbol\nleftarrow 2338 -\newsymbol\nrightarrow 2339 -\newsymbol\nLeftarrow 233A -\newsymbol\nRightarrow 233B -\newsymbol\nLeftrightarrow 233C -\newsymbol\nleftrightarrow 233D -\newsymbol\divideontimes 223E -\newsymbol\varnothing 203F -\newsymbol\nexists 2040 -\newsymbol\Finv 2060 -\newsymbol\Game 2061 -\newsymbol\mho 2066 -\newsymbol\eth 2067 -\newsymbol\eqsim 2368 -\newsymbol\beth 2069 -\newsymbol\gimel 206A -\newsymbol\daleth 206B -\newsymbol\lessdot 236C -\newsymbol\gtrdot 236D -\newsymbol\ltimes 226E -\newsymbol\rtimes 226F -\newsymbol\shortmid 2370 -\newsymbol\shortparallel 2371 -\newsymbol\smallsetminus 2272 -\newsymbol\thicksim 2373 -\newsymbol\thickapprox 2374 -\newsymbol\approxeq 2375 -\newsymbol\succapprox 2376 -\newsymbol\precapprox 2377 -\newsymbol\curvearrowleft 2378 -\newsymbol\curvearrowright 2379 -\newsymbol\digamma 207A -\newsymbol\varkappa 207B -\newsymbol\Bbbk 207C -\newsymbol\hslash 207D -\undefine\hbar -\newsymbol\hbar 207E -\newsymbol\backepsilon 237F - -%D Restore the catcode value for @ that was previously saved. - -\let\undefine\normalundefine -\let\newsymbol\normalnewsymbol - -\protect % \catcode`\@=\csname pre amssym.tex at\endcsname - -\endinput diff --git a/tex/context/base/font-ant.tex b/tex/context/base/font-ant.tex deleted file mode 100644 index b3e41e1d0..000000000 --- a/tex/context/base/font-ant.tex +++ /dev/null @@ -1,28 +0,0 @@ -%D \module -%D [ file=font-ant, -%D version=1998.8.25, -%D title=\CONTEXT\ Font Macros, -%D subtitle=AntykwaTorunska, -%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 The Antikwa Torunska font family is a rather nice -%D and subtle one. Although primary meant for the polish -%D language, it can be used for other languages as well. - -\definefontsynonym [Serif] [AntykwaTorunska-Regular] -\definefontsynonym [SerifBold] [AntykwaTorunska-Bold] -\definefontsynonym [SerifItalic] [AntykwaTorunska-Italic] -\definefontsynonym [SerifSlanted] [AntykwaTorunska-Italic] -\definefontsynonym [SerifBoldItalic] [AntykwaTorunska-Bold] -\definefontsynonym [SerifBoldSlanted] [AntykwaTorunska-Bold] -\definefontsynonym [SerifCaps] [AntykwaTorunska-Regular] - -\definebodyfont [14.4pt,12pt,11pt,10pt,9pt,8pt,7pt] [rm] [default] - -\endinput diff --git a/tex/context/base/font-arb.tex b/tex/context/base/font-arb.tex index 2303381e6..cd915fdff 100644 --- a/tex/context/base/font-arb.tex +++ b/tex/context/base/font-arb.tex @@ -1,3 +1,5 @@ +% NOT YET ADAPTED TO THE NEW FONT MACROS + % I still need to hook in some features into the setup % macro. I also have to (re)define farsi etc. in ways % similar to arab, so that we have dedicated environments. diff --git a/tex/context/base/font-ber.tex b/tex/context/base/font-ber.tex deleted file mode 100644 index cc429dd00..000000000 --- a/tex/context/base/font-ber.tex +++ /dev/null @@ -1,92 +0,0 @@ -%D \module -%D [ file=font-ber, -%D version=1998.7.16, -%D title=\CONTEXT\ Font Macros, -%D subtitle=Karl Berry Font Names, -%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. - -\definefontsynonym [Baskerville] [mbvr8t] [encoding=ec] -\definefontsynonym [Baskerville-Italic] [mbvri8t] [encoding=ec] -\definefontsynonym [Baskerville-Bold] [mbvb8t] [encoding=ec] -\definefontsynonym [Baskerville-BoldItalic] [mbvbi8t] [encoding=ec] -\definefontsynonym [Baskerville-SemiBold] [mbvs8t] [encoding=ec] -\definefontsynonym [Baskerville-SemiBoldItalic] [mbvsi8t] [encoding=ec] - -\definefontsynonym [Courier] [pcrr8t] [encoding=ec] -\definefontsynonym [Courier-Bold] [pcrb8t] [encoding=ec] -\definefontsynonym [Courier-Oblique] [pcrro8t] [encoding=ec] -\definefontsynonym [Courier-BoldOblique] [pcrbo8t] [encoding=ec] - -\definefontsynonym [Helvetica] [phvr8t] [encoding=ec] -\definefontsynonym [Helvetica-Oblique] [phvro8t] [encoding=ec] -\definefontsynonym [Helvetica-Bold] [phvb8t] [encoding=ec] -\definefontsynonym [Helvetica-BoldOblique] [phvbo8t] [encoding=ec] - -\definefontsynonym [Times-Roman] [ptmr8t] [encoding=ec] -\definefontsynonym [Times-Italic] [ptmri8t] [encoding=ec] -\definefontsynonym [Times-Bold] [ptmb8t] [encoding=ec] -\definefontsynonym [Times-BoldItalic] [ptmbi8t] [encoding=ec] - -\definefontsynonym [AntykwaTorunska-Regular] [zatr8t] [encoding=ec] -\definefontsynonym [AntykwaTorunska-Italic] [zatri8t] [encoding=ec] -\definefontsynonym [AntykwaTorunska-Bold] [zatb8t] [encoding=ec] - -\definefontsynonym [Palatino-Roman] [uplr8t] [encoding=ec] -\definefontsynonym [Palatino-Italic] [uplri8t] [encoding=ec] -\definefontsynonym [Palatino-Slanted] [uplro8t] [encoding=ec] -\definefontsynonym [Palatino-Bold] [uplb8t] [encoding=ec] -\definefontsynonym [Palatino-BoldItalic] [uplbi8t] [encoding=ec] -\definefontsynonym [Palatino-BoldSlanted] [uplbo8t] [encoding=ec] - -\definefontsynonym [AvantGarde] [pag] -\definefontsynonym [BookmanLight] [pbk] -\definefontsynonym [CentaurMT] [pur] -\definefontsynonym [Garamond] [pgm] -\definefontsynonym [GillSans] [pgs] -\definefontsynonym [NewBaskerville] [pnb] -\definefontsynonym [Optima] [pop] -\definefontsynonym [Palatino] [ppl] -\definefontsynonym [Symbol] [psy] -\definefontsynonym [Univers] [pun] -\definefontsynonym [Utopia] [put] -\definefontsynonym [ZapfChancery] [pzc] -\definefontsynonym [ZapfDingbats] [pzd] - -\definefontsynonym [LucidaBright] [hlhr8t] [encoding=ec] -\definefontsynonym [LucidaBright-Demi] [hlhb8t] [encoding=ec] -\definefontsynonym [LucidaBright-Italic] [hlhri8t] [encoding=ec] -\definefontsynonym [LucidaBright-Oblique] [hlhro8t] [encoding=ec] -\definefontsynonym [LucidaBright-DemiItalic] [hlhbi8t] [encoding=ec] -\definefontsynonym [LucidaBrightSmallcaps] [hlhrc8t] [encoding=ec] - -\definefontsynonym [LucidaSans] [hlsr8t] [encoding=ec] -\definefontsynonym [LucidaSans-Demi] [hlsb8t] [encoding=ec] -\definefontsynonym [LucidaSans-Italic] [hlsri8t] [encoding=ec] -\definefontsynonym [LucidaSans-DemiItalic] [hlsbi8t] [encoding=ec] -\definefontsynonym [LucidaSans-Typewriter] [hlsrt8t] [encoding=ec] -\definefontsynonym [LucidaSans-TypewriterBold] [hlsbt8t] [encoding=ec] -\definefontsynonym [LucidaSans-TypewriterOblique] [hlsrot8t] [encoding=ec] -\definefontsynonym [LucidaSans-TypewriterBoldOblique] [hlsbot8t] [encoding=ec] - -\definefontsynonym [LucidaHandwriting-Italic] [hlcriw8t] [encoding=ec] -\definefontsynonym [LucidaCalligraphy-Italic] [hlcrie8t] [encoding=ec] - -\definefontsynonym [LucidaNewMath-AltDemiItalic] [hlcdima] -\definefontsynonym [LucidaNewMath-AltItalic] [hlcrima] -\definefontsynonym [LucidaNewMath-Arrows] [hlcra] -\definefontsynonym [LucidaNewMath-Arrows-Demi] [hlcda] -\definefontsynonym [LucidaNewMath-Extension] [hlcrv] -\definefontsynonym [LucidaNewMath-Roman] [hlcrm] -\definefontsynonym [LucidaNewMath-Demibold] [hlcdm] -\definefontsynonym [LucidaNewMath-DemiItalic] [hlcdim] -\definefontsynonym [LucidaNewMath-Italic] [hlcrim] -\definefontsynonym [LucidaNewMath-Symbol] [hlcry] -\definefontsynonym [LucidaNewMath-Symbol-Demi] [hlcdy] - -\endinput diff --git a/tex/context/base/font-chi.tex b/tex/context/base/font-chi.tex index 676f5a053..49c70aeb2 100644 --- a/tex/context/base/font-chi.tex +++ b/tex/context/base/font-chi.tex @@ -1,3 +1,5 @@ +% NOT YET ADAPTED TO THE NEW FONT MACROS + %D \module %D [ file=font-chi, %D version=1999.10.10, diff --git a/tex/context/base/font-cmr.tex b/tex/context/base/font-cmr.tex deleted file mode 100644 index 11e28b258..000000000 --- a/tex/context/base/font-cmr.tex +++ /dev/null @@ -1,613 +0,0 @@ -%D \module -%D [ file=font-cmr, -%D version=1995.1.1, -%D title=\CONTEXT\ Font Macros, -%D subtitle=Computer Modern, -%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 The Computer Modern Roman is derived from the Monotype~8a -%D Times Roman. In this module, that is loaded by default, we -%D define all relevant alternatives. - -%D Now watch these definitions. They permits us to generate -%D undefined sizes on the fly. We take 10 point as starting -%D point. - -\definefontsynonym [Serif] [ComputerModern] -\definefontsynonym [SerifBold] [ComputerModern-Bold] -\definefontsynonym [SerifItalic] [ComputerModern-Italic] -\definefontsynonym [SerifSlanted] [ComputerModern-Slanted] -\definefontsynonym [SerifBoldItalic] [ComputerModern-BoldItalic] -\definefontsynonym [SerifBoldSlanted] [ComputerModern-BoldSlanted] -\definefontsynonym [SerifCaps] [ComputerModern-Caps] - -\definefontsynonym [Sans] [ComputerModernSans] -\definefontsynonym [SansBold] [ComputerModernSans-Bold] -\definefontsynonym [SansItalic] [ComputerModernSans-Italic] -\definefontsynonym [SansSlanted] [ComputerModernSans-Slanted] -\definefontsynonym [SansBoldItalic] [ComputerModernSans-BoldItalic] -\definefontsynonym [SansBoldSlanted] [ComputerModernSans-BoldSlanted] -\definefontsynonym [SansCaps] [ComputerModernSans-Caps] - -\definefontsynonym [Mono] [ComputerModernMono] -\definefontsynonym [MonoBold] [ComputerModernMono-Bold] -\definefontsynonym [MonoItalic] [ComputerModernMono-Italic] -\definefontsynonym [MonoSlanted] [ComputerModernMono-Slanted] -\definefontsynonym [MonoBoldItalic] [ComputerModernMono-BoldItalic] -\definefontsynonym [MonoBoldSlanted] [ComputerModernMono-BoldSlanted] -\definefontsynonym [MonoCaps] [ComputerModernMono-Caps] - -\definefontsynonym [MathRoman] [ComputerModernMath-Roman] -\definefontsynonym [MathExtension] [ComputerModernMath-Extension] -\definefontsynonym [MathItalic] [ComputerModernMath-Italic] -\definefontsynonym [MathSymbol] [ComputerModernMath-Symbol] - -\definefontsynonym [OldStyle] [MathItalic] - -\definefontsynonym [Fraktur] [eufm10] -\definefontsynonym [Gothic] [eufm10] -\definefontsynonym [Calligraphic] [cmsy10] - -%D What follows next is the main definition part. - -\definebodyfont [12pt] [rm] - [ tf=cmr12, - tfa=cmr12 scaled \magstep1, - tfb=cmr12 scaled \magstep2, - tfc=cmr12 scaled \magstep3, - tfd=cmr12 scaled \magstep4, - bf=cmbx12, - it=cmti12, - sl=cmsl12, - bi=cmbxti10 at 12pt, - bs=cmbxsl10 at 12pt, - sc=cmcsc10 at 12pt] - -\definebodyfont [12pt] [ss] - [ tf=cmss12, - tfa=cmss12 scaled \magstep1, - tfb=cmss12 scaled \magstep2, - tfc=cmss12 scaled \magstep3, - tfd=cmss12 scaled \magstep4, - bf=cmssbx10 at 12pt, - it=cmssi12, - sl=cmssi12, - bi=cmssbx10 at 12pt, - bs=cmssbx10 at 12pt, - sc=cmss10 at 12pt] - -\definebodyfont [12pt] [tt] - [ tf=cmtt12, - tfa=cmtt12 scaled \magstep1, - tfb=cmtt12 scaled \magstep2, - tfc=cmtt12 scaled \magstep3, - tfd=cmtt12 scaled \magstep4, - sl=cmsltt10 at 12pt, - it=cmitt10 at 12pt] - -\definebodyfont [12pt] [mm] - [ex=cmex10 at 12pt, - mi=cmmi12, - sy=cmsy10 at 12pt] - -\definebodyfont [12pt] [hw] - [tf=cmtt12] - -\definebodyfont [12pt] [cg] - [tf=cmtt12] - -\definebodyfont [11pt] [rm] - [ tf=cmr10 at 11pt, - tfa=cmr9 scaled \magstep2, - tfb=cmr9 scaled \magstep3, - tfc=cmr9 scaled \magstep4, - tfd=cmr9 scaled \magstep5, - bf=cmbx10 at 11pt, - sl=cmsl10 at 11pt, - it=cmti10 at 11pt, - bi=cmbxti10 at 11pt, - bs=cmbxsl10 at 11pt, - sc=cmcsc10 at 11pt] - -\definebodyfont [11pt] [ss] - [ tf=cmss10 at 11pt, - tfa=cmss9 scaled \magstep2, - tfb=cmss9 scaled \magstep3, - tfc=cmss9 scaled \magstep4, - tfd=cmss9 scaled \magstep5, - bf=cmssbx10 at 11pt, - it=cmssi10 at 11pt, - sl=cmssi10 at 11pt, - bi=cmssbx10 at 11pt, - bs=cmssbx10 at 11pt, - sc=cmss10 at 11pt] - -\definebodyfont [11pt] [tt] - [tf=cmtt10 at 11pt, - sl=cmsltt10 at 11pt, - it=cmitt10 at 11pt] - -\definebodyfont [11pt] [mm] - [ex=cmex10 at 11pt, - mi=cmmi10 at 11pt, - sy=cmsy10 at 11pt] - -\definebodyfont [11pt] [hw] - [tf=cmtt10 at 11pt] - -\definebodyfont [11pt] [cg] - [tf=cmtt10 at 11pt] - -\definebodyfont [10pt] [rm] - [ tf=cmr10, - tfa=cmr10 scaled \magstep1, - tfb=cmr10 scaled \magstep2, - tfc=cmr10 scaled \magstep3, - tfd=cmr10 scaled \magstep4, - bf=cmbx10, - it=cmti10, - sl=cmsl10, - bi=cmbxti10, - bs=cmbxsl10, - sc=cmcsc10] - -\definebodyfont [10pt] [ss] - [ tf=cmss10, - tfa=cmss10 scaled \magstep1, - tfb=cmss10 scaled \magstep2, - tfc=cmss10 scaled \magstep3, - tfd=cmss10 scaled \magstep4, - bf=cmssbx10, - it=cmssi10, - sl=cmssi10, - bi=cmssbx10, - bs=cmssbx10, - sc=cmss10] - -\definebodyfont [10pt] [tt] - [ tf=cmtt10, - tfa=cmtt10 scaled \magstep1, - tfb=cmtt10 scaled \magstep2, - tfc=cmtt10 scaled \magstep3, - tfd=cmtt10 scaled \magstep4, - sl=cmsltt10, - it=cmitt10] - -\definebodyfont [10pt] [mm] - [ex=cmex10, - mi=cmmi10, - sy=cmsy10] - -\definebodyfont [10pt] [hw] - [tf=cmtt10] - -\definebodyfont [10pt] [cg] - [tf=cmtt10] - -\definebodyfont [9pt] [rm] - [ tf=cmr9, - tfa=cmr9 scaled \magstep1, - tfb=cmr9 scaled \magstep2, - tfc=cmr9 scaled \magstep3, - tfd=cmr9 scaled \magstep4, - bf=cmbx9, - it=cmti9, - sl=cmsl9, - bi=cmbxti10 at 9pt, - bs=cmbxsl10 at 9pt, - sc=cmcsc10 at 9pt] - -\definebodyfont [9pt] [ss] - [ tf=cmss9, - tfa=cmss9 scaled \magstep1, - tfb=cmss9 scaled \magstep2, - tfc=cmss9 scaled \magstep3, - tfd=cmss9 scaled \magstep4, - bf=cmssbx10 at 9pt, - it=cmssi9, - sl=cmssi9, - bi=cmssbx10 at 9pt, - bs=cmssbx10 at 9pt, - sc=cmss9] - -\definebodyfont [9pt] [tt] - [tf=cmtt9, - sl=cmsltt10 at 9pt, - it=cmitt10 at 9pt] - -\definebodyfont [9pt] [mm] - [ex=cmex10 at 9pt, - mi=cmmi9, - sy=cmsy9] - -\definebodyfont [9pt] [hw] - [tf=cmtt9] - -\definebodyfont [9pt] [cg] - [tf=cmtt9] - -\definebodyfont [8pt] [rm] - [ tf=cmr8, - tfa=cmr8 scaled \magstep1, - tfb=cmr8 scaled \magstep2, - tfc=cmr8 scaled \magstep3, - tfd=cmr8 scaled \magstep4, - bf=cmbx8, - it=cmti8, - sl=cmsl8, - bi=cmbxti10 at 8pt, - bs=cmbxsl10 at 8pt, - sc=cmcsc10 at 8pt] - -\definebodyfont [8pt] [ss] - [ tf=cmss8, - tfa=cmss8 scaled \magstep1, - tfb=cmss8 scaled \magstep2, - tfc=cmss8 scaled \magstep3, - tfd=cmss8 scaled \magstep4, - bf=cmssbx10 at 8pt, - it=cmssi8, - sl=cmssi8, - bi=cmssbx10 at 8pt, - bs=cmssbx10 at 8pt, - sc=cmss8] - -\definebodyfont [8pt] [tt] - [tf=cmtt8, - sl=cmsltt10 at 8pt, - it=cmitt10 at 8pt] - -\definebodyfont [8pt] [mm] - [ex=cmex10 at 8pt, - mi=cmmi8, - sy=cmsy8] - -\definebodyfont [8pt] [hw] - [tf=cmtt8] - -\definebodyfont [8pt] [cg] - [tf=cmtt8] - -\definebodyfont [7pt] [rm] - [ tf=cmr7, - tfa=cmr7 scaled \magstep1, - tfb=cmr7 scaled \magstep2, - tfc=cmr7 scaled \magstep3, - tfd=cmr7 scaled \magstep4, - bf=cmbx7, - it=cmti10 at 7pt, - sl=cmsl10 at 7pt, - bi=cmbxti10 at 7pt, - bs=cmbxsl10 at 7pt, - sc=cmcsc10 at 7pt] - -\definebodyfont [7pt] [ss] - [ tf=cmss10 at 7pt, - tfa=cmss8, % scaled 1000, - tfb=cmss8 scaled \magstep1, - tfc=cmss8 scaled \magstep2, - tfd=cmss8 scaled \magstep3, - bf=cmssbx10 at 7pt, - it=cmssi10 at 7pt, - sl=cmssi10 at 7pt, - bs=cmssbx10 at 7pt, - bi=cmssbx10 at 7pt, - sc=cmss10 at 7pt] - -\definebodyfont [7pt] [tt] - [tf=cmtt10 at 7pt, - sl=cmsltt10 at 7pt, - it=cmitt10 at 7pt] - -\definebodyfont [7pt] [mm] - [ex=cmex10 at 7pt, - mi=cmmi7, - sy=cmsy7] - -\definebodyfont [6pt] [rm] - [ tf=cmr6, - tfa=cmr6 scaled \magstep1, - tfb=cmr6 scaled \magstep2, - tfc=cmr6 scaled \magstep3, - tfd=cmr6 scaled \magstep4, - bf=cmbx6, - it=cmti10 at 6pt, - sl=cmsl10 at 6pt, - bi=cmbxti10 at 6pt, - bs=cmbxsl10 at 6pt, - sc=cmcsc10 at 6pt] - -\definebodyfont [6pt] [ss] - [tf=cmss10 at 6pt, - bf=cmssbx10 at 6pt, - it=cmssi10 at 6pt, - sl=cmssi10 at 6pt, - bs=cmssbx10 at 6pt, - bi=cmssbx10 at 6pt, - sc=cmss10 at 6pt] - -\definebodyfont [6pt] [tt] - [tf=cmtt10 at 6pt, - sl=cmsltt10 at 6pt, - it=cmitt10 at 6pt] - -\definebodyfont [6pt] [mm] - [ex=cmex10 at 6pt, - mi=cmmi6, - sy=cmsy6] - -\definebodyfont [5pt] [rm] - [ tf=cmr5, - tfa=cmr5 scaled \magstep1, - tfb=cmr5 scaled \magstep2, - tfc=cmr5 scaled \magstep3, - tfd=cmr5 scaled \magstep4, - bf=cmbx5, - it=cmti10 at 5pt, - sl=cmsl10 at 5pt, - bi=cmbxti10 at 5pt, - bs=cmbxsl10 at 5pt, - sc=cmcsc10 at 5pt] - -\definebodyfont [5pt] [ss] - [tf=cmss10 at 5pt, - bf=cmssbx10 at 5pt, - it=cmssi10 at 5pt, - sl=cmssi10 at 5pt, - bs=cmssbx10 at 5pt, - bi=cmssbx10 at 5pt, - sc=cmss10 at 5pt] - -\definebodyfont [5pt] [tt] - [tf=cmtt10 at 5pt, - sl=cmsltt10 at 5pt, - it=cmitt10 at 5pt] - -\definebodyfont [5pt] [mm] - [ex=cmex10 at 5pt, - mi=cmmi5, - sy=cmsy5] - -\definebodyfont [4pt] [rm] - [tf=cmr10 at 4pt, - bf=cmbx10 at 4pt, - it=cmti10 at 4pt, - sl=cmsl10 at 4pt, - bi=cmbxti10 at 4pt, - bs=cmbxsl10 at 4pt, - sc=cmr10 at 4pt] - -\definebodyfont [4pt] [ss] - [tf=cmss10 at 4pt, - bf=cmssbx10 at 4pt, - it=cmssi10 at 4pt, - sl=cmssi10 at 4pt, - bs=cmssbx10 at 4pt, - bi=cmssbx10 at 4pt, - sc=cmss10 at 4pt] - -\definebodyfont [4pt] [tt] - [tf=cmtt10 at 4pt, - sl=cmsltt10 at 4pt, - it=cmitt10 at 4pt] - -\definebodyfont [4pt] [mm] - [ex=cmex10 at 4pt, - mi=cmmi10 at 4pt, - sy=cmsy10 at 4pt] - -%D At the cost of some more memory we preload a few more -%D fonts. - -\definebodyfont [12pt] [rm] - [bfa=cmbx12 scaled \magstep1, - bfb=cmbx12 scaled \magstep2, - bfc=cmbx12 scaled \magstep3, - bfd=cmbx12 scaled \magstep4, - ita=cmti12 scaled \magstep1, - itb=cmti12 scaled \magstep2, - itc=cmti12 scaled \magstep3, - itd=cmti12 scaled \magstep4, - sla=cmsl12 scaled \magstep1, - slb=cmsl12 scaled \magstep2, - slc=cmsl12 scaled \magstep3, - sld=cmsl12 scaled \magstep4, - bsa=cmbxsl10 scaled \magstep2, - bsb=cmbxsl10 scaled \magstep3, - bsc=cmbxsl10 scaled \magstep4, - bsd=cmbxsl10 scaled \magstep5, - sca=cmcsc10 scaled \magstep2, - scb=cmcsc10 scaled \magstep3, - scc=cmcsc10 scaled \magstep4, - scd=cmcsc10 scaled \magstep5] - -\definebodyfont [11pt] [rm] - [bfa=cmbx9 scaled \magstep2, - bfb=cmbx9 scaled \magstep3, - bfc=cmbx9 scaled \magstep4, - bfd=cmbx9 scaled \magstep5, - ita=cmti9 scaled \magstep2, - itb=cmti9 scaled \magstep3, - itc=cmti9 scaled \magstep4, - itd=cmsl9 scaled \magstep5, - sla=cmsl9 scaled \magstep2, - slb=cmsl9 scaled \magstep3, - slc=cmsl9 scaled \magstep4, - sld=cmsl9 scaled \magstep5, - sca=cmcsc9 scaled \magstep2, - scb=cmcsc9 scaled \magstep3, - scc=cmcsc9 scaled \magstep4, - scd=cmcsc9 scaled \magstep5] - -\definebodyfont [10pt] [rm] - [bfa=cmbx10 scaled \magstep1, - bfb=cmbx10 scaled \magstep2, - bfc=cmbx10 scaled \magstep3, - bfd=cmbx10 scaled \magstep4, - ita=cmti10 scaled \magstep1, - itb=cmti10 scaled \magstep2, - itc=cmti10 scaled \magstep3, - itd=cmti10 scaled \magstep4, - sla=cmsl10 scaled \magstep1, - slb=cmsl10 scaled \magstep2, - slc=cmsl10 scaled \magstep3, - sld=cmsl10 scaled \magstep4, - bsa=cmbxsl10 scaled \magstep1, - bsb=cmbxsl10 scaled \magstep2, - bsc=cmbxsl10 scaled \magstep3, - bsd=cmbxsl10 scaled \magstep4, - sca=cmcsc10 scaled \magstep1, - scb=cmcsc10 scaled \magstep2, - scc=cmcsc10 scaled \magstep3, - scd=cmcsc10 scaled \magstep4] - -\definebodyfont [9pt] [rm] - [bfa=cmbx9 scaled \magstep1, - bfb=cmbx9 scaled \magstep2, - bfc=cmbx9 scaled \magstep3, - bfd=cmbx9 scaled \magstep4, - ita=cmti9 scaled \magstep1, - itb=cmti9 scaled \magstep2, - itc=cmti9 scaled \magstep3, - itd=cmti9 scaled \magstep4, - sla=cmsl9 scaled \magstep1, - slb=cmsl9 scaled \magstep2, - slc=cmsl9 scaled \magstep3, - sld=cmsl9 scaled \magstep4, - sca=cmcsc9 scaled \magstep1, - scb=cmcsc9 scaled \magstep2, - scc=cmcsc9 scaled \magstep3, - scd=cmcsc9 scaled \magstep4] - -\definebodyfont [8pt] [rm] - [bfa=cmbx8 scaled \magstep1, - bfb=cmbx8 scaled \magstep2, - bfc=cmbx8 scaled \magstep3, - bfd=cmbx8 scaled \magstep4, - sca=cmcsc8 scaled \magstep1, - scb=cmcsc8 scaled \magstep2, - scc=cmcsc8 scaled \magstep3, - scd=cmcsc8 scaled \magstep4] - -\definebodyfont [7pt] [rm] - [bfa=cmbx7 scaled \magstep1, - bfb=cmbx7 scaled \magstep2, - bfc=cmbx7 scaled \magstep3, - bfd=cmbx7 scaled \magstep4] - -\definebodyfont [6pt] [rm] - [bfa=cmbx6 scaled \magstep1, - bfb=cmbx6 scaled \magstep2, - bfc=cmbx6 scaled \magstep3, - bfd=cmbx6 scaled \magstep4] - -\definebodyfont [12pt] [ss] - [bfa=cmss12 scaled \magstep1, - bfb=cmss12 scaled \magstep2, - bfc=cmss12 scaled \magstep3, - bfd=cmss12 scaled \magstep4, - sla=cmssi10 scaled \magstep2, - slb=cmssi10 scaled \magstep3, - slc=cmssi10 scaled \magstep4, - sld=cmssi10 scaled \magstep5, - bsa=cmssi10 scaled \magstep2, - bsb=cmssi10 scaled \magstep3, - bsc=cmssi10 scaled \magstep4, - bsd=cmssi10 scaled \magstep5] - -\definebodyfont [10pt] [ss] - [bfa=cmss10 scaled \magstep1, - bfb=cmss10 scaled \magstep2, - bfc=cmss10 scaled \magstep3, - bfd=cmss10 scaled \magstep4, - sla=cmssi10 scaled \magstep1, - slb=cmssi10 scaled \magstep2, - slc=cmssi10 scaled \magstep3, - sld=cmssi10 scaled \magstep4, - bsa=cmssi10 scaled \magstep1, - bsb=cmssi10 scaled \magstep2, - bsc=cmssi10 scaled \magstep3, - bsd=cmssi10 scaled \magstep4] - -\definebodyfont [12pt] [tt] - [sla=cmsltt10 scaled \magstep2, - slb=cmsltt10 scaled \magstep3, - slc=cmsltt10 scaled \magstep4, - sld=cmsltt10 scaled \magstep5] - -\definebodyfont [10pt] [tt] - [sla=cmsltt10 scaled \magstep1, - slb=cmsltt10 scaled \magstep2, - slc=cmsltt10 scaled \magstep3, - sld=cmsltt10 scaled \magstep4] - -%D Small is beautiful, but sometimes large is needed. We -%D therefore define some rather large Computer Modern Roman -%D bodyfont sizes, that can be used in for instance headings. - -%D We can use \type{sa} here because there are no genuine -%D design sizes larger than 12pt (exept from cmr17). - -\definebodyfont [14.4pt,17.3pt,20.7pt] [rm] - [tf=cmr12 sa 1, - bf=cmbx12 sa 1, - it=cmti12 sa 1, - sl=cmsl12 sa 1, - bi=cmbxti10 sa 1, - bs=cmbxsl10 sa 1, - tfa=cmr12 sa 1.200, - tfb=cmr12 sa 1.440, - tfc=cmr12 sa 1.728, - tfd=cmr12 sa 2.074, - sc=cmcsc10 sa 1.200] - -\definebodyfont [14.4pt,17.3pt,20.7pt] [ss] - [tf=cmss12 sa 1, - bf=cmssbx10 sa 1, - it=cmssi12 sa 1, - sl=cmssi12 sa 1, - bi=cmssbx10 sa 1, - bs=cmssbx10 sa 1, - tfa=cmss12 sa 1.200, - tfb=cmss12 sa 1.440, - tfc=cmss12 sa 1.728, - tfd=cmss12 sa 2.074, - sc=cmss12 sa 1] - -\definebodyfont [14.4pt,17.3pt,20.7pt] [tt] - [tf=cmtt12 sa 1, - sl=cmsltt10 sa 1, - it=cmitt10 sa 1, - tfa=cmtt12 sa 1.200, - tfb=cmtt12 sa 1.440, - tfc=cmtt12 sa 1.728, - tfd=cmtt12 sa 2.074] - -\definebodyfont [14.4pt,17.3pt,20.7pt] [mm] - [ex=cmex10 sa 1, - mi=cmmi12 sa 1, - sy=cmsy10 sa 1] - -% hack to prevent mapping of filenames, watch the space! - -\definebodyfont [12pt] [mm] [mr= cmr12] -\definebodyfont [11pt] [mm] [mr= cmr10 at 11pt] -\definebodyfont [10pt] [mm] [mr= cmr10] -\definebodyfont [9pt] [mm] [mr= cmr9] -\definebodyfont [8pt] [mm] [mr= cmr8] -\definebodyfont [7pt] [mm] [mr= cmr7] -\definebodyfont [6pt] [mm] [mr= cmr6] -\definebodyfont [5pt] [mm] [mr= cmr5] -\definebodyfont [4pt] [mm] [mr= cmr5] - -\definebodyfont [14.4pt] [mm] [mr= cmr12 at 14.4pt] -\definebodyfont [17.3pt] [mm] [mr= cmr12 at 17.3pt] -\definebodyfont [20.7pt] [mm] [mr= cmr12 at 20.7pt] - -\endinput diff --git a/tex/context/base/font-con.tex b/tex/context/base/font-con.tex deleted file mode 100644 index 4f180904b..000000000 --- a/tex/context/base/font-con.tex +++ /dev/null @@ -1,65 +0,0 @@ -%D \module -%D [ file=font-con, -%D version=1995.1.1, -%D title=\CONTEXT\ Font Macros, -%D subtitle=Concrete Roman, -%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 The Concrete Modern Roman is just an alternative Computer -%D Modern Roman. - -\definebodyfont [12pt] [rm] - [tf=ccr10 at 12pt, % scaled \magstep1 - it=ccti10 at 12pt, % scaled \magstep1 - sl=ccsl10 at 12pt, % scaled \magstep1 - sc=cccsc10 at 12pt] % scaled \magstep1 - -\definebodyfont [11pt] [rm] - [tf=ccr10 at 11pt, % scaled \magstephalf - it=ccti10 at 11pt, % scaled \magstephalf - sl=ccsl10 at 11pt, % scaled \magstephalf - sc=cccsc10 at 11pt] % scaled \magstephalf - -\definebodyfont [10pt] [rm] - [tf=ccr10, - it=ccti10, - sl=ccsl10, - sc=cccsc10] - -\definebodyfont [9pt] [rm] - [tf=ccr9, - it=ccr9, - sl=ccr9, - sc=ccr9] - -\definebodyfont [8pt] [rm] - [tf=ccr8, - it=ccr8, - sl=ccr8, - sc=ccr8] - -\definebodyfont [7pt] [rm] - [tf=ccr7, - it=ccr7, - sl=ccr7, - sc=ccr7] - -\definebodyfont [6pt] [rm] - [tf=ccr6, - it=ccr6, - sl=ccr6, - sc=ccr6] - -\definebodyfont [5pt] [rm] - [tf=ccr5, - it=ccr5, - sl=ccr5, - sc=ccr5] - -\endinput diff --git a/tex/context/base/font-csr.tex b/tex/context/base/font-csr.tex deleted file mode 100644 index c9149f666..000000000 --- a/tex/context/base/font-csr.tex +++ /dev/null @@ -1,111 +0,0 @@ -%D \module -%D [ file=font-csr, -%D version=1998.12.1, -%D title=\CONTEXT\ Font Macros, -%D subtitle=Computer Modern Czech/Slovak, -%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 Than. - -% \definefontsynonym [Serif] [csr10] [encoding=il2] -% \definefontsynonym [SerifBold] [csbx10] [encoding=il2] -% \definefontsynonym [SerifItalic] [csti10] [encoding=il2] -% \definefontsynonym [SerifSlanted] [cssl10] [encoding=il2] -% \definefontsynonym [SerifBoldItalic] [csbxti10] [encoding=il2] -% \definefontsynonym [SerifBoldSlanted] [csbxsl10] [encoding=il2] -% \definefontsynonym [SerifCaps] [csr10] [encoding=il2] -% -% \definefontsynonym [Sans] [csss10] [encoding=il2] -% \definefontsynonym [SansBold] [csssbx10] [encoding=il2] -% \definefontsynonym [SansItalic] [csssi10] [encoding=il2] -% \definefontsynonym [SansSlanted] [csssi10] [encoding=il2] -% \definefontsynonym [SansBoldItalic] [csssbx10] [encoding=il2] -% \definefontsynonym [SansBoldSlanted] [csssbx10] [encoding=il2] -% \definefontsynonym [SansCaps] [csss10] [encoding=il2] -% -% \definefontsynonym [Mono] [cstt10] [encoding=il2] -% \definefontsynonym [MonoBold] [cstt10] [encoding=il2] -% \definefontsynonym [MonoItalic] [csitt10] [encoding=il2] -% \definefontsynonym [MonoSlanted] [cssltt10] [encoding=il2] -% \definefontsynonym [MonoBoldItalic] [cstt10] [encoding=il2] -% \definefontsynonym [MonoBoldSlanted] [cstt10] [encoding=il2] -% \definefontsynonym [MonoCaps] [cstt10] [encoding=il2] -% -% \definefontsynonym [MathRoman] [csr10] [encoding=il2] -% \definefontsynonym [MathExtension] [cmex10] -% \definefontsynonym [MathItalic] [cmmi10] -% \definefontsynonym [MathSymbol] [cmsy10] -% -% \definefontsynonym [OldStyle] [MathItalic] -% -% \definebodyfont -% [14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt] -% [rm,ss,tt,mm] -% [default] - -\input font-cmr.tex - -\definefontsynonym [cmr10] [csr10] [encoding=il2] -\definefontsynonym [cmr12] [csr12] [encoding=il2] -\definefontsynonym [cmr17] [csr17] [encoding=il2] -\definefontsynonym [cmr9] [csr9] [encoding=il2] -\definefontsynonym [cmr8] [csr8] [encoding=il2] -\definefontsynonym [cmr7] [csr7] [encoding=il2] -\definefontsynonym [cmr6] [csr6] [encoding=il2] -\definefontsynonym [cmr5] [csr5] [encoding=il2] -\definefontsynonym [cmbx10] [csbx10] [encoding=il2] -\definefontsynonym [cmbx12] [csbx12] [encoding=il2] -\definefontsynonym [cmbx9] [csbx9] [encoding=il2] -\definefontsynonym [cmbx8] [csbx8] [encoding=il2] -\definefontsynonym [cmbx7] [csbx7] [encoding=il2] -\definefontsynonym [cmbx6] [csbx6] [encoding=il2] -\definefontsynonym [cmbx5] [csbx5] [encoding=il2] -\definefontsynonym [cmb10] [csb10] [encoding=il2] -\definefontsynonym [cmti10] [csti10] [encoding=il2] -\definefontsynonym [cmti12] [csti12] [encoding=il2] -\definefontsynonym [cmti9] [csti9] [encoding=il2] -\definefontsynonym [cmti8] [csti8] [encoding=il2] -\definefontsynonym [cmti7] [csti7] [encoding=il2] -\definefontsynonym [cmtt10] [cstt10] [encoding=il2] -\definefontsynonym [cmtt12] [cstt12] [encoding=il2] -\definefontsynonym [cmtt9] [cstt9] [encoding=il2] -\definefontsynonym [cmtt8] [cstt8] [encoding=il2] -\definefontsynonym [cmsltt10] [cssltt10] [encoding=il2] -\definefontsynonym [cmvtt10] [csvtt10] [encoding=il2] -\definefontsynonym [cmss10] [csss10] [encoding=il2] -\definefontsynonym [cmss12] [csss12] [encoding=il2] -\definefontsynonym [cmss17] [csss17] [encoding=il2] -\definefontsynonym [cmss9] [csss9] [encoding=il2] -\definefontsynonym [cmss8] [csss8] [encoding=il2] -\definefontsynonym [cmssi10] [csssi10] [encoding=il2] -\definefontsynonym [cmssi12] [csssi12] [encoding=il2] -\definefontsynonym [cmssi17] [csssi17] [encoding=il2] -\definefontsynonym [cmssi9] [csssi9] [encoding=il2] -\definefontsynonym [cmssi8] [csssi8] [encoding=il2] -\definefontsynonym [cmsl10] [cssl10] [encoding=il2] -\definefontsynonym [cmsl12] [cssl12] [encoding=il2] -\definefontsynonym [cmsl9] [cssl9] [encoding=il2] -\definefontsynonym [cmsl8] [cssl8] [encoding=il2] -\definefontsynonym [cmssq8] [csssq8] [encoding=il2] -\definefontsynonym [cmssqi8] [csssqi8] [encoding=il2] -\definefontsynonym [cmssdc10] [csssdc10] [encoding=il2] -\definefontsynonym [cmssbx10] [csssbx10] [encoding=il2] -\definefontsynonym [cminch] [csinch] [encoding=il2] -\definefontsynonym [cmdunh10] [csdunh10] [encoding=il2] -\definefontsynonym [cmbxsl10] [csbxsl10] [encoding=il2] -\definefontsynonym [cmff10] [csff10] [encoding=il2] -\definefontsynonym [cmfib8] [csfib8] [encoding=il2] -\definefontsynonym [cmbxti10] [csbxti10] [encoding=il2] -\definefontsynonym [cmitt10] [csitt10] [encoding=il2] -\definefontsynonym [cmu10] [csu10] [encoding=il2] -\definefontsynonym [cmfi10] [csfi10] [encoding=il2] -\definefontsynonym [cmcsc10] [cscsc10] [encoding=il2] -\definefontsynonym [cmtcsc10] [cstcsc10] [encoding=il2] - -\endinput diff --git a/tex/context/base/font-eul.tex b/tex/context/base/font-eul.tex deleted file mode 100644 index 0d8b747cc..000000000 --- a/tex/context/base/font-eul.tex +++ /dev/null @@ -1,177 +0,0 @@ -%D \module -%D [ file=font-eul, -%D version=1995.1.1, -%D title=\CONTEXT\ Font Macros, -%D subtitle=Euler, -%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 The Euler Fonts are designed by Herman Zapf and can be -%D used with the Concrete Fonts defined elsewhere. - -\definebodyfont [12pt] [mm] % scaled \magstep1 - [mi=eurm10 at 12pt, - ex=euex10 at 12pt, - ma=euex10 at 12pt, - mb=eusm10 at 12pt, - mc=eufm10 at 12pt] - -\definebodyfont [11pt] [mm] % scaled \magstephalf - [mi=eurm10 at 11pt, - ex=euex10 at 11pt, - ma=euex10 at 11pt, - mb=eusm10 at 11pt, - mc=eufm10 at 11pt] - -\definebodyfont [10pt] [mm] - [mi=eurm10, - ex=euex10, - ma=euex10, - mb=eusm10, - mc=eufm10] - -\definebodyfont [9pt] [mm] - [mi=eurm10 at 9pt, - ex=euex10 at 9pt, - ma=euex10 at 9pt, - mb=eusm10 at 9pt, - mc=eufm10 at 9pt] - -\definebodyfont [8pt] [mm] - [mi=eurm7 at 8pt, - ex=euex10 at 8pt, - ma=euex10 at 8pt, - mb=eusm7 at 8pt, - mc=eufm7 at 8pt] - -\definebodyfont [7pt] [mm] - [mi=eurm7, - ex=euex10 at 7pt, - ma=euex10 at 7pt, - mb=eusm7, - mc=eufm7] - -\definebodyfont [6pt] [mm] - [mi=eurm7 at 6pt, - ex=euex10 at 6pt, - ma=euex10 at 6pt, - mb=eusm7 at 6pt, - mc=eufm7 at 6pt] - -\definebodyfont [5pt] [mm] - [mi=eurm5, - ex=euex10 at 5pt, - ma=euex10 at 5pt, - mb=eusm5, - mc=eufm5] - -%D Here we copy part of the files that are distributed along -%D with these fonts, but first we define some extra families. - -\let\exfam=\mafam % was A -\let\smfam=\mbfam % was 8 -\let\fmfam=\mcfam % was 9 - -\let\hexexfam=\hexmafam -\let\hexsmfam=\hexmbfam -\let\hexfmfam=\hexmcfam - -%D Now we're up to the redefinitions. - -\mathcode`0="7130 -\mathcode`1="7131 -\mathcode`2="7132 -\mathcode`3="7133 -\mathcode`4="7134 -\mathcode`5="7135 -\mathcode`6="7136 -\mathcode`7="7137 -\mathcode`8="7138 -\mathcode`9="7139 - -\mathchardef\intop ="1\hexexfam 52 -\mathchardef\ointop ="1\hexexfam 48 -\mathchardef\coprod ="1\hexexfam 60 -\mathchardef\prod ="1\hexexfam 51 -\mathchardef\sum ="1\hexexfam 50 -\mathchardef\braceld ="\hexexfam 7A -\mathchardef\bracerd ="\hexexfam 7B -\mathchardef\bracelu ="\hexexfam 7C -\mathchardef\braceru ="\hexexfam 7D -\mathchardef\infty ="0\hexexfam 31 - -\mathchardef\nearrow ="3\hexexfam 25 -\mathchardef\searrow ="3\hexexfam 26 -\mathchardef\nwarrow ="3\hexexfam 2D -\mathchardef\swarrow ="3\hexexfam 2E -\mathchardef\Leftrightarrow ="3\hexexfam 2C -\mathchardef\Leftarrow ="3\hexexfam 28 -\mathchardef\Rightarrow ="3\hexexfam 29 -\mathchardef\leftrightarrow ="3\hexexfam 24 -\mathchardef\leftarrow ="3\hexexfam 20 -\mathchardef\rightarrow ="3\hexexfam 21 - -\let\gets =\leftarrow -\let\to =\rightarrow - -\mathcode`\^^W ="3\hexexfam 24 -\mathcode`\^^X ="3\hexexfam 20 -\mathcode`\^^Y ="3\hexexfam 21 -\mathcode`\^^K ="3\hexexfam 22 -\mathcode`\^^A ="3\hexexfam 23 - -\def\uparrow {\delimiter"3\hexexfam 22378 } -\def\downarrow {\delimiter"3\hexexfam 23379 } -\def\updownarrow {\delimiter"3\hexexfam 6C33F } -\def\Uparrow {\delimiter"3\hexexfam 2A37E } -\def\Downarrow {\delimiter"3\hexexfam 2B37F } -\def\Updownarrow {\delimiter"3\hexexfam 6D377 } - -\mathchardef\leftharpoonup ="3\hexexfam 18 -\mathchardef\leftharpoondown ="3\hexexfam 19 -\mathchardef\rightharpoonup ="3\hexexfam 1A -\mathchardef\rightharpoondown ="3\hexexfam 1B - -\mathcode`+="2\hexfmfam 2B -\mathcode`-="2\hexfmfam 2D -\mathcode`!="0\hexfmfam 21 -\mathcode`(="4\hexfmfam 28 \delcode`(="\hexfmfam 28300 -\mathcode`)="5\hexfmfam 29 \delcode`)="\hexfmfam 29301 -\mathcode`[="4\hexfmfam 5B \delcode`[="\hexfmfam 5B302 -\mathcode`]="5\hexfmfam 5D \delcode`]="\hexfmfam 5D303 -\mathcode`=="3\hexfmfam 3D - -\mathchardef\Relbar ="303D % we need the old = to match \Arrows -\mathchardef\Gamma ="7100 -\mathchardef\Delta ="7101 -\mathchardef\Theta ="7102 -\mathchardef\Lambda ="7103 -\mathchardef\Xi ="7104 -\mathchardef\Pi ="7105 -\mathchardef\Sigma ="7106 -\mathchardef\Upsilon ="7107 -\mathchardef\Phi ="7108 -\mathchardef\Psi ="7109 -\mathchardef\Omega ="710A - -\let\varsigma =\sigma % Euler doesn't have these -\let\varrho =\rho % Euler doesn't have these -\mathchardef\aleph ="0D40 - -\def\rbrace {\delimiter"5\hexsmfam 67A09 } \let\}=\rbrace -\def\lbrace {\delimiter"4\hexsmfam 66A08 } \let\{=\lbrace - -\mathchardef\leq ="3\hexsmfam 14 \let\le=\leq -\mathchardef\geq ="3\hexsmfam 15 \let\ge=\geq -\mathchardef\Re ="0\hexsmfam 3C -\mathchardef\Im ="0\hexsmfam 3D - -\def\vert {\delimiter"\hexsmfam 6A30C } -\def\backslash {\delimiter"\hexsmfam 6E30F } - -\endinput diff --git a/tex/context/base/font-fil.tex b/tex/context/base/font-fil.tex deleted file mode 100644 index 84411624d..000000000 --- a/tex/context/base/font-fil.tex +++ /dev/null @@ -1,121 +0,0 @@ -%D \module -%D [ file=font-fil, -%D version=1998.11.4, -%D title=\CONTEXT\ Font Macros, -%D subtitle=Original Font Names, -%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. - -\definefontsynonym [ComputerModern] [cmr10] -\definefontsynonym [ComputerModern-Bold] [cmbx10] -\definefontsynonym [ComputerModern-Italic] [cmti10] -\definefontsynonym [ComputerModern-Slanted] [cmsl10] -\definefontsynonym [ComputerModern-BoldItalic] [cmbxti10] -\definefontsynonym [ComputerModern-BoldSlanted] [cmbxsl10] -\definefontsynonym [ComputerModern-Caps] [cmr10] - -\definefontsynonym [ComputerModernSans] [cmss10] -\definefontsynonym [ComputerModernSans-Bold] [cmssbx10] -\definefontsynonym [ComputerModernSans-Italic] [cmssi10] -\definefontsynonym [ComputerModernSans-Slanted] [cmssi10] -\definefontsynonym [ComputerModernSans-BoldItalic] [cmssbx10] -\definefontsynonym [ComputerModernSans-BoldSlanted] [cmssbx10] -\definefontsynonym [ComputerModernSans-Caps] [cmss10] - -\definefontsynonym [ComputerModernMono] [cmtt10] -\definefontsynonym [ComputerModernMono-Bold] [cmtt10] -\definefontsynonym [ComputerModernMono-Italic] [cmitt10] -\definefontsynonym [ComputerModernMono-Slanted] [cmsltt10] -\definefontsynonym [ComputerModernMono-BoldItalic] [cmtt10] -\definefontsynonym [ComputerModernMono-BoldSlanted] [cmtt10] -\definefontsynonym [ComputerModernMono-Caps] [cmtt10] - -\definefontsynonym [ComputerModernMath-Roman] [cmr10] -\definefontsynonym [ComputerModernMath-Extension] [cmex10] -\definefontsynonym [ComputerModernMath-Italic] [cmmi10] -\definefontsynonym [ComputerModernMath-Symbol] [cmsy10] - -\definefontsynonym [Courier] [com] [encoding=texnansi] -\definefontsynonym [Courier-Oblique] [coo] [encoding=texnansi] -\definefontsynonym [Courier-Bold] [cob] [encoding=texnansi] -\definefontsynonym [Courier-BoldOblique] [cobo] [encoding=texnansi] - -\definefontsynonym [Helvetica] [hv] [encoding=texnansi] -\definefontsynonym [Helvetica-Oblique] [hvo] [encoding=texnansi] -\definefontsynonym [Helvetica-Bold] [hvb] [encoding=texnansi] -\definefontsynonym [Helvetica-BoldOblique] [hvbo] [encoding=texnansi] - -\definefontsynonym [Times-Roman] [tir] [encoding=texnansi] -\definefontsynonym [Times-Italic] [tii] [encoding=texnansi] -\definefontsynonym [Times-Bold] [tib] [encoding=texnansi] -\definefontsynonym [Times-BoldItalic] [tibi] [encoding=texnansi] - -\definefontsynonym [Times-MathRoman] [tir] [encoding=texnansi] -\definefontsynonym [Times-MathExtension] [mtex] -\definefontsynonym [Times-MathItalic] [mtmi] -\definefontsynonym [Times-MathSymbol] [mtsy] - -\definefontsynonym [LucidaBlackletter] [lbl] [encoding=texnansi] -\definefontsynonym [LucidaBright] [lbr] [encoding=texnansi] -\definefontsynonym [LucidaBright-Demi] [lbd] [encoding=texnansi] -\definefontsynonym [LucidaBright-DemiItalic] [lbdi] [encoding=texnansi] -\definefontsynonym [LucidaBright-Italic] [lbi] [encoding=texnansi] -\definefontsynonym [LucidaBrightSmallcaps] [lbrsc] [encoding=texnansi] -\definefontsynonym [LucidaBrightSmallcaps-Demi] [lbdsc] [encoding=texnansi] -\definefontsynonym [LucidaBright-Oblique] [lbsl] [encoding=texnansi] -\definefontsynonym [LucidaCalligraphy-Italic] [lbc] [encoding=texnansi] -\definefontsynonym [LucidaCasual] [lbkr] [encoding=texnansi] -\definefontsynonym [LucidaCasual-Italic] [lbki] [encoding=texnansi] -\definefontsynonym [LucidaFax] [lfr] [encoding=texnansi] -\definefontsynonym [LucidaFax-Demi] [lfd] [encoding=texnansi] -\definefontsynonym [LucidaFax-DemiItalic] [lfdi] [encoding=texnansi] -\definefontsynonym [LucidaFax-Italic] [lfi] [encoding=texnansi] -\definefontsynonym [LucidaHandwriting-Italic] [lbh] [encoding=texnansi] -\definefontsynonym [LucidaSans] [lsr] [encoding=texnansi] -\definefontsynonym [LucidaSans-Demi] [lsd] [encoding=texnansi] -\definefontsynonym [LucidaSans-DemiItalic] [lsdi] [encoding=texnansi] -\definefontsynonym [LucidaSans-Italic] [lsi] [encoding=texnansi] -\definefontsynonym [LucidaSans-Bold] [lsb] [encoding=texnansi] -\definefontsynonym [LucidaSans-BoldItalic] [lsbi] [encoding=texnansi] -\definefontsynonym [LucidaSans-Typewriter] [lstr] [encoding=texnansi] -\definefontsynonym [LucidaSans-TypewriterBold] [lstb] [encoding=texnansi] -\definefontsynonym [LucidaSans-TypewriterBoldOblique] [lstbo] [encoding=texnansi] -\definefontsynonym [LucidaSans-TypewriterOblique] [lsto] [encoding=texnansi] -\definefontsynonym [LucidaTypewriter] [lbtr] [encoding=texnansi] -\definefontsynonym [LucidaTypewriterBold] [lbtb] [encoding=texnansi] -\definefontsynonym [LucidaTypewriterBoldOblique] [lbtbo] [encoding=texnansi] -\definefontsynonym [LucidaTypewriterOblique] [lbto] [encoding=texnansi] -\definefontsynonym [LucidaNewMath-AltDemiItalic] [lbmdo] [encoding=texnansi] -\definefontsynonym [LucidaNewMath-AltItalic] [lbmo] [encoding=texnansi] -\definefontsynonym [LucidaNewMath-Arrows] [lbma] [encoding=texnansi] -\definefontsynonym [LucidaNewMath-Arrows-Demi] [lbmad] [encoding=texnansi] -\definefontsynonym [LucidaNewMath-Extension] [lbme] [encoding=texnansi] -\definefontsynonym [LucidaNewMath-Roman] [lbmr] [encoding=texnansi] -\definefontsynonym [LucidaNewMath-Demibold] [lbmd] [encoding=texnansi] -\definefontsynonym [LucidaNewMath-DemiItalic] [lbmdi] [encoding=texnansi] -\definefontsynonym [LucidaNewMath-Italic] [lbmi] [encoding=texnansi] -\definefontsynonym [LucidaNewMath-Symbol] [lbms] [encoding=texnansi] -\definefontsynonym [LucidaNewMath-Symbol-Demi] [lbmsd] [encoding=texnansi] - -\definefontsynonym [Informal-Regular] [ifrm10cm] -\definefontsynonym [Informal-Bold] [ifrb10cm] -\definefontsynonym [Informal-Oblique] [ifro10cm] -\definefontsynonym [Informal-BoldOblique] [ifbo10cm] - -\definefontsynonym [Informal-MathExtendedSymbols] [ifex10] -\definefontsynonym [Informal-MathItalics] [ifmi10] -\definefontsynonym [Informal-MathSymbols] [ifsy10] - -\definefontsynonym [AntykwaTorunska-Bold] [anttb] [encoding=texnansi] -\definefontsynonym [AntykwaTorunska-Regular] [anttr] [encoding=texnansi] -\definefontsynonym [AntykwaTorunska-Italic] [anttri] [encoding=texnansi] - -\definefontsynonym [ContextNavigation] [contnav] -\definefontsynonym [RalfSmithFormalScript] [rsfs10] - -\endinput diff --git a/tex/context/base/font-heb.tex b/tex/context/base/font-heb.tex index 573189618..2982b3dfc 100644 --- a/tex/context/base/font-heb.tex +++ b/tex/context/base/font-heb.tex @@ -1,3 +1,5 @@ +% NOT YET ADAPTED TO THE NEW FONT MACROS + \input font-arb.tex \writestatus{loading}{Context Font Macros / Hebrew (ArabTeX) support} diff --git a/tex/context/base/font-ini.tex b/tex/context/base/font-ini.tex index 2347ddcd3..bf904b9ab 100644 --- a/tex/context/base/font-ini.tex +++ b/tex/context/base/font-ini.tex @@ -1,6 +1,7 @@ %D \module %D [ file=font-ini, -%D version=1998.09.11, +%D version=1998.09.11, % (second) +%D version=2001.02.20, % (third) %D title=\CONTEXT\ Font Macros, %D subtitle=Initialization, %D author=Hans Hagen, @@ -8,13 +9,40 @@ %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. +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. \writestatus{loading}{Context Font Macros (ini)} \unprotect - + +% adapted, else wrong interlinespace + +\def\setfontparameters% + {\synchronizefontsfalse + \the\everybodyfont + \synchronizefontstrue} + +% handy + +\newcounter\pushedfont + +\def\savefont% + {\increment\pushedfont + \expanded{\definefont[\string\pushedfont:\pushedfont][\lastfontname]}} + +\def\restorefont% + {\getvalue{\string\pushedfont:\pushedfont}} + +% new + +\def\dodefinedfont[#1]% + {\iffirstargument\definefont[\string\definedfont][#1]\fi + \getvalue{\string\definedfont}} + +\def\definedfont% + {\dosingleempty\dodefinedfont} + \startmessages dutch library: fonts title: korps 1: codering -- @@ -80,7 +108,7 @@ 5: stile -- non definito 6: -- caricato 7: formato sconosciuto -- - 8: stile -- definito + 8: stile -- definito % 9: mappatura -- caricata 10: file di font sconosciuto -- \stopmessages @@ -121,6 +149,17 @@ %D underlaying macros, and extended those to a level at which %D probably no one will ever recognize them. %D +%D In 2001 we ran into a couple of projects where more than +%D one combined set of fonts was involved in a document. To +%D make definitions more readable, as well as to overcome the +%D problem of ever growing file name lists, and also because +%D we needed to scale fonts relative to each other, the low +%D level implementation was partly rewritten. Global +%D font assignments, relative scaling, font classes and alike +%D were added then. At the same time some macros were made a +%D bit more readable, and math support was extended to the +%D larger sizes. +%D %D One important characteristic of the font mechanism presented %D here is the postponing of font loading. This makes it %D possible to distribute \type{fmt} files without bothering @@ -229,7 +268,7 @@ %D \stoptabel %D \stopregelcorrectie -%D The more primitive is (still) predefined: +%D For old stylish Frans Goddijn we have: %D %D \startregelcorrectie %D \starttabel[|l||] @@ -360,8 +399,8 @@ %D \stoptypen %D %D And compare $\rm \scriptstyle THIS$ with the slightly larger -%D \kap{THIS}: \ruledhbox{$\rm \scriptstyle\ scriptstyle THIS$} -%D or \ruledhbox{\kap{THIS x style}} makes a big difference. +%D \kap{THIS}: \ruledhbox{$\rm \scriptstyle scriptstyle: THIS$} +%D or \ruledhbox{\kap{x style: THIS}} makes a big difference. %D \macros %D {mf} @@ -418,9 +457,14 @@ %D \type{\tf}: \unexpanded\def\mf% - {\dodosetmathfont{\fontalternative}% + {\dodosetmathfont\fontalternative \getvalue{\fontalternative}} +% \unexpanded\def\mf% +% {\dodosetmathfont\fontalternative +% \getvalue{\fontalternative}% +% \fam\getvalue{\fontalternative\s!fam}} + %D The previous example was typeset saying: %D %D \typebuffer @@ -470,17 +514,16 @@ \def\mathop% {\normalmathop \bgroup - \let\rm=\mf + \let\rm\mf \let\next=} -%D We can fix arbitrary horizontal boxes by redefining the +%D We can fix arbitrary horizontal boxes by redefining the %D \TEX\ primitive \type{\hbox}: %D %D \starttypen %D \let\normalhbox=\hbox %D -%D \def\hbox% -%D {\ifmmode\mbox\else\normalhbox\fi} +%D \def\hbox{\ifmmode\mbox\else\normalhbox\fi} %D \stoptypen %D %D with @@ -527,8 +570,8 @@ \def\enablembox% {\appendtoks - \ifx\normalhbox\undefined\let\normalhbox=\hbox\fi - \let\hbox=\mbox + \ifx\normalhbox\undefined\let\normalhbox\hbox\fi + \let\hbox\mbox \to\everymath} %D So in fact one can enable this feature if needed. I would say: @@ -597,20 +640,20 @@ %D needed for the \AMS\ Symbol Fonts and Extended Lucida %D Bright. -\chardef\mafam=12 % \newfam\mafam % C (ConTeXt) Math A Fam (AmsTeX A) -\chardef\mbfam=13 % \newfam\mbfam % D (ConTeXt) Math B Fam (AmsTeX B) -\chardef\mcfam=14 % \newfam\mcfam % E (ConTeXt) Math C Fam -\chardef\mdfam=15 % \newfam\mdfam % F (ConTeXt) Math D Fam (MathTime) +\chardef\mafam=12 % \newfam\mafam % C (ConTeXt) Math A Fam (AmsTeX A) +\chardef\mbfam=13 % \newfam\mbfam % D (ConTeXt) Math B Fam (AmsTeX B) +\chardef\mcfam=14 % \newfam\mcfam % E (ConTeXt) Math C Fam (MathTime) +\chardef\mdfam=15 % \newfam\mdfam % F (ConTeXt) Math D Fam (MathTime) %D Because there are 16~families and because \type{\ttfam} -%D is reused, at the moment we have no so many families -%D left. By default, we map any newly defined family on the +%D is reused, at the moment we have no so many families +%D left. By default, we map any newly defined family on the %D last one (F). -\def\newfam#1{\chardef#1=15 } +\def\newfam#1{\chardef#1=15 } -%D This hack is also needed because in \ETEX\ we are going -%D to reuse the \type {\newfam} allocation counter. +%D This hack is also needed because in \ETEX\ we are going +%D to reuse the \type {\newfam} allocation counter. %D To ease the support of font packages, we als define %D shortcuts to these familynames. This is necessary because @@ -632,9 +675,9 @@ %D \macros %D {uchar} %D -%D This macro prepares \CONTEXT\ for \UNICODE\ support. By -%D defining it here, we have at least an safeguard for utility -%D file reading. +%D This macro prepares \CONTEXT\ for \UNICODE\ support. By +%D defining it here, we have at least an safeguard for utility +%D file reading. \unexpanded\def\uchar#1#2{[#1,#2]} @@ -647,31 +690,213 @@ \def\@letter@ {@f@le@} % first alternative typeface \def\@noletter@ {@f@no@} % second alternative typeface -%D We also define a list of all text (i.e.\ non math symbol) -%D families. By assigning \type{\dowithfamily} some suitable -%D meaning one can process such lists quite fast. The current -%D implementation uses the commalist processing macros and is -%D not that slow either. +%D The families can be grouped into math specific ones and +%D more text related families, although text ones can be +%D mapped onto the math ones to get for instance bold math. +%D +%D Both groups of families are handles by a couple of token +%D list tagged as strategies. This implementation makes +%D implementing extensions more comfortable. + +\newtoks \textstrategies +\newtoks \mathstrategies +\newtoks \symbstrategies + +\def\synchronizetext{\the\textstrategies\fam\mrfam} % stylish text in mmode +\def\synchronizemath{\the\mathstrategies\fam\mrfam} % math stuff in mmode +\def\synchronizesymb{\the\symbstrategies\fam\mrfam} % stylish math stuff in mmode + +\appendtoks + \dosettextfamily\c!tf + \dosettextfamily\c!bf + \dosettextfamily\c!sl + \dosettextfamily\c!it + \dosettextfamily\c!bs + \dosettextfamily\c!bi + \dosettextfamily\c!sc +\to \textstrategies + +\def\dosettextfamily#1% + {\dodosettextfamily\scriptscriptfont\scriptscriptface#1% + \dodosettextfamily\scriptfont \scriptface #1% + \dodosettextfamily\textfont \textface #1} + +% \def\s!nullfont{nullfont} + +\beginTEX + +\def\dodosettextfamily#1#2#3% + {\@EA\ifx\csname\fontclass#2\c!mm#3\fontsize\endcsname\relax + \@EA\ifx\csname\fontclass#2\c!mm#3\endcsname \relax + \@EA\ifx\csname\fontclass#2\c!rm#3\fontsize\endcsname\relax + \@EA\ifx\csname\fontclass#2\c!rm#3\endcsname \relax + \@EA\ifx\csname #2\c!mm#3\fontsize\endcsname\relax + \@EA\ifx\csname #2\c!mm#3\endcsname \relax + \@EA\ifx\csname #2\c!rm#3\fontsize\endcsname\relax + \@EA\ifx\csname #2\c!rm#3\endcsname \relax + \autofontsizetrue \nullfont \else + \autofontsizetrue \csname#2\c!rm#3\endcsname \fi\else + \autofontsizefalse \csname#2\c!rm#3\fontsize\endcsname\fi\else + \autofontsizetrue \csname#2\c!mm#3\endcsname \fi\else + \autofontsizefalse \csname#2\c!mm#3\fontsize\endcsname\fi\else + \autofontsizetrue \csname\fontclass#2\c!rm#3\endcsname \fi\else + \autofontsizefalse \csname\fontclass#2\c!rm#3\fontsize\endcsname\fi\else + \autofontsizetrue \csname\fontclass#2\c!mm#3\endcsname \fi\else + \autofontsizefalse \csname\fontclass#2\c!mm#3\fontsize\endcsname\fi + #1\csname#3\s!fam\endcsname\font} + +\endTEX + +\beginETEX \ifcsname + +\def\dodosettextfamily#1#2#3% + {\ifcsname\fontclass#2\c!mm#3\fontsize\endcsname \autofontsizefalse + \csname\fontclass#2\c!mm#3\fontsize\endcsname \else + \ifcsname\fontclass#2\c!mm#3\endcsname \autofontsizetrue + \csname\fontclass#2\c!mm#3\endcsname \else + \ifcsname\fontclass#2\c!rm#3\fontsize\endcsname \autofontsizefalse + \csname\fontclass#2\c!rm#3\fontsize\endcsname \else + \ifcsname\fontclass#2\c!rm#3\endcsname \autofontsizetrue + \csname\fontclass#2\c!rm#3\endcsname \else + \ifcsname #2\c!mm#3\fontsize\endcsname \autofontsizefalse + \csname #2\c!mm#3\fontsize\endcsname \else + \ifcsname #2\c!mm#3\endcsname \autofontsizetrue + \csname #2\c!mm#3\endcsname \else + \ifcsname #2\c!rm#3\fontsize\endcsname \autofontsizefalse + \csname #2\c!rm#3\fontsize\endcsname \else + \ifcsname #2\c!rm#3\endcsname \autofontsizetrue + \csname #2\c!rm#3\endcsname \else + \nullfont \autofontsizetrue + \fi\fi\fi\fi\fi\fi\fi\fi + #1\csname#3\s!fam\endcsname\font} + +\endETEX + +\def\mrfallback{\c!rm\c!tf} + +\appendtoks + \dosetmathfamily\mrfam\textface\scriptface\scriptscriptface\c!mr\mrfallback + \dosetmathfamily\mifam\textface\scriptface\scriptscriptface\c!mi\empty + \dosetskewchar\defaultskewcharmi % implemented later on + \dosetmathfamily\syfam\textface\scriptface\scriptscriptface\c!sy\empty + \dosetskewchar\defaultskewcharsy % implemented later on + \dosetmathfamily\exfam\textface\textface \textface \c!ex\empty + \dosetmathfamily\mafam\textface\scriptface\scriptscriptface\c!ma\empty + \dosetmathfamily\mbfam\textface\scriptface\scriptscriptface\c!mb\empty + \dosetmathfamily\mcfam\textface\scriptface\scriptscriptface\c!mc\empty + \dosetmathfamily\nnfam\textface\scriptface\scriptscriptface\c!nn\empty +\to \mathstrategies + +\def\dosetmathfamily#1#2#3#4#5#6% + {\dodosetmathfamily\scriptscriptfont#4#1#5{#6}% + \dodosetmathfamily\scriptfont #3#1#5{#6}% + \dodosetmathfamily\textfont #2#1#5{#6}} + +\beginTEX + +\def\dodosetmathfamily#1#2#3#4#5% + {\@EA\ifx \csname\fontclass#2\c!mm#4\fontsize\endcsname\relax + \@EA\ifx \csname\fontclass#2\c!mm#4\endcsname \relax + \@EA\ifx \csname\fontclass#2#5\fontsize\endcsname \relax + \@EA\ifx \csname\fontclass#2#5\endcsname \relax + \@EA\ifx \csname #2\c!mm#4\fontsize\endcsname\relax + \@EA\ifx \csname #2\c!mm#4\endcsname \relax + \@EA\ifx \csname #2#5\fontsize\endcsname \relax + \@EA\ifx \csname #2#5\endcsname \relax + \autofontsizetrue \nullfont \else + \autofontsizetrue \csname #2#5\endcsname \fi \else + \autofontsizefalse \csname #2#5\fontsize\endcsname \fi \else + \autofontsizetrue \csname #2\c!mm#4\endcsname \fi \else + \autofontsizefalse \csname #2\c!mm#4\fontsize\endcsname\fi \else + \autofontsizetrue \csname\fontclass#2#5\endcsname \fi \else + \autofontsizefalse \csname\fontclass#2#5\fontsize\endcsname \fi \else + \autofontsizetrue \csname\fontclass#2\c!mm#4\endcsname \fi \else + \autofontsizefalse \csname\fontclass#2\c!mm#4\fontsize\endcsname\fi + #1#3\font} + +\endTEX + +\beginETEX \ifcsname + +\def\dodosetmathfamily#1#2#3#4#5% + {\ifcsname\fontclass#2\c!mm#4\fontsize\endcsname \autofontsizefalse + \csname\fontclass#2\c!mm#4\fontsize\endcsname \else + \ifcsname\fontclass#2\c!mm#4\endcsname \autofontsizetrue + \csname\fontclass#2\c!mm#4\endcsname \else + \ifcsname\fontclass#2#5\fontsize\endcsname \autofontsizefalse + \csname\fontclass#2#5\fontsize\endcsname \else + \ifcsname\fontclass#2#5\endcsname \autofontsizetrue + \csname\fontclass#2#5\endcsname \else + \ifcsname #2\c!mm#4\fontsize\endcsname \autofontsizefalse + \csname #2\c!mm#4\fontsize\endcsname \else + \ifcsname #2\c!mm#4\endcsname \autofontsizetrue + \csname #2\c!mm#4\endcsname \else + \ifcsname #2#5\fontsize\endcsname \autofontsizefalse + \csname #2#5\fontsize\endcsname \else + \ifcsname #2#5\endcsname \autofontsizetrue + \csname #2#5\endcsname \else + \nullfont \autofontsizetrue + \fi\fi\fi\fi\fi\fi\fi\fi + #1#3\font} + +\endETEX + +\appendtoks + \dosetsymbfamily\mrfam\textface\scriptface\scriptscriptface\c!mr + \dosetsymbfamily\mifam\textface\scriptface\scriptscriptface\c!mi + \dosetsymbfamily\syfam\textface\scriptface\scriptscriptface\c!sy + \dosetsymbfamily\exfam\textface\textface \textface \c!ex + \dosetsymbfamily\mafam\textface\scriptface\scriptscriptface\c!ma + \dosetsymbfamily\mbfam\textface\scriptface\scriptscriptface\c!mb + \dosetsymbfamily\mcfam\textface\scriptface\scriptscriptface\c!mc +\to \symbstrategies + +\def\dosetsymbfamily#1#2#3#4#5% + {\dodosetsymbfamily\scriptscriptfont#4#1#5% + \dodosetsymbfamily\scriptfont #3#1#5% + \dodosetsymbfamily\textfont #2#1#5} + +\beginTEX + +\def\dodosetsymbfamily#1#2#3#4% + {\@EA\ifx\csname\fontclass#2\c!mm#4\fontalternative\fontsize\endcsname\relax + \@EA\ifx\csname#2\c!mm#4\fontalternative\fontsize\endcsname\relax + \else + \csname#2\c!mm#4\fontalternative\fontsize\endcsname + #1#3\font + \fi + \else + \csname\fontclass#2\c!mm#4\fontalternative\fontsize\endcsname + #1#3\font + \fi} -\def\familylist% - {\c!tf,\c!sl,\c!it,\c!bf,\c!bs,\c!bi,\c!sc} +\endTEX -\def\processfamilylist% - {\dowithfamily\c!tf - \dowithfamily\c!sl - \dowithfamily\c!it - \dowithfamily\c!bf - \dowithfamily\c!bs - \dowithfamily\c!bi - \dowithfamily\c!sc} +\beginETEX \ifcsname -%D This list will be extended when needed with (pseudo) -%D families. The speude ones will in fact use the NoName -%D family. +\def\dodosetsymbfamily#1#2#3#4% + {\ifcsname\fontclass#2\c!mm#4\fontalternative\fontsize\endcsname + \csname\fontclass#2\c!mm#4\fontalternative\fontsize\endcsname + #1#3\font + \else\ifcsname#2\c!mm#4\fontalternative\fontsize\endcsname + \csname#2\c!mm#4\fontalternative\fontsize\endcsname + #1#3\font + \fi\fi} +\def\dodosetsymbfamily#1#2#3#4% + {\ifcsname\fontclass#2\c!mm#4\fontalternative\fontsize\endcsname + \csname\fontclass#2\c!mm#4\fontalternative\fontsize\endcsname + #1#3\font + \else\ifcsname#2\c!mm#4\fontalternative\fontsize\endcsname + \csname#2\c!mm#4\fontalternative\fontsize\endcsname + #1#3\font + \fi\fi} + +\endETEX + %D All used styles, like rm, ss and tt, are saved in a comma %D separated list. Appart from practical limitations one can -%D define as many styles as needed, but first we +%D define as many styles as needed. \let\stylelist=\empty @@ -709,8 +934,14 @@ %D \HL %D \stoptabel +\def\magstep#1% \relax removed, otherwise space after it sticks, else added + {\ifcase#1 \@m\or1200\or1440\or1728\or2074\or2488\or\@m\fi} + +\def\magstephalf% + {1095} + \def\magfactor#1% - {\ifcase#1 1.000\or 1.200\or 1.440\or 1.728\or 2.074\or 2.488\or 1\fi} + {\ifcase#1 1.000\or1.200\or1.440\or1.728\or2.074\or2.488\or1\fi} \def\magfactorhalf% {1.095} @@ -718,165 +949,165 @@ %D These macros enable the use of definitions like \type{sa %D \magfactor3} which saves us both (mis|)|calculations and %D potential mistypings. -%D +%D %D Because \type {sa} (scaled at) and \type {mo} (mapped on) %D are not low level \TEX\ supported alternatives, we have to %D test for it ourselves. In doing so, we need an auxiliary %D \DIMENSION. We cannot use \type{\scratchdimen} because font %D loading can happen at any moment due to postponed loading. %D We could instead have used dirty grouping tricks, but this -%D one works too. - -%%% \newdimen\scaledfont -%%% -%%% REPLACED -%%% -%%% % \def\docalculatefont#1 sa #2sa#3*#4*#5*% The spaces are needed! -%%% % {\edef\fontscale{#2}% -%%% % \ifx\fontscale\empty -%%% % \expandafter\font\csname#4#5\endcsname=#1\relax -%%% % \else -%%% % \scaledfont=#4\relax -%%% % \expandafter\font\csname#4#5\endcsname=#1 at \fontscale\scaledfont\relax -%%% % \fi} -%%% -%%% \def\splitfontdefinition#1 #2 #3 #4\end% -%%% {\def\somefontname{#1}% -%%% \doifelse{#2}{*} -%%% {\let\somefontspec=\empty} -%%% {\def\somefontspec{ #2 #3}}} -%%% -%%% % \def\docalculatefont#1 sa #2sa#3*#4*#5*% The spaces are needed! -%%% % {\edef\fontscale{#2}% -%%% % \expandafter\splitfontdefinition#1 * * \end -%%% % \ifx\fontscale\empty \else -%%% % \scaledfont=#4\relax -%%% % \def\somefontspec{ at \fontscale\scaledfont}% -%%% % \fi -%%% % \expandafter\font\csname#4#5\endcsname= -%%% % \truefilename{\somefontname}\somefontspec\relax} -%%% -%%% %D We also accept \type{sa a}||\type{sa d} as specification. -%%% -%%% \def\checkfontscale#1#2\end% should be optimized -%%% {\doifnumberelse{#1}{} -%%% {\doifdefinedelse{\??ft\s!default#1} -%%% {\edef\fontscale{\getvalue{\??ft\s!default#1}}} -%%% {\edef\fontscale{1}}}} -%%% -%%% % \def\docalculatefont#1 sa #2sa#3*#4*#5*% The spaces are needed! -%%% % {\edef\fontscale{#2}% -%%% % \expandafter\splitfontdefinition#1 * * \end -%%% % \ifx\fontscale\empty \else -%%% % \expandafter\checkfontscale#2 \end % #2 can be "a " (space!) -%%% % \scaledfont=#4\relax -%%% % \def\somefontspec{ at \fontscale\scaledfont}% -%%% % \fi -%%% % \expandafter\font\csname#4#5\endcsname= -%%% % \truefilename{\somefontname}\somefontspec\relax} -%%% -%%% \def\defaultfontfile{cmtt10} -%%% \edef\nullfontname {\fontname\nullfont} -%%% \edef\dummyfontname {font\strippedcsname\\} -%%% -%%% \def\docalculatefont#1 sa #2sa#3*#4*#5*% The spaces are needed! -%%% {\edef\fontscale{#2}% -%%% \expandafter\splitfontdefinition#1 * * \end -%%% \ifx\fontscale\empty \else -%%% \expandafter\checkfontscale#2 \end % #2 can be "a " (space!) -%%% \scaledfont=#4\relax -%%% \def\somefontspec{ at \fontscale\scaledfont}% -%%% \fi -%%% \edef\fontfile{\truefontname\somefontname}% -%%% \ifx\fontfile\s!unknown -%%% \let\fontfile\defaultfontfile -%%% \else -%%% \edef\fontdata{\truefontdata\somefontname}% -%%% \ifx\fontdata\empty \else -%%% %\@EA\getparameters\@EA[\@EA\fontfile\@EA]\@EA[\fontdata]% -%%% \@EA\rawgetparameters\@EA[\@EA\fontfile\@EA]\@EA[\fontdata]% -%%% \fi -%%% \fi -%%% % faster -%%% %\expandafter\font\csname#4#5\endcsname\fontfile\somefontspec\relax -%%% % nicer -%%% \edef\lastfontname{\fontfile\somefontspec}% -%%% \expandafter\font\csname#4#5\endcsname\lastfontname -%%% \expandafter\font\csname\dummyfontname\endcsname\lastfontname\relax} -%%% % safer but sometimes introducing newlines in the log -%%% %\batchmode -%%% %\font\lastloadedfont\fontfile\somefontspec\relax -%%% %\errorstopmode -%%% %\edef\lastfontname{\fontname\lastloadedfont}% -%%% %\ifx\lastfontname\nullfontname -%%% % \showmessage{\m!fonts}{10}{\fontfile}% -%%% % \expandafter\font\csname#4#5\endcsname=\defaultfontfile\somefontspec\relax -%%% %\else -%%% % \expandafter\let\csname#4#5\endcsname\lastloadedfont -%%% %\fi} - -\newdimen\scaledfont - -\def\parsefontspec[#1]% - {\edef\somefontspec{#1}% - \@EA\@EA\@EA\doparsefontspec\@EA\somefontspec\space\relax]} - -\def\doparsefontspec#1 #2#3]#4#5% - {\ifx#2\relax - \let\somefontname\somefontspec - \let\somefontspec\empty - \donoparsefontspec{#5}% +%D one works too. + +\def\norelativefontsize{1} +\def\dorelativefontsize{1} +\def\relativefontsize {1} + +\def\s!rscale{rscale} + +\def\dostorerelativefontsize#1% + {\ifx\fontclass\empty\else\global\fi + \letvalue{#1\s!rscale}\relativefontsize} + +\beginTEX + +\def\dosetrelativefontsize#1% + {\expandafter\ifx\csname#1\s!rscale\endcsname\relax + \let\dorelativefontsize\norelativefontsize \else - \@EA\dodoparsefontspec\@EA[\somefontspec]{#4}{#5}% + %\edef\dorelativefontsize{\csname#1\s!rscale\endcsname}% + \@EA\let\@EA\dorelativefontsize\csname#1\s!rscale\endcsname \fi} - -\def\dodoparsefontspec[#1 #2#3#4]#5#6% [spec]{sa/mo size}{name} - {\edef\somefontname{#1}% - \edef\fontscale% - {\ifx#2s\ifx#3a#4\fi\else % sa = scaled at - \ifx#2m\ifx#3o#4\fi\fi\fi}% mo = mapped on - \ifx\fontscale\empty - \edef\somefontspec{ #2#3#4}% + +\endTEX + +\beginETEX \ifcsname + +\def\dosetrelativefontsize#1% + {\ifcsname#1\s!rscale\endcsname + %\edef\dorelativefontsize{\csname#1\s!rscale\endcsname}% + \@EA\let\@EA\dorelativefontsize\csname#1\s!rscale\endcsname \else - \expandafter\checkfontscale\fontscale\end - \scaledfont=#5\relax - \ifx#2m\setmappedfontsize\scaledfont\fi - \def\somefontspec{ at \fontscale\scaledfont}% - \fi - \donoparsefontspec{#6}} + \let\dorelativefontsize\norelativefontsize + \fi} + +\endETEX + +\def\doresetrelativefontsize% + {\let\dorelativefontsize\norelativefontsize} + +\newdimen\scaledfont + +\def\@fs@{@fs@} + +\def\parsefontspec#1% + {\edef\somefontspec{#1\space\relax}% + \@EA\doparsefontspec\somefontspec]% + \donoparsefontspec} + +\def\doparsefontspec#1 #2% + {\def\somefontname{#1}% + \ifx#2\relax + \expandafter\setnaturalfontspec + \else + \expandafter\setforcedfontspec + \fi#2} + +\def\setnaturalfontspec#1]% + {\@fs@scaled\!!thousand} + +\def\setforcedfontspec#1 #2\relax]% + {\getvalue{\@fs@#1}{#2}} + +\def\@fs@scaled#1% + {\scaledfont#1pt% + \scaledfont\dorelativefontsize\scaledfont + \ifautofontsize\scaledfont\currentfontbodyscale\scaledfont\fi + \scratchcounter\scaledfont + \advance\scratchcounter \!!medcard + \divide\scratchcounter \!!maxcard + \edef\somefontspec{ scaled \the\scratchcounter}} + +\def\@fs@at#1% + {\scaledfont#1% + \scaledfont\dorelativefontsize\scaledfont + \ifautofontsize\scaledfont\currentfontbodyscale\scaledfont\fi + \def\somefontspec{ at \scaledfont}} + +\def\@fs@sa% + {\scaledfont\fontbody + \setsamofontspec} + +\def\@fs@mo% + {\scaledfont\setmappedfontsize\fontbody + \setsamofontspec} + +\def\setsamofontspec#1% + {\checkfontscale#1\end\scaledfont + \scaledfont\dorelativefontsize\scaledfont + \ifautofontsize + \def\somefontspec{ at \currentfontbodyscale\scaledfont}% + \else + \def\somefontspec{ at \scaledfont}% + \fi} + +\def\getglobalfontparameters% + {\expandafter\setglobalfontparameter\fontdata,]=,} + +\def\setglobalfontparameter#1=#2,% + {\if]#1\else + \expandafter\gdef\csname\fontfile#1\endcsname{#2}% + \expandafter\setglobalfontparameter + \fi} + +\def\getfontparameters% + {\expandafter\setfontparameter\fontdata,]=,} + +\def\setfontparameter#1=#2,% + {\if]#1\else + \expandafter\def\csname\fontfile#1\endcsname{#2}% + \expandafter\setfontparameter + \fi} \def\donoparsefontspec#1% {\edef\fontfile{\truefontname\somefontname}% + %\writestatus{specifying}{\somefontname/\fontfile/\somefontspec}% \ifx\fontfile\s!unknown + %\writestatus{missing}{\somefontname}% \let\fontfile\defaultfontfile - \else - \edef\fontdata{\truefontdata\somefontname}% + \else + \edef\fontdata{\truefontdata\fontfile}% \ifx\fontdata\empty \else - %\@EA\getparameters\@EA[\@EA\fontfile\@EA]\@EA[\fontdata]% - \@EA\rawgetparameters\@EA[\@EA\fontfile\@EA]\@EA[\fontdata]% + %\writestatus{storing}{\fontfile\space(\fontdata)]}% + \ifx\fontclass\empty + \getfontparameters + \else + \getglobalfontparameters + \fi \fi \fi \edef\lastfontname{\fontfile\somefontspec}% not really needed + %\writestatus{tfmloading}{[#1] [\lastfontname][\the\scaledfont]}% + \ifx\fontclass\empty\else\global\fi \expandafter\font\csname#1\endcsname\lastfontname\relax \the\everyfont % new - % the second \font definition prevents fuzzy font refs + % the second \font definition prevents fuzzy font refs % \expandafter\font\csname\dummyfontname\endcsname\lastfontname % but somehow they changed tex so that it does not matter any more - \relax} + \relax} \def\defaultfontfile{cmtt10} \edef\nullfontname {\fontname\nullfont} \edef\dummyfontname {font\strippedcsname\\} -%D \macros +%D \macros %D {everyfont,everyfontswitch} %D -%D For special purposes, we provide a hook. +%D For special purposes, we provide a hook. \newevery \everyfont \relax \newevery \everyfontswitch \relax -% safer but sometimes introducing newlines in the log +% safer but sometimes introducing newlines in the log % % \batchmode % \font\lastloadedfont\fontfile\somefontspec\relax @@ -891,18 +1122,30 @@ %D We also accept \type{sa a}||\type{sa d} as specification. -\def\checkfontscale#1#2\end% should be optimized - {\doifnumberelse{#1}{} - {\doifdefinedelse{\??ft\s!default#1} - {\edef\fontscale{\getvalue{\??ft\s!default#1}}} - {\edef\fontscale{1}}}} +\beginETEX \ifcsname + +\def\checkfontscale#1#2\end#3% + {#3\ifcsname\??ft\s!default\noexpand#1\endcsname + \csname\??ft\s!default\noexpand#1\endcsname\else#1#2% + \fi#3} + +\endETEX + +\beginTEX + +\def\checkfontscale#1#2\end#3% + {#3\expandafter\ifx\csname\??ft\s!default\noexpand#1\endcsname\relax + #1#2\else\csname\??ft\s!default\noexpand#1\endcsname + \fi#3} + +\endTEX %D The duplicate font definition, using the ever the same dummy %D font name, results in less fuzzy error messages. In the log %D file, for instance when overfull boxes are reported, the %D simple keyword `font' replaces the \TEX\ ordinated name. The %D latter can be too misleading, due to the fact that \TEX\ has -%D a rather optimized font memory management. Thanks to Taco +%D a rather optimized font memory management. Thanks to Taco %D for helping me sort this out. %D \macros @@ -920,54 +1163,81 @@ %D %D \startregels %D name: \type {\truefontname{Lucida-Bright}} -%D data: \type {\truefontdata{Lucida-Bright}} +%D data: \type {\truefontdata{\truefontname{Lucida-Bright}}} %D \stopregels \def\definefontsynonym% {\dotripleempty\dodefinefontsynonym} \def\dodefinefontsynonym[#1][#2][#3]% - {\setevalue{\??ff#1}{{#2}{#3}}} + {\ifthirdargument + \setevalue{\??ff#1}{#2}% + \ifx\fontclass\empty\else\global\fi + \setevalue{\??ff\??ff#2}{#3}% + \else + \setevalue{\??ff\fontclass#1}{#2}% + \fi} -\def\truefontname#1% - {\dotruefontname{#1}{}} +\beginTEX -\def\dotruefontname#1#2% - {\ifundefined{\??ff#1}% - #1% +\def\truefontdata#1% + {\expandafter\ifx\csname\??ff\??ff#1\endcsname\relax \else - \@EA\@EA\@EA\dotruefontname\csname\??ff#1\endcsname + \csname\??ff\??ff#1\endcsname \fi} +\def\truefontname#1% + {\expandafter\ifx\csname\??ff\fontclass#1\endcsname\relax + \expandafter\ifx\csname\??ff#1\endcsname\relax + #1% + \else + \@EA\truefontname\csname\??ff#1\endcsname + \fi + \else + \@EA\truefontname\csname\??ff\fontclass#1\endcsname + \fi} + +\endTEX + +\beginETEX \ifcsname + \def\truefontdata#1% - {\dotruefontdata{#1}{}} + {\ifcsname\??ff\??ff#1\endcsname + \csname\??ff\??ff#1\endcsname + \fi} -\def\dotruefontdata#1#2% - {\ifundefined{\??ff#1}% - #2% +\def\truefontname#1% + {\ifcsname\??ff\fontclass#1\endcsname + \@EA\truefontname\csname\??ff\fontclass#1\endcsname + \else\ifcsname\??ff#1\endcsname + \@EA\truefontname\csname\??ff#1\endcsname \else - \@EA\@EA\@EA\dotruefontdata\csname\??ff#1\endcsname - \fi} + #1% + \fi\fi} + +\endETEX %D \macros %D {getfontfileparameters} %D -%D For special purposes, one can use the next macro to +%D For special purposes, one can use the next macro to %D access font file characteristics, for instance: %D %D \starttypen %D \getfontfileparameters{Regular} %D \stoptypen %D -%D can result in: +%D can result in: %D %D \starttypen %D \def\currentfontfileencoding{texnansi} %D \stoptypen +\def\@@currentfontfile{currentfontfile} + \def\getfontfileparameters#1% - {\edef\fontdata{\truefontdata{#1}}% - \expanded{\getparameters[currentfontfile][\fontdata]}} + {\edef\fontdata{\truefontdata{\truefontname{#1}}}% + \expanded{\getparameters[\@@currentfontfile][\fontdata]}} %D \macros %D {definefont} @@ -976,10 +1246,10 @@ %D one for local use: %D %D \starttypen -%D \definefont[Some][LucidaBright at 100pt] \Some some -%D \definefont[More][LucidaBright scaled 3000] \More more -%D \definefont[Nice][LucidaBright mp 2] \Nice nice -%D \definefont[Text][LucidaBright sa 5.4] \Text last +%D \definefont[Some][LucidaBright at 100pt] \Some some +%D \definefont[More][LucidaBright scaled 3000] \More more +%D \definefont[Nice][LucidaBright mp 2] \Nice nice +%D \definefont[Text][LucidaBright sa 5.4] \Text last %D \stoptypen %D %D The implementation one looks familiar: @@ -987,128 +1257,40 @@ \def\definefont% {\dodoubleargument\dodefinefont} -%%% REPLACED -%%% -%%% \def\dodefinefont[#1][#2]% -%%% {\doifinstringelse{ }{#2} -%%% {\unexpanded\setvalue{#1}{\dododefinefont{#1}#2 sa sa*}} -%%% {\dodefinefont[#1][#2 sa 1]}} -%%% -%%% \def\dododefinefont#1#2sa #3sa#4*% -%%% {\edef\fontscale{#3}% -%%% \expandafter\splitfontdefinition#2 * * \end -%%% \ifx\fontscale\empty\else % new 2000/8/31 -%%% \expandafter\checkfontscale#3 \end -%%% \fi -%%% \expandafter\font\csname#1\endcsname=\truefontname\somefontname -%%% \ifx\fontscale\empty -%%% \somefontspec -%%% \else -%%% \space at \fontscale\bodyfontsize -%%% \fi -%%% \getvalue{#1}} - -\def\dodefinefont[#1][#2]% +\def\dodefinefont[#1][#2]% {\doifinstringelse{ }{#2} {\unexpanded\setvalue{#1}{\dododefinefont{#1}{#2}}} {\dodefinefont[#1][#2 sa 1]}} -%D The * makes the switch local, so that we can redefine a -%D logical name and/or change the size in between. +%D The \type {*} makes the switch local, so that we can redefine a +%D logical name and/or change the size in between. -% \def\dododefinefont#1#2% -% {\parsefontspec[#2]{\bodyfontsize}{#1}\getvalue{#1}} +\newif\ifautofontsize \autofontsizetrue -\def\dododefinefont#1#2% - {\parsefontspec[#2]{\bodyfontsize}{*#1*}% - \getvalue{*#1*}% - \setfontcharacteristics % new +\def\dododefinefont#1#2% + {\dosetrelativefontsize{#1}% + \parsefontspec{#2}{**#1**}% + \getvalue{**#1**}% + \doresetrelativefontsize + \setfontcharacteristics + \autofontsizefalse + \the\everyfontswitch} + +\def\xxdododefinefont#1#2% \autofontsizetrue is set by calling routine + {\ifcsname*\fontclass#1\fontsize*\endcsname\else + \dosetrelativefontsize{\fontclass#1}% dangerous with fallback + \parsefontspec{#2}{*\fontclass#1\fontsize*}% + \doresetrelativefontsize + \fi + \csname*\fontclass#1\fontsize*\endcsname + \setfontcharacteristics + \autofontsizefalse \the\everyfontswitch} %D I considered checking for mistakenly use of \PLAIN's %D \type{\magstep}'s but although it would take only a few %D lines of code, this would not add to consistent use. I -%D therefore removed this check. Here we also handle the -%D optional hyphenchar definitions, like: -%D -%D \starttypen -%D \definebodyfont [12pt] [rm] [hyphenchar=45] -%D \stoptypen - -%%% REPLACED -%%% -%%% \beginTEX -%%% -%%% \def\dodoloadfont#1#2#3#4% -%%% {\edef\calculatedfont{\csname\??ft#1#2#3\endcsname\space}% -%%% \expandafter\docalculatefont\calculatedfont sa sa*#1*#2#3*% -%%% \@EA\hyphenchar\csname#1#2#3\endcsname= -%%% \@EA\ifx\csname\??ft#1#2\s!hyphenchar\endcsname\relax -%%% #4% -%%% \else -%%% \csname\??ft#1#2\s!hyphenchar\endcsname -%%% \fi\relax -%%% \csname#1#2#3\endcsname} -%%% -%%% \endTEX -%%% -%%% \beginETEX \ifcsname -%%% -%%% \def\dodoloadfont#1#2#3#4% -%%% {\edef\calculatedfont{\csname\??ft#1#2#3\endcsname\space}% -%%% \expandafter\docalculatefont\calculatedfont sa sa*#1*#2#3*% -%%% \@EA\hyphenchar\csname#1#2#3\endcsname= -%%% \ifcsname\??ft#1#2\s!hyphenchar\endcsname -%%% \csname\??ft#1#2\s!hyphenchar\endcsname -%%% \else -%%% #4% -%%% \fi\relax -%%% \csname#1#2#3\endcsname} -%%% -%%% \endETEX - -%D The loading macro is used in two macros. One of them takes -%D care of fixed width teletype fonts. - -\def\doloadfont#1#2#3% - {%\debuggerinfo{\m!fonts}{loaded #1#2#3}% - \dodoloadfont{#1}{#2}{#3}{45}} - -\def\doloadttfont#1#2#3% - {%\debuggerinfo{\m!fonts}{loaded fixed #1#2#3}% - \dodoloadfont{#1}{#2}{#3}{-1}} - -\beginTEX - -\def\dodoloadfont#1#2#3#4% - {\edef\calculatedfont{[\csname\??ft#1#2#3\endcsname]}% - \@EA\parsefontspec\calculatedfont{#1}{#1#2#3}% - \@EA\hyphenchar\csname#1#2#3\endcsname= - \@EA\ifx\csname\??ft#1#2\s!hyphenchar\endcsname\relax - #4% - \else - \csname\??ft#1#2\s!hyphenchar\endcsname - \fi\relax - \csname#1#2#3\endcsname - \the\everyfontswitch} - -\endTEX - -\beginETEX \ifcsname - -\def\dodoloadfont#1#2#3#4% - {\edef\calculatedfont{[\csname\??ft#1#2#3\endcsname]}% - \@EA\parsefontspec\calculatedfont{#1}{#1#2#3}% - \@EA\hyphenchar\csname#1#2#3\endcsname= - \ifcsname\??ft#1#2\s!hyphenchar\endcsname - \csname\??ft#1#2\s!hyphenchar\endcsname - \else - #4% - \fi\relax - \csname#1#2#3\endcsname - \the\everyfontswitch} - -\endETEX +%D therefore removed this check. %D \macros %D {mapfontsize} @@ -1117,12 +1299,12 @@ %D slightly different sizes than the ones given. This happens %D for instance with the Math Times fonts. Mapped font sizes %D can be specified by using the \type {mo} key instead of -%D \type {sa} in font definitions. +%D \type {sa} in font definitions. %D %D \startbuffer -%D \mapfontsize[10pt][11pt] -%D \mapfontsize[11pt][12pt] -%D \mapfontsize[12pt][13pt] +%D \mapfontsize[10pt][11pt] +%D \mapfontsize[11pt][12pt] +%D \mapfontsize[12pt][13pt] %D %D \definefont[test][Serif]\test TEST \par %D \definefont[test][Serif sa 5]\test TEST \par @@ -1148,8 +1330,10 @@ \beginTEX \def\setmappedfontsize#1% - {\expandafter\ifx\csname\??ft*\the#1\endcsname\relax\else - #1=\csname\??ft*\the#1\endcsname + {\expandafter\ifx\csname\??ft*#1\endcsname\relax + #1% + \else + \csname\??ft*#1\endcsname \fi} \endTEX @@ -1157,8 +1341,10 @@ \beginETEX \ifcsname \def\setmappedfontsize#1% - {\ifcsname\??ft*\the#1\endcsname - #1=\csname\??ft*\the#1\endcsname + {\ifcsname\??ft*#1\endcsname + \csname\??ft*#1\endcsname + \else + #1% \fi} \endETEX @@ -1173,13 +1359,35 @@ \def\getfontname#1% {\getvalue{\??ft#1}} -%D \macros -%D {currentfontscale} +%D To be documented. + +\let\sizelist\empty + +\def\definefontsize[#1]% + {\addtocommalist{#1}\sizelist + \def\docommando##1% + {\def\dodocommando####1% + {\def\dododocommando########1% + {\checkbodyfont{}{########1}{####1}{##1}}% + \processcommacommand[\stylelist]\dododocommando}% + \processcommacommand[\alternativelist]\dodocommando}% + \processcommacommand[\sizelist]\docommando} + +\def\alternativetextlist{\c!tf,\c!bf,\c!it,\c!sl,\c!bs,\c!bi,\c!sc} +\def\alternativemathlist{\c!mr,\c!mi,\c!sy,\c!ex,\c!ma,\c!mb} + +\let\alternativelist\alternativetextlist % upward compatible + +%\definefontsize[\c!a] \definefontsize[\c!b] +%\definefontsize[\c!c] \definefontsize[\c!d] + +%D \macros +%D {currentfontscale,currentfontbodyscale} %D -%D Sometimes we need to have access to the font scale -%D including the \type{a}||\type{d} sizes. The next macro -%D returns the current scaling factor. Take a look at -%D \type {cont-log.tex} for an example of its use. +%D Sometimes we need to have access to the font scale +%D including the \type{a}||\type{d} sizes. The next macro +%D returns the current scaling factor. Take a look at +%D \type {cont-log.tex} for an example of its use. \beginTEX @@ -1194,6 +1402,17 @@ \csname\??ft\s!default\xfontsize\endcsname \fi} +\def\currentfontbodyscale% + {\@EA\ifx\csname\??ft\s!default\fontsize\endcsname\relax + \@EA\ifx\csname\??ft\s!default\s!text\endcsname\relax + 1% + \else + \csname\??ft\s!default\s!text\endcsname + \fi + \else + \csname\??ft\s!default\fontsize\endcsname + \fi} + \endTEX \beginETEX \ifcsname @@ -1207,20 +1426,29 @@ 1% \fi\fi} +\def\currentfontbodyscale% + {\ifcsname\??ft\s!default\fontsize\endcsname + \csname\??ft\s!default\fontsize\endcsname + \else\ifcsname\??ft\s!default\s!text\endcsname + \csname\??ft\s!default\s!text\endcsname + \else + 1% + \fi\fi} + \endETEX %D Both alternatives use \type {\xfontsize}, a macro that %D expands to the current size in terms of \type {a} \unknown -%D \type {d}, nothing, or \type {x} \unknown \type {xx}. +%D \type {d}, nothing, or \type {x} \unknown \type {xx}. \def\xfontsize{\ifcase\currentxfontsize\fontsize\or\c!x\else\c!xx\fi} -%D A typical use of this command is in commands that switch -%D to another font bypassing the font mechanism: -%D -%D \starttypen +%D A typical use of this command is in commands that switch +%D to another font bypassing the font mechanism: +%D +%D \starttypen %D \font\myfont=\truefontname{MyFont} at \currentfontscale\bodyfontsize -%D \stoptypen +%D \stoptypen %D Now we enter the area of font switching. The switching %D mechanism has to take care of several situations, like: @@ -1265,7 +1493,7 @@ %D settings apply. All second parameters are specified in %D dimensions and tell us more about related sizes. %D -%D Afterwards, one can change values with +%D Afterwards, one can change values with %D %D \showsetup{\y!setupbodyfontenvironment} %D @@ -1281,14 +1509,11 @@ \let\bodyfontenvironmentlist\empty -\def\definebodyfontenvironment% - {\dodoubleempty\dodefinebodyfontenvironment} - \newcount\@@fontdefhack \def\@@beginfontdef% {\ifcase\@@fontdefhack - \let\k!savedtext =\k!text \let\k!text =\s!text + \let\k!savedtext =\k!text \let\k!text =\s!text \let\k!k!savedtext =\k!k!text \def\k!k!text {1}% \let\k!saveddefault =\k!default \let\k!default =\s!default \let\k!k!saveddefault=\k!k!default \def\k!k!default {1}% @@ -1304,45 +1529,78 @@ \let\k!text =\k!savedtext \fi} -\def\dodefinebodyfontenvironment[#1][#2]% - {\@@beginfontdef - \doifelse{#1}{\s!default} - {\getparameters[\??ft\s!default][#2]} - {\normalizebodyfontsize#1\to\tempbodyfontsize - \addtocommalist\tempbodyfontsize\bodyfontenvironmentlist - \@EA\dododefinebodyfontenvironment\@EA[\tempbodyfontsize][#2]}% - \@@endfontdef} +\def\definebodyfontenvironment% + {\dotripleempty\dodefinebodyfontenvironment} -\def\dododefinebodyfontenvironment[#1][#2]% - {\doifundefined{\??ft#1\s!text} +\def\dodefinebodyfontenvironment[#1][#2][#3]% [class] size settings + {\ifthirdargument + \@@beginfontdef + \doifelse{#2}{\s!default} + {\getparameters[\??ft\s!default][#3]} + {\normalizebodyfontsize#2\to\tempbodyfontsize + \addtocommalist\tempbodyfontsize\bodyfontenvironmentlist + \@EA\dododefinebodyfontenvironment\@EA[\tempbodyfontsize][#1][#3]}% + \@@endfontdef + \else + \definebodyfontenvironment[\fontclass][#1][#2]% changed + \fi} + +\def\dododefinebodyfontenvironment[#1][#2][#3]% size class settings + {\doifundefined{\??ft#2#1\s!text} {\def\docommando##1% {\scratchdimen=#1\relax \scratchdimen=\getvalue{\??ft\s!default##1}\scratchdimen \normalizebodyfontsize\scratchdimen\to\tempbodyfontsize - \setevalue{\??ft#1##1}{\tempbodyfontsize}}% - \processcommalist - [\s!text,\s!script,\s!scriptscript,\c!x,\c!xx,\c!groot,\c!klein] - \docommando - \copyparameters - [\??ft#1][\??ft\s!default] + \setevalue{\??ft#2#1##1}{\tempbodyfontsize}% + %\expanded{\checkbodyfontenvironment[\tempbodyfontsize]}% + }% + \processcommalist + [\s!text,\s!script,\s!scriptscript,\c!x,\c!xx,\c!groot,\c!klein] + \docommando + \copyparameters + [\??ft#2#1][\??ft\s!default] [\c!interlinie,\c!em]}% \@@beginfontdef - \getparameters[\??ft#1][#2]% + \getparameters[\??ft#2#1][#3]% \@@endfontdef - \setvalue{\@size@#1}{\docompletefontswitch[#1]}} + \setvalue{\@size@#2#1}{\docompletefontswitch[#1]}} +\def\checkbodyfontenvironment[#1]% + {\definebodyfontenvironment[\fontclass][#1][]} + \def\setupbodyfontenvironment% - {\dodoubleargument\dosetupbodyfontenvironment} + {\dotripleempty\dosetupbodyfontenvironment} -\def\dosetupbodyfontenvironment[#1][#2]% +\def\dosetupbodyfontenvironment[#1][#2][#3]% class size settings {\@@beginfontdef - \getparameters[\??ft#1][#2]% + \ifthirdargument + \getparameters[\??ft#1#2][#3]% + \else + \getparameters[\??ft#1][#2]% + \fi \@@endfontdef} -%D The interlinespace is communicated with the following macros: +%D Just a couple of interface macros: + +\beginTEX + +\def\bodyfontvariable#1% + {\??ft\@EA\ifx\csname\??ft\fontclass#1\endcsname\relax\else\fontclass\fi#1} + +\endTEX + +\beginETEX \ifcsname + +\def\bodyfontvariable#1% + {\??ft\ifcsname\??ft\fontclass#1\endcsname\fontclass\fi#1} + +\endETEX + +\def\bodyfontcsname% + {\csname\bodyfontvariable} \def\bodyfontinterlinespecs% - {\??ft\normalizedbodyfontsize\c!interlinie} + {\bodyfontvariable{\normalizedbodyfontsize\c!interlinie}} \def\bodyfontinterlinespace% {\csname\bodyfontinterlinespecs\endcsname} @@ -1367,14 +1625,10 @@ %D %D \showsetup{\y!definebodyfont} %D -%D This commands takes three arguments, where \ShowArgument\ -%D takes a (series of) bodyfont size(s) and \ShowArgument\ -%D the style group to which the definitions belong. -%D -%D Argument \ShowArgument\ accepts any suitable alternative, -%D as specified by the \TEX\ families, extended with~a, b~and -%D higher sizes or the normal \TEX\ mathematical families and -%D some more. +%D This commands takes three arguments: a (series of) bodyfont +%D size(s), the style group to which the definitions belong, +%D and an alternative, as specified by the \TEX\ (math) families, +%D extended with~a, b~\unknown. %D %D We show two examples, that show all the alternative %D scaling options. The \type{\tfa} alternatives can be @@ -1416,36 +1670,49 @@ %D Instead of \type{rm} (roman) one can define \type{ss} (sans %D serif), \type{tt} (teletype), \type{hw} (hand written), %D \type{cg} (calygraphic) and whatever styles. - -\def\definebodyfont% - {\dotripleargument\dodefinebodyfont} - +%D %D The first argument may be a comma separated list. This, %D combined with specifications using \type{sa} can save a lot %D of typing. Although all arguments should be specified, we %D treat the second argument as optional. +%D +%D Defining a bodyfont involves two actions: defining the +%D specific style related alternatives, like \type{\rma}, +%D \type{\bfa} and \type{\rmsla}, and storing the definitions +%D of their bodyfont size related fonts. The first step is +%D bodyfont independant but executed every time. This permits +%D user definitions like \type{\tfw} or \type{\bfq} for real +%D large alternatives. -%\def\dodefinebodyfont[#1][#2][#3]% -% {\ifthirdargument -% \def\dododefinebodyfont##1% -% {\dodododefinebodyfont[##1][#2][#3]}% -% \processcommalist[#1]\dododefinebodyfont -% \else -% \definebodyfont[#1][\c!rm][#2]% -% \fi} +\def\definebodyfont% + {\doquadrupleempty\redefinebodyfont} -\def\dodefinedefaultbodyfont[#1][#2]% - {\def\dododefinedefaultbodyfont##1% - {\def\dodododefinedefaultbodyfont####1{\getvalue{\s!default####1}{##1}}% - \processcommalist[#2]\dodododefinedefaultbodyfont}% - \processcommalist[#1]\dododefinedefaultbodyfont} +\def\redefinebodyfont[#1][#2][#3][#4]% + {\iffourthargument + \processcommalist[#1]{\reredefinebodyfont[#2][#3][#4]}% + \else + \dodefinebodyfont[#1][#2][#3]% + \fi} -\def\dodefinebodyfont[#1][#2][#3]% +\def\reredefinebodyfont[#1][#2][#3]#4% + {\pushmacro\fontclass + \doifelse{#4}{\s!default} + {\let\fontclass\empty} + {\def\fontclass{#4}}% + \definebodyfont[#1][#2][#3]% + \popmacro\fontclass} + +\def\dodefinebodyfont[#1][#2][#3]% body|identifier style defs|identifier {\ifthirdargument - \doifelse{#3}{\s!default} % new - {\dodefinedefaultbodyfont[#1][#2]} - {\def\dododefinebodyfont##1{\dodododefinebodyfont[##1][#2][#3]}% - \processcommalist[#1]\dododefinebodyfont}% + \doifnumberelse{#1} + {\doifassignmentelse{#3} + {% [12pt] [style] [settings] + \doifundefined{#2}{\expanded{\definefontstyle[#2][#2]}}% new + \processcommalist[#1]{\dododefinebodyfont{#2}{#3}}} + {% [12pt] [style] [identifier] + \dodefinedefaultbodyfont[#1][#2][#3]}} % body style identifier + {% [identifier] [style] [settings] + \setvalue{\s!default#1#2}##1##2{\expanded{\dodefinebodyfont[##1][##2][#3]}}}% \else\ifsecondargument \definebodyfont[#1][\c!rm][#2]% \else @@ -1455,103 +1722,68 @@ {\definebodyfont[#1][\c!rm][]}% make sure some basics are set up. \fi\fi} -%D Defining a bodyfont involves two actions: defining the specific -%D style related alternatives, like \type{\rma}, \type{\bfa} -%D and \type{\rmsla}, and storing the definitions of their -%D bodyfont size related fonts. The first step is bodyfont -%D independant but executed every time. This permits user -%D definitions like \type{\tfw} or \type{\bfq} for real large -%D alternatives. - -% \def\dodododefinebodyfont[#1][#2][#3]% er kan wat naar buiten -% {\doifelse{#1}{\s!default} -% {\setvalue{\s!default#2}##1{\definebodyfont[##1][#2][#3]}} -% {\geteparameters[\??ft#1#2][#3]% We expand them! -% \dodefinebodyfontenvironment[#1][]% Just to be sure. -% \def\doiffamily##1##2##3\\% adapted -% {\doifinstringelse{##1##2}\familylist -% {} -% {\addtocommalist{##1##2}\familylist -% %\settextfonts -% \unexpanded\setvalue{##1##2}% -% {\getvalue{#2}\getvalue{##1##2}}% -% \unexpanded\setvalue{##1##2\c!x}% -% {\getvalue{##1##2}\getvalue{##1##2\c!x}}% -% \unexpanded\setvalue{##1##2\c!xx}% -% {\getvalue{##1##2}\getvalue{##1##2\c!xx}}}% -% \doifsomething{##3} -% {\unexpanded\setvalue{#2##3}% eg: \rma, \ssa -% {\switchtofontstyle{#2}{##3}}% -% \unexpanded\setvalue{##1##2##3}% eg: \tfa, \bfa -% {\switchtofontalternative{##1##2}{##3}}% -% \unexpanded\setvalue{#2##1##2##3}% eg: \rmtfa, \ssbfa -% {\switchtofontstylealternative{#2}{##1##2}{##3}}}}% -% \def\dododododefinebodyfont##1% -% {\doifnot{##1}{\s!hyphenchar} -% {\doifdefined{\??ft#1#2##1} -% {%\letvalue{@#1#2##1@}=\characterencoding -% \setevalue{@#1#2##1@}{\currentencoding}% strips @ -% \doifelse{#2}{\c!tt} -% {\unexpanded\setvalue{#1#2##1}{\doloadttfont{#1}{#2}{##1}}} -% {\unexpanded\setvalue{#1#2##1}{\doloadfont{#1}{#2}{##1}}}% -% \bgroup -% \let\relax=\empty -% %\debuggerinfo -% % {\m!fonts}{\getvalue{\??ft#1#2##1} defined as #1 #2 ##1}% -% \egroup}% -% \doifnot{#2}{\c!mm} % new! -% {\expandafter\doiffamily##1\\}}}% -% \processassignlist[#3]\dododododefinebodyfont}} - -% This saves 5K in the fmt file. - -\def\dodododefinebodyfont[#1][#2][#3]% er kan wat naar buiten - {\doifelse{#1}{\s!default} - {\setvalue{\s!default#2}##1{\definebodyfont[##1][#2][#3]}} - {\geteparameters[\??ft#1#2][#3]% We expand them! - \dodefinebodyfontenvironment[#1][]% Just to be sure. - \processassignlist[#3]{\dododododefinebodyfont{#1}{#2}}}} - -\def\dododododefinebodyfont#1#2#3% - {\doifnot{#3}{\s!hyphenchar} - {\doifdefined{\??ft#1#2#3} - {\setevalue{@#1#2#3@}{\currentencoding}% strips @ - \doifelse{#2}{\c!tt} - {\unexpanded\setvalue{#1#2#3}{\doloadttfont{#1}{#2}{#3}}} - {\unexpanded\setvalue{#1#2#3}{\doloadfont{#1}{#2}{#3}}}% - \bgroup - \let\relax=\empty - %\debuggerinfo - % {\m!fonts}{\getvalue{\??ft#1#2#3} defined as #1 #2 #3}% - \egroup}% - \doifnot{#2}{\c!mm} % new! - {\expandafter\doiffamily#3\\#2\\}}} - -%D !! This one will change !! - -\def\doiffamily#1#2#3\\#4\\% adapted - {\doifinstringelse{#1#2}\familylist - {} - {\addtocommalist{#1#2}\familylist - % eg \bf - \unexpanded\setvalue{#1#2}% - {\getvalue{#4}\getvalue{#1#2}}% funny strange escape, the #4 - % eg \bfx - \unexpanded\setvalue{#1#2\c!x}% - {\getvalue{#1#2}\getvalue{#1#2\c!x}}% - % eg \bfxx - \unexpanded\setvalue{#1#2\c!xx}% - {\getvalue{#1#2}\getvalue{#1#2\c!xx}}}% - \doifsomething{#3} - {% eg: \rma, \ssa - \unexpanded\setvalue{#4#3}% - {\switchtofontstyle{#4}{#3}}% - % eg: \tfa, \bfa - \unexpanded\setvalue{#1#2#3}% - {\switchtofontalternative{#1#2}{#3}}% - % eg: \rmtfa, \ssbfa - \unexpanded\setvalue{#4#1#2#3}% - {\switchtofontstylealternative{#4}{#1#2}{#3}}}} +\def\dododefinebodyfont#1#2#3% style defs body + {\checkbodyfontenvironment[#3]% just to be sure. + \processcommalist[#2]{\dodododefinebodyfont{#1}{#3}}} + +\def\dodododefinebodyfont#1#2#3% style body def + {\dododododefinebodyfont{#1}{#2}[#3]} + +\newif \ifresolvefontfile % protected by fontclass anyway + +\def\resolvefontname#1 {\truefontname{#1} } + +\def\iflocalclassfonts{\ifx\fontclass\empty} + +% \let\iflocalclassfonts\iffalse + +\def\dododododefinebodyfont#1#2[#3#4#5=#6]% style body def + {\ifundefined{#1#3#4#5}% + \checkbodyfont{#2}{#1}{#3#4}{#5}% not \definefontsize[#5] + \fi + \dostorerelativefontsize{\fontclass#2#1#3#4#5}% + \iflocalclassfonts + \letbeundefined{*#2#1#3#4#5*}% + \unexpanded + \setvalue{#2#1#3#4#5}{\xxdododefinefont + {#2#1#3#4#5}{#6}}% + \else + %\expanded{\writestatus{defining}{[\fontclass][#2#1#3#4#5] \resolvefontname#6 }}% + \global\letbeundefined{*\fontclass#2#1#3#4#5*}% + \ifresolvefontfile + \unexpanded + \setxvalue{\fontclass#2#1#3#4#5}{\noexpand\xxdododefinefont + {#2#1#3#4#5}{\resolvefontname#6 }}% + \else + \unexpanded + \setgvalue{\fontclass#2#1#3#4#5}{\xxdododefinefont + {#2#1#3#4#5}{#6}}% + \fi + \fi} + +\def\checkbodyfont#1#2#3#4% body style alternative size / global + {% beware: #4 can be empty + \unexpanded\setgvalue {#2#4}{\setcurrentfontstylesize {#2}{#4}}% \rma + \unexpanded\setgvalue {#3#4}{\setcurrentfontalternativesize {#3}{#4}}% \sla + \unexpanded\setgvalue {#2#3#4}{\setcurrentfontstylealternativesize{#2}{#3}{#4}}% \rmsla + \unexpanded\setgvalue {#2}{\setcurrentfontstyle {#2}}% \rm + \unexpanded\setgvalue {#3}{\setcurrentfontalternative {#3}}% \sl + \unexpanded\setgvalue {#2\c!x}{\setcurrentfontxstylealternative {#3}}% \rmx + \unexpanded\setgvalue{#2\c!xx}{\setcurrentfontxxstylealternative {#3}}% \rmxx + \unexpanded\setgvalue {#3\c!x}{\setcurrentfontxalternative {#3}}% \slx + \unexpanded\setgvalue{#3\c!xx}{\setcurrentfontxxalternative {#3}}% \slxx + \unexpanded\setgvalue {#2#3}{\setcurrentfontstylealternative {#2}{#3}}}% \rmsl + +\def\dodefinedefaultbodyfont[#1][#2][#3]% sizes styles identifier + {\def\dododefinedefaultbodyfont##1% + {\def\dodododefinedefaultbodyfont####1% + {\def\dododododefinedefaultbodyfont########1% + {\doifdefined{\s!default########1####1} + {% [12pt] [style] [identifier] + \getvalue{\s!default########1####1}{##1}{####1}}}% + \processcommalist[#3]\dododododefinedefaultbodyfont}% + \processcommalist[#2]\dodododefinedefaultbodyfont}% + \processcommalist[#1]\dododefinedefaultbodyfont} %D Unknown families are added to the family list! For the %D moment we also set the direct calls here. Some day a better @@ -1560,7 +1792,7 @@ \newif\ifdefiningunknownfont -\def\defineunknownfont#1% +\def\defineunknownfont#1% {\let\c!savedtext=\c!text \let\c!text=\s!text \donefalse @@ -1581,7 +1813,7 @@ \def\defineunknownbodyfont##1% {\doifdefined{\s!default##1}{\donetrue\getvalue{\s!default##1}{#1}}}% \processcommacommand - [\stylelist,\c!mm] + [\stylelist] \defineunknownbodyfont \ifdone \setvalue{\@size@#1}{\docompletefontswitch[#1]}% @@ -1602,16 +1834,12 @@ %D Fonts are not loaded yet! This means that at format %D generation time, no font files are preloaded. -% %D We could have use \type{\unexpanded\setvalue} instead of -% %D the \type{\donottest} prefixes. However, this would lead to -% %D about 600 extra entries in the hash table. - -%D A previous implementation used: -%D +%D A previous implementation used: +%D %D \starttypen %D \type {\setvalue{name}{\donottest...}} %D \stoptypen -%D +%D %D instead of the more memory hungry: %D %D \starttypen @@ -1619,9 +1847,9 @@ %D \stoptypen %D %D The first alternative saves about 500 hash entries (about -%D 2.5\% of the total number of entries used. The second -%D alternative is currently used, because that one can more -%D easily be made \ETEX\ aware. +%D 2.5\% of the total number of entries used. The second +%D alternative is currently used, because that one can more +%D easily be made \ETEX\ aware. %D \macros %D {everybodyfont,Everybodyfont} @@ -1631,7 +1859,9 @@ %D in other modules. Here we only provide the hooks that %D garantees their handling. -\newevery \everybodyfont \Everybodyfont +\ifx\everybodyfont\undefined % permits reloading + \newevery \everybodyfont \Everybodyfont +\fi %D At the system level one can initialize thing like: %D @@ -1691,7 +1921,7 @@ %D often not the way users specify the bodyfont size. Therefore %D we also store the normalized value. -\chardef\fontdigits=1 % +\chardef\fontdigits=1 % \def\donormalizedbodyfontsize#1.#2#3#4\to#5% {\edef#5% @@ -1721,20 +1951,21 @@ %D some day. %D \macros -%D {fontsize,fontstyle} +%D {fontstyle,fontalternative,fontsize} %D %D Within a bodyfont, fonts can come in different sizes. For %D instance \type{\tf} is accompanied by \type{\tfa}, -%D \type{\tfb} etc. The third character in these sequences +%D \type{\tfb} etc. The first two characters denote the +%D alternative, while the third character in these sequences %D represents the size. The actual size is saved in a macro - -\let\fontsize = \empty - +%D %D The style, being roman (\type{\rm}), sans serif (\type{\ss}) %D etc. is also available in a macro in \type{rm}, \type{ss} %D etc. form: -\let\fontstyle = \empty +\let\fontalternative = \c!tf +\let\fontstyle = \empty +\let\fontsize = \empty %D All things related to fonts are grouped into files with %D names like \type{font-cmr}. These files are loaded by: @@ -1744,18 +1975,18 @@ \newif\ifloadfontdefinitionfileonce -\def\doreadfontdefinitionfile#1% - {\doifundefined{\c!file\f!fontprefix#1}% +\def\doreadfontdefinitionfile#1#2% #1 = set/switch state + {\doifundefined{\c!file\f!fontprefix#2}% {\ifloadfontdefinitionfileonce - \letvalue{\c!file\f!fontprefix#1}\empty + \letvalue{\c!file\f!fontprefix#2}\empty \fi \startreadingfile - \readsysfile{\truefilename{\f!fontprefix#1}} - {\showmessage{\m!fonts}{2}{#1}} - {\makeshortfilename[\truefilename{\f!fontprefix#1}]% + \readsysfile{\truefilename{\f!fontprefix#2}} + {\showmessage{\m!fonts}{2}{#2}} + {\makeshortfilename[\truefilename{\f!fontprefix#2}]% \readsysfile{\shortfilename} - {\showmessage{\m!fonts}{2}{#1}} - {\showmessage{\m!fonts}{3}{#1}}}% + {\showmessage{\m!fonts}{2}{#2}} + {\showmessage{\m!fonts}{3}{#2}}}% \stopreadingfile}} %D When \type {\loadfontdefinitionfiletrue}, such files are @@ -1764,7 +1995,7 @@ %D all kind of font, which of course is a kind of %D typographically sin. The \type{"} is made inactive if %D needed to prevent problems with loading files that use this -%D character in numbers. +%D character in numbers. \def\doswitchpoints[#1]% {\expanded{\dodoswitchpoints{#1}}} @@ -1776,14 +2007,15 @@ {\getvalue{\@size@#1}% \localbodyfontsize=#1\relax \normalizebodyfontsize\localbodyfontsize\to\normalizedbodyfontsize - \the\everybodyfont} + }% \the\everybodyfont} {\showmessage{\m!fonts}{4}{#1}}} -\def\doswitchstyle[#1]% +\unprotected \def\doswitchstyle[#1]% {\doifdefinedelse{\@style@#1} {\getvalue{\@style@#1}% \edef\fontstyle{#1}% - \the\everybodyfont} % cleaner, in setting size as well as style + \ifmmode\mr\fi % in order to be compatible with \rm in math mode + }% \the\everybodyfont} % cleaner, in setting size as well as style {\showmessage{\m!fonts}{5}{#1}}} %D \TEX\ loads font metric files like \type{cmr10.tfm} and @@ -1839,43 +2071,44 @@ \def\preloadfonts% {\showmessage{\m!fonts}{6}{\normalizedbodyfontsize\normalspace\fontstyle}% + \global\loadingfontsfalse \doswitchpoints[\normalizedbodyfontsize]% \doswitchstyle[\fontstyle]% - \global\let\preloadfonts=\relax - \global\loadingfontsfalse} +\the\everybodyfont + \global\let\preloadfonts=\relax} %D Here comes the main font switching macros. These macros %D handle changes in size as well as returning to the global %D bodyfont size. -\def\dosetfont[#1]% - {\doifelse{#1}{\v!globaal} +\def\dosetfont#1#2% #1 = set/switch state + {\doifelse{#2}{\v!globaal} {\restoreglobalbodyfont} - {\processcommalist[#1]\dodosetfont + {\processcommalist[#2]{\dodosetfont{#1}}% ##1 get also passed \ifloadingfonts\else \doswitchpoints[\normalizedbodyfontsize]% \doswitchstyle[\fontstyle]% \fi}% \chardef\currentxfontsize=0\relax} -\def\dodosetfont#1% - {\dododosetfont{#1}{\showmessage{\m!fonts}{4}{#1}}} +\def\dodosetfont#1#2% #1 = set/switch state + {\dododosetfont{#1}{#2}{\showmessage{\m!fonts}{4}{#2}}} -\def\dododosetfont#1#2% - {\doifnumberelse{#1} - {\scratchdimen=#1\relax +\def\dododosetfont#1#2#3% #1 = set/switch state + {\doifnumberelse{#2} + {\scratchdimen=#2\relax \normalizebodyfontsize\scratchdimen\to\normalizedsetfont \doifundefined{\@size@\normalizedsetfont} - {\defineunknownfont{#1}}% + {\defineunknownfont{#2}}% \doifdefinedelse{\@size@\normalizedsetfont} {\localbodyfontsize=\normalizedsetfont \let\normalizedbodyfontsize=\normalizedsetfont} - {#2\dosetsubstitutefont{#1}}} - {\doifelse{#1}{\v!reset} + {#3\dosetsubstitutefont{#1}{#2}}} + {\doifelse{#2}{\v!reset} {\let\fontsize=\empty} - {\doifdefinedelse{\@style@#1} - {\edef\fontstyle{#1}} - {\doreadfontdefinitionfile{#1}}}}} + {\doifdefinedelse{\@style@#2} + {\edef\fontstyle{#2}} + {\doreadfontdefinitionfile{#1}{#2}}}}} %D In the previous macros we use \type{\currentxfontsize} to %D hold the current x||size of the font. This enables us to @@ -1891,34 +2124,200 @@ %D are more probable to occur. By taking a value slightly %D smaller than half a point, we can use the next method. -\def\dosetsubstitutefont#1% - {\scratchdimen=#1\relax +\def\dosetsubstitutefont#1#2% #1 = set/switch state + {\scratchdimen=#2\relax \advance\scratchdimen by .499pt \dimensiontocount\scratchdimen\scratchcounter \advance\scratchcounter by -1 \ifnum\scratchcounter>3 - \dododosetfont{\the\scratchcounter pt}{}% + \dododosetfont{#1}{\the\scratchcounter pt}{}% + \fi} + +% The following bunch of macros deals with the (run time) +% expansion of names onto the definitions made by \type +% {\definebodyfont}. + +% \let\fontbody \empty % ... 10pt 11pt 12pt ... +% \let\fontstyle \empty % rm ss tt mm hw cg ... +% \let\fontalternative\empty % tf bf sl it bs bi sc ... +% \let\fontsize \empty % xy-abcd ... + +\def\fontbody{\normalizedbodyfontsize} + +\let\fontclass\empty \let\globalfontclass\fontclass + +\def\setcurrentfontclass#1% + {\edef\fontclass{#1}} + +\let\defaultfontbody \!!twelvepoint +\let\defaultfontstyle \c!rm +\let\defaultfontalternative \c!tf +\let\defaultfontsize \empty + +\def\dosetcurrentfontsize#1% + {\let\!!stringa\fontsize + \edef\fontsize{#1}% + \ifx\!!stringa\fontsize\else + \synchronizemath + \synchronizetext + \fi} + +\def\dosetcurrentfontalternative#1% + {\edef\fontalternative{#1}% + \ifmmode % maybe better no test + \fam\csname\fontalternative\s!fam\endcsname + \fi} + +\def\setcurrentfont#1#2#3#4% + {%\message{[1 #1 #2 #3 #4]}% + \edef\fontbody{#1}% + \edef\fontstyle{#2}% + \dosetcurrentfontalternative{#3}% + \dosetcurrentfontsize{#4}% + \synchronizefont} + +\def\setcurrentfontbody#1% + {%\message{[2 #1]}% + \edef\fontbody{#1}% + \synchronizefont} + +\def\setcurrentfontstyle#1% + {%\message{[3 #1]}% + \edef\fontstyle{#1}% + \ifmmode\mr\fi % otherwise \rm not downward compatible + \synchronizefont} + +\def\setcurrentfontbodyalternative#1#2% + {%\message{[4 #1 #2]}% + \edef\fontbody{#1}% + \dosetcurrentfontalternative{#2}% + \synchronizefont} + +\def\setcurrentfontalternative#1% + {%\message{[5 #1]}% + \dosetcurrentfontalternative{#1}% + \synchronizefont} + +\def\setcurrentfontsize#1% + {%\message{[6 #1]}% + \dosetcurrentfontsize{#1}% + \synchronizefont} + +\def\setcurrentfontstylealternative#1#2% \rmsl + {%\message{[7 #1 #2]}% + \edef\fontstyle{#1}% + \dosetcurrentfontalternative{#2}% + \synchronizefont} + +\def\setcurrentfontstylesize#1#2% \rmsl + {%\message{[8 #1 #2]}% + \edef\fontstyle{#1}% + \dosetcurrentfontsize{#2}% + \synchronizefont} + +\def\setcurrentfontalternativesize#1#2% \sla + {%\message{[9 #1 #2]}% + \dosetcurrentfontalternative{#1}% + \dosetcurrentfontsize{#2}% + \synchronizefont} + +\def\setcurrentfontstylealternativesize#1#2#3% \rmsla + {%\message{[10 #1 #2 #3]}% + \edef\fontstyle{#1}% + \dosetcurrentfontalternative{#2}% + \dosetcurrentfontsize{#3}% + \synchronizefont} + +%D In principle one can assign alternative fallback routines. +%D Some day we will. + +\newtoks\fontstrategies + +\def\synchronizefont% + {\let\fontstrategy\dofontstrategy + \the\fontstrategies} + +\beginTEX + +\def\dofontstrategy#1#2#3#4#5#6% + {\expandafter\ifx\csname#2#3#4#5#6\endcsname\relax\else + #1\csname#2#3#4#5#6\endcsname + \let\fontstrategy\gobblesixarguments + \fi} + +\endTEX + +\beginETEX \ifcsname + +\def\dofontstrategy#1#2#3#4#5#6% + {\ifcsname#2#3#4#5#6\endcsname + #1\csname#2#3#4#5#6\endcsname + \let\fontstrategy\gobblesixarguments \fi} -%D Next we're going to implement some switching macros we -%D already used in when defining fonts. The first one takes -%D care of the style and is used by commands like \type{\rma}. +\endETEX + +% font class + +\appendtoks \fontstrategy \autofontsizefalse % --- --- --- --- % pt tt bf a + \fontclass \fontbody \fontstyle \fontalternative \fontsize +\to \fontstrategies + +\appendtoks \fontstrategy \autofontsizetrue % --- --- --- def % pt tt bf + \fontclass \fontbody \fontstyle \fontalternative \defaultfontsize +\to \fontstrategies + +\appendtoks \fontstrategy \autofontsizetrue % --- --- def --- % pt tt tf a + \fontclass \fontbody \fontstyle \defaultfontalternative \fontsize +\to \fontstrategies + +\appendtoks \fontstrategy \autofontsizetrue % --- --- def def % pt tt tf + \fontclass \fontbody \fontstyle \defaultfontalternative \defaultfontsize +\to \fontstrategies + +\appendtoks \fontstrategy \autofontsizefalse % --- def def def % pt rm tf + \fontclass \fontbody \defaultfontstyle \defaultfontalternative \defaultfontsize +\to \fontstrategies + +\appendtoks \fontstrategy \autofontsizetrue % def def def def % rm tf + \fontclass \defaultfontbody \defaultfontstyle \defaultfontalternative \defaultfontsize +\to \fontstrategies + +% no font class + +\appendtoks \fontstrategy \autofontsizefalse % --- --- --- --- % pt tt bf a + \empty \fontbody \fontstyle \fontalternative \fontsize +\to \fontstrategies + +\appendtoks \fontstrategy \autofontsizetrue % --- --- --- def % pt tt bf + \empty \fontbody \fontstyle \fontalternative \defaultfontsize +\to \fontstrategies + +\appendtoks \fontstrategy \autofontsizetrue % --- --- def --- % pt tt tf a + \empty \fontbody \fontstyle \defaultfontalternative \fontsize +\to \fontstrategies + +\appendtoks \fontstrategy \autofontsizetrue % --- --- def def % pt tt tf + \empty \fontbody \fontstyle \defaultfontalternative \defaultfontsize +\to \fontstrategies -\def\switchtofontstyle#1#2% - {\getvalue{#1}% - \getvalue{\c!tf#2}} +\appendtoks \fontstrategy \autofontsizefalse % --- def def def % pt rm tf + \empty \fontbody \defaultfontstyle \defaultfontalternative \defaultfontsize +\to \fontstrategies -%D The second one is responsible for commands like \type{\bfa} -%D and the third one handles the combined \type{\rmbfa} -%D alternatives. +\appendtoks \fontstrategy \autofontsizetrue % def def def def % rm tf + \empty \defaultfontbody \defaultfontstyle \defaultfontalternative \defaultfontsize +\to \fontstrategies -\def\switchtofontalternative#1#2% - {\def\fontsize{#2}% - \setfontstyle{\fontstyle}{\fontstyle}% - \getvalue{#1}} +%D Let's synchronize: -\def\switchtofontstylealternative#1#2#3% - {\getvalue{\normalizedbodyfontsize#1#2#3}} +\newif\ifsynchronizefonts \synchronizefontstrue + +\prependtoks + \ifsynchronizefonts + \synchronizemath \synchronizetext \synchronizefont + \fi +\to \everybodyfont %D Setting the normal sized as well as the x and xx smaller %D sizes is accomplished by the next set of macros. When in @@ -1927,35 +2326,44 @@ %D in text mode the values defined by the bodyfontenvironment are %D used. Here we also set \type{\currentxfontsize}. -\def\dosetsomextypeface#1% - {\doifdefinedelse{#1} - {\getvalue{#1}} - {\showmessage{\m!fonts}{7}{#1}}}% +\beginTEX -\def\dosetxtypeface#1% - {\chardef\currentxfontsize=1 +\def\dosetcurrentfontxxxalternative#1#2#3#4% + {\chardef\currentxfontsize=#2 \ifmmode - \scriptstyle - \else - \dosetsomextypeface - {\getvalue{\??ft\normalizedbodyfontsize\c!x}% % pt - \getvalue{\@shortstyle@\fontstyle}% % rm - #1}% % tf - \unexpanded\def\tx{\dosetxxtypeface{#1}}% - \fi} + #4% + \else\expandafter\ifx\csname\bodyfontvariable{\normalizedbodyfontsize#3}\endcsname\relax\else + \setcurrentfontbodyalternative{\bodyfontcsname\normalizedbodyfontsize#3\endcsname}{#1}% + \fi\fi} + +\endTEX -\def\dosetxxtypeface#1% - {\chardef\currentxfontsize=2 +\beginETEX \ifcsname + +\def\dosetcurrentfontxxxalternative#1#2#3#4% + {\chardef\currentxfontsize=#2 \ifmmode - \scriptscriptstyle - \else - \dosetsomextypeface - {\getvalue{\??ft\normalizedbodyfontsize\c!xx}% % pt - \getvalue{\@shortstyle@\fontstyle}% % rm - #1}% % tf - \let\tx=\relax - \let\txx=\relax - \fi} + #4% + \else\ifcsname\bodyfontvariable{\normalizedbodyfontsize#3}\endcsname + \setcurrentfontbodyalternative{\bodyfontcsname\normalizedbodyfontsize#3\endcsname}{#1}% + \fi\fi} + +\endETEX + +\def\setcurrentfontxalternative#1% + {\dosetcurrentfontxxxalternative{#1}1\c!x\scriptstyle + \let\tx\txx} + +\def\setcurrentfontxxalternative#1% + {\dosetcurrentfontxxxalternative{#1}2\c!xx\scriptscriptstyle + \let\tx\empty + \let\txx\empty} + +% This alterative is not really needed, but for old time's sake +% we keep it there. We can speed it up when needed. + +\def\setcurrentfontxstylealternative #1{\getvalue{#1}\tfx} +\def\setcurrentfontxxstylealternative#1{\getvalue{#1}\tfxx} %D These macros also show us that when we call for \type{\tx}, %D this macro is redefined to be \type{\txx}. Therefore calls @@ -1982,133 +2390,8 @@ %D takes a bit more time. Keep in mind that the fontsize is %D represented by a character or empty. -\beginTEX - -\def\dosettextfont#1#2% Watch the extra test! - {\unexpanded\setvalue{#1#2}% - {\csname\textface#1% - \@EA\ifx\csname\textface#1#2\fontsize\endcsname\relax - \@EA\ifx\csname\textface#1\c!tf\fontsize\endcsname\relax - #2% - \else - \c!tf\fontsize - \fi - \else - #2\fontsize - \fi - \endcsname}} - -\endTEX - -\beginETEX \ifcsname - -\def\dosettextfont#1#2% Watch the extra test! - {\unexpanded\setvalue{#1#2}% - {\csname\textface#1% - \ifcsname\textface#1#2\fontsize\endcsname - #2\fontsize - \else\ifcsname\textface#1\c!tf\fontsize\endcsname - \c!tf\fontsize - \else - #2% - \fi\fi - \endcsname}} - -\endETEX - -\def\settextfont#1% - {\def\dowithfamily{\dosettextfont{#1}}\processfamilylist} - -\def\settextfonts% - {\rawprocesscommalist[\stylelist]\settextfont} - -%D All three sizes come together in the macro: - -\def\settypefaces#1#2% - {\unexpanded\setvalue{#2}% - {\dosettypeface{#1}{#2}}% - \unexpanded\setvalue{#2\c!x}% - {\dosetxtypeface{#2}}% - \unexpanded\setvalue{#2\c!xx}% - {\dosetxxtypeface{#2}}}% - -%D Earlier in this module we defined some \TEX\ families. Here -%D we introduce the macros that are responsible for setting -%D them. The first argument of the next macro takes the style -%D in its short form (rm, ss, etc). The second argument is the -%D alternative (tf, bf, etc). - -%D Before actually assigning the font to a family we activate -%D it. This is needed because loading of fonts is postponed -%D until the first time it's called for. This also forces us to -%D set the text family after we've set the script ones, else -%D the latter one would be in force after executing this macro. - -\def\settextfamily#1#2#3% - {\scriptscriptfont\csname#3\s!fam\endcsname\scriptfont\csname#3\s!fam\endcsname - \dosettextfamily{#1}{#2}{#3}\scriptscriptfont\scriptscriptface - \scriptfont \csname#3\s!fam\endcsname\textfont \csname#3\s!fam\endcsname - \dosettextfamily{#1}{#2}{#3}\scriptfont\scriptface - \textfont \csname#3\s!fam\endcsname\textfont \tffam - \dosettextfamily{#1}{#2}{#3}\textfont\textface} - -\beginTEX - -\def\dosettextfamily#1#2#3#4#5% - {\@EA\ifx\csname#5\c!mm#2\endcsname\relax - \@EA\ifx\csname#5#1#2\endcsname\relax - \@EA\ifx\csname#5#1\c!tf\endcsname\relax - %\debuggerinfo{\m!fonts}{not defined #5#1#2}% - \else - %\debuggerinfo{\m!fonts}{#5#1#2 replaced by #5#1\c!tf}% - \csname#5#1\c!tf\endcsname% activate font - \@EA#4\csname#3\s!fam\endcsname\csname#5#1\c!tf\endcsname - \fi - \else - %\debuggerinfo{\m!fonts}{defined #5#1#2}% - \csname#5#1#2\endcsname% activate font - \@EA#4\csname#3\s!fam\endcsname\csname#5#1#2\endcsname - \fi - \else - %\debuggerinfo{\m!fonts}{#5#1#2 overruled by #5\c!mm#2}% - \csname#5\c!mm#2\endcsname % activate font - \@EA#4\csname#3\s!fam\endcsname\csname#5\c!mm#2\endcsname - \fi} - -\endTEX - -\beginETEX \ifcsname - -\def\dosettextfamily#1#2#3#4#5% - {\ifcsname#5\c!mm#2\endcsname - %\debuggerinfo{\m!fonts}{#5#1#2 overruled by #5\c!mm#2}% - \csname#5\c!mm#2\endcsname % activate font - \@EA#4\csname#3\s!fam\endcsname\csname#5\c!mm#2\endcsname - \else\ifcsname#5#1#2\endcsname - %\debuggerinfo{\m!fonts}{defined #5#1#2}% - \csname#5#1#2\endcsname% activate font - \@EA#4\csname#3\s!fam\endcsname\csname#5#1#2\endcsname - \else\ifcsname#5#1\c!tf\endcsname - %\debuggerinfo{\m!fonts}{#5#1#2 replaced by #5#1\c!tf}% - \csname#5#1\c!tf\endcsname% activate font - \@EA#4\csname#3\s!fam\endcsname\csname#5#1\c!tf\endcsname - \else - %\debuggerinfo{\m!fonts}{not defined #5#1#2}% - \fi\fi\fi} - -\endETEX - -%D The previous macro lets definitions like -%D -%D \starttypen -%D \definebodyfont[10pt][mm][bf=cmbx10 at 10.25pt] -%D \stoptypen -%D -%D take preference over -%D -%D \starttypen -%D \definebodyfont[10pt][mm][bf=cmbx10 at 10pt] -%D \stoptypen +\unexpanded\def\tx {\setcurrentfontxalternative \fontalternative} +\unexpanded\def\txx{\setcurrentfontxxalternative\fontalternative} %D \macros %D {definefontstyle} @@ -2128,11 +2411,7 @@ {}%\debuggerinfo{\m!fonts}{unknown style #2}} {\addtocommalist{#2}\stylelist \showmessage{\m!fonts}{8}{#2 (#1)}}% - \unexpanded\setvalue{#2}{\setfontstyle{#2}{#2}}% - \setvalue{#2\c!x}% - {\getvalue{#2}\getvalue{\c!tf\c!x}}% - \setvalue{#2\c!xx}% - {\getvalue{#2}\getvalue{\c!tf\c!xx}}% + % check kan hier \def\docommando##1% {\setvalue{\@shortstyle@##1}{#2}% \setvalue{\@style@##1}{\getvalue{#2}}}% @@ -2141,148 +2420,16 @@ \def\definefontstyle% {\dodoubleargument\dodefinefontstyle} -%D CHECKEN WAT \type{\fontstyle} HIER DOET - \def\setfontstyle#1#2% #1:name (roman, romaan) #2:style (rm) {\edef\fontstyle{#1}% - \def\dowithfamily{\dosetfontstyle{#2}}\processfamilylist - \unexpanded\def\tx{\tfx}% - \fam\tffam - \tf} - -\beginTEX - -\def\dosetfontstyle#1#2% - {\@EA\ifx\csname#2\s!fam\endcsname\relax - \settextfamily{#1}{#2}{\c!nn}% - \else - \settextfamily{#1}{#2}{#2}% - \fi - \settypefaces{#1}{#2}} - -\endTEX - -\beginETEX \ifcsname - -\def\dosetfontstyle#1#2% - {\ifcsname#2\s!fam\endcsname - \settextfamily{#1}{#2}{#2}% - \else - \settextfamily{#1}{#2}{\c!nn}% - \fi - \settypefaces{#1}{#2}} + \setcurrentfontstyle{\normalizedbodyfontsize}} -\endETEX - -%D Setting the math families looks much like setting the texts -%D ones. This time however we use the 12 point font as a -%D default when nothing is defined. This enables us to -%D implement partial schemes. Here we also set the -%D \type{\skewchar}, which takes care of accents in math mode -%D (actually it's the largest accent). The first family needs a -%D bit different treatment because it can be set to the default -%D roman as well as a user defined font. - -\def\setmathfamilies% - {\setskewchar{\textface\c!mm\c!mi}{'177}% - \setskewchar{\textface\c!mm\c!sy}{'60}% - \setmathfamily\mrfam\textface\scriptface\scriptscriptface{\c!mm\c!mr}{\c!rm\c!tf}% - \setmathfamily\mifam\textface\scriptface\scriptscriptface{\c!mm\c!mi}{}% - \setmathfamily\syfam\textface\scriptface\scriptscriptface{\c!mm\c!sy}{}% - \setmathfamily\exfam\textface\textface \textface {\c!mm\c!ex}{}% - \setmathfamily\mafam\textface\scriptface\scriptscriptface{\c!mm\c!ma}{}% - \setmathfamily\mbfam\textface\scriptface\scriptscriptface{\c!mm\c!mb}{}% - \setmathfamily\mcfam\textface\scriptface\scriptscriptface{\c!mm\c!mc}{}} - -%D Optionally skew characters can be set on a per font basis, -%D like: -%D -%D \starttypen -%D \definebodyfont -%D [12pt] [mm] -%D [mi=cmmi10,sy=cmsy10,syskewchar='50] -%D \stoptypen -%D -%D When setting the \type{\skewchar} we need to test on the -%D availability first. - -\beginTEX - -\def\setskewchar#1#2% - {\@EA\ifx\csname#1\endcsname\relax\else - \csname#1\endcsname - \@EA\ifx\csname\??ft#1\s!skewchar\endcsname\relax - \skewchar\csname#1\endcsname#2\relax - \else - \skewchar\csname#1\endcsname\csname\??ft#1\s!skewchar\endcsname\relax - \fi - \fi} - -\endTEX - -\beginETEX \ifcsname - -\def\setskewchar#1#2% - {\ifcsname#1\endcsname - \csname#1\endcsname - \ifcsname\??ft#1\s!skewchar\endcsname - \skewchar\csname#1\endcsname\csname\??ft#1\s!skewchar\endcsname\relax - \else - \skewchar\csname#1\endcsname#2\relax - \fi - \fi} - -\endETEX - -%D First we try to set the font at the math specific one (the -%D fifth argment), next we take the alternative the last -%D argument, which of often empty, and finally we default to -%D the 12 point alternative. - -\def\setmathfamily#1#2#3#4#5#6% er kunnen veel {} weg - {\dosetmathfamily\scriptscriptfont{#4}{#1}{#5}{#6}% - \dosetmathfamily\scriptfont {#3}{#1}{#5}{#6}% - \dosetmathfamily\textfont {#2}{#1}{#5}{#6}} - -\beginTEX +\chardef\defaultskewcharmi='177 +\chardef\defaultskewcharsy='60 -\def\dosetmathfamily#1#2#3#4#5% - {\@EA\ifx\csname#2#4\endcsname\relax - \@EA\ifx\csname#2#5\endcsname\relax - \@EA\ifx\csname\!!twelvepoint#4\endcsname\relax - #1#3\nullfont - \else - \csname\!!twelvepoint#4\endcsname - #1#3\csname\!!twelvepoint#4\endcsname\relax - \fi - \else - \csname#2#5\endcsname - #1#3\csname#2#5\endcsname\relax - \fi - \else - \csname#2#4\endcsname - #1#3\csname#2#4\endcsname\relax - \fi} - -\endTEX - -\beginETEX \ifcsname - -\def\dosetmathfamily#1#2#3#4#5% - {\ifcsname#2#4\endcsname - \csname#2#4\endcsname - #1#3\csname#2#4\endcsname\relax - \else\ifcsname#2#5\endcsname - \csname#2#5\endcsname - #1#3\csname#2#5\endcsname\relax - \else\ifcsname\!!twelvepoint#4\endcsname - \csname\!!twelvepoint#4\endcsname - #1#3\csname\!!twelvepoint#4\endcsname\relax - \else - #1#3\nullfont - \fi\fi\fi} - -\endETEX +\def\dosetskewchar#1% + {\skewchar\font=\ifundefined{\purefontname\font\s!skewchar}% + #1\else\csname\purefontname\font\s!skewchar\endcsname\fi} %D The previous macros show that it's is not always %D neccessary to define the whole bunch of fonts, take for @@ -2315,17 +2462,19 @@ %D default typeface and also set the font specific parameters %D assigned to \type{\everybodyfont} +\def\dosetbodyfontface#1#2% + {\edef#1{\bodyfontcsname\normalizedbodyfontsize#2\endcsname}} + \def\docompletefontswitch[#1]% {\bodyfontsize=#1\relax \dimensiontocount\bodyfontsize\bodyfontpoints \edef\bodyfontfactor{\withoutpt\the\bodyfontsize}% \normalizebodyfontsize\bodyfontsize\to\normalizedbodyfontsize - \edef\textface{\getvalue{\??ft\normalizedbodyfontsize\s!text}}% - \edef\scriptface{\getvalue{\??ft\normalizedbodyfontsize\s!script}}% - \edef\scriptscriptface{\getvalue{\??ft\normalizedbodyfontsize\s!scriptscript}}% - \settextfonts - \setmathfamilies - \rmtf} % no \everybodyfont needed here, so removed + \dosetbodyfontface \textface \s!text + \dosetbodyfontface \scriptface \s!script + \dosetbodyfontface \scriptscriptface \s!scriptscript} + +\docompletefontswitch[12pt] % init %D \macros %D {setupbodyfont,switchtobodyfont} @@ -2353,6 +2502,8 @@ %D Both macros look alike. The second one also has to take %D all kind of keywords into account. +\chardef\bodyfontsetstate=0 + \definecomplexorsimple\setupbodyfont \def\simplesetupbodyfont% @@ -2360,67 +2511,114 @@ \def\complexsetupbodyfont[#1]% {\doifsomething{#1} - {\dosetfont[#1]% + {\dosetfont1{#1}% \globalbodyfontsize=\localbodyfontsize - \normalizebodyfontsize\globalbodyfontsize\to\normalizedglobalbodyfontize + \normalizebodyfontsize\globalbodyfontsize\to\normalizedglobalbodyfontsize \let\globalfontstyle=\fontstyle - \the\everybodyfont}} % indeed needed in case \dosetfont is not executed +\ifloadingfonts\else + \the\everybodyfont + \fi }} % indeed needed in case \dosetfont is not executed -\unexpanded\def\switchtobodyfont[#1]% +\unexpanded\def\switchtobodyfont[#1]% {\doifsomething{#1} {\doifdefinedelse{\??ft\normalizedbodyfontsize\interfaced{#1}} {\doswitchpoints[\getvalue{\??ft\normalizedbodyfontsize\interfaced{#1}}]% \doswitchstyle[\fontstyle]} - {\dosetfont[#1]}% + {\dosetfont0{#1}}% \the\everybodyfont}} % indeed needed in case nothing is executed %D Because the last macro can appear in arguments or be assigned %D to parameters, we protect this one for unwanted expansion. \def\dodosetmathfont#1% - {\doifdefinedelse{#1\s!fam} % adapted - {\edef\mffam{\getvalue{#1\s!fam}}} - {\edef\mffam{\getvalue{\c!nn\s!fam}}}% + {\setcurrentfontalternative{#1}% + % \doifdefinedelse{#1\s!fam} % adapted + % {\edef\mffam{\getvalue{#1\s!fam}}} + % {\edef\mffam{\getvalue{\c!nn\s!fam}}}% \textfont \mrfam=\textfont \mffam \scriptfont \mrfam=\scriptfont \mffam \scriptscriptfont\mrfam=\scriptscriptfont\mffam} -\def\dosetmathfont% - {\def\rm{\fam0}\dodosetmathfont} +\def\domffam#1% + {\csname\ifundefined{#1\s!fam}\c!nn\else#1\fi\s!fam\endcsname} -\let\fontalternative=\c!tf +\def\mffam% + {\domffam\fontalternative} -%D Watch the encoding: the first settings are there for -%D upward compatibility reasons, the second one is the new, -%D font synonym related setting. +\def\dosetmathfont% + {\def\rm{\fam\mrfam}\dodosetmathfont} -\def\dosettypeface#1#2% - {\doifdefinedelse{@\normalizedbodyfontsize#1#2@} % the definition bound one - {\enablecoding[\getvalue{@\normalizedbodyfontsize#1#2@}]} - {\enablecoding[\s!default]}% - \edef\fontalternative{#2}% - \unexpanded\def\tx% - {\dosetxtypeface{#2\fontsize}}% - \unexpanded\def\txx% - {\dosetxxtypeface{#2\fontsize}}% - \doifdefinedelse{#2\s!fam} % adapted - {\expandafter\fam\getvalue{#2\s!fam}} - {\expandafter\fam\getvalue{\c!nn\s!fam}}% - \getvalue{#1#2}% - \ifcase\currentxfontsize\or\tx\or\txx\fi - \setfontcharacteristics} - -%D The font specific features are bound to the filename. +%D The font specific features are bound to the filename. + +% This can be made faster by testing for a mapping change +% here, but there is only a reason for doing that for mixed +% cases. \def\setfontcharacteristics% - {\doifdefined{\purefontname\font\s!handling} % the file bound one + {\doifdefinedelse{\purefontname\font\s!handling} % the file bound one {\enablehandling[\getvalue{\purefontname\font\s!handling}]}% - \doifdefined{\purefontname\font\s!encoding} % the file bound one + {\enablehandling[\s!default]}% + \doifdefinedelse{\purefontname\font\s!encoding} % the file bound one {\enablecoding[\getvalue{\purefontname\font\s!encoding}]}% + {\enablecoding[\s!default]}% \doifdefinedelse{\purefontname\font\s!mapping} % the file bound one {\enablemapping[\getvalue{\purefontname\font\s!mapping}]}% - {\doifdefined{\purefontname\font\s!encoding} - {\enablemapping[\getvalue{\purefontname\font\s!encoding}]}}} + {\doifdefinedelse{\purefontname\font\s!encoding} + {\enablemapping[\getvalue{\purefontname\font\s!encoding}]} + {\enablemapping[\s!default]}}} + +\beginTEX + +\def\setfontcharacteristics% + {\enablehandling + [\@EA\ifx\csname\purefontname\font\s!handling\endcsname\relax % the file bound one + \s!default + \else + \csname\purefontname\font\s!handling\endcsname + \fi]% + \enablecoding + [\@EA\ifx\csname\purefontname\font\s!encoding\endcsname\relax % the file bound one + \s!default + \else + \csname\purefontname\font\s!encoding\endcsname + \fi]% + \enablemapping + [\@EA\ifx\csname\purefontname\font\s!mapping\endcsname\relax % the file bound one + \@EA\ifx\csname\purefontname\font\s!encoding\endcsname\relax + \s!default + \else + \csname\purefontname\font\s!encoding\endcsname + \fi\else + \csname\purefontname\font\s!mapping\endcsname + \fi]} + +\endTEX + +\beginETEX \ifcsname + +\def\setfontcharacteristics% + {\enablehandling + [\ifcsname\purefontname\font\s!handling\endcsname % the file bound one + \csname\purefontname\font\s!handling\endcsname + \else + \s!default + \fi]% + \enablecoding + [\ifcsname\purefontname\font\s!encoding\endcsname % the file bound one + \csname\purefontname\font\s!encoding\endcsname + \else + \s!default + \fi]% + \enablemapping + [\ifcsname\purefontname\font\s!mapping\endcsname % the file bound one + \csname\purefontname\font\s!mapping\endcsname + \else\ifcsname\purefontname\font\s!encoding\endcsname + \csname\purefontname\font\s!encoding\endcsname + \else + \s!default + \fi\fi]} + +\endETEX %D The next auxilliary macro is an alternative to \type %D {\fontname}. @@ -2433,8 +2631,8 @@ %D \macros %D {switchstyleonly} %D -%D For switching a style but keeping the alternative, there -%D is: +%D For switching a style but keeping the alternative, there +%D is: %D %D \starttypen %D {\bf text \switchstyleonly\ss text} @@ -2442,23 +2640,14 @@ %D {\sl text \switchstyleonly[sansserif]text} %D \stoptypen -% \def\switchstyleonly#1% original takes \ss and {ss} -% {\let\savedfontalternative=\fontalternative -% \chardef\savedescapechar=\escapechar -% \escapechar=-1 -% \getvalue{\string#1}% -% \escapechar=\savedescapechar -% \getvalue{\savedfontalternative}} - -\definecomplexorsimple\switchstyleonly % final version +\definecomplexorsimple\switchstyleonly -\def\simpleswitchstyleonly#1% - {\complexswitchstyleonly[\strippedcsname#1]} +\def\simpleswitchstyleonly#1% stupid version + {\complexswitchstyleonly[\strippedcsname#1]} -\def\complexswitchstyleonly[#1]% - {\let\savedfontalternative=\fontalternative - \getvalue{\getvalue{\@shortstyle@#1}}% - \getvalue{\savedfontalternative}} +\def\complexswitchstyleonly[#1]% todo : check + {\setcurrentfontstyle{\getvalue{\@shortstyle@#1}}% + \the\everybodyfont} % needed ? %D \macros %D {os} @@ -2467,10 +2656,7 @@ %D like {\os 1234567890} instead of the more common looking %D 1234567890. -% \unexpanded\def\os% -% {\getvalue{\normalizedbodyfontsize\c!mm\c!mi}} - -\definefont[os][OldStyle sa \currentfontscale] +\definefont[os][OldStyle sa *] % \currentfontscale] \definefontsynonym[OldStyle][Serif] @@ -2478,11 +2664,11 @@ %D {frak, goth, cal} %D %D On behalf of {\frac Tobias Burnus}, we define some more of -%D these: +%D these: -\definefont [frak] [Fraktur sa \currentfontscale] -\definefont [goth] [Gothic sa \currentfontscale] -\definefont [cal] [Calligraphic sa \currentfontscale] +\definefont [frak] [Fraktur sa *] % \currentfontscale] +\definefont [goth] [Gothic sa *] % \currentfontscale] +\definefont [cal] [Calligraphic sa *] % \currentfontscale] \definefontsynonym [Fraktur] [Serif] \definefontsynonym [Gothic] [Serif] @@ -2530,17 +2716,23 @@ %D The three alternatives can be activated by the next three %D system calls and are defined by the bodyfontenvironment. -\def\setsmallbodyfont% - {\doswitchpoints[\getvalue{\??ft\normalizedbodyfontsize\interfaced\v!klein}]% - \doswitchstyle[\fontstyle]} +\let\fontstep\empty + +\def\setbodyfontstep#1% + {\edef\fontstep{\bodyfontcsname\normalizedbodyfontsize\interfaced#1\endcsname}% + \doswitchpoints[\fontstep]% + \doswitchstyle[\fontstyle]% +\the\everybodyfont +} -\def\setbigbodyfont% - {\doswitchpoints[\getvalue{\??ft\normalizedbodyfontsize\interfaced\v!groot}]% - \doswitchstyle[\fontstyle]} +\def\setsmallbodyfont{\setbodyfontstep\v!klein} +\def\setbigbodyfont {\setbodyfontstep\v!groot} \def\setmainbodyfont% {\doswitchpoints[\normalizedbodyfontsize]% - \doswitchstyle[\fontstyle]} + \doswitchstyle[\fontstyle]% +\the\everybodyfont +} %D \macros %D {restoreglobalbodyfont} @@ -2550,12 +2742,15 @@ %D in the main bodyfont and style of the document. Returning to %D the global state can be done with the next macro: +\let\mainfontclass\empty + \def\restoreglobalbodyfont% {\let\fontsize=\empty - \doswitchpoints[\normalizedglobalbodyfontize]% + \let\fontclass\globalfontclass \doswitchstyle[\globalfontstyle]% + \doswitchpoints[\normalizedglobalbodyfontsize]% \redoconvertfont % just in case a pagebreak occurs - \tf} + \tf \the\everybodyfont} %D This macro has to be called when entering the pagebody %D handling routine as well as the footnote insert routine. @@ -2573,8 +2768,7 @@ %D (a rather small period indeed), the same as \PICTEX\ uses %D for drawing purposes. -\def\rasterfont% - {\getvalue{\!!fivepoint\c!rm\c!tf}} +\definefont [rasterfont] [Serif at 5pt] %D \macros %D {infofont} @@ -2584,8 +2778,12 @@ %D don't want huge switches to the main bodyfont and style, so %D here too we use a direct method. -\def\infofont% - {\getvalue{\!!sixpoint\c!tt\c!tf}\the\everybodyfont} +% old mechanism +% +% \def\infofont% +% {\getvalue{\!!sixpoint\c!tt\c!tf}\the\everybodyfont} + +\definefont [infofont] [Mono at 6pt] % todo \the\everybodyfont %D \macros %D {definealternativestyle} @@ -2727,18 +2925,19 @@ \def\emphasistypeface {\sl} \def\emphasisboldface {\bs} -%D or even better: +%D or even better: -\def\emphasistypeface% - {\doifelsevalue{\??ft\normalizedbodyfontsize\c!em}{\v!schuin}{\sl} - {\doifvalue{\??ft\normalizedbodyfontsize\c!em}{\v!italic}{\it}}} +\def\doemphasistypeface#1#2% + {\doifelsevalue {\??ft\fontclass\normalizedbodyfontsize\c!em}{\v!schuin}{#1} + {\doifelsevalue {\??ft\fontclass\normalizedbodyfontsize\c!em}{\v!italic}{#2} + {\doifelsevalue{\??ft \normalizedbodyfontsize\c!em}{\v!schuin}{#1} + {\doifvalue {\??ft \normalizedbodyfontsize\c!em}{\v!italic}{#2}}}}} -\def\emphasisboldface% - {\doifelsevalue{\??ft\normalizedbodyfontsize\c!em}{\v!schuin}{\bs} - {\doifvalue{\??ft\normalizedbodyfontsize\c!em}{\v!italic}{\bi}}} +\def\emphasistypeface{\doemphasistypeface\sl\it} +\def\emphasisboldface{\doemphasistypeface\bs\bi} -%D To be set with the default body font environment: \type -%D {em} being \type {slanted} or \type {italic}. +%D To be set with the default body font environment: \type +%D {em} being \type {slanted} or \type {italic}. \newconditional\emneeded @@ -2749,7 +2948,7 @@ \else \setfalse\emneeded \fi - \setemphasisboldface % new + \setemphasisboldface % new \ifnum\fam=\itfam \def\emphasistypeface{\it}\tf \else\ifnum\fam=\slfam @@ -2769,7 +2968,7 @@ \fi \emphasiscorrection} -%D The next feature was not present in previous versions. It +%D The next feature was not present in previous versions. It %D takes are of \type {\em \bf ...} sitiations. \def\setemphasisboldface% @@ -2796,19 +2995,6 @@ \expandafter\emphasislook \fi} -% \def\emphasislook% -% {\begingroup -% \futurelet\next\emphasistest} -% -% \def\emphasistest% -% {\ifcat\noexpand\next,% -% \setbox\scratchbox=\hbox{\next}% -% \ifdim\ht\scratchbox<.3ex -% \let\doemphasiscorrection\endgroup -% \fi -% \fi -% \doemphasiscorrection} - \def\emphasislook% {\begingroup \beginrobusttest @@ -2819,7 +3005,7 @@ \endrobusttest\expandafter\doemphasiscorrection \normalelse \endrobusttest\expandafter\dododoemphasiscorrection - \normalfi} + \normalfi} \def\doemphasiscorrection% {\futurelet\next\dodoemphasiscorrection} @@ -2870,11 +3056,11 @@ %D \stopopelkaar %D \stopvoorbeeld -%D \macros +%D \macros %D {emphbf,emphit,emphsl,emphtf} %D -%D The next emphasis alternatives are for \THANH. They adapt -%D their style as good as possible. +%D The next emphasis alternatives are for \THANH. They adapt +%D their style as good as possible. \def\emphbf% {\groupedcommand{\bf\def\emphit{\bi}\def\emphsl{\bs}}{}} @@ -2889,7 +3075,7 @@ {\groupedcommand{\tf\def\emphbf{\bf}\def\emphit{\it}\def\emphsl{\sl}}{}} %D \startbuffer -%D TEXT {\emphbf text \emphit text \emphtf text \emphsl text} TEXT +%D TEXT {\emphbf text \emphit text \emphtf text \emphsl text} TEXT %D TEXT \emphbf{text \emphit{text} \emphtf{text} \emphsl{text}} TEXT %D \stopbuffer %D @@ -2933,52 +3119,7 @@ %D The implementation is rather straightforward in using %D \type{\halign}. -\def\doshowbodyfont[#1]% - {\startbaselinecorrection - \vbox - {\def\doreadfontdefinitionfile##1% geen test op geladen - {\makeshortfilename[\f!fontprefix\truefontname{##1}]% - \startreadingfile - \readsysfile{\shortfilename}{}{}% - \stopreadingfile}% - \def\bigstrut##1##2% - {\hbox{\vrule - \!!height ##1\ht\strutbox - \!!depth ##2\dp\strutbox - \!!width \!!zeropoint}} - \doifelsenothing{#1} - {\def\title{\the\korpsgrootte}} - {\switchtobodyfont[#1]\def\title{#1}} - \tabskip\!!zeropoint - \parindent\!!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% - &&##2\tfx##3&&##2\tfxx##3% - &&##2\tfa##3&&##2\tfb##3&&##2\tfc##3&&##2\tfd##3&\cr}% - \setlocalhsize - \halign to \localhsize - {\bigstrut{1.5}{2}##&\vrule## - \tabskip=\!!zeropoint \!!plus 1fill - &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule## - &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule## - &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule## - &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule## - &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule## - &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule## - &\hfil##\hfil&\vrule##&\hfil##\hfil&##\vrule - \tabskip=\!!zeropoint\cr - \noalign{\hrule} - &\multispan{29}{\vrule\hfil\tttf\strut[\title]\hfil\vrule}\cr - \noalign{\hrule}\next{}{\tt\string}{} - \noalign{\hrule}\next{\tt\string\rm}{\rm}{Ag} - \noalign{\hrule}\next{\tt\string\ss}{\ss}{Ag} - \noalign{\hrule}\next{\tt\string\tt}{\tt}{Ag} - \noalign{\hrule}}} - \stopbaselinecorrection} - -\def\showbodyfont% - {\dosingleempty\doshowbodyfont} +\fetchruntimecommand \showbodyfont {\f!fontprefix\s!run} %D \macros %D {showbodyfontenvironment} @@ -2991,42 +3132,29 @@ %D %D \showsetup{\y!showbodyfontenvironment} -\def\showbodyfontenvironment% - {\dosingleempty\doshowbodyfontenvironment} - -\def\doshowbodyfontenvironment[#1]% - {\startbaselinecorrection - \vbox - {\tabskip\!!zeropoint - \parindent\!!zeropoint - \doifelsenothing{#1} - {\def\title{\the\korpsgrootte}} - {\switchtobodyfont[#1]\def\title{#1}} - \def\next##1% - {&&\getvalue{\??ft##1\s!text}% - &&\getvalue{\??ft##1\s!script}% - &&\getvalue{\??ft##1\s!scriptscript}% - &&\getvalue{\??ft##1\c!x}% - &&\getvalue{\??ft##1\c!xx}% - &&\getvalue{\??ft##1\interfaced{\v!klein}}% - &&\getvalue{\??ft##1\interfaced{\v!groot}}&\cr - \noalign{\hrule}} - \setlocalhsize - \halign to \localhsize - {##&\vrule##\strut - \tabskip=\!!zeropoint \!!plus 1fill - &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule## - &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule## - &\hfil##\hfil&##\vrule - \tabskip=\!!zeropoint\cr - \noalign{\hrule} - &\multispan{15}{\vrule\hfil\tttf\strut[\title]\hfil}\vrule\cr - \noalign{\hrule} - &&\bf\s!text&&\bf\s!script&&\bf\s!scriptscript - &&\bf\c!x&&\bf\c!xx&&\bf\v!klein&&\bf\v!groot&\cr - \noalign{\hrule} - \@EA\globalprocesscommalist\@EA[\bodyfontenvironmentlist]\next}} - \stopbaselinecorrection} +\fetchruntimecommand \showbodyfontenvironment {\f!fontprefix\s!run} + +%D \macros +%D {showfont,showfontstyle} +%D +%D The following command generates a fontmap: +%D +%D \startbuffer +%D \showfont[SansBold at 12pt] +%D \stopbuffer +%D +%D \typebuffer +%D +%D Below the table the name, encoding, mapping and handling are +%D shown. Special characters like the \type {\skewchar} and +%D \type {\hyphenchar} als marked. +%D +%D \haalbuffer + +% to be internationalized + +\fetchruntimecommand \showfont {\f!fontprefix\s!run} +\fetchruntimecommand \showfontstyle {\f!fontprefix\s!run} %D \macros %D {getglyph} @@ -3037,20 +3165,9 @@ %D \getglyph{fontname}{character} %D \stoptypen %D -%D This macro is used in for instance the symbol modules and -%D as one can see, it does obey the small and even smaller -%D sizes. - -% \def\getglyph#1#2% -% {{\ifcase\currentxfontsize\or -% \bodyfontsize=\getvalue{\??ft\normalizedbodyfontsize\c!x}% -% \else -% \bodyfontsize=\getvalue{\??ft\normalizedbodyfontsize\c!xx}% -% \fi -% \font\temp=\truefontname{#1} at \bodyfontsize \temp#2\relax}} - -% \def\getglyph#1#2% -% {{\definefont[\s!dummy][#1 sa \currentfontscale]\dummy#2}} +%D This macro is used in for instance the symbol modules and +%D as one can see, it does obey the small and even smaller +%D sizes. \def\fontstringA% {\ifx\fontstyle\c!rm \s!Serif \else @@ -3106,12 +3223,13 @@ \endTEX -\def\getglyph#1#2% - {{\definefont[\s!dummy][\glyphfontfile{#1} sa \currentfontscale]\dummy#2}} +\def\getglyph#1#2% + %{{\definefont[\s!dummy][\glyphfontfile{#1} sa \currentfontscale]\dummy#2}} + {{\definefont[\s!dummy][\glyphfontfile{#1} sa *]\dummy#2}} -%D The last implementation of \type {\getglyph} permits -%D definitions like: -%D +%D The last implementation of \type {\getglyph} permits +%D definitions like: +%D %D \starttypen %D \definefontsynonym [EuroSans] [eurose] %D \definefontsynonym [EuroSansBold] [euroseb] @@ -3119,20 +3237,20 @@ %D \definefontsynonym [EuroSansSlanted] [eurosei] %D \definefontsynonym [EuroSansBoldItalic] [eurosebi] %D \definefontsynonym [EuroSansBoldSlanted] [eurosebi] -%D +%D %D \definesymbol [euro] [\getglyph{Euro}{\char160}] -%D +%D %D \def\euro{\symbol[euro]} %D \stoptypen %D -%D These definitions guarantee that the next calls work okay: +%D These definitions guarantee that the next calls work okay: %D %D \starttypen %D \ss \tf\euro \bf\euro \sla\euro \itd\euro \bs\euro \bic\euro %D \stoptypen -%D +%D %D The shape as well as the size is adapted to the current -%D environment. +%D environment. %D Fonts can only be used when loaded. In \CONTEXT\ we %D postpone the loading of fonts, even when we load \PLAIN. @@ -3231,13 +3349,13 @@ %D \smashaccent\"Uberhaupt %D \stoptypen %D -%D But normally one will use it as a prefix in definitions. -%D The difference is in the height: +%D But normally one will use it as a prefix in definitions. +%D The difference is in the height: %D %D \leavevmode\ruledhbox %D {\ruledhbox{\smashaccent\"Uberhaupt}\quad %D oder\quad -%D \ruledhbox{\"Uberhaupt}} +%D \ruledhbox{\"Uberhaupt}} %D \macros %D {moveaccent} @@ -3254,7 +3372,7 @@ %D \leavevmode\ruledhbox %D {\ruledhbox{\moveaccent{-.1ex}\"Uberhaupt}\quad %D oder\quad -%D \ruledhbox{\"Uberhaupt}} +%D \ruledhbox{\"Uberhaupt}} \def\dodomoveaccent#1% {\bgroup @@ -3289,28 +3407,7 @@ %D \definefontsynonym [Times-Roman] [tir] %D \stoptypen -% %D One day Taco came up with the suggestion to automate this -% %D process by loading the fontmap file as distributed with the -% %D \DVIPS\ and \PDFTEX\ program. Therefore, we now have: -% -% \def\loadfontmappingfile#1#2#3% file yes no -% {\pushendofline -% \chardef\@@savedtabcatcode=\the\catcode`\^^I -% \def\dodocommando##1 ##2 ##3 ##4\end% -% {\doifnot{##1}{*} -% {%\writestatus{\m!systems}{font ##2 mapped into ##1}% -% \definefontsynonym[##2][##1]}}% -% \def\docommando% -% {\expandafter\dodocommando\fileline * * * * \end}% -% \doprocessfile\scratchread{#1.map}\docommando -% \catcode`\^^I=\@@savedtabcatcode -% \popendofline -% \iffileprocessed#2\else#3\fi} -% -% %D Since the syntax of the map files changes occationally, -% %D I have decided to remove this feature. - -%D Now we're up to some definitions. +%D Now we're up to some definitions. \definebodyfontenvironment [\s!default] @@ -3321,18 +3418,19 @@ \c!b=1.440, \c!c=1.728, \c!d=2.074, + *=\currentfontscale, % wildcard \c!x=0.8, \c!xx=0.6, \c!groot=1.2, \c!klein=0.8, - \c!interlinie=, + \c!interlinie=, \c!em=\v!schuin] \definebodyfontenvironment [20.7pt] [ \s!text=20.7pt, \s!script=\!!fourteenpointfour, - \s!scriptscript=\!!twelvepoint, + \s!scriptscript=\!!twelvepoint, \c!x=17.3pt, \c!xx=\!!fourteenpointfour, \c!groot=20.7pt, % !!!! @@ -3341,10 +3439,10 @@ \definebodyfontenvironment [17.3pt] [ \s!text=17.3pt, - \s!script=\!!twelvepoint, + \s!script=\!!twelvepoint, \s!scriptscript=\!!tenpoint, \c!x=\!!fourteenpointfour, - \c!xx=\!!twelvepoint, + \c!xx=\!!twelvepoint, \c!groot=20.7pt, \c!klein=\!!fourteenpointfour] @@ -3467,14 +3565,17 @@ \definebodyfontswitch [vii] [\!!sevenpoint] \definebodyfontswitch [vi] [\!!sixpoint] -%D So far. - +%D So far. + \definefontstyle [\c!rm,\v!roman,\v!serif,\v!regular] [\c!rm] -\definefontstyle [\c!ss,\v!sansserif,\v!sans,\v!support] [\c!ss] +\definefontstyle [\c!ss,\v!sansserif,\v!sans,\v!support] [\c!ss] \definefontstyle [\c!tt,\v!teletype,\v!type,\v!mono] [\c!tt] \definefontstyle [\c!hw,\v!handwritten] [\c!hw] \definefontstyle [\c!cg,\v!calligraphic] [\c!cg] +\definefontsize[\c!a] \definefontsize[\c!b] +\definefontsize[\c!c] \definefontsize[\c!d] + \definealternativestyle [\v!mediaeval] [\os] [] \definealternativestyle [\v!normaal] [\tf] [] \definealternativestyle [\v!vet] [\bf] [] @@ -3490,21 +3591,39 @@ \definealternativestyle [\v!kleinvetschuin,\v!kleinschuinvet] [\bsx] [] \definealternativestyle [\v!kleinvetitalic,\v!kleinitalicvet] [\bix] [] -%D We treat {\sc Small Caps} and \kap {Pseudo Caps} a bit -%D different. We also provide an \WOORD {uppercase} style. +%D We treat {\sc Small Caps} and \kap {Pseudo Caps} a bit +%D different. We also provide an \WOORD {uppercase} style. \definealternativestyle [\v!kap,\v!kapitaal] [\normalkap] [\normalkap] \definealternativestyle [\v!smallcaps] [\sc] [\sc] \definealternativestyle [\v!WOORD] [\WORD] [\WORD] -%D \macros +%D \macros +%D {...math} +%D +%D New or old? + +% tzt proper \define... + +\def\tfmath{\tf\mf\synchronizesymb} +\def\bfmath{\bf\mf\synchronizesymb} +\def\slmath{\sl\mf\synchronizesymb} +\def\itmath{\it\mf\synchronizesymb} +\def\bsmath{\bs\mf\synchronizesymb} +\def\bimath{\bi\mf\synchronizesymb} +\def\scmath{\sc\mf\synchronizesymb} +\def\nnmath{\nn\mf\synchronizesymb} + +\def\textmath {\synchronizesymb} + +%D \macros %D {fontstylesuffix} %D -%D The next macro is used to map non latin fontnames on -%D fonts. See \type {font-uni} for an example of its use. +%D The next macro is used to map non latin fontnames on +%D fonts. See \type {font-uni} for an example of its use. \def\fontstylesuffix% - {\ifnum\fam=\tffam \s!Regular \else + {\ifnum\fam=\tffam \s!Regular \else \ifnum\fam=\bffam \s!Bold \else \ifnum\fam=\slfam \s!Slanted \else \ifnum\fam=\itfam \s!Italic \else @@ -3516,28 +3635,28 @@ \def\xi{\ifmmode\normalxi\else\elevenpoint\fi} -%D By default we load the Computer Modern Roman fonts (but -%D not yet at this moment) and activate the 12pt roman -%D bodyfont. Sans serif and teletype are also available and -%D can be called for by \type{\ss} and \type{\tt}. +%D By default we load the Computer Modern Roman fonts (but +%D not yet at this moment) and activate the 12pt roman +%D bodyfont. Sans serif and teletype are also available and +%D can be called for by \type{\ss} and \type{\tt}. -\readfile{font-exp.tex}{}{} % load local experiments +\setupbodyfont [unk, rm] -\setupbodyfont [unk, fil, rm] +%D Also needed is: -\protect +\definefont[tinyfont][Mono at 1ex] -\endinput +\protect \endinput -%D Some unused left||overs: -%D +%D Some unused left||overs: +%D %D \starttypen %D \def\doiffontpresentelse#1#2#3% %D {\bgroup %D \batchmode\font\dummy=\truefontname{#1}\errorstopmode %D \edef\lastfontname{\fontname\dummy}% %D \ifx\lastfontname\nullfontname\egroup#3\else\egroup#2\fi} -%D +%D %D \def\abortiffontnotfound#1% %D {\doiffontpresentelse{#1}{}{\showmessage{\m!fonts}{10}{\truefontname{#1}}\endinput}} %D \stoptypen diff --git a/tex/context/base/font-lbr.tex b/tex/context/base/font-lbr.tex deleted file mode 100644 index d29ae6260..000000000 --- a/tex/context/base/font-lbr.tex +++ /dev/null @@ -1,302 +0,0 @@ -%D \module -%D [ file=font-lbr, -%D version=1995.1.1, -%D title=\CONTEXT\ Font Macros, -%D subtitle=Lucida Bright, -%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 The Lucida Bright fonts are both good looking and and -%D complete. These fonts have prebuilt accented characters, -%D which means that we use another encoding vector: \YandY\ -%D texnansi. These fonts are a good illustration that a 12 -%D point bodyfont is indeed never that size. The Lucida Bright -%D fonts come in one design size. - -\definefontsynonym [Serif] [LucidaBright] -\definefontsynonym [SerifBold] [LucidaBright-Demi] -\definefontsynonym [SerifItalic] [LucidaBright-Italic] -\definefontsynonym [SerifSlanted] [LucidaBright-Oblique] -\definefontsynonym [SerifBoldItalic] [LucidaBright-DemiItalic] -\definefontsynonym [SerifBoldSlanted] [LucidaBright-DemiItalic] -\definefontsynonym [SerifCaps] [LucidaBrightSmallcaps] - -\definefontsynonym [Sans] [LucidaSans] -\definefontsynonym [SansBold] [LucidaSans-Demi] -\definefontsynonym [SansItalic] [LucidaSans-Italic] -\definefontsynonym [SansSlanted] [LucidaSans-Italic] -\definefontsynonym [SansBoldItalic] [LucidaSans-DemiItalic] -\definefontsynonym [SansBoldSlanted] [LucidaSans-DemiItalic] -\definefontsynonym [SansCaps] [LucidaSans] - -\definefontsynonym [Mono] [LucidaSans-Typewriter] -\definefontsynonym [MonoBold] [LucidaSans-TypewriterBold] -\definefontsynonym [MonoItalic] [LucidaSans-TypewriterOblique] -\definefontsynonym [MonoSlanted] [LucidaSans-TypewriterOblique] -\definefontsynonym [MonoBoldItalic] [LucidaSans-TypewriterBoldOblique] -\definefontsynonym [MonoBoldSlanted] [LucidaSans-TypewriterBoldOblique] -\definefontsynonym [MonoCaps] [LucidaSans-Typewriter] - -\definefontsynonym [MathRoman] [LucidaBright] -\definefontsynonym [MathExtension] [LucidaNewMath-Extension] -\definefontsynonym [MathItalic] [LucidaNewMath-AltItalic] -\definefontsynonym [MathSymbol] [LucidaNewMath-Symbol] -\definefontsynonym [MathAlpha] [LucidaNewMath-Arrows] - -\definefontsynonym [Handwriting] [LucidaHandwriting-Italic] -\definefontsynonym [Calligraphy] [LucidaCalligraphy-Italic] - -\definefontsynonym [OldStyle] [MathItalic] - -\definebodyfont - [17.3pt,14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt,4pt] - [rm,ss,tt,mm] - [default] - -%D Some nice aditional ones. - -\definebodyfont - [17.3pt,14.4pt,12pt,11pt,10pt,9pt,8pt] - [hw,cg] - [default] - -%D The Lucida Bright TeleType font does not contain \TEX's -%D visual space. The next definition offers an alternative. - -\def\controlspace% slow slow slow - {\hbox to .5em - {\font\next=cmtt10 at \bodyfontsize\next - \hss\char32\hss}} - -% \def\controlspace% -% {\hbox to .5em -% {\hss -% \vrule\!!width .1\dp\strutbox \!!height\!!zeropoint \!!depth .7\dp\strutbox -% \vrule\!!width .4em\!!height -.6\dp\strutbox\!!depth .7\dp\strutbox -% \vrule\!!width .1\dp\strutbox \!!height\!!zeropoint \!!depth .7\dp\strutbox -% \hss}} - -%D Next we implement some alternatives for \AMS\ symbols. -%D These can be overrules by loading the \AMS\ font module -%D afterwards. - -\unprotect - -\mathchardef\blacktriangleleft ="01F0 -\mathchardef\blacktriangleright="01F1 -\mathchardef\boxtimes ="02EC - -%D Here I copied the definition file that is part of the -%D \YandY\ distribution. - -%D \framed[breedte=\hsize] -%D {Copyright (C) 1991 - 1993 \YandY, Inc. All Rights Reserved} - -%D This part of the definition is adapted bij J. Hagen. There -%D is already an extra family: \type{\mafam} (Math A ). Also, -%D the loading of fonts is done somewhere else. - -\let\arfam = \mafam -\let\thearfam = \hexmafam - -%D This part is adapted to the \CONTEXT\ font||naming method. -%D Also, we use \type{\setskewchar}, which activates the not -%D yet loaded font. - -%D The next definitions are already taken care of. - -%D \starttypen -%D % \setskewchar{12ptmmmi}='177 -%D % \setskewchar{11ptmmmi}='177 -%D % \setskewchar{10ptmmmi}='177 -%D % \setskewchar{9ptmmmi}='177 -%D % \setskewchar{8ptmmmi}='177 -%D % \setskewchar{7ptmmmi}='177 -%D % \setskewchar{6ptmmmi}='177 -%D % \setskewchar{5ptmmmi}='177 -%D \stoptypen - -%D \starttypen -%D % \setskewchar{12ptmmsy}='60 -%D % \setskewchar{11ptmmsy}='60 -%D % \setskewchar{10ptmmsy}='60 -%D % \setskewchar{9ptmmsy}='60 -%D % \setskewchar{8ptmmsy}='60 -%D % \setskewchar{7ptmmsy}='60 -%D % \setskewchar{6ptmmsy}='60 -%D % \setskewchar{5ptmmsy}='60 -%D \stoptypen - -%D Adjusted for LucidaNewMath||Extension at 10pt and math axis -%D at 3.13pt Note: delimiter increments are 5.5pt (as opposed -%D to 6pt in \kap{CM}). - -%D Should these be adapted to \type {\bodyfontsize} ? - -\def\big #1{{\hbox{$\left#1\vbox to8.20\p@{}\right.\n@space$}}} -\def\Big #1{{\hbox{$\left#1\vbox to10.80\p@{}\right.\n@space$}}} -\def\bigg #1{{\hbox{$\left#1\vbox to13.42\p@{}\right.\n@space$}}} -\def\Bigg #1{{\hbox{$\left#1\vbox to16.03\p@{}\right.\n@space$}}} -\def\biggg #1{{\hbox{$\left#1\vbox to17.72\p@{}\right.\n@space$}}} -\def\Biggg #1{{\hbox{$\left#1\vbox to21.25\p@{}\right.\n@space$}}} -\def\n@space {\nulldelimiterspace\z@ \m@th} - -%D Define some extra large sizes. It's always done using -%D extensible parts. - -\def\bigggl{\mathopen \biggg} -\def\bigggr{\mathclose\biggg} -\def\Bigggl{\mathopen \Biggg} -\def\Bigggr{\mathclose\Biggg} - -%D The following is needed if the roman text font is {\em -%D not} just \kap{LBR}. - -%D Draw the small sizes of $[$ and $]$ from \kap{LBMO} instead -%D of \kap{LBR}. - -\mathcode`\[="4186 \delcode`\[="186302 -\mathcode`\]="5187 \delcode`\]="187303 - -%D Draw the small sizes of $($ and $)$ from \kap{LBMO} instead -%D of \kap{LBR}. - -\mathcode`\(="4184 \delcode`\(="184300 -\mathcode`\)="5185 \delcode`\)="185301 - -%D The small sizes of $\{$ and $\}$ are already drawn from -%D \kap{LBMS}. - -%D Draw small $/$ from \kap{LBMO} instead of \kap{LBR}. - -\mathcode`\/="013D \delcode`\/="13D30E - -%D Draw $=$ and $+$ from \kap{LBMS} instead of \kap{LBR}. - -% interferes with \mf settings -% -% \mathcode`\=="3283 \mathcode`\+="2282 - -%D Make open face brackets accessible, i.e. [[ and ]]. - -\def\ldbrack{\delimiter"4182382} -\def\rdbrack{\delimiter"5183383} - -%D Provide access to surface integral signs (linked from text -%D to display size). - -\mathchardef\surfintop="1390 -\def\surfint{\surfintop\nolimits} - -%D Make medium size integrals available ({\em not} linked to -%D display size). - -\mathchardef\midintop="1392 -\def\midint{\midintop\nolimits} - -\mathchardef\midointop="1393 -\def\midoint{\midointop\nolimits} - -\mathchardef\midsurfintop="1394 -\def\midsurfint{\midsurfintop\nolimits} - -%D Extensible integral (use with \type{\bigg}, \type{\Bigg}, -%D \type{\biggg}, \type{\Biggg} etc). - -\def\largeint{\delimiter"135A395} - -%D Various types of small integrals. - -\mathchardef\dblint ="0188 -\mathchardef\trplint ="0189 -\mathchardef\contint ="018A -\mathchardef\surfint ="018B -\mathchardef\volint ="018C -\mathchardef\clwint ="018D -\mathchardef\cclwcint="018E -\mathchardef\clwcint ="018F - -%D To close up gaps in special math characters constructed -%D from pieces. - -\def\joinrel{\mathrel{\mkern-4mu}} - -%D Some characters that need construction in \kap{CM} exist -%D complete in \kap{LBMO} or \kap{LBMS}. - -\mathchardef\bowtie="31F6 -\mathchardef\models="32EE -\mathchardef\doteq ="32C9 -\mathchardef\cong ="329B -\mathchardef\angle ="028B - -%D Some more characters. - -% \mathchardef\hbar ="0\thearfam 1B - -\mathchardef\hbar ="019D -\mathchardef\neq ="3\thearfam 94 -\mathchardef\rightleftharpoons="3\thearfam 7A -\mathchardef\leftrightharpoons="3\thearfam 79 -\mathchardef\hookleftarrow ="3\thearfam 3C -\mathchardef\hookrightarrow ="3\thearfam 3E -\mathchardef\mapsto ="3\thearfam 2C - -% \def\longmapsto{\mapstochar\longrightarrow} - -%D The ( is not large enough for strut in \kap{LBMO}. - -\def\mathstrut{\vphantom{f}} - -%D In $n$\hoog{th} root, don't want the $n$ to come too close -%D to the radical. - -\def\r@@t#1#2% - {\setbox\z@\hbox{$\m@th#1\sqrt{#2}$} - \dimen@\ht\z@ \advance\dimen@-\dp\z@ - \mkern5mu\raise.6\dimen@\copy\rootbox \mkern-7.5mu \box\z@} - -%D Draw upper case upright greek from LucidaNewMath||Extension. - -\mathchardef\Gamma ="03D0 -\mathchardef\Delta ="03D1 -\mathchardef\Theta ="03D2 -\mathchardef\Lambda ="03D3 -\mathchardef\Xi ="03D4 -\mathchardef\Pi ="03D5 -\mathchardef\Sigma ="03D6 -\mathchardef\Upsilon="03D7 -\mathchardef\Phi ="03D8 -\mathchardef\Psi ="03D9 -\mathchardef\Omega ="03DA - -%D Draw upper case italic greek from LucidaNewMath||Italic. - -\mathchardef\varGamma ="0100 -\mathchardef\varDelta ="0101 -\mathchardef\varTheta ="0102 -\mathchardef\varLambda ="0103 -\mathchardef\varXi ="0104 -\mathchardef\varPi ="0105 -\mathchardef\varSigma ="0106 -\mathchardef\varUpsilon="0107 -\mathchardef\varPhi ="0108 -\mathchardef\varPsi ="0109 -\mathchardef\varOmega ="010A - -%D \type{\matrix} is changed because \kap{LBMO} is not at 10pt. - -\def\matrix#1% - {\null\,\vcenter{\normalbaselines\m@th - \ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr - \mathstrut\crcr\noalign{\kern-0.9\baselineskip} - #1\crcr\mathstrut\crcr\noalign{\kern-0.9\baselineskip}}}\,} - -\protect - -\endinput diff --git a/tex/context/base/font-map.tex b/tex/context/base/font-map.tex index a124f63b9..a9eccba69 100644 --- a/tex/context/base/font-map.tex +++ b/tex/context/base/font-map.tex @@ -1,3 +1,5 @@ +% NOT YET ADAPTED TO THE NEW FONT MACROS + %D \module %D [ file=font-map, %D version=1998.3.13, diff --git a/tex/context/base/font-pcr.tex b/tex/context/base/font-pcr.tex deleted file mode 100644 index 1dbe06f10..000000000 --- a/tex/context/base/font-pcr.tex +++ /dev/null @@ -1,32 +0,0 @@ -%D \module -%D [ file=font-pcr, -%D version=1995.1.1, -%D title=\CONTEXT\ Font Macros, -%D subtitle=Adobe Courier, -%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 This module defines the Standard Adobe Courier fonts. - -\definefontsynonym [Mono] [Courier] -\definefontsynonym [MonoBold] [Courier-Bold] -\definefontsynonym [MonoItalic] [Courier-Oblique] -\definefontsynonym [MonoSlanted] [Courier-Oblique] -\definefontsynonym [MonoBoldItalic] [Courier-BoldOblique] -\definefontsynonym [MonoBoldSlanted] [Courier-BoldOblique] -\definefontsynonym [MonoCaps] [Courier] - -\definebodyfont [14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt] [tt] [default] - -%D The Courier font does not contain \TEX's visual space. The -%D next definition offers an alternative at bodyfont size. - -\def\controlspace% - {\hbox{\font\next=cmtt10 at \bodyfontsize\next\char32}} - -\endinput diff --git a/tex/context/base/font-phv.tex b/tex/context/base/font-phv.tex deleted file mode 100644 index 7a4a3c899..000000000 --- a/tex/context/base/font-phv.tex +++ /dev/null @@ -1,26 +0,0 @@ -%D \module -%D [ file=font-phv, -%D version=1995.1.1, -%D title=\CONTEXT\ Font Macros, -%D subtitle=Adobe Helvetica, -%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 This module defines the Standard Adobe Helvetica fonts. - -\definefontsynonym [Sans] [Helvetica] -\definefontsynonym [SansBold] [Helvetica-Bold] -\definefontsynonym [SansItalic] [Helvetica-Oblique] -\definefontsynonym [SansSlanted] [Helvetica-Oblique] -\definefontsynonym [SansBoldItalic] [Helvetica-BoldOblique] -\definefontsynonym [SansBoldSlanted] [Helvetica-BoldOblique] -\definefontsynonym [SansCaps] [Helvetica] - -\definebodyfont [14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt] [ss] [default] - -\endinput diff --git a/tex/context/base/font-plr.tex b/tex/context/base/font-plr.tex deleted file mode 100644 index 3f4b2306d..000000000 --- a/tex/context/base/font-plr.tex +++ /dev/null @@ -1,130 +0,0 @@ -%D \module -%D [ file=font-plr, -%D version=1999.08.28, -%D title=\CONTEXT\ Font Macros, -%D subtitle=Computer Modern Polish, -%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. - -% \definefontsynonym [Serif] [plr10] [encoding=pl0] -% \definefontsynonym [SerifBold] [plbx10] [encoding=pl0] -% \definefontsynonym [SerifItalic] [plti10] [encoding=pl0] -% \definefontsynonym [SerifSlanted] [plsl10] [encoding=pl0] -% \definefontsynonym [SerifBoldItalic] [plbxti10] [encoding=pl0] -% \definefontsynonym [SerifBoldSlanted] [plbxsl10] [encoding=pl0] -% \definefontsynonym [SerifCaps] [plr10] [encoding=pl0] -% -% \definefontsynonym [Sans] [plss10] [encoding=pl0] -% \definefontsynonym [SansBold] [plssbx10] [encoding=pl0] -% \definefontsynonym [SansItalic] [plssi10] [encoding=pl0] -% \definefontsynonym [SansSlanted] [plssi10] [encoding=pl0] -% \definefontsynonym [SansBoldItalic] [plssbx10] [encoding=pl0] -% \definefontsynonym [SansBoldSlanted] [plssbx10] [encoding=pl0] -% \definefontsynonym [SansCaps] [plss10] [encoding=pl0] -% -% \definefontsynonym [Mono] [pltt10] [encoding=pl0] -% \definefontsynonym [MonoBold] [pltt10] [encoding=pl0] -% \definefontsynonym [MonoItalic] [plitt10] [encoding=pl0] -% \definefontsynonym [MonoSlanted] [plsltt10] [encoding=pl0] -% \definefontsynonym [MonoBoldItalic] [pltt10] [encoding=pl0] -% \definefontsynonym [MonoBoldSlanted] [pltt10] [encoding=pl0] -% \definefontsynonym [MonoCaps] [pltt10] [encoding=pl0] -% -% \definefontsynonym [MathRoman] [plr10] [encoding=pl0] -% \definefontsynonym [MathExtension] [cmex10] -% \definefontsynonym [MathItalic] [cmmi10] -% \definefontsynonym [MathSymbol] [cmsy10] -% -% \definefontsynonym [OldStyle] [MathItalic] -% -% \definebodyfont -% [14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt] -% [rm,ss,tt,mm] -% [default] - -\input font-cmr.tex - -\definefontsynonym [cmb10] [plb10] [encoding=pl0] -\definefontsynonym [cmbsy10] [plbsy10] [encoding=pl0] -\definefontsynonym [cmbx10] [plbx10] [encoding=pl0] -\definefontsynonym [cmbx12] [plbx12] [encoding=pl0] -\definefontsynonym [cmbx5] [plbx5] [encoding=pl0] -\definefontsynonym [cmbx6] [plbx6] [encoding=pl0] -\definefontsynonym [cmbx7] [plbx7] [encoding=pl0] -\definefontsynonym [cmbx8] [plbx8] [encoding=pl0] -\definefontsynonym [cmbx9] [plbx9] [encoding=pl0] -\definefontsynonym [cmbxsl10] [plbxsl10] [encoding=pl0] -\definefontsynonym [cmbxti10] [plbxti10] [encoding=pl0] -\definefontsynonym [cmcsc10] [plcsc10] [encoding=pl0] -\definefontsynonym [cmdunh10] [pldunh10] [encoding=pl0] -\definefontsynonym [cmex10] [plex10] [encoding=pl0] -\definefontsynonym [cmex9] [plex9] [encoding=pl0] -\definefontsynonym [cmff10] [plff10] [encoding=pl0] -\definefontsynonym [cmfi10] [plfi10] [encoding=pl0] -\definefontsynonym [cmfib8] [plfib8] [encoding=pl0] -\definefontsynonym [cminch] [plinch] [encoding=pl0] -\definefontsynonym [cmitt10] [plitt10] [encoding=pl0] -\definefontsynonym [cmmi10] [plmi10] [encoding=pl0] -\definefontsynonym [cmmi12] [plmi12] [encoding=pl0] -\definefontsynonym [cmmi5] [plmi5] [encoding=pl0] -\definefontsynonym [cmmi6] [plmi6] [encoding=pl0] -\definefontsynonym [cmmi7] [plmi7] [encoding=pl0] -\definefontsynonym [cmmi8] [plmi8] [encoding=pl0] -\definefontsynonym [cmmi9] [plmi9] [encoding=pl0] -\definefontsynonym [cmmib10] [plmib10] [encoding=pl0] -\definefontsynonym [cmr10] [plr10] [encoding=pl0] -\definefontsynonym [cmr12] [plr12] [encoding=pl0] -\definefontsynonym [cmr17] [plr17] [encoding=pl0] -\definefontsynonym [cmr5] [plr5] [encoding=pl0] -\definefontsynonym [cmr6] [plr6] [encoding=pl0] -\definefontsynonym [cmr7] [plr7] [encoding=pl0] -\definefontsynonym [cmr8] [plr8] [encoding=pl0] -\definefontsynonym [cmr9] [plr9] [encoding=pl0] -\definefontsynonym [cmsl10] [plsl10] [encoding=pl0] -\definefontsynonym [cmsl12] [plsl12] [encoding=pl0] -\definefontsynonym [cmsl8] [plsl8] [encoding=pl0] -\definefontsynonym [cmsl9] [plsl9] [encoding=pl0] -\definefontsynonym [cmsltt10] [plsltt10] [encoding=pl0] -\definefontsynonym [cmss10] [plss10] [encoding=pl0] -\definefontsynonym [cmss12] [plss12] [encoding=pl0] -\definefontsynonym [cmss17] [plss17] [encoding=pl0] -\definefontsynonym [cmss8] [plss8] [encoding=pl0] -\definefontsynonym [cmss9] [plss9] [encoding=pl0] -\definefontsynonym [cmssbi10] [plssbi10] [encoding=pl0] -\definefontsynonym [cmssbx10] [plssbx10] [encoding=pl0] -\definefontsynonym [cmssdc10] [plssdc10] [encoding=pl0] -\definefontsynonym [cmssi10] [plssi10] [encoding=pl0] -\definefontsynonym [cmssi12] [plssi12] [encoding=pl0] -\definefontsynonym [cmssi17] [plssi17] [encoding=pl0] -\definefontsynonym [cmssi8] [plssi8] [encoding=pl0] -\definefontsynonym [cmssi9] [plssi9] [encoding=pl0] -\definefontsynonym [cmssq8] [plssq8] [encoding=pl0] -\definefontsynonym [cmssqi8] [plssqi8] [encoding=pl0] -\definefontsynonym [cmsy10] [plsy10] [encoding=pl0] -\definefontsynonym [cmsy5] [plsy5] [encoding=pl0] -\definefontsynonym [cmsy6] [plsy6] [encoding=pl0] -\definefontsynonym [cmsy7] [plsy7] [encoding=pl0] -\definefontsynonym [cmsy8] [plsy8] [encoding=pl0] -\definefontsynonym [cmsy9] [plsy9] [encoding=pl0] -\definefontsynonym [cmtcsc10] [pltcsc10] [encoding=pl0] -\definefontsynonym [cmtex10] [pltex10] [encoding=pl0] -\definefontsynonym [cmtex8] [pltex8] [encoding=pl0] -\definefontsynonym [cmtex9] [pltex9] [encoding=pl0] -\definefontsynonym [cmti10] [plti10] [encoding=pl0] -\definefontsynonym [cmti12] [plti12] [encoding=pl0] -\definefontsynonym [cmti7] [plti7] [encoding=pl0] -\definefontsynonym [cmti8] [plti8] [encoding=pl0] -\definefontsynonym [cmti9] [plti9] [encoding=pl0] -\definefontsynonym [cmtt10] [pltt10] [encoding=pl0] -\definefontsynonym [cmtt12] [pltt12] [encoding=pl0] -\definefontsynonym [cmtt8] [pltt8] [encoding=pl0] -\definefontsynonym [cmtt9] [pltt9] [encoding=pl0] -\definefontsynonym [cmu10] [plu10] [encoding=pl0] -\definefontsynonym [cmvtt10] [plvtt10] [encoding=pl0] - -\endinput diff --git a/tex/context/base/font-pos.tex b/tex/context/base/font-pos.tex deleted file mode 100644 index 7894110e7..000000000 --- a/tex/context/base/font-pos.tex +++ /dev/null @@ -1,21 +0,0 @@ -%D \module -%D [ file=font-pos, -%D version=1995.1.1, -%D title=\CONTEXT\ Font Macros, -%D subtitle=Standard Postscript, -%D author=J. Hagen, -%D date=\currentdate, -%D copyright=J. Hagen] -%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 This file load the Adobe Times Roman, Helvetica and -%D Courier. - -\input font-ptm -\input font-phv -\input font-pcr - -\endinput diff --git a/tex/context/base/font-ppl.tex b/tex/context/base/font-ppl.tex deleted file mode 100644 index 9bd34ba35..000000000 --- a/tex/context/base/font-ppl.tex +++ /dev/null @@ -1,26 +0,0 @@ -%D \module -%D [ file=font-ppl, -%D version=2000.3.17, -%D title=\CONTEXT\ Font Macros, -%D subtitle=Palatino, -%D author=J. Hagen, -%D date=\currentdate, -%D copyright=J. Hagen] -%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 This file load the Palatino. - -\definefontsynonym [Serif] [Palatino-Roman] -\definefontsynonym [SerifBold] [Palatino-Bold] -\definefontsynonym [SerifItalic] [Palatino-Italic] -\definefontsynonym [SerifSlanted] [Palatino-Slanted] -\definefontsynonym [SerifBoldItalic] [Palatino-BoldItalic] -\definefontsynonym [SerifBoldSlanted] [Palatino-BoldSlanted] -\definefontsynonym [SerifCaps] [Palatino-Roman] - -\definebodyfont [14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt] [rm] [default] - -\endinput diff --git a/tex/context/base/font-ptm.tex b/tex/context/base/font-ptm.tex deleted file mode 100644 index d5ef35dab..000000000 --- a/tex/context/base/font-ptm.tex +++ /dev/null @@ -1,26 +0,0 @@ -%D \module -%D [ file=font-ptm, -%D version=1995.1.1, -%D title=\CONTEXT\ Font Macros, -%D subtitle=Adobe Times Roman, -%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 This module defines the Standard Adobe Times Roman. - -\definefontsynonym [Serif] [Times-Roman] -\definefontsynonym [SerifBold] [Times-Bold] -\definefontsynonym [SerifItalic] [Times-Italic] -\definefontsynonym [SerifSlanted] [Times-Italic] -\definefontsynonym [SerifBoldItalic] [Times-BoldItalic] -\definefontsynonym [SerifBoldSlanted] [Times-BoldItalic] -\definefontsynonym [SerifCaps] [Times-Roman] - -\definebodyfont [14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt] [rm] [default] - -\endinput diff --git a/tex/context/base/font-run.tex b/tex/context/base/font-run.tex new file mode 100644 index 000000000..cc1beccc8 --- /dev/null +++ b/tex/context/base/font-run.tex @@ -0,0 +1,221 @@ +%D \module +%D [ file=font-run, +%D version=1998.09.11, % (second) +%D version=2001.02.20, % (third) +%D title=\CONTEXT\ Font Macros, +%D subtitle=Runtime Macros, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA / Hans Hagen \& Ton Otten}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +%D [This code is hooked into the core macros and saves some +%D format space.] + +\unprotect + +\gdef\dosetshowfonttitle#1% + {\tabskip\!!zeropoint + \parindent\!!zeropoint + \setlocalhsize + \doifelsenothing{#1} + {\def\title{[\the\korpsgrootte]}} + {\switchtobodyfont[#1]\def\title{[#1]}} + \doifsomething{\fontclass} + {\doifnot{[\fontclass]}{\title} + {\edef\title{[\fontclass]\space\title}}}} + +\gdef\showbodyfont% + {\dosingleempty\doshowbodyfont} + +\gdef\doshowbodyfont[#1]% + {\startbaselinecorrection + \vbox + {\dosetshowfonttitle{#1}% + \def\bigstrut##1##2% + {\hbox{\vrule + \!!height ##1\ht\strutbox + \!!depth ##2\dp\strutbox + \!!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% + &&##2\tfx##3&&##2\tfxx##3% + &&##2\tfa##3&&##2\tfb##3&&##2\tfc##3&&##2\tfd##3&\cr}% + \halign to \localhsize + {\bigstrut{1.5}{2}##&\vrule## + \tabskip=\!!zeropoint \!!plus 1fill + &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule## + &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule## + &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule## + &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule## + &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule## + &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule## + &\hfil##\hfil&\vrule##&\hfil##\hfil&##\vrule + \tabskip=\!!zeropoint\cr + \noalign{\hrule} + &\multispan{29}{\vrule\hfil\tttf\strut\title\hfil\vrule}\cr + \noalign{\hrule}\next{}{\tt\string}{} + \noalign{\hrule}\next{\tt\string\rm}{\rm}{Ag} + \noalign{\hrule}\next{\tt\string\ss}{\ss}{Ag} + \noalign{\hrule}\next{\tt\string\tt}{\tt}{Ag} + \noalign{\hrule}\next{\tt\string$}{$}{Ag$} + \noalign{\hrule}}} + \stopbaselinecorrection} + +\gdef\showbodyfontenvironment% + {\dosingleempty\doshowbodyfontenvironment} + +\gdef\doshowbodyfontenvironment[#1]% + {\startbaselinecorrection + \vbox + {\dosetshowfonttitle{#1}% + \def\next##1% + {&&\getvalue{\bodyfontvariable{##1\s!text}}% + &&\getvalue{\bodyfontvariable{##1\s!script}}% + &&\getvalue{\bodyfontvariable{##1\s!scriptscript}}% + &&\getvalue{\bodyfontvariable{##1\c!x}}% + &&\getvalue{\bodyfontvariable{##1\c!xx}}% + &&\getvalue{\bodyfontvariable{##1\interfaced\v!klein}}% + &&\getvalue{\bodyfontvariable{##1\interfaced\v!groot}}% + &&\getvalue{\bodyfontvariable{##1\c!interlinie}}&\cr + \noalign{\hrule}} + \halign to \localhsize + {##&\vrule##\strut + \tabskip=\!!zeropoint \!!plus 1fill + &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule## + &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule## + &\hfil##\hfil&\vrule##&\hfil##\hfil&##\vrule + \tabskip=\!!zeropoint\cr + \noalign{\hrule} + &\multispan{17}{\vrule\hfil\tttf\strut\title\hfil}\vrule\cr + \noalign{\hrule} + &&\tttf\tx\s!text&&\tttf\tx\s!script&&\tttf\tx\s!scriptscript + &&\tttf\tx\c!x&&\tttf\tx\c!xx&&\tttf\tx\v!klein&&\tttf\tx\v!groot + &&\tttf\tx\c!interlinie&\cr + \noalign{\hrule} + \@EA\globalprocesscommalist\@EA[\bodyfontenvironmentlist]\next}} + \stopbaselinecorrection} + +\gdef\showfont% + {\dosingleempty\doshowfont} + +\beginTEX \iffontchar + +\gdef\iffontchar#1#2{\iftrue} + +\endTEX + +\gdef\doshowfont[#1]% + {\bgroup + \setupcolors[\c!status=\v!lokaal]% + \iffirstargument + \definefont[\s!dummy][#1]\dummy + \else\ifdim2.5em>.05\hsize \tx + \ifdim2.5em>.05\hsize \txx + \fi\fi\fi + \startbaselinecorrection + \vbox\bgroup + \forgetall + \startoverlay + {\vbox + {\tf \setstrut \dummy + \localcolortrue \offinterlineskip + \dostepwiserecurse{0}{15}{1} + {\let\row\recurselevel + \hbox + {\red + \dostepwiserecurse{0}{15}{1} + {\let\col\recurselevel + \scratchcounter="\hexnumber\row\hexnumber\col\relax +\iffontchar\font\scratchcounter + \setbox\scratchbox\ruledhbox{\black\char\scratchcounter}% + \ifdim\wd\scratchbox>\!!zeropoint\relax + \donetrue \else \donefalse + \fi +\else + \setbox\scratchbox\hbox{\gray\vrule\!!width1ex\!!height.5ex\!!depth.5ex}% +\fi + \startoverlay + {\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}}% + \ht\scratchbox\!!zeropoint + \dp\scratchbox\!!zeropoint + \else + \ht\scratchbox\ht\strutbox + \dp\scratchbox\dp\strutbox + \strut + \fi + \hss\copy\scratchbox\hss} + \vss}} + {\tf\vbox to 2.3em + {\ifdone + \blue \hsize2.4em + \edef\ascii + {\ifnum\hyphenchar\font=\scratchcounter + hyph% + \else\ifnum\skewchar\font=\scratchcounter + skew% + \fi\fi}% + \tinyfont + {\red\ascii}\hfill + \number\scratchcounter + \vfill + \octnumber\scratchcounter\hfill + \lchexnumbers\scratchcounter\par + \fi}} + \stopoverlay}}} + \par}} + {\tf\rooster[\c!nx=16,\c!ny=16,\c!dx=2.5,\c!dy=2.5,\c!eenheid=em]} + \stopoverlay + \nointerlineskip + \vskip2pt + \edef\ascii + {name:~{\black\fontname\font}\quad + encoding:~{\black\currentencoding}\quad + mapping:~{\black\currentmapping}\quad + handling:~{\black\fonthandling}}% + \tf\hbox to 40em + {\blue\hfill\tinyfont\setstrut\strut\ascii} + \egroup + \stopbaselinecorrection + \egroup} + +\gdef\showfontstyle% + {\dotripleempty\doshowfontstyle} + +\gdef\doshowfontstyle[#1][#2][#3]% + {\ifthirdargument + \bgroup + \raggedright + \switchtobodyfont[#1] + \def\dodocommando##1##2% + {\starttextrule{\tttf #1 ##1 ##2} + \nobreak \getvalue{##2}% + \dorecurse{255} + {\iffontchar\font\recurselevel\relax + \char\recurselevel\relax\space + \fi} + \par \nobreak + \stoptextrule} + \def\docommando##1% + {\getvalue{##1}\processcommacommand[#3]{\dodocommando{##1}}} + \processcommalist[#2]\docommando + \egroup + \else\ifsecondargument + \showfontstyle[#1][#2][\alternativetextlist]% + \doif{#2}{\c!mm}{\showfontstyle[#1][#2][\alternativemathlist]}% + \else + \showfontstyle[#1][\c!rm]\showfontstyle[#1][\c!ss] + \showfontstyle[#1][\c!tt]\showfontstyle[#1][\c!mm] + \fi\fi} + +\protect \endinput diff --git a/tex/context/base/font-unk.tex b/tex/context/base/font-unk.tex index f230b7a43..2f2cf1695 100644 --- a/tex/context/base/font-unk.tex +++ b/tex/context/base/font-unk.tex @@ -45,8 +45,21 @@ \definefontsynonym [MathItalic] [unknown] \definefontsynonym [MathSymbol] [unknown] +\definefontsynonym [MathNoName] [unknown] + \definefontsynonym [MathAlpha] [unknown] \definefontsynonym [MathBeta] [unknown] +\definefontsynonym [MathGamma] [unknown] +\definefontsynonym [MathDelta] [unknown] + +\definefontsynonym [MathRomanBold] [MathRoman] +\definefontsynonym [MathExtensionBold] [MathExtension] +\definefontsynonym [MathItalicBold] [MathItalic] +\definefontsynonym [MathSymbolBold] [MathSymbol] +\definefontsynonym [MathAlphaBold] [MathAlpha] +\definefontsynonym [MathBetaBold] [MathBeta] +\definefontsynonym [MathGammaBold] [MathGamma] +\definefontsynonym [MathDeltaBold] [MathDelta] \definefontsynonym [Handwriting] [unknown] \definefontsynonym [Calligraphic] [unknown] @@ -87,142 +100,62 @@ \definefontsynonym [TypeBoldSlanted] [MonoBoldSlanted] \definefontsynonym [TypeCaps] [MonoCaps] -% To be added: Handwriting, Calligraphic - %D Next we define roman, sans and monospaced font sets. \definebodyfont [default] [rm] - [ tf=Serif sa 1, - tfa=Serif sa a, - tfb=Serif sa b, - tfc=Serif sa c, - tfd=Serif sa d, - bf=SerifBold sa 1, - bfa=SerifBold sa a, - bfb=SerifBold sa b, - bfc=SerifBold sa c, - bfd=SerifBold sa d, - it=SerifItalic sa 1, - ita=SerifItalic sa a, - itb=SerifItalic sa b, - itc=SerifItalic sa c, - itd=SerifItalic sa d, - sl=SerifSlanted sa 1, - sla=SerifSlanted sa a, - slb=SerifSlanted sa b, - slc=SerifSlanted sa c, - sld=SerifSlanted sa d, - bi=SerifBoldItalic sa 1, - bia=SerifBoldItalic sa a, - bib=SerifBoldItalic sa b, - bic=SerifBoldItalic sa c, - bid=SerifBoldItalic sa d, - bs=SerifBoldSlanted sa 1, - bsa=SerifBoldSlanted sa a, - bsb=SerifBoldSlanted sa b, - bsc=SerifBoldSlanted sa c, - bsd=SerifBoldSlanted sa d, - sc=SerifCaps sa 1, - sca=SerifCaps sa a, - scb=SerifCaps sa b, - scc=SerifCaps sa c, - scd=SerifCaps sa d] + [tf=Serif sa 1, + bf=SerifBold sa 1, + it=SerifItalic sa 1, + sl=SerifSlanted sa 1, + bi=SerifBoldItalic sa 1, + bs=SerifBoldSlanted sa 1, + sc=SerifCaps sa 1] \definebodyfont [default] [ss] - [ tf=Sans sa 1, - tfa=Sans sa a, - tfb=Sans sa b, - tfc=Sans sa c, - tfd=Sans sa d, - bf=SansBold sa 1, - bfa=SansBold sa a, - bfb=SansBold sa b, - bfc=SansBold sa c, - bfd=SansBold sa d, - it=SansItalic sa 1, - ita=SansItalic sa a, - itb=SansItalic sa b, - itc=SansItalic sa c, - itd=SansItalic sa d, - sl=SansSlanted sa 1, - sla=SansSlanted sa a, - slb=SansSlanted sa b, - slc=SansSlanted sa c, - sld=SansSlanted sa d, - bi=SansBoldItalic sa 1, - bia=SansBoldItalic sa a, - bib=SansBoldItalic sa b, - bic=SansBoldItalic sa c, - bid=SansBoldItalic sa d, - bs=SansBoldSlanted sa 1, - bsa=SansBoldSlanted sa a, - bsb=SansBoldSlanted sa b, - bsc=SansBoldSlanted sa c, - bsd=SansBoldSlanted sa d, - sc=SansCaps sa 1, - sca=SansCaps sa a, - scb=SansCaps sa b, - scc=SansCaps sa c, - scd=SansCaps sa d] + [tf=Sans sa 1, + bf=SansBold sa 1, + it=SansItalic sa 1, + sl=SansSlanted sa 1, + bi=SansBoldItalic sa 1, + bs=SansBoldSlanted sa 1, + sc=SansCaps sa 1] \definebodyfont [default] [tt] - [ tf=Mono sa 1, - tfa=Mono sa a, - tfb=Mono sa b, - tfc=Mono sa c, - tfd=Mono sa d, - bf=MonoBold sa 1, - bfa=MonoBold sa a, - bfb=MonoBold sa b, - bfc=MonoBold sa c, - bfd=MonoBold sa d, - it=MonoItalic sa 1, - ita=MonoItalic sa a, - itb=MonoItalic sa b, - itc=MonoItalic sa c, - itd=MonoItalic sa d, - sl=MonoSlanted sa 1, - sla=MonoSlanted sa a, - slb=MonoSlanted sa b, - slc=MonoSlanted sa c, - sld=MonoSlanted sa d, - bi=MonoBoldItalic sa 1, - bia=MonoBoldItalic sa a, - bib=MonoBoldItalic sa b, - bic=MonoBoldItalic sa c, - bid=MonoBoldItalic sa d, - bs=MonoBoldSlanted sa 1, - bsa=MonoBoldSlanted sa a, - bsb=MonoBoldSlanted sa b, - bsc=MonoBoldSlanted sa c, - bsd=MonoBoldSlanted sa d, - sc=MonoCaps sa 1, - sca=MonoCaps sa a, - scb=MonoCaps sa b, - scc=MonoCaps sa c, - scd=MonoCaps sa d] + [tf=Mono sa 1, + bf=MonoBold sa 1, + it=MonoItalic sa 1, + sl=MonoSlanted sa 1, + bi=MonoBoldItalic sa 1, + bs=MonoBoldSlanted sa 1, + sc=MonoCaps sa 1] \definebodyfont [default] [mm] [mr=MathRoman mo 1, ex=MathExtension mo 1, mi=MathItalic mo 1, sy=MathSymbol mo 1, + nn=MathNoName mo 1, ma=MathAlpha mo 1, - mb=MathBeta mo 1] + mb=MathBeta mo 1, + mc=MathGamma mo 1, + md=MathDelta mo 1] + +\definebodyfont + [boldmath] [mm] + [mrbf=MathRomanBold mo 1, + exbf=MathExtensionBold mo 1, + mibf=MathItalicBold mo 1, + sybf=MathSymbolBold mo 1, + mabf=MathAlphaBold mo 1, + mbbf=MathBetaBold mo 1, + mcbf=MathGammaBold mo 1, + mdbf=MathDeltaBold mo 1] \definebodyfont [default] [hw] - [ tf=Handwriting sa 1, - tfa=Handwriting sa a, - tfb=Handwriting sa b, - tfc=Handwriting sa c, - tfd=Handwriting sa d] + [tf=Handwriting sa 1] \definebodyfont [default] [cg] - [ tf=Calligraphy sa 1, - tfa=Calligraphy sa a, - tfb=Calligraphy sa b, - tfc=Calligraphy sa c, - tfd=Calligraphy sa d] + [tf=Calligraphy sa 1] %D These definitions come into action as soon as names are %D mapped onto real file names (or names that themselves are diff --git a/tex/context/base/font-vnr.tex b/tex/context/base/font-vnr.tex index 67bdbebe1..d9e4a3b67 100644 --- a/tex/context/base/font-vnr.tex +++ b/tex/context/base/font-vnr.tex @@ -1,3 +1,5 @@ +% NOT YET ADAPTED TO THE NEW FONT MACROS + %D \module %D [ file=font-vnr, %D version=1999.12.12, @@ -11,6 +13,8 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. +% to do + \definefontsynonym [Serif] [vnb10] [encoding=x5] \definefontsynonym [SerifBold] [vnb10] [encoding=x5] \definefontsynonym [SerifItalic] [vnb10] [encoding=x5] diff --git a/tex/context/base/lang-ini.tex b/tex/context/base/lang-ini.tex index 2654d7087..f582af230 100644 --- a/tex/context/base/lang-ini.tex +++ b/tex/context/base/lang-ini.tex @@ -294,16 +294,16 @@ \def\doloadpatterns#1#2% {\expanded{\getcommacommandsize[\getvalue{\??la#2\s!encoding}]}% \ifnum\commalistsize>0 -\message{[nofpatterns #2: \commalistsize/\getvalue{\??la#2\s!encoding}]}% + %\message{[nofpatterns #2: \commalistsize/\getvalue{\??la#2\s!encoding}]}% \dorecurse\commalistsize {\expanded{\getfromcommacommand[\getvalue{\??la#2\s!encoding}][\recurselevel]}% \let\patternencoding\commalistelement \expanded{\getfromcommacommand[\getvalue{\??la#2\s!mapping }][\recurselevel]}% \let\patternmapping \commalistelement -\message{[patterns: #1/#2/\patternencoding/\patternmapping]}% + %\message{[patterns: #1/#2/\patternencoding/\patternmapping]}% \dodoloadpatterns{#1}{#2}\patternencoding\patternmapping}% \else -\message{[patterns: #1/#2]}% + %\message{[patterns: #1/#2]}% \dodoloadpatterns{#1}{#2}{}{}% \fi} diff --git a/tex/context/base/main-001.tex b/tex/context/base/main-001.tex index 51a86e887..65abc611e 100644 --- a/tex/context/base/main-001.tex +++ b/tex/context/base/main-001.tex @@ -15,24 +15,6 @@ \writestatus{loading}{Context Core Macros (1)} -\newevery \everybodyfont \Everybodyfont % just to be sure - -\appendtoks \presetnormallineheight \to \everybodyfont -\appendtoks \setnormalbaselines \to \everybodyfont -\appendtoks \setstrut \to \everybodyfont -\appendtoks \settopskip \to \everybodyfont -\appendtoks \setmaxdepth \to \everybodyfont -\appendtoks \stelinspringenin \to \everybodyfont -\appendtoks \stelblankoin \to \everybodyfont -\appendtoks \stelwitruimtein \to \everybodyfont -%\appendtoks\setupfootnotes \to \everybodyfont -\appendtoks \stelspatieringin \to \everybodyfont % nieuw -\appendtoks \setdisplayskips \to \everybodyfont % nieuw - -% \appendtoks .. \to \everypar -% \appendtoks .. \to \everypar -% \appendtoks .. \to \everypar - % kan elders ook worden gebruikt i.i.g ongeveer % \v!tekst EN \c!tekst etc checken @@ -504,202 +486,6 @@ \s!default=>{\dodoglobal\convertargument#2\to#3}, \s!unknown=>{\dodoglobal\convertargument#2\to#3}]} -% om problemen te voorkomen: -% -% \ascii => \@@ascii@@ -% \asciiA => \@@ascii@@A -% \asciiB => \@@ascii@@B - -% Nodig i.v.m. inspringen eerste alineas - -\def\explicithmode% - {\unhbox\voidb@x} - -% Nodig voor gebruikers - -\def\geentest{\donottest} - -% Dit moet nog ergens een plaats krijgen: - -\def\stelfactorenin% - {\stelwitruimtein - \stelblankoin - \settopskip - \setmaxdepth} - -% Nog doen: -% -% \goodbreak -> \allowbreak en \dosomebreak{..} in koppen -% -% bij koppen zowieso: \blanko[reset] - -% Nog in commando verwerken: -% -% \voorkeur … la \blanko -% -% Om ongewenste witruimte te voorkomen kan met \dosomebreak{\break} -% een \penalty v¢¢r witruimte worden geplaatst. - -\def\removelastskip% a redefinition of plain - {\ifvmode\ifdim\lastskip=\z@\else\vskip-\lastskip\fi\fi} - -\def\dosomebreak#1% - {\skip0=\lastskip - \removelastskip - %\type{#1}% - #1\relax - \ifdim\skip0=\!!zeropoint - \else - \vskip\skip0 - \fi} - -% beter, vooral in \vbox; nog in \pagina toepassen s! - -\def\doifoutervmode#1% - {\ifvmode\ifinner\else#1\fi\fi} - -\def\dosomebreak#1% - {\doifoutervmode - {\skip0=\lastskip - \removelastskip - %\leavevmode\type{#1}% - #1\relax - \ifdim\skip0=\!!zeropoint % else interference with footnotes - \else - \vskip\skip0 - \fi}} - -% Idem: -% -% \springin - -%\def\noindentation% vervallen -% {\EveryPar -% {\ifdim\parindent=\!!zeropoint -% \else -% \bgroup -% \setbox0=\lastbox -% \egroup -% \fi -% \EveryPar{}}} - -\newif\ifindentation \indentationtrue % documenteren, naar buiten - -\let\checkindentation=\relax - -\def\donoindentation% - {\ifdim\parindent=\!!zeropoint - \else - \bgroup - \setbox0=\lastbox - \egroup - \fi} - -\def\noindentation% made global - {\ifinpagebody \else - \global\indentationfalse - \gdef\checkindentation% - {\donoindentation - \gdef\checkindentation{\global\indentationtrue}}% - \fi} - -\def\nonoindentation% bv bij floats - {\ifinpagebody \else - \global\indentationtrue - \gdef\checkindentation{\global\indentationtrue}% - \fi} - -\def\indentation% - {\ifvmode \ifdim\parindent=\!!zeropoint \else - % was : \hskip\parindent - % can be: \indent - % but we test: - \noindent\hskip\parindent - \fi \fi} - -% vergeten - -\def\forgeteverypar% - {\everypar{}} - -\def\forgeteverypar% - {\everypar{\the\neverypar}} - -\def\forgetparindent% - {\forgeteverypar - \indentfirstparagraphtrue % recently added - \stelinspringenin[\v!geen]} - -\def\forgetparskip% - {\stelwitruimtein[\v!geen]} - -\def\forgetbothskips% - {\tolerance=1500 - \leftskip\!!zeropoint - \rightskip\!!zeropoint\relax} - -\def\forgetspacing% - {\emergencystretch\!!zeropoint\relax} - -\def\forgetall% - {\the\everyforgetall} - -\appendtoks \let\par\endgraf \to \everyforgetall % i.v.m. getpar etc -\appendtoks \notragged \to \everyforgetall -\appendtoks \forgetparskip \to \everyforgetall -\appendtoks \forgetparindent \to \everyforgetall -\appendtoks \forgetbothskips \to \everyforgetall -\appendtoks \forgetspacing \to \everyforgetall % i.v.m. funny spacing in pagebody -\appendtoks \everypar\emptytoks \to \everyforgetall % indeed! - -\def\localvbox#1#% - {\vbox#1\bgroup - \forgetparskip - \setlocalhsize - \hsize=\localhsize - \forgetparindent - \forgetbothskips - \forgeteverypar - \let\next=} - -% ach ja - -\unexpanded\def\dostartattributes#1#2#3% - {\begingroup % geen \bgroup, anders in mathmode lege \hbox - \doifdefinedelse{#1#2} - {\def\fontattribute{\getvalue{#1#2}}} - {\let\fontattribute=\empty}% - \doifdefinedelse{#1#3} - {\def\colorattribute{\getvalue{#1#3}}} - {\let\colorattribute=\empty}% - \startcolor[\colorattribute]% - \@EA\doconvertfont\@EA{\fontattribute}} - -\unexpanded\def\dostopattributes% - {\stopcolor - \endgroup} - -\unexpanded\def\doattributes#1#2#3#4% - {\dostartattributes{#1}{#2}{#3}{#4}\dostopattributes} - -% kan vaker worden toegepast: - -\newskip\leftskipadaption - -\def\doadaptleftskip#1% - {\dosetleftskipadaption{#1}% - \advance\leftskip by \leftskipadaption} - -\def\dosetleftskipadaption#1% - {\leftskipadaption\!!zeropoint - \processaction[#1] % \ExpandFirstAfter - [\v!standaard=>\leftskipadaption= - \ifdim\voorwit=\!!zeropoint\@@sllinks\else\voorwit\fi, - \v!ja=>\leftskipadaption= - \ifdim\voorwit=\!!zeropoint\@@sllinks\else\voorwit\fi, - \v!nee=>, - \s!unknown=>\leftskipadaption=#1]} - \def\herhaal {\dorepeat} \def\herhaler {\repeater} \def\herhaalmetcommando {\dorepeatwithcommand} @@ -790,345 +576,6 @@ \catcode`\^^L=\@@endofline -\def\toonstruts% - {\setteststrut} - -% Hieronder volgen enkele instellingen en macro's ten behoeve -% van de interlinie en \strut. De waarden 2.8, 0.07, 0.72 en -% 0.28 zijn ooit eens ontleend aan INRS-TEX en moeten wellicht -% nog eens instelbaar worden. -% -% \lineheight : de hoogte van een regel -% \spacing{getal} : instellen interlinie -% \normalbaselines : instellen regelafstend -% -% \setstrut : instellen \strut -% \setnostrut : resetten \strut, \endstrut, \begstrut -% -% \setteststrut : instellen zichtbare struts -% \resetteststrut : instellen onzichtbare struts -% -% \setfontparameters : instellen na fontset -% -% De hoogte van een regel (\lineheight) is gelijk aan de -% som van de hoogte (\ht) en diepte (\dp) van \strutbox. -% -% \strut : denkbeeldig blokje met hoogte en diepte -% -% Een \hbox kan als deze aan het begin van een regel staat -% een breedte \hsize krijgen. Dit is soms te voorkomen met het -% commando \leavevmode. Binnen een \vbox geeft dit echter -% niet altijd het gewenste resultaat, vandaar het commando -% -% \leaveoutervmode - -% Pas op: niet zomaar \topskip en \baselineskip aanpassen -% en zeker niet \widowpenalty. Dit kan ernstige gevolgen -% hebben voor kolommen. -% -% Enige glue kan op zich geen kwaad, echter als blanko=vast, -% dan moet ook de rek 0 zijn. Binnen kolommen is rek ook -% niet bepaald mooi. Een hele kleine waarde (0.025) voldoet, -% omdat een positieve glue eindeloos rekbaar is. - -\newdimen\strutdimen -\newdimen\lineheight -\newdimen\openlineheight -\newdimen\openstrutheight -\newdimen\openstrutdepth -\def\strutheightfactor {.72} -\def\strutdepthfactor {.28} - -\def\baselinefactor {2.8} -\def\baselinegluefactor {0} - -\def\normallineheight {\baselinefactor ex} -\def\minimallinedistance {\lineskip} - -\def\strutheight {0pt} -\def\strutdepth {0pt} -\def\strutwidth {0pt} - -\def\spacingfactor {1} - -\def\topskipfactor {1.0} -\def\maxdepthfactor {0.5} - -\def\systemtopskipfactor {\topskipfactor} -\def\systemmaxdepthfactor {\maxdepthfactor} - -% De onderstaande definitie wordt in de font-module overruled - -\ifx\globalbodyfontsize\undefined - \newdimen\globalbodyfontsize - \globalbodyfontsize=12pt -\fi -\ifx\normalizedbodyfontsize\undefined - \def\normalizedbodyfontsize{12pt} -\fi - -% door een \dimen. Dit is geen probleem omdat (1) de default -% korpsgrootte 12pt is en (2) de fonts nog niet geladen zijn -% en de instellingen bij het laden nogmaals plaatsvinden. - -\def\topskipcorrection% - {\ifdim\topskip>\openstrutheight - \vskip\topskip - \vskip-\openstrutheight - \fi - \vbox{\strut} - \vskip-\openlineheight} - -\def\settopskip% the extra test is needed for the lbr family - {\topskip=\systemtopskipfactor\globalbodyfontsize - \ifgridsnapping \else - \ifr@ggedbottom\!!plus5\globalbodyfontsize\fi - \fi - \relax % the skip - \ifdim\topskip<\strutheightfactor\openlineheight - \topskip=\strutheightfactor\openlineheight\relax - \fi} - -\def\setmaxdepth% - {\maxdepth=\systemmaxdepthfactor\globalbodyfontsize} - -\def\normalbaselines% - {\baselineskip\normalbaselineskip - \lineskip\normallineskip - \lineskiplimit\normallineskiplimit} - -\def\setnormalbaselines% - {\lineheight=\normallineheight - \openlineheight=\spacingfactor\lineheight -\openstrutheight=\strutheightfactor\openlineheight -\openstrutdepth =\strutdepthfactor \openlineheight - \normalbaselineskip= - \openlineheight - \!!plus\baselinegluefactor\openlineheight - \!!minus\baselinegluefactor\openlineheight - \normallineskip\minimallinedistance\relax % \!!onepoint\relax - \normallineskiplimit\!!zeropoint\relax - \normalbaselines} - -\def\setspacingfactor#1\to#2\by#3\\% - {\strutdimen=#2pt\relax - \strutdimen=#3\strutdimen - \edef#1{\withoutpt{\the\strutdimen}}} - -\def\spacing#1% - {\ifgridsnapping - \edef\spacingfactor{1}% - \showmessage{\m!layouts}{11}{#1}% - \else - \edef\spacingfactor{#1}% - \fi - \setspacingfactor\systemtopskipfactor\to\topskipfactor\by#1\\% - \setspacingfactor\systemmaxdepthfactor\to\maxdepthfactor\by#1\\% - \setnormalbaselines - \setstrut} - -\def\setstrutdimen#1#2#3% % een strut is n.m maal ex - {\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 - -% plain definition: -% -% \def\strut{\relax\ifmmode\copy\strutbox\else\unhcopy\strutbox\fi} -% -% could be: -% -% \def\strut{\relax\ifmmode\copy\else\unhcopy\fi\strutbox} - -\let\normalstrut=\strut - -% The double \hbox construction enables us to \backtrack -% boxes. - -% \def\setstrut% -% {\setstrutdimen\strutheight\strutheightfactor\spacingfactor -% \setstrutdimen\strutdepth \strutdepthfactor \spacingfactor -% \let\strut=\normalstrut -% \setbox\strutbox=\normalhbox -% {\normalhbox -% {\vrule -% \!!width \strutwidth -% \!!height \strutheight -% \!!depth \strutdepth -% \normalkern-\strutwidth}}} - -\def\setstrut% - {\setstrutdimen\strutheight\strutheightfactor\spacingfactor - \setstrutdimen\strutdepth \strutdepthfactor \spacingfactor - \dosetstrut} - -\def\setcharstrut#1% - {\setbox\strutbox=\hbox{#1}% - \edef\strutheight{\the\ht\strutbox}% - \edef\strutdepth {\the\dp\strutbox}% - \dosetstrut} - -\def\setcapstrut% could be M, but Q has descender - {\setcharstrut{Q}} - -%D Centered looks nicer: - -\def\dosetstrut% - {\let\strut=\normalstrut - \setbox\strutbox=\normalhbox - {\normalhbox to \!!zeropoint - {% \hss % new, will be option - \vrule - \!!width \strutwidth - \!!height\strutheight - \!!depth \strutdepth - \hss}}} -%D Sometimes a capstrut comes in handy -%D -%D \starttabulatie[|Tl|l|l|] -%D \NC yes \NC normal strut \NC {\toonstruts\setupstrut[ja]\strut} \NC \NR -%D \NC no \NC no strut \NC {\toonstruts\setupstrut[nee]\strut} \NC \NR -%D \NC kap \NC a capital strut (i.e. Q) \NC {\toonstruts\setupstrut[kap]\strut} \NC \NR -%D \NC A B \unknown \NC a character strut (e.g. A) \NC {\toonstruts\setupstrut[A]\strut} \NC \NR -%D \NC \NC a normal strut \NC {\toonstruts\setupstrut\strut} \NC \NR -%D \stoptabulatie - -\def\setupstrut% - {\dosingleempty\dosetupstrut} - -\def\dosetupstrut[#1]% yet undocumented - {\processaction - [#1] - [ \v!ja=>\setstrut, - \v!nee=>\setnostrut, - \v!kap=>\setcapstrut, - \s!default=>\setstrut, - \s!unknown=>\setcharstrut{\commalistelement}]} - -\def\setteststrut% - {\def\strutwidth{.8pt}% - \setstrut} - -\def\begstrut% - {\relax\ifdim\ht\strutbox=\!!zeropoint\else - \strut - \normalpenalty\!!tenthousand - \normalhskip\!!zeropoint - \ignorespaces - \fi} - -\def\endstrut% - {\relax\ifhmode\ifdim\ht\strutbox=\!!zeropoint\else - \unskip\unskip\unskip - \normalpenalty\!!tenthousand - \normalhskip\!!zeropoint - \strut - \fi\fi} - -\def\setnostrut% - {\setbox\strutbox=\normalhbox{\normalhbox{}}% - \let\strut=\empty - \let\endstrut=\empty - \let\begstrut=\empty} - -% unsave: -% -% \def\pseudostrut% -% {\bgroup -% \setnostrut -% \normalstrut -% \egroup} -% -% try: -% -% \startchemie -% \chemie[ONE,Z0,SB15,MOV1,SB15,Z0][C,C] -% \stopchemie -% -% so: - -\def\pseudostrut% - {\noindent} % better: \dontleavehmode - -\let\pseudobegstrut\pseudostrut - -\def\pseudoendstrut% removes all kind of signals - {\ifhmode\unskip\unskip\unskip\unskip\fi} - -\def\resetteststrut% - {\let\strutwidth=\!!zeropoint - \setstrut} - -\def\setfontparameters% - {\the\everybodyfont} - -%D Handy: - -\def\baselinedistance{\the\lineheight} - -%D We need \type{\normaloffinterlineskip} because the new -%D definition contains an assignment, and |<|don't ask me -%D why|>| this assignment gives troubles in for instance the -%D visual debugger. - -\ifx\undefined\normaloffinterlineskip - \let\normaloffinterlineskip=\offinterlineskip % knuth's original -\fi - -\def\offinterlineskip% - {\ifdim\baselineskip>\!!zeropoint - \edef\oninterlineskip% - {\baselineskip=\the\baselineskip - \lineskip=\the\lineskip - \lineskiplimit=\the\lineskiplimit - \noexpand\let\noexpand\offinterlineskip=\noexpand\normaloffinterlineskip}% - \else - \let\oninterlineskip=\setnormalbaselines - \fi - \normaloffinterlineskip} - -\let\oninterlineskip=\relax - -\def\leaveoutervmode% - {\ifvmode\ifinner\else - \leavevmode - \fi\fi} - -% We stellen enkele penalties anders in dan Plain TEX: - -\def\defaultwidowpenalty{2000} % was: 1000 -\def\defaultclubpenalty {2000} % was: 800 - -\widowpenalty=\defaultwidowpenalty\relax -\clubpenalty =\defaultclubpenalty \relax - -% Bovendien definieren we enkele extra \fill's: - -\def\hfilll% - {\hskip\!!zeropoint\!!plus1filll\relax} - -\def\vfilll% - {\vskip\!!zeropoint\!!plus1filll\relax} - -% De onderstaande hulpmacro's moeten nog eens instelbaar worden -% gemaakt. - -\def\tfskipsize{1em\relax} - -\def\tfkernsize{1ex\relax} - -\def\tfskip% - {{\tf\hskip\tfskipsize}} - -\def\tfkern% - {{\tf\kern\tfkernsize}} - -% Dit hoort eigenlijk thuis onder het kopje boodschappen cq, -% meldingen. - -\let\mindermeldingen\dontcomplain - % Maten % % De onderstaande instellingen worden gebruikt voor het @@ -1843,7 +1290,7 @@ \def\douitstellen% PAS OP 2X MAIN-001 {\the\everytopofpage \ifinuitstellen\else\ifcase\nofpostponedblocks\else % The \nof-test is -\bgroup +\bgroup % needed \black % else problems inside split verbatim \restoreglobalbodyfont % else problems inside split verbatim \global\pagetotal\!!zeropoint % recently added @@ -2984,809 +2431,6 @@ {\copy\rightlogos}% \fi} -% \frenchspacing leidt soms tot afbreken tussen -, vandaar -% de variant \newfrenchspacing. - -\def\dofrenchspacing#1% - {\sfcode`\.#1 \sfcode`\,#1\relax - \sfcode`\?#1 \sfcode`\!#1\relax - \sfcode`\:#1 \sfcode`\;#1\relax} - -\def\frenchspacing% - {\dofrenchspacing{1000}} % \@m - -\def\newfrenchspacing% - {\dofrenchspacing{1050}} % \@ml - -\def\complexstelspatieringin[#1]% - {\processaction - [#1] - [\v!opelkaar=>\newfrenchspacing, - \v!ruim=>\nonfrenchspacing]% - \updateraggedskips} - -\def\simplestelspatieringin% - {\updateraggedskips} - -\definecomplexorsimple\stelspatieringin - -\bgroup -\catcode`\~=\@@active % eigenlijk is ~ al actief -\gdef\fixedspaces% % in Plain \TeX, maar we weten - {\catcode`\~=\@@active % nooit wat er inmiddels is - \def~{\fixedspace}} % gebeurd, vandaar. -\egroup - -\def\space { } -\def\fixedspace {\hskip.5em\relax} -\def\nospace {\unskip\ignorespaces} - -\let\spatie \space -\let\hardespatie\fixedspace -\let\geenspatie \nospace - -\def\opelkaar% - {\nointerlineskip} - -\def\omlaag[#1]% nog eens mooier, relateren aan blanko - {\nointerlineskip - \vskip#1 } - -\newskip\tussenwit -\tussenwit=\!!zeropoint - -\def\blankokleinmaat% - {\smallskipamount} - -\def\blankomiddelmaat% - {\medskipamount} - -\def\blankogrootmaat% - {\bigskipamount} - -\def\currentwitruimte% - {\!!zeropoint} - -\def\stelwitruimteopnieuwin% - {\expanded{\stelwitruimtein[\currentwitruimte]}} - -\newif\ifwitruimteflexibel \witruimteflexibeltrue - -%\def\dodostelwitruimtein[#1]% -% {%\witruimteflexibeltrue -% \processallactionsinset -% [#1] -% [\v!herstel=>, -% \v!vast=>\witruimteflexibelfalse, -% \v!flexibel=>\witruimteflexibeltrue, -% \v!regel=>\tussenwit=\baselineskip, -% \v!halveregel=>\tussenwit=.5\baselineskip, -% \s!default=>\doifnot{\currentwitruimte}{\v!geen} -% {\stelwitruimteopnieuwin}, -% \s!unknown=>\@EA\assigndimension\@EA{\commalistelement} % \@EA is nodig -% {\tussenwit} -% {\blankokleinmaat}{\blankomiddelmaat}{\blankogrootmaat}]% % te vangen -% \edef\currentwitruimte% -% {\ifdim\tussenwit=\!!zeropoint -% \v!geen -% \else -% \ifgridsnapping\the\baselineskip\else\the\tussenwit\fi -% \fi}% -% \ifgridsnapping -% \witruimteflexibelfalse -% \tussenwit=1\tussenwit -% \ifdim\tussenwit>\!!zeropoint -% \tussenwit=\baselineskip -% \fi -% \else -% \ifwitruimteflexibel \else \tussenwit=1\tussenwit \fi -% \fi -% \parskip=\tussenwit} -% -%\def\dostelwitruimtein[#1]% -% {\expanded{\dodostelwitruimtein[#1]}} -% -%\def\stelwitruimtein% -% {\dosingleempty\dostelwitruimtein} - -\definecomplexorsimple\stelwitruimtein - -\def\complexstelwitruimtein[#1]% - {\expanded{\dostelwitruimtein[#1]}% - \dodostelwitruimtein} - -\def\dostelwitruimtein[#1]% - {\processallactionsinset - [#1] - [\v!herstel=>, - \v!vast=>\witruimteflexibelfalse, - \v!flexibel=>\witruimteflexibeltrue, - \v!regel=>\tussenwit=\baselineskip, - \v!halveregel=>\tussenwit=.5\baselineskip, - \s!default=>\doifnot{\currentwitruimte}{\v!geen} - {\stelwitruimteopnieuwin}, - \s!unknown=>\@EA\assigndimension\@EA{\commalistelement} % \@EA is nodig - {\tussenwit} - {\blankokleinmaat}{\blankomiddelmaat}{\blankogrootmaat}]} % te vangen - -\def\dodostelwitruimtein% - {\edef\currentwitruimte% - {\ifdim\tussenwit=\!!zeropoint - \v!geen - \else - \ifgridsnapping\the\baselineskip\else\the\tussenwit\fi - \fi}% - \ifgridsnapping - \witruimteflexibelfalse - \tussenwit=1\tussenwit - \ifdim\tussenwit>\!!zeropoint - \tussenwit=\baselineskip - \fi - \else - \ifwitruimteflexibel \else \tussenwit=1\tussenwit \fi - \fi - \parskip=\tussenwit} - -\def\simplestelwitruimtein% == snelle \stelwitruimtein[\s!default] - {\doifnot{\currentwitruimte}{\v!geen} - {\stelwitruimteopnieuwin}% - \dodostelwitruimtein} - -\def\geenwitruimte% - {\ifdim\parskip>\!!zeropoint\relax - \ifdim\lastskip=-\parskip - \else - \vskip-\parskip - \fi - \fi} - -\def\savecurrentwitruimte% - {\edef\restorecurrentwitruimte% - {\tussenwit=\the\tussenwit - \parskip=\the\parskip - \noexpand\def\noexpand\currentwitruimte{\currentwitruimte}% - \ifwitruimteflexibel - \noexpand\witruimteflexibeltrue - \else - \noexpand\witruimteflexibelfalse - \fi}} - -% deze variant is nodig binnen \startopelkaar -% steeds testen: -% -% \hoofdstuk{..} -% \plaatslijst[..] -% \hoofdstuk{..} -% \input tufte -% -% met/zonder witruimte - -\def\witruimte% - {\par - \ifdim\parskip>\!!zeropoint\relax - %\ifdim\lastskip>\parskip \else - % \removelastskip interferes with blanko blokkeer en klein - \vskip\parskip - %\fi - \fi} - -\def\nonoblanko[#1]% - {\par} - -\def\noblanko% - {\dosingleempty\nonoblanko} - -% De onderstaande macro handelt ook de situatie dat er geen -% tekst tussen \start ... \stop is geplaatst. Daartoe wordt de -% laatste skip over de lege tekst heen gehaald. Dit komt goed -% van pas bij het plaatsen van (mogelijk lege) lijsten. - -\newif\ifopelkaar - -\def\noparskipsignal {0.00001pt} -\def\lastdoneparskip {0pt} - -\def\startopelkaar% - {\dosingleempty\dostartopelkaar} - -\def\dostartopelkaar[#1]% nesting afvangen - {\par - \ifvmode - \edef\lastdoneparskip{\the\lastskip}% -\edef\lastdoneprevdepth{\the\prevdepth}% zeer recent toegevoegd - \ifdim\prevdepth=-1000pt % toegevoegd omdat binnen - \else % een vbox een extra skip - \witruimte % ongewenst is; dit kan -\baselinecorrection %% zie in \plaatsregister[n=1] - \vskip\noparskipsignal % waarschijnlijk ook in - \fi % blanko blokkeer - \bgroup - \doifelse{#1}{\v!blanko} - {\opelkaarfalse} - {\opelkaartrue}% - \blanko[\v!blokkeer]% - \stelwitruimtein[\v!geen] - \fi} - -\def\stopopelkaar% - {\par -\ifvmode - \egroup - \ifdim\lastskip=\noparskipsignal\relax - \removelastskip - \geenwitruimte - \vskip-\lastdoneparskip - \vskip+\lastdoneparskip -\prevdepth-\lastdoneprevdepth % zeer recent toegevoegd - \fi -\fi} - -\def\startvanelkaar% - {\blanko - \leavevmode - \bgroup} - -\def\stopvanelkaar% - {\egroup - \blanko} - -% De onderstaande macro's moeten nog eens nader worden uitgewerkt. -% Ze spelen een rol bij de spatiering rond omkaderde teksten -% en/of boxen zonder diepte. - -\def\toonregelcorrectie {\showbaselinecorrection} -\def\regelcorrectie {\baselinecorrection} - -\definecomplexorsimpleempty\startregelcorrectie - -% \prevdepth crosses pageboundaries! - -\let\dorondomregelcorrectie=\relax - -\def\complexstartregelcorrectie[#1]% - {\bgroup - \processaction - [#1] - [ \v!blanko=>\let\dorondomregelcorrectie=\blanko, - \s!default=>\let\dorondomregelcorrectie=\relax, - \s!unknown=>{\def\dorondomregelcorrectie{\blanko[#1]}}]% - \dorondomregelcorrectie - \startbaselinecorrection - \offbaselinecorrection} - -\def\stopregelcorrectie% - {\stopbaselinecorrection - \dorondomregelcorrectie - \egroup} - -\def\corrigeerwitruimte% - {\dowithnextbox - {\startbaselinecorrection - \box\nextbox - \stopbaselinecorrection}% - \vbox} - -%D There are two ways to influence the interline spacing. The -%D most general and often most consistent way is using -%D -%D \showsetup{\y!stelinterliniein} -%D -%D For instance -%D -%D \starttypen -%D \setupinterlinespace[line=2.8ex] -%D \stoptypen -%D -%D This setting adapts itself to the bodyfontsize, while for -%D instance saying -%D -%D \starttypen -%D \setupinterlinespace[line=12pt] -%D \stoptypen -%D -%D sets things fixed for all sizes, which is definitely not -%D what we want. Therefore one can also say: -%D -%D \starttypen -%D \definecorpsenvironment[9pt][interlinespace=11pt] -%D \stoptypen -%D -%D One can still use \type{\setupinterlinespace} (without -%D arguments) to set the interline space according to the -%D current font, e.g. a \type{\bfa}. - -\newif\iflocalinterlinespace - -% font-ini - -\ifx\bodyfontinterlinespecs\undefined - - \let\bodyfontinterlinespecs\empty - \let\bodyfontinterlinespace\empty - -\fi - -\def\presetnormallineheight% - {\edef\normallineheight{\@@itregel}% - \iflocalinterlinespace \else - \doifdefined{\bodyfontinterlinespecs} - {\doifsomething{\bodyfontinterlinespace} - {\edef\normallineheight{\bodyfontinterlinespace}}}% - \fi} - -\def\complexstelinterliniein[#1]% \commalistelement ipv #1 - {\doifassignmentelse{#1} - {\getparameters[\??it][#1]% - \scratchdimen=0\@@ithoogte pt - \advance\scratchdimen by 0\@@itdiepte pt - \ifdim\scratchdimen>1pt - \showmessage{\m!layouts}{10}{\@@ithoogte,\@@itdiepte}% - \let\@@ithoogte=\strutheightfactor - \let\@@itdiepte=\strutdepthfactor - \else - \let\strutheightfactor=\@@ithoogte - \let\strutdepthfactor=\@@itdiepte - \fi - \let\minimallinedistance=\@@itafstand - \let\normallineheight=\@@itregel % let ! ! ! ! ! ivm ex - \let\topskipfactor=\@@itboven - \let\maxdepthfactor=\@@itonder - \setfontparameters % redundant \setstrut - \updateraggedskips} % yes indeed - {\processallactionsinset % \regelwit = dummy ! - [#1] - [ \v!aan=>\oninterlineskip, - \v!uit=>\offinterlineskip, - \v!reset=>\setfontparameters, - \s!unknown=>\assignvalue{#1}{\regelwit}{1.00}{1.25}{1.50}% - \spacing{\regelwit}]}} - -\def\simplestelinterliniein% - {\localinterlinespacetrue - \setfontparameters - \updateraggedskips % funny one here - \localinterlinespacefalse} - -\definecomplexorsimple\stelinterliniein - -% In earlier versions \type{\bigskipamount} was -% \type{\ht\strutbox} and the stretch was plus or minus -% \type{.4\dp\strutbox}. Don't ask me why. The most recent -% implementation is based on a user supplied distance, which -% is by default \type{.75\normalskipamount} where -% \type{\normalskipamount} equals the current baseline -% distance. - -\newif\ifblankoreset \blankoresetfalse -\newif\ifblankoblokkeer \blankoblokkeerfalse -\newif\ifblankogeenwit \blankogeenwitfalse -\newif\ifdoeblanko \doeblankofalse -\newif\ifblankoflexibel \blankoflexibeltrue -\newif\ifblankobuiten -\newif\ifblankoforceer - -\newskip\blankoskip \blankoskip=\bigskipamount -\newskip\blankoskipamount - -\def\skipfactor {.75} -\def\skipgluefactor {.25} - -\def\normalskipamount% - {\openlineheight - \ifgridsnapping \else \ifblankoflexibel - \!!plus\skipgluefactor\openlineheight - \!!minus\skipgluefactor\openlineheight - \fi \fi - \relax} - -\def\regelafstand{\normalskipamount} - -\def\deblankoskip{\skipfactor\regelafstand} - -\def\laatsteblankoskip% - {\blankoskip} - -\def\geenblanko% - {\removelastskip} - -\def\dosingleblanko#1% ook nog \v!halveregel+fuzzysnap - {\doifelse{#1}{\v!regel} - {\blankoskipamount=\openlineheight} - {\ifgridsnapping - \assigndimension{#1}{\blankoskipamount}% - {.25\openlineheight}{.5\openlineheight}{\openlineheight}% - \else - \assigndimension{#1}{\blankoskipamount}% - {\smallskipamount}{\medskipamount}{\bigskipamount}% - \fi}% - \global\advance\blankoskip by \blankoskipamount} - -\newif\iffuzzyvskip - -% old -% -% \def\doblanko#1% -% {\processallactionsinset -% [#1] -% [ \v!groot=>\dosingleblanko\v!groot, % happens often -% \v!buiten=>\ifvmode\ifinner\blankobuitentrue\fi\fi, -% \v!reset=>\global\blankoresettrue, -% \v!flexibel=>\global\lokaalblankoflexibeltrue, -% \v!vast=>\global\lokaalblankovasttrue, -% \v!back=>\geenblanko, -% \v!wit=>\global\advance\blankoskip by \parskip, -% \v!formule=>\global\advance\blankoskip by \medskipamount, -% \v!geenwit=>\global\blankogeenwittrue, -% -\v!wit=>\global\advance\blankoskip by -\parskip, -% \v!blokkeer=>\global\blankoblokkeertrue, -% \v!forceer=>\global\blankoforceertrue, -% \v!regel=>\global\advance\blankoskip by \lineheight, -% \v!halveregel=>\global\fuzzyvskiptrue\global\advance\blankoskip by .5\lineheight, -% \s!unknown=>{\herhaalmetcommando[#1]\dosingleblanko}]} -% -% new, see below - -\def\doblanko#1% - {\processallactionsinset - [#1] - [ \v!groot=>\dosingleblanko\v!groot, % happens often - \v!buiten=>\ifvmode\ifinner\blankobuitentrue\fi\fi, - \v!reset=>\global\blankoresettrue, - \v!flexibel=>\global\lokaalblankoflexibeltrue, - \v!vast=>\global\lokaalblankovasttrue, - \v!back=>\geenblanko, - \v!wit=>\global\advance\blankoskip by \parskip, - \v!formule=>\global\advance\blankoskip by \medskipamount, - \v!geenwit=>\global\blankogeenwittrue, - -\v!wit=>\global\advance\blankoskip by -\parskip, - \v!blokkeer=>\global\blankoblokkeertrue, - \v!forceer=>\global\blankoforceertrue, - \v!regel=>\global\advance\blankoskip by \lineheight, - \v!halveregel=>\global\fuzzyvskiptrue\global\advance\blankoskip by .5\lineheight, - \s!unknown=>\doindirectblanko{#1}]} - -\def\oldprevdepth{\prevdepth}% -\def\newprevdepth{-1001pt} - -\def\mindimen{0.00002pt} % beter 1sp - -\newif\iflokaalblankovast -\newif\iflokaalblankoflexibel - -\def\docomplexdoblanko[#1]% pas op \relax's zijn nodig ivm volgende \if - {\global\blankoresetfalse - \global\blankoblokkeerfalse - \global\blankogeenwitfalse - \global\lokaalblankoflexibelfalse - \global\lokaalblankovastfalse - \global\blankoskip=\!!zeropoint - \global\blankoforceerfalse - \blankobuitenfalse - \processcommalist[#1]\doblanko -\ifdim\blankoskip=\!!zeropoint\relax - \iflokaalblankoflexibel \dosingleblanko\currentblanko \fi - \iflokaalblankovast \dosingleblanko\currentblanko \fi -\fi - \ifblankobuiten - \else - \par - \ifvmode %in pos fonts gaat dit mis - \ifblankoforceer%\ifdim\prevdepth>\!!zeropoint\else - % -1000pt signals top of page or column (\ejectcolumn) - \vbox{\strut}\kern-\lineheight - \fi%\fi - \ifblankoblokkeer - \global\doeblankofalse - \edef\oldprevdepth{\the\prevdepth}% - \prevdepth=\newprevdepth - \else - \global\doeblankotrue - \fi - \ifblankoreset - \global\doeblankotrue - \ifdim\prevdepth=\newprevdepth - \prevdepth=\oldprevdepth - \fi - \fi - \ifdoeblanko - \ifdim\lastskip<\blankoskip\relax - % else when \blanko[2*groot] + \blanko[3*groot] with parskip - % equaling 1*groot, gives a groot=\parskip so adding a small - % value makes it distinguishable; can also be done at parskip - % setting time (better) - \global\advance\blankoskip by \mindimen\relax % = skip - % test this on 2* + 3* and parskip groot - \ifblankogeenwit - \global\advance\blankoskip by -\parskip - \else - \ifdim\lastskip=\parskip - \else % force this due to previous comment - \ifdim\parskip>\!!zeropoint\relax - \ifdim\blankoskip<\parskip\relax - \global\blankoskip=\!!zeropoint - \else - \global\advance\blankoskip by -\parskip - \fi - \fi - \fi - \fi -\ifblankoflexibel \else - \blankoskip=1\blankoskip -\fi -\iflokaalblankovast - \blankoskip=1\blankoskip -\fi -\iflokaalblankoflexibel - \blankoskip=1\blankoskip - \!!plus\skipgluefactor\blankoskip - \!!minus\skipgluefactor\blankoskip -\fi - \ifdim\prevdepth=\newprevdepth - \else - \iffuzzyvskip - \removelastfuzzyvskip - \fuzzyvskip\blankoskip\relax - \else - \removelastskip - \vskip\blankoskip\relax - \fi - \fi - \else - \iffuzzyvskip - \removelastfuzzyvskip - \fuzzyvskip\blankoskip\relax - \fi - \fi - \fi - \fi - \fi - \global\fuzzyvskipfalse - \presetindentation} - -\def\complexdodoblanko[#1]% - {\flushfootnotes - \ifopelkaar - \ifinpagebody - \expanded{\docomplexdoblanko[#1]}% \expanded=nieuw - \else - \par - \fi - \else - \expanded{\docomplexdoblanko[#1]}% \expanded = nieuw - \fi} - -% old -% -% \def\doindirectblanko#1% -% {\ifundefined{\??bo#1}% <-etex \expandafter\ifx\csname\??bo#1\endcsname\relax -% \expanded{\complexdodoblanko[#1]}% -% \else -% \expandafter\complexdoblanko\expandafter[\csname\??bo#1\endcsname]% -% \fi} -% -% \def\complexdoblanko[#1]% enables [force,8\bodyfontsize] -% {\doifinstringelse{,}{#1} -% {\expanded{\complexdodoblanko[#1]}} -% {\doifnumberelse{#1} -% {\expanded{\complexdodoblanko[#1]}} -% {\doindirectblanko{#1}}}} -% -% new, more robust -% -% \def\doindirectblanko#1% -% {\edef\ascii{#1}\convertcommand\ascii\to\ascii -% \ifundefined{\??bo\ascii}% <-etex \expandafter\ifx\csname\??bo#1\endcsname\rel -% \herhaalmetcommando[#1]\dosingleblanko -% \else -% \expandafter\complexdoblanko\expandafter[\csname\??bo\ascii\endcsname]% -% \fi} -% -% even more robust - -\def\doindirectblanko#1% - {\edef\ascii{#1}\convertcommand\ascii\to\ascii - \ifundefined{\??bo\ascii}% <-etex \expandafter\ifx\csname\??bo#1\endcsname - \expanded{\herhaalmetcommando[#1]\noexpand\dosingleblanko}% - \else - \expandafter\complexdoblanko\expandafter[\csname\??bo\ascii\endcsname]% - \fi} - -\def\complexdoblanko[#1]% enables [force,8\bodyfontsize] - {\expanded{\complexdodoblanko[#1]}} - -\def\currentblanko% - {\v!groot} - -%D For a long time we had: -%D -%D \starttypen -%D \def\simpledoblanko% -%D {\doifelse{\currentwitruimte}{\v!geen} -%D {\blanko[\currentblanko]} -%D {\blanko[\currentwitruimte]}} -%D \stoptypen -%D -%D But Berend de Boer wanted more control, so now we have: - -\def\simpledoblanko% - {\doifelse{\currentwitruimte}{\v!geen} - {\blanko[\currentblanko]} - {\blanko[\s!default]}} - -%D Another useful definition would be: -%D -%D \starttypen -%D \definieerblanko -%D [\s!default] -%D [\v!groot] -%D \stoptypen - -\def\blanko% % the \relax is definitely needed due to the many \if's - {\relax\complexorsimple\doblanko} - -%\def\dostelblankoin#1% -% {\bgroup % rommelig -% \skip0=#1\relax -% \xdef\globalblanko{\the\skip0}% -% \egroup -% \bigskipamount=\globalblanko -% \smallskipamount=\globalblanko -% \medskipamount=\globalblanko -% \divide\medskipamount by 2\relax -% \divide\smallskipamount by 4\relax}% - -\def\dostelblankoin#1% - {\bigskipamount=#1\relax - \ifblankoflexibel \else - \bigskipamount=1\bigskipamount - \fi - \smallskipamount=\bigskipamount - \medskipamount=\bigskipamount - \divide\medskipamount by 2 - \divide\smallskipamount by 4 }% - -\def\complexstelblankoin[#1]% - {\ifgridsnapping - \blankoflexibelfalse - \else - \ExpandFirstAfter\processallactionsinset - [#1] - [ \v!flexibel=>\blankoflexibeltrue, - \v!vast=>\blankoflexibelfalse]% - \fi - \ExpandFirstAfter\processallactionsinset - [#1] - [ \v!flexibel=>\dostelblankoin{\deblankoskip}, - \v!vast=>\dostelblankoin{\deblankoskip}, - \v!regel=>\edef\deblankoskip{\regelafstand}% - \dostelblankoin{\deblankoskip}% - \let\deblanko=\v!groot, - \v!halveregel=>\scratchskip=.5\regelafstand - \edef\deblankoskip{\the\scratchskip}% - \dostelblankoin{\deblankoskip}% - \let\deblanko=\v!middel, - \v!groot=>\ifgridsnapping - \edef\deblankoskip{\regelafstand}% - \dostelblankoin{\deblankoskip}% - \fi - \def\currentblanko{\v!groot}% - \let\deblanko=\v!groot, - \v!middel=>\def\currentblanko{\v!middel}% - \let\deblanko=\v!middel, - \v!klein=>\def\currentblanko{\v!klein}% - \let\deblanko=\v!klein, - \v!normaal=>\dostelblankoin{\deblankoskip}% - \let\deblanko=\v!groot, - \v!standaard=>\edef\deblankoskip{\skipfactor\regelafstand}% - \dostelblankoin{\deblankoskip}% - \let\deblanko=\v!groot, - \s!default=>\dostelblankoin{\deblankoskip}% - \let\deblanko=\v!groot, - \s!unknown=>\let\deblankoskip=\commalistelement - \dostelblankoin{\deblankoskip}% - \let\deblanko=\v!groot]% - \stelwitruimtein} - -% \definecomplexorsimpleempty\stelblankoin -% -% speed gain: 60 sec -> 30 sec - -\definecomplexorsimple\stelblankoin - -\def\simplestelblankoin% == snelle \stelblankoin[\s!default] - {\ifgridsnapping - \blankoflexibelfalse - \fi - \dostelblankoin{\deblankoskip}% - \let\deblanko\v!groot - \stelwitruimtein} - -\def\dodefinieerblanko[#1][#2]% - {\def\docommando##1{\setvalue{\??bo##1}{#2}}% - \processcommalist[#1]\docommando} - -\def\definieerblanko% - {\dodoubleargument\dodefinieerblanko} - -\def\savecurrentblanko% - {\edef\restorecurrentblanko% - {\bigskipamount=\the\bigskipamount - \medskipamount=\the\medskipamount - \smallskipamount=\the\smallskipamount - \noexpand\def\noexpand\currentblanko{\currentblanko}% - \ifblankoflexibel - \noexpand\blankoflexibeltrue - \else - \noexpand\blankoflexibelfalse - \fi}} - -\def\inhibitblank% the fast, local way - {\endgraf\ifvmode\prevdepth\newprevdepth\fi} - -%D Now. - -\definieerblanko - [\s!default] - [\v!wit] - -\let\currentvoorwit=\empty - -\newdimen\voorwit - -\newif\ifindentfirstparagraph % \indentfirstparagraphtrue - -\def\presetindentation% - {\doifoutervmode - {\ifindentfirstparagraph\else\noindentation\fi}} - -%\def\dostelinspringenin[#1]% -% {\processallactionsinset -% [#1] -% [ \v!eerste=>\indentfirstparagraphtrue, -% \v!volgende=>\indentfirstparagraphfalse, -% \s!default=>\dodostelinspringenin, -% \s!unknown=>\edef\currentvoorwit{\commalistelement}% -% \dodostelinspringenin]} -% -%\def\dodostelinspringenin% -% {\assigndimension{\currentvoorwit}{\voorwit}{1em}{1.5em}{2em}% -% \parindent=\voorwit\relax} -% -%\def\stelinspringenin% -% {\dosingleempty\dostelinspringenin} - -\definecomplexorsimple\stelinspringenin - -\def\complexstelinspringenin[#1]% - {\processallactionsinset - [#1] - [ \v!eerste=>\indentfirstparagraphtrue, - \v!volgende=>\indentfirstparagraphfalse, - \s!default=>\simplestelinspringenin, - \s!unknown=>\edef\currentvoorwit{\commalistelement}% - \simplestelinspringenin]} - -\def\simplestelinspringenin% - {\assigndimension{\currentvoorwit}{\voorwit}{1em}{1.5em}{2em}% - \parindent=\voorwit\relax} - -\def\doinspringen[#1]% - {\processallactionsinset - [#1] - [ \v!nee=>\parindent=\voorwit\relax\noindent, - \v!niet=>\parindent=\voorwit\relax\noindent, - \v!ja=>\parindent=\voorwit\relax, % geen \indent ! - \v!eerste=>\indentfirstparagraphtrue, - \v!volgende=>\indentfirstparagraphfalse, - \v!altijd=>\parindent=\voorwit\relax, % geen \indent ! - \v!nooit=>\parindent=\!!zeropoint\relax]} - -\def\inspringen% - {\dosingleargument\doinspringen} - -\def\nietinspringen{\inspringen[\v!nee,\v!volgende]} -\def\welinspringen {\inspringen[\v!ja,\v!eerste]} - % Het gebruik van \skip's spaart \dimen's. \newskip\xpositie @@ -4396,326 +3040,6 @@ \dorecurse{4}{\tooninstellingen\pagina} \egroup} -\definetwopasslist{\s!paragraph} - -\newcounter\nofraggedparagraphs - -\def\doparagraphreference% looks very much like domarginreference - {\doglobal\increment\nofraggedparagraphs\relax - \edef\writeparref% - {\writeutilitycommand% - {\twopassentry% - {\s!paragraph}% - {\nofraggedparagraphs}% - {\noexpand\realfolio}}}% - \writeparref} - -\def\setraggedparagraphmode#1#2% - {\ifinner - \ifdubbelzijdig - \gettwopassdata{\s!paragraph}% - \iftwopassdatafound - \ifodd\twopassdata#1\else#2\fi - \else - \ifodd\realfolio#1\else#2\fi - \fi - \doparagraphreference - \else - #2\relax - \fi - \else - #2\relax - \fi} - -% \let\doifrightpageelse\setraggedparagraphmode - -% De onderstaande macro's zijn opgenomen in Plain TeX. -% -% \def\raggedright% -% {\rightskip\z@ plus2em \spaceskip.3333em \xspaceskip.5em\relax} -% -% \def\ttraggedright% -% {\tttf\rightskip\z@ plus2em\relax} -% -% \newif\ifr@ggedbottom -% -% \def\raggedbottom% -% {\topskip 10\p@ plus60\p@ \r@ggedbottomtrue} -% -% \def\normalbottom% -% {\topskip 10\p@ \r@ggedbottomfalse} -% -% en worden hieronder wat aangepast. - -% the three boolean will become obsolete some day in favour -% of \bottomraggedness - -\chardef\bottomraggedness=0 % 0=ragged 1=normal/align 2=baseline - -\def\bottomalignlimit{3\lineheight} - -\newif\ifn@rmalbottom -\newif\ifr@ggedbottom -\newif\ifb@selinebottom - -\def\raggedbottom% - {\chardef\bottomraggedness=0 - \n@rmalbottomfalse - \r@ggedbottomtrue - \b@selinebottomfalse - \settopskip} - -\def\alignbottom% - {\chardef\bottomraggedness=1 - \n@rmalbottomtrue - \r@ggedbottomfalse - \b@selinebottomfalse - \settopskip} - -\def\baselinebottom% - {\chardef\bottomraggedness=2 - \n@rmalbottomfalse - \r@ggedbottomfalse - \b@selinebottomtrue - \settopskip} - -\let\normalbottom=\alignbottom % downward compatible - -% so, the new one will be -% -% \chardef\bottomraggedness=0 % 0=ragged 1=normal/align 2=baseline -% -% \def\bottomalignlimit{3\lineheight} % will be settable -% -% \def\raggedbottom {\chardef\bottomraggedness=0 \settopskip} -% \def\alignbottom {\chardef\bottomraggedness=1 \settopskip} -% \def\baselinebottom{\chardef\bottomraggedness=2 \settopskip} -% -% \let\normalbottom =\alignbottom - -% \hyphenpenalty = ( 2.5 * \hsize ) / \raggedness -% \tolerance >= 1500 % was 200 -% \raggedness = 2 .. 6\korpsgrootte - -\chardef\raggedstatus=0 % normal left center right - -\def\leftraggedness {2\bodyfontsize} -\def\rightraggedness {2\bodyfontsize} -\def\middleraggedness {6\bodyfontsize} - -%D More hyphenation control, will be combined with align -%D setup. - -\def\nohyphens% - {\ifx\dohyphens\relax - \edef\dohyphens% - {\hyphenpenalty\the\hyphenpenalty - \exhyphenpenalty\the\exhyphenpenalty\relax}% - \fi - \hyphenpenalty\@M - \exhyphenpenalty\@M} - -\let\dohyphens\relax - -%D To prevent unwanted side effects, we also have to check -%D for hyphens here: - -\def\setraggedness#1% - {\ifnum\tolerance<1500\relax % small values have - \tolerance=1500\relax % unwanted side effects - \fi - \spaceskip=2.5\hsize % we misuse these registers - \xspaceskip=#1\relax % for temporary storage; - \divide\spaceskip by \xspaceskip % they are changed anyway - \ifx\dohyphens\relax - \hyphenpenalty=\spaceskip % \else no hyphens is active - \fi} - -\let\updateraggedskips\relax - -\def\setraggedskips#1#2#3#4#5#6#7% never change this name - {\def\updateraggedskips% - {\dosetraggedskips{#1}{#2}{#3}{#4}{#5}{#6}{#7}}% - \updateraggedskips} - -\def\dosetraggedskips#1#2#3#4#5#6#7% - {\chardef\raggedstatus=#1\relax - \leftskip=1\leftskip\!!plus#2\relax % zie: Tex By Topic 8.1.3 - \rightskip=1\rightskip\!!plus#3\relax % zie: Tex By Topic 8.1.3 - \spaceskip#4\relax - \xspaceskip#5\relax - \parfillskip\!!zeropoint\!!plus#6\relax - \parindent#7\relax} - -\def\notragged% - {\setraggedskips{0}{0em}{0em}{0em}{0em}{1fil}{\parindent}} - -\def\raggedleft% - {\setraggedness\leftraggedness - \setraggedskips{1}{\leftraggedness}{0em}{.3333em}{.5em}{0em}{0em}} - -\def\raggedcenter% - {\setraggedness\middleraggedness - \setraggedskips{2}{\middleraggedness}{\middleraggedness}{.3333em}{.5em}{0em}{0em}} - -%D We used to have: -%D -%D \starttypen -%D \def\raggedright% -%D {\setraggedness\rightraggedness -%D \setraggedskips{3}{0em}{\rightraggedness}{.3333em}{.5em}{0em}{\parindent}} -%D \stoptypen -%D -%D However, the next alternative, suggested by Taco, is better. - -\def\raggedright% - {\setraggedness\rightraggedness - \setraggedskips{3}{0em}{\rightraggedness}{.3333em}{.5em}{1fil}{\parindent}} - -\def\veryraggedleft% - {\setraggedskips{1}{1fil}{0em}{.3333em}{.5em}{0em}{0em}} - -%D When we want the last line to have a natural width: -%D -%D \starttypen -%D \def\veryraggedleft% -%D {\setraggedskips{1}{1fil}{0em}{.3333em}{.5em}{0em}{-1fil}} -%D \stoptypen -%D -%D but this one is not accepted by the macros. - -\def\veryraggedcenter% - {\setraggedskips{2}{1fil}{1fil}{.3333em}{.5em}{0em}{0em}} - -\def\veryraggedright% - {\setraggedskips{3}{0em}{1fil}{.3333em}{.5em}{0em}{\parindent}} - -\def\ttraggedright% - {\tttf - \setraggedskips{3}{0em}{\rightraggedness}{0em}{0em}{0em}{\parindent}} % {\voorwit}} - -%D A bonus one: - -\def\raggedwidecenter% - {\setraggedness\middleraggedness - \setraggedskips{2}{.5fil}{.5fil}{.3333em}{.5em}{0em}{0em}} - -\newif\if@@asragged \@@asraggedtrue % old method - -\def\dodosteluitlijnenin[#1]% - {\doifinsetelse{\v!ruim} {#1}{\!!doneatrue}{\!!doneafalse}% - \doifinsetelse{\v!breed}{#1}{\!!donebtrue}{\!!donebfalse}% - \ExpandFirstAfter\processallactionsinset - [#1] - [ \v!regel=>\baselinebottom, - \v!onder=>\raggedbottom, - \v!hoogte=>\normalbottom, - \v!breedte=>\notragged, - \v!normaal=>\notragged, - \v!ja=>\notragged, - \v!nee=>\raggedright, -\if@@asragged\v!binnen\else\v!buiten\fi - =>\setraggedparagraphmode\raggedleft\raggedright, -\if@@asragged\v!buiten\else\v!binnen\fi - =>\setraggedparagraphmode\raggedright\raggedleft, -\if@@asragged\v!links\else\v!rechts\fi - =>\if!!donea\veryraggedleft \else\raggedleft \fi, -\if@@asragged\v!rechts\else\v!links\fi - =>\if!!donea\veryraggedright \else\raggedright \fi, - \v!midden=>\if!!doneb\raggedwidecenter\else - \if!!donea\veryraggedcenter\else\raggedcenter\fi\fi, - \v!hangend=>\enableprotruding, - \v!niethangend=>\disableprotruding, - \v!afgebroken=>\dohyphens, -\v!nietafgebroken=>\nohyphens, - \v!nieuw=>\@@asraggedfalse, % so new will give you consistency - \v!reset=>\notragged\normalbottom]} - -\def\dosteluitlijnenin[#1]% - {\expanded{\dodosteluitlijnenin[#1]}} - -\def\steluitlijnenin% - {\dosingleargument\dosteluitlijnenin} - -\def\startuitlijnen% - {\bgroup - \steluitlijnenin} - -\def\stopuitlijnen - {\par - \egroup} - -%\def\regellinks#1% -% {\noindent\leftline{{\strut#1}}} -% -%\def\regelrechts#1% -% {\noindent\rightline{{#1\strut}}} -% -%\def\regelmidden#1% -% {\noindent\centerline{{\strut#1}}} - -\def\doalignline#1#2% - {\dowithnextbox - {\noindent\hbox to \hsize - {\strut#1\unhbox\nextbox#2}} - \hbox} - -% also supporting \\ -% -% \def\doalignline#1#2% -% {\dowithnextbox -% {\noindent\hbox to \hsize -% {\strut#1\unhbox\nextbox#2}} -% \hbox\bgroup -% \def\\{\egroup\par\doalignline#1#2\bgroup}\let\next=} - -\def\doalignline#1#2% - {\bgroup - \def\\{\egroup\par\doalignline#1#2\bgroup}% - \dowithnextbox - {\noindent\hbox to \hsize - {\strut#1\unhbox\nextbox#2}\egroup} - \hbox} - -% directe commando's - -\def\regellinks {\doalignline \relax \hss } -\def\regelrechts{\doalignline \hss \relax} -\def\regelmidden{\doalignline \hss \hss } - -\def\regelbegrensd#1{\limitatetext{#1}{\hsize}{\unknown}} - -% indirecte commando's - -\setvalue{regel\v!links }{\doalignline \relax \hss } -\setvalue{regel\v!rechts}{\doalignline \hss \relax} -\setvalue{regel\v!midden}{\doalignline \hss \hss } - -\def\doregelplaats#1% - {\getvalue{regel#1}} - -\def\dosteltolerantiein[#1]% - {\doifinsetelse{\v!vertikaal}{#1}% - {\ExpandFirstAfter\processallactionsinset - [#1] - [\v!zeerstreng=>\def\bottomtolerance{}, - \v!streng=>\def\bottomtolerance{.050}, - \v!soepel=>\def\bottomtolerance{.075}, - \v!zeersoepel=>\def\bottomtolerance{.100}]}% - {\ExpandFirstAfter\processallactionsinset - [#1] - [ \v!rek=>\emergencystretch=\bodyfontsize, - \v!zeerstreng=>\tolerance=200, - \v!streng=>\tolerance=1500, - \v!soepel=>\tolerance=3000, - \v!zeersoepel=>\tolerance=4500]}} - -\def\steltolerantiein% - {\dosingleargument\dosteltolerantiein} - -\def\woordrechts% - {\groupedcommand{\hfill\hbox}{\parfillskip\!!zeropoint}} - \newif\iflowinmargin \def\stelinmargein% @@ -5083,7 +3407,6 @@ %D \macros %D {inleftside,inleftmargin,inrightmargin,inrightside} -%D {} %D %D The fast and clean way of putting things in the margin is %D using \type{\rlap} or \type{\llap}. Unfortunately these @@ -6520,140 +4843,6 @@ \def\stelopmaakin% {\dodoubleargument\dostelopmaakin} -\newskip\linkssmaller -\newskip\rechtssmaller -\newskip\middensmaller - -\def\dosinglesmaller#1% - {\processaction - [#1] - [ \v!links=>\global\advance\linkssmaller by \@@sllinks, - \v!midden=>\global\advance\middensmaller by \@@slmidden, - \v!rechts=>\global\advance\rechtssmaller by \@@slrechts, - \s!unknown=>\global\advance\middensmaller by \commalistelement]} - -\def\dosmaller[#1]% - {\processaction - [#1] - [ \v!links=>\global\advance\linkssmaller by \@@sllinks, - \v!midden=>\global\advance\middensmaller by \@@slmidden, - \v!rechts=>\global\advance\rechtssmaller by \@@slrechts, - \s!unknown=>{\herhaalmetcommando[#1]\dosinglesmaller}]} - -\def\complexstartsmaller[#1]% - {\par - \bgroup - \global\linkssmaller=\!!zeropoint - \global\rechtssmaller=\!!zeropoint - \global\middensmaller=\!!zeropoint - \processcommalistwithparameters[#1]\dosmaller - \advance\leftskip by \linkssmaller - \advance\rightskip by \rechtssmaller - \advance\leftskip by \middensmaller - \advance\rightskip by \middensmaller} - -\def\simplestartsmaller% - {\startsmaller[\v!midden]} - -\definecomplexorsimple\startsmaller - -\def\stopsmaller% - {\par % else skips forgotten - \egroup} - -\def\stelsmallerin% - {\dodoubleargument\getparameters[\??sl]} - -\def\dodefinieerhbox[#1][#2]% - {\setvalue{hbox#1}##1% - {\hbox to #2{\begstrut##1\endstrut\hss}}} - -\def\definieerhbox% - {\dodoubleargument\dodefinieerhbox} - -\def\lrcbox#1#2#% - {\vbox#2\bgroup - \let\\=\endgraf - \forgetall#1\let\next=} - -\def\lbox% - {\lrcbox\raggedleft} - -\def\rbox% - {\lrcbox\raggedright} - -\def\cbox% - {\lrcbox\raggedcenter} - -\def\dosetraggedvbox#1% - {\processaction - [#1] - [ \v!links=>\def\raggedbox{\lbox}, - \v!rechts=>\def\raggedbox{\rbox}, - \v!midden=>\def\raggedbox{\cbox}, - \v!nee=>\def\raggedbox{\vbox\bgroup\raggedright\let\next=}, - \s!default=>\def\raggedbox{\vbox}, - \s!unknown=>\def\raggedbox{\vbox}]} - -\def\dosetraggedhbox#1% - {\processaction - [#1] - [ \v!links=>\let\raggedbox\regellinks, - \v!rechts=>\let\raggedbox\regelrechts, - \v!midden=>\let\raggedbox\regelmidden, - \v!normaal=>\let\raggedbox\hbox, - \s!default=>\let\raggedbox\hbox, - \s!unknown=>\let\raggedbox\hbox]} - -% \def\dosetraggedcommand#1% ook ruim,rechts en zo -% {\processaction -% [#1] -% [ \v!links=>\def\raggedcommand{\raggedleft}, -% \v!rechts=>\def\raggedcommand{\raggedright}, -% \v!midden=>\def\raggedcommand{\raggedcenter}, -% \v!nee=>\def\raggedcommand{\raggedright}, -% \v!normaal=>\let\raggedcommand\relax, -% \s!default=>\def\raggedcommand{\raggedcenter}, -% \s!unknown=>\let\raggedcommand\relax]} - -\def\dosetraggedcommand#1% - {\expanded{\dodosetraggedcommand{#1}}} - -\def\dodosetraggedcommand#1% - {\doifinsetelse{\v!ruim} {#1}{\!!doneatrue}{\!!doneafalse}% - \doifinsetelse{\v!breed}{#1}{\!!donebtrue}{\!!donebfalse}% - \let\raggedcommand\relax - \let\raggedtopcommand\empty - \let\raggedbottomcommand\empty - \!!donectrue - \ExpandFirstAfter\processallactionsinset - [#1] - [ \v!links=>\if!!donea \def\raggedcommand{\veryraggedleft}% - \else \def\raggedcommand{\raggedleft}% - \fi - \!!donecfalse, % {\v!links,\v!midden} - \v!rechts=>\if!!donea \def\raggedcommand{\veryraggedright}% - \else \def\raggedcommand{\raggedright}% - \fi - \!!donecfalse, % {\v!rechts,\v!midden} - \v!midden=>\if!!donec - \if!!doneb \def\raggedcommand{\raggedwidecenter}% - \else\if!!donea \def\raggedcommand{\veryraggedcenter}% - \else \def\raggedcommand{\raggedcenter}% - \fi\fi - \!!donecfalse % {\v!midden,\v!midden} - \else - \let\raggedbottomcommand\vfilll % bonus, pretty strong - \let\raggedtopcommand \vfilll % used with \framed for - \fi, % instance in tables - \v!hoog=>\let\raggedbottomcommand\vfilll, % and since we lack a - \v!laag=>\let\raggedtopcommand \vfilll, % proper keyword, but - \v!laho=>\let\raggedbottomcommand\vfilll % we do support the - \let\raggedtopcommand \vfilll, % ugly laho (lohi) - \v!nee=>\def\raggedcommand{\raggedright}, - \v!ja=>\let\raggedcommand\relax, - \v!normaal=>\let\raggedcommand\relax]} - \def\stelplaatsblokkenin% {\dodoubleargument\getparameters[\??bk]} @@ -9339,14 +7528,6 @@ \c!links=, \c!rechts=\hss] -\stelinterliniein - [\c!hoogte=.72, - \c!diepte=.28, - \c!boven=1.0, - \c!onder=0.4, - \c!afstand=1pt, - \c!regel=2.8ex] - \stelkolommenin [\c!n=2, \c!nboven=1, @@ -9653,21 +7834,6 @@ \c!linkerbreedte=\getvalue{\??tk\v!tekst\v!rand\c!breedte}, \c!rechterbreedte=\getvalue{\??tk\v!tekst\v!rand\c!breedte}] -\stelblankoin - [\v!standaard, - \v!groot] - -\definieerblanko[\v!default] [\currentblanko] -\definieerblanko[\v!voor] [\v!default] -\definieerblanko[\v!tussen] [\v!default] -\definieerblanko[\v!na] [\v!voor] - -% doen? - -\def\@@blankovoor {\blanko[\v!voor]} % -\def\@@blankotussen{\blanko[\v!tussen]} % scheelt 5 tokens == >20 bytes -\def\@@blankona {\blanko[\v!na]} % - \stelblokkopjesin [\c!plaats=\v!onder, \c!voor=\blanko, @@ -9717,15 +7883,6 @@ [\c!conversie=\v!letter, % \v!romeins \c!regels=3] -\stelwitruimtein - [\v!geen] - -\inspringen - [\v!nooit] - -\stelinspringenin - [\v!geen] - \stelreferentielijstin [\c!letter=\v!normaal] @@ -9758,11 +7915,6 @@ [\c!wijze=\v!per\v!deel, \c!status=\v!stop] -\stelsmallerin - [\c!links=1.5em, - \c!rechts=1.5em, - \c!midden=1.5em] - \stelregelnummerenin [\c!conversie=\v!cijfers, \c!start=1, @@ -9811,19 +7963,6 @@ \stelnaastplaatsenin [\c!status=\v!stop] -\steltolerantiein - [\v!horizontaal,\v!zeerstreng] - -\steltolerantiein - [\v!vertikaal,\v!streng] - -\steluitlijnenin - [\v!onder, - \v!breedte] - -\stelspatieringin - [\v!opelkaar] - \definieerplaatsblok [\v!figuur] [\v!figuren] diff --git a/tex/context/base/math-ams.tex b/tex/context/base/math-ams.tex new file mode 100644 index 000000000..4cfe92440 --- /dev/null +++ b/tex/context/base/math-ams.tex @@ -0,0 +1,317 @@ +%D \module +%D [ file=math-ams, +%D version=2001.04.12, +%D title=\CONTEXT\ Math Macros, +%D subtitle=AMS Specials, +%D author={Hans Hagen \& Taco Hoekwater}, +%D date=\currentdate, +%D copyright=\PRAGMA] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\unprotect + +\definefamilysynonym [ams] [blackboard] [mb] + +\startmathcollection[ams] + +\definemathsymbol [varGamma] [ord] [letters] ["00] +\definemathsymbol [varDelta] [ord] [letters] ["01] +\definemathsymbol [varTheta] [ord] [letters] ["02] +\definemathsymbol [varLambda] [ord] [letters] ["03] +\definemathsymbol [varXi] [ord] [letters] ["04] +\definemathsymbol [varPi] [ord] [letters] ["05] +\definemathsymbol [varSigma] [ord] [letters] ["06] +\definemathsymbol [varUpsilon] [ord] [letters] ["07] +\definemathsymbol [varPhi] [ord] [letters] ["08] +\definemathsymbol [varPsi] [ord] [letters] ["09] +\definemathsymbol [varOmega] [ord] [letters] ["0A] + +\stopmathcollection + +\startmathcollection[default] + +\definemathsymbol [internalAnd] [rel] [operators] ["26] + +\stopmathcollection + +\startmathcollection[ams] + +\definemathsymbol [boxdot] [bin] [ma] ["00] +\definemathsymbol [boxplus] [bin] [ma] ["01] +\definemathsymbol [boxtimes] [bin] [ma] ["02] +\definemathsymbol [square] [ord] [ma] ["03] +\definemathsymbol [Box] [ord] [ma] ["03] % square +\definemathsymbol [blacksquare] [ord] [ma] ["04] +\definemathsymbol [centerdot] [bin] [ma] ["05] +\definemathsymbol [Diamond] [ord] [ma] ["06] +\definemathsymbol [lozenge] [ord] [ma] ["06] % Diamond +\definemathsymbol [blacklozenge] [ord] [ma] ["07] +\definemathsymbol [circlearrowright] [rel] [ma] ["08] +\definemathsymbol [circlearrowleft] [rel] [ma] ["09] +\definemathsymbol [rightleftharpoons] [rel] [ma] ["0A] +\definemathsymbol [leftrightharpoons] [rel] [ma] ["0B] +\definemathsymbol [boxminus] [bin] [ma] ["0C] +\definemathsymbol [Vdash] [rel] [ma] ["0D] +\definemathsymbol [Vvdash] [rel] [ma] ["0E] +\definemathsymbol [vDash] [rel] [ma] ["0F] +\definemathsymbol [twoheadrightarrow] [rel] [ma] ["10] +\definemathsymbol [twoheadleftarrow] [rel] [ma] ["11] +\definemathsymbol [leftleftarrows] [rel] [ma] ["12] +\definemathsymbol [rightrightarrows] [rel] [ma] ["13] +\definemathsymbol [upuparrows] [rel] [ma] ["14] +\definemathsymbol [downdownarrows] [rel] [ma] ["15] +\definemathsymbol [upharpoonright] [rel] [ma] ["16] +\definemathsymbol [restriction] [rel] [ma] ["16] +\definemathsymbol [downharpoonright] [rel] [ma] ["17] +\definemathsymbol [upharpoonleft] [rel] [ma] ["18] +\definemathsymbol [downharpoonleft] [rel] [ma] ["19] +\definemathsymbol [rightarrowtail] [rel] [ma] ["1A] +\definemathsymbol [leftarrowtail] [rel] [ma] ["1B] +\definemathsymbol [leftrightarrows] [rel] [ma] ["1C] +\definemathsymbol [rightleftarrows] [rel] [ma] ["1D] +\definemathsymbol [Lsh] [rel] [ma] ["1E] +\definemathsymbol [Rsh] [rel] [ma] ["1F] +\definemathsymbol [rightsquigarrow] [rel] [ma] ["20] +\definemathsymbol [leadsto] [rel] [ma] ["20] % rightsquigarrow +\definemathsymbol [leftrightsquigarrow] [rel] [ma] ["21] +\definemathsymbol [looparrowleft] [rel] [ma] ["22] +\definemathsymbol [looparrowright] [rel] [ma] ["23] +\definemathsymbol [circeq] [rel] [ma] ["24] +\definemathsymbol [succsim] [rel] [ma] ["25] +\definemathsymbol [gtrsim] [rel] [ma] ["26] +\definemathsymbol [gtrapprox] [rel] [ma] ["27] +\definemathsymbol [multimap] [rel] [ma] ["28] +\definemathsymbol [therefore] [rel] [ma] ["29] +\definemathsymbol [because] [rel] [ma] ["2A] +\definemathsymbol [doteqdot] [rel] [ma] ["2B] +\definemathsymbol [Doteq] [rel] [ma] ["2B] % doteqdot +\definemathsymbol [triangleq] [rel] [ma] ["2C] +\definemathsymbol [precsim] [rel] [ma] ["2D] +\definemathsymbol [lesssim] [rel] [ma] ["2E] +\definemathsymbol [lessapprox] [rel] [ma] ["2F] +\definemathsymbol [eqslantless] [rel] [ma] ["30] +\definemathsymbol [eqslantgtr] [rel] [ma] ["31] +\definemathsymbol [curlyeqprec] [rel] [ma] ["32] +\definemathsymbol [curlyeqsucc] [rel] [ma] ["33] +\definemathsymbol [preccurlyeq] [rel] [ma] ["34] +\definemathsymbol [leqq] [rel] [ma] ["35] +\definemathsymbol [leqslant] [rel] [ma] ["36] +\definemathsymbol [lessgtr] [rel] [ma] ["37] +\definemathsymbol [backprime] [ord] [ma] ["38] +\definemathsymbol [dabar@] [ord] [ma] ["39] % @ +\definemathsymbol [risingdotseq] [rel] [ma] ["3A] +\definemathsymbol [fallingdotseq] [rel] [ma] ["3B] +\definemathsymbol [succcurlyeq] [rel] [ma] ["3C] +\definemathsymbol [geqq] [rel] [ma] ["3D] +\definemathsymbol [geqslant] [rel] [ma] ["3E] +\definemathsymbol [gtrless] [rel] [ma] ["3F] +\definemathsymbol [sqsubset] [rel] [ma] ["40] +\definemathsymbol [sqsupset] [rel] [ma] ["41] +\definemathsymbol [vartriangleright] [rel] [ma] ["42] +\definemathsymbol [rhd] [bin] [ma] ["42] +\definemathsymbol [lhd] [bin] [ma] ["43] +\definemathsymbol [vartriangleleft] [rel] [ma] ["43] +\definemathsymbol [trianglerighteq] [rel] [ma] ["44] +\definemathsymbol [unrhd] [bin] [ma] ["44] % trianglerighteq +\definemathsymbol [trianglelefteq] [rel] [ma] ["45] +\definemathsymbol [unlhd] [bin] [ma] ["45] % trianglelefteq +\definemathsymbol [bigstar] [ord] [ma] ["46] +\definemathsymbol [between] [rel] [ma] ["47] +\definemathsymbol [blacktriangledown] [ord] [ma] ["48] +\definemathsymbol [blacktriangleright] [rel] [ma] ["49] +\definemathsymbol [blacktriangleleft] [rel] [ma] ["4A] +\definemathsymbol [vartriangle] [rel] [ma] ["4D] +\definemathsymbol [blacktriangle] [ord] [ma] ["4E] +\definemathsymbol [triangledown] [ord] [ma] ["4F] +\definemathsymbol [eqcirc] [rel] [ma] ["50] +\definemathsymbol [lesseqgtr] [rel] [ma] ["51] +\definemathsymbol [gtreqless] [rel] [ma] ["52] +\definemathsymbol [lesseqqgtr] [rel] [ma] ["53] +\definemathsymbol [gtreqqless] [rel] [ma] ["54] +\definemathsymbol [Rrightarrow] [rel] [ma] ["56] +\definemathsymbol [Lleftarrow] [rel] [ma] ["57] +\definemathsymbol [veebar] [bin] [ma] ["59] +\definemathsymbol [barwedge] [bin] [ma] ["5A] +\definemathsymbol [doublebarwedge] [bin] [ma] ["5B] +\definemathsymbol [angle] [ord] [ma] ["5C] +\definemathsymbol [measuredangle] [ord] [ma] ["5D] +\definemathsymbol [sphericalangle] [ord] [ma] ["5E] +\definemathsymbol [varpropto] [rel] [ma] ["5F] +\definemathsymbol [smallsmile] [rel] [ma] ["60] +\definemathsymbol [smallfrown] [rel] [ma] ["61] +\definemathsymbol [Subset] [rel] [ma] ["62] +\definemathsymbol [Supset] [rel] [ma] ["63] +\definemathsymbol [Cup] [bin] [ma] ["64] +\definemathsymbol [doublecup] [bin] [ma] ["64] % Cup +\definemathsymbol [Cap] [bin] [ma] ["65] +\definemathsymbol [doublecap] [bin] [ma] ["65] +\definemathsymbol [curlywedge] [bin] [ma] ["66] +\definemathsymbol [curlyvee] [bin] [ma] ["67] +\definemathsymbol [leftthreetimes] [bin] [ma] ["68] +\definemathsymbol [rightthreetimes] [bin] [ma] ["69] +\definemathsymbol [subseteqq] [rel] [ma] ["6A] +\definemathsymbol [supseteqq] [rel] [ma] ["6B] +\definemathsymbol [bumpeq] [rel] [ma] ["6C] +\definemathsymbol [Bumpeq] [rel] [ma] ["6D] +\definemathsymbol [llless] [rel] [ma] ["6E] +\definemathsymbol [lll] [rel] [ma] ["6E] % llless +\definemathsymbol [gggtr] [rel] [ma] ["6F] +\definemathsymbol [ggg] [rel] [ma] ["6F] % gggtr +\definemathsymbol [ulcorner] [open] [ma] ["70] [ma] ["70] +\definemathsymbol [urcorner] [close] [ma] ["71] [ma] ["71] +\definemathsymbol [circledS] [ord] [ma] ["73] +\definemathsymbol [pitchfork] [rel] [ma] ["74] +\definemathsymbol [dotplus] [bin] [ma] ["75] +\definemathsymbol [backsim] [rel] [ma] ["76] +\definemathsymbol [backsimeq] [rel] [ma] ["77] +\definemathsymbol [llcorner] [open] [ma] ["78] [ma] ["78] +\definemathsymbol [lrcorner] [close] [ma] ["79] [ma] ["79] +\definemathsymbol [complement] [ord] [ma] ["7B] +\definemathsymbol [intercal] [bin] [ma] ["7C] +\definemathsymbol [circledcirc] [bin] [ma] ["7D] +\definemathsymbol [circledast] [bin] [ma] ["7E] +\definemathsymbol [circleddash] [bin] [ma] ["7F] + +\stopmathcollection + +\startmathcollection[ams] + +\definemathsymbol [lvertneqq] [rel] [mb] ["00] +\definemathsymbol [gvertneqq] [rel] [mb] ["01] +\definemathsymbol [nleq] [rel] [mb] ["02] +\definemathsymbol [ngeq] [rel] [mb] ["03] +\definemathsymbol [nless] [rel] [mb] ["04] +\definemathsymbol [ngtr] [rel] [mb] ["05] +\definemathsymbol [nprec] [rel] [mb] ["06] +\definemathsymbol [nsucc] [rel] [mb] ["07] +\definemathsymbol [lneqq] [rel] [mb] ["08] +\definemathsymbol [gneqq] [rel] [mb] ["09] +\definemathsymbol [nleqslant] [rel] [mb] ["0A] +\definemathsymbol [ngeqslant] [rel] [mb] ["0B] +\definemathsymbol [lneq] [rel] [mb] ["0C] +\definemathsymbol [gneq] [rel] [mb] ["0D] +\definemathsymbol [npreceq] [rel] [mb] ["0E] +\definemathsymbol [nsucceq] [rel] [mb] ["0F] +\definemathsymbol [precnsim] [rel] [mb] ["10] +\definemathsymbol [succnsim] [rel] [mb] ["11] +\definemathsymbol [lnsim] [rel] [mb] ["12] +\definemathsymbol [gnsim] [rel] [mb] ["13] +\definemathsymbol [nleqq] [rel] [mb] ["14] +\definemathsymbol [ngeqq] [rel] [mb] ["15] +\definemathsymbol [precneqq] [rel] [mb] ["16] +\definemathsymbol [succneqq] [rel] [mb] ["17] +\definemathsymbol [precnapprox] [rel] [mb] ["18] +\definemathsymbol [succnapprox] [rel] [mb] ["19] +\definemathsymbol [lnapprox] [rel] [mb] ["1A] +\definemathsymbol [gnapprox] [rel] [mb] ["1B] +\definemathsymbol [nsim] [rel] [mb] ["1C] +\definemathsymbol [ncong] [rel] [mb] ["1D] +\definemathsymbol [diagup] [ord] [mb] ["1E] +\definemathsymbol [diagdown] [ord] [mb] ["1F] +\definemathsymbol [varsubsetneq] [rel] [mb] ["20] +\definemathsymbol [varsupsetneq] [rel] [mb] ["21] +\definemathsymbol [nsubseteqq] [rel] [mb] ["22] +\definemathsymbol [nsupseteqq] [rel] [mb] ["23] +\definemathsymbol [subsetneqq] [rel] [mb] ["24] +\definemathsymbol [supsetneqq] [rel] [mb] ["25] +\definemathsymbol [varsubsetneqq] [rel] [mb] ["26] +\definemathsymbol [varsupsetneqq] [rel] [mb] ["27] +\definemathsymbol [subsetneq] [rel] [mb] ["28] +\definemathsymbol [supsetneq] [rel] [mb] ["29] +\definemathsymbol [nsubseteq] [rel] [mb] ["2A] +\definemathsymbol [nsupseteq] [rel] [mb] ["2B] +\definemathsymbol [nparallel] [rel] [mb] ["2C] +\definemathsymbol [nmid] [rel] [mb] ["2D] +\definemathsymbol [nshortmid] [rel] [mb] ["2E] +\definemathsymbol [nshortparallel] [rel] [mb] ["2F] +\definemathsymbol [nvdash] [rel] [mb] ["30] +\definemathsymbol [nVdash] [rel] [mb] ["31] +\definemathsymbol [nvDash] [rel] [mb] ["32] +\definemathsymbol [nVDash] [rel] [mb] ["33] +\definemathsymbol [ntrianglerighteq] [rel] [mb] ["34] +\definemathsymbol [ntrianglelefteq] [rel] [mb] ["35] +\definemathsymbol [ntriangleleft] [rel] [mb] ["36] +\definemathsymbol [ntriangleright] [rel] [mb] ["37] +\definemathsymbol [nleftarrow] [rel] [mb] ["38] +\definemathsymbol [nrightarrow] [rel] [mb] ["39] +\definemathsymbol [nLeftarrow] [rel] [mb] ["3A] +\definemathsymbol [nRightarrow] [rel] [mb] ["3B] +\definemathsymbol [nLeftrightarrow] [rel] [mb] ["3C] +\definemathsymbol [nleftrightarrow] [rel] [mb] ["3D] +\definemathsymbol [divideontimes] [bin] [mb] ["3E] +\definemathsymbol [varnothing] [ord] [mb] ["3F] +\definemathsymbol [nexists] [ord] [mb] ["40] +\definemathsymbol [Finv] [ord] [mb] ["60] +\definemathsymbol [Game] [ord] [mb] ["61] +\definemathsymbol [mho] [ord] [mb] ["66] +\definemathsymbol [eth] [ord] [mb] ["67] +\definemathsymbol [eqsim] [rel] [mb] ["68] +\definemathsymbol [beth] [ord] [mb] ["69] +\definemathsymbol [gimel] [ord] [mb] ["6A] +\definemathsymbol [daleth] [ord] [mb] ["6B] +\definemathsymbol [lessdot] [bin] [mb] ["6C] +\definemathsymbol [gtrdot] [bin] [mb] ["6D] +\definemathsymbol [ltimes] [bin] [mb] ["6E] +\definemathsymbol [rtimes] [bin] [mb] ["6F] +\definemathsymbol [shortmid] [rel] [mb] ["70] +\definemathsymbol [shortparallel] [rel] [mb] ["71] +\definemathsymbol [smallsetminus] [bin] [mb] ["72] +\definemathsymbol [thicksim] [rel] [mb] ["73] +\definemathsymbol [thickapprox] [rel] [mb] ["74] +\definemathsymbol [approxeq] [rel] [mb] ["75] +\definemathsymbol [succapprox] [rel] [mb] ["76] +\definemathsymbol [precapprox] [rel] [mb] ["77] +\definemathsymbol [curvearrowleft] [rel] [mb] ["78] +\definemathsymbol [curvearrowright] [rel] [mb] ["79] +\definemathsymbol [digamma] [ord] [mb] ["7A] +\definemathsymbol [varkappa] [ord] [mb] ["7B] +\definemathsymbol [Bbbk] [ord] [mb] ["7C] +\definemathsymbol [hslash] [ord] [mb] ["7D] +\definemathsymbol [hbar] [ord] [mb] ["7E] +\definemathsymbol [backepsilon] [rel] [mb] ["7F] + +\stopmathcollection + +\startmathcollection[ams] + +\definemathcommand [yen] [nothing] {\mathhexbox{\hexmafam}55} +\definemathcommand [checkmark] [nothing] {\mathhexbox{\hexmafam}58} +\definemathcommand [circledR] [nothing] {\mathhexbox{\hexmafam}72} +\definemathcommand [maltese] [nothing] {\mathhexbox{\hexmafam}7A} +\definemathcommand [dashrightarrow] [rel] {\dabar@\dabar@ \mathchar"0C4B}% +\definemathcommand [dashleftarrow] [rel] {\mathchar"0C4C\dabar@ \dabar@}% +\definemathcommand [dasharrow] [rel] {\dabar@\dabar@ \mathchar"0C4B}% +\definemathcommand [Join] [rel] {\mathchar"0D6F\mkern-13.8mu\mathchar"0D6E} +\definemathcommand [implies] [rel] {\;\Longrightarrow\;} +\definemathcommand [impliedby] [rel] {\;\Longleftarrow\;} +\definemathcommand [And] [rel] {\;\internalAnd\;} + +\stopmathcollection + +\def\AMSwidehat#1% + {\setbox\scratchbox\hbox{$\m@th#1$}% + \ifdim\wd\scratchbox>2em + \mathaccent"0\purefamilyhex{mb}5B{#1}% + \else + \mathaccent"0\purefamilyhex{ex}62{#1}% + \fi} + +\def\AMSwidetilde#1% + {\setbox\scratchbox\hbox{$\m@th#1$}% + \ifdim\wd\scratchbox>2em + \mathaccent"0\purefamilyhex{mb}5D{#1}% + \else + \mathaccent"0\purefamilyhex{ex}65{#1}% + \fi} + +\startmathcollection[ams] + +\definemathcommand [widehat] {\AMSwidehat} +\definemathcommand [widetilde] {\AMSwidetilde} + +\stopmathcollection + +\protect \endinput diff --git a/tex/context/base/math-eul.tex b/tex/context/base/math-eul.tex new file mode 100644 index 000000000..0ec35fe16 --- /dev/null +++ b/tex/context/base/math-eul.tex @@ -0,0 +1,127 @@ +%D \module +%D [ file=math-eul, +%D version=2001.04.12, +%D title=\CONTEXT\ Math Macros, +%D subtitle=Euler Specials, +%D author={Hans Hagen \& Taco Hoekwater}, +%D date=\currentdate, +%D copyright=\PRAGMA] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\unprotect + +\startmathcollection[eul] + +\definemathcharacter [0] [alpha] [mi] [30] +\definemathcharacter [1] [alpha] [mi] [31] +\definemathcharacter [2] [alpha] [mi] [32] +\definemathcharacter [3] [alpha] [mi] [33] +\definemathcharacter [4] [alpha] [mi] [34] +\definemathcharacter [5] [alpha] [mi] [35] +\definemathcharacter [6] [alpha] [mi] [36] +\definemathcharacter [7] [alpha] [mi] [37] +\definemathcharacter [8] [alpha] [mi] [38] +\definemathcharacter [9] [alpha] [mi] [39] + +\stopmathcollection + +\startmathcollection[eul] + +\definemathsymbol [intop] [op] [ma] ["52] +\definemathsymbol [ointop] [op] [ma] ["48] +\definemathsymbol [coprod] [op] [ma] ["60] +\definemathsymbol [prod] [op] [ma] ["51] +\definemathsymbol [sum] [op] [ma] ["50] +\definemathsymbol [braceld] [nothing] [ma] ["7A] +\definemathsymbol [bracerd] [nothing] [ma] ["7B] +\definemathsymbol [bracelu] [nothing] [ma] ["7C] +\definemathsymbol [braceru] [nothing] [ma] ["7D] +\definemathsymbol [infty] [ord] [ma] ["31] +\definemathsymbol [nearrow] [rel] [ma] ["25] +\definemathsymbol [searrow] [rel] [ma] ["26] +\definemathsymbol [nwarrow] [rel] [ma] ["2D] +\definemathsymbol [swarrow] [rel] [ma] ["2E] +\definemathsymbol [Leftrightarrow] [rel] [ma] ["2C] +\definemathsymbol [Leftarrow] [rel] [ma] ["28] +\definemathsymbol [Rightarrow] [rel] [ma] ["29] +\definemathsymbol [leftrightarrow] [rel] [ma] ["24] +\definemathsymbol [leftarrow] [rel] [ma] ["20] +\definemathsymbol [gets] [rel] [ma] ["20] % leftarrow +\definemathsymbol [rightarrow] [rel] [ma] ["21] +\definemathsymbol [to] [rel] [ma] ["21] % rightarrow +\definemathsymbol [uparrow] [rel] [ma] ["22] [ex] ["78] +\definemathsymbol [downarrow] [rel] [ma] ["23] [ex] ["79] +\definemathsymbol [updownarrow] [rel] [ma] ["6C] [ex] ["3F] +\definemathsymbol [Uparrow] [rel] [ma] ["2A] [ex] ["7E] +\definemathsymbol [Downarrow] [rel] [ma] ["2B] [ex] ["7F] +\definemathsymbol [Updownarrow] [rel] [ma] ["6D] [ex] ["77] + +\definemathsymbol [leftharpoonup] [rel] [ma] ["18] +\definemathsymbol [leftharpoondown] [rel] [ma] ["19] +\definemathsymbol [rightharpoonup] [rel] [ma] ["1A] +\definemathsymbol [rightharpoondown] [rel] [ma] ["1B] + +\stopmathcollection + +\startmathcollection[eul] + +\definemathcharacter [+] [bin] [mc] ["2B] +\definemathcharacter [-] [bin] [mc] ["2D] +\definemathcharacter [!] [ord] [mc] ["21] +\definemathcharacter [(] [open] [mc] ["28] +\definemathcharacter [)] [close] [mc] ["29] +\definemathcharacter [91] [open] [mc] ["5B] +\definemathcharacter [93] [close] [mc] ["5D] +\definemathcharacter [=] [rel] [mc] ["3D] + +\definemathcharacter [(] [nothing] [mc] ["28] [ex] ["00] +\definemathcharacter [)] [nothing] [mc] ["29] [ex] ["01] +\definemathcharacter [91] [nothing] [mc] ["5B] [ex] ["02] +\definemathcharacter [93] [nothing] [mc] ["5D] [ex] ["03] + +\stopmathcollection + +\startmathcollection[eul] + +\definemathsymbol [Gamma] [alpha] [mi] ["00] +\definemathsymbol [Delta] [alpha] [mi] ["01] +\definemathsymbol [Theta] [alpha] [mi] ["02] +\definemathsymbol [Lambda] [alpha] [mi] ["03] +\definemathsymbol [Xi] [alpha] [mi] ["04] +\definemathsymbol [Pi] [alpha] [mi] ["05] +\definemathsymbol [Sigma] [alpha] [mi] ["06] +\definemathsymbol [Upsilon] [alpha] [mi] ["07] +\definemathsymbol [Phi] [alpha] [mi] ["08] +\definemathsymbol [Psi] [alpha] [mi] ["09] +\definemathsymbol [Omega] [alpha] [mi] ["0A] + +\stopmathcollection + +\startmathcollection[eul] + +\definemathsymbol [Relbar] [rel] [mr] ["3D] +\definemathsymbol [aleph] [ord] [sy] ["40] % ? +\definemathsymbol [lbrace] [open] [mb] ["66] [ma] ["08] +\definemathsymbol [rbrace] [close] [mb] ["67] [ma] ["09] +\definemathsymbol [leq] [rel] [mb] ["14] +\definemathsymbol [le] [rel] [mb] ["14] +\definemathsymbol [geq] [rel] [mb] ["15] +\definemathsymbol [ge] [rel] [mb] ["15] +\definemathsymbol [Re] [ord] [mb] ["3C] +\definemathsymbol [Im] [ord] [mb] ["3D] +\definemathsymbol [vert] [nothing] [mb] ["6A] [ex] ["0C] +\definemathsymbol [backslash] [nothing] [mb] ["6E] [ex] ["0F] + +\stopmathcollection + +\startmathcollection[eul] + +\definemathcommand [varsigma] {\sigma} +\definemathcommand [varrho] {\rho} + +\stopmathcollection + +\protect \endinput diff --git a/tex/context/base/math-ini.tex b/tex/context/base/math-ini.tex new file mode 100644 index 000000000..1a86aeac4 --- /dev/null +++ b/tex/context/base/math-ini.tex @@ -0,0 +1,351 @@ +%D \module +%D [ file=math-ini, +%D version=2001.04.12, +%D title=\CONTEXT\ Math Macros, +%D subtitle=Basic Macros, +%D author={Hans Hagen \& Taco Hoekwater}, +%D date=\currentdate, +%D copyright=\PRAGMA] +%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 This module provides namespaces for math fonts, thereby +%D permitting mixed usage of math fonts. Although not strictly +%D needed, we also provide a family name mapping mechanism as +%D used in the (original) AMS math definition files, but here +%D these names can recursively be remapped and if needed, +%D dynamically be changed. We've tried to minimize the number +%D of definition commands and use plain \TEX\ definitions as +%D fallback. We've tried to follow a couple of conventions +%D from plain and AMS math in order to achieve backward +%D compatinility. We also kept an eye on future usage of these +%D modules in the perspective of MathML and unicode fonts. + +\unprotect + +\def\@mt@{@mt@} % math token +\def\@mt@{@mc@} % math character +\def\@mh@{@mh@} % math handler +\def\@mf@{@mf@} % math family +\def\@mc@{@mc@} % math class +\def\@ml@{@mc@} % math list + +\def\@@mathlimopcomm#1{\mathop{#1}\limits} +\def\@@mathnolopcomm#1{\mathop{#1}\nolimits} +\def\@@mathboxcomm #1{\leavevmode\hbox{$\m@th#1$}} + +\chardef\mathordcode = 0 \let\mathordcomm \mathord +\chardef\mathopcode = 1 \let\mathopcomm \mathop +\chardef\mathbincode = 2 \let\mathbincomm \mathbin +\chardef\mathrelcode = 3 \let\mathrelcomm \mathrel +\chardef\mathopencode = 4 \let\mathopencomm \mathopen +\chardef\mathclosecode = 5 \let\mathclosecomm \mathclose +\chardef\mathpunctcode = 6 \let\mathpunctcomm \mathpunct +\chardef\mathalphacode = 7 \let\mathalphacomm \firstofoneargument +\chardef\mathinnercode = 0 \let\mathinnercomm \mathinner +\chardef\mathnothingcode= 0 \let\mathnothingcomm \firstofoneargument +\chardef\mathlimopcode = 1 \let\mathlimopcomm \@@mathlimopcomm +\chardef\mathnolopcode = 1 \let\mathnolopcomm \@@mathnolopcomm +\chardef\mathchoicecode = 0 \let\mathchoicecomm \@@mathchoicecomm +\chardef\mathboxcode = 0 \let\mathboxcomm \@@mathboxcomm + +\chardef\mathaccentcode = 8 +\chardef\mathradicalcode= 9 + +\def\@@mathchoicecomm#1{[todo #1]} + +\def\puremathcode#1{\the\csname math#1code\endcsname} +\def\puremathcomm#1{\csname math#1comm\endcsname} + +\newif\iftracemathcollection + +\beginETEX \ifcsname + +\def\dohandlemathtoken#1% + {\csname\@mt@ + \ifcsname\@mt@\mathcollection#1\endcsname + \mathcollection + \else\ifcsname\@mt@\nomathcollection#1\endcsname + \nomathcollection + \fi\fi + #1\endcsname} + +\endETEX + +\beginTEX + +\def\dohandlemathtoken#1% + {\csname\@mt@ + \@EA\ifx\csname\@mt@\mathcollection#1\endcsname\relax + \@EA\ifx\csname\@mt@\nomathcollection#1\endcsname\relax + \else + \nomathcollection + \fi + \else + \mathcollection + \fi + #1\endcsname} + +\endTEX + +\def\definefamilysynonym% + {\dotripleempty\dodefinefamilysynonym} + +\def\dodefinefamilysynonym[#1][#2][#3]% [mathcollection] [] [] + {\ifthirdargument + \setvalue{\@mf@#1#2}{#3}% + \else + \setvalue{\@mf@ #1}{#2}% + \fi} + +\def\purefamily #1{\csname \truefamily{#1}\s!fam\endcsname} +\def\purefamilyhex#1{\csname hex\truefamily{#1}\s!fam\endcsname} + +\beginETEX \ifcsname + +\def\truefamily#1% + {\ifcsname\@mf@\mathcollection#1\endcsname + \@EA\truefamily\csname\@mf@\mathcollection#1\endcsname + \else\ifcsname\@mf@#1\endcsname + \@EA\truefamily\csname\@mf@#1\endcsname + \else\ifcsname\@mf@\nomathcollection#1\endcsname + \@EA\truefamily\csname\@mf@\nomathcollection#1\endcsname + \else + #1% + \fi\fi\fi} + +\endETEX + +\beginTEX + +\def\truefamily#1% + {\@EA\ifx\csname\@mf@\mathcollection#1\endcsname\relax + \@EA\ifx\csname\@mf@#1\endcsname\relax + \@EA\ifx\csname\@mf@\nomathcollection#1\endcsname\relax + #1% + \else + \@EA\truefamily\csname\@mf@\nomathcollection#1\endcsname + \fi + \else + \@EA\truefamily\csname\@mf@#1\endcsname + \fi + \else + \@EA\truefamily\csname\@mf@\mathcollection#1\endcsname + \fi} + +\endTEX + +\newif\ifdynamicmathfamilies \dynamicmathfamiliesfalse % true ? + +\let\normalpurefamilyhex\purefamilyhex + +% todo: reset collection (tok legen) en opnieuw laden met true + +\def\definemathsymbol% + {\dosixtupleempty\dodefinemathsymbol} + +\def\dodefinemathsymbol[#1][#2][#3][#4][#5][#6]% + {\unexpanded\setgvalue{#1}{\dohandlemathtoken{#1}}% + \ifdynamicmathfamilies \let\purefamilyhex\relax \fi + \setevalue{\@mt@\mathcollection#1}% + {\ifsixthargument + \ifnum\puremathcode{#2}=\mathradicalcode + \radical"% + \else + \delimiter"% + \ifnum\puremathcode{#2}>7 0\else\puremathcode{#2}\fi + \fi + \purefamilyhex{#3}\uchexnumbers{#4}% + \purefamilyhex{#5}\uchexnumbers{#6}\space + \else\iffourthargument + \ifnum\puremathcode{#2}=\mathaccentcode + \mathaccent\else\mathchar + \fi + "\ifnum\puremathcode{#2}>7 0\else\puremathcode{#2}\fi + \purefamilyhex{#3}\uchexnumbers{#4}\space + \fi\fi}% + \let\purefamilyhex\normalpurefamilyhex + \tracemathsymbol{#1}} + +\def\tracemathsymbol#1% + {\iftracemathcollection + {\endgraf + \hbox{\tex{#1}~:~{\mathematics{\getvalue{#1}{}}}} + \endgraf}% + \fi} + +\def\definemathcharacter% + {\dosixtupleempty\dodefinemathcharacter} + +\def\dodefinemathcharacter[#1][#2][#3][#4][#5][#6]% + {\setmathtoks + \ifdynamicmathfamilies \let\purefamilyhex\relax \fi + \doifnumberelse{#1} + {\scratchcounter=#1} + {\scratchcounter=\@EA`\string#1}% + \expanded + {\appendtoks + \ifsixthargument + \delcode\the\scratchcounter="% + \ifnum\puremathcode{#2}>7 0\else\puremathcode{#2}\fi + \purefamilyhex{#3}\uchexnumbers{#4}% + \purefamilyhex{#5}\uchexnumbers{#6}\space + \else\iffourthargument + \mathcode\the\scratchcounter="% + \ifnum\puremathcode{#2}>7 0\else\puremathcode{#2}\fi + \purefamilyhex{#3}\uchexnumbers{#4}\space + \fi\fi + \noexpand\to \noexpand\mathtoks}% + \let\purefamilyhex\normalpurefamilyhex + \tracemathcharacter{#1}} + +\def\tracemathcharacter#1% + {\iftracemathcollection + {\endgraf + \doifnumberelse{#1} + {\hbox{\tttf\rawcharacter{#1}~:~{\mathematics{\rawcharacter{#1}}}}} + {\hbox{\type{#1}~:~{\mathematics{#1}}}} + \endgraf}% + \fi} + +\def\definemathcommand% + {\dodoubleempty\dodefinemathcommand} + +\def\dodefinemathcommand[#1][#2]#3% + {\unexpanded\setgvalue{#1}{\dohandlemathtoken{#1}}% + \ifsecondargument + \setvalue{\@mt@\mathcollection#1}{\puremathcomm{#2}{#3}}% + \else + \setvalue{\@mt@\mathcollection#1}{\puremathcomm{nothing}{#3}}% + \fi + \tracemathcommand{#1}} + +\def\tracemathcommand#1% + {\iftracemathcollection + \endgraf + \hbox{\tex{#1}~:~{\mathematics{\getvalue{#1}{}}}} + \endgraf + \fi} + +\def\startmathcollection[#1]% + {\pushmacro\mathcollection + \setmathcollection{#1}} + +\def\setmathcollection#1% + {\def\mathcollection{#1}% + \doifundefined{\@ml@\mathcollection} + {\expandafter\newtoks\csname\@ml@\mathcollection\endcsname}} + +\def\stopmathcollection% + {\popmacro\mathcollection} + +\def\startrawmathcollection% + {\pushmacro\iftracemathcollection + \tracemathcollectionfalse + \startmathcollection} + +\def\stoprawmathcollection% + {\popmacro\iftracemathcollection + \stopmathcollection} + +\newtoks\mathtoks + +\def\setmathtoks% + {\@EA\let\@EA\mathtoks\csname\@ml@\mathcollection\endcsname} + +\def\currentmathcollection{\mathcollection} + +\def\nomathcollection{\s!default} + +\def\enablemathcollection[#1]% + {\doifnot{#1}{\s!default} + {\setmathcollection\s!default + \the\csname\@ml@\mathcollection\endcsname}% + \setmathcollection{#1}% + \the\csname\@ml@\mathcollection\endcsname} + +% hook 'm into the font mechanism + +\definefilesynonym[\f!mathprefix\s!default][\f!mathprefix tex] + +\def\usemathcollection[#1]% + {\doinputonce{\truefilename{\f!mathprefix#1}}% + \setvalue{\@mc@\fontclass\@mc@}{#1}} + +\def\autoenablemathcollection% + {\doifdefinedelse{\@mc@\fontclass\@mc@} + {\enablemathcollection[\getvalue{\@mc@\fontclass\@mc@}]} + {\enablemathcollection[\s!default]}} + +\appendtoks\autoenablemathcollection\to\mathstrategies + +\edef\hexmrfam {0} \edef\hexbsfam {8} +\edef\hexmifam {1} \edef\hexbifam {9} +\edef\hexsyfam {2} \edef\hexscfam {A} +\edef\hexexfam {3} \edef\hextffam {B} +\edef\hexitfam {4} \edef\hexmafam {C} +\edef\hexslfam {5} \edef\hexmbfam {D} +\edef\hexbffam {6} \edef\hexmcfam {E} +\edef\hexnnfam {7} \edef\hexmdfam {F} + +\definefamilysynonym [default] [letters] [mr] +\definefamilysynonym [default] [operators] [sy] +\definefamilysynonym [default] [lcgreek] [mi] +\definefamilysynonym [default] [ucgreek] [mr] +\definefamilysynonym [default] [vargreek] [mi] +\definefamilysynonym [default] [mitfamily] [mi] +\definefamilysynonym [default] [calfamily] [sy] + +\definefamilysynonym [default] [0] [mr] +\definefamilysynonym [default] [1] [mi] +\definefamilysynonym [default] [2] [sy] +\definefamilysynonym [default] [3] [ex] + +\enablemathcollection[default] + +\usemathcollection[default] + +\protect \endinput + +\tracemathcollectiontrue + + \input math-tex \page +\setupbodyfont[ams] \enablemathcollection[ams] \input math-ams \page +\setupbodyfont[lbr] \enablemathcollection[lbr] \input math-lbr \page +\setupbodyfont[eul] \enablemathcollection[eul] \input math-eul \stoptext + + +% to be checked + +\def\defineactivecharacter #1 #2% + {\scratchcounter=\the\uccode`~ + \expandafter\doifnumberelse\expandafter{\string#1} + {\catcode #1=\@@active \uccode`~= #1\relax} + {\catcode`#1=\@@active \uccode`~=`#1\relax}% + \uppercase{\def\next{~}}% + % unexpanded goes wrong in pdfdoc + %\expandafter\unexpanded\expandafter\def\next{#2}% + % better + %\expandafter\def\next{#2}% + % math aware + \expandafter\def\next{\dohandleactivecharacter{#1}{#2}}% new + \uccode`~=\scratchcounter} + +\def\dohandleactivecharacter% + {\ifmmode + \expandafter\dohandleactivemathcharacter + \else + \expandafter\secondoftwoarguments + \fi} + +\let\dohandleactivemathcharacter\secondoftwoarguments + +\def\dohandleactivemathcharacter#1#2% + {\ifundefined{@ma@\string#1} + \expandafter\firstofoneargument + \else + \getvalue{@ma@\string#1}% + \expandafter\gobbleoneargument + \fi{#2}} diff --git a/tex/context/base/math-lbr.tex b/tex/context/base/math-lbr.tex new file mode 100644 index 000000000..d6ecb8de5 --- /dev/null +++ b/tex/context/base/math-lbr.tex @@ -0,0 +1,167 @@ +%D \module +%D [ file=math-lbr, +%D version=2001.04.12, +%D title=\CONTEXT\ Math Macros, +%D subtitle=Lucida Specials, +%D author={Hans Hagen \& Taco Hoekwater}, +%D date=\currentdate, +%D copyright=\PRAGMA] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\unprotect + +\startmathcollection[lbr] + +\definemathsymbol [blacktriangleright] [rel] [mi] ["F0] +\definemathsymbol [blacktriangleleft] [rel] [mi] ["F1] +\definemathsymbol [boxtimes] [bin] [sy] ["EC] + +\stopmathcollection + +\startmathcollection[lbr] + +\definemathcharacter [91] [open] [mi] ["86] +\definemathcharacter [93] [close] [mi] ["87] +\definemathcharacter [(] [open] [mi] ["84] +\definemathcharacter [)] [close] [mi] ["85] +\definemathcharacter [/] [nothing] [mi] ["3D] +\definemathcharacter [=] [rel] [sy] ["83] +\definemathcharacter [+] [bin] [sy] ["82] + +\definemathcharacter [91] [nothing] [mi] ["86] [ex] ["02] +\definemathcharacter [93] [nothing] [mi] ["87] [ex] ["03] +\definemathcharacter [(] [nothing] [mi] ["84] [ex] ["00] +\definemathcharacter [)] [nothing] [mi] ["85] [ex] ["01] +\definemathcharacter [/] [nothing] [mi] ["3D] [ex] ["0E] + +\stopmathcollection + +\startmathcollection[lbr] + +\definemathsymbol [ldbrack] [open] [mi] ["82] [ex] ["82] +\definemathsymbol [rdbrack] [close] [mi] ["83] [ex] ["83] +\definemathsymbol [surfintop] [op] [ex] ["90] +\definemathsymbol [midintop] [op] [ex] ["92] +\definemathsymbol [midointop] [op] [ex] ["93] +\definemathsymbol [midsurfintop] [op] [ex] ["94] +\definemathsymbol [largeint] [op] [ex] ["5A] [ex] ["95] + +% \definemathcommand [surfint] [nolop] {\surfintop} +% \definemathcommand [midint] [nolop] {\midintop} +% \definemathcommand [midoint] [nolop] {\midointop} +% \definemathcommand [midsurfint] [nolop] {\midsurfintop} + +\definemathsymbol [surfint] [nolop] [ex] ["90] +\definemathsymbol [midint] [nolop] [ex] ["92] +\definemathsymbol [midoint] [nolop] [ex] ["93] +\definemathsymbol [midsurfint] [nolop] [ex] ["94] + +\definemathsymbol [dblint] [ord] [mi] ["88] +\definemathsymbol [trplint] [ord] [mi] ["89] +\definemathsymbol [contint] [ord] [mi] ["8A] +\definemathsymbol [surfint] [ord] [mi] ["8B] +\definemathsymbol [volint] [ord] [mi] ["8C] +\definemathsymbol [clwint] [ord] [mi] ["8D] +\definemathsymbol [cclwcint] [ord] [mi] ["8E] +\definemathsymbol [clwcint] [ord] [mi] ["8F] +\definemathsymbol [bowtie] [rel] [mi] ["F6] +\definemathsymbol [models] [rel] [sy] ["EE] +\definemathsymbol [doteq] [rel] [sy] ["C9] +\definemathsymbol [cong] [rel] [sy] ["9B] +\definemathsymbol [angle] [ord] [sy] ["8B] +\definemathsymbol [hbar] [ord] [mi] ["9D] +\definemathsymbol [neq] [rel] [ma] ["94] +\definemathsymbol [rightleftharpoons] [rel] [ma] ["7A] +\definemathsymbol [leftrightharpoons] [rel] [ma] ["79] +\definemathsymbol [hookleftarrow] [rel] [ma] ["3C] +\definemathsymbol [hookrightarrow] [rel] [ma] ["3E] +\definemathsymbol [mapsto] [rel] [ma] ["2C] + +\definemathcommand [longmapsto] {\mapstochar\longrightarrow} + +\stopmathcollection + +\definefamilysynonym [lbr] [ucgreek] [ex] +\definefamilysynonym [lbr] [vargreek] [mi] + +\startmathcollection[lbr] + +\definemathsymbol [Gamma] [alpha] [ucgreek] ["D0] +\definemathsymbol [Delta] [alpha] [ucgreek] ["D1] +\definemathsymbol [Theta] [alpha] [ucgreek] ["D2] +\definemathsymbol [Lambda] [alpha] [ucgreek] ["D3] +\definemathsymbol [Xi] [alpha] [ucgreek] ["D4] +\definemathsymbol [Pi] [alpha] [ucgreek] ["D5] +\definemathsymbol [Sigma] [alpha] [ucgreek] ["D6] +\definemathsymbol [Upsilon] [alpha] [ucgreek] ["D7] +\definemathsymbol [Phi] [alpha] [ucgreek] ["D8] +\definemathsymbol [Psi] [alpha] [ucgreek] ["D9] +\definemathsymbol [Omega] [alpha] [ucgreek] ["DA] + +\definemathsymbol [varGamma] [ord] [vargreek] ["00] +\definemathsymbol [varDelta] [ord] [vargreek] ["01] +\definemathsymbol [varTheta] [ord] [vargreek] ["02] +\definemathsymbol [varLambda] [ord] [vargreek] ["03] +\definemathsymbol [varXi] [ord] [vargreek] ["04] +\definemathsymbol [varPi] [ord] [vargreek] ["05] +\definemathsymbol [varSigma] [ord] [vargreek] ["06] +\definemathsymbol [varUpsilon] [ord] [vargreek] ["07] +\definemathsymbol [varPhi] [ord] [vargreek] ["08] +\definemathsymbol [varPsi] [ord] [vargreek] ["09] +\definemathsymbol [varOmega] [ord] [vargreek] ["0A] + +\stopmathcollection + +\def\LBRroot#1#2% + {\setbox\z@\hbox{$\m@th#1\sqrt{#2}$} + \dimen@\ht\z@ \advance\dimen@-\dp\z@ + \mkern5mu\raise.6\dimen@\copy\rootbox \mkern-7.5mu \box\z@} + +\def\LBRmatrix#1% + {\null\,\vcenter{\normalbaselines\m@th + \ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr + \mathstrut\crcr\noalign{\kern-0.9\baselineskip} + #1\crcr\mathstrut\crcr\noalign{\kern-0.9\baselineskip}}}\,} + +\startrawmathcollection[lbr] + +\definemathcommand [mathstrut] {\vphantom{f}} +\definemathcommand [joinrel] {\mathrel{\mkern-4mu}} +\definemathcommand [r@@t] {\LBRroot} +\definemathcommand [matrix] {\LBRmatrix} + +\stoprawmathcollection + +% Should these be related to the bodyfontsize ? + +\def\LBRbig #1{{\hbox{$\left#1\vbox to 8.20\p@{}\right.\n@space$}}} +\def\LBRBig #1{{\hbox{$\left#1\vbox to 10.80\p@{}\right.\n@space$}}} +\def\LBRbigg #1{{\hbox{$\left#1\vbox to 13.42\p@{}\right.\n@space$}}} +\def\LBRBigg #1{{\hbox{$\left#1\vbox to 16.03\p@{}\right.\n@space$}}} +\def\LBRbiggg#1{{\hbox{$\left#1\vbox to 17.72\p@{}\right.\n@space$}}} +\def\LBRBiggg#1{{\hbox{$\left#1\vbox to 21.25\p@{}\right.\n@space$}}} + +\startrawmathcollection[lbr] + +\definemathcommand [big] {\LBRbig} +\definemathcommand [Big] {\LBRBig} +\definemathcommand [bigg] {\LBRbigg} +\definemathcommand [Bigg] {\LBRBigg} +\definemathcommand [biggg] {\LBRbiggg} +\definemathcommand [Biggg] {\LBRBiggg} + +\stoprawmathcollection + +\startrawmathcollection[lbr] + +\definemathcommand [bigggl] [open] {\biggg} +\definemathcommand [bigggr] [close] {\biggg} +\definemathcommand [Bigggl] [open] {\Biggg} +\definemathcommand [Bigggr] [close] {\Biggg} + +\stoprawmathcollection + +\protect \endinput diff --git a/tex/context/base/math-tex.tex b/tex/context/base/math-tex.tex new file mode 100644 index 000000000..b938356b4 --- /dev/null +++ b/tex/context/base/math-tex.tex @@ -0,0 +1,495 @@ +%D \module +%D [ file=math-tex, +%D version=2001.04.12, +%D title=\CONTEXT\ Math Macros, +%D subtitle=Plain Specials, +%D author={Hans Hagen \& Taco Hoekwater}, +%D date=\currentdate, +%D copyright=\PRAGMA] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\unprotect + +\mathcode`\ ="8000 +\mathcode`\_="8000 +\mathcode`\'="8000 + +\definefamilysynonym [default] [lcgreek] [mi] +\definefamilysynonym [default] [ucgreek] [mr] +\definefamilysynonym [default] [vargreek] [mi] + +\startmathcollection [default] + +\definemathsymbol [alpha] [nothing] [lcgreek] ["0B] +\definemathsymbol [beta] [nothing] [lcgreek] ["0C] +\definemathsymbol [gamma] [nothing] [lcgreek] ["0D] +\definemathsymbol [delta] [nothing] [lcgreek] ["0E] +\definemathsymbol [epsilon] [nothing] [lcgreek] ["0F] +\definemathsymbol [zeta] [nothing] [lcgreek] ["10] +\definemathsymbol [eta] [nothing] [lcgreek] ["11] +\definemathsymbol [theta] [nothing] [lcgreek] ["12] +\definemathsymbol [iota] [nothing] [lcgreek] ["13] +\definemathsymbol [kappa] [nothing] [lcgreek] ["14] +\definemathsymbol [lambda] [nothing] [lcgreek] ["15] +\definemathsymbol [mu] [nothing] [lcgreek] ["16] +\definemathsymbol [nu] [nothing] [lcgreek] ["17] +\definemathsymbol [xi] [nothing] [lcgreek] ["18] +\definemathsymbol [pi] [nothing] [lcgreek] ["19] +\definemathsymbol [rho] [nothing] [lcgreek] ["1A] +\definemathsymbol [sigma] [nothing] [lcgreek] ["1B] +\definemathsymbol [tau] [nothing] [lcgreek] ["1C] +\definemathsymbol [upsilon] [nothing] [lcgreek] ["1D] +\definemathsymbol [phi] [nothing] [lcgreek] ["1E] +\definemathsymbol [chi] [nothing] [lcgreek] ["1F] +\definemathsymbol [psi] [nothing] [lcgreek] ["20] +\definemathsymbol [omega] [nothing] [lcgreek] ["21] + +\stopmathcollection + +\startmathcollection [default] + +\definemathsymbol [varepsilon] [nothing] [vargreek] ["22] +\definemathsymbol [vartheta] [nothing] [vargreek] ["23] +\definemathsymbol [varpi] [nothing] [vargreek] ["24] +\definemathsymbol [varrho] [nothing] [vargreek] ["25] +\definemathsymbol [varsigma] [nothing] [vargreek] ["26] +\definemathsymbol [varphi] [nothing] [vargreek] ["27] + +\stopmathcollection + +\startmathcollection [default] + +\definemathsymbol [Alpha] [alpha] [ucgreek] ["41] % A +\definemathsymbol [Beta] [alpha] [ucgreek] ["42] % B +\definemathsymbol [Gamma] [alpha] [ucgreek] ["00] +\definemathsymbol [Delta] [alpha] [ucgreek] ["01] +\definemathsymbol [Epsilon] [alpha] [ucgreek] ["45] % E +\definemathsymbol [Zeta] [alpha] [ucgreek] ["5A] % Z +\definemathsymbol [Eta] [alpha] [ucgreek] ["48] % H +\definemathsymbol [Theta] [alpha] [ucgreek] ["02] +\definemathsymbol [Iota] [alpha] [ucgreek] ["49] % I +\definemathsymbol [Kappa] [alpha] [ucgreek] ["4B] % K +\definemathsymbol [Lambda] [alpha] [ucgreek] ["03] +\definemathsymbol [Mu] [alpha] [ucgreek] ["4D] % M +\definemathsymbol [Nu] [alpha] [ucgreek] ["4E] % N +\definemathsymbol [Xi] [alpha] [ucgreek] ["04] +\definemathsymbol [Pi] [alpha] [ucgreek] ["05] +\definemathsymbol [Rho] [alpha] [ucgreek] ["52] % R +\definemathsymbol [Sigma] [alpha] [ucgreek] ["06] +\definemathsymbol [Tau] [alpha] [ucgreek] ["54] % T +\definemathsymbol [Upsilon] [alpha] [ucgreek] ["07] +\definemathsymbol [Phi] [alpha] [ucgreek] ["08] +\definemathsymbol [Chi] [alpha] [ucgreek] ["58] % X +\definemathsymbol [Psi] [alpha] [ucgreek] ["09] +\definemathsymbol [Omega] [alpha] [ucgreek] ["0A] + +\stopmathcollection + +% The \mbox macro is an alternative for \hbox with a +% controlable font switch. + +\startmathcollection[default] + +\definemathcommand [arccos] [nolop] {\mbox{arccos}} +\definemathcommand [arcsin] [nolop] {\mbox{arcsin}} +\definemathcommand [arctan] [nolop] {\mbox{arctan}} +\definemathcommand [arg] [nolop] {\mbox{arg}} +\definemathcommand [cosh] [nolop] {\mbox{cosh}} +\definemathcommand [cos] [nolop] {\mbox{cos}} +\definemathcommand [coth] [nolop] {\mbox{coth}} +\definemathcommand [cot] [nolop] {\mbox{cot}} +\definemathcommand [csc] [nolop] {\mbox{csc}} +\definemathcommand [deg] [nolop] {\mbox{deg}} +\definemathcommand [det] [limop] {\mbox{det}} +\definemathcommand [dim] [nolop] {\mbox{dim}} +\definemathcommand [exp] [nolop] {\mbox{exp}} +\definemathcommand [gcd] [limop] {\mbox{gcd}} +\definemathcommand [hom] [nolop] {\mbox{hom}} +\definemathcommand [inf] [limop] {\mbox{inf}} +\definemathcommand [injlim] [limop] {\mbox{inj\,lim}} +\definemathcommand [ker] [nolop] {\mbox{ker}} +\definemathcommand [lg] [nolop] {\mbox{lg}} +\definemathcommand [liminf] [limop] {\mbox{lim\,inf}} +\definemathcommand [limsup] [limop] {\mbox{lim\,sup}} +\definemathcommand [lim] [limop] {\mbox{lim}} +\definemathcommand [ln] [nolop] {\mbox{ln}} +\definemathcommand [log] [nolop] {\mbox{log}} +\definemathcommand [max] [limop] {\mbox{max}} +\definemathcommand [min] [limop] {\mbox{min}} +\definemathcommand [projlim] [limop] {\mbox{proj\,lim}} +\definemathcommand [Pr] [limop] {\mbox{Pr}} +\definemathcommand [sec] [nolop] {\mbox{sec}} +\definemathcommand [sinh] [nolop] {\mbox{sinh}} +\definemathcommand [sin] [nolop] {\mbox{sin}} +\definemathcommand [sup] [limop] {\mbox{sup}} +\definemathcommand [tanh] [nolop] {\mbox{tanh}} +\definemathcommand [tan] [nolop] {\mbox{tan}} + +\stopmathcollection + +\startmathcollection[default] + +\definemathcharacter [!] [close] [mr] ["21] +\definemathcharacter [(] [open] [mr] ["28] +\definemathcharacter [)] [close] [mr] ["29] +\definemathcharacter [*] [bin] [sy] ["03] +\definemathcharacter [+] [bin] [mr] ["2B] +\definemathcharacter [,] [punct] [mi] ["3B] +\definemathcharacter [-] [bin] [sy] ["00] +\definemathcharacter [.] [ord] [mi] ["3A] +\definemathcharacter [/] [ord] [mi] ["3D] +\definemathcharacter [:] [rel] [mr] ["3A] +\definemathcharacter [;] [punct] [mr] ["3B] +\definemathcharacter [<] [rel] [mi] ["3C] +\definemathcharacter [=] [rel] [mr] ["3D] +\definemathcharacter [>] [rel] [mi] ["3E] +\definemathcharacter [?] [close] [mr] ["3F] +\definemathcharacter [91] [open] [mr] ["5B] % [ +\definemathcharacter [92] [ord] [sy] ["6E] % \ +\definemathcharacter [93] [close] [mr] ["5D] % ] +\definemathcharacter [123] [open] [sy] ["66] % { +\definemathcharacter [124] [ord] [sy] ["6A] % | +\definemathcharacter [125] [close] [sy] ["67] % } + +\stopmathcollection + +\startmathcollection[default] + +\definemathcharacter [(] [nothing] [mr] ["28] [ex] ["00] +\definemathcharacter [)] [nothing] [mr] ["29] [ex] ["01] +\definemathcharacter [91] [nothing] [mr] ["5B] [ex] ["02] % [ +\definemathcharacter [93] [nothing] [mr] ["5D] [ex] ["03] % ] +\definemathcharacter [<] [nothing] [sy] ["68] [ex] ["0A] +\definemathcharacter [>] [nothing] [sy] ["69] [ex] ["0B] +\definemathcharacter [/] [nothing] [mr] ["2F] [ex] ["0E] +\definemathcharacter [124] [nothing] [sy] ["6A] [ex] ["0C] % | +\definemathcharacter [92] [nothing] [sy] ["6E] [ex] ["0F] % \ + +\stopmathcollection + +\def\PLAINangle% + {{\vbox{\ialign{$\m@th\scriptstyle##$\crcr + \not\mathrel{\mkern14mu}\crcr + \noalign{\nointerlineskip} + \mkern2.5mu\leaders\hrule height.34pt\hfill\mkern2.5mu\crcr}}}} + +\startmathcollection[default] + +\definemathsymbol [aleph] [nothing] [sy] ["40] +\definemathsymbol [imath] [nothing] [mi] ["7B] +\definemathsymbol [jmath] [nothing] [mi] ["7C] +\definemathsymbol [ell] [nothing] [mi] ["60] +\definemathsymbol [wp] [nothing] [mi] ["7D] +\definemathsymbol [Re] [nothing] [sy] ["3C] +\definemathsymbol [Im] [nothing] [sy] ["3D] +\definemathsymbol [partial] [nothing] [mi] ["40] +\definemathsymbol [infty] [nothing] [sy] ["31] +\definemathsymbol [prime] [nothing] [sy] ["30] +\definemathsymbol [emptyset] [nothing] [sy] ["3B] +\definemathsymbol [nabla] [nothing] [sy] ["72] +\definemathsymbol [top] [nothing] [sy] ["3E] +\definemathsymbol [bot] [nothing] [sy] ["3F] + +\definemathcommand [hbar] {{\mathchar'26\mkern-9muh}} +\definemathcommand [surd] {{\mathchar"1270}} % ? +\definemathcommand [angle] {\PLAINangle} + +\stopmathcollection + +\startmathcollection[default] + +\definemathsymbol [triangle] [ord] [sy] ["34] +\definemathsymbol [forall] [ord] [sy] ["38] +\definemathsymbol [exists] [ord] [sy] ["39] +\definemathsymbol [neg] [ord] [sy] ["3A] +\definemathsymbol [flat] [ord] [sy] ["5B] +\definemathsymbol [natural] [ord] [mi] ["5C] +\definemathsymbol [sharp] [ord] [mi] ["5D] +\definemathsymbol [clubsuit] [ord] [sy] ["7C] +\definemathsymbol [diamondsuit] [ord] [sy] ["7D] +\definemathsymbol [heartsuit] [ord] [sy] ["7E] +\definemathsymbol [spadesuit] [ord] [sy] ["7F] + +\stopmathcollection + +\startmathcollection[default] + +\definemathsymbol [coprod] [op] [ex] ["60] +\definemathsymbol [bigvee] [op] [ex] ["57] +\definemathsymbol [bigwedge] [op] [ex] ["56] +\definemathsymbol [biguplus] [op] [ex] ["55] +\definemathsymbol [bigcap] [op] [ex] ["54] +\definemathsymbol [bigcup] [op] [ex] ["53] +\definemathsymbol [intop] [op] [ex] ["52] +\definemathsymbol [prod] [op] [ex] ["51] +\definemathsymbol [sum] [op] [ex] ["50] +\definemathsymbol [bigotimes] [op] [ex] ["4E] +\definemathsymbol [bigoplus] [op] [ex] ["4C] +\definemathsymbol [bigodot] [op] [ex] ["4A] +\definemathsymbol [ointop] [op] [ex] ["48] +\definemathsymbol [bigsqcup] [op] [ex] ["46] +\definemathsymbol [smallint] [op] [sy] ["73] + +\stopmathcollection + +\startmathcollection[default] + +\definemathsymbol [triangleleft] [bin] [mi] ["2F] +\definemathsymbol [triangleright] [bin] [mi] ["2E] +\definemathsymbol [bigtriangleup] [bin] [sy] ["34] +\definemathsymbol [bigtriangledown] [bin] [sy] ["35] +\definemathsymbol [wedge] [bin] [sy] ["5E] +\definemathsymbol [vee] [bin] [sy] ["5F] +\definemathsymbol [cap] [bin] [sy] ["5C] +\definemathsymbol [cup] [bin] [sy] ["5B] +\definemathsymbol [ddagger] [bin] [sy] ["7A] +\definemathsymbol [dagger] [bin] [sy] ["79] +\definemathsymbol [sqcap] [bin] [sy] ["75] +\definemathsymbol [sqcup] [bin] [sy] ["74] +\definemathsymbol [uplus] [bin] [sy] ["5D] +\definemathsymbol [amalg] [bin] [sy] ["71] +\definemathsymbol [diamond] [bin] [sy] ["05] +\definemathsymbol [bullet] [bin] [sy] ["0F] +\definemathsymbol [wr] [bin] [sy] ["6F] +\definemathsymbol [div] [bin] [sy] ["04] +\definemathsymbol [odot] [bin] [sy] ["0C] +\definemathsymbol [oslash] [bin] [sy] ["0B] +\definemathsymbol [otimes] [bin] [sy] ["0A] +\definemathsymbol [ominus] [bin] [sy] ["09] +\definemathsymbol [oplus] [bin] [sy] ["08] +\definemathsymbol [mp] [bin] [sy] ["07] +\definemathsymbol [pm] [bin] [sy] ["06] +\definemathsymbol [circ] [bin] [sy] ["0E] +\definemathsymbol [bigcirc] [bin] [sy] ["0D] +\definemathsymbol [setminus] [bin] [sy] ["6E] +\definemathsymbol [cdot] [bin] [sy] ["01] +\definemathsymbol [ast] [bin] [sy] ["03] +\definemathsymbol [times] [bin] [sy] ["02] +\definemathsymbol [star] [bin] [mi] ["3F] + +\stopmathcollection + +\startmathcollection[default] + +\definemathsymbol [propto] [rel] [sy] ["2F] +\definemathsymbol [sqsubseteq] [rel] [sy] ["76] +\definemathsymbol [sqsupseteq] [rel] [sy] ["77] +\definemathsymbol [parallel] [rel] [sy] ["6B] +\definemathsymbol [mid] [rel] [sy] ["6A] +\definemathsymbol [dashv] [rel] [sy] ["61] +\definemathsymbol [vdash] [rel] [sy] ["60] +\definemathsymbol [nearrow] [rel] [sy] ["25] +\definemathsymbol [searrow] [rel] [sy] ["26] +\definemathsymbol [nwarrow] [rel] [sy] ["2D] +\definemathsymbol [swarrow] [rel] [sy] ["2E] +\definemathsymbol [Leftrightarrow] [rel] [sy] ["2C] +\definemathsymbol [Leftarrow] [rel] [sy] ["28] +\definemathsymbol [Rightarrow] [rel] [sy] ["29] + +\stopmathcollection + +\startmathcollection[default] + +\definemathcommand [lnot] {\neg} +\definemathcommand [int] {\intop\nolimits} +\definemathcommand [oint] {\ointop\nolimits} +\definemathcommand [land] {\wedge} +\definemathcommand [lor] {\vee} +\definemathcommand [neq] {\not=} +\definemathcommand [ne] {\neq} +\definemathcommand [le] {\leq} +\definemathcommand [ge] {\geq} +\definemathcommand [gets] {\leftarrow} +\definemathcommand [owns] {\ni} +\definemathcommand [to] {\rightarrow} +\definemathcommand [mapsto] {\mapstochar\rightarrow} + +\stopmathcollection + +\startmathcollection[default] + +\definemathsymbol [leq] [rel] [sy] ["14] +\definemathsymbol [geq] [rel] [sy] ["15] +\definemathsymbol [succ] [rel] [sy] ["1F] +\definemathsymbol [prec] [rel] [sy] ["1E] +\definemathsymbol [approx] [rel] [sy] ["19] +\definemathsymbol [succeq] [rel] [sy] ["17] +\definemathsymbol [preceq] [rel] [sy] ["16] +\definemathsymbol [supset] [rel] [sy] ["1B] +\definemathsymbol [subset] [rel] [sy] ["1A] +\definemathsymbol [supseteq] [rel] [sy] ["13] +\definemathsymbol [subseteq] [rel] [sy] ["12] +\definemathsymbol [in] [rel] [sy] ["32] +\definemathsymbol [ni] [rel] [sy] ["33] +\definemathsymbol [gg] [rel] [sy] ["1D] +\definemathsymbol [ll] [rel] [sy] ["1C] +\definemathsymbol [not] [rel] [sy] ["36] +\definemathsymbol [leftrightarrow] [rel] [sy] ["24] +\definemathsymbol [leftarrow] [rel] [sy] ["20] +\definemathsymbol [rightarrow] [rel] [sy] ["21] +\definemathsymbol [mapstochar] [rel] [sy] ["37] +\definemathsymbol [sim] [rel] [sy] ["18] +\definemathsymbol [simeq] [rel] [sy] ["27] +\definemathsymbol [perp] [rel] [sy] ["3F] +\definemathsymbol [equiv] [rel] [sy] ["11] +\definemathsymbol [asymp] [rel] [sy] ["10] +\definemathsymbol [smile] [rel] [mi] ["5E] +\definemathsymbol [frown] [rel] [mi] ["5F] +\definemathsymbol [leftharpoonup] [rel] [mi] ["28] +\definemathsymbol [leftharpoondown] [rel] [mi] ["29] +\definemathsymbol [rightharpoonup] [rel] [mi] ["2A] +\definemathsymbol [rightharpoondown] [rel] [mi] ["2B] +\definemathsymbol [lhook] [rel] [mi] ["2C] +\definemathsymbol [rhook] [rel] [mi] ["2D] + +\stopmathcollection + +\def\PLAINldots% + {\ldotp\ldotp\ldotp} + +\def\PLAINcdots% + {\cdotp\cdotp\cdotp} + +\def\PLAINvdots% + {\vbox{\baselineskip4\p@ \lineskiplimit\z@ + \kern6\p@\hbox{.}\hbox{.}\hbox{.}}} + +\def\PLAINddots% + {\mkern1mu\raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern2mu + \raise4\p@\hbox{.}\mkern2mu\raise\p@\hbox{.}\mkern1mu} + +\startmathcollection[default] + +\definemathcommand [hookrightarrow] {\lhook\joinrel\rightarrow} +\definemathcommand [hookleftarrow] {\leftarrow\joinrel\rhook} +\definemathcommand [bowtie] {\mathrel\triangleright\joinrel\mathrel\triangleleft} +\definemathcommand [models] {\mathrel|\joinrel=} +\definemathcommand [iff] {\;\Longleftrightarrow\;} + +\definemathsymbol [ldotp] [punct] [mi] ["3A] +\definemathsymbol [cdotp] [punct] [sy] ["01] +\definemathsymbol [colon] [punct] [mr] ["3A] + +\definemathcommand [ldots] [inner] {\PLAINldots} +\definemathcommand [cdots] [inner] {\PLAINcdots} +\definemathcommand [vdots] [nothing] {\PLAINvdots} +\definemathcommand [ddots] [inner] {\PLAINddots} + +\stopmathcollection + +\startmathcollection[default] + +\definemathsymbol [acute] [accent] [mr] ["13] +\definemathsymbol [grave] [accent] [mr] ["12] +\definemathsymbol [ddot] [accent] [mr] ["7F] +\definemathsymbol [tilde] [accent] [mr] ["7E] +\definemathsymbol [bar] [accent] [mr] ["16] +\definemathsymbol [breve] [accent] [mr] ["15] +\definemathsymbol [check] [accent] [mr] ["14] +\definemathsymbol [hat] [accent] [mr] ["5E] +\definemathsymbol [vec] [accent] [mi] ["7E] % [ord] +\definemathsymbol [dot] [accent] [mr] ["5F] +\definemathsymbol [widetilde] [accent] [ex] ["65] % [ord] +\definemathsymbol [widehat] [accent] [ex] ["62] % [ord] + +\stopmathcollection + +\startmathcollection[default] + +\definemathsymbol [lmoustache] [open] [ex] ["7A] [ex] ["40] +\definemathsymbol [rmoustache] [close] [ex] ["7B] [ex] ["41] +\definemathsymbol [lgroup] [open] [bf] ["28] [ex] ["3A] +\definemathsymbol [rgroup] [close] [bf] ["29] [ex] ["3B] +\definemathsymbol [arrowvert] [nothing] [sy] ["6A] [ex] ["3C] +\definemathsymbol [Arrowvert] [nothing] [sy] ["6B] [ex] ["3D] +\definemathsymbol [bracevert] [nothing] [ex] ["3E] % ? +\definemathsymbol [Vert] [nothing] [sy] ["6B] [ex] ["0D] +\definemathsymbol [vert] [nothing] [sy] ["6A] [ex] ["0C] +\definemathsymbol [uparrow] [rel] [sy] ["22] [ex] ["78] +\definemathsymbol [downarrow] [rel] [sy] ["23] [ex] ["79] +\definemathsymbol [updownarrow] [rel] [sy] ["6C] [ex] ["3F] +\definemathsymbol [Uparrow] [rel] [sy] ["2A] [ex] ["7E] +\definemathsymbol [Downarrow] [rel] [sy] ["2B] [ex] ["7F] +\definemathsymbol [Updownarrow] [rel] [sy] ["6D] [ex] ["77] +\definemathsymbol [backslash] [nothing] [sy] ["6E] [ex] ["0F] +\definemathsymbol [rangle] [close] [sy] ["69] [ex] ["0B] +\definemathsymbol [langle] [open] [sy] ["68] [ex] ["0A] +\definemathsymbol [rbrace] [close] [sy] ["67] [ex] ["09] +\definemathsymbol [lbrace] [open] [sy] ["66] [ex] ["08] +\definemathsymbol [rceil] [close] [sy] ["65] [ex] ["07] +\definemathsymbol [lceil] [open] [sy] ["64] [ex] ["06] +\definemathsymbol [rfloor] [close] [sy] ["63] [ex] ["05] +\definemathsymbol [lfloor] [open] [sy] ["62] [ex] ["04] + +\definemathsymbol [sqrt] [radical] [sy] ["70] [ex] ["70] + +\stopmathcollection + +\def\PLAINbig #1{{\hbox{$\left#1\vbox to 8.5\p@{}\right.\n@space$}}} +\def\PLAINBig #1{{\hbox{$\left#1\vbox to 11.5\p@{}\right.\n@space$}}} +\def\PLAINbigg#1{{\hbox{$\left#1\vbox to 14.5\p@{}\right.\n@space$}}} +\def\PLAINBigg#1{{\hbox{$\left#1\vbox to 17.5\p@{}\right.\n@space$}}} + +\startrawmathcollection [default] + +\definemathcommand [bigl] [open] {\big} +\definemathcommand [bigm] [rel] {\big} +\definemathcommand [bigr] [close] {\big} +\definemathcommand [Bigl] [open] {\Big} +\definemathcommand [Bigm] [rel] {\Big} +\definemathcommand [Bigr] [close] {\Big} +\definemathcommand [biggl] [open] {\bigg} +\definemathcommand [biggm] [rel] {\bigg} +\definemathcommand [biggr] [close] {\bigg} +\definemathcommand [Biggl] [open] {\Bigg} +\definemathcommand [Biggm] [rel] {\Bigg} +\definemathcommand [Biggr] [close] {\Bigg} + +\definemathcommand [big] {\PLAINbig} +\definemathcommand [Big] {\PLAINBig} +\definemathcommand [bigg] {\PLAINbigg} +\definemathcommand [Bigg] {\PLAINBigg} + +\stoprawmathcollection + +\startmathcollection[default] + +\definemathsymbol [dag] [box] [sy] ["79] +\definemathsymbol [ddag] [box] [sy] ["7A] +\definemathsymbol [S] [box] [sy] ["78] +\definemathsymbol [P] [box] [sy] ["7B] +\definemathsymbol [Orb] [box] [sy] ["0D] + +\stopmathcollection + +\def\PLAINroot#1#2% + {\setbox\z@\hbox{$\m@th#1\sqrt{#2}$}\dimen@\ht\z@ + \advance\dimen@-\dp\z@ + \mkern5mu\raise.6\dimen@\copy\rootbox \mkern-10mu\box\z@} + +\def\PLAINmatrix#1% + {\null\,\vcenter{\normalbaselines\m@th + \ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr + \mathstrut\crcr\noalign{\kern-\baselineskip} + #1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,} + +\startrawmathcollection[default] + +\definemathcommand [mathstrut] {\vphantom{(}} +\definemathcommand [joinrel] {\mathrel{\mkern-3mu}} +\definemathcommand [r@@t] {\PLAINroot} +\definemathcommand [matrix] {\PLAINmatrix} + +\stoprawmathcollection + +\def\{{\lbrace} +\def\}{\rbrace} + +\def\Bbb#1{{\fam\purefamily{blackboard}\relax#1}} +\def\mit {\fam\purefamily{mitfamily}} +\def\cal {\fam\purefamily{calfamily}} + +\protect \endinput diff --git a/tex/context/base/math-tim.tex b/tex/context/base/math-tim.tex new file mode 100644 index 000000000..9069b2f89 --- /dev/null +++ b/tex/context/base/math-tim.tex @@ -0,0 +1,371 @@ +%D \module +%D [ file=math-tim, +%D version=2001.04.12, +%D title=\CONTEXT\ Math Macros, +%D subtitle=Mathtime Specials, +%D author={Hans Hagen \& Taco Hoekwater}, +%D date=\currentdate, +%D copyright=\PRAGMA] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\endinput % i will clean this up after taco has gone over it + +%D With thanks to Berthold Horn from YandY for providing me +%D evaluation copies of the MathTimePlus fonts. + +% version 0 : Michael Spivak +% version 1 : Taco Hoekwater +% version 2 : Hans Hagen +% version 3 : etc etc etc + +\unprotect + +%D We use the predefined spare families \type {\mcfam} and +%D \type {\mdfam}. + +\let\cafam\mcfam \let\hexcafam\hexmcfam +\let\gbfam\mdfam \let\hexgbfam\hexmdfam +\let\gkfam\mdfam \let\hexgkfam\hexmdfam + +% Why is this needed? + +% \font\tenmd =mtgu at 10pt +% \font\sevenmd=mtgu at 7.6pt +% \font\fivemd =mtgu at 6pt +% \font\tenmc =mtms at 10pt +% \font\sevenmc=mtms at 7.6pt +% \font\fivemc =mtms at 6pt +% +% \textfont \mcfam\tenmc \textfont \mdfam\tenmd +% \scriptfont \mcfam\sevenmc \scriptfont \mdfam\sevenmd +% \scriptscriptfont\mcfam\fivemc \scriptscriptfont\mdfam\fivemd + +% \addtocommalist{gk}\familylist +% \addtocommalist{gb}\familylist +% +% \defineinterfaceconstant {ca} {ca} % boohoo! +% \defineinterfaceconstant {gk} {gk} % boohoo! +% \defineinterfaceconstant {gb} {gb} % boohoo! + +% \definealternativestyle[script] [\ca][\ca] +% \definealternativestyle[greek] [\gk][\gk] +% \definealternativestyle[boldgreek][\gb][\gb] + +% \definebodyfont +% [5pt,6pt,7pt,8pt,9pt,10pt,11pt,12pt,14.4pt] [rm] +% [ca=mtms sa 1, +% gk=mtgu sa 1, +% gb=mtgub sa 1] + +%D Since a font size is a rather fuzzy thing, it will be no +%D surprise that the Math Times fonts have different specs +%D than the Computer Modern Roman fonts. +%D +%D \starttabulatie[|Bl|c|c|c|c|c|c|c|c|c|c|] +%D \NC Computer Modern\NC +%D 5 \NC6 \NC7 \NC8 \NC9 \NC10 \NC11 \NC12 \NC14 \NC18\NC\NR +%D \NC Math Times \NC +%D 6.0\NC6.8\NC7.6\NC8.4\NC9.2\NC10.0\NC10.8\NC11.6\NC13.2\NC--\NC\NR +%D \stoptabulatie +%D +%D The following definitions presume the existence of \type +%D {tio} and \type {tibio} font alternatives. Definitions for +%D \type {\tf.} etc and \type {\sc} are left as they are. + +%D moved code + +%D The next lines set up coding dependant versions of math +%D accents (for \type {texnansi} of course). These are needed +%D in commands like \type {\bf} and \type {\it} (which use the +%D text font encoding) a opposed to \type {_no spec_} and +%D \type {mi} that use the math font encoding. This stuff +%D should be made more general! + +% \daghex, \ddaghex and \dothex were wrong in my version of mtmacs + +\def\daghex {86} % to do +\def\ddaghex {87} +\def\Shex {A7} +\def\Phex {B6} +\def\barhex {16} +\def\gravehex{12} +\def\acutehex{13} +\def\checkhex{14} +\def\brevehex{15} +\def\hathex {5E} +\def\dothex {05} +\def\tildehex{7E} +\def\ddothex {7F} + +%D The \type {mtex} fonts need a recalculation of \type +%D {\p@renwd}, which in \CONTEXT\ is done automatically. + +%D The following definitions are mostly copied from the file +%D \type {mtmacs.tex}, which banner said: +%D +%D \starttypen +%D MTMACS.TEX VERSION 1.1.1 (1996 Dec 8) +%D COPYRIGHT (C) 1992, 1993, 1996 BY THE TEXPLORATORS CORPORATION +%D ALL RIGHTS RESERVED +%D \stoptypen +%D +%D We reformatted the macros and changed a few bits and +%D pieces. A further cleanup with regards to the scratch +%D registers will be done later. + +\mathchardef\Gamma = "0130 +\mathchardef\Delta = "0131 +\mathchardef\Theta = "0132 +\mathchardef\Lambda = "0133 +\mathchardef\Xi = "0134 +\mathchardef\Pi = "0135 +\mathchardef\Sigma = "0136 +\mathchardef\Upsilon = "0137 +\mathchardef\Phi = "0138 +\mathchardef\Psi = "0139 +\mathchardef\Omega = "017F +\mathchardef\varGamma = "0100 +\mathchardef\varDelta = "0101 +\mathchardef\varTheta = "0102 +\mathchardef\varLambda = "0103 +\mathchardef\varXi = "0104 +\mathchardef\varPi = "0105 +\mathchardef\varSigma = "0106 +\mathchardef\varUpsilon = "0107 +\mathchardef\varPhi = "0108 +\mathchardef\varPsi = "0109 +\mathchardef\varOmega = "010A +\mathchardef\varkappa = "017E + +\mathchardef\ldotp = "613A + +\mathchardef\triangleleft = "2247 +\mathchardef\triangleright = "2246 +\mathchardef\comp = "2242 + +\mathchardef\Relbar = "3248 +\mathchardef\dagger = "20\daghex % to do +\mathchardef\ddagger = "20\ddaghex % to do +\mathchardef\dotacc = "0250 + +\mathcode`\( = "412E +\mathcode`\) = "512F +\mathcode`\. = "013A +\mathcode`\, = "613B +\mathcode`\+ = "2243 +\mathcode`\= = "3244 +\mathcode`\; = "6249 + +\delcode `\( = "12E300 +\delcode `\) = "12F301 + +\let\mit=\undefined % to do + +\def\vec{\mathaccent"0245 } +\def\t#1{{\edef\next{\the\font}\the\textfont2\accent"41\next#1}} + +% fam equals -1 unless the user has said something +% like \rm (cf. the texbook page 290) + +\def\ifdefaultfamelse#1#2% + {\ifnum\fam=\m@ne\mathaccent#1\else\mathaccent#2\fi} + +\let\noaccents@\relax + +\def\grave {\ifdefaultfamelse{"024A}{"70\gravehex}} +\def\acute {\ifdefaultfamelse{"024B}{"70\acutehex}} +\def\check {\ifdefaultfamelse{"024C}{"70\checkhex}} +\def\breve {\ifdefaultfamelse{"024D}{"70\brevehex}} +\def\bar {\ifdefaultfamelse{"024E}{"70\barhex }} +\def\hat {\ifdefaultfamelse{"024F}{"70\hathex }} +\def\dot {\ifdefaultfamelse{"0250}{"70\dothex }} +\def\tilde {\ifdefaultfamelse{"0251}{"70\tildehex}} +\def\ddot {\ifdefaultfamelse{"0252}{"70\ddothex }} + +\def\widebar{\mathaccent"0253 } + +\def\mathhexbox@#1#2#3% + {\relax + \ifmmode + \mathpalette{}{\m@th\rm\mathchar"#1#2#3}% + \else + \leavevmode + \hbox{$\m@th\rm\mathchar"#1#2#3$}% + \fi} + +\def\dag {\edef\next@{0\daghex }\expandafter\mathhexbox@\next@} +\def\ddag{\edef\next@{0\ddaghex}\expandafter\mathhexbox@\next@} + +\def\S{\edef\next@{0\Shex}\expandafter\mathhexbox@\next@} +\def\P{\edef\next@{0\Phex}\expandafter\mathhexbox@\next@} + +\def\vdots% + {\vbox + {\baselineskip4\p@ + \lineskiplimit\z@ + \kern6\p@\hbox{$\m@th.$}\hbox{$\m@th.$}\hbox{$\m@th.$}}} + +\def\ddots% + {\mathinner + {\mkern1mu + \raise7\p@\vbox{\kern 7\p@\hbox{$\m@th.$}}\mkern2mu + \raise4\p@\hbox{$\m@th.$}\mkern2mu + \raise \p@\hbox{$\m@th.$}\mkern1mu}} + +\def\hbar + {{\mathchoice + {\hbox{\lower.07em \hbox{$\mathchar"\barhex$}}} + {\hbox{\lower.07em \hbox{$\mathchar"\barhex$}}} + {\hbox{\lower.049em\hbox{$\scriptstyle\mathchar"\barhex$}}} + {\hbox{\lower.035em\hbox{$\scriptscriptstyle\mathchar"\barhex$}}}% + \mkern-6.3muh}} + +\def\angle% + {{\vbox{\ialign{$\m@th\scriptstyle##$\crcr + \not\mathrel{\mkern14mu}\crcr + \noalign{\nointerlineskip} + \mkern2.5mu\leaders\hrule height.48\p@\hfill\mkern2.5mu\crcr}}}} + +\newdimen\amstexex + +\amstexex = .2326ex + +\def\varinjlim% + {\mathop{\vtop{\ialign{##\crcr + \hfil\the\textfont\z@ lim\hfil\crcr + \noalign{\nointerlineskip}\rightarrowfill\crcr + \noalign{\nointerlineskip\kern-\amstexex}\crcr}}}} + +\def\varprojlim% + {\mathop{\vtop{\ialign{##\crcr + \hfil\the\textfont\z@ lim\hfil\crcr + \noalign{\nointerlineskip}\leftarrowfill\crcr + \noalign{\nointerlineskip\kern-\amstexex}\crcr}}}} + +\def\varliminf{\mathop{\underbar {lim}}} % context-ified +\def\varlimsup{\mathop{\overstrike{lim}}} % context-ified + +\def\spdot {^{\hbox{\raise\amstexex\hbox{\the\textfont\z@ .}}}} +\def\spddot {^{\hbox{\raise\amstexex\hbox{\the\textfont\z@ ..}}}} +\def\spdddot {^{\hbox{\raise\amstexex\hbox{\the\textfont\z@ ...}}}} +\def\spddddot{^{\hbox{\raise\amstexex\hbox{\the\textfont\z@....}}}} + +%D Here some code is merged in order to save strings. + +\def\domultidot#1#2% + {\setbox0\hbox{$#1#2$}% + \setbox2\hbox{$#1\infty$}% + \dimen0\ht2 + \ifdim\ht0<\dimen0 \dimen0\ht0 \fi + \setbox2\hbox{$#1#2\mathchar"012D$}% + \dimen2\wd2 + \advance\dimen2-\wd0 + \setbox0\hbox{$#1\rhook$}% + \advance\dimen2-\wd0 + \vbox + {\offinterlineskip + \ialign{\hfil$#1##$\hfil\cr + \kern\dimen2\dotacc\mkern-2.5mu\dotacc\mkern-2.5mu\dotacc\thirddot\cr + \noalign{\vskip-\dimen0}% + #2\cr}}} + +\def\dddot% + {\def\thirddot{}% + \mathpalette\domultidot} + +\def\ddddot% + {\def\thirddot{\mkern-2.5mu\dotacc}% + \mathpalette\domultidot} + +\newcount\uproot@ +\newcount\leftroot@ + +\def\nonmatherr#1% + {\errmessage{\noexpand#1allowed only in math mode}} + +\def\uproot#1% + {\relax + \ifmmode + \uproot@#1\relax + \else + \nonmatherr\uproot + \fi} + +\def\leftroot#1% + {\relax + \ifmmode + \leftroot@#1\relax + \else + \nonmatherr\leftroot + \fi} + +\def\root#1\of#2% + {\setbox\rootbox=\hbox{$\m@th\scriptscriptstyle{#1}$}% + \mathpalette\r@@t{#2}} + +\def\r@@t#1#2% + {\setbox\z@=\hbox{$\uproot@\z@\leftroot\z@\m@th#1\sqrt{#2}$}% + \dimen@\ht\z@\advance\dimen@-\dp\z@ + \dimen@ii\dimen@ + \ifdim\dimen@>30\p@ \advance\dimen@ii-16\p@ \else + \ifdim\dimen@>24\p@ \advance\dimen@ii -8\p@ \else + \ifdim\dimen@>18\p@ \advance\dimen@ii -6\p@ \else + \ifdim\dimen@>12\p@ \advance\dimen@ii -4\p@ \else + \ifdim\dimen@>10\p@ \advance\dimen@ii -2\p@ \fi\fi\fi\fi\fi + \setbox\tw@=\hbox{$\m@th#1\mskip\uproot@ mu$}% + \advance\dimen@ii by1.667\wd\tw@ + \mkern-\leftroot@ mu\mkern5mu\raise.6\dimen@ii\copy\rootbox + \mkern-8mu\mkern\leftroot@ mu\box\z@\leftroot\z@\uproot\z@} + +\def\space@.{\futurelet\space@\relax} \space@. % really needed ? + +\def\jadjust% + {\mkern-\tw@ mu} + +%D For the moment the following code is left unchanged. It is +%D not used anyway. + +\newif\ifsubscriptcorrection \subscriptcorrectionfalse + +\ifsubscriptcorrection + + \expandafter\let\csname subscript character \string_\endcsname_ + + \catcode`\_=\active + + \def_% + {\ifmmode + \expandafter\sb@ + \else + \expandafter\csname subscript character \string_\endcsname + \fi} + + \let\sb_ + + \ifnum\catcode`\^^A=8 \catcode`\^^A\active\let^^A_\fi + + \def\sb@#1% + {\csname subscript character \string_\endcsname + {\futurelet\next\sb@@#1}} + + \def\sb@@% + {\ifx\next\space@ + \def\next@. % + {\futurelet\next\sb@@}% + \else + \def\next@.% + {\ifx\next j% + \mkern-\tw@ mu\else + \ifx\next f% + \mkern-\tw@ mu\else + \ifx\next p% + \mkern-\@ne mu\fi\fi\fi}% + \fi + \next@.} + +\fi + +\protect diff --git a/tex/context/base/mult-sys.tex b/tex/context/base/mult-sys.tex index ada1eb0c4..424b172f9 100644 --- a/tex/context/base/mult-sys.tex +++ b/tex/context/base/mult-sys.tex @@ -157,6 +157,8 @@ %D constants. We need these because font-definitions are %D partially english. +\definesystemconstant {run} + \definesystemconstant {fam} \definesystemconstant {text} \definesystemconstant {script} @@ -454,11 +456,14 @@ \definesystemvariable {ta} % TAb \definesystemvariable {tb} % TekstBlokken \definesystemvariable {te} % TEmplate +\definesystemvariable {tf} % TypeFace \definesystemvariable {tg} % Tex paGe \definesystemvariable {ti} % TabelInstellingen \definesystemvariable {tk} % Teksten \definesystemvariable {tl} % TekstLijnen +\definesystemvariable {tm} % TypesynonyM \definesystemvariable {tp} % TyPen +\definesystemvariable {ts} % TypeScript \definesystemvariable {tt} % TabulaTe \definesystemvariable {ty} % TYpe \definesystemvariable {uc} % Unicode @@ -557,11 +562,13 @@ \definefileconstant {colorprefix} {colo-} \definefileconstant {encodingprefix} {enco-} \definefileconstant {regimeprefix} {regi-} +\definefileconstant {typeprefix} {type-} \definefileconstant {fontprefix} {font-} \definefileconstant {javascriptprefix} {java-} \definefileconstant {languageprefix} {lang-} \definefileconstant {metapostprefix} {meta-} \definefileconstant {specialprefix} {spec-} +\definefileconstant {mathprefix} {math-} \definefileconstant {symbolprefix} {symb-} \definefileconstant {xtagprefix} {xtag-} diff --git a/tex/context/base/s-mod-00.tex b/tex/context/base/s-mod-00.tex new file mode 100644 index 000000000..1a9500831 --- /dev/null +++ b/tex/context/base/s-mod-00.tex @@ -0,0 +1,408 @@ +%D \module +%D [ file=s-mod-00, +%D version=very-old, +%D title=\CONTEXT\ Style File, +%D subtitle=Documentation Base Environment, +%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 This module looks like crap, is not documented, will +%D change, and used to be called modu-*.tex. + +% todo: +% +% file inclusions -> hyperlinks + +\newprettytrue + +\gebruikmodule[eenheid] + +\mainlanguage[en] + +\enableactivediscretionaries + +% beter: +% +% group -> title +% title -> category +% subtitle -> subtitle + +% herzien ivm fonts + +% nog eens \interface \\ \\ verder doorvoeren + +\unprotect + +\def\resetmodule% + {\getparameters + [Module] + [ file=\jobname, + version={\currentdate[jaar,{.},maand,{.},dag]}, + title=, + subtitle=, + author=Hans Hagen, + date=\currentdate, + copyright={PRAGMA / Hans Hagen \& Ton Otten}, + suggestions=]} + +\resetmodule + +\def\dostartmodule[#1]% + {\newcounter\ParagraphNumber + \resetmodule + \getparameters[Module][type=tex,#1]} + +\def\startmodule% + {\dosingleempty\dostartmodule} + +\def\complexmodule[#1]% + {\startglobaal % i.v.m. \bgroup in \startdocumentation + \getparameters[Module][#1] + \stopglobaal % i.v.m. \bgroup in \startdocumentation + \moduletitel} + +\def\stopmodule% + {\pagina + \plaatsindex + [balanceren=ja, + aanduiding=nee, + criterium=tekst]} + +\def\simplemodule#1% + {\type{#1}} + +\definecomplexorsimple\module + +\startmode[atpragma] + + \def\TitelPagina#1% can be done more efficient + {\startMPrun + mpgraph := #1 ; + input mp-cont ; + \stopMPrun + \externalfigure[\bufferprefix mprun.#1][hoogte=\vsize,breedte=\hsize]} + + \definieeroverlay[titelpagina][\TitelPagina{512}] + +\stopmode + +\def\moduletitel% + {\ifx\ModuleNumber\undefined \else + \ifnum\ModuleNumber<10 + \edef\ModuleNumber{00\ModuleNumber}% + \else\ifnum\ModuleNumber<100 + \edef\ModuleNumber{0\ModuleNumber}% + \fi\fi + \stelachtergrondenin + [pagina] + [achtergrond=titelpagina] + \fi + \startstandaardopmaak[hoofdstatus=geen,voetstatus=geen] + \switchnaarkorps[14.4pt,ss] + \definefont[temp][SansBold at 72pt] % \font\temp=cmssbx10 at 72pt + \bgroup + \def\CONTEXT {Con\kern-.15em\TeX t} + \def\TEXUTIL {\TeX Util} + \def\PPCHTEX {PPCH\TeX} + \regellinks{\temp \CONTEXT} \vskip24pt + \doifelse{\Modulesubtitle}{} + {\regellinks{\bfd \Moduletitle} \vfill} + {\regellinks{\bfd \Modulesubtitle} \vfill + \doifnot{\Moduletitle}{} + {\regellinks{\bf category: \Moduletitle} \vskip6pt}} + %\regellinks{\bf version: \Moduleversion} \vskip6pt + %\regellinks{\bf date: \Moduledate} \vskip6pt + \regellinks{\bf author: \Moduleauthor} \vskip6pt + \regellinks{\bf date: \currentdate} \vskip6pt + \doifnot{\Modulesuggestions}{} + {\regellinks{\bs suggestions: \Modulesuggestions} \vskip6pt} + %\regellinks{\bf copyright: \Modulecopyright} \par + \egroup + \stopstandaardopmaak + \ifx\ModuleNumber\undefined \else + \stelachtergrondenin[pagina][achtergrond=] + \fi} + +\let\stopdocumentation=\relax + +\def\startdocumentation% + {\bgroup + \doglobal\newcounter\NOfMarginLines + \def\stopdocumentation{\par\egroup}} + +\newif\ifcompressdefinitions + +\def\startcompressdefinitions {\global\compressdefinitionstrue} +\def\stopcompressdefinitions {\global\compressdefinitionsfalse} + +\gdef\CompressDefinitions% + {\ifcompressdefinitions + \switchnaarkorps[klein]% + \fi} + +\definieertypen + [definition] + +\steltypenin + [definition] + [voor={\pagina[voorkeur]}\blanko\PresetParagraphNumber\CompressDefinitions, + na=\ResetParagraphNumber\blanko, + optie=\Moduletype] + +\definieertypen + [PL] + [optie=PL, + marge=standaard] + +\definieertypen + [JV] + [optie=JV, + marge=standaard] + +\definieertypen + [MP] + [optie=MP, + marge=standaard] + +\definieertypen + [TEX] + [optie=TEX, + marge=standaard] + +\steltypenin [typen] [marge=standaard] +\steltypenin [file] [marge=standaard] +\steltypenin [definition] [marge=0pt] + +\newcounter\NOfMarginLines +\newcounter\ParagraphNumber + +\def\ResetParagraphNumber% + {\egroup} + +\def\PresetParagraphNumber% + {\bgroup + \xdef\NOfTextLines% + {\the\prevgraf}% + \doglobal\decrement\NOfMarginLines + \doglobal\increment\ParagraphNumber + \message{.}% + \gdef\ShowParagraphNumber% + {\llap{\slx\ParagraphNumber\hskip\linkermargeafstand}}% + \gdef\ShowParagraphNumberA% + {\ifnum\NOfMarginLines>\NOfTextLines\relax + \doglobal\increment\NOfTextLines + \else + \ShowParagraphNumber + \global\let\ShowParagraphNumberA=\relax + \global\let\ShowParagraphNumberB=\ShowParagraphNumber + \doglobal\newcounter\NOfMarginLines + \fi}% + \gdef\ShowParagraphNumberB% + {}% + \EveryLine + {\ShowParagraphNumberA}% + \EveryPar + {\vadjust{\nobreak}% + \ShowParagraphNumberB}} + +\EveryPar % skip one + {\EveryPar + {\doglobal\newcounter\NOfMarginLines}} + +\def\dodomargeaanduidingen[#1]#2% + {\def\docommando##1% + {\indent\hbox + {\ifx#2\relax + \index{##1}% + \else + \index{#2{##1}}% + \fi + #2{\doboundtext{##1}{\linkermargebreedte}{..}}}% + \doglobal\increment\NOfMarginLines + \endgraf}% + \processcommalist[#1]\docommando} + +\def\margeaanduidingen#1[#2]% + {\def\domargeaanduidingen##1##2% + {\margetitel[#2]% + {\switchnaarkorps[klein]% + \doglobal\newcounter\NOfMarginLines + \dodomargeaanduidingen[##1]#1% + \scratchcounter=\NOfMarginLines + \multiply\scratchcounter by 10 + \divide\scratchcounter by 12 + \advance\scratchcounter by 1 + \xdef\NOfMarginLines{\the\scratchcounter}% + \processcommalist[##2]\index}}% + \dodoublegroupempty\domargeaanduidingen} + +\def\complexmacros% + {\margeaanduidingen\tex} + +\def\complexextras% + {\margeaanduidingen\relax} + +\definecomplexorsimpleempty\macros +\definecomplexorsimpleempty\extras + +% \macros{a,b} +% \macros{a,b}{b} +% \macros[a]{a,b}{b} + +\definieeralineas [interface] [n=2] +\stelalineasin [interface] [1] [breedte=4cm] + +\def\startvoorbeeld{\par\startsmaller} +\def\stopvoorbeeld {\stopsmaller} + +\gdef\VisualizeLastSpace% + {\ifdim\lastskip>0pt\unskip\tttf\char32\fi} +\gdef\ShowHeadText#1% + {\tttf#1\VL\headtext{#1}\VisualizeLastSpace}% +\gdef\ShowLabelText#1% + {\tttf#1\VL\labeltext{#1}\VisualizeLastSpace} + +\startbuffer[lang-a] +\starttabel[|l|l|] + \HL + \VL \bf head key \VL \bf current value \VL\SR + \HL + \VL \ShowHeadText \v!afkortingen \VL\FR + \VL \ShowHeadText \v!eenheden \VL\MR + \VL \ShowHeadText \v!figuren \VL\MR + \VL \ShowHeadText \v!grafieken \VL\MR + \VL \ShowHeadText \v!index \VL\MR + \VL \ShowHeadText \v!inhoud \VL\MR + \VL \ShowHeadText \v!intermezzos \VL\MR + \VL \ShowHeadText \v!logos \VL\MR + \VL \ShowHeadText \v!tabellen \VL\LR + \HL +\stoptabel +\stopbuffer + +\startbuffer[lang-b] +\starttabel[|l|l|] + \HL + \VL \bf label key \VL \bf current value \VL\SR + \HL + \VL \ShowLabelText \v!tabel \VL\FR + \VL \ShowLabelText \v!figuur \VL\MR + \VL \ShowLabelText \v!intermezzo \VL\MR + \VL \ShowLabelText \v!grafiek \VL\MR + \VL \ShowLabelText \v!hoofdstuk \VL\MR + \VL \ShowLabelText \v!paragraaf \VL\MR + \VL \ShowLabelText {\v!sub\v!paragraaf} \VL\MR + \VL \ShowLabelText {\v!sub\v!sub\v!paragraaf} \VL\MR + \VL \ShowLabelText \v!bijlage \VL\MR + \VL \ShowLabelText \v!deel \VL\MR + \VL \ShowLabelText \v!regel \VL\MR + \VL \ShowLabelText \v!regels \VL\LR + \HL +\stoptabel +\stopbuffer + +\startbuffer[lang-c] +\starttabel[|l|l|] + \HL + \VL \bf label key \VL \bf current value \VL\SR + \HL + \VL \ShowLabelText \v!january \VL\FR + \VL \ShowLabelText \v!february \VL\MR + \VL \ShowLabelText \v!march \VL\MR + \VL \ShowLabelText \v!april \VL\MR + \VL \ShowLabelText \v!may \VL\MR + \VL \ShowLabelText \v!june \VL\MR + \VL \ShowLabelText \v!july \VL\MR + \VL \ShowLabelText \v!august \VL\MR + \VL \ShowLabelText \v!september \VL\MR + \VL \ShowLabelText \v!october \VL\MR + \VL \ShowLabelText \v!november \VL\MR + \VL \ShowLabelText \v!december \VL\LR + \HL +\stoptabel +\stopbuffer + +\startbuffer[lang-d] +\starttabel[|l|l|] + \HL + \VL \bf label key \VL \bf current value \VL\SR + \HL + \VL \ShowLabelText \v!sunday \VL\FR + \VL \ShowLabelText \v!monday \VL\MR + \VL \ShowLabelText \v!tuesday \VL\MR + \VL \ShowLabelText \v!wednesday \VL\MR + \VL \ShowLabelText \v!thursday \VL\MR + \VL \ShowLabelText \v!friday \VL\MR + \VL \ShowLabelText \v!saturday \VL\MR + \HL +\stoptabel +\stopbuffer + +\gdef\ShowTextsValues [#1] [#2] + {\vbox\bgroup + \language[#1]% + \setbox0=\hbox to \hsize{\hss\bfb#2 language defaults\hss} + \dp0=0pt + \box0 + \vskip1em + \hrule + \vskip2em + \halign + {\hss##\hss&##\hskip1em&\hss##\hss\cr + $\vcenter{\haalbuffer[lang-a]}$&&$\vcenter{\haalbuffer[lang-b]}$\cr + \noalign{\vskip1em} + $\vcenter{\haalbuffer[lang-c]}$&&$\vcenter{\haalbuffer[lang-d]}$\cr}% + \egroup} + +\gdef\ShowLanguageValues [#1] [#2] #3 #4 + {\hbox to \hsize + {\hss + \vbox + \bgroup + \language[#1]% + \let\normalbar=| + \starttabel[||||] + \HL + \VL \THREE{\bf subsentence symbol and quotes} \VL\SR + \HL + \VL \citaat{#3 #4} \VL \citeer{#2} \VL \let|=\normalbar |<||<|#3|>|#4|>| \VL\SR + \HL + \stoptabel + \egroup + \hss}} + +\gdef\doShowAllLanguageValues [#1] [#2] #3 #4 + {\vbox + {\ShowTextsValues [#1] [#2] + \vskip2em + \ShowLanguageValues [#1] [#2] #3 #4 } + \protect + \pagina} + +\gdef\ShowAllLanguageValues% + {\pagina + \unprotect + \doShowAllLanguageValues} + +\protect + +%D Command references: + +\input setupa +\input setupb + +\def\showsetup% + {\doglobal\newcounter\CurrentArgument + \setup} + +\stelkadertekstenin + [setuptext] + [achtergrond=raster, + kader=uit] + +\endinput diff --git a/tex/context/base/s-mod-01.tex b/tex/context/base/s-mod-01.tex new file mode 100644 index 000000000..09fc90df7 --- /dev/null +++ b/tex/context/base/s-mod-01.tex @@ -0,0 +1,144 @@ +%D \module +%D [ file=s-mod-01, +%D version=very-old, +%D title=\CONTEXT\ Style File, +%D subtitle=Documentation Paper Environment, +%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 This module looks like crap, is not documented, will +%D change, and used to be called modu-*.tex. + +\input s-mod-00.tex + +\stelkorpsin + [10pt,ams] + +\taal + [en] + +\stelwitruimtein + [groot] + +\steltolerantiein + [soepel] + +\emergencystretch=5em + +\stellayoutin + [rugwit=3.5cm, + linkermarge=1.75cm, + rechtermarge=0cm, + margeafstand=.5cm, + linkerrandafstand=.25cm, + rechterrandafstand=.5cm, + rand=1.5cm, + breedte=15.55333cm, % 13.998cm at 9pt => 15.55333 at 10pt + kopwit=2cm, + hoofd=1.25cm, + voet=1.25cm, + hoogte=25cm, + letter=\ss] + +\stelsetupin + [verwijzing=1] + +\startnotmode[single] + + \stelnummeringin + [variant={dubbelzijdig,enkelzijdig}] + +\stopnotmode + +\stelnummeringin + [plaats=] + +\stelvoettekstenin + [rand] + [][paginanummer] + +\startmode[single] + + \stelvoettekstenin + [marge] + [\tt\Modulefile][] + +\stopmode + +\startnotmode[single] + + \stelvoettekstenin + [marge] + [\tt\Modulefile][] + [\tt\Modulefile][] + +\stopnotmode + +\stelvoettekstenin + [tekst] + [\CONTEXT] + [\Moduletitle] + +\stelhoofdtekstenin + [tekst] + [] + [\Modulesubtitle] + +\stelinmargein + [plaats=links] + +\stelkoppenin + [variant=inmarge] + +\stelkopin + [hoofdstuk] + [letter=\ssc, + pagina=rechts, + hoofd=leeg] + +\stelkopin + [paragraaf] + [letter=\ssb, + pagina=rechts] + +\stellijstin + [hoofdstuk] + [letter=vet, + na=\blanko] + +\stelinhoudin + [breedte=3em, + titeluitlijnen=ja] + +\stelindexin + [balanceren=ja, + aanduiding=nee] + +\startnotmode[nocolor] + +\stelkleurenin + [status=start] + +\stopnotmode + +\startnotmode[color] + + \stelkleurenin + [conversie=altijd] + + \steltypenin + [palet=graypretty] + +\stopnotmode + +\stelinteractiein + [status=start, + kleur=, + letter=] + +\endinput diff --git a/tex/context/base/s-mod-02.tex b/tex/context/base/s-mod-02.tex new file mode 100644 index 000000000..0280a2fd8 --- /dev/null +++ b/tex/context/base/s-mod-02.tex @@ -0,0 +1,409 @@ +%D \module +%D [ file=s-mod-02, +%D version=very-old, +%D title=\CONTEXT\ Style File, +%D subtitle=Documentation Screen Environment, +%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 This module looks like crap, is not documented, will +%D change, and used to be called modu-*.tex. + +% Macro's + +\input s-mod-00.tex + +\stelkopin[paragraaf][expansie=commando] + +\def\complexmodule[#1]% redefined + {\startglobaal % i.v.m. \bgroup in \startdocumentation + \getparameters[Module][#1] + \stopglobaal % i.v.m. \bgroup in \startdocumentation + \paragraaf{\Modulesubtitle} + \SchrijfLijstenWeg} + +\def\stopmodule% redefined + {\pagina + \bepaalregisterkenmerken + [index] + [criterium=paragraaf] + \ifutilitydone + \paginareferentie + [index] + \plaatsregister + [index] + [balanceren=ja, + aanduiding=nee, + criterium=paragraaf] + \fi} + +\let\StelLijstenSamen=\relax + +\newcounter\ModuleNumber + +\newwrite\BatchFile \openout\BatchFile=\jobname.bat + +\def\WriteBatchFile% + {\doglobal\increment\ModuleNumber + \immediate\write\BatchFile{call modu-run \FileName\space \ModuleNumber}} + +\newif\ifProcessingPublic + +\def\SchrijfLijstenWeg% + {\schrijfnaarlijst[FileNames] {}{\FileName} + \schrijfnaarlijst[GroupItems]{}{\GroupItem}} + +\def\moduletitel{} + +\def\TypeZeroModule#1% + {\paragraaf{[to be extracted: #1]} + {\em This module is not yet split off.} + \SchrijfLijstenWeg} + +\def\TypeOneModule#1% + {\paragraaf{[to be documented: #1]} + {\em This module is not yet fully documented.} + \SchrijfLijstenWeg} + +\def\TypeTwoModule#1% + {\ifProcessingPublic + \readfile{#1.ted}{}{}% + \WriteBatchFile + \else + \paragraaf{[not yet public: #1]} + {\em This module is documented but not yet public.} + \SchrijfLijstenWeg + \fi} + +\def\TypeThreeModule#1% + {\readfile{#1.ted}{}{}% + \WriteBatchFile} + +\def\verwerkmodule#1#2% + {\pagina + \bgroup + \def\FileName{#1} + \stelrefererenin[prefix=#1] + \gebruikexterndocument[PaperVersion][#1][] + \aftersplitstring#1\at-\to\GroupItem + \StelLijstenSamen + \ifcase#2 + \TypeZeroModule{#1} + \or + \TypeOneModule{#1} + \or + \TypeTwoModule{#1} % \TypeThreeModule{#1} + \or + \TypeThreeModule{#1} + \fi + \pagina + \stelrefererenin[prefix=] + \egroup} + +\def\ModuleGroep#1#2% + {\pagina + \let\Modulefile=\empty + \stelrefererenin[prefix=#1] + \def\FileGroup{#1} + \schrijfnaarlijst[FileGroups]{}{\FileGroup} + \hoofdstuk[inhoud]{#2} + \MaakLijstMetItems + \MaakLijstMetNames + \MaakLijstMetGroups + \plaatsinhoud[criterium=hoofdstuk,niveau=paragraaf]} + +% Layout + +\stelkorpsin + [9pt,ams] + +\taal + [en] + +\stelpapierformaatin + [S6][S6] + +\stellayoutin + [rugwit=72.5pt, + linkermarge=50pt, + linkermargeafstand=12.5pt, + rechtermarge=0pt, + rechterrand=80pt, + rechterrandafstand=10pt, + linkerrand=0pt, + breedte=430pt, + kopwit=10pt, + hoofd=0pt, + voet=30pt, + onderafstand=10pt, + onder=15pt, + hoogte=410pt, + letter=\ss] + +\steltypenin + [palet=colorpretty] + +\stelsetupin + [verwijzing=3] + +\definieerkleur [texprettyone] [r=.8, g=0, b=0] % red +\definieerkleur [texprettytwo] [r=0, g=.6, b=0] % green + +\definieerkleur [AchtergrondKleur] [s=.5] % [r=1,g=1,b=.7] +\definieerkleur [ButtonKleur] [s=.85] % [r=.1,g=.5,b=.8] + +\stelinteractiein + [status=start, + pagina=ja, + contrastkleur=, + menu=aan, + kleur=] + +\stelachtergrondenin + [pagina] + [achtergrond=kleur, + kleur=AchtergrondKleur, + offset=2.5pt] % this offset influences the menus! + +\stelachtergrondenin + [tekst,voet] + [tekst,linkermarge] + [achtergrond=kleur, + kleur=wit] + +\stelsubpaginanummerin + [wijze=perparagraaf, + status=start] + +\stelinteractiebalkin + [kader=uit, + offset=0pt, + hoogte=passend] + +\stelwitruimtein + [groot] + +\steltypenin + [typen] + [optie=kleur] + +\steltypenin + [definition] + [optie=kleur] + +\steltypenin + [file] + [optie=kleur] + +\stelnummeringin + [variant=enkelzijdig, + wijze=perparagraaf, + status=geen] + +\stelinmargein + [plaats=links] + +\stelkoppenin + [variant=inmarge] + +\stelkopin + [hoofdstuk] + [letter=\ssc, + pagina=rechts] + +\stelkopin + [paragraaf] + [letter=\ssb, + pagina=rechts] + +\stellijstin + [hoofdstuk] + [letter=vet, + na=\blanko] + +\stelinhoudin + [breedte=2em] + +\stelindexin + [balanceren=ja, + aanduiding=nee] + +\stelkleurenin + [status=start] + +\def\TitelBlad#1% + {\startstandaardopmaak + \definefont[GrootFont] [SansBold at 72pt] + \definefont[MiddelFont][Sans at 32pt] + \definefont[KleinFont] [Sans at 24pt] + \startkleur[AchtergrondKleur] + \vskip12pt + \regelmidden{\GrootFont\setstrut\strut Con\TeX t} + \vskip24pt + \regelmidden{\MiddelFont\setstrut\strut #1} + \vskip24pt + \regelmidden{\KleinFont\setstrut\strut Hans Hagen} + \vfilll + \regelmidden{\KleinFont\setstrut\strut PRAGMA ADE} + \vskip24pt + \regelmidden{\KleinFont\setstrut\strut www.pragma-ade.nl --- \currentdate} + \vskip12pt + \stopkleur + \stopstandaardopmaak} + +\def\ColofonBlad% + {\startmode[atpragma] + \pagina + \bgroup + \def\PragmaHoogte {\zethoogte} + \def\PragmaBreedte{\tekstbreedte} + \def\PragmaKopwit {\kopwit} + \def\PragmaRugwit {\rugwit} + \def\PragmaMarge {0pt} + \PragmaLijnentrue + \PlaatsPragmaLogo[ADE] + \vfill + \startsmaller[3*midden] + This is the official documentation of \CONTEXT\ version + \kenmerkdatum, a \TEX\ macropackage developed by J.~Hagen + \& A.F.~Otten, who both hold the copyrights. + \stopsmaller + \vfill + \pagina + \egroup + \stopmode} + +\newbox\LijstMetItems +\newbox\LijstMetGroups +\newbox\LijstMetNames + +\definieerlijst[FileNames] \def\FileName {} +\definieerlijst[FileGroups] \def\FileGroup {} +\definieerlijst[GroupItems] \def\GroupItem {} + +\stellijstin + [FileNames,FileGroups,FileGroups] + [expansie=ja, + paginanummer=nee, + letter=\ss\bf] + +\stellijstin + [FileNames] + [commando=\FileNameEntry, + variant=geen] + +\stellijstin + [FileGroups] + [commando=\FileGroupEntry, + na=\hss, + variant=geen] + +\def\FileNameEntry#1#2#3% + {\strut\hbox{#2}} + +\def\FileGroupEntry#1#2#3% + {\strut#2} + +\def\MaakLijstMetItems% + {\setbox\LijstMetItems=\vbox + {\ss\bf + \stelinteractiein[kleur=ButtonKleur] + \plaatslijst[GroupItems][criterium=hoofdstuk]}} + +\def\MaakLijstMetNames% + {\setbox\LijstMetNames=\vbox + {\hsize\rechterrandbreedte + \ss\bf\stelinterliniein + \stelinteractiein[kleur=ButtonKleur] + \startsimplecolumns[afstand=10pt] + \plaatslijst[FileNames][criterium=hoofdstuk] + \stopsimplecolumns}} + +\def\MaakLijstMetGroups% + {\setbox\LijstMetGroups=\hbox to \tekstbreedte + {\ss\bf + \stelinteractiein[kleur=ButtonKleur]% + \plaatslijst[FileGroups][criterium=alles]\unskip\unskip}} + +\setbox\LijstMetGroups=\hbox{} + +%\stelvoettekstenin +% [rand] +% [] +% [{\interactiebalk[variant=g]}] + +\stelinteractiemenuin + [rechts,onder] + [status=start, + kader=uit, + kleur=AchtergrondKleur, + letter=\ss\bf, + hoogte=15pt, + offset=0pt, + tussen=\vskip5pt, + achtergrond=kleur, + achtergrondkleur=ButtonKleur] + +\startinteractiemenu[rechts] + \boxofsize \vbox \teksthoogte \voetafstand \voethoogte 5pt + \bgroup + \copy\LijstMetNames + \vfill + \but [\FileGroup:inhoud] local contents \\ + \but [\FileName:index] local register \\ + \but [PaperVersion::begin] paper version \\ + \but [inhoud] main contents \\ + \but [index] main register \\ + \but [VorigeSprong] previous jump \\ + \but [VerlaatViewer] close document \\ + \unskip + \egroup +\stopinteractiemenu + +\startinteractiemenu[onder] + \unhcopy\LijstMetGroups +\stopinteractiemenu + +\def\plaatsmoduleregister% + {\startuitleidingen + \stelsubpaginanummerin[reset] + \titel[-:index]{Register} + \plaatsindex + \stopuitleidingen} + +\def\plaatsmoduleinhoud% + {\startinleidingen + \titel[-:inhoud]{Contents} + \stelinteractiebalkin[status=stop] + \plaatsinhoud[criterium=tekst,niveau=hoofdstuk] + \stopinleidingen} + +\stelinhoudin + [paginanummer=nee, + niveau=hoofdstuk, + interactie=alles, + letter=, + voor=, + na=] + +\stelvoettekstenin + [marge] + [\tt\Modulefile] + [] + +\stelvoettekstenin + [tekst] + [hoofdstuk][paragraaf] + +\stelindexin + [symbool=1] + +\steltolerantiein + [zeersoepel] + +\endinput diff --git a/tex/context/base/s-pre-00.tex b/tex/context/base/s-pre-00.tex index 583d2a0ec..e11e6f3fd 100644 --- a/tex/context/base/s-pre-00.tex +++ b/tex/context/base/s-pre-00.tex @@ -75,14 +75,14 @@ \setupfield [presentation] [\c!breedte=\v!passend,\c!hoogte=\v!passend,\c!offset=\v!overlay, - \c!strut=\v!nee,\c!kader=\v!uit,\c!optie={\v!alleenleesbaar}] + \c!strut=\v!nee,\c!kader=\v!uit,\c!optie=\v!alleenleesbaar] \definesymbol [\presentationtag] [\presentationshade] \def\presentationshade% {\presentationshield [\c!breedte=\tekstbreedte,\c!hoogte=\presentationstepheight]{}} - \definefield[\presentationtag][check][presentation][\presentationtag][\presentationtag] + \definefield[\presentationtag][check][presentation][\presentationtag,\v!geen][\presentationtag] \fitfield[\presentationtag]}} \startJSpreamble {presentation} used later @@ -141,6 +141,33 @@ %D \setupfootertexts[{\button{Show Up}[NextStep]}] %D \stoptypen %D +%D In case of presentation style 2, you can say: +%D +%D \starttypen +%D \definereference[Whatever][JS(NextPresentation{\realfolio})] +%D \stoptypen +%D +%D Depending of the viewer, you need to reset the fields at +%D startup: +%D +%D \starttypen +%D \setupinteraction[openaction=ResetForm] +%D \stoptypen +%D +%D Fixed spacing give you the best results: +%D +%D \starttypen +%D \setupwhitespace[fixed] +%D \setupblank[fixed] +%D \stoptypen +%D +%D Sometimes you need to set the color of the background, as +%D with style 2: +%D +%D \starttypen +%D \definecolor[StepColor][Page] +%D \stoptypen +%D %D Special effects can be reached with: %D %D \starttypen diff --git a/tex/context/base/setupa.tex b/tex/context/base/setupa.tex new file mode 100644 index 000000000..1eb92b164 --- /dev/null +++ b/tex/context/base/setupa.tex @@ -0,0 +1,771 @@ +%D \module +%D [ file=setupa, +%D version=1998.07.20, +%D title=\CONTEXT\ Setup Definitions, +%D subtitle=Macro Definitions, +%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. + +\startmessages dutch library: setup + title: setup + formula: formule + number: getal + list: lijst + dimension: maat + mark: markering + reference: verwijzing + command: commando + file: file + name: naam + text: tekst + section: sectie + singular: naam enkelvoud + plural: naam meervoud + matrix: n*m + see: zie + 1: de karakters < en > zijn globaal actief! + 2: -- wordt verwerkt + 3: -- is niet gedefinieerd + 4: -- wordt nogmaals verwerkt +\stopmessages + +\startmessages english library: setup + title: setup + formula: formula + number: number + list: list + dimension: dimension + mark: mark + reference: reference + command: command + file: file + name: name + text: text + section: section + singular: singular name + plural: plural name + matrix: n*m + see: see + 1: the characters < and > are globally active! + 2: -- is processed + 3: -- is undefined + 4: -- is processed again +\stopmessages + +\startmessages german library: setup + title: Setup + formula: Formel + number: Nummer + list: Liste + dimension: Dimension + mark: Beschriftung + reference: Referenz + command: Befehl + file: Datei + name: Name + text: Text + section: Abschnitt + singular: singular + plural: plural + matrix: n*m + see: siehe + 1: Die Zeichen < und > gelten global! + 2: -- wird verarbeitet + 3: -- ist undefiniert + 4: -- ist mehrmals verarbeitet +\stopmessages + +\startmessages czech library: setup + title: setup + formula: rovnice + number: cislo + list: seznam + dimension: dimenze + mark: znacka + reference: reference + command: prikaz + file: soubor + name: jmeno + text: text + section: sekce + singular: jmeno v singularu + plural: jmeno v pluralu + matrix: n*m + see: viz + 1: znaky < a > jsou globalne aktivni! + 2: -- je zpracovano + 3: -- je nedefinovano + 4: -- je zpracovano znovu +\stopmessages + +\startmessages italian library: setup + title: setup + formula: formula + number: number + list: list + dimension: dimension + mark: mark + reference: reference + command: command + file: file + name: name + text: text + section: section + singular: singular name + plural: plural name + matrix: n*m + see: see + 1: the characters < and > are globally active! + 2: -- is processed + 3: -- is undefined + 4: -- is processed again +\stopmessages + +\startmessages romanian library: setup + title: setari + formula: formula + number: numar + list: lista + dimension: dimensiune + mark: marcaj + reference: referinta + command: comanda + file: fisier + name: nume + text: text + section: sectiune + singular: nume singular + plural: nume pluram + matrix: n*m + see: vezi + 1: caracterele < si > sunt active global! + 2: este procesat -- + 3: -- este nedefinit + 4: -- este procesat din nou +\stopmessages + + +% we need some more constants + +\interfacetranslationtrue + +\input mult-sys +\input mult-con +\input mult-com + +% Enkele letter-instellingen + +\def\setupnumfont {} +\def\setuptxtfont {\tttf} +\def\setupvarfont {\ttsl} +\def\setupoptfont {\ttsl} +\def\setupalwcolor {} +\def\setupoptcolor {darkgray} + +% Het onderstaande is nodig om \type af te handelen in +% argumenten. Standaard gebeurt dit niet. + +% Het actief maken en toekennen moet zeer vroeg gebeuren, +% in ieder geval voordat cont-00a wordt geladen. Zoniet, +% dan gaat het mis op commando's als \processaction. De +% mathematische mode en vergelijken van waarden met \if +% gaat echter wel goed. + +% Omdat in een acrobat geen < en > in een label mogen +% zitten, moeten we deze karakters bij verwijzingen +% converteren naar wat onschuldiger varianten. + +\catcode`\<=\active +\catcode`\>=\active + +\def<{\lesscharacter} +\def>{\morecharacter} + +\def\protectmoreless{\def<{@}\def>{@}} + +\showmessage{setup}{1}{} + +% \stelsetupin +% [verwijzing=<0,1,2,3>] +% +% \startsetup +% \command[name] +% \type[list] +% \value[values][default] +% \variable[variable][values][default] +% \stopsetup +% +% \setup{name} +% +% \volledigelijstmettexcommandos +% \plaatslijstmettexcommandos +% +% \c!val! [a] +% \c!vals! [a,b,c] +% +% \c!var! [x=] +% \c!vars! [x=,y=,z=] +% +% \c!trip! [x:y:z] +% \c!trips! [x:y:z,..] +% +% \c!arg! {..} +% \c!args! {..,..,..} +% +% \c!wrd! {..} +% \c!wrds! {.. .. ..} +% +% \c!idx! {..} +% \c!idxs! {..+..+..} +% +% \c!mat! $..$ +% \c!dis! $$..$$ +% +% \c!pos! (x) +% \c!poss! (x,y) +% +% \c!nop! ... +% +% \c!fil! ... +% +% \c!stp! \stop... +% +% \c!ref! [ref] +% \c!refs! [ref,..] +% +% \c!par! \par +% +% \c!cmd! \commando +% +% \c!opt! optioneel +% \c!alwint! altijd interactief +% \c!optint! optioneel interactief +% +% \c!dest! {..[refs]} +% \c!dests! {..[refs]},.. +% +% \c!one! #1 +% \c!two! #2 +% \c!three! #3 +% +% \c!font! fontspecificatie +% +% \c!sep! \\ + +\unprotect + +\def\@@setup {@@setup} +\def\c!stp {} +\def\c!setupref {stp} +\def\??stp {@@stp} + +\def\c!command!% + {{\setupvarfont\getmessage{setup}{command}}} + +\def\c!dimension!% + {{\setupvarfont\getmessage{setup}{dimension}}} + +\def\c!filename!% + {{\setupvarfont\getmessage{setup}{file}}} + +\def\c!identifier!% + {{\setupvarfont\getmessage{setup}{name}}} + +\def\c!character!% + {{\setupvarfont\getmessage{setup}{character}}} + +\def\c!marker!% + {{\setupvarfont\getmessage{setup}{mark}}} + +\def\c!number!% + {{\setupvarfont\getmessage{setup}{number}}} + +\def\c!reference!% + {{\setupvarfont\getmessage{setup}{reference}}} + +\def\c!plural!% + {{\setupvarfont\getmessage{setup}{plural}}} + +\def\c!singular!% + {{\setupvarfont\getmessage{setup}{singular}}} + +\def\c!text!% + {{\setupvarfont\getmessage{setup}{text}}} + +\def\c!formula!% + {{\setupvarfont\getmessage{setup}{formula}}} + +\def\c!font!% + {{\setupvarfont\getmessage{setup}{file}}} + +\def\c!matrix!% + {{\setupvarfont\getmessage{setup}{matrix}}} + +\def\c!list!% + {{\setupvarfont\getmessage{setup}{list}}} + +\def\c!section!% + {{\setupvarfont\getmessage{setup}{section}}} + +\def\c!noargument!% + {{\setupvarfont\texescape\getmessage{setup}{command}}} + +\def\c!oneargument!% + {{\setupvarfont\texescape\getmessage{setup}{command}\#1}} + +\def\c!twoarguments!% + {{\setupvarfont\texescape\getmessage{setup}{command}\#1\#2}} + +\def\c!threearguments!% + {{\setupvarfont\texescape\getmessage{setup}{command}\#1\#2\#3}} + +\def\c!repeat! {\c!opt!{{\setupvarfont n}*}} +\def\c!arg! {\leftargument\c!dots!\rightargument} +\def\c!args! {\leftargument..,\c!dots!,..\rightargument} +\def\c!dis! {\$\$\c!dots!\$\$} +\def\c!idx! {\leftargument\c!dots!\rightargument} +\def\c!idxs! {\leftargument..+\c!dots!+..\rightargument} +\def\c!mat! {\$\c!dots!\$} +\def\c!nop! {\c!dots!} +\def\c!fil! {~\c!dots!~} +\def\c!pos! {(\c!dots!)} +\def\c!poss! {(\c!dots!,\c!dots!)} +\def\c!sep! {\texescape\texescape} +\def\c!ref! {[{\setupvarfont ref}]} +\def\c!refs! {[{\setupvarfont ref},..]} +\def\c!val! {[\c!dots!]} +\def\c!vals! {[..,\c!dots!,..]} +\def\c!var! {[..=..]} +\def\c!vars! {[..,..=..,..]} +\def\c!cmd! {\c!noargument!} +\def\c!dest! {[\leftargument..\c!ref!\rightargument]} +\def\c!dests! {[..,\leftargument..\c!refs!\rightargument,..]} +\def\c!trip! {[x:y:z=]} +\def\c!trips! {[x:y:z=,..]} +\def\c!wrd! {\leftargument\c!dots!\rightargument} +\def\c!wrds! {\leftargument.. \c!dots!\ ..\rightargument} +\def\c!par! {\texescape par} +\def\c!opt! #1{{\setupoptfont{#1}}} +\def\c!tex! #1{\texescape#1} +\def\c!or! {\hbox spread .25em{\vl}} + +\let\redefinesetupconstants=\relax + +% Test: + +\newif\ifbreaksetup +\def\breaksetup{\ifbreaksetup\allowbreak\fi} + +\def\c!repeat! {\breaksetup\c!opt!{{\setupvarfont n}*}\breaksetup} +\def\c!arg! {\breaksetup\leftargument\c!dots!\rightargument\breaksetup} +\def\c!args! {\breaksetup\leftargument..,\breaksetup\c!dots!,\breaksetup..\rightargument\breaksetup} +\def\c!dis! {\breaksetup\$\$\c!dots!\$\$\breaksetup} +\def\c!idx! {\breaksetup\leftargument\c!dots!\rightargument\breaksetup} +\def\c!idxs! {\breaksetup\leftargument..+\breaksetup\c!dots!+\breaksetup..\rightargument\breaksetup} +\def\c!mat! {\breaksetup\$\c!dots!\$\breaksetup} +\def\c!nop! {\breaksetup\c!dots!\breaksetup} +\def\c!fil! {\breaksetup~\c!dots!~\breaksetup} +\def\c!pos! {\breaksetup(\c!dots!)\breaksetup} +\def\c!poss! {\breaksetup(\c!dots!,\c!dots!)\breaksetup} +\def\c!sep! {\breaksetup\texescape\texescape\breaksetup} +\def\c!ref! {\breaksetup[{\setupvarfont ref}]\breaksetup} +\def\c!refs! {\breaksetup[{\setupvarfont ref},\breaksetup..]\breaksetup} +\def\c!val! {\breaksetup[\c!dots!]\breaksetup} +\def\c!vals! {\breaksetup[..,\breaksetup\c!dots!,\breaksetup..]\breaksetup} +\def\c!var! {\breaksetup[..=..]\breaksetup} +\def\c!vars! {\breaksetup[..,\breaksetup..=..,\breaksetup..]\breaksetup} +\def\c!cmd! {\breaksetup\c!noargument!\breaksetup} +\def\c!dest! {\breaksetup[\leftargument..\breaksetup\c!ref!\rightargument]\breaksetup} +\def\c!dests! {\breaksetup[..,\breaksetup\leftargument..\breaksetup\c!refs!\rightargument,\breaksetup..]\breaksetup} +\def\c!trip! {\breaksetup[x:y:z=]\breaksetup} +\def\c!trips! {\breaksetup[x:y:z=,\breaksetup..]\breaksetup} +\def\c!wrd! {\breaksetup\leftargument\c!dots!\rightargument\breaksetup} +\def\c!wrds! {\breaksetup\leftargument.. \breaksetup\c!dots!\ \breaksetup..\rightargument\breaksetup} +\def\c!par! {\breaksetup\texescape par\breaksetup} +\def\c!opt! #1{{\setupoptfont{#1}}} + +\definieerregister + [texmacro] + [texmacros] + +\definieersorteren + [texcommando] + [texcommandos] + +\stelsorterenin + [texcommando] + [\c!commando=\@@stpcommando, + \c!criterium=\@@stpcriterium] + +\definieersorteren + [elktexcommando] + [alletexcommandos] + +\stelsorterenin + [elktexcommando] + [\c!commando=\@@stpcommando, + \c!criterium=\v!alles] + +% verwijzing: 0 geen verwijzingen plaatsen / wel genereren +% 1 alleen bij zie plaatsen / wel genereren +% 2 alle verwijzingen plaatsen / niet genereren +% 3 bij zie commando klikken / wel genereren + +\newif\ifv!numberingdots! +\newif\ifv!alwaysinteractive! +\newif\ifv!optionalinteractive! + +\newcount\v!dotnumber! + +\def\c!dots!% + {\ifv!numberingdots! + \global\advance\v!dotnumber! by 1\relax + .{\setupnumfont\the\v!dotnumber!}.% + \else + ...% + \fi} + +\def\writesetupparbox#1% + {\hbox to \@@stpbreedte{\strut#1\hss}}% + +\def\writesetupparameter#1#2% + {\doifcommonelse{#1}{#2} + {\underbar{#1} } + {#1 }}% + +\def\writesetupparametervalues#1#2#3% + {\bgroup + \def\dowritesetupparameter##1% + {\writesetupparameter{##1}{#3}}% + \veryraggedright + \noindent + \hangindent=\@@stpbreedte + \writesetupparbox{\getinterfaceconstant{#1}}% + \processcommalist[#2]\dowritesetupparameter + \doifcommonelse{#3}{#2}{}{\underbar{#3}}% + \endgraf + \egroup} + +\def\writesetupparameters#1#2% + {\doifnot{#1}{} + {\bgroup + \def\dowritesetupparameter##1% + {\writesetupparameter{##1}{#2}}% + \indent + \veryraggedright + \hangindent=\@@stpbreedte + \writesetupparbox{\c!dots!}% + \processcommalist[#1]\dowritesetupparameter + \endgraf + \egroup}} + +% #1=list #3=default + +\def\setupvalue[#1]#2[#3]% + {\writesetupparameters{#1}{#3}} + +% #1=name #3=list #5=default + +\def\doifsystemconstantelse#1% + {\convertargument*\v!\to\asciia + \convertargument*#1\to\asciib + \doifinstringelse\asciia\asciib} + +\def\setupvariable[#1]#2[#3]#4[#5]% + {\doifcommonelse{\c!command!,\c!dimension!,\c!number!,\c!text!}{#3} + {\doifsystemconstantelse{#5} + {\writesetupparametervalues{#1}{#3}{#5}} + {\writesetupparametervalues{#1}{#3}{}}} + {\writesetupparametervalues{#1}{#3}{#5}}} + +\unexpanded\def\inheritsetup#1% + {\setsetupreference#1\to\currentsetupinheritance + \ifcase\@@stpverwijzing + \texescape#1% % njet + \or + {\op{p}[\currentsetupinheritance]: \texescape#1}% zonder { } probleem + \or + {\op{p}[\currentsetupinheritance]: \texescape#1}% nog eens uitzoeken + \or + {\naar{\tttf\texescape#1}[\currentsetupinheritance]}% + \fi} + +% #1=name + +\def\inheritsetupvalues[#1]#2[#3]% + {\bgroup + \ConvertToConstant\doifelse{#3}{}{\def\next{}}{\def\next{: }}% + \def<<{\setupvarfont}\def>>{}% + \protectmoreless + \value[\getmessage{setup}{see} \inheritsetup{#1}\next#3][]% + \egroup} + +% #1=name + +\def\inheritsetupvariables[#1]#2[#3]% + {\bgroup + \ConvertToConstant\doifelse{#3}{}{\def\next{}}{\def\next{: }}% + \def<<{\setupvarfont}\def>>{}% + \protectmoreless + \variable[..=..][\getmessage{setup}{see} \inheritsetup{#1}\next#3][]% + \egroup} + +\def\stelsetupin% + {\dodoubleargument\getparameters[\??stp]} + +\def\dowritetexcommand#1<<#2>>#3\\% + {\texescape#1{\setupvarfont#2}#3} + +\def\writetexcommand#1% + {\setuptxtfont + \doifinstringelse{<<}{#1} + {\dowritetexcommand#1\\} + {\texescape#1}} + +\xdef\currentsetupreference {} +\xdef\currentsetupinheritance {} + +\def\subsetupreference#1{@#1@} + +\let\subsetup=\subsetupreference + +\def\setsetupreference#1\to#2% + {\bgroup + \protectmoreless + \let\subsetup=\subsetupreference + \xdef#2{\c!setupref:#1}% + \egroup} + +\def\setsetupnumber#1\to#2% + {\bgroup + \xdef#2{\c!setupref:#1}% + \egroup} + +\def\checkparametervalues#1#2#3% + {\setbox0=\hbox{\getinterfaceconstant{#1}}% + \ifdim\wd0\morecharacter\dimen0\relax + \dimen0=\wd0 + \fi} + +\def\checkparameters#1#2% + {\setbox0=\hbox{\c!dots!}% + \ifdim\wd0\morecharacter\dimen0\relax + \dimen0=\wd0 + \fi} + +\def\dointeractivesetupsymbol#1% + {\color + [#1] + {\raise.15ex\hbox{$\gobackwardcharacter\hskip.5em\goforwardcharacter$}}} + +\def\dointeractivesetup% + {\ifv!alwaysinteractive! + \dointeractivesetupsymbol\setupalwcolor + \fi + \ifv!optionalinteractive! + \dointeractivesetupsymbol\setupoptcolor + \fi} + +\@EA\def\@EA\c!dostp!\e!start#1<<#2>>#3\\% + {\breaksetup~...~\breaksetup\texescape\e!stop#1{\setupvarfont#2}}% + +\defineframedtext + [setuptext] + [\c!breedte=\hsize, + \c!hoogte=\v!passend, + \c!offset=0.75em] + +\newif\ifshortsetup + +\def\dosetupreference% + {\doifundefinedelse{done::\currentsetupreference} + {\pagereference[\currentsetupnumber]% + \pagereference[\currentsetupreference]% + \setgvalue{done::\currentsetupreference}{}} + {\showmessage{setup}{4}{\currentsetupreference}}} + +\def\doprocesssetup\number[#1]\command[#2]\type[#3]#4% + {\bgroup + \showmessage{setup}{2}{#2}% + \ifshortsetup\else\breaksetupfalse\fi + \let\value=\setupvalue + \let\variable=\setupvariable + \let\inheritvalues=\inheritsetupvalues + \let\inheritvariables=\inheritsetupvariables + \@EA\def\@EA\c!stp!\@EA{\@EA\c!dostp!#2<<>>\\}% + \advance\hsize by -\leftskip + \advance\hsize by -\rightskip + \getvalue{\e!start setuptext} + \stelwitruimtein[\v!geen]% + \bgroup + \def<{}% + \def>{}% + \edef\firstcommand{#2*}% + \let<=\lesscharacter + \let>=\morecharacter + \edef\secondcommand{#2}% + \expanded{\texmacro[\firstcommand]{\noexpand\tex{\secondcommand}}}% + \egroup + \global\v!dotnumber!=0 + \global\v!numberingdots!true + \global\v!alwaysinteractive!false + \global\v!optionalinteractive!false + \def\c!alwint!{\global\v!alwaysinteractive!true}% + \def\c!optint!{\global\v!optionalinteractive!true}% + \setbox0=\hbox{\redefinesetupconstants#3}% + \ifnum\v!dotnumber!<2 + \global\v!numberingdots!false + \fi + \global\v!dotnumber!=0 + \ifbreaksetup + \hangafter1 + \hangindent1em + \veryraggedright + \else + \hbox to \hsize + \fi + {\let\subsetup=\gobbleoneargument + \redefinesetupconstants + \setuptxtfont\setstrut\strut + \writetexcommand{#2}#3% + \ifbreaksetup\hfill\else\hss\fi + \ifnum\@@stpverwijzing>0 + \dointeractivesetup + \fi + \setsetupnumber #1\to\currentsetupnumber + \setsetupreference#2\to\currentsetupreference + \ifcase\@@stpverwijzing + \dosetupreference + \or + \dosetupreference + \or + \hskip1em + \doifreferencefoundelse{\currentsetupreference} + {\bf\op[\currentsetupreference]} + {\setupvarfont \translate + [nl=nog niet beschreven, + en=not yet described, + de=not yet described]}% + \or + \dosetupreference + \fi} + \ifbreaksetup + \endgraf + \fi + \ifshortsetup \else + \switchtobodyfont[\v!klein]% + \setuptxtfont + \redefinesetupconstants + \global\v!dotnumber!=0 + \setbox0=\vbox + {\dimen0=\!!zeropoint + \let\writesetupparametervalues=\checkparametervalues + \let\writesetupparameters=\checkparameters + #4\relax + \ifdim\dimen0<2.5em + \dimen0=2.5em + \fi + \advance\dimen0 by 2em + \xdef\@@stpbreedte{\the\dimen0}}% + \global\v!dotnumber!=0 + \setbox0=\vbox{#4}% + \ifdim\wd0>\!!zeropoint + \blanko + \unvbox0 + \fi + \fi + \getvalue{\e!stop setuptext} + \egroup} + +\newcounter\currentsetupnumber + +\def\startsetup#1\command[#2]#3\type[#4]#5\stopsetup% + {\bgroup + \def<{}% + \def>{}% + \doglobal\increment\currentsetupnumber\relax + \def\!!stringa{\@@setup#2}% + \expandafter\setgvalue\expandafter\!!stringa\expandafter + {\expandafter\doprocesssetup + \expandafter\number\expandafter[\currentsetupnumber]% + \command[#2]% + \type[#4]% + {#5}}% + \edef\firstcommand{#2*}% + \let<=\lesscharacter + \let>=\morecharacter + \edef\secondcommand{#2}% + % 'elk' comes first, else no 'gebruikt' entries are written + \expanded{\elktexcommando[\firstcommand]{\secondcommand}}% + % this uggly hack prevents messages + \let\showmessage=\gobblethreearguments + % here 'elk' is overruled + \expanded{\texcommando[\firstcommand]{\secondcommand}}% + \egroup} + +\def\dosetup#1% + {\protect + \@@stpvoor + \bgroup + \def<{}% + \def>{}% + \xdef\globalsetupname{#1}% + \gebruikcommandos{#1*}% + \egroup + \doifdefinedelse{\@@setup\globalsetupname} + {\getvalue{\@@setup\globalsetupname}} + {\bgroup + \showmessage{setup}{3}{#1}% + \setuptxtfont [setup \makemessage{setup}{3}{#1}]\endgraf + \egroup}% + \@@stpna} + +\def\setup% + {\shortsetupfalse + \unprotect\dosetup} + +\def\shortsetup% + {\shortsetuptrue + \unprotect\dosetup} + +\def\startsetupfile% + {\unprotect} + +\def\stopsetupfile% + {\protect + \endinput} + +\let\documenteduntilhere=\relax + +\definieerblok [dutch, english, german, czech, italian] +\verbergblokken [dutch, english, german, czech, italian] + +\stelsetupin + [\c!voor=, + \c!na=, + \c!commando=\setup, + \c!verwijzing=0, + \c!criterium=\v!gebruikt] + +\def\plaatssetup% + {\getvalue{\e!plaats\e!lijstmet texcommandos}} + +\def\plaatselkesetup% for fun purposes only + {\bgroup + \stelsetupin[\c!verwijzing=2]% + \setupreferencing[\c!status=\v!stop]% + \getvalue{\e!plaats\e!lijstmet alletexcommandos}% + \egroup} + +\let\setupsetup = \stelsetupin +\let\placesetup = \plaatssetup +\let\placeeverysetup= \plaatselkesetup + +\protect + +\endinput diff --git a/tex/context/base/setupb.tex b/tex/context/base/setupb.tex new file mode 100644 index 000000000..8e2f340a6 --- /dev/null +++ b/tex/context/base/setupb.tex @@ -0,0 +1,8635 @@ +%D \module +%D [ file=setupb, +%D version=1998.07.20, +%D title=\CONTEXT\ Setup Definitions, +%D subtitle=Command Specifications, +%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. + +% nieuw: oncomment plaatssamengesteldelijst + +% nog 'reductie=ja/nee' in \setupcolors + +\startsetupfile + +% lang-ini + +\startsetup + \command + [\y!installlanguage] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!spatiering] + [\v!opelkaar,\v!ruim] + [\v!opelkaar] + \variable + [\s!lefthyphenmin] + [\c!dimension!] + [2] + \variable + [\s!righthyphenmin] + [\c!dimension!] + [2] + \variable + [\c!status] + [\v!start,\v!stop] + [\v!stop] + \variable + [\c!leftsentence] + [\c!command!] + [---] + \variable + [\c!rightsentence] + [\c!command!] + [---] + \variable + [\c!leftsubsentence] + [\c!command!] + [---] + \variable + [\c!rightsubsentence] + [\c!command!] + [---] + \variable + [\c!leftquote] + [\c!command!] + [`] + \variable + [\c!rightquote] + [\c!command!] + ['] + \variable + [\c!leftquotation] + [\c!command!] + [``] + \variable + [\c!rightquotation] + [\c!command!] + [''] + \variable + [\c!default] + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!setuplanguage] + \type + [\c!val!\c!vars!] + \inheritvariables + [\y!installlanguage] + [] +\stopsetup + +\startsetup + \command + [\y!language] + \type + [\c!val!] + \value + [\s!nl,\s!fr,\s!en,\s!uk,\s!de,\s!es,\s!cz,..] + [\s!nl] +\stopsetup + +\startsetup + \command + [\y!mainlanguage] + \type + [\c!val!] + \value + [\s!nl,\s!fr,\s!en,\s!uk,\s!de,\s!es,\s!cz,..] + [\s!nl] +\stopsetup + +\startsetup + \command + [\y!translate] + \type + [\c!vars!] + \variable + [\c!identifier!] + [\c!text!] + [] +\stopsetup + +% enco-ini + +\startsetup + \command + [\y!useencoding] + \type + [\c!vals!] + \value + [\c!identifier!] + [] +\stopsetup + +% spec-ini + +\startsetup + \command + [\y!usespecials] + \type + [\c!vals!] + \value + [\c!reset,\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!defineoutput] + \type + [\c!val!\c!vals!] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!setupoutput] + \type + [\c!vals!] + \value + [\c!identifier!] + [] +\stopsetup + +% font-ini + +\startsetup + \command + [\y!definebodyfontenvironment] + \type + [\c!val!\c!vars!] + \value + [5pt,...,12pt,\s!default] + [] + \variable + [\s!text] + [\c!dimension!] + [] + \variable + [\s!script] + [\c!dimension!] + [] + \variable + [\s!scriptscript] + [\c!dimension!] + [] + \variable + [\c!x] + [\c!dimension!] + [] + \variable + [\c!xx] + [\c!dimension!] + [] + \variable + [\c!klein] + [\c!dimension!] + [] + \variable + [\c!groot] + [\c!dimension!] + [] +\stopsetup + +\startsetup + \command + [\y!setupbodyfontenvironment] + \type + [\c!val!\c!vars!] + \inheritvalues + [\y!setupbodyfont] + [] + \inheritvariables + [\y!setupbodyfont] + [] +\stopsetup + +\startsetup + \command + [\y!showbodyfontenvironment] + \type + [\c!vals!] + \inheritvalues + [\y!setupbodyfont] + [] +\stopsetup + +\startsetup + \command + [\y!definebodyfont] + \type + [\c!vals!\c!val!\c!vars!] + \value + [5pt,...,12pt,\s!default] + [] + \value + [\c!rm,\c!ss,\c!tt,\c!mm,\c!hw,\c!cg] + [] + \variable [\c!tf] [\c!font!] [] + \variable [\c!bf] [\c!font!] [] + \variable [\c!sl] [\c!font!] [] + \variable [\c!it] [\c!font!] [] + \variable [\c!bs] [\c!font!] [] + \variable [\c!bi] [\c!font!] [] + \variable [\c!sc] [\c!font!] [] + \variable [\c!ex] [\c!font!] [] + \variable [\c!mi] [\c!font!] [] + \variable [\c!sy] [\c!font!] [] + \variable [\c!ma] [\c!font!] [] + \variable [\c!mb] [\c!font!] [] + \variable [\c!mc] [\c!font!] [] +\stopsetup + +\startsetup + \command + [\y!showbodyfont] + \type + [\c!vals!] + \inheritvalues + [\y!setupbodyfont] + [] +\stopsetup + +\startsetup + \command + [\y!setupbodyfont] + \type + [\c!vals!] + \value + [\c!identifier!, + \v!serif,\v!regular,\v!roman, + \v!sans,\v!support,\v!sansserif, + \v!mono,\v!type,\v!teletype, + \v!handwritten,\v!calligraphic, + 5pt,...,12pt] + [sau,ibm,12pt,\v!serif] +\stopsetup + +% not yet multi lingual +% +% \startsetup +% \command +% [\y!switchstyleonly] +% \type +% [\c!val!] +% \value +% [\c!identifier!] +% [] +% \stopsetup + +\startsetup + \command + [\y!switchtobodyfont] + \type + [\c!vals!] + \value + [5pt,...,12pt,\v!klein,\v!groot,\v!globaal] + [] +\stopsetup + +\startsetup + \command + [\y!definefont] + \type + [\c!val!\c!val!] + \value + [\c!identifier!] + [] + \value + [\c!font!] + [] +\stopsetup + +\startsetup + \command + [\y!setupstrut] + \type + [\c!opt!\c!vals!] + \value + [\v!ja,\v!nee,\v!kap,\c!text!] + [\v!ja] +\stopsetup + +% colo-ini + +\startsetup + \command + [\y!setupcolor] + \type + [\c!val!] + \value + [\c!identifier!] + [\v!rgb] +\stopsetup + +\startsetup + \command + [\y!setupcolors] + \type + [\c!vars!] + \variable + [\c!status] + [\v!start,\v!stop,\v!globaal,\v!lokaal] + [\v!stop] + \variable + [\c!conversie] + [\v!ja,\v!nee,\v!altijd] + [\v!ja] + \variable + [\c!reductie] + [\v!ja,\v!nee] + [\v!nee] + \variable + [\c!rgb] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!cmyk] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!mp\c!cmyk] + [\v!ja,\v!nee] + [\v!ja] +\stopsetup + +\startsetup + \command + [\y!definecolor] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!r] + [\c!text!] + [0] + \variable + [\c!g] + [\c!text!] + [0] + \variable + [\c!b] + [\c!text!] + [0] + \variable + [\c!c] + [\c!text!] + [0] + \variable + [\c!m] + [\c!text!] + [0] + \variable + [\c!y] + [\c!text!] + [0] + \variable + [\c!k] + [\c!text!] + [0] + \variable + [\c!s] + [\c!text!] + [0] +\stopsetup + +\startsetup + \command + [\y!startcolor] + \type + [\c!val!\c!stp!] + \value + [\c!identifier!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!color] + \type + [\c!val!\c!arg!] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!graycolor] + \type + [\c!val!] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!showcolor] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!definepalet] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!identifier!] + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!setuppalet] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!definecolorgroup] + \type + [\c!val!\c!opt!\c!val!\c!vals!] + \value + [\c!identifier!] + [] + \value + [\v!rgb,\v!cmyk,\v!grijs,\v!s] + [\v!rgb] + \value + [\c!trips!] + [] +\stopsetup + +\startsetup + \command + [\y!showpalet] + \type + [\c!val!\c!vals!] + \value + [\c!identifier!] + [] + \value + [\v!horizontaal,\v!vertikaal,\v!naam,\v!waarde] + [] +\stopsetup + +\startsetup + \command + [\y!showcolorgroup] + \type + [\c!val!\c!vals!] + \value + [\c!identifier!] + [] + \value + [\v!horizontaal,\v!vertikaal,\v!naam,\v!waarde,\v!nummer] + [] +\stopsetup + +\startsetup + \command + [\y!comparepalet] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!comparecolorgroup] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command [\y!showmakeup] + \type [] +\stopsetup + +\doifmode{testrun}{\stopsetupfile} + +% core-ver + +\startsetup + \command + [\y!definetype] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!setuptype] + [] +\stopsetup + +\startsetup + \command + [\y!setuptype] + \type + [\c!var!] + \variable + [\c!spatie] + [\v!aan,\v!uit] + [\v!uit] + \variable + [\c!optie] + [\v!schuin,\v!normaal,\v!geen] + [\v!geen] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!type] + \variable + [\c!kleur] + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command [\y!type] + \type [\c!arg!] + \value [\c!text!][] +\stopsetup + +\startsetup + \command [\y!typ] + \type [\c!arg!] + \value [\c!text!][] +\stopsetup + +\startsetup + \command [\y!tex] + \type [\c!arg!] + \value [\c!text!][] +\stopsetup + +\startsetup + \command [\y!arg] + \type [\c!arg!] + \value [\c!text!][] +\stopsetup + +\startsetup + \command + [\y!definetyping] + \type + [\c!val!\c!vars!] + \value + [\v!file,\v!typen,\c!identifier!] + [] + \inheritvariables + [\y!setuptyping] + [] +\stopsetup + +\startsetup + \command + [\y!setuptyping] + \type + [\c!opt!\c!val!\c!vars!] + \value + [\v!file,\v!typen,\c!identifier!] + [] + \variable + [\c!spatie] + [\v!aan,\v!uit] + [\v!uit] + \variable + [\c!pagina] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!optie] + [\v!schuin,\v!normaal,\v!commandos,\v!kleur,\v!geen] + [\v!geen] + \variable + [\c!tekst] + [\v!ja,\v!nee] + [\v!nee] + \variable + [i\c!commando] + [\c!command!] + [\ttsl] + \variable + [v\c!commando] + [\c!command!] + [] + \variable + [c\c!commando] + [\c!command!] + [\tf] + \variable + [\c!voor] + [\c!command!] + [\blanko] + \variable + [\c!na] + [\c!command!] + [\blanko] + \variable + [\c!marge] + [\c!dimension!,\v!standaard] + [0pt] + \variable + [\c!evenmarge] + [\c!dimension!] + [0pt] + \variable + [\c!onevenmarge] + [\c!dimension!] + [0pt] + \variable + [\c!blanko] + [\c!dimension!,\v!klein,\v!middel,\v!groot,\v!standaard,\v!halveregel,\v!regel] + [\v!regel] + \variable + [\c!escape] + [\c!character!] + [/] + \variable + [\c!springvolgendein] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!type] + \variable + [\c!kleur] + [\c!identifier!] + [] + \variable + [\c!palet] + [\c!identifier!] + [colorpretty] +\stopsetup + +\startsetup + \command + [\e!start\v!typen] + \type + [\c!stp!] +\stopsetup + +\startsetup + \command + [\y!typefile] + \type + [\c!opt!\c!arg!\c!arg!] + \value + [\c!identifier!] + [] + \value + [\c!filename!] + [] +\stopsetup + +% core-not + +\startsetup + \command + [\y!setupfootnotes] + \type + [\c!vars!] + \variable + [\c!conversie] + [\v!cijfers,\v!letters,\v!Letters,\v!romeins,\v!Romeins] + [\v!cijfers] + \variable + [\c!wijze] + [\v!per\v!tekst,\v!per\c!section!] + [\v!per\v!tekst] + \variable + [\c!plaats] + [\v!pagina,\v!tekst,\v!kolommen,\v!hoog] + [\v!pagina] + \variable + [\c!lijn] + [\v!aan,\v!uit] + [\v!uit] + \variable + [\c!voor] + [\c!command!] + [\blanko] + \variable + [\c!na] + [\c!command!] + [] + \variable + [\c!breedte] + [\c!dimension!] + [] + \variable + [\c!hoogte] + [\c!dimension!] + [] + \variable + [\c!korps] + [5pt,...,12pt,\v!klein,\v!groot] + [\v!klein] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!afstand] + [\c!dimension!] + [.125em] + \variable + [\c!kolomafstand] + [\c!dimension!] + [1em] + \variable + [\c!margeafstand] + [\c!dimension!] + [.5em] + \variable + [\c!n] + [\c!number!] + [1] + \variable + [\c!nummercommando] + [\c!oneargument!] + [] + \inheritvariables + [\y!framed] + [] +\stopsetup + +\startsetup + \command + [\y!setupfootnotedefinition] + \type + [\c!vars!] + \inheritvariables + [\y!doordefinieren] + [] +\stopsetup + +\startsetup + \command[\y!footnote] + \type[\c!opt!\c!ref!\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!footnotetext] + \type[\c!opt!\c!ref!\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!note] + \type[\c!optint!\c!ref!] +\stopsetup + +\startsetup + \command + [\y!startlocalfootnotes] + \type + [\c!stp!] + \inheritvariables + [\y!setupfootnotes] + [] +\stopsetup + +\startsetup + \command + [\y!placelocalfootnotes] + \type + [\c!opt!\c!vars!] + \inheritvariables + [\y!setupfootnotes] + [] +\stopsetup + +\startsetup + \command + [\y!placefootnotes] + \type + [\c!opt!\c!vars!] + \inheritvariables + [\y!setupfootnotes] + [] +\stopsetup + +% core-fnt / core-con + +\startsetup + \command + [\y!setupunderbar] + \type + [\c!vars!] + \variable + [\c!variant] + [a,b,c] + [a] + \variable + [\c!lijndikte] + [\c!dimension!] + [\lijndikte] + \variable + [\c!onderoffset] + [\c!dimension!] + [1.5pt] + \variable + [\c!bovenoffset] + [\c!dimension!] + [2.5pt] +\stopsetup + +\startsetup + \command[\y!underbar] + \type[\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!underbars] + \type[\c!wrds!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!overbar] + \type[\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!overbars] + \type[\c!wrds!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!overstrike] + \type[\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!overstrikes] + \type[\c!wrds!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!romannumerals] + \type[\c!arg!] + \value[\c!number!][] +\stopsetup + +\startsetup + \command[\y!Romannumerals] + \type[\c!arg!] + \value[\c!number!][] +\stopsetup + +\startsetup + \command[\y!numbers] + \type[\c!arg!] + \value[\c!number!][] +\stopsetup + +\startsetup + \command[\y!character] + \type[\c!arg!] + \value[\c!number!][] +\stopsetup + +\startsetup + \command[\y!Character] + \type[\c!arg!] + \value[\c!number!][] +\stopsetup + +\startsetup + \command[\y!characters] + \type[\c!arg!] + \value[\c!number!][] +\stopsetup + +\startsetup + \command[\y!Characters] + \type[\c!arg!] + \value[\c!number!][] +\stopsetup + +\startsetup + \command[\v!mediaeval] % geen \y!mediaeval + \type[\c!arg!] + \value[\c!number!][] +\stopsetup + +\startsetup + \command[\y!month] + \type[\c!arg!] + \value[\c!number!][] +\stopsetup + +\startsetup + \command[\y!MONTH] + \type[\c!arg!] + \value[\c!number!][] +\stopsetup + +\startsetup + \command[\y!weekday] + \type[\c!arg!] + \value[\c!number!][] +\stopsetup + +\startsetup + \command[\y!WEEKDAY] + \type[\c!arg!] + \value[\c!number!][] +\stopsetup + +\startsetup + \command + [\y!setupcapitals] + \type + [\c!vars!] + \variable + [\c!titel] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!sc] + [\v!ja,\v!nee] + [\v!nee] +\stopsetup + +\startsetup + \command[\y!kap] + \type[\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!nokap] + \type[\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!KAP] + \type[\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!Kap] + \type[\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!Kaps] + \type[\c!wrds!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!WORD] + \type[\c!wrd!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!WORDS] + \type[\c!wrds!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!Word] + \type[\c!wrd!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!Words] + \type[\c!wrds!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!stretched] + \type[\c!wrd!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command + [\y!definesymbol] + \type + [\c!val!\c!val!] + \value + [\c!identifier!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!definefiguresymbol] + \type + [\c!val!\c!val!\c!opt!\c!vars!] + \value + [\c!identifier!] + [] + \value + [\c!text!] + [] + \inheritvariables + [\y!externalfigure] + [] +\stopsetup + +\startsetup + \command + [\y!symbol] + \type + [\c!opt!\c!val!\c!val!] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!startsymbolset] + \type + [\c!val!\c!stp!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!setupsymbolset] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!usesymbols] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!showsymbolset] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!defineconversion] + \type + [\c!val!\c!val!] + \value + [\c!identifier!] + [] + \value + [\c!command!,\c!text!] % eigenlijk texts + [] +\stopsetup + +\startsetup + \command + [\y!convertnumber] + \type + [\c!arg!\c!arg!] + \value + [\c!identifier!] + [] + \value + [\c!number!] + [] +\stopsetup + +% lang-lab + +\startsetup + \command + [\y!setupheadtext] + \type + [\c!opt!\c!val!\c!var!] + \value + [\s!nl,\s!fr,\s!en,\s!uk,\s!de,\s!es,\s!cz,..] + [\s!nl] + \variable + [\c!identifier!] + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!setuplabeltext] + \type + [\c!opt!\c!val!\c!var!] + \value + [\s!nl,\s!fr,\s!en,\s!uk,\s!de,\s!es,\s!cz,..] + [\s!nl] + \variable + [\c!identifier!] + [\c!text!] + [] +\stopsetup + +\startsetup + \command[\y!headtext] + \type[\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!labeltext] + \type[\c!arg!] + \value[\c!text!][] +\stopsetup + +% core-rul + +\startsetup + \command + [\y!setupmarginrules] + \type + [\c!var!] + \variable + [\c!niveau] + [\c!number!] + [1] + \variable + [\c!dikte] + [\c!dimension!] + [] +\stopsetup + +\startsetup + \command + [\y!startmarginrule] + \type + [\c!val!\c!stp!] + \value + [\c!number!] + [] +\stopsetup + +\startsetup + \command + [\y!marginrule] + \type + [\c!val!\c!arg!] + \value + [\c!number!] + [] +\stopsetup + +% \startsetup +% \command +% [\y!setuprules] +% \type +% [\c!var!] +% \variable +% [\c!dikte] +% [\v!klein,\v!middel,\v!groot,\c!dimension!] +% [\v!middel] +% \variable +% [\c!voor] +% [\c!command!] +% [] +% \variable +% [\c!na] +% [\c!command!] +% [] +% \stopsetup + +\startsetup + \command + [\y!setuplinewidth] + \type + [\c!val!] + \value + [\c!dimension!] + [] +\stopsetup + +\startsetup + \command + [\y!setupframed] + \type + [\c!vars!] + \variable + [\c!hoogte] + [\v!passend,\v!ruim,\c!dimension!] + [\v!ruim] + \variable + [\c!breedte] + [\v!passend,\v!ruim,\c!dimension!] + [\v!ruim] + \variable + [\c!offset] + [\v!geen,\v!overlay,\v!default,\c!dimension!] + [1em] + \variable + [\c!plaats] + [\v!laag,\v!diepte] + [] + \variable + [\c!optie] + [\v!geen,\v!leeg] + [\v!geen] + \variable + [\c!strut] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!uitlijnen] + [\v!nee,\v!links,\v!rechts,\v!midden,\v!normaal,\v!hoog,\v!laag,\v!laho] + [\v!nee] + \variable + [\c!onder] + [\c!command!] + [\vss] + \variable + [\c!boven] + [\c!command!] + [] + \variable + [\c!kader] + [\v!aan,\v!uit,\v!overlay] + [\v!aan] + \variable + [\c!bovenkader] + [\v!aan,\v!uit] + [\v!uit] + \variable + [\c!onderkader] + [\v!aan,\v!uit] + [\v!uit] + \variable + [\c!linkerkader] + [\v!aan,\v!uit] + [\v!uit] + \variable + [\c!rechterkader] + [\v!aan,\v!uit] + [\v!uit] + \variable + [\c!kaderoffset] + [\c!dimension!] + [0pt] + \variable + [\c!kaderdiepte] + [\c!dimension!] + [0pt] + \variable + [\c!kaderhoek] + [\v!rond,\v!recht] + [\v!recht] + \variable + [\c!kaderstraal] + [\c!dimension!] + [.5\korpsgrootte] + \variable + [\c!kaderkleur] + [\c!identifier!] + [] + \variable + [\c!achtergrond] + [\v!raster,\v!kleur,\v!geen,\v!voorgrond,\c!identifier!] + [\v!geen] + \variable + [\c!achtergrondraster] + [\c!number!] + [0.9] + \variable + [\c!achtergrondkleur] + [\c!identifier!] + [] + \variable + [\c!achtergrondoffset] + [\v!kader,\c!dimension!] + [0pt] + \variable + [\c!achtergronddiepte] + [\c!dimension!] + [0pt] + \variable + [\c!achtergrondhoek] + [\v!rond,\v!recht] + [\v!recht] + \variable + [\c!achtergrondstraal] + [\c!dimension!] + [.5\korpsgrootte] + \variable + [\c!diepte] + [\c!dimension!] + [0pt] + \variable + [\c!hoek] + [\v!rond,\v!recht] + [\v!recht] + \variable + [\c!straal] + [\c!dimension!] + [.5\korpsgrootte] + \variable + [\c!leeg] + [\v!ja,\v!nee] + [\v!nee] + \variable + [\c!voorgrondkleur] + [\c!identifier!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!framed] + \type + [\c!opt!\c!vars!\c!arg!] + \inheritvariables + [\y!setupframed] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!inframed] + \type + [\c!opt!\c!vars!\c!arg!] + \inheritvariables + [\y!setupframed] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!thinrules] + \type + [\c!opt!\c!var!] + \inheritvariables + [\y!setupthinrules] + [] +\stopsetup + +\startsetup + \command + [\y!setupthinrules] + \type + [\c!var!] + \variable + [\c!interlinie] + [\v!klein,\v!middel,\v!groot] + [\v!klein] + \variable + [\c!n] + [\c!number!] + [3] + \variable + [\c!voor] + [\c!command!] + [] + \variable + [\c!na] + [\c!command!] + [] +\stopsetup + +\startsetup + \command[\y!hairline] + \type[] +\stopsetup + +\startsetup + \command[\y!thinrule] + \type[] +\stopsetup + +\startsetup + \command + [\y!defineframedtext] + \type + [\c!val!\c!opt!\c!vars!] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!setupframedtexts] + [] +\stopsetup + +\startsetup + \command + [\y!defineframed] + \type + [\c!val!\c!opt!\c!vars!] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!setupframedtexts] + [] +\stopsetup + +\startsetup + \command + [\y!setupframedtexts] + \type + [\c!vars!] + \variable + [\c!korps] + [5pt,...,12pt,\v!klein,\v!groot] + [] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!klein...,\c!command!] % \v!kap + [\v!vet] + \variable + [\c!links] + [\c!command!] + [\hfill] + \variable + [\c!rechts] + [\c!command!] + [\hfill] + \variable + [\c!voor] + [\c!command!] + [\blanko] + \variable + [\c!na] + [\c!command!] + [\blanko] + \variable + [\c!binnen] + [\c!command!] + [] + \variable + [\c!regelcorrectie] + [\v!aan,\v!uit] + [\v!aan] + \variable + [\c!dieptecorrectie] + [\v!aan,\v!uit] + [\v!aan] + \variable + [\c!marge] + [\v!standaard,\v!ja,\v!nee] + [\v!standaard] + \inheritvariables + [\y!setupframed] + [] +\stopsetup + +% \startsetup +% \command +% [\y!startframedtext] +% \type +% [\c!opt!\c!val!\c!opt!\c!vars!\c!stp!] +% \value +% [\v!links,\v!rechts,\v!midden] +% [] +% \inheritvariables +% [\y!setupframedtexts] +% [] +% \stopsetup + +\startsetup + \command + [\e!start<<\y!framedtext>>] + \type + [\c!opt!\c!val!\c!opt!\c!vars!\c!stp!] + \value + [\v!links,\v!rechts,\v!midden] + [] + \inheritvariables + [\y!setupframedtexts] + [] +\stopsetup + +\startsetup + \command + [<<\y!framedtext>>] + \type + [\c!opt!\c!vars!] + \inheritvariables + [\y!setupframedtexts] + [] +\stopsetup + +\startsetup + \command + [\y!startbackground] + \type + [\c!stp!] +\stopsetup + +\startsetup + \command + [\y!background] + \type + [] +\stopsetup + +\startsetup + \command + [\y!setupbackground] + \type + [\c!vars!] + \variable + [\c!linkeroffset] + [\c!dimension!] + [.5\korpsgrootte] + \variable + [\c!rechteroffset] + [\c!dimension!] + [.5\korpsgrootte] + \variable + [\c!bovenoffset] + [\c!dimension!] + [0pt] + \variable + [\c!onderoffset] + [\c!dimension!] + [0pt] + \variable + [\c!voor] + [\c!command!] + [] + \variable + [\c!na] + [\c!command!] + [] + \variable + [\c!status] + [\v!start,\v!stop] + [\v!start] + \inheritvariables + [\y!setupframed] + [] +\stopsetup + +\startsetup + \command + [\y!fillinrules] + \type + [\c!opt!\c!vars!\c!arg!\c!opt!\c!arg!] + \inheritvariables + [\y!setupfillinrules] + [] +\stopsetup + +\startsetup + \command + [\y!fillintext] + \type + [\c!opt!\c!vars!\c!arg!\c!opt!\c!arg!\c!par!] + \inheritvariables + [\y!setupfillinrules] + [] +\stopsetup + +\startsetup + \command + [\y!setupfillinrules] + \type + [\c!vars!] + \variable + [\c!breedte] + [\v!passend,\v!ruim,\c!dimension!] + [\v!ruim] + \variable + [\c!afstand] + [\c!dimension!] + [1em] + \variable + [\c!voor] + [\c!command!] + [\blanko] + \variable + [\c!na] + [\c!command!] + [\blanko] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!n] + [\c!number!] + [1] + \variable + [\c!interlinie] + [\v!klein,\v!middel,\v!groot] + [\v!klein] + \variable + [\c!scheider] + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!fillinline] + \type + [\c!opt!\c!vars!\c!nop!\c!par!] + \inheritvariables + [\y!setupfillinlines] + [] +\stopsetup + +\startsetup + \command + [\y!setupfillinlines] + \type + [\c!vars!] + \variable + [\c!breedte] + [\c!dimension!] + [3cm] + \variable + [\c!marge] + [\c!dimension!] + [3cm] + \variable + [\c!afstand] + [\c!dimension!] + [1em] + \variable + [\c!voor] + [\c!command!] + [\blanko] + \variable + [\c!na] + [\c!command!] + [\blanko] +\stopsetup + +\startsetup + \command + [\y!setuptextrules] + \type + [\c!vars!] + \variable + [\c!plaats] + [\v!links,\v!inmarge] + [\v!links] + \variable + [\c!voor] + [\c!command!] + [\blanko] + \variable + [\c!na] + [\c!command!] + [\blanko] + \variable + [\c!tussen] + [\c!command!] + [] + \variable + [\c!breedte] + [\c!dimension!] + [2em] + \variable + [\c!afstand] + [\c!dimension!] + [2em] + \variable + [\c!korps] + [5pt,...,12pt,\v!klein,\v!groot] + [] + \variable + [\c!kleur] + [\c!identifier!] + [] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!vet] + \variable + [\c!lijnkleur] + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!textrule] + \type + [\c!opt!\c!val!\c!opt!\c!arg!] + \value + [\v!boven,\v!onder] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!starttextrule] + \type + [\c!opt!\c!val!\c!opt!\c!arg!\c!stp!] + \value + [\v!boven,\v!onder] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!blackrule] + \type + [\c!opt!\c!vars!] + \inheritvariables + [\y!setupblackrules] + [] +\stopsetup + +\startsetup + \command + [\y!blackrules] + \type + [\c!vars!] + \inheritvariables + [\y!setupblackrules] + [] +\stopsetup + +\startsetup + \command + [\y!setupblackrules] + \type + [\c!vars!] + \variable + [\c!breedte] + [\c!dimension!,\v!max] + [1.5em] + \variable + [\c!hoogte] + [\c!dimension!,\v!max] + [1ex] + \variable + [\c!diepte] + [\c!dimension!,\v!max] + [0pt] + \variable + [\c!variant] + [\c!a,\c!b] + [\c!a] + \variable + [\c!afstand] + [\c!dimension!] + [.25ex] + \variable + [\c!n] + [\c!number!] + [3] +\stopsetup + +\startsetup + \command + [\y!defineoverlay] + \type + [\c!vals!\c!val!] + \value + [\c!identifier!] + [] + \value + [\c!command!] + [] +\stopsetup + +\startsetup + \command + [\y!usemodule] + \type + [\c!vals!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command[\y!reset] + \type[\c!vals!] + \value[\c!identifier!][] +\stopsetup + +\startsetup + \command[\y!geentest] + \type[] +\stopsetup + +\startsetup + \command[\y!startdeelomgeving] + \type[\c!stp!] +\stopsetup + +\startsetup % gebied, korps + \command + [\y!setupsystem] + \type + [\c!vars!] + \variable + [\c!resolutie] + [\c!number!] + [] + \variable + [\c!file] + [\c!text!] + [\jobname] + \variable + [\c!gebied] + [\c!text!] + [] + \variable + [\c!willekeur] + [\v!normaal,\v!klein,\v!middel,\v!groot,\c!number!] + [] +\stopsetup + +\startsetup + \command + [\y!usepath] + \type + [\c!vals!] + \value + [\c!identifier!,\v!reset] + [.] +\stopsetup + +\startsetup + \command[\y!low] + \type[\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!high] + \type[\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!lohi] + \type[\c!arg!\c!arg!] + \value[\c!text!][] + \value[\c!text!][] +\stopsetup + +\startsetup + \command + [\y!toonkader] + \type + [\c!opt!\c!val!] + \value + [\v!tekst,\v!marge,\v!rand] + [] +\stopsetup + +\startsetup + \command + [\y!toonopbouw] + \type + [] +\stopsetup + +\startsetup + \command[\y!regellinks] + \type[\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!regelrechts] + \type[\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!regelmidden] + \type[\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!woordrechts] + \type[\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!inmarge] + \type[\c!opt!\c!val!\c!opt!\c!ref!\c!arg!] + \value[+,-,\v!laag][] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!inanderemarge] + \type[\c!opt!\c!val!\c!opt!\c!ref!\c!arg!] + \value[+,-,\v!laag][] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!inlinker] + \type[\c!opt!\c!val!\c!opt!\c!ref!\c!arg!] + \value[+,-,\v!laag][] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!inrechter] + \type[\c!opt!\c!val!\c!opt!\c!ref!\c!arg!] + \value[+,-,\v!laag][] + \value[\c!text!][] +\stopsetup + +%\startsetup +% \command[\y!oplinker] +% \type[\c!arg!] +% \value[\c!text!][] +%\stopsetup + +\startsetup + \command[\y!kolom] + \type[] +\stopsetup + +\startsetup + \command[\y!toonstruts] + \type[] +\stopsetup + +\startsetup + \command[\y!tooninstellingen] + \type[] +\stopsetup + +\startsetup + \command[\y!toonlayout] + \type[] +\stopsetup + +% \startsetup +% \command[\y!margetitel] +% \type[\c!opt!\c!val!\c!opt!\c!ref!\c!arg!] +% \value[+,-,\v!laag][] +% \value[\c!text!][] +% \stopsetup + +% \startsetup +% \command[\y!margewoord] +% \type[\c!opt!\c!val!\c!opt!\c!ref!\c!arg!] +% \value[+,-,\v!laag][] +% \value[\c!text!][] +% \stopsetup + +\startsetup + \command[\y!margetekst] + \type[\c!opt!\c!val!\c!opt!\c!ref!\c!arg!] + \value[+,-,\v!laag][] + \value[\c!text!][] +\stopsetup + +\startsetup + \command + [\y!stelmargeblokkenin] + \type + [\c!vars!] + \variable + [\c!plaats] + [\v!inmarge,\v!links,\v!midden,\v!rechts] + [\v!inmarge] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!breedte] + [\c!dimension!] + [] + \variable + [\c!uitlijnen] + [\v!links,\v!midden,\v!rechts,\v!nee] + [] + \variable + [\c!boven] + [\c!command!] + [] + \variable + [\c!tussen] + [\c!command!] + [\blanko] + \variable + [\c!onder] + [\c!command!] + [\vfill] + \variable + [\c!links] + [\c!command!] + [] + \variable + [\c!rechts] + [\c!command!] + [] + \variable + [\c!voor] + [\c!command!] + [] + \variable + [\c!na] + [\c!command!] + [] +\stopsetup + +\startsetup + \command + [\y!startmargeblok] + \type + [\c!stp!] +\stopsetup + +\startsetup + \command[\v!deel] + \type[\c!opt!\c!refs!\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\v!titel] + \type[\c!opt!\c!refs!\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\v!hoofdstuk] + \type[\c!opt!\c!refs!\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\v!paragraaf] + \type[\c!opt!\c!refs!\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\v!sub\v!paragraaf] + \type[\c!opt!\c!refs!\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\v!sub\v!sub\v!paragraaf] + \type[\c!opt!\c!refs!\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\v!onderwerp] + \type[\c!opt!\c!refs!\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\v!sub\v!onderwerp] + \type[\c!opt!\c!refs!\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\v!sub\v!sub\v!onderwerp] + \type[\c!opt!\c!refs!\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\v!bijlage] + \type[\c!opt!\c!refs!\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!in] + \type[\c!optint!\c!arg!\c!optint!\c!arg!\c!ref!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!op] + \type[\c!optint!\c!arg!\c!optint!\c!arg!\c!ref!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!over] + \type[\c!optint!\c!arg!\c!ref!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!somewhere] + \type[\c!arg!\c!arg!\c!ref!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!atpage] + \type[\c!ref!] +\stopsetup + +\startsetup + \command[\y!ref] + \type[\c!val!\c!ref!] + \value[t,p,r,s,e][] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!textreference] + \type[\c!ref!\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!pagereference] + \type[\c!ref!] +\stopsetup + +\startsetup + \command[\y!reference] + \type[\c!ref!\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!usereferences] + \type[\c!vals!] + \value[\c!filename!][] +\stopsetup + +\startsetup + \command[\y!definereference] + \type[\c!val!\c!refs!] + \value[\c!identifier!][] +% \value[\c!text!][] +\stopsetup + +\startsetup + \command + [\y!definereferenceformat] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!links] + [\c!text!] + [] + \variable + [\c!rechts] + [\c!text!] + [] + \variable + [\c!tekst] + [\c!text!] + [] + \variable + [\c!label] + [\c!identifier!] + [] +\stopsetup + +% rudiment +% +% \startsetup +% \command[\y!definieerhbox] +% \type[\c!val!\c!val!] +% \value[\c!identifier!][] +% \value[\c!number!][] +% \stopsetup + +\startsetup + \command[\y!hl] + \type[\c!val!] + \value[\c!number!][] +\stopsetup + +\startsetup + \command[\y!vl] + \type[\c!val!] + \value[\c!number!][] +\stopsetup + +\startsetup + \command[\y!omlaag] + \type[\c!val!] + \value[\c!dimension!][] +\stopsetup + +\startsetup + \command[\y!witruimte] + \type[] +\stopsetup + +\startsetup + \command[\y!geenwitruimte] + \type[] +\stopsetup + +\startsetup + \command[\y!crlf] + \type[] +\stopsetup + +\startsetup + \command[\y!space] + \type[] +\stopsetup + +\startsetup + \command[\y!fixedspaces] + \type[] +\stopsetup + +\startsetup + \command[\y!nospace] + \type[] +\stopsetup + +\startsetup + \command[\y!opelkaar] + \type[] +\stopsetup + +\startsetup + \command[\y!herhaal] + \type[\c!val!] + \value[\c!repeat!\c!text!][] +\stopsetup + +\startsetup + \command + [\y!steldoordefinierenin] + \type + [\c!opt!\c!vals!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!kopletter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!vet] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!kleur] + [\c!identifier!] + [] + \variable + [\c!breedte] + [\v!passend,\v!ruim,\c!dimension!] + [8em] + \variable + [\c!afstand] + [\c!dimension!] + [0pt] + \variable + [\c!monster] + [\c!text!] + [] + \variable + [\c!tekst] + [\c!text!] + [] + \variable + [\c!uitlijnen] + [\v!links,\v!midden,\v!rechts] + [] + \variable + [\c!marge] + [\v!standaard,\v!ja,\v!nee,\c!dimension!] + [] + \variable + [\c!plaats] + [\v!links,\v!rechts,\v!boven,\v!aanelkaar, + \v!inmarge,\v!inlinker,\v!inrechter,\v!hangend] + [\v!links] + \variable + [\c!hang] + [\v!passend,\v!ruim,\c!number!] + [] + \variable + [\c!voor] + [\c!command!] + [\blanko] + \variable + [\c!tussen] + [\c!command!] + [\blanko] + \variable + [\c!na] + [\c!command!] + [\blanko] + \variable + [\c!springvolgendein] + [\v!ja,\v!nee] + [\v!ja] +\stopsetup + +\startsetup + \command + [\y!steldoornummerenin] + \type + [\c!opt!\c!vals!\c!vars!] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!doordefinieren] + [] + \variable + [\c!plaats] + [\v!links,\v!rechts,\v!boven,\v!aanelkaar, + \v!inmarge,\v!inlinker,\v!inrechter,\v!hangend] + [\v!boven] + \variable + [\c!tekst] + [\c!text!] + [] + \variable + [\c!niveaus] + [\c!number!] + [3] + \variable + [\c!conversie] + [\v!cijfers,\v!letters,\v!Letters,\v!romeins,\v!Romeins] + [\v!cijfers] + \variable + [\c!wijze] + [\v!per\v!tekst,\v!per\c!section!] + [\v!per\v!tekst] + \variable + [\c!blokwijze] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!sectienummer] + [\v!ja,\v!nummer,\v!nee] + [] + \variable + [\c!scheider] + [\c!text!] + [.] + \variable + [\c!afsluiter] + [\c!text!] + [] + \variable + [\c!koppeling] + [\c!identifier!] + [] + \variable + [\c!koppelwijze] + [\v!globaal,\v!lokaal] + [\v!lokaal] + \variable + [\c!nummer] + [\v!nee,\c!identifier!] + [] + \variable + [\c!titeluitlijnen] + [\v!nee,\v!ja] + [\v!ja] + \variable + [\c!start] + [\c!number!] + [0] +\stopsetup + +\startsetup + \command + [\y!doornummeren] + \type + [\c!vals!\c!opt!\c!val!\c!opt!\c!vars!] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!steldoornummerenin] + [] +\stopsetup + +\startsetup + \command + [<<\y!doornummering>>] + \type + [\c!optint!\c!nop!\c!par!] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\e!start<<\y!doornummering>>] + \type + [\c!stp!] +\stopsetup + +\startsetup + \command + [\y!doordefinieren] + \type + [\c!val!\c!opt!\c!vars!] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!steldoordefinierenin] + [] +\stopsetup + +\startsetup + \command + [<<\y!doordefinitie>>] + \type + [\c!arg!\c!nop!\c!par!] + \value + [\c!text!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\e!start<<\y!doordefinitie>>] + \type + [\c!arg!\c!stp!] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!steldoorspringenin] + \type + [\c!opt!\c!vals!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!kopletter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!breedte] + [\v!passend,\c!dimension!] + [\v!passend] + \variable + [\c!tekst] + [\c!text!] + [] + \variable + [\c!monster] + [\c!text!] + [] + \variable + [\c!voor] + [\c!command!] + [\blanko] + \variable + [\c!na] + [\c!command!] + [\blanko] + \variable + [\c!afstand] + [\c!dimension!] + [1em] + \variable + [\c!scheider] + [\c!text!] + [{:}] +\stopsetup + +\startsetup + \command + [\y!doorspringen] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!steldoorspringenin] + [] +\stopsetup + +\startsetup + \command + [<<\y!doorsprong>>] + \type + [\c!nop!\c!par!] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!doorlabelen] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!tekst] + [\c!text!] + [] + \variable + [\c!plaats] + [\v!inmarge,\v!intekst] + [\v!intekst] + \variable + [\c!wijze] + [\v!per\v!tekst,\v!per\c!section!] + [\v!per\v!hoofdstuk] + \variable + [\c!blokwijze] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!kopletter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [] + \variable + [\c!kopkleur] + [\c!identifier!] + [] + \variable + [\c!voor] + [\c!command!] + [] + \variable + [\c!na] + [\c!command!] + [] +\stopsetup + +\startsetup + \command + [<<\y!doorlabel>>] + \type + [\c!opt!\c!ref!] +\stopsetup + +\startsetup + \command + [\y!stelkolommenin] + \type + [\c!vars!] + \variable + [\c!n] + [\c!number!] + [2] + \variable + [\c!nboven] + [\c!number!] + [1] + \variable + [\c!lijn] + [\v!aan,\v!uit] + [\v!uit] + \variable + [\c!hoogte] + [\c!dimension!] + [] + \variable + [\c!tolerantie] + [\v!zeerstreng,\v!streng,\v!soepel,\v!zeersoepel,\v!rek] + [\v!soepel] + \variable + [\c!afstand] + [\c!dimension!] + [1.5em] + \variable + [\c!balanceren] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!uitlijnen] + [\v!ja,\v!nee,\v!tekst] + [\v!tekst] + \variable + [\c!blanko] + [\v!vast,\v!halveregel,\v!regel,\v!flexibel,\v!groot,\v!middel,\v!klein] + [\v!vast,\v!regel] + \variable + [\c!optie] + [\v!achtergrond] + [] + \variable + [\c!richting] + [\v!links,\v!rechts] + [\v!rechts] + \inheritvariables + [\y!setupframed] + [] +\stopsetup + +\startsetup + \command + [\y!startkolommen] + \type + [\c!opt!\c!vars!\c!stp!] + \inheritvariables + [\y!stelkolommenin] + [] +\stopsetup + +\startsetup + \command + [\y!definieertekst] + \type + [\c!val!\c!val!\c!val!\c!opt!\c!val!\c!opt!\c!val!] + \value + [\c!identifier!] + [] + \value + [\v!hoofd,\v!voet] + [] + \value + [\c!text!] + [] + \value + [\c!text!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!stelhoofdin] + \type + [\c!opt!\c!val!\c!vars!] + \value + [\v!tekst,\v!marge,\v!rand] + [\v!tekst] + \variable + [\c!status] + [\v!normaal,\v!stop,\v!start,\v!leeg,\v!hoog,\v!geen, + \v!geenmarkering,\c!identifier!] + [\v!normaal] + \variable + [\c!strut] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!vet] + \variable + [\c!linkerletter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!vet] + \variable + [\c!rechterletter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!vet] + \variable + [\c!linkerbreedte] + [\c!dimension!] + [] + \variable + [\c!rechterbreedte] + [\c!dimension!] + [] + \variable + [\c!voor] + [\c!command!] + [] + \variable + [\c!na] + [\c!command!] + [] +\stopsetup + +\startsetup + \command + [\y!stelvoetin] + \type + [\c!opt!\c!val!\c!vars!] + \inheritvalues + [\y!stelhoofdin] + [] + \inheritvariables + [\y!stelhoofdin] + [] +\stopsetup + +\startsetup + \command + [\y!steltekstin] + \type + [\c!opt!\c!val!\c!vars!] + \inheritvalues + [\y!stelhoofdin] + [] + \inheritvariables + [\y!stelhoofdin] + [] +\stopsetup + +\startsetup + \command + [\y!stelbovenin] + \type + [\c!opt!\c!val!\c!vars!] + \inheritvalues + [\y!stelhoofdin] + [] + \inheritvariables + [\y!stelhoofdin] + [] +\stopsetup + +\startsetup + \command + [\y!stelonderin] + \type + [\c!opt!\c!val!\c!vars!] + \inheritvalues + [\y!stelhoofdin] + [] + \inheritvariables + [\y!stelhoofdin] + [] +\stopsetup + +\startsetup + \command[\y!geenhoofdenvoetregels] + \type[] +\stopsetup + +\startsetup + \command[\y!geenbovenenonderregels] + \type[] +\stopsetup + +\startsetup + \command + [\y!stelhoofdtekstenin] + \type + [\c!opt!\c!val!\c!val!\c!val!] + \value + [\v!tekst,\v!marge,\v!rand] + [\v!tekst] + \value + [\c!text!,\c!section!,\v!datum,\c!marker!,\v!paginanummer] + [] + \value + [\c!text!,\c!section!,\v!datum,\c!marker!,\v!paginanummer] + [] +\stopsetup + +\startsetup + \command + [\y!stelvoettekstenin] + \type + [\c!opt!\c!val!\c!val!\c!val!] + \value + [\v!tekst,\v!marge,\v!rand] + [\v!tekst] + \value + [\c!text!,\c!section!,\v!datum,\c!marker!,\v!paginanummer] + [] + \value + [\c!text!,\c!section!,\v!datum,\c!marker!,\v!paginanummer] + [] +\stopsetup + +\startsetup + \command + [\y!stelteksttekstenin] + \type + [\c!opt!\c!val!\c!val!\c!val!] + \value + [\v!tekst,\v!marge,\v!rand] + [\v!tekst] + \value + [\c!text!,\c!section!,\v!datum,\c!marker!,\v!paginanummer] + [] + \value + [\c!text!,\c!section!,\v!datum,\c!marker!,\v!paginanummer] + [] +\stopsetup + +\startsetup + \command + [\y!stelboventekstenin] + \type + [\c!opt!\c!val!\c!val!\c!val!] + \value + [\v!tekst,\v!marge,\v!rand] + [\v!tekst] + \value + [\c!text!,\c!section!,\v!datum,\c!marker!,\v!paginanummer] + [] + \value + [\c!text!,\c!section!,\v!datum,\c!marker!,\v!paginanummer] + [] +\stopsetup + +\startsetup + \command + [\y!stelondertekstenin] + \type + [\c!opt!\c!val!\c!val!\c!val!] + \value + [\v!tekst,\v!marge,\v!rand] + [\v!tekst] + \value + [\c!text!,\c!section!,\v!datum,\c!marker!,\v!paginanummer] + [] + \value + [\c!text!,\c!section!,\v!datum,\c!marker!,\v!paginanummer] + [] +\stopsetup + +\startsetup + \command + [\y!definieermarkering] + \type + [\c!val!\c!opt!\c!val!] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!koppelmarkering] + \type + [\c!val!\c!val!] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!ontkoppelmarkering] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!resetmarkering] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!stelmarkeringin] + \type + [\c!val!\c!var!] + \value + [\c!identifier!] + [] + \variable + [\c!status] + [\v!start,\v!stop] + [\v!start] + \variable + [\c!scheider] + [\c!command!] + [---] + \variable + [\c!expansie] + [\v!ja,\v!nee] + [\v!nee] +\stopsetup + +\startsetup + \command + [\y!marking] + \type + [\c!val!\c!arg!] + \value + [\c!identifier!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!haalmarkering] + \type + [\c!val!\c!val!] + \value + [\c!identifier!] + [] + \value + [\v!eerste,\v!laatste,\v!vorige,\v!beide,\v!alles] + [] +\stopsetup + +\startsetup + \command + [\y!geenmarkering] + \type + [\c!arg!] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!stellayoutin] + \type + [\c!vars!] + \variable + [\c!breedte] + [\c!dimension!,\v!passend,\v!midden] + [15cm] + \variable + [\c!hoogte] + [\c!dimension!,\v!passend,\v!midden] + [25cm] + \variable + [\c!rugwit] + [\c!dimension!] + [2.5cm] + \variable + [\c!kopwit] + [\c!dimension!] + [2.5cm] + \variable + [\c!marge] + [\c!dimension!] + [2.5cm] + \variable + [\c!linkermarge] + [\c!dimension!] + [] + \variable + [\c!rechtermarge] + [\c!dimension!] + [] + \variable + [\c!hoofd] + [\c!dimension!] + [2.0cm] + \variable + [\c!voet] + [\c!dimension!] + [2.0cm] + \variable + [\c!boven] + [\c!dimension!] + [2.0cm] + \variable + [\c!onder] + [\c!dimension!] + [2.0cm] + \variable + [\c!linkerrand] + [\c!dimension!] + [3cm] + \variable + [\c!rechterrand] + [\c!dimension!] + [3cm] + \variable + [\c!hoofdafstand] + [\c!dimension!] + [0pt] + \variable + [\c!voetafstand] + [\c!dimension!] + [0pt] + \variable + [\c!bovenafstand] + [\c!dimension!] + [0pt] + \variable + [\c!onderafstand] + [\c!dimension!] + [0pt] + \variable + [\c!linkermargeafstand] + [\c!dimension!] + [12pt] + \variable + [\c!rechtermargeafstand] + [\c!dimension!] + [12pt] + \variable + [\c!linkerrandafstand] + [\c!dimension!] + [12pt] + \variable + [\c!rechterrandafstand] + [\c!dimension!] + [12pt] + \variable + [\c!rugoffset] + [\c!dimension!] + [0pt] + \variable + [\c!kopoffset] + [\c!dimension!] + [0pt] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!markering] + [\v!aan,\v!uit,\v!kleur] + [\v!uit] + \variable + [\c!plaats] + [\v!links,\v!midden,\v!rechts,\v!onder,\v!boven, + \v!enkelzijdig,\v!dubbelzijdig] + [\v!enkelzijdig] + \variable + [\c!schaal] + [\c!dimension!] + [1] + \variable + [\c!nx] + [\c!number!] + [1] + \variable + [\c!ny] + [\c!number!] + [1] + \variable + [\c!dx] + [\c!dimension!] + [0pt] + \variable + [\c!dy] + [\c!dimension!] + [0pt] + \variable + [\c!regels] + [\c!number!] + [] + \variable + [\c!grid] + [\v!ja,\v!nee] + [\v!nee] + \variable + [\c!bodemwit] + [\c!number!] + [] + \variable + [\c!snijwit] + [\c!number!] + [] +\stopsetup + +\startsetup + \command + [\y!paslayoutaan] + \type + [\c!opt!\c!vals!\c!vars!] + \value + [\c!number!] + [] + \variable + [\c!hoogte] + [\c!dimension!,\v!max] + [] + \variable + [\c!regels] + [\c!number!] + [] +\stopsetup + +\startsetup + \command + [\y!toongrid] + \type + [] +\stopsetup + +\startsetup + \command + [\y!plaatsopgrid] + \type + [\c!opt!\c!val!\c!arg!] + \inheritvalues + [\y!verplaatsopgrid] + [] +\stopsetup + +\startsetup + \command + [\y!verplaatsopgrid] + \type + [\c!opt!\c!val!] + \value + [\v!boven,\v!beide,\v!onder] + [\v!beide] +\stopsetup + +\startsetup + \command + [\y!startproject] + \type + [\c!fil!\c!stp!] + \value + [\c!filename!] + [] +\stopsetup + +\startsetup + \command + [\y!startomgeving] + \type + [\c!fil!\c!stp!] + \value + [\c!filename!] + [] +\stopsetup + +\startsetup + \command + [\y!startprodukt] + \type + [\c!fil!\c!stp!] + \value + [\c!filename!] + [] +\stopsetup + +\startsetup + \command + [\y!startonderdeel] + \type + [\c!fil!\c!stp!] + \value + [\c!filename!] + [] +\stopsetup + +\startsetup + \command + [\y!geenfilesmeer] + \type + [] +\stopsetup + +\startsetup + \command + [\y!stelinterliniein] + \type + [\c!opt!\c!val!\c!or!\c!vars!] + \value + [\v!reset,\v!klein,\v!middel,\v!groot,\v!aan,\v!uit] + [\v!klein] + \variable + [\v!hoogte] + [\c!number!] + [0.72] + \variable + [\v!diepte] + [\c!number!] + [0.28] + \variable + [\v!regel] + [\c!dimension!] + [2.8ex] + \variable + [\v!boven] + [\c!number!] + [1.0] + \variable + [\v!onder] + [\c!number!] + [0.4] +\stopsetup + +\startsetup + \command + [\y!stelnummeringin] + \type + [\c!vars!] + \variable + [\c!variant] + [\v!enkelzijdig,\v!dubbelzijdig] + [\v!enkelzijdig] + \variable + [\c!plaats] + [\v!hoofd,\v!voet, + \v!links,\v!rechts,\v!midden, + \v!marge,\v!kantlijn,\v!inlinker,\v!inrechter] + [\v!midden] + \variable + [\c!conversie] + [\v!cijfers,\v!letters,\v!Letters,\v!romeins,\v!Romeins] + [\v!cijfers] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!links] + [\c!text!] + [] + \variable + [\c!rechts] + [\c!text!] + [] + \variable + [\c!wijze] + [\v!per\v!tekst,\v!per\c!section!] + [\v!per\v!deel] + \variable + [\c!tekst] + [\c!text!] + [] + \variable + [\c!nummerscheider] + [\c!text!] + [--] + \variable + [\c!tekstscheider] + [\c!text!] + [] + \variable + [\c!section!\c!number!] + [\v!ja,\v!nee] + [] + \variable + [\c!scheider] + [\c!text!] + [--] + \variable + [\c!status] + [\v!start,\v!stop] + [\v!start] + \variable + [\c!commando] + [\c!oneargument!] + [] +\stopsetup + +\startsetup + \command + [\y!stelsmallerin] + \type + [\c!vars!] + \variable + [\c!links] + [\c!dimension!] + [1.5em] + \variable + [\c!rechts] + [\c!dimension!] + [1.5em] + \variable + [\c!midden] + [\c!dimension!] + [1.5em] +\stopsetup + +\startsetup + \command + [\y!definieer] + \type + [\c!opt!\c!val!\c!cmd!\c!arg!] + \value + [\c!number!] + [0] +\stopsetup + +\startsetup + \command + [\y!gebruikcommandos] + \type + [\c!arg!] +\stopsetup + +\startsetup + \command + [\y!definieerstartstop] + \type + [\c!val!\c!vars!] + \variable + [\c!voor] + [\c!command!] + [] + \variable + [\c!na] + [\c!command!] + [] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!commandos] + [\c!command!] + [] +\stopsetup + +\startsetup + \command + [\y!stelkoppenin] + \type + [\c!vars!] + \variable + [\c!sectienummer] + [\v!ja,\v!nummer,\v!nee] + [\v!ja] + \variable + [\c!variant] + [\v!normaal,\v!marge,\v!midden,\v!tekst,\v!alinea] + [\v!normaal] + \variable + [\c!scheider] + [\c!text!] + [.] + \variable + [\c!commando] + [\c!twoarguments!] + [] +\stopsetup + +\startsetup + \command + [\y!stelblokkopjesin] + \type + [\c!vars!] + \variable + [\c!plaats] + [\v!boven,\v!onder,\v!geen,\v!hoog,\v!laag,\v!midden] + [\v!onder] + \variable + [\c!breedte] + [\v!passend,\v!max,\c!dimension!] + [\v!passend] + \variable + [\c!kopletter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!vet] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!nummer] + [\v!ja,\v!nee] + [\v!ja] + %\variable + % [\c!voor] + % [\c!command!] + % [\blanko] + \variable + [\c!tussen] + [\c!command!] + []% {\blanko[\v!middel]}] + %\variable + % [\c!na] + % [\c!command!] + % [\blanko] + \variable + [\c!uitlijnen] + [\v!links,\v!midden,\v!rechts,\v!nee] + [] + \variable + [\c!conversie] + [\v!cijfers,\v!letters,\v!Letters,\v!romeins,\v!Romeins] + [\v!cijfers] + \variable + [\c!wijze] + [\v!per\v!tekst,\v!per\c!section!] + [\v!per\v!tekst] +\stopsetup + +\startsetup + \command + [\y!stelblokkopjein] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!stelblokkopjesin] + [] +\stopsetup + +\startsetup + \command + [\y!stelplaatsblokkenin] + \type + [\c!vars!] + \variable + [\c!plaats] + [\v!links,\v!rechts,\v!midden] + [\v!midden] + \variable + [\c!breedte] + [\v!passend,\c!dimension!] + [\v!passend] + \variable + [\c!voor] + [\c!command!] + [] + \variable + [\c!na] + [\c!command!] + [] + \variable + [\c!marge] + [\c!dimension!] + [1em] + \variable + [\c!voorwit] + [\c!repeat!\v!klein,\c!repeat!\v!middel,\c!repeat!\v!groot,\v!geen] + [] + \variable + [\c!nawit] + [\c!repeat!\v!klein,\c!repeat!\v!middel,\c!repeat!\v!groot,\v!geen] + [] + \variable + [\c!zijvoorwit] + [\c!repeat!\v!klein,\c!repeat!\v!middel,\c!repeat!\v!groot,\v!geen] + [] + \variable + [\c!zijnawit] + [\c!repeat!\v!klein,\c!repeat!\v!middel,\c!repeat!\v!groot,\v!geen] + [] + \variable + [\c!springvolgendein] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!nboven] + [\c!number!] + [2] + \variable + [\c!nonder] + [\c!number!] + [0] + \variable + [\c!nregels] + [\c!number!] + [4] + \inheritvariables + [\y!setupframed] + [] +\stopsetup + +\startsetup + \command + [\y!stelplaatsblokkensplitsenin] + \type + [\c!vars!] + \variable + [\c!conversie] + [\v!cijfers,\v!letters,\v!Letters,\v!romeins,\v!Romeins] + [\v!letter] + \variable + [\c!regels] + [\c!number!] + [3] +\stopsetup + +\startsetup + \command + [\y!splitsplaatsblok] + \type + [\c!opt!\c!vars!\c!arg!\c!arg!] + \inheritvariables + [\y!stelplaatsblokkensplitsenin] + [] +\stopsetup + +\startsetup + \command + [\y!stelnaastplaatsenin] + \type + [\c!var!] + \variable + [\c!status] + [\v!start,\v!stop] + [\v!stop] +\stopsetup + +\startsetup + \command + [\y!startnaast] + \type + [\c!stp!] +\stopsetup + +\startsetup + \command + [\y!stelkoppeltekenin] + \type + [\c!var!] + \variable + [\c!teken] + [--,---,-,~,),(,=,/] + [--] +\stopsetup + +\startsetup + \command + [\y!stelpositionerenin] + \type + [\c!vars!] + \variable + [\c!status] + [\v!start,\v!overlay] + [\v!start] + \variable + [\c!eenheid] + [\s!cm,\s!pt,\s!em,\s!mm,\s!ex,\s!es,\s!in] + [\s!cm] + \variable + [\c!factor] + [\c!number!] + [1] + \variable + [\c!schaal] + [\c!number!] + [1] + \variable + [\c!offset] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!xstap] + [\v!absoluut,\v!relatief] + [\v!absoluut] + \variable + [\c!ystap] + [\v!absoluut,\v!relatief] + [\v!absoluut] +\stopsetup + +\startsetup + \command + [\y!startpositioneren] + \type + [\c!stp!] +\stopsetup + +\startsetup + \command + [\y!rooster] + \type + [\c!vars!] + \variable + [\c!x] + [\c!number!] + [0] + \variable + [\c!y] + [\c!number!] + [0] + \variable + [\c!nx] + [\c!number!] + [10] + \variable + [\c!ny] + [\c!number!] + [10] + \variable + [\c!dx] + [\c!number!] + [0.5] + \variable + [\c!dy] + [\c!number!] + [0.5] + \variable + [\c!xstap] + [\c!number!] + [0] + \variable + [\c!ystap] + [\c!number!] + [0] + \variable + [\c!offset] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!factor] + [\c!number!] + [1] + \variable + [\c!schaal] + [\c!number!] + [1] + \variable + [\c!eenheid] + [\s!cm,\s!pt,\s!em,\s!mm,\s!ex,\s!es,\s!in] + [\s!cm] + \variable + [\c!plaats] + [\v!links,\v!midden] + [\v!links] +\stopsetup + + +\startsetup + \command + [\y!pagina] + \type + [\c!vals!] + \value + [\v!ja,\v!opmaak,\v!nee,\v!voorkeur,\v!grotevoorkeur, + \v!links,\v!rechts,\v!blokkeer,\v!laatste,\v!viertal, + \v!even,\v!oneven,\v!blanko,\v!leeg,\v!reset] + [\v!ja] +\stopsetup + +\startsetup + \command + [\y!setupreferencing] + \type + [\c!var!] + \variable + [\c!status] + [\v!start,\v!stop] + [\v!start] + \variable + [\c!section!\c!number!] + [\v!ja,\v!nee] + [] + \variable + [\c!prefix] + [+,-,\c!text!] + [] + \variable + [\c!interactie] + [\v!label,\v!tekst,\v!alles,\v!symbool] + [\v!alles] + \variable + [\c!breedte] + [\c!dimension!] + [] + \variable + [\c!links] + [\c!command!] + [] + \variable + [\c!rechts] + [\c!command!] + [] + \variable + [\c!converteerfile] + [\v!ja,\v!nee,\v!klein,\v!groot] + [\v!nee] + \variable + [\c!scheider] + [\c!text!] + [~] + \variable + [\c!autofile] + [\v!ja,\v!nee,\v!pagina] + [\v!nee] + \variable + [\c!globaal] + [\v!ja,\v!nee] + [\v!nee] +\stopsetup + +\startsetup + \command + [\y!setupurl] + \type + [\c!vars!] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!type] + \variable + [\c!urlvariant] + [\v!geen,\v!beide,\v!voor,\v!na] + [\v!beide] + \variable + [\c!urlspatie] + [\v!ja,\v!nee] + [\v!nee] +\stopsetup + +\startsetup + \command + [\y!schrijfnaarreferentielijst] + \type + [\c!val!\c!arg!\c!arg!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!plaatsreferentielijst] + \type + [\c!vals!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!definieerreferentielijst] + \type + [\c!val!\c!opt!\c!vars!] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!stelreferentielijstin] + [] +\stopsetup + +\startsetup + \command + [\y!stelreferentielijstin] + \type + [\c!vals!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!status] + [\v!start,\v!stop] + [\v!start] + \variable + [\c!criterium] + [\c!section!,\v!lokaal,\v!vorige,\v!alles] + [\v!alles] + \variable + [\c!commando] + [\c!command!] + [] + \variable + [\c!voor] + [\c!command!] + [] + \variable + [\c!na] + [\c!command!] + [] +\stopsetup + +\startsetup + \command + [\y!schrijfnaarlijst] + \type + [\c!val!\c!arg!\c!arg!] + \value + [\c!section!,\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!schrijftussenlijst] + \type + [\c!val!\c!arg!] + \value + [\c!section!,\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!geenlijst] + \type + [\c!arg!] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!plaatslijst] + \type + [\c!vals!\c!opt!\c!vars!] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!stellijstin] + [] +\stopsetup + +\startsetup + \command + [\y!bepaallijstkenmerken] + \type + [\c!vals!\c!opt!\c!vars!] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!stellijstin] + [] +\stopsetup + +% nieuw: + +% \startsetup +% \command +% [\y!plaatssamengesteldelijst] +% \type +% [\c!val!\c!opt!\c!vars!] +% \value +% [\c!identifier!] +% [] +% \inheritvariables +% [\y!stelsamengesteldelijstin] +% [] +% \stopsetup + +\startsetup + \command + [\y!definieerlijst] + \type + [\c!val!\c!opt!\c!val!\c!opt!\c!vars!] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!stellijstin] + [] +\stopsetup + +\startsetup + \command + [\y!stellijstin] + \type + [\c!vals!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!status] + [\v!start,\v!stop] + [\v!start] + \variable + [\c!variant] + [\v!a,\v!b,\v!c,...,\v!geen,\v!commando] + [\v!b] + \variable + [\c!koppeling] + [\v!aan,\v!uit] + [\v!uit] + \variable + [\c!criterium] + [\c!section!,\v!lokaal,\v!vorige,\v!alles] + [\v!lokaal] + \variable + [\c!paginaovergangen] + [\c!list!] + [] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!nummerletter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!tekstletter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!paginaletter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!kleur] + [\c!identifier!] + [] + \variable + [\c!commando] + [\c!threearguments!] + [] + \variable + [\c!nummercommando] + [\c!oneargument!] + [] + \variable + [\c!tekstcommando] + [\c!oneargument!] + [] + \variable + [\c!paginacommando] + [\c!oneargument!] + [] + \variable + [\c!interactie] + [\v!sectienummer,\v!tekst,\v!paginanummer,\v!alles] + [\v!sectienummer] + \variable + [\c!voor] + [\c!command!] + [\blanko] + \variable + [\c!na] + [\c!command!] + [] + \variable + [\c!tussen] + [\c!command!] + [] + \variable + [\c!links] + [\c!text!] + [] + \variable + [\c!rechts] + [\c!text!] + [] + \variable + [\c!label] + [\v!ja,\v!nee] + [\v!nee] + \variable + [\c!prefix] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!paginanummer] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!section!\c!number!] + [\v!ja,\v!nee] + [] + \variable + [\c!titeluitlijnen] + [\v!ja,\v!nee] + [\v!nee] + \variable + [\c!marge] + [\c!dimension!] + [3em] + \variable + [\c!breedte] + [\c!dimension!,\v!passend] + [3em] + \variable + [\c!hoogte] + [\c!dimension!,\v!passend,\v!ruim] + [\v!ruim] + \variable + [\c!diepte] + [\c!dimension!,\v!passend,\v!ruim] + [\v!ruim] +% \variable +% [\c!offset] +% [\c!dimension!] +% [.25em] + \variable + [\c!afstand] + [\c!dimension!] + [0em] + \variable + [\c!scheider] + [\c!text!] + [] + \variable + [\c!symbool] + [\v!geen,1,2,3,...] + [] + \variable + [\c!expansie] + [\v!ja,\v!nee,\v!commando] + [\v!nee] + \variable + [\c!maxbreedte] + [\c!dimension!] + [] + \inheritvariables + [\y!framed] + [] +\stopsetup + +\startsetup + \command + [\y!definieersamengesteldelijst] + \type + [\c!val!\c!vals!\c!opt!\c!vars!] + \value + [\c!identifier!] + [] + \value + [\c!list!] + [] + \inheritvariables + [\y!stelsamengesteldelijstin] + [] +\stopsetup + +\startsetup + \command + [\y!stelsamengesteldelijstin] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!niveau] + [1,2,3,4,\c!section!,\v!huidige] + [4] + \inheritvariables + [\y!stellijstin] + [] +\stopsetup + +\startsetup + \command + [\e!plaats<<\y!samengesteldelijst>>] + \type + [\c!val!\c!opt!\c!vars!] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!stelsamengesteldelijstin] + [] +\stopsetup + +\startsetup + \command + [\e!volledige<<\y!samengesteldelijst>>] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!stelsamengesteldelijstin] + [] +\stopsetup + +\startsetup + \command + [\y!stelnummerenin] + \type + [\c!vars!] + \variable + [\c!wijze] + [\v!per\v!tekst,\v!per\c!section!] + [\v!per\v!hoofdstuk] + \variable + [\c!status] + [\v!start,\v!stop] + [\v!start] +\stopsetup + +\startsetup + \command + [\y!stelformulesin] + \type + [\c!vars!] + \variable + [\c!plaats] + [\v!links,\v!rechts] + [\v!rechts] + \variable + [\c!links] + [\c!text!] + [{(}] + \variable + [\c!rechts] + [\c!text!] + [{)}] +\stopsetup + +\startsetup + \command + [\y!publicatie] + \type + [\c!ref!] +\stopsetup + +\startsetup + \command + [\y!stelpublicatiesin] + \type + [\c!vars!] + \variable + [\c!variant] + [\c!apa,\v!normaal] + [\c!apa] + \inheritvariables + [\y!steldoornummerenin] + [] +\stopsetup + +\startsetup + \command + [\y!stelregelsin] + \type + [\c!vars!] + \variable + [\c!voor] + [\c!command!] + [\blanko] + \variable + [\c!na] + [\c!command!] + [\blanko] + \variable + [\c!tussen] + [\c!command!] + [\blanko] + \variable + [\c!inspringen] + [\v!ja,\v!nee,\v!even,\v!oneven] + [\v!nee] +\stopsetup + +\startsetup + \command + [\y!startregels] + \type + [\c!stp!] +\stopsetup + +\startsetup + \command + [\y!stelparagraafnummerenin] + \type + [\c!vars!] + \variable + [\c!status] + [\v!start,\v!stop,\v!reset,\v!regel] + [\v!stop] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!afstand] + [\c!dimension!] + [0pt] +\stopsetup + +\startsetup + \command + [\y!stelregelnummerenin] + \type + [\c!vars!] + \variable + [\c!conversie] + [\v!cijfers,\v!letters,\v!Letters,\v!romeins,\v!Romeins, + \v!tekst] + [\v!cijfers] + \variable + [\c!start] + [\c!number!] + [1] + \variable + [\c!stap] + [\c!number!] + [1] + \variable + [\c!breedte] + [\c!dimension!] + [2ex] + \variable + [\c!plaats] + [\v!intekst,\v!inmarge] + [\v!inmarge] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!prefix] + [\c!text!] + [] + \variable + [\c!refereren] + [\v!aan,\v!uit] + [\v!aan] +\stopsetup + +\startsetup + \command + [\y!startregelnummeren] + \type + [\c!val!\c!stp!] + \value + [\v!verder] + [] +\stopsetup + +\startsetup + \command + [\y!startregel] + \type + [\c!ref!\c!stp!] +\stopsetup + +\startsetup + \command + [\y!eenregel] + \type + [\c!ref!] +\stopsetup + +\startsetup + \command + [\y!inregel] + \type + [\c!ref!] +\stopsetup + +\startsetup + \command + [\y!stelinmargein] + \type + [\c!opt!\c!val!\c!vars!] + \value + [\v!links,\v!rechts,\c!number!] + [] + \variable + [\c!plaats] + [\v!links,\v!rechts,\v!beide] + [\v!beide] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!vet] + \variable + [\c!voor] + [\c!command!] + [] + \variable + [\c!na] + [\c!command!] + [] + \variable + [\c!uitlijnen] + [\v!binnen,\v!buiten,\v!links,\v!rechts,\v!midden,\v!normaal,\v!nee,\v!ja] + [\v!binnen] + \variable + [\c!regel] + [\c!number!] + [1] + \variable + [\c!afstand] + [\c!dimension!] + [0pt] + \variable + [\c!scheider] + [\c!text!] + [] + \inheritvariables + [\y!setupframed] + [] +\stopsetup + +\startsetup + \command + [\y!stelpaginanummerin] + \type + [\c!vars!] + \variable + [\c!nummer] + [\c!number!] + [] + \variable + [\c!status] + [\v!start,\v!stop,\v!handhaaf] + [\v!start] +\stopsetup + +\startsetup + \command + [\y!stelsubpaginanummerin] + \type + [\c!vars!] + \variable + [\c!wijze] + [\v!per\v!tekst,\v!per\c!section!] + [\v!per\v!deel] + \variable + [\c!status] + [\v!start,\v!stop,\v!geen] + [\v!stop] +\stopsetup + +%\startsetup \command[\y!paginanummer] \type[] \stopsetup +%\startsetup \command[\y!subpaginanummer] \type[] \stopsetup +%\startsetup \command[\y!aantalsubpaginas] \type[] \stopsetup +%\startsetup \command[\y!totaalaantalpaginas] \type[] \stopsetup + +\startsetup + \command + [\y!stelblankoin] + \type + [\c!opt!\c!val!] + \value + [\v!normaal,\v!standaard,\v!regel,\c!dimension!, + \v!groot,\v!middel,\v!klein, + \v!vast,\v!flexibel] + [\v!normaal] +\stopsetup + +\startsetup + \command + [\y!definieerblanko] + \type + [\c!val!\c!val!] + \value + [\c!identifier!] + [] + \inheritvalues + [\y!stelblankoin] + [] +\stopsetup + +\startsetup + \command + [\y!definieerpapierformaat] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!breedte] + [\c!dimension!] + [297mm] + \variable + [\c!hoogte] + [\c!dimension!] + [210mm] + \variable + [\c!offset] + [\c!dimension!] + [210mm] + \variable + [\c!schaal] + [\c!number!] + [1] +\stopsetup + +\startsetup + \command + [\y!stelpapierformaatin] + \type + [\c!vals!\c!opt!\c!vals!] + \value + [A3,A4,A5,A6,letter,...,CD,\c!identifier!, + \v!liggend,\v!gespiegeld,\v!geroteerd,90,180,270] + [A4] + \value + [A3,A4,A5,A6,letter,...,\c!identifier!, + \v!liggend,\v!gespiegeld,\v!geroteerd,\v!negatief,90,180,270] + [A4] +\stopsetup + +\startsetup + \command + [\y!stelarrangerenin] + \type + [\c!vals!] + \value + [\v!blokkeer, + 2*16,2*8,2*4,2*2,2UP,2DOWN, + \v!gespiegeld,\v!geroteerd,\v!dubbelzijdig,\v!negatief,90,180,270] + [] +\stopsetup + +\startsetup + \command + [\y!toonprint] + \type + [\c!vals!\c!vals!\c!vars!] + \inheritvariables + [\y!stelpapierformaatin] + [] + \inheritvariables + [\y!stelpapierformaatin] + [] + \inheritvariables + [\y!stellayoutin] + [] +\stopsetup + +\startsetup + \command + [\y!definieerbeeldmerk] + \type + [\c!val!\c!val!\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \value + [\v!boven,\v!hoofd,\v!voet,\v!onder] + [] + \value + [\v!geen,\v!pagina, + \v!linkerrand,\v!linkermarge, + \v!links,\v!midden,\v!rechts, + \v!rechtermarge,\v!rechterrand] + [] + \variable + [\c!commando] + [\c!command!,\c!text!] + [] + \variable + [\c!status] + [\v!start,\v!stop] + [\v!stop] +\stopsetup + +\startsetup + \command + [\y!plaatsbeeldmerken] + \type + [\c!opt!\c!vals!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!stelwitruimtein] + \type + [\c!opt!\c!val!] + \value + [\v!geen,\v!klein,\v!middel,\v!groot,\v!regel,\v!vast,\v!herstel,\c!dimension!] + [\v!geen] +\stopsetup + +\startsetup + \command + [\y!stelinspringenin] + \type + [\c!vals!] + \value + [\v!geen,\v!klein,\v!middel,\v!groot,\v!volgende,\v!eerste,\c!dimension!] + [\v!geen] +\stopsetup + +\startsetup + \command + [\y!definieersectieblok] + \type + [\c!val!\c!opt!\c!vars!] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!stelsectieblokin] + [] +\stopsetup + +\startsetup + \command + [\y!stelsectieblokin] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!nummer] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!pagina] + [\v!ja,\v!rechts] + [\v!rechts] + \variable + [\c!voor] + [\c!command!] + [] + \variable + [\c!na] + [\c!command!] + [] +\stopsetup + +\startsetup + \command + [\y!definieersectie] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!stelsectiein] + \type + [\c!val!\c!opt!\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [\v!inleiding,\v!hoofdtekst,\v!bijlage,\v!uitleiding] + \variable + [\c!conversie] + [\v!cijfers,\v!letters,\v!Letters,\v!romeins,\v!Romeins] + [\v!cijfers] + \variable + [\c!vorigenummer] + [\v!ja,\v!nee] + [\v!ja] +\stopsetup + +\startsetup + \command + [\y!stelkopin] + \type + [\c!val!\c!vars!] + \value + [\c!section!] + [] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [] + \variable + [\c!tekstletter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [] + \variable + [\c!nummerletter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [] + \variable + [\c!nummer] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!eigennummer] + [\v!ja,\v!nee] + [\v!nee] + \variable + [\c!pagina] + [\v!links,\v!rechts,\v!ja] + [] + \variable + [\c!doorgaan] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!hoofd] + [\v!geen,\v!leeg,\v!hoog,\v!geenmarkering] + [] + \variable + [\c!voor] + [\c!command!] + [\blanko] + \variable + [\c!tussen] + [\c!command!] + [] + \variable + [\c!na] + [\c!command!] + [\blanko] + \variable + [\c!variant] + [\v!normaal,\v!inmarge,\v!midden,\v!tekst] + [\v!normaal] + \variable + [\c!commando] + [\c!twoarguments!] + [] + \variable + [\c!nummercommando] + [\c!oneargument!] + [] + \variable + [\c!tekstcommando] + [\c!oneargument!] + [] + \variable + [\c!prefix] + [+,-,\c!text!] + [] + \variable + [\c!plaatskop] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!verhoognummer] + [\v!ja,\v!nee,\c!filename!] + [\v!ja] + \variable + [\c!uitlijnen] + [\v!links,\v!rechts,\v!normaal,\v!ruim] + [\v!normaal] + \variable + [\c!tolerantie] + [\v!zeerstreng,\v!streng,\v!soepel,\v!zeersoepel,\v!rek] + [\v!soepel] + \variable + [\c!springvolgendein] + [\v!ja,\v!nee] + [\v!nee] + \variable + [\c!file] + [\c!identifier!] + [] + \variable + [\c!expansie] + [\v!ja,\v!commando,\v!nee] + [\v!nee] +\stopsetup + +\startsetup + \command + [\y!stelkopnummerin] + \type + [\c!val!\c!val!] + \value + [\c!section!] + [] + \value + [\c!number!,+\c!number!,-\c!number!] + [] +\stopsetup + +\startsetup + \command + [\y!kopnummer] + \type + [\c!opt!\c!val!] + \value + [\c!section!] + [] +\stopsetup + +\startsetup + \command + [\y!bepaalkopnummer] + \type + [\c!val!] + \value + [\c!section!] + [] +\stopsetup + +\startsetup + \command + [\y!huidigekopnummer] + \type + [] +\stopsetup + +\startsetup + \command + [\e!volgende<<\y!sectie>>] + \type + [] +\stopsetup + +\startsetup + \command + [\y!definieerkop] + \type + [\c!val!\c!val!] + \value + [\c!identifier!] + [] + \value + [\c!section!] + [] +\stopsetup + +\startsetup + \command + [\y!stelopsommingin] + \type + [\c!opt!\c!val!\c!opt!\c!vals!\c!opt!\c!vars!] + \value + [\c!number!,\v!elk] + [] + \value + [\v!standaard,\c!repeat!\v!ruim,\c!repeat!\v!aanelkaar,\v!opelkaar, + \v!vanelkaar,\v!afsluiter,\v!aansluitend,\v!opmarge,\v!inmarge, + \v!autointro,\v!los,\v!paragraaf,\v!intekst] + [\v!standaard] + \variable + [\c!marge] + [\v!nee,\v!standaard,\c!dimension!] + [0pt] + \variable + [\c!breedte] + [\c!dimension!] + [1.5em] + \variable + [\c!afstand] + [\c!dimension!] + [0.5em] + \variable + [\c!factor] + [\c!number!] + [0] + \variable + [\c!items] + [\c!number!] + [4] + \variable + [\c!voor] + [\c!command!] + [] + \variable + [\c!tussen] + [\c!command!] + [] + \variable + [\c!na] + [\c!command!] + [] + \variable + [\c!links] + [\c!text!] + [] + \variable + [\c!rechts] + [\c!text!] + [] + \variable + [\c!kopvoor] + [\c!command!] + [] + \variable + [\c!kopna] + [\c!command!] + [] + \variable + [\c!kopletter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!marletter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!type] + \variable + [\c!symletter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!afsluiter] + [\c!text!] + [.] + \variable + [\c!n] + [\c!number!] + [] + \variable + [\c!symbool] + [\c!number!] + [] + \variable + [\c!uitlijnen] + [\v!links,\v!rechts,\v!normaal] + [\v!normaal] + \variable + [\c!springvolgendein] + [\v!ja,\v!nee] + [\v!ja] +\stopsetup + +%\startsetup +% \command +% [\y!symbol] +% \type +% [\c!val!] +% \value +% [\c!number!] +% [] +%\stopsetup + +\startsetup + \command + [\y!startopsomming] + \type + [\c!opt!\c!vals!\c!opt!\c!vars!\c!stp!] + \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, + \v!afsluiter,\v!aansluitend,\v!opmarge,\v!inmarge,\v!intro,\v!kolommen] + [\v!standaard] + \inheritvariables + [\y!stelopsommingin] + [] +\stopsetup + +\startsetup \command[\y!som] \type[\c!opt!\c!refs!] \stopsetup +\startsetup \command[\y!but] \type[\c!alwint!\c!ref!] \stopsetup +\startsetup \command[\y!its] \type[\c!opt!\c!refs!] \stopsetup +\startsetup \command[\y!ran] \type[\c!arg!] \stopsetup +\startsetup \command[\y!kop] \type[\c!opt!\c!refs!] \stopsetup +\startsetup \command[\y!mar] \type[\c!opt!\c!refs!\c!arg!] \stopsetup +\startsetup \command[\v!sub] \type[\c!opt!\c!refs!] \stopsetup % no \y!sub +\startsetup \command[\y!sym] \type[\c!arg!] \stopsetup +\startsetup \command[\y!nop] \type[] \stopsetup + +\startsetup + \command + [\y!definieerregister] + \type + [\c!val!\c!val!] + \value + [\c!singular!] + [] + \value + [\c!plural!] + [] +\stopsetup + +\startsetup + \command + [\y!stelregisterin] + \type + [\c!val!\c!opt!\c!val!\c!vars!] + \value + [\c!singular!] + [] + \value + [\c!identifier!] + [] + \variable + [\c!n] + [\c!number!] + [2] + \variable + [\c!balanceren] + [\v!ja,\v!nee] + [\v!nee] + \variable + [\c!uitlijnen] + [\v!ja,\v!nee] + [\v!nee] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!vet] + \variable + [\c!paginaletter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!vet] + \variable + [\c!tekstletter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!vet] + \variable + [\c!aanduiding] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!koppeling] + [\v!ja,\v!nee] + [\v!nee] + \variable + [\c!section!\c!number!] + [\v!ja,\v!nee] + [] + \variable + [\c!criterium] + [\c!section!,\v!lokaal,\v!alles] + [\v!deel] + \variable + [\c!afstand] + [\c!dimension!] + [1em] + \variable + [\c!symbool] + [1,2,...,\c!n,\c!a,...,\v!geen] + [] + \variable + [\c!interactie] + [\v!paginanummer,\v!tekst] + [\v!paginanummer] + \variable + [\c!expansie] + [\v!ja,\v!commando,\v!nee] + [\v!nee] + \variable + [\c!refereren] + [\v!aan,\v!uit] + [\v!aan] + \variable + [\c!commando] + [\c!oneargument!] + [] + \variable + [\c!plaats] + [\v!links,\v!midden,\v!rechts] + [\v!midden] + \variable + [\c!maxbreedte] + [\c!dimension!] + [] + \variable + [\c!onbekendeverwijzing] + [\v!leeg,\v!geen] + [\v!leeg] +\stopsetup + +\startsetup + \command + [<<\y!register>>] + \type + [\c!opt!\c!val!\c!idxs!] + \value + [\c!text!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\e!start<<\y!register>>] + \type + [\c!opt!\c!val!\c!idxs!] + \value + [\c!text!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!schrijfnaarregister] + \type + [\c!val!\c!opt!\c!val!\c!idxs!] + \value + [\c!singular!] + [] + \value + [\c!text!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\e!gekoppelde<<\y!register>>] + \type + [\c!opt!\c!val!\c!idx!] + \value + [\c!text!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!koppelregister] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\e!zie<<\y!register>>] + \type + [\c!opt!\c!val!\c!arg!\c!idxs!] + \value + [\c!text!] + [] + \value + [\c!text!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\e!volledige<<\y!register>>] + \type + [\c!optint!\c!opt!\c!vars!] + \inheritvariables + [\y!stelregisterin] + [] +\stopsetup + +\startsetup + \command + [\e!plaats<<\y!register>>] + \type + [\c!optint!\c!opt!\c!vars!] + \inheritvariables + [\y!stelregisterin] + [] +\stopsetup + +\startsetup + \command + [\y!definieersynoniemen] + \type + [\c!val!\c!val!\c!val!\c!opt!\c!val!] + \value + [\c!singular!] + [] + \value + [\c!plural!] + [] + \value + [\c!command!] + [] + \value + [\c!command!] + [] +\stopsetup + +\startsetup + \command + [\y!stelsynoniemenin] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!tekstletter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!kap] + \variable + [\c!synoniemletter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!plaats] + [\v!links,\v!rechts,\v!boven,\v!aanelkaar, + \v!inmarge,\v!inlinker,\v!inrechter] + [\v!links] + \variable + [\c!breedte] + [\c!dimension!] + [5em] + \variable + [\c!status] + [\v!start,\v!stop] + [\v!start] + \variable + [\c!criterium] + [\v!alles,\v!gebruikt] + [\v!gebruikt] + \variable + [\c!conversie] + [\v!ja,\v!nee] + [\v!nee] + \variable + [\c!expansie] + [\v!ja,\v!commando,\v!nee] + [\v!nee] + \variable + [\c!commando] + [\c!threearguments!] + [] +\stopsetup + +\startsetup + \command + [<<\y!synoniem>>] + \type + [\c!opt!\c!val!\c!arg!\c!arg!] + \value + [\c!text!] + [] + \value + [\c!text!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\e!volledige\e!lijstmet<<\y!synoniemen>>] + \type + [] +\stopsetup + +\startsetup + \command + [\e!plaats\e!lijstmet<<\y!synoniemen>>] + \type + [] +\stopsetup + +\startsetup + \command[\e!laad<<\y!synoniemen>>] + \type[] +\stopsetup + +\startsetup + \command + [\y!definieersorteren] + \type + [\c!val!\c!val!\c!opt!\c!val!] + \value + [\c!singular!] + [] + \value + [\c!plural!] + [] + \value + [\c!command!] + [] +\stopsetup + +\startsetup + \command + [\y!stelsorterenin] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!voor] + [\c!command!] + [] + \variable + [\c!na] + [\c!command!] + [] + \variable + [\c!commando] + [\c!oneargument!] + [] + \variable + [\c!status] + [\v!start,\v!stop] + [\v!start] + \variable + [\c!criterium] + [\v!alles,\v!gebruikt] + [\v!gebruikt] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!expansie] + [\v!ja,\v!commando,\v!nee] + [\v!nee] +\stopsetup + +\startsetup + \command + [<<\y!sorteer>>] + \type + [\c!val!\c!arg!] + \value + [\c!text!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\e!volledige\e!lijstmet<<\y!sorteren>>] + \type + [] +\stopsetup + +\startsetup + \command + [\e!plaats\e!lijstmet<<\y!sorteren>>] + \type + [] +\stopsetup + +\startsetup + \command[\e!laad<<\y!sorteren>>] + \type[] +\stopsetup + +\startsetup + \command + [\y!definieeropmaak] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!stelopmaakin] + [] +\stopsetup + +\startsetup + \command + [\y!startopmaak] + \type + [\c!val!\c!opt!\c!vars!\c!stp!] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!stelopmaakin] + [] +\stopsetup + +\startsetup + \command + [\y!stelopmaakin] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!breedte] + [\c!dimension!] + [\zetbreedte] + \variable + [\c!hoogte] + [\c!dimension!] + [\teksthoogte] + \variable + [\c!voffset] + [\c!dimension!] + [\!!zeropoint] + \variable + [\c!hoffset] + [\c!dimension!] + [\!!zeropoint] + \variable + [\c!pagina] + [\v!links,\v!ja,\v!rechts] + [] + \variable + [\c!commandos] + [\c!command!] + [] + \variable + [\c!dubbelzijdig] + [\v!ja,\v!nee,\v!leeg] + [\v!leeg] + \variable + [\c!hoofdstatus] + [\v!normaal,\v!stop,\v!start,\v!leeg,\v!geen,\v!geenmarkering] + [\v!leeg] + \variable + [\c!voetstatus] + [\v!normaal,\v!stop,\v!start,\v!leeg,\v!geen,\v!geenmarkering] + [\v!leeg] + \variable + [\c!tekststatus] + [\v!normaal,\v!stop,\v!start,\v!leeg,\v!geen,\v!geenmarkering] + [\v!leeg] + \variable + [\c!bovenstatus] + [\v!stop,\v!start] + [\v!stop] + \variable + [\c!onderstatus] + [\v!stop,\v!start] + [\v!stop] +\stopsetup + +\startsetup + \command + [\e!start<<\y!naam>>\e!opmaak] % \tf + \type + [\c!stp!] +\stopsetup + +\startsetup + \command + [\y!versie] + \type + [\c!val!] + \value + [\v!definitief,\v!concept,\v!voorlopig] + [\v!definitief] +\stopsetup + +\startsetup + \command + [\y!currentdate] + \type + [\c!vals!] + \value + [\v!dag,\v!maand,\v!weekdag,\v!jaar, % \v!WEEKDAG,\v!MAAND, + dd,mm,jj,yy,d,m,j,y,\v!kenmerk] + [\v!dag,\v!maand,\v!jaar] +\stopsetup + +\startsetup + \command + [\y!date] + \type + [\c!opt!\c!vars!\c!vals!] + \variable + [d] + [\c!number!] + [] + \variable + [m] + [\c!number!] + [] + \variable + [y] + [\c!number!] + [] + \inheritvalues + [\y!currentdate] + [] +\stopsetup + +\startsetup + \command + [\y!kenmerkdatum] + \type + [] +\stopsetup + +\startsetup + \command + [\y!inspringen] + \type + [\c!vals!] + \value + [\v!nooit,\v!niet,\v!nee,\v!ja,\v!altijd,\v!eerste,\v!volgende] + [\v!nooit] +\stopsetup + +\startsetup + \command + [\y!nietinspringen] + \type + [] +\stopsetup + +\startsetup + \command + [\y!blanko] + \type + [\c!opt!\c!vals!] + \value + [\c!repeat!\v!klein,\c!repeat!\v!middel,\c!repeat!\v!groot, + \v!geenwit,\v!back,\v!wit,\v!blokkeer,\v!forceer,\v!reset, + \v!regel,\v!halveregel,\v!formule,\v!vast,\v!flexibel] + [\v!groot] +\stopsetup + +\startsetup + \command + [\y!startopelkaar] + \type + [\c!opt!\c!val!\c!stp!] % tzt \c!vals! + \value + [\v!blanko] + [] +\stopsetup + +\startsetup + \command + [\y!startvanelkaar] + \type + [\c!stp!] +\stopsetup + +% \startsetup +% \command +% [\y!startregelcorrectie] +% \type +% [\c!opt!\c!val!\c!stp!] +% \value +% [\v!klein,\v!middel,\v!groot,\v!blanko] +% [] +% \stopsetup +% +% beter: + +\startsetup + \command + [\y!startregelcorrectie] + \type + [\c!stp!] +\stopsetup + +\startsetup + \command + [\y!corrigeerwitruimte] + \type + [\c!arg!] +\stopsetup + +\startsetup + \command + [\e!start\e!uitstellen] + \type + [\c!stp!] +\stopsetup + +\startsetup + \command + [\y!startlocal] + \type + [\c!stp!] +\stopsetup + +\startsetup + \command + [\y!startsmaller] + \type + [\c!opt!\c!vals!\c!stp!] + \value + [\c!repeat!\v!links,\c!repeat!\v!midden,\c!repeat!\v!rechts] + [\v!midden] +\stopsetup + +\startsetup + \command + [\e!start\e!verbergen] + \type + [\c!stp!] +\stopsetup + +\startsetup + \command + [\y!steluitlijnenin] + \type + [\c!val!] + \value + [\v!breedte,\v!links,\v!rechts,\v!midden,\v!binnen,\v!buiten, + \v!breed,\v!ruim,\v!hoogte,\v!onder,\v!regel,\v!reset, + \v!hangend,\v!niethangend,\v!afgebroken,\v!nietafgebroken] + [] +\stopsetup + +\startsetup + \command + [\y!startuitlijnen] + \type + [\c!stp!\c!opt!\c!val!] + \inheritvariables + [\y!steluitlijnenin] + [] +\stopsetup + +\startsetup + \command + [\y!stelspatieringin] + \type + [\c!val!] + \value + [\v!ruim,\v!opelkaar] + [] +\stopsetup + +\startsetup + \command + [\y!steltolerantiein] + \type + [\c!vals!] + \value + [\v!horizontaal,\v!vertikaal, + \v!rek,\v!zeerstreng,\v!streng,\v!soepel,\v!zeersoepel] + [\v!zeerstreng] +\stopsetup + +\startsetup + \command + [\y!soortpagina] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!verwerkpagina] + \type + [\c!vals!\c!val!] + \value + [\c!identifier!] + [] + \value + [\v!ja,\v!nee] + [\v!ja] +\stopsetup + +\startsetup + \command + [\y!koppelpagina] + \type + [\c!vals!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!optie] + [\v!dubbelzijdig] + [] + \variable + [\c!voor] + [\c!command!] + [] + \variable + [\c!na] + [\c!command!] + [] +\stopsetup + +\startsetup + \command + [\y!positioneer] + \type + [\c!poss!\c!arg!] + \value + [\c!number!] + [] + \value + [\c!number!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!setupscreens] + \type + [\c!vars!] + \variable + [\c!methode] + [\v!punt,\v!lijn,\v!extern] + [\v!extern] + \variable + [\c!resolutie] + [\c!number!] + [508] + \variable + [\c!factor] + [\c!number!] + [8] + \variable + [\c!raster] + [\c!number!] + [0.95] +\stopsetup + +\startsetup + \command + [\y!stelachtergrondenin] + \type + [\c!opt!\c!val!\c!opt!\c!vals!\c!vars!] + \value + [\v!boven,\v!hoofd,\v!tekst,\v!voet,\v!onder, + \v!pagina,\v!papier,\v!linkerpagina,\v!rechterpagina] + [] + \value + [\v!linkerrand,\v!linkermarge,\v!tekst,\v!rechtermarge,\v!rechterrand] + [] + \variable + [\c!status] + [\v!start,\v!stop,\v!herhaal] + [\v!start] +% \variable +% [\c!commando] +% [\c!command!] +% [] + \inheritvariables + [\y!setupframed] + [] +\stopsetup + +\startsetup + \command + [\e!start\e!buffer] + \type + [\c!opt!\c!val!\c!stp!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!haalbuffer] + \type + [\c!opt!\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!typebuffer] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!definieerbuffer] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!stelbufferin] + \type + [\c!opt!\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!alinea] + [\c!number!] + [0] + \variable + [\c!voor] + [\c!command!] + [] + \variable + [\c!na] + [\c!command!] + [] +\stopsetup + +\startsetup + \command + [\y!definieerblok] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!geenblokkenmeer] + \type + [] +\stopsetup + +\startsetup + \command + [\y!verbergblokken] + \type + [\c!vals!\c!opt!\c!vals!] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!handhaafblokken] + \type + [\c!vals!\c!opt!\c!vals!] + \value + [\c!identifier!] + [] + \value + [\v!alles,\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!gebruikblokken] + \type + [\c!vals!\c!opt!\c!vals!] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!verwerkblokken] + \type + [\c!vals!\c!opt!\c!vals!] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!selecteerblokken] + \type + [\c!vals!\c!opt!\c!vals!\c!opt!\c!var!] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] + \variable + [\c!criterium] + [\v!alles,\c!section!] + [\v!alles] +\stopsetup + +\startsetup + \command + [\y!stelblokin] + \type + [\c!vals!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!voor] + [\c!command!] + [\blanko] + \variable + [\c!na] + [\c!command!] + [\blanko] + \variable + [\c!binnen] + [\c!command!] + [] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] +% \variable +% [\c!scope] +% [\v!globaal,\v!lokaal] +% [\v!globaal] + \variable + [\c!file] + [\c!filename!] + [] +\stopsetup + +\startsetup + \command + [\e!start\e!formule] + \type + [\c!stp!] + \value + [\c!formula!] + [] +\stopsetup + +\startsetup + \command + [\y!mathematics] + \type + [\c!arg!] + \value + [\c!formula!] + [] +\stopsetup + +\startsetup + \command + [\y!plaatsformule] + \type + [\c!opt!\c!refs!\c!opt!\c!arg!\c!dis!] + \value + [\c!text!] + [] + \value + [\c!formula!] + [] +\stopsetup + +\startsetup + \command + [\y!plaatssubformule] + \type + [\c!opt!\c!refs!\c!opt!\c!arg!\c!dis!] + \value + [\c!text!] + [] + \value + [\c!formula!] + [] +\stopsetup + +\startsetup + \command + [\e!plaats<<\y!blok>>] + \type + [\c!opt!\c!val!\c!opt!\c!refs!\c!arg!\c!arg!] + \value + [\v!links,\v!rechts,\v!hier,\v!boven,\v!onder, + \v!inlinker,\v!inrechter,\v!inmarge,\v!marge, + \v!pagina,\v!naast,\v!altijd,\v!forceer,\v!lang] + [\v!hier] + \value + [\c!text!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\e!reserveer<<\y!blok>>] + \type + [\c!opt!\c!vars!\c!opt!\c!val!\c!opt!\c!refs!\c!arg!] + \variable + [\c!hoogte] + [\c!dimension!] + [] + \variable + [\c!breedte] + [\c!dimension!] + [] + \variable + [\c!kader] + [\v!aan,\v!uit] + [] + \value + [\v!links,\v!rechts,\v!hier,\v!boven,\v!onder, + \v!inlinker,\v!inrechter,\v!inmarge,\v!marge, + \v!pagina,\v!naast,\v!altijd,\v!forceer] + [\v!hier] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!definieerplaatsblok] + \type + [\c!val!\c!val!] + \value + [\c!singular!] + [] + \value + [\c!plural!] + [] +\stopsetup + +\startsetup + \command + [\y!stelplaatsblokin] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!hoogte] + [\c!dimension!] + [] + \variable + [\c!breedte] + [\c!dimension!] + [] + \variable + [\c!paginaovergangen] + [\c!list!] + [] + \inheritvariables + [\y!setupframed] + [] +\stopsetup + +\startsetup + \command + [\e!start<<\y!blok>>\e!tekst] + \type + [\c!opt!\c!val!\c!opt!\c!ref!\c!arg!\c!arg!\c!stp!] + \value + [\v!links,\v!rechts,\v!hoog,\v!midden,\v!laag,\c!offset,\v!lang] + [] + \value + [\c!text!] + [] + \value + [\c!text!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command[\e!plaats\e!lijstmet<<\y!blokken>>] + \type[\c!optint!] +\stopsetup + +\startsetup + \command[\e!volledige\e!lijstmet<<\y!blokken>>] + \type[\c!optint!] +\stopsetup + +% pragma4.tex +% +% \startsetup +% \command +% [\y!label] +% \type +% [\c!val!\c!arg!\c!arg!\c!arg!\c!arg!\c!arg!\c!arg!] +% \value +% [\v!smal,\v!breed] +% [\v!breed] +% \value +% [\c!text!] +% [] +% \value +% [\c!text!] +% [] +% \value +% [\c!text!] +% [] +% \value +% [\c!text!] +% [] +% \value +% [\c!text!] +% [] +% \value +% [\c!text!] +% [] +% \stopsetup + +\startsetup + \command + [\y!kenmerk] + \type + [\c!vars!] + \variable + [bet] + [\c!text!] + [] + \variable + [ken] + [\c!text!] + [] + \variable + [dat] + [\c!text!] + [] + \variable + [van] + [\c!text!] + [] + \variable + [aan] + [\c!text!] + [] + \variable + [ref] + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!selecteerpapier] + \type + [\c!vars!] + \variable + [\c!soort] + [1,2] + [] +\stopsetup + +\startsetup + \command + [\y!koppelpapier] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +% pragma5.tex + +\startsetup + \command[\y!chem] + \type[\c!arg!\c!arg!\c!arg!] + \value[\c!text!][] + \value[\c!text!][] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!breuk] + \type[\c!arg!\c!arg!] + \value[\c!text!][] + \value[\c!text!][] +\stopsetup + +\startsetup + \command[\y!punten] + \type[\c!val!] + \value[\c!number!][] +\stopsetup + +\startsetup + \command[\y!woonplaats] + \type[\c!arg!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command + [\y!items] + \type + [\c!opt!\c!vars!\c!args!] + \inheritvariables + [\y!stelitemsin] + [] +\stopsetup + +\startsetup + \command + [\y!stelitemsin] + \type + [\c!vars!] + \variable + [\c!plaats] + [\v!links,\v!rechts,\v!inmarge,\v!boven,\v!onder] + [\v!links] + \variable + [\c!symbool] + [1,2,...,\c!n,\c!a,...,\c!text!,\v!geen] + [] + \variable + [\c!breedte] + [\c!dimension!] + [\hsize] + \variable + [\c!n] + [\c!number!,\v!onbekend] + [\v!onbekend] + \variable + [\c!voor] + [\c!command!] + [\blanko] + \variable + [\c!tussen] + [\c!command!] + [{\blanko[\v!middel]}] + \variable + [\c!uitlijnen] + [\v!links,\v!rechts,\v!midden,\v!marge] + [\v!midden] + \variable + [\c!na] + [\c!command!] + [\blanko] +\stopsetup + +\startsetup + \command + [\y!startcitaat] + \type + [\c!vals!\c!stp!] + \value + [\c!repeat!\v!links,\c!repeat!\v!midden,\c!repeat!\v!rechts] + [\v!midden] +\stopsetup + +\startsetup + \command + [\y!citaat] + \type + [\c!arg!] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!citeer] + \type + [\c!arg!] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!stelciterenin] + \type + [\c!vars!] + \variable + [\c!voor] + [\c!command!] + [] + \variable + [\c!na] + [\c!command!] + [] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] +\stopsetup + +\startsetup + \command + [\y!toevoegen] + \type + [\c!val!] + \value + [\v!klein,\v!middel,\v!groot] + [\v!middel] +\stopsetup + +\startsetup + \command + [\y!definieeralineas] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!n] + [\c!number!] + [2] + \variable + [\c!lijn] + [\v!aan,\v!uit] + [\v!uit] + \variable + [\c!hoogte] + [\v!passend,\c!dimension!] + [\v!passend] + \variable + [\c!voor] + [\c!command!] + [\blanko] + \variable + [\c!na] + [\c!command!] + [\blanko] + \variable + [\c!binnen] + [\c!command!] + [] + \variable + [\c!afstand] + [\c!dimension!] + [1em] + \variable + [\c!tolerantie] + [\v!zeerstreng,\v!streng,\v!soepel,\v!zeersoepel,\v!rek] + [\v!soepel] + \variable + [\c!uitlijnen] + [\v!links,\v!rechts,\v!midden] + [] +\stopsetup + +\startsetup + \command + [<<\y!alinea>>] + \type + [] +\stopsetup + +\startsetup + \command + [\e!start<<\y!alinea>>] + \type + [\c!stp!] +\stopsetup + +\startsetup + \command + [\y!stelalineasin] + \type + [\c!val!\c!opt!\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \value + [\c!number!,\v!elk] + [] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!breedte] + [\c!dimension!] + [] + \variable + [\c!hoogte] + [\c!dimension!] + [] + \variable + [\c!uitlijnen] + [\v!links,\v!rechts,\v!midden,\v!breedte] + [\c!breedte] + \variable + [\c!tolerantie] + [\v!zeerstreng,\v!streng,\v!soepel,\v!zeersoepel,\v!rek] + [\v!soepel] + \variable + [\c!afstand] + [\c!dimension!] + [] + \variable + [\c!voor] + [\c!command!] + [] + \variable + [\c!na] + [\c!command!] + [] + \variable + [\c!binnen] + [\c!command!] + [] + \variable + [\c!commando] + [\c!command!] + [] + \variable + [\c!lijn] + [\v!aan,\v!uit] + [\v!uit] +\stopsetup + +\startsetup + \command + [\y!steltabin] + \type + [\c!vars!] + \variable + [\c!monster] + [\c!text!] + [] + \variable + [\c!breedte] + [\c!dimension!] + [] + \variable + [\c!kopletter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!plaats] + [\v!links,\v!rechts] + [\v!links] +\stopsetup + +\startsetup + \command + [\y!tab] + \type + [\c!arg!\c!nop!\c!par!] + \value + [\c!text!] + [] + \value + [\c!text!] + [] +\stopsetup + +% pragma6.tex + +\startsetup + \command + [\y!startdocument] + \type + [\c!val!\c!stp!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!brieven] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!labels] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!stelbrievenin] + \type + [\c!vals!] + \value + [\v!formeel,\v!informeel,\v!rekening,\v!ls, + \v!hoog,\v!midden,\v!laag] + [\v!formeel,\v!laag] +\stopsetup + +\startsetup + \command + [\y!stelsheetsin] + \type + [\c!vars!] + \variable + [\c!variant] + [\c!number!] + [] + \variable + [\c!tekst] + [\c!text!] + [] + \variable + [\c!formaat] + [\v!klein,\v!middel,\v!groot] + [\v!middel] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!normaal] + \variable + [\c!nummer] + [\c!number!,\v!aansluitend] + [] +\stopsetup + +\startsetup + \command + [\y!sheet] + \type + [\c!val!] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!stelstickersin] + \type + [\c!vars!] + \variable + [\c!variant] + [a] + [] + \variable + [\c!n] + [\c!number!,\v!alles] + [\c!val!] + \variable + [\c!plaats] + [\v!marge,\v!links,\v!rechts,\v!midden] + [\v!links] +\stopsetup + +% *.tex + +\startsetup + \command + [\y!definetabulate] + \type + [\c!val!\c!opt!\c!val!\c!val!] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\e!start\e!tabulate] + \type + [\c!opt!\c!val!\c!opt!\c!vars!\c!stp!] + \value + [\c!text!] + [] + \inheritvariables + [\y!useexternalfigure] + [] +\stopsetup + +\startsetup + \command + [\y!setuptabulate] + \type + [\c!opt!\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!eenheid] + [\c!dimension!] + [1em] + \variable + [\c!inspringen] + [\v!ja,\v!nee] + [\v!nee] + \variable + [\c!voor] + [\c!command!] + [\blanko] + \variable + [\c!na] + [\c!command!] + [\blanko] + \variable + [\c!binnen] + [\c!command!] + [\blanko] + \variable + [EQ] + [\c!text!] + [:] + \variable + [\c!lijnkleur] + [\c!identifier!] + [] + \variable + [\c!uitlijnen] + [\v!links,\v!midden,\v!rechts,\v!normaal] + [\v!normaal] + \variable + [\c!lijndikte] + [\c!dimension!] + [\lijndikte] + \variable + [\c!afstand] + [\v!blanko,\v!diepte,\c!dimension!,\v!klein,\v!middel,\v!groot,\v!geen] + [\v!diepte,\v!middel] +\stopsetup + +\startsetup + \command + [\y!steltabellenin] + \type + [\c!vars!] + \variable + [\c!afstand] + [\v!klein,\v!middel,\v!groot] + [\v!middel] + \variable + [\c!korps] + [5pt,...,12pt,\v!klein,\v!groot] + [] + \variable + [HL] + [\c!number!,\v!klein,\v!middel,\v!groot,\v!geen] + [\v!middel] + \variable + [VL] + [\c!number!,\v!klein,\v!middel,\v!groot,\v!geen] + [\v!middel] + \variable + [\c!diepte] + [\c!number!,\v!strut] + [.40] + \variable + [\c!hoogte] + [\c!number!,\v!strut] + [80] + \variable + [\c!lijndikte] + [\c!dimension!] + [\lijndikte] + \variable + [\c!lijnkleur] + [\c!identifier!] + [] + \variable + [\c!uitlijnen] + [\v!rechts,\v!midden,\v!links,\v!normaal] + [\v!rechts] + \variable + [\c!commandos] + [\c!command!] + [] + \variable + [\c!uitlijnen] + [\v!links,\v!midden,\v!rechts,\v!normaal] + [\v!rechts] + \variable + [\c!achtergrond] + [\v!raster,\v!kleur,\v!geen] + [\v!geen] + \variable + [\c!achtergrondraster] + [\c!number!] + [0.9] + \variable + [\c!achtergrondkleur] + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!starttabel] + \type + [\c!val!\c!stp!] + \value + [\c!text!,\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!starttabellen] + \type + [\c!val!\c!stp!] + \value + [\c!text!,\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!definetabletemplate] + \type + [\c!val!\c!val!\c!opt!\c!val!\c!opt!\c!val!] + \value + [\c!identifier!] + [] + \value + [\c!text!] + [] + \value + [\c!text!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!gebruikexternefiles] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!korps] + [5pt,...,12pt,\v!klein,\v!groot] + [] + \variable + [\c!file] + [\c!filename!] + [] +\stopsetup + +\startsetup + \command + [\y!gebruikexternefile] + \type + [\c!val!\c!val!\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] + \value + [\c!filename!] + [] + \variable + [\c!korps] + [5pt,...,12pt,\v!klein,\v!groot] + [] +\stopsetup + +% \startsetup +% \command +% [\y!presetexternfiguur] +% \type +% [\c!val!\c!vars!] +% \value +% [\c!filename!] +% [] +% \variable +% [t] +% [eps,mps,pdf,tif,jpg,png] +% [] +% \variable +% [w] +% [\c!dimension!] +% [] +% \variable +% [h] +% [\c!dimension!] +% [] +% \variable +% [s] +% [\c!number!] +% [] +% \variable +% [t] +% [\c!text!] +% [] +% \stopsetup + +\startsetup + \command + [\y!useexternalfigure] + \type + [\c!opt!\c!val!\c!val!\c!opt!\c!vars!] + \value + [\c!identifier!] + [] + \value + [\c!filename!] + [] + \variable + [\c!schaal] + [\c!number!] + [1000] + \variable + [\c!factor] + [\v!max,\v!passend,\v!ruim] + [] + \variable + [\c!bfactor] + [\c!number!,\v!max,\v!ruim,\v!passend] + [] + \variable + [\c!hfactor] + [\c!number!,\v!max,\v!ruim,\v!passend] + [] + \variable + [\c!breedte] + [\c!dimension!] + [] + \variable + [\c!hoogte] + [\c!dimension!] + [] + \variable + [\c!kader] + [\v!aan,\v!uit] + [\v!uit] + \variable + [\c!preset] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!scherm] + [\c!filename!] + [] + \variable + [\c!preview] + [\v!ja,\v!nee] + [\v!nee] + \variable + [\c!herhaal] + [\v!ja,\v!nee] + [\v!nee] + \variable + [\c!object] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!type] + [\c!eps,\c!mps,\c!pdf,\c!tif,\c!png,\c!jpg,\c!mov,\c!tex] + [] + \variable + [\c!methode] + [\c!eps,\c!mps,\c!pdf,\c!tif,\c!png,\c!jpg,\c!mov,\c!tex] + [] +\stopsetup + +\startsetup + \command + [\y!externalfigure] + \type + [\c!val!\c!vars!] + \value + [\c!filename!] + [] + \inheritvariables + [\y!useexternalfigure] + [] +\stopsetup + +\startsetup + \command + [\y!setupexternalfigures] + \type + [\c!var!] + \variable + [\c!optie] + [\v!kader,\v!leeg,\v!test] + [] + \variable + [\c!object] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!hokjes] + [\v!aan,\v!uit] + [\v!uit] + \variable + [\c!ymax] + [\c!number!] + [24] + \variable + [\c!xmax] + [\c!number!] + [] + \variable + [\c!gebied] + [\c!text!] + [] + \variable + [\c!plaats] + [\v!lokaal,\v!globaal,\v!default] + [] + \variable + [\c!maxbreedte] + [\c!dimension!] + [] + \variable + [\c!maxhoogte] + [\c!dimension!] + [] +\stopsetup + +\startsetup + \command + [\y!showexternalfigures] + \type + [\c!opt!\c!vars!] + \variable + [\c!variant] + [\v!a,\v!b,\v!c] + [\v!a] +\stopsetup + +\startsetup + \command + [\y!useexternalsoundtrack] + \type + [\c!val!\c!val!] + \value + [\c!identifier!] + [] + \value + [\c!filename!] + [] +\stopsetup + +\startsetup + \command + [\y!naam] + \type + [\c!arg!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\e!start\e!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 + [\v!twee] + [] + \value + [\c!text!] + [] + \value + [\c!text!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\e!start\e!gegeven] + \type + [\c!tex!{geg}\c!nop!\c!sep!\c!nop!\c!sep!\c!nop!\c!sep!\c!tex!{geg}\c!stp!] + \value + [\c!text!] + [] + \value + [\c!text!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!roteer] + \type + [\c!opt!\c!vars!\c!arg!] + \inheritvariables + [\y!stelroterenin] + [] +\stopsetup + +\startsetup + \command + [\y!stelroterenin] + \type + [\c!vars!] + \variable + [\c!rotatie] + [\c!number!] + [90] + \inheritvariables + [\y!setupframed] + [] +\stopsetup + +\startsetup + \command + [\y!spiegel] + \type + [\c!arg!] +\stopsetup + +\startsetup + \command + [\y!schaal] + \type + [\c!opt!\c!vars!\c!arg!] + \variable + [\c!sx] + [\c!number!] + [1] + \variable + [\c!sy] + [\c!number!] + [1] +\stopsetup + +\startsetup + \command + [\y!stelcombinatiesin] + \type + [\c!vars!] + \variable + [\c!voor] + [\c!commando] + [] + \variable + [\c!tussen] + [\c!commando] + [] + \variable + [\c!na] + [\c!commando] + [] + \variable + [\c!afstand] + [\c!dimension!] + [1em] + \variable + [\c!hoogte] + [\c!dimension!,\v!passend] + [\v!passend] + \variable + [\c!breedte] + [\c!dimension!,\v!passend] + [\v!passend] + \variable + [\c!uitlijnen] + [\v!nee,\v!links,\v!rechts,\v!midden,\v!normaal] + [\v!midden] +\stopsetup + +\startsetup + \command + [\y!startcombinatie] + \type + [\c!val!\c!stp!] + \value + [\c!matrix!] + [] +\stopsetup + +\startsetup + \command + [\y!plaatsnaastelkaar] + \type + [\c!arg!\c!arg!] + \value + [\c!text!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!plaatsonderelkaar] + \type + [\c!arg!\c!arg!] + \value + [\c!text!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!startoverlay] + \type + [\c!arg!\c!arg!\c!stp!] + \value + [\c!text!] + [] + \value + [\c!text!] + [] +\stopsetup + +% pragma8.tex + +% \verwerkkontakten[naam,groep][actie][] +% \verwerkfiguren[][overzicht][] + +\startsetup + \command + [\y!startoverzicht] + \type + [\c!vals!\c!stp!] + \value + [\c!identifier!] + [] +\stopsetup + +% core-01d.tex + +\startsetup + \command + [\y!stelinteractieschermin] + \type + [\c!alwint!\c!vars!] + \variable + [\c!breedte] + [\c!dimension!,\v!passend,\v!max] + [\papierbreedte] + \variable + [\c!hoogte] + [\c!dimension!,\v!passend,\v!max] + [\papierhoogte] + \variable + [\c!rugwit] + [\c!dimension!] + [\rugwit] + \variable + [\c!kopwit] + [\c!dimension!] + [\kopwit] + \variable + [\c!rugoffset] + [\c!dimension!] + [0pt] + \variable + [\c!kopoffset] + [\c!dimension!] + [0pt] + \variable + [\c!optie] + [\v!max,\v!bookmark] + [] + \variable + [\c!wachttijd] + [\c!number!,\v!geen] + [\v!geen] +\stopsetup + +\startsetup + \command[\y!scherm] + \type[\c!alwint!] +\stopsetup + +\startsetup + \command + [\y!stelpaginaovergangenin] + \type + [\c!opt!\c!vals!] + \value + [\v!reset, + %dissolve,box,split,blinds,wipe,glitter, + %vertical,horizontal,in,out,east,west,north,south, + \c!number!] + [] +\stopsetup + +\startsetup + \command + [\y!setupinteraction] + \type + [\c!alwint!\c!vars!] + \variable + [\c!status] + [\v!start,\v!stop] + [\v!stop] + \variable + [\c!menu] + [\v!aan,\v!uit] + [\v!uit] + \variable + [\c!pagina] + [\v!ja,\v!nee] + [\v!nee] + \variable + [\c!klik] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!splitsen] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!scherm] + [\v!nieuw] + [] + \variable + [\c!openactie] + [\c!reference!] + [] + \variable + [\c!sluitactie] + [\c!reference!] + [] + \variable + [\c!openpaginaactie] + [\c!reference!] + [] + \variable + [\c!sluitpaginaactie] + [\c!reference!] + [] + \variable + [\c!bereken] + [\c!identifier!] + [] +% \variable +% [\c!scherm] +% [\v!normaal,\v!passend,\v!hoogte,\v!breedte] +% [\v!normaal] + \variable + [\c!strut] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!breedte] + [\c!dimension!] + [1em] + \variable + [\c!hoogte] + [\c!dimension!] + [0pt] + \variable + [\c!diepte] + [\c!dimension!] + [0pt] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...\c!command!] + [\v!vet] + \variable + [\c!kleur] + [\c!identifier!] + [] + \variable + [\c!contrastkleur] + [\c!identifier!] + [] + \variable + [\c!symboolset] + [\c!identifier!] + [] + \variable + [\c!titel] + [\c!text!] + [] + \variable + [\c!subtitel] + [\c!text!] + [] + \variable + [\c!auteur] + [\c!text!] + [] + \variable + [\c!datum] + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!stelinteractiemenuin] + \type + [\c!alwint!\c!vals!\c!opt!\c!vars!\c!opt!\c!dests!] + \value + [\v!links,\v!rechts,\v!boven,\v!onder,\c!identifier!] + [] + \variable + [\c!voor] + [\c!command!] + [] + \variable + [\c!na] + [\c!command!] + [] + \variable + [\c!tussen] + [\c!command!] + [] + \variable + [\c!links] + [\c!command!] + [] + \variable + [\c!rechts] + [\c!command!] + [] + \variable + [\c!midden] + [\c!command!] + [] + \variable + [\c!status] + [\v!start,\v!stop,\v!geen,\v!lokaal] + [\v!start] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...\c!command!] + [\v!vet] + \variable + [\c!kleur] + [\c!identifier!] + [] + \variable + [\c!afstand] + [\v!overlay,\c!dimension!] + [] + \variable + [\c!zelfdepagina] + [\v!ja,\v!leeg,\v!nee,\v!geen] + [] + \variable + [\c!onbekendeverwijzing] + [\v!ja,\v!leeg,\v!nee,\v!geen] + [] + \variable + [\c!linkeroffset] + [\c!dimension!] + [0pt] + \variable + [\c!rechteroffset] + [\c!dimension!] + [0pt] + \variable + [\c!bovenoffset] + [\c!dimension!] + [0pt] + \variable + [\c!onderoffset] + [\c!dimension!] + [0pt] + \variable + [\c!positie] + [\v!ja,\v!nee] + [\v!nee] + \inheritvariables + [\y!setupframed] + [] +\stopsetup + +\startsetup + \command + [\y!definieerinteractiemenu] + \type + [\c!alwint!\c!val!\c!opt!\c!val!\c!opt!\c!vars!] + \value + [\v!links,\v!rechts,\v!boven,\v!onder,\c!identifier!] + [] + \value + [\v!links,\v!rechts,\v!boven,\v!onder,\c!identifier!] + [] + \inheritvariables + [\y!stelinteractiemenuin] + [] +\stopsetup + +\startsetup + \command + [\e!start\e!interactiemenu] + \type + [\c!alwint!\c!val!\c!stp!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!blokkeerinteractiemenu] + \type + [\c!alwint!\c!val!\c!refs!] + \value + [\v!links,\v!rechts,\v!boven,\v!onder,\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!gebruikexterndocument] + \type + [\c!alwint!\c!val!\c!val!\c!val!] + \value + [\c!identifier!] + [] + \value + [\c!file] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!gebruikURL] + \type + [\c!alwint!\c!val!\c!val!\c!val!\c!val!] + \value + [\c!identifier!] + [] + \value + [\c!text!] + [] + \value + [\c!file] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!coupledocument] + \type + [\c!alwint!\c!val!\c!val!\c!val!] + \value + [\c!identifier!] + [] + \value + [\c!file] + [] + \value + [\c!identifier!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command[\y!uit] + \type[\c!alwint!\c!ref!] + \value[\c!text!][] +\stopsetup + +\startsetup + \command + [\y!interactiebalk] + \type + [\c!alwint!\c!vars!] + \inheritvariables + [\y!stelinteractiebalkin] + [] +\stopsetup + +\startsetup + \command + [\y!interactiebuttons] + \type + [\c!alwint!\c!opt!\c!vars!\c!vals!] + \inheritvariables + [\y!stelinteractiebalkin] + [] + \value + [\c!identifier!] + [] +\stopsetup + +% \interactiebalk[reset] + +\startsetup + \command + [\y!stelinteractiebalkin] + \type + [\c!alwint!\c!vars!] + \variable + [\c!status] + [\v!start,\v!stop] + [\v!start] + \variable + [\c!variant] + [a,b,c,d,e,f,g] + [b] + \variable + [\c!symbool] + [\v!ja,\v!nee] + [\v!nee] + \variable + [\c!breedte] + [\c!dimension!,\c!hoogte,\v!passend] + [3cm] + \variable + [\c!hoogte] + [\c!dimension!,\c!hoogte,\v!passend] + [\v!ruim] + \variable + [\c!diepte] + [\c!dimension!] + [0pt] + \variable + [\c!kleur] + [\c!identifier!] + [] + \variable + [\c!stap] + [\c!number!,\v!klein,\v!middel,\v!groot] + [1] + \inheritvariables + [\y!setupframed] + [] +\stopsetup + +\startsetup + \command + [\y!synchroniseer] + \type + [\c!alwint!] +\stopsetup + +\startsetup + \command + [\y!startsynchronisatie] + \type + [\c!alwint!\c!stp!] +\stopsetup + +\startsetup + \command + [\y!stelsynchronisatiebalkin] + \type + [\c!alwint!\c!vars!] + \variable + [\c!variant] + [\v!pagina,\v!lokaal] + [\v!pagina] + \variable + [\c!breedte] + [\c!dimension!,\c!hoogte,\v!passend] + [3cm] + \variable + [\c!hoogte] + [\c!dimension!] + [.5em] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [\v!vet] + \variable + [\c!kleur] + [\c!identifier!] + [] + \inheritvariables + [\y!setupframed] + [] +\stopsetup + +\startsetup + \command + [\y!synchronisatiebalk] + \type + [\c!alwint!\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!variant] + [\v!pagina,\v!lokaal] + [\v!pagina] + \inheritvariables + [\y!stelsynchronisatiebalkin] + [] +\stopsetup + +\startsetup + \command + [\y!stelsynchronisatiein] + \type + [\c!alwint!\c!vars!] + \variable + [\c!status] + [\v!start,\v!stop] + [\v!stop] +\stopsetup + +\startsetup + \command + [\y!definieerprofiel] + \type + [\c!alwint!\c!vals!\c!vals!] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!stelprofielenin] + \type + [\c!alwint!\c!vars!] + \variable + [\c!optie] + [\v!test] + [] +\stopsetup + +\startsetup + \command + [\y!startprofiel] + \type + [\c!alwint!\c!vals!\c!stp!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!volgprofiel] + \type + [\c!alwint!\c!arg!\c!val!] + \value + [\c!text!] + [] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!placebookmarks] + \type + [\c!opt!\c!vals!\c!opt!\c!vals!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!bookmark] + \type + [\c!opt!\c!val!\c!arg!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!startversie] + \type + [\c!alwint!\c!vals!\c!stp!] + \value + [\c!number!] + [] +\stopsetup + +\startsetup + \command + [\y!stelversiesin] + \type + [\c!vars!] + \variable + [\c!nummer] + [\c!number!] + [1] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] + [] +\stopsetup + +\startsetup + \command + [\y!markeerversie] + \type + [\c!alwint!] +\stopsetup + +\startsetup + \command + [\y!selecteerversie] + \type + [] +\stopsetup + +\startsetup + \command + [\y!definieerversie] + \type + [\c!val!\c!vals!] + \value + [\c!identifier!] + [] + \value + [\c!number!] + [] +\stopsetup + +\startsetup + \command + [\y!volgversie] + \type + [\c!alwint!\c!arg!\c!val!] + \value + [\c!text!] + [] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!volgprofielversie] + \type + [\c!alwint!\c!arg!\c!val!\c!val!] + \value + [\c!text!] + [] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!definieerprogramma] + \type + [\c!alwint!\c!val!\c!val!\c!val!] + \value + [\c!identifier!] + [] + \value + [\c!text!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!stelprogrammasin] + \type + [\c!alwint!\c!vars!] + \variable + [\c!gebied] + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!programma] + \type + [\c!alwint!\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +% pragma11.tex + +\startsetup + \command + [\y!startfigure] + \type + [\c!alwint!\c!val!\c!val!\c!vars!\c!stp!] + \value + [\c!identifier!] + [] + \value + [\c!filename!] + [] + \variable + [\c!factor] + [\c!number!] + [] + \variable + [\c!kader] + [\v!aan,\v!uit] + [\v!uit] +\stopsetup + +\startsetup + \command + [\y!referring\subsetup{\v!figuur}] + \type + [\c!poss!\c!poss!\c!val!] + \value + [\c!number!] + [] + \value + [\c!number!] + [] + \value + [\c!number!] + [] + \value + [\c!number!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!marking\subsetup{\v!figuur}] + \type + [\c!poss!\c!poss!\c!val!] + \value + [\c!number!] + [] + \value + [\c!number!] + [] + \value + [\c!number!] + [] + \value + [\c!number!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!remark] + \type + [\c!poss!\c!poss!\c!vars!\c!arg!] + \value + [\c!number!] + [] + \value + [\c!number!] + [] + \value + [\c!number!] + [] + \value + [\c!number!] + [] + \inheritvariables + [\y!setupframed] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!naar] + \type + [\c!alwint!\c!arg!\c!alwint!\c!arg!\c!refs!] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!naarbox] + \type + [\c!alwint!\c!arg!\c!refs!] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!button] + \type + [\c!alwint!\c!opt!\c!vars!\c!arg!\c!refs!] + \inheritvariables + [\y!stelbuttonsin] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!stelbuttonsin] + \type + [\c!vars!] + \variable + [\c!status] + [\v!start,\v!stop] + [\v!start] + \inheritvariables + [\y!setupframed] + [] +\stopsetup + +\startsetup + \command + [\y!menubutton] + \type + [\c!alwint!\c!opt!\c!val!\c!opt!\c!vars!\c!arg!\c!refs!] + \inheritvariables + [\y!setupframed] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!stelcommentaarin] + \type + [\c!vars!] + \variable + [\c!breedte] + [\c!dimension!] + [] + \variable + [\c!hoogte] + [\c!dimension!] + [] + \variable + [\c!kleur] + [\c!identifier!] + [] + \variable + [\c!titel] + [\c!text!] + [] + \variable + [\c!spatie] + [\v!ja,\v!nee] + [\v!ja] + \variable + [\c!symbool] + [\v!normaal,\v!New,\v!Balloon,\v!Addition,\v!Help,\v!Paragraph,\v!Key] + [\v!normaal] + \variable + [\c!optie] + [\v!max] + [] +\stopsetup + +\startsetup + \command + [\e!start\e!commentaar] + \type + [\c!opt!\c!val!\c!opt!\c!vars!\c!stp!] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!stelcommentaarin] + [] +\stopsetup + +\startsetup + \command + [\y!commentaar] + \type + [\c!opt!\c!val!\c!opt!\c!vars!\c!arg!] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!stelcommentaarin] + [] +\stopsetup + +\startsetup + \command + [\y!definefield] + \type + [\c!val!\c!val!\c!val!\c!vals!\c!opt!\c!val!] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [radio,check,push,line,text,popup,choice,combo] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!definesubfield] + \type + [\c!val!\c!val!\c!vals!] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!copyfield] + \type + [\c!val!\c!vals!] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!clonefield] + \type + [\c!val!\c!vals!\c!val!\c!opt!\c!vals!] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!field] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!fitfield] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!fillinfield] + \type + [\c!opt!\c!val!\c!arg!] + \value + [\c!text!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!tooltip] + \type + [\c!opt!\c!val!\c!arg!\c!arg!] + \value + [\v!links,\v!rechts,\v!midden] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!showfields] + \type + [\c!opt!\c!vals!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!logfields] + \type + [] +\stopsetup + +\startsetup + \command + [\y!setupfield] + \type + [\c!val!\c!vals!\c!vars!\c!vars!\c!vars!] + \value + [\c!identifier!] + [] + \value + [\v!label,\v!horizontaal,\v!vertikaal,\v!kader] + [] + \inheritvariables + [\y!framed] + [] + \inheritvariables + [\y!setupfields] + [] +\stopsetup + +\startsetup + \command + [\y!setupfields] + \type + [\c!vals!\c!val!\c!vars!\c!vars!\c!vars!] + \value + [\c!identifier!] + [] + \value + [\v!reset,\v!label,\v!horizontaal,\v!vertikaal,\v!kader] + [] + \inheritvariables + [\y!framed] + [] + \variable + [\c!n] + [\c!number!] + [] + \variable + [\c!afstand] + [\c!dimension!] + [] + \variable + [\c!voor] + [\c!command!] + [] + \variable + [\c!na] + [\c!command!] + [] + \variable + [\c!tussen] + [\c!command!] + [] + \variable + [\c!kleur] + [\c!identifier!] + [] + \variable + [\c!letter] + [\v!normaal,\v!vet,\v!schuin,\v!vetschuin,\v!type] + [\v!normaal] + \variable + [\c!uitlijnen] + [\v!links,\v!midden,\v!rechts] + [] + \variable + [\c!optie] + [\v!alleenleesbaar,\v!verplicht,\v!beschermd,\v!gesorteerd, + \v!nietbeschikbaar, \v!verborgen,\v!printbaar] + [] + \variable + [\c!klikin] + [\c!reference!] + [] + \variable + [\c!klikuit] + [\c!reference!] + [] + \variable + [\c!gebiedin] + [\c!reference!] + [] + \variable + [\c!gebieduit] + [\c!reference!] + [] + \variable + [\c!natoets] + [\c!reference!] + [] + \variable + [\c!formatteer] + [\c!reference!] + [] + \variable + [\c!valideer] + [\c!reference!] + [] + \variable + [\c!bereken] + [\c!reference!] + [] + \variable + [\c!veldoffset] + [\c!dimension!] + [\!!zeropoint] + \variable + [\c!veldkaderkleur] + [\c!identifier!] + [] + \variable + [\c!veldachtergrondkleur] + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!setupforms] + \type + [\c!vars!] + \variable + [\c!methode] + [HTML,FDF] + [HTML] +\stopsetup + +\startsetup + \command + [\y!definefieldstack] + \type + [\c!val!\c!vals!\c!vars!] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!setupfields] + [] +\stopsetup + +\startsetup + \command + [\y!fieldstack] + \type + [\c!val!\c!opt!\c!vals!\c!opt!\c!vars!] + \value + [\c!identifier!] + [] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!setupfields] + [] +\stopsetup + +\startsetup + \command + [\y!clip] + \type + [\c!opt!\c!vars!\c!arg!] + \inheritvariables + [\y!setupclipping] + [] +\stopsetup + +\startsetup + \command + [\y!setupclipping] + \type + [\c!vars!] + \variable + [\c!nx] + [\c!number!] + [2] + \variable + [\c!ny] + [\c!number!] + [2] + \variable + [\c!x] + [\c!number!] + [1] + \variable + [\c!y] + [\c!number!] + [1] + \variable + [\c!breedte] + [\c!dimension!] + [\!!zeropoint] + \variable + [\c!hoogte] + [\c!dimension!] + [\!!zeropoint] + \variable + [\c!hoffset] + [\c!dimension!] + [\!!zeropoint] + \variable + [\c!voffset] + [\c!dimension!] + [\!!zeropoint] + \variable + [mp] + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!placelegend] + \type + [\c!arg!\c!arg!] + \value + [\c!text!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!setuplegend] + \type + [\c!vars!] + \variable + [\c!n] + [\c!number!] + [1] + \variable + [\c!afstand] + [\c!dimension!] + [1em] + \variable + [\c!tussen] + [\c!command!] + [] % [{\blanko[\v!middel]}] + \variable + [\c!breedte] + [\c!dimension!] + [\hsize] + \variable + [\c!hoogte] + [\c!dimension!] + [\vsize] + \variable + [\c!plaats] + [\v!rechts,\v!onder] + [\v!onder] + \variable + [\c!korps] + [5pt,...,12pt,\v!klein,\v!groot] + [] +\stopsetup + +%D new + +\startsetup + \command + [\y!definerule] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!setuprule] + [] +\stopsetup + +\startsetup + \command + [\y!placerule] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!setuprule] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!diepte] + [\c!dimension!] + [\!!zeropoint] + \variable + [\c!hoogte] + [\c!dimension!] + [\!!zeropoint] + \variable + [\c!breedte] + [\c!dimension!] + [\hsize] + \variable + [\c!voorwit] + [\c!dimension!] + [\!!zeropoint] + \variable + [\c!nawit] + [\c!dimension!] + [\!!zeropoint] + \variable + [\c!kleur] + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!definetextvariable] + \type + [\c!val!\c!opt!\c!val!\c!opt!\c!vars!] + \inheritvariables + [\y!setuptextvariable] + [] +\stopsetup + +\startsetup + \command + [\y!setuptextvariable] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \variable + [\c!links] + [\c!text!] + [] + \variable + [\c!rechts] + [\c!text!] + [] + \variable + [\c!afstand] + [\c!dimension!] + [5em] + \variable + [\c!commando] + [\c!oneargument!] + [] + \variable + [\c!strut] + [\v!ja,\v!nee,\v!kap,\c!text!] + [\c!ja] +\stopsetup + +\startsetup + \command + [\y!settextvariable] + \type + [\c!val!\c!val!] + \value + [\c!identifier!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!placetextvariable] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!textvariable] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!definerawfont] + \type + [\c!val!\c!opt!\c!val!\c!opt!\c!vars!] + \value + [\c!identifier!] + [] + \value + [\c!font!] + [] + \inheritvariables + [\y!stelinterliniein] + [] +\stopsetup + +\startsetup + \command + [\y!switchtorawfont] + \type + [\c!val!] + \value + [\c!identifier!] + [] +\stopsetup + +\startsetup + \command + [\y!definetextposition] + \type + [\c!val!\c!opt!\c!vars!] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!stelpositionerenin] + [] +\stopsetup + +\startsetup + \command + [\y!setuptextposition] + \type + [\c!val!\c!vars!] + \value + [\c!identifier!] + [] + \inheritvariables + [\y!stelpositionerenin] + [] +\stopsetup + +\startsetup + \command + [\y!positiontext] + \type + [\c!val!\c!arg!] + \value + [\c!identifier!] + [] + \value + [\c!text!] + [] +\stopsetup + +\startsetup + \command + [\y!setupstrut] + \type + [\c!val!] + \value + [\v!ja,\v!nee,\v!kap,\c!text!] + [\v!ja] +\stopsetup + +\stopsetupfile diff --git a/tex/context/base/setupd.tex b/tex/context/base/setupd.tex new file mode 100644 index 000000000..0cd91b802 --- /dev/null +++ b/tex/context/base/setupd.tex @@ -0,0 +1,182 @@ +%D \module +%D [ file=setupa, +%D version=1998.07.20, +%D title=\CONTEXT\ Setup Definitions, +%D subtitle=Help Generation, +%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. + +\let\wait\relax + +\input setupa + +\unprotect + +% keys + +\def\copymessage#1#2#3% + {\dogetmessage{setup}{#3}\edef#1{#2\currentmessagetext}} + +\copymessage \c!command! * {command} +\copymessage \c!dimension! * {dimension} +\copymessage \c!filename! * {file} +\copymessage \c!identifier! * {name} +\copymessage \c!character! * {character} +\copymessage \c!marker! * {mark} +\copymessage \c!number! * {number} +\copymessage \c!reference! * {reference} +\copymessage \c!plural! * {plural} +\copymessage \c!singular! * {singular} +\copymessage \c!text! * {text} +\copymessage \c!formula! * {formula} +\copymessage \c!font! * {file} +\copymessage \c!matrix! * {matrix} +\copymessage \c!list! * {list} +\copymessage \c!section! * {section} +\copymessage \c!noargument! \empty {command} +\copymessage \c!oneargument! \empty {command} +\copymessage \c!twoarguments! \empty {command} +\copymessage \c!threearguments! \empty {command} + +\edef\c!noargument! {*\@EA\string\csname\c!noargument! \endcsname} +\edef\c!oneargument! {*\@EA\string\csname\c!oneargument! \endcsname\string#1} +\edef\c!twoarguments! {*\@EA\string\csname\c!twoarguments! \endcsname\string#1\string#2} +\edef\c!threearguments!{*\@EA\string\csname\c!threearguments!\endcsname\string#1\string#2\string#3} + +\def\subsetup#1{/#1} + +\beginTEX + +\def\getinterfaceconstant#1% + {\ifinterfacetranslation + \ifx\csname\x!prefix!#1\endcsname\relax + #1% + \else + \csname\x!prefix!#1\endcsname + \fi + \else + #1% + \fi} + +\def\getinterfacevariable#1% + {\ifinterfacetranslation + \ifx\csname\y!prefix!#1\endcsname\relax + #1% + \else + \csname\y!prefix!#1\endcsname + \fi + \else + #1% + \fi} + +\endTEX + +\beginETEX \ifcsname + +\def\getinterfaceconstant#1% + {\ifinterfacetranslation + \ifcsname\x!prefix!#1\endcsname + \csname\x!prefix!#1\endcsname + \else + #1% + \fi + \else + #1% + \fi} + +\def\getinterfacevariable#1% + {\ifinterfacetranslation + \ifcsname\y!prefix!#1\endcsname + \csname\y!prefix!#1\endcsname + \else + #1% + \fi + \else + #1% + \fi} + +\endETEX + +\def\c!repeat! {repeat/} % {n*} +\def\c!arg! {arg/} % {{...}:} +\def\c!args! {args/} % {{..,...,..}:} +\def\c!dis! {dis/} % {$$...$$:} +\def\c!idx! {idx/} % {{...}:} +\def\c!idxs! {idxs/} % {{..+...+..}:} +\def\c!mat! {mat/} % {$...$:} +\def\c!nop! {nop/} % {...:} +\def\c!fil! {fil/} % {...:} +\def\c!pos! {pos/} % {(...):} +\def\c!poss! {poss/} % {(...,...):} +\def\c!sep! {sep/} % {\string\\:} +\def\c!ref! {ref/} % {[ref]:} +\def\c!refs! {refs/} % {[ref,..]:} +\def\c!val! {val/} % {[...]:} +\def\c!vals! {vals/} % {[..,...,..]:} +\def\c!var! {var/} % {[..=..]:} +\def\c!vars! {vars/} % {[..,..=..,..]:} +\def\c!cmd! {cmd/} % {\string\xxx:} +\def\c!dest! {dest/} % {[..ref]:} +\def\c!dests! {dests/} % {[..,..refs,..]:} +\def\c!trip! {trip/} % {[x:y:z=]:} +\def\c!trips! {trips/} % {[x:y:z=,..]:} +\def\c!wrd! {wrd/} % {{...}:} +\def\c!wrds! {wrds/} % {{.. ... ..}:} +\def\c!par! {par/} % {\string\par:} +\def\c!stp! {stp/} % {stop:} +\def\c!tex! {tex/} % {\string\cs:} + +\def\c!or! {} % tzt or + +\def\c!opt! {} % +\def\c!optint! {} % +\def\c!alwint! {} % + +% wrapper + +\def\startsetupfile + {\immediate\openout\scratchwrite=cont-\currentlanguage.tws } + +\def\stopsetupfile + {\immediate\closeout\scratchwrite} + +\let\documenteduntilhere\relax + +\long\def\startsetup#1\stopsetup % the :'s serve as breakpoints + {\bgroup + \long\def\command [##1]% + {\immediate\write\scratchwrite{com:##1:}}% + \long\def\type [##1]% + {\immediate\write\scratchwrite{typ:##1:}}% + \long\def\value [##1]##2[##3]% + {\immediate\write\scratchwrite{val:##1:##3:}}% + \long\def\variable [##1]##2[##3]##4[##5]% + {\convertsetupdata{##5}\ascii + \edef\temp{\getinterfaceconstant{##1}}% + \immediate\write\scratchwrite{var:\temp:##3:\ascii:}}% + \long\def\inheritvalues [##1]##2[##3]% + {\immediate\write\scratchwrite{ivl:##1:##3:}}% + \long\def\inheritvariables[##1]##2[##3]% + {\convertsetupdata{##3}\ascii + \immediate\write\scratchwrite{ivr:##1:\ascii:}}% + \immediate\write\scratchwrite{startsetup}% + #1% + \immediate\write\scratchwrite{stopsetup}% + \immediate\write\scratchwrite{}% + \egroup} + +\let\stopsetup\relax + +\def\convertsetupdata#1#2% only accept #1=\v!whatever + {\doifsystemconstantelse{#1}{\edef#2{#1}}{\let#2\empty}} + +\input setupb + +\protect + +\end diff --git a/tex/context/base/supp-box.tex b/tex/context/base/supp-box.tex index 0cdf9251b..c2640e157 100644 --- a/tex/context/base/supp-box.tex +++ b/tex/context/base/supp-box.tex @@ -2029,14 +2029,16 @@ \def\@@stacklst{@xob@} \def\setstackbox#1#2% - {\ifcsname\csname\@otr@:\number#1:\number#2\endcsname\else + {\ifcsname\@@stackbox:#1:#2\endcsname\else \expandafter\newbox\csname\@@stackbox:#1:#2\endcsname \fi \global\setbox\csname\@@stackbox:#1:#2\endcsname\vbox} \def\initializeboxstack#1% {\def\docommando##1{\setstackbox{#1}{##1}{}}% - \processcommacommand[\getvalue{\@@stacklst#1}]\docommando + \ifcsname\@@stacklst#1\endcsname + \processcommacommand[\getvalue{\@@stacklst#1}]\docommando + \fi \setgvalue{\@@stacklst#1}{}} \def\savebox#1#2% stack name @@ -2045,13 +2047,13 @@ \def\foundbox#1#2% {\vbox - {\ifcsname\csname\@@stackbox:#1:#2\endcsname + {\ifcsname\@@stackbox:#1:#2\endcsname \copy\csname\@@stackbox:#1:#2\endcsname \fi}} \long\def\doifboxelse#1#2#3#4% - {\ifcsname\csname\@@stackbox:#1:#2\endcsname - \ifvoid\csname\csname\@@stackbox:#1:#2\endcsname#4\else#3\fi + {\ifcsname\@@stackbox:#1:#2\endcsname + \ifvoid\csname\@@stackbox:#1:#2\endcsname#4\else#3\fi \else #4% \fi} diff --git a/tex/context/base/supp-fil.tex b/tex/context/base/supp-fil.tex index d1f237815..2b9acd12f 100644 --- a/tex/context/base/supp-fil.tex +++ b/tex/context/base/supp-fil.tex @@ -393,7 +393,7 @@ {\doiffileelse{\pathplusfile{\f!currentpath}{#1}}} %D \macros -%D {doonlyonce, doinputonce} +%D {doonlyonce, doinputonce, doendinputonce} %D %D Especially macropackages need only be loaded once. %D Repetitive loading not only costs time, relocating registers @@ -403,7 +403,8 @@ %D %D \starttypen %D \doonlyonce{actions} -%D \doloadonce{filename} +%D \doinputonce{filename} +%D \doendinputonce{filename} %D \stoptypen %D %D This command obeys the standard method for locating files. @@ -414,6 +415,9 @@ \def\doinputonce#1% {\doonlyonce{#1}{\doiffileelse{#1}{\normalinput #1\relax}{}}} +\def\doendinputonce#1% + {\doifdefined{@@@#1@@@}{\endinput}} + %D \macros %D {doifparentfileelse} %D diff --git a/tex/context/base/syst-con.tex b/tex/context/base/syst-con.tex index b3af03237..2df621b64 100644 --- a/tex/context/base/syst-con.tex +++ b/tex/context/base/syst-con.tex @@ -21,7 +21,7 @@ %D module. %D \macros -%D {lchexnumber,uchexnumber,lchexnumbers} +%D {lchexnumber,uchexnumber,lchexnumbers,uchexnumbers} %D %D In addition to the uppercase hex conversion, as needed in %D math families, we occasionally need a lowercase one, for @@ -56,6 +56,25 @@ e0\or e1\or e2\or e3\or e4\or e5\or e6\or e7\or e8\or e9\or ea\or eb\or ec\or ed\or ee\or ef\or f0\or f1\or f2\or f3\or f4\or f5\or f6\or f7\or f8\or f9\or fa\or fb\or fc\or fd\or fe\or ff\fi} +\def\uchexnumbers#1% + {\ifcase#1 + 00\or 01\or 02\or 03\or 04\or 05\or 06\or 07\or 08\or 09\or 0A\or 0B\or 0C\or 0D\or 0E\or 0F\or + 10\or 11\or 12\or 13\or 14\or 15\or 16\or 17\or 18\or 19\or 1A\or 1B\or 1C\or 1D\or 1E\or 1F\or + 20\or 21\or 22\or 23\or 24\or 25\or 26\or 27\or 28\or 29\or 2A\or 2B\or 2C\or 2D\or 2E\or 2F\or + 30\or 31\or 32\or 33\or 34\or 35\or 36\or 37\or 38\or 39\or 3A\or 3B\or 3C\or 3D\or 3E\or 3F\or + 40\or 41\or 42\or 43\or 44\or 45\or 46\or 47\or 48\or 49\or 4A\or 4B\or 4C\or 4D\or 4E\or 4F\or + 50\or 51\or 52\or 53\or 54\or 55\or 56\or 57\or 58\or 59\or 5A\or 5B\or 5C\or 5D\or 5E\or 5F\or + 60\or 61\or 62\or 63\or 64\or 65\or 66\or 67\or 68\or 69\or 6A\or 6B\or 6C\or 6D\or 6E\or 6F\or + 70\or 71\or 72\or 73\or 74\or 75\or 76\or 77\or 78\or 79\or 7A\or 7B\or 7C\or 7D\or 7E\or 7F\or + 80\or 81\or 82\or 83\or 84\or 85\or 86\or 87\or 88\or 89\or 8A\or 8B\or 8C\or 8D\or 8E\or 8F\or + 90\or 91\or 92\or 93\or 94\or 95\or 96\or 97\or 98\or 99\or 9A\or 9B\or 9C\or 9D\or 9E\or 9F\or + A0\or A1\or A2\or A3\or A4\or A5\or A6\or A7\or A8\or A9\or AA\or AB\or AC\or AD\or AE\or AF\or + B0\or B1\or B2\or B3\or B4\or B5\or B6\or B7\or B8\or B9\or BA\or BB\or BC\or BD\or BE\or BF\or + C0\or C1\or C2\or C3\or C4\or C5\or C6\or C7\or C8\or C9\or CA\or CB\or CC\or CD\or CE\or CF\or + D0\or D1\or D2\or D3\or D4\or D5\or D6\or D7\or D8\or D9\or DA\or DB\or DC\or DD\or DE\or DF\or + E0\or E1\or E2\or E3\or E4\or E5\or E6\or E7\or E8\or E9\or EA\or EB\or EC\or ED\or EE\or EF\or + F0\or F1\or F2\or F3\or F4\or F5\or F6\or F7\or F8\or F9\or FA\or FB\or FC\or FD\or FE\or FF\fi} + %D \macros %D {octnumber} %D diff --git a/tex/context/base/syst-gen.tex b/tex/context/base/syst-gen.tex index c08ea8229..c43dc7ca1 100644 --- a/tex/context/base/syst-gen.tex +++ b/tex/context/base/syst-gen.tex @@ -808,7 +808,7 @@ \endTEX -\beginETEX +\beginETEX \undefined \def\letbeundefined#1% {\expandafter\let\csname#1\endcsname\undefined} diff --git a/tex/context/base/syst-new.tex b/tex/context/base/syst-new.tex index 6c321f5e5..9224725d2 100644 --- a/tex/context/base/syst-new.tex +++ b/tex/context/base/syst-new.tex @@ -191,9 +191,12 @@ \retestfeature} \def\retestfeature% - {\message{starting feature test}\wait + {\bgroup + \ifcase\interactionmode\let\wait\relax\fi + \message{starting feature test}\wait \featuretest=-1 \dotestfeature - \message{feature test done}\wait} + \message{feature test done}\wait + \egroup} %D \macros %D {adddimenregister,adddimenmacro} diff --git a/tex/context/base/thrd-ran.tex b/tex/context/base/thrd-ran.tex index 24898df51..9dd509492 100644 --- a/tex/context/base/thrd-ran.tex +++ b/tex/context/base/thrd-ran.tex @@ -90,10 +90,15 @@ \ifnum\ranval<\@tempcnta\else \expandafter\getr@nval \fi } -\def\pointless{\expandafter\PoinTless\the} -{\catcode`p=12 \catcode`t=12 -\gdef\PoinTless#1pt{#1}} - +%D The next macro is not needed in \CONTEXT, which provides +%D the \type {\withoutpt} macro. +%D +%D \starttypen +%D \def\pointless{\expandafter\PoinTless\the} +%D {\catcode`p=12 \catcode`t=12 +%D \gdef\PoinTless#1pt{#1}} +%D \stoptypen + \catcode`\@=\randomi \global\randomi=0 \newcount\ranval diff --git a/tex/context/base/type-enc.tex b/tex/context/base/type-enc.tex new file mode 100644 index 000000000..852bce272 --- /dev/null +++ b/tex/context/base/type-enc.tex @@ -0,0 +1,528 @@ +%D \module +%D [ file=type-enc, +%D version=2001.04.12, +%D title=\CONTEXT\ Typescript Macros, +%D subtitle=Encoding scripts, +%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. + +% Computer Modern Roman + +\starttypescript [all] [computer-modern] [ec] + \definefontsynonym [cmb10] [aeb10] [encoding=ec] + \definefontsynonym [cmbx10] [aebx10] [encoding=ec] + \definefontsynonym [cmbx12] [aebx12] [encoding=ec] + \definefontsynonym [cmbx5] [aebx5] [encoding=ec] + \definefontsynonym [cmbx6] [aebx6] [encoding=ec] + \definefontsynonym [cmbx7] [aebx7] [encoding=ec] + \definefontsynonym [cmbx8] [aebx8] [encoding=ec] + \definefontsynonym [cmbx9] [aebx9] [encoding=ec] + \definefontsynonym [cmbxsl10] [aebxsl10] [encoding=ec] + \definefontsynonym [cmbxti10] [aebxti10] [encoding=ec] + \definefontsynonym [cmcsc10] [aecsc10] [encoding=ec] + \definefontsynonym [cmitt10] [aeitt10] [encoding=ec] + \definefontsynonym [cmr10] [aer10] [encoding=ec] + \definefontsynonym [cmr12] [aer12] [encoding=ec] + \definefontsynonym [cmr17] [aer17] [encoding=ec] + \definefontsynonym [cmr5] [aer5] [encoding=ec] + \definefontsynonym [cmr6] [aer6] [encoding=ec] + \definefontsynonym [cmr7] [aer7] [encoding=ec] + \definefontsynonym [cmr8] [aer8] [encoding=ec] + \definefontsynonym [cmr9] [aer9] [encoding=ec] + \definefontsynonym [cmsl10] [aesl10] [encoding=ec] + \definefontsynonym [cmsl12] [aesl12] [encoding=ec] + \definefontsynonym [cmsl8] [aesl8] [encoding=ec] + \definefontsynonym [cmsl9] [aesl9] [encoding=ec] + \definefontsynonym [cmsltt10] [aesltt10] [encoding=ec] + \definefontsynonym [cmss10] [aess10] [encoding=ec] + \definefontsynonym [cmss12] [aess12] [encoding=ec] + \definefontsynonym [cmss17] [aess17] [encoding=ec] + \definefontsynonym [cmss8] [aess8] [encoding=ec] + \definefontsynonym [cmss9] [aess9] [encoding=ec] + \definefontsynonym [cmssbx10] [aessbx10] [encoding=ec] + \definefontsynonym [cmssdc10] [aessdc10] [encoding=ec] + \definefontsynonym [cmssi10] [aessi10] [encoding=ec] + \definefontsynonym [cmssi12] [aessi12] [encoding=ec] + \definefontsynonym [cmssi17] [aessi17] [encoding=ec] + \definefontsynonym [cmssi8] [aessi8] [encoding=ec] + \definefontsynonym [cmssi9] [aessi9] [encoding=ec] + \definefontsynonym [cmtcsc10] [aetcsc10] [encoding=ec] + \definefontsynonym [cmti10] [aeti10] [encoding=ec] + \definefontsynonym [cmti12] [aeti12] [encoding=ec] + \definefontsynonym [cmti7] [aeti7] [encoding=ec] + \definefontsynonym [cmti8] [aeti8] [encoding=ec] + \definefontsynonym [cmti9] [aeti9] [encoding=ec] + \definefontsynonym [cmtt10] [aett10] [encoding=ec] + \definefontsynonym [cmtt12] [aett12] [encoding=ec] + \definefontsynonym [cmtt8] [aett8] [encoding=ec] + \definefontsynonym [cmtt9] [aett9] [encoding=ec] +\stoptypescript + +\starttypescript [all] [computer-modern] [il2] + \definefontsynonym [cmb10] [csb10] [encoding=il2] + \definefontsynonym [cmbx10] [csbx10] [encoding=il2] + \definefontsynonym [cmbx12] [csbx12] [encoding=il2] + \definefontsynonym [cmbx5] [csbx5] [encoding=il2] + \definefontsynonym [cmbx6] [csbx6] [encoding=il2] + \definefontsynonym [cmbx7] [csbx7] [encoding=il2] + \definefontsynonym [cmbx8] [csbx8] [encoding=il2] + \definefontsynonym [cmbx9] [csbx9] [encoding=il2] + \definefontsynonym [cmbxsl10] [csbxsl10] [encoding=il2] + \definefontsynonym [cmbxti10] [csbxti10] [encoding=il2] + \definefontsynonym [cmcsc10] [cscsc10] [encoding=il2] + \definefontsynonym [cmdunh10] [csdunh10] [encoding=il2] + \definefontsynonym [cmff10] [csff10] [encoding=il2] + \definefontsynonym [cmfi10] [csfi10] [encoding=il2] + \definefontsynonym [cmfib8] [csfib8] [encoding=il2] + \definefontsynonym [cminch] [csinch] [encoding=il2] + \definefontsynonym [cmitt10] [csitt10] [encoding=il2] + \definefontsynonym [cmr10] [csr10] [encoding=il2] + \definefontsynonym [cmr12] [csr12] [encoding=il2] + \definefontsynonym [cmr17] [csr17] [encoding=il2] + \definefontsynonym [cmr5] [csr5] [encoding=il2] + \definefontsynonym [cmr6] [csr6] [encoding=il2] + \definefontsynonym [cmr7] [csr7] [encoding=il2] + \definefontsynonym [cmr8] [csr8] [encoding=il2] + \definefontsynonym [cmr9] [csr9] [encoding=il2] + \definefontsynonym [cmsl10] [cssl10] [encoding=il2] + \definefontsynonym [cmsl12] [cssl12] [encoding=il2] + \definefontsynonym [cmsl8] [cssl8] [encoding=il2] + \definefontsynonym [cmsl9] [cssl9] [encoding=il2] + \definefontsynonym [cmsltt10] [cssltt10] [encoding=il2] + \definefontsynonym [cmss10] [csss10] [encoding=il2] + \definefontsynonym [cmss12] [csss12] [encoding=il2] + \definefontsynonym [cmss17] [csss17] [encoding=il2] + \definefontsynonym [cmss8] [csss8] [encoding=il2] + \definefontsynonym [cmss9] [csss9] [encoding=il2] + \definefontsynonym [cmssbx10] [csssbx10] [encoding=il2] + \definefontsynonym [cmssdc10] [csssdc10] [encoding=il2] + \definefontsynonym [cmssi10] [csssi10] [encoding=il2] + \definefontsynonym [cmssi12] [csssi12] [encoding=il2] + \definefontsynonym [cmssi17] [csssi17] [encoding=il2] + \definefontsynonym [cmssi8] [csssi8] [encoding=il2] + \definefontsynonym [cmssi9] [csssi9] [encoding=il2] + \definefontsynonym [cmssq8] [csssq8] [encoding=il2] + \definefontsynonym [cmssqi8] [csssqi8] [encoding=il2] + \definefontsynonym [cmtcsc10] [cstcsc10] [encoding=il2] + \definefontsynonym [cmti10] [csti10] [encoding=il2] + \definefontsynonym [cmti12] [csti12] [encoding=il2] + \definefontsynonym [cmti7] [csti7] [encoding=il2] + \definefontsynonym [cmti8] [csti8] [encoding=il2] + \definefontsynonym [cmti9] [csti9] [encoding=il2] + \definefontsynonym [cmtt10] [cstt10] [encoding=il2] + \definefontsynonym [cmtt12] [cstt12] [encoding=il2] + \definefontsynonym [cmtt8] [cstt8] [encoding=il2] + \definefontsynonym [cmtt9] [cstt9] [encoding=il2] + \definefontsynonym [cmu10] [csu10] [encoding=il2] + \definefontsynonym [cmvtt10] [csvtt10] [encoding=il2] +\stoptypescript + +\starttypescript [all] [computer-modern] [pl0] + \definefontsynonym [cmb10] [plb10] [encoding=pl0] + \definefontsynonym [cmbsy10] [plbsy10] [encoding=pl0] + \definefontsynonym [cmbx10] [plbx10] [encoding=pl0] + \definefontsynonym [cmbx12] [plbx12] [encoding=pl0] + \definefontsynonym [cmbx5] [plbx5] [encoding=pl0] + \definefontsynonym [cmbx6] [plbx6] [encoding=pl0] + \definefontsynonym [cmbx7] [plbx7] [encoding=pl0] + \definefontsynonym [cmbx8] [plbx8] [encoding=pl0] + \definefontsynonym [cmbx9] [plbx9] [encoding=pl0] + \definefontsynonym [cmbxsl10] [plbxsl10] [encoding=pl0] + \definefontsynonym [cmbxti10] [plbxti10] [encoding=pl0] + \definefontsynonym [cmcsc10] [plcsc10] [encoding=pl0] + \definefontsynonym [cmdunh10] [pldunh10] [encoding=pl0] + \definefontsynonym [cmex10] [plex10] [encoding=pl0] + \definefontsynonym [cmex9] [plex9] [encoding=pl0] + \definefontsynonym [cmff10] [plff10] [encoding=pl0] + \definefontsynonym [cmfi10] [plfi10] [encoding=pl0] + \definefontsynonym [cmfib8] [plfib8] [encoding=pl0] + \definefontsynonym [cminch] [plinch] [encoding=pl0] + \definefontsynonym [cmitt10] [plitt10] [encoding=pl0] + \definefontsynonym [cmmi10] [plmi10] [encoding=pl0] + \definefontsynonym [cmmi12] [plmi12] [encoding=pl0] + \definefontsynonym [cmmi5] [plmi5] [encoding=pl0] + \definefontsynonym [cmmi6] [plmi6] [encoding=pl0] + \definefontsynonym [cmmi7] [plmi7] [encoding=pl0] + \definefontsynonym [cmmi8] [plmi8] [encoding=pl0] + \definefontsynonym [cmmi9] [plmi9] [encoding=pl0] + \definefontsynonym [cmmib10] [plmib10] [encoding=pl0] + \definefontsynonym [cmr10] [plr10] [encoding=pl0] + \definefontsynonym [cmr12] [plr12] [encoding=pl0] + \definefontsynonym [cmr17] [plr17] [encoding=pl0] + \definefontsynonym [cmr5] [plr5] [encoding=pl0] + \definefontsynonym [cmr6] [plr6] [encoding=pl0] + \definefontsynonym [cmr7] [plr7] [encoding=pl0] + \definefontsynonym [cmr8] [plr8] [encoding=pl0] + \definefontsynonym [cmr9] [plr9] [encoding=pl0] + \definefontsynonym [cmsl10] [plsl10] [encoding=pl0] + \definefontsynonym [cmsl12] [plsl12] [encoding=pl0] + \definefontsynonym [cmsl8] [plsl8] [encoding=pl0] + \definefontsynonym [cmsl9] [plsl9] [encoding=pl0] + \definefontsynonym [cmsltt10] [plsltt10] [encoding=pl0] + \definefontsynonym [cmss10] [plss10] [encoding=pl0] + \definefontsynonym [cmss12] [plss12] [encoding=pl0] + \definefontsynonym [cmss17] [plss17] [encoding=pl0] + \definefontsynonym [cmss8] [plss8] [encoding=pl0] + \definefontsynonym [cmss9] [plss9] [encoding=pl0] + \definefontsynonym [cmssbi10] [plssbi10] [encoding=pl0] + \definefontsynonym [cmssbx10] [plssbx10] [encoding=pl0] + \definefontsynonym [cmssdc10] [plssdc10] [encoding=pl0] + \definefontsynonym [cmssi10] [plssi10] [encoding=pl0] + \definefontsynonym [cmssi12] [plssi12] [encoding=pl0] + \definefontsynonym [cmssi17] [plssi17] [encoding=pl0] + \definefontsynonym [cmssi8] [plssi8] [encoding=pl0] + \definefontsynonym [cmssi9] [plssi9] [encoding=pl0] + \definefontsynonym [cmssq8] [plssq8] [encoding=pl0] + \definefontsynonym [cmssqi8] [plssqi8] [encoding=pl0] + \definefontsynonym [cmsy10] [plsy10] [encoding=pl0] + \definefontsynonym [cmsy5] [plsy5] [encoding=pl0] + \definefontsynonym [cmsy6] [plsy6] [encoding=pl0] + \definefontsynonym [cmsy7] [plsy7] [encoding=pl0] + \definefontsynonym [cmsy8] [plsy8] [encoding=pl0] + \definefontsynonym [cmsy9] [plsy9] [encoding=pl0] + \definefontsynonym [cmtcsc10] [pltcsc10] [encoding=pl0] + \definefontsynonym [cmtex10] [pltex10] [encoding=pl0] + \definefontsynonym [cmtex8] [pltex8] [encoding=pl0] + \definefontsynonym [cmtex9] [pltex9] [encoding=pl0] + \definefontsynonym [cmti10] [plti10] [encoding=pl0] + \definefontsynonym [cmti12] [plti12] [encoding=pl0] + \definefontsynonym [cmti7] [plti7] [encoding=pl0] + \definefontsynonym [cmti8] [plti8] [encoding=pl0] + \definefontsynonym [cmti9] [plti9] [encoding=pl0] + \definefontsynonym [cmtt10] [pltt10] [encoding=pl0] + \definefontsynonym [cmtt12] [pltt12] [encoding=pl0] + \definefontsynonym [cmtt8] [pltt8] [encoding=pl0] + \definefontsynonym [cmtt9] [pltt9] [encoding=pl0] + \definefontsynonym [cmu10] [plu10] [encoding=pl0] + \definefontsynonym [cmvtt10] [plvtt10] [encoding=pl0] +\stoptypescript + +\starttypescript [serif] [computer-modern] [default] + \definefontsynonym [ComputerModern] [cmr10] + \definefontsynonym [ComputerModern-Bold] [cmbx10] + \definefontsynonym [ComputerModern-Italic] [cmti10] + \definefontsynonym [ComputerModern-Slanted] [cmsl10] + \definefontsynonym [ComputerModern-BoldItalic] [cmbxti10] + \definefontsynonym [ComputerModern-BoldSlanted] [cmbxsl10] + \definefontsynonym [ComputerModern-Caps] [cmr10] +\stoptypescript + +\starttypescript [sans] [computer-modern] [default] + \definefontsynonym [ComputerModernSans] [cmss10] + \definefontsynonym [ComputerModernSans-Bold] [cmssbx10] + \definefontsynonym [ComputerModernSans-Italic] [cmssi10] + \definefontsynonym [ComputerModernSans-Slanted] [cmssi10] + \definefontsynonym [ComputerModernSans-BoldItalic] [cmssbx10] + \definefontsynonym [ComputerModernSans-BoldSlanted] [cmssbx10] + \definefontsynonym [ComputerModernSans-Caps] [cmss10] +\stoptypescript + +\starttypescript [mono] [computer-modern] [default] + \definefontsynonym [ComputerModernMono] [cmtt10] + \definefontsynonym [ComputerModernMono-Bold] [cmtt10] + \definefontsynonym [ComputerModernMono-Italic] [cmitt10] + \definefontsynonym [ComputerModernMono-Slanted] [cmsltt10] + \definefontsynonym [ComputerModernMono-BoldItalic] [cmtt10] + \definefontsynonym [ComputerModernMono-BoldSlanted] [cmtt10] + \definefontsynonym [ComputerModernMono-Caps] [cmtt10] +\stoptypescript + +\starttypescript [math] [computer-modern] [default] + \definefontsynonym [ComputerModernMath-Roman] [cmr10] + \definefontsynonym [ComputerModernMath-Extension] [cmex10] + \definefontsynonym [ComputerModernMath-Italic] [cmmi10] + \definefontsynonym [ComputerModernMath-Symbol] [cmsy10] +\stoptypescript + +% Computer Concrete + +\starttypescript [serif] [concrete] [default] + \definefontsynonym [ComputerConcrete] [ccr10] + \definefontsynonym [ComputerConcrete] [ccr10] + \definefontsynonym [ComputerConcrete-Italic] [ccti10] + \definefontsynonym [ComputerConcrete-Slanted] [ccsl10] + \definefontsynonym [ComputerConcrete-Italic] [ccti10] + \definefontsynonym [ComputerConcrete-Slanted] [ccsl10] + \definefontsynonym [ComputerConcrete-Caps] [cccsc10] +\stoptypescript + +% Euler + +\starttypescript [math] [euler] [default] + \definefontsynonym [Euler-Extension] [euex10] + \definefontsynonym [Euler-Italic] [eurm10] + \definefontsynonym [Euler-SymbolA] [euex10] + \definefontsynonym [Euler-SymbolB] [eusm10] + \definefontsynonym [Euler-SymbolC] [eufm10] +\stoptypescript + +% AMS + +\starttypescript [math] [ams] [default] + \definefontsynonym [AMS-SymbolA] [msam10] + \definefontsynonym [AMS-SymbolB] [msbm10] +\stoptypescript + +% Courier + +\starttypescript [mono] [courier] [texnansi] + \definefontsynonym [Courier] [com] [encoding=texnansi] + \definefontsynonym [Courier-Oblique] [coo] [encoding=texnansi] + \definefontsynonym [Courier-Bold] [cob] [encoding=texnansi] + \definefontsynonym [Courier-BoldOblique] [cobo] [encoding=texnansi] +\stoptypescript + +\starttypescript [mono] [courier] [ec] + \definefontsynonym [Courier] [pcrr8t] [encoding=ec] + \definefontsynonym [Courier-Bold] [pcrb8t] [encoding=ec] + \definefontsynonym [Courier-Oblique] [pcrro8t] [encoding=ec] + \definefontsynonym [Courier-BoldOblique] [pcrbo8t] [encoding=ec] +\stoptypescript + +% Helvetica + +\starttypescript [sans] [helvetica] [texnansi] + \definefontsynonym [Helvetica] [hv] [encoding=texnansi] + \definefontsynonym [Helvetica-Oblique] [hvo] [encoding=texnansi] + \definefontsynonym [Helvetica-Bold] [hvb] [encoding=texnansi] + \definefontsynonym [Helvetica-BoldOblique] [hvbo] [encoding=texnansi] +\stoptypescript + +\starttypescript [sans] [helvetica] [ec] + \definefontsynonym [Helvetica] [phvr8t] [encoding=ec] + \definefontsynonym [Helvetica-Oblique] [phvro8t] [encoding=ec] + \definefontsynonym [Helvetica-Bold] [phvb8t] [encoding=ec] + \definefontsynonym [Helvetica-BoldOblique] [phvbo8t] [encoding=ec] +\stoptypescript + +\starttypescript [math] [helvetica] [default] + \definefontsynonym [Helvetica-MathRoman] [hvrm10t1] + \definefontsynonym [Helvetica-MathExtendedSymbols] [hvex10] + \definefontsynonym [Helvetica-MathItalics] [hvmi10] + \definefontsynonym [Helvetica-MathSymbols] [hvsy10] +\stoptypescript + +% Times Roman + +\starttypescript [serif] [times] [texnansi] + \definefontsynonym [Times-Roman] [tir] [encoding=texnansi] + \definefontsynonym [Times-Italic] [tii] [encoding=texnansi] + \definefontsynonym [Times-Bold] [tib] [encoding=texnansi] + \definefontsynonym [Times-BoldItalic] [tibi] [encoding=texnansi] +\stoptypescript + +\starttypescript [serif] [times] [ec] + \definefontsynonym [Times-Roman] [ptmr8t] [encoding=ec] + \definefontsynonym [Times-Italic] [ptmri8t] [encoding=ec] + \definefontsynonym [Times-Bold] [ptmb8t] [encoding=ec] + \definefontsynonym [Times-BoldItalic] [ptmbi8t] [encoding=ec] +\stoptypescript + +% Math Times + +\starttypescript [math] [times] [texnansi] + \definefontsynonym [Times-MathRoman] [tir] [encoding=texnansi] + \definefontsynonym [Times-MathExtension] [mtex] + \definefontsynonym [Times-MathItalic] [mtmi] [skewcharmi='177] + \definefontsynonym [Times-MathSymbol] [mtsy] [skewcharmi='60] +\stoptypescript + +% Lucida Bright + +\starttypescript [serif] [lucida] [texnansi] + \definefontsynonym [LucidaBright] [lbr] [encoding=texnansi] + \definefontsynonym [LucidaBright-Demi] [lbd] [encoding=texnansi] + \definefontsynonym [LucidaBright-DemiItalic] [lbdi] [encoding=texnansi] + \definefontsynonym [LucidaBright-Italic] [lbi] [encoding=texnansi] + \definefontsynonym [LucidaBrightSmallcaps] [lbrsc] [encoding=texnansi] + \definefontsynonym [LucidaBrightSmallcaps-Demi] [lbdsc] [encoding=texnansi] + \definefontsynonym [LucidaBright-Oblique] [lbsl] [encoding=texnansi] +\stoptypescript + +\starttypescript [serif] [lucida] [ec] + \definefontsynonym [LucidaBright] [hlhr8t] [encoding=ec] + \definefontsynonym [LucidaBright-Demi] [hlhb8t] [encoding=ec] + \definefontsynonym [LucidaBright-Italic] [hlhri8t] [encoding=ec] + \definefontsynonym [LucidaBright-Oblique] [hlhro8t] [encoding=ec] + \definefontsynonym [LucidaBright-DemiItalic] [hlhbi8t] [encoding=ec] + \definefontsynonym [LucidaBrightSmallcaps] [hlhrc8t] [encoding=ec] +\stoptypescript + +\starttypescript [sans] [lucida] [texnansi] + \definefontsynonym [LucidaSans] [lsr] [encoding=texnansi] + \definefontsynonym [LucidaSans-Demi] [lsd] [encoding=texnansi] + \definefontsynonym [LucidaSans-DemiItalic] [lsdi] [encoding=texnansi] + \definefontsynonym [LucidaSans-Italic] [lsi] [encoding=texnansi] + \definefontsynonym [LucidaSans-Bold] [lsb] [encoding=texnansi] + \definefontsynonym [LucidaSans-BoldItalic] [lsbi] [encoding=texnansi] +\stoptypescript + +\starttypescript [mono] [lucida] [texnansi] + \definefontsynonym [LucidaSans-Typewriter] [lstr] [encoding=texnansi] + \definefontsynonym [LucidaSans-TypewriterBold] [lstb] [encoding=texnansi] + \definefontsynonym [LucidaSans-TypewriterBoldOblique] [lstbo] [encoding=texnansi] + \definefontsynonym [LucidaSans-TypewriterOblique] [lsto] [encoding=texnansi] +\stoptypescript + +\starttypescript [mono] [lucida] [ec] + \definefontsynonym [LucidaSans] [hlsr8t] [encoding=ec] + \definefontsynonym [LucidaSans-Demi] [hlsb8t] [encoding=ec] + \definefontsynonym [LucidaSans-Italic] [hlsri8t] [encoding=ec] + \definefontsynonym [LucidaSans-DemiItalic] [hlsbi8t] [encoding=ec] + \definefontsynonym [LucidaSans-Typewriter] [hlsrt8t] [encoding=ec] + \definefontsynonym [LucidaSans-TypewriterBold] [hlsbt8t] [encoding=ec] + \definefontsynonym [LucidaSans-TypewriterOblique] [hlsrot8t] [encoding=ec] + \definefontsynonym [LucidaSans-TypewriterBoldOblique] [hlsbot8t] [encoding=ec] +\stoptypescript + +\starttypescript [math] [lucida] [texnansi] + \definefontsynonym [LucidaNewMath-AltItalic] [lbmo] + \definefontsynonym [LucidaNewMath-Arrows] [lbma] + \definefontsynonym [LucidaNewMath-Extension] [lbme] + \definefontsynonym [LucidaNewMath-Roman] [lbmr] + \definefontsynonym [LucidaNewMath-Italic] [lbmi] + \definefontsynonym [LucidaNewMath-Symbol] [lbms] + \definefontsynonym [LucidaBlackletter] [lbl] +\stoptypescript + +\starttypescript [boldmath] [lucida] [texnansi] + \definefontsynonym [LucidaNewMath-AltDemiItalic] [lbmdo] + \definefontsynonym [LucidaNewMath-Arrows-Demi] [lbmad] + \definefontsynonym [LucidaNewMath-Extension] [lbme] + \definefontsynonym [LucidaNewMath-Demibold] [lbmd] + \definefontsynonym [LucidaNewMath-DemiItalic] [lbmdi] + \definefontsynonym [LucidaNewMath-Symbol-Demi] [lbmsd] +\stoptypescript + +\starttypescript [math] [lucida] [ec] + \definefontsynonym [LucidaNewMath-AltItalic] [hlcrima] + \definefontsynonym [LucidaNewMath-Arrows] [hlcra] + \definefontsynonym [LucidaNewMath-Extension] [hlcrv] + \definefontsynonym [LucidaNewMath-Roman] [hlcrm] + \definefontsynonym [LucidaNewMath-Italic] [hlcrim] + \definefontsynonym [LucidaNewMath-Symbol] [hlcry] +\stoptypescript + +\starttypescript [boldmath] [lucida] [ec] + \definefontsynonym [LucidaNewMath-AltDemiItalic] [hlcdima] + \definefontsynonym [LucidaNewMath-Arrows-Demi] [hlcda] + \definefontsynonym [LucidaNewMath-Extension] [hlcrv] + \definefontsynonym [LucidaNewMath-Demibold] [hlcdm] + \definefontsynonym [LucidaNewMath-DemiItalic] [hlcdim] + \definefontsynonym [LucidaNewMath-Symbol-Demi] [hlcdy] +\stoptypescript + +\starttypescript [calligraphy] [lucida] [texnansi] + \definefontsynonym [LucidaCalligraphy-Italic] [lbc] [encoding=texnansi] +\stoptypescript + +\starttypescript [calligraphy] [lucida] [ec] + \definefontsynonym [LucidaCalligraphy-Italic] [hlcrie8t] [encoding=ec] +\stoptypescript + +\starttypescript [casual] [lucida] [texnansi] + \definefontsynonym [LucidaCasual] [lbkr] [encoding=texnansi] + \definefontsynonym [LucidaCasual-Italic] [lbki] [encoding=texnansi] +\stoptypescript + +\starttypescript [handwriting] [lucida] [texnansi] + \definefontsynonym [LucidaHandwriting-Italic] [lbh] [encoding=texnansi] +\stoptypescript + +\starttypescript [handwriting] [lucida] [ec] + \definefontsynonym [LucidaHandwriting-Italic] [hlcriw8t] [encoding=ec] +\stoptypescript + +\starttypescript [fax] [lucida] [texnansi] + \definefontsynonym [LucidaFax] [lfr] [encoding=texnansi] + \definefontsynonym [LucidaFax-Demi] [lfd] [encoding=texnansi] + \definefontsynonym [LucidaFax-DemiItalic] [lfdi] [encoding=texnansi] + \definefontsynonym [LucidaFax-Italic] [lfi] [encoding=texnansi] +\stoptypescript + +% Informal + +\starttypescript [casual] [informal] [default] + \definefontsynonym [Informal-Regular] [ifrm10cm] + \definefontsynonym [Informal-Bold] [ifrb10cm] + \definefontsynonym [Informal-Oblique] [ifro10cm] + \definefontsynonym [Informal-BoldOblique] [ifbo10cm] +\stoptypescript + +% Informal Math + +\starttypescript [math] [informal] [default] + \definefontsynonym [Informal-Regular] [ifrm10cm] + \definefontsynonym [Informal-MathExtendedSymbols] [ifex10] + \definefontsynonym [Informal-MathItalics] [ifmi10] + \definefontsynonym [Informal-MathSymbols] [ifsy10] +\stoptypescript + +% Antikwa Torunska + +\starttypescript [serif] [antykwa-torunska] [texnansi] + \definefontsynonym [AntykwaTorunska-Bold] [anttb] [encoding=texnansi] + \definefontsynonym [AntykwaTorunska-Regular] [anttr] [encoding=texnansi] + \definefontsynonym [AntykwaTorunska-Italic] [anttri] [encoding=texnansi] +\stoptypescript + +\starttypescript [serif] [antykwa-torunska] [ec] + \definefontsynonym [AntykwaTorunska-Regular] [zatr8t] [encoding=ec] + \definefontsynonym [AntykwaTorunska-Italic] [zatri8t] [encoding=ec] + \definefontsynonym [AntykwaTorunska-Bold] [zatb8t] [encoding=ec] +\stoptypescript + +% Baskerville + +\starttypescript [serif] [baskerville] [ec] + \definefontsynonym [Baskerville] [mbvr8t] [encoding=ec] + \definefontsynonym [Baskerville-Italic] [mbvri8t] [encoding=ec] + \definefontsynonym [Baskerville-Bold] [mbvb8t] [encoding=ec] + \definefontsynonym [Baskerville-BoldItalic] [mbvbi8t] [encoding=ec] + \definefontsynonym [Baskerville-SemiBold] [mbvs8t] [encoding=ec] + \definefontsynonym [Baskerville-SemiBoldItalic] [mbvsi8t] [encoding=ec] +\stoptypescript + +% Palatino + +\starttypescript [serif] [palatino] [ec] + \definefontsynonym [Palatino] [uplr8t] [encoding=ec] + \definefontsynonym [Palatino-Italic] [uplri8t] [encoding=ec] + \definefontsynonym [Palatino-Slanted] [uplro8t] [encoding=ec] + \definefontsynonym [Palatino-Bold] [uplb8t] [encoding=ec] + \definefontsynonym [Palatino-BoldItalic] [uplbi8t] [encoding=ec] + \definefontsynonym [Palatino-BoldSlanted] [uplbo8t] [encoding=ec] +\stoptypescript + +\starttypescript [math] [palatino] [ec] + \definefontsynonym [Palatino-Roman-Upright] [p1xr] [encoding=ec] + \definefontsynonym [Palatino-Roman-Italic] [p1xi] [encoding=ec] + \definefontsynonym [Palatino-Roman-Slanted] [p1xsl] [encoding=ec] + \definefontsynonym [Palatino-Roman-Caps] [p1xsc] [encoding=ec] + \definefontsynonym [Palatino-Companion-Upright] [pcxr] + \definefontsynonym [Palatino-Companion-Italic] [pcxi] + \definefontsynonym [Palatino-Companion-Slanted] [pcxsl] + \definefontsynonym [Palatino-Math-Italic] [pxmi] + \definefontsynonym [Palatino-Math-Symbols] [pxsy] + \definefontsynonym [Palatino-Math-Extension] [pxex] + \definefontsynonym [Palatino-Math-SymbolsA] [pxsya] + \definefontsynonym [Palatino-Math-SymbolsB] [pxsyb] + \definefontsynonym [Palatino-Math-SymbolsC] [pxsyc] + \definefontsynonym [Palatino-Math-Italic-A] [pxmia] + \definefontsynonym [Palatino-Math-Extension-A] [pxexa] +\stoptypescript + +% Whatever + +\starttypescript % once amd for all + \definefontsynonym [ContextNavigation] [contnav] + \definefontsynonym [RalfSmithFormalScript] [rsfs10] + \definefontsynonym [ZapfDingbats] [pzd] +\stoptypescript + +\endinput diff --git a/tex/context/base/type-exa.tex b/tex/context/base/type-exa.tex new file mode 100644 index 000000000..43a746a3c --- /dev/null +++ b/tex/context/base/type-exa.tex @@ -0,0 +1,69 @@ +%D \module +%D [ file=type-exa, +%D version=2001.04.12, +%D title=\CONTEXT\ Typescript Macros, +%D subtitle=Example scripts, +%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 A couple of goodies: + +% \starttypescript [modern] [ec] +% +% \definetypeface [modern] [rm] [serif] [computer-modern] [computer-modern] [encoding=ec] +% \definetypeface [modern] [ss] [sans] [computer-modern] [computer-modern] [encoding=ec] +% \definetypeface [modern] [tt] [mono] [computer-modern] [computer-modern] [encoding=ec] +% \definetypeface [modern] [mm] [math] [computer-modern] [computer-modern] [encoding=ec] +% +% \stoptypescript +% +% \starttypescript [modern] [il2] +% +% \definetypeface [modern] [rm] [serif] [computer-modern] [computer-modern] [encoding=il2] +% \definetypeface [modern] [ss] [sans] [computer-modern] [computer-modern] [encoding=il2] +% \definetypeface [modern] [tt] [mono] [computer-modern] [computer-modern] [encoding=il2] +% \definetypeface [modern] [mm] [math] [computer-modern] [computer-modern] [encoding=il2] +% +% \stoptypescript +% +% \starttypescript [modern] [pl0] +% +% \definetypeface [modern] [rm] [serif] [computer-modern] [computer-modern] [encoding=pl0] +% \definetypeface [modern] [ss] [sans] [computer-modern] [computer-modern] [encoding=pl0] +% \definetypeface [modern] [tt] [mono] [computer-modern] [computer-modern] [encoding=pl0] +% \definetypeface [modern] [mm] [math] [computer-modern] [computer-modern] [encoding=pl0] +% +% \stoptypescript + +\starttypescript [modern] [ec,il2,pl0,default] + +\definetypeface [modern] [rm] [serif] [computer-modern] [computer-modern] [encoding=\typescripttwo] +\definetypeface [modern] [ss] [sans] [computer-modern] [computer-modern] [encoding=\typescripttwo] +\definetypeface [modern] [tt] [mono] [computer-modern] [computer-modern] [encoding=\typescripttwo] +\definetypeface [modern] [mm] [math] [computer-modern] [computer-modern] [encoding=\typescripttwo] + +\stoptypescript + +\starttypescript [postscript] [texnansi,ec] + +\definetypeface [postscript] [rm] [serif] [times] [default] [encoding=\typescripttwo] +\definetypeface [postscript] [ss] [sans] [helvetica] [default] [rscale=.9,encoding=\typescripttwo] +\definetypeface [postscript] [tt] [mono] [courier] [default] [rscale=1.1,encoding=\typescripttwo] + +\stoptypescript + +\starttypescript [mathtimes] [texnansi,ec] + +\definetypeface [mathtimes] [rm] [serif] [times] [default] [encoding=\typescripttwo] +\definetypeface [mathtimes] [ss] [sans] [helvetica] [default] [rscale=.9,encoding=\typescripttwo] +\definetypeface [mathtimes] [tt] [mono] [computer-modern] [default] [rscale=1.1,encoding=\typescripttwo] +\definetypeface [mathtimes] [mm] [math] [times] [default] [encoding=\typescripttwo] + +\stoptypescript + +\endinput diff --git a/tex/context/base/type-ini.tex b/tex/context/base/type-ini.tex new file mode 100644 index 000000000..6cb1e43b1 --- /dev/null +++ b/tex/context/base/type-ini.tex @@ -0,0 +1,253 @@ +% wat te doen met casual, evt `cs', danwel een manier om te +% mappen (zie showcase) + +%D \module +%D [ file=type-ini, +%D version=2001.03.05, +%D title=\CONTEXT\ Typescript 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. + +\writestatus{loading}{Context Typescript Macros (ini)} + +\unprotect + +\let\typescriptfiles\empty + +\def\usetypescriptfile[#1]% + {\addtocommalist{#1}\typescriptfiles} + +\usetypescriptfile[\f!typeprefix syn] % font file synonyms +\usetypescriptfile[\f!typeprefix enc] % files and encodings +\usetypescriptfile[\f!typeprefix siz] % specific font sizes +\usetypescriptfile[\f!typeprefix map] % pdftex mapping +\usetypescriptfile[\f!typeprefix spe] % special macros +\usetypescriptfile[\f!typeprefix exa] % some examples +\usetypescriptfile[\f!typeprefix loc] % local scripts +% [\f!typeprefix pre] % predefined scripts (compatible) + +% \usetypescriptfile[typeface] % project scripts + +\let\currenttypescripts\empty + +\newif\iftypescriptfound + +\def\usetypescript% + {\dotripleempty\dousetypescript} + +\let\typescriptone\empty +\let\typescripttwo\empty +\let\typescriptthree\empty + +\def\dousetypescript[#1][#2][#3]% also loads type-loc, a user file + {\pushmacro\typescriptone \edef\typescriptone {\truetypescript{#1}}% + \pushmacro\typescripttwo \edef\typescripttwo {\truetypescript{#2}}% + \pushmacro\typescriptthree\edef\typescriptthree{\truetypescript{#3}}% + \typescriptfoundfalse + \writestatus + {typescript} + {[\typescriptone] [\typescripttwo] [\typescriptthree]}% + \processcommacommand[\typescriptfiles]\dodousetypescript + \firsttypescriptpassfalse % testen + \popmacro\typescriptthree + \popmacro\typescripttwo + \popmacro\typescriptone} + +\def\dodousetypescript#1% + {\startreadingfile + \pushmacro\currenttypefile + \def\currenttypefile{#1}% + \readfile{\currenttypefile}{}{}% \relax\relax + \popmacro\currenttypefile + \stopreadingfile} + +% \definetypescriptsynonym[lbr][cmr] + +\def\definetypescriptsynonym% + {\dodoubleempty\dodefinetypescriptsynonym} + +\def\dodefinetypescriptsynonym[#1][#2]% + {\ifsecondargument\setevalue{\??tm#1}{#2}\fi} + +\beginTEX + +\def\truetypescript#1% + {\expandafter\ifx\csname\??tm#1\endcsname\relax + #1% + \else + \@EA\truetypescript\csname\??tm#1\endcsname + \fi} + +\endTEX + +\beginETEX \ifcsname + +\def\truetypescript#1% + {\ifcsname\??tm#1\endcsname + \@EA\truetypescript\csname\??tm#1\endcsname + \else + #1% + \fi} + +\endETEX + +% script [serif] [default] [size] +% script [serif] [computer-modern] [size] +% script [serif] [computer-modern] [ec] +% script [serif] [computer-modern] [name] +% script [serif] [computer-modern] [special] + +\def\dochecktypescript#1#2% script use + {\donefalse + \doifelsenothing{#1}\donetrue + {\doifelse{#2}{all}\donetrue + {\doifelse{#1}{all}\donetrue + {\ExpandBothAfter\doifcommonelse{#1}{#2}\donetrue\donefalse}}}} + +\def\starttypescript% + {\dotripleempty\dostarttypescript} + +\newif\iffirsttypescriptpass \firsttypescriptpasstrue + +\prependtoks\firsttypescriptpasstrue\to\everyjob + +\long\def\dostarttypescript[#1][#2][#3]#4\stoptypescript + {\iffirstargument + \dochecktypescript{#1}{\typescriptone}\ifdone + \dochecktypescript{#2}{\typescripttwo}\ifdone + \dochecktypescript{#3}{\typescriptthree}\ifdone + %\writestatus + \debuggerinfo + {typescript} + {\currenttypefile: [#1] [#2] [#3]}% + #4\typescriptfoundtrue + \fi\fi\fi + \else\iffirsttypescriptpass + \pushmacro\fontclass + #4% + \popmacro\fontclass + \else + % skip this since it may do unwanted resets, like + % setting symbolic font names to unknown, especially + % in run time user type scripts + \fi\fi} + +\def\loadmapfile[#1]% + {\processcommalist[#1]\doloadmapfile} + +\def\doloadmapfile#1% will be special + {\ifcase\pdfoutput\else\ifx\pdfmapfile\undefined\else + \doifundefined{map+#1} + {\global\letvalue{map+#1}\empty\pdfmapfile{+#1}}% + \fi\fi} + +% \definetypeface [#1:joke] [#2:rm] +% \definetypeface [#1:joke] [#2:rm] [#3:...] +% \definetypeface [#1:joke] [#2:rm] [#3:serif] [#4:lucida] [#5:size] [#6:...] + +\def\definetypeface% + {\dosixtupleargument\dodefinetypeface} + +\def\tsvar#1#2% + {\@EA\ifx\csname\??ts#1\endcsname\empty + #2% + \else + \csname\??ts#1\endcsname + \fi} + +\let\@@tslabel \empty +\let\@@tsstyle \empty +\let\@@tsfont \empty +\let\@@tssize \empty +\let\@@tsencoding \empty + +\def\dodefinetypeface[#1][#2][#3][#4][#5][#6]% + {\dododefinetypeface[#1][#2] + \iffifthargument % sixth is optional + \getparameters[\??ts][rscale=1,\s!encoding=\s!default,#6] + \let\relativefontsize\@@tsrscale + \let\savedfontclass\fontclass + \setcurrentfontclass{#1} +\def\@@tslabel{#1} +\def\@@tsstyle{#2} +\def\@@tsfont {#3} +\def\@@tssize {#4} + \writestatus + {typeface} + {[#1] [#2] [#3] [#4]}% + \expanded{\usetypescript[#3][#4][name,default,\@@tsencoding,special]} + \expanded{\usetypescript[#3][#5][size]} +\let\@@tslabel\empty +\let\@@tsstyle\empty +\let\@@tsfont \empty +\let\@@tssize \empty + \setcurrentfontclass\savedfontclass + \def\relativefontsize{1} + \else\ifthirdargument + \getparameters[\??tf#1#2][#3] + \fi\fi} + +\def\dododefinetypeface[#1][#2]% saveguard against redefinition + {\doifundefined{\??tf#1\s!default}{\setgvalue{\??tf#1\s!default}{#2}}% + \doifundefined{#1}{\setgvalue{#1}{\switchtotypeface[#1][#2]}}} + +\def\setuptypeface% + {\doquadrupleempty\doswitchtotypeface[\setupbodyfont][\fontclass]} + +\def\switchtotypeface% + {\doquadrupleempty\doswitchtotypeface[\switchtobodyfont][\globalfontclass]} + +\def\doswitchtotypeface[#1][#2][#3][#4]% + {\setcurrentfontclass{#3}% + \let\globalfontclass#2% + \iffourthargument + #1[#4]% + \else\ifx\fontclass\empty + #1[\c!rm]% + \else + \doifdefinedelse{\??tf\fontclass\s!default} + {#1[\getvalue{\??tf\fontclass\s!default}]} + {#1[\c!rm]}% + \fi\fi + \tf} + +\def\usetypefile[#1]% + {\readfile{\f!typeprefix#1}{}{}}% \relax\relax} + +%D For backward compatibility we reimplement the font file +%D loading macro. + +\ifx\normaldoreadfontdefinitionfile\undefined + \let\normaldoreadfontdefinitionfile\doreadfontdefinitionfile +\fi + +\def\doreadfontdefinitionfile#1#2% #1 = set/switch state + {\ifundefined{\??tf#2\c!default}% + \pushmacro\typescriptone\edef\typescriptone{\truetypescript{#2}} + \pushmacro\typescripttwo\let \typescripttwo \empty + \pushmacro\typescriptthree\let \typescriptthree \empty + \typescriptfoundfalse + \dodousetypescript{\f!typeprefix pre} + \popmacro\typescriptthree + \popmacro\typescripttwo + \popmacro\typescriptone + \iftypescriptfound \else + \normaldoreadfontdefinitionfile{#1}{#2} + \fi + \else\ifcase#1\relax + \switchtotypeface[#2]% + \else + \setuptypeface[#2]% + \fi\fi} + +\fetchruntimecommand \typetypescript {\f!typeprefix\s!run} + +\setupbodyfont[fil] % default filenames + +\protect \endinput diff --git a/tex/context/base/type-map.tex b/tex/context/base/type-map.tex new file mode 100644 index 000000000..db9bbb1c3 --- /dev/null +++ b/tex/context/base/type-map.tex @@ -0,0 +1,26 @@ +%D \module +%D [ file=type-map, +%D version=2001.04.12, +%D title=\CONTEXT\ Typescript Macros, +%D subtitle=Mapfile scripts, +%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. + +\starttypescript [all] [helvetica] [all] + \loadmapfile[mphv.map] +\stoptypescript + +\starttypescript [all] [informal] [all] + \loadmapfile[mpif.map] +\stoptypescript + +\starttypescript [all] [palatino] [all] + \loadmapfile[pxr.map] +\stoptypescript + +\endinput diff --git a/tex/context/base/type-pre.tex b/tex/context/base/type-pre.tex new file mode 100644 index 000000000..e65054814 --- /dev/null +++ b/tex/context/base/type-pre.tex @@ -0,0 +1,210 @@ +%D \module +%D [ file=type-pre, +%D version=2001.04.12, +%D title=\CONTEXT\ Typescript Macros, +%D subtitle=Compatibility scripts, +%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 The Computer Modern Roman is derived from the Monotype~8a +%D Times Roman. In this module, that is loaded by default, we +%D define all relevant alternatives. + +\starttypescript [cmr] + +\usetypescript [all] [computer-modern] [default,name,size] + +\enablemathcollection[default] + +\stoptypescript + +%D This script remaps the default Computer Modern Font Files +%D onto the virtual EC ones, so that hyphenations work well. + +\starttypescript [aer] + +\usetypescript [all] [computer-modern] [default,name,size,ec] + +\enablemathcollection[default] + +\stoptypescript + +%D This script defines the Computer Modern Roman with iso +%D latin 2 encoding, as needed for Czech and other languages. + +\starttypescript [csr] + +\usetypescript [all] [computer-modern] [default,name,size,il2] + +\enablemathcollection[default] + +\stoptypescript + +%D This script defines the Computer Modern Roman with a +%D polish encoding, as needed for Czech and other languages. + +\starttypescript [plr] + +\usetypescript [all] [computer-modern] [default,name,size,pl0] + +\enablemathcollection[default] + +\stoptypescript + +%D Here we implement the symbol fonts as provided by the +%D American Mathematical Society. The names of these symbols +%D can be found in The Joy of \TeX\ by M.~Spivak. + +\starttypescript [ams] + +\usetypescript [math] [ams] [all] + +\enablemathcollection[ams] + +\stoptypescript + +%D The Concrete Modern Roman is just an alternative Computer +%D Modern Roman. + +\starttypescript [con] + +\usetypescript [serif] [concrete] [all] + +\stoptypescript + +%D The Euler Fonts are designed by Herman Zapf and can be +%D used with the Concrete Fonts defined elsewhere. + +\starttypescript [eul] + +\usetypescript [math] [euler] [all] + +\enablemathcollection[eul] + +\stoptypescript + +%D The Lucida Bright fonts are both good looking and and +%D complete. These fonts have prebuilt accented characters, +%D which means that we use another encoding vector: \YandY\ +%D texnansi. These fonts are a good illustration that a 12 +%D point bodyfont is indeed never that size. The Lucida Bright +%D fonts come in one design size. + +\starttypescript [lbr] + +\usetypescript [all] [lucida] [name,special] +\usetypescript [all] [default] [size] + +\enablemathcollection[lbr] + +\stoptypescript + +%D With thanks to Berthold Horn from YandY for providing me +%D evaluation copies of the MathTimePlus fonts. + +\starttypescript [mt,tim] + +\usetypescript [math] [times] [all] +\usetypescript [math] [default] [size] + +\enablemathcollection[tim] + +\stoptypescript + +%D The Antikwa Torunska font family is a rather nice +%D and subtle one. Although primary meant for the polish +%D language, it can be used for other languages as well. + +\starttypescript [ant] + +\usetypescript [serif] [antykwa-torunska] [name] +\usetypescript [serif] [default] [size] + +\stoptypescript + +%D This script defines the Standard Adobe Courier fonts. + +\starttypescript [pcr] + +\usetypescript [mono] [courier] [name] +\usetypescript [mono] [default] [size] + +\stoptypescript + +%D This script defines the Standard Adobe Helvetica fonts. + +\starttypescript [phv] + +\usetypescript [sans] [helvetica] [name] +\usetypescript [mono] [default] [size] + +\stoptypescript + +%D This script defines the Standard Adobe Times fonts. + +\starttypescript [ptm] + +\usetypescript [serif] [times] [name] +\usetypescript [serif] [default] [size] + +\stoptypescript + +%D This script loads the Adobe Times Roman, Helvetica and +%D Courier. + +\starttypescript [pos] + +\usetypescript [serif] [times] [name] +\usetypescript [sans] [helvetica] [name] +\usetypescript [mono] [courier] [name] + +\usetypescript [serif,sans,mono] [default] [size] + +\stoptypescript + +%D This script defines the Palatino font. + +\starttypescript [ppl] + +\usetypescript [serif] [palatino] [name] +\usetypescript [serif] [default] [size] + +\stoptypescript + +%D The following scripts fake the old \type {font-ber} and +%D alike files. + +\starttypescript[ber] + +\usetypescript + [all] + [computer-modern,concrete,euler] + [default] + +\usetypescript + [all] + [courier,helvetica,times,lucida,antykwa-torunska,baskerville,palatino] + [ec] + +\stoptypescript + +\starttypescript[fil] + +\usetypescript + [all] + [computer-modern,concrete,euler] + [default] + +\usetypescript + [all] + [courier,helvetica,times,lucida,antykwa-torunska,baskerville,palatino] + [texnansi] + +\stoptypescript + +\endinput diff --git a/tex/context/base/type-run.tex b/tex/context/base/type-run.tex new file mode 100644 index 000000000..6fdcab997 --- /dev/null +++ b/tex/context/base/type-run.tex @@ -0,0 +1,53 @@ +%D \module +%D [ file=type-run, +%D version=2001.04.20, +%D title=\CONTEXT\ Typescript Macros, +%D subtitle=Runtime Macros, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA / Hans Hagen \& Ton Otten}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\unprotect + +\gdef\typetypescript% + {\dotripleempty\dotypetypescript} + +\gdef\dotypetypescript[#1][#2][#3]% + {\bgroup + \def\dochecktypescript##1##2% script use + {\doifelsenothing{##1##2} + {\donetrue} + {\donefalse + \ExpandBothAfter\doifcommonelse{##1}{##2}\donetrue\donefalse}} + \edef\typescriptone {\truetypescript{#1}}% + \edef\typescripttwo {\truetypescript{#2}}% + \edef\typescriptthree{\truetypescript{#3}}% + \def\starttypescript + {\bgroup + \obeylines % else we loose the first line due to lookahead + \dotripleempty\dostarttypescript} + \def\dostarttypescript[##1][##2][##3]% + {\long\def\next####1\stoptypescript{\egroup} + \dochecktypescript{##1}\typescriptone \ifdone + \dochecktypescript{##2}\typescripttwo \ifdone + \dochecktypescript{##3}\typescriptthree\ifdone + \def\next% + {\def\stoptypescript% + {\egroup\type{\stoptypescript}} + % what follows now is quite ugly + \skipfirstverbatimlinefalse + \processdisplayverbatim{\stoptypescript}% + \type{\starttypescript} + \doifsomething{##1}{\type{[##1]}} + \doifsomething{##2}{\type{[##2]}} + \doifsomething{##3}{\type{[##3]}}} + \fi\fi\fi + \next} + \processcommacommand[\typescriptfiles]\dodousetypescript + \egroup} + +\protect \endinput diff --git a/tex/context/base/type-siz.tex b/tex/context/base/type-siz.tex new file mode 100644 index 000000000..5232edd8a --- /dev/null +++ b/tex/context/base/type-siz.tex @@ -0,0 +1,554 @@ +%D \module +%D [ file=type-siz, +%D version=2001.04.12, +%D title=\CONTEXT\ Typescript Macros, +%D subtitle=Sizing scripts, +%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. + +\unprotect + +%\starttypescript [serif] [default] [size] +% \definebodyfont +% [17.3pt,14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt,4pt] +% [\tsvar{style}{rm}] [default] +%\stoptypescript + +\starttypescript [casual] [default] [size] + \definebodyfont + [17.3pt,14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt,4pt] + [rm] [default] +\stoptypescript + +\starttypescript [serif] [default] [size] + \definebodyfont + [17.3pt,14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt,4pt] + [rm] [default] +\stoptypescript + +\starttypescript [sans] [default] [size] + \definebodyfont + [17.3pt,14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt,4pt] + [ss] [default] +\stoptypescript + +\starttypescript [mono] [default] [size] + \definebodyfont + [17.3pt,14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt,4pt] + [tt] [default] +\stoptypescript + +\starttypescript [math] [default] [size] + \definebodyfont + [17.3pt,14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt,4pt] + [mm] [default] +\stoptypescript + +\starttypescript [boldmath] [default] [size] + \definebodyfont + [17.3pt,14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt,4pt] + [mm] [boldmath] +\stoptypescript + +\starttypescript [all] [dtp] [size] + +\definebodyfontenvironment + [4pt] + [ \s!text=4pt, \s!script=4pt, \s!scriptscript=4pt, + \c!x=4pt, \c!xx=4pt, + \c!groot=6pt, \c!klein=4pt] + +\definebodyfontenvironment + [5pt] + [ \s!text=5pt, \s!script=5pt, \s!scriptscript=5pt, + \c!x=5pt, \c!xx=5pt, + \c!groot=7pt, \c!klein=5pt] + +\definebodyfontenvironment + [6pt] + [ \s!text=6pt, \s!script=5pt, \s!scriptscript=5pt, + \c!x=5pt, \c!xx=5pt, + \c!groot=8pt, \c!klein=5pt] + +\definebodyfontenvironment + [7pt] + [ \s!text=7pt, \s!script=6pt, \s!scriptscript=5pt, + \c!x=6pt, \c!xx=5pt, + \c!groot=9pt, \c!klein=5pt] + +\definebodyfontenvironment + [8pt] + [ \s!text=8pt, \s!script=6pt, \s!scriptscript=5pt, + \c!x=6pt, \c!xx=5pt, + \c!groot=10pt, \c!klein=6pt] + +\definebodyfontenvironment + [9pt] + [ \s!text=9pt, \s!script=7pt, \s!scriptscript=5pt, + \c!x=7pt, \c!xx=5pt, + \c!groot=11pt, \c!klein=7pt] + +\definebodyfontenvironment + [10pt] + [ \s!text=10pt, \s!script=7pt, \s!scriptscript=5pt, + \c!x=8pt, \c!xx=6pt, + \c!groot=12pt, \c!klein=8pt] + +\definebodyfontenvironment + [11pt] + [ \s!text=11pt, \s!script=8pt, \s!scriptscript=6pt, + \c!x=9pt, \c!xx=7pt, + \c!groot=13pt, \c!klein=9pt] + +\definebodyfontenvironment + [12pt] + [ \s!text=12pt, \s!script=9pt, \s!scriptscript=7pt, + \c!x=10pt, \c!xx=8pt, + \c!groot=14pt, \c!klein=10pt] + +\definebodyfontenvironment + [13pt] + [ \s!text=13pt, \s!script=10pt, \s!scriptscript=8pt, + \c!x=11pt, \c!xx=9pt, + \c!groot=16pt, \c!klein=11pt] + +\definebodyfontenvironment + [14pt] + [ \s!text=14pt, \s!script=10pt, \s!scriptscript=7pt, + \c!x=12pt, \c!xx=10pt, + \c!groot=16pt, \c!klein=12pt] + +\definebodyfontenvironment + [16pt] + [ \s!text=16pt, \s!script=12pt, \s!scriptscript=9pt, + \c!x=13pt, \c!xx=11pt, + \c!groot=18pt, \c!klein=14pt] + +\stoptypescript + +\starttypescript [serif] [dtp] [size] + \definebodyfont + [5pt,6pt,7pt,8pt,9pt,10pt,11pt,12pt,13pt,14pt,16pt,18pt,22pt,28pt] + [rm] [default] +\stoptypescript + +\starttypescript [sans] [dtp] [size] + \definebodyfont + [5pt,6pt,7pt,8pt,9pt,10pt,11pt,12pt,13pt,14pt,16pt,18pt,22pt,28pt] + [ss] [default] +\stoptypescript + +\starttypescript [mono] [dtp] [size] + \definebodyfont + [5pt,6pt,7pt,8pt,9pt,10pt,11pt,12pt,13pt,14pt,16pt,18pt,22pt,28pt] + [tt] [default] +\stoptypescript + +\starttypescript [math] [dtp] [size] + \definebodyfont + [5pt,6pt,7pt,8pt,9pt,10pt,11pt,12pt,13pt,14pt,16pt,18pt,22pt,28pt] + [mm] [default] +\stoptypescript + +\starttypescript [boldmath] [dtp] [size] + \definebodyfont + [5pt,6pt,7pt,8pt,9pt,10pt,11pt,12pt,13pt,14pt,16pt,18pt,22pt,28pt] + [mm] [boldmath] +\stoptypescript + +\starttypescript [serif] [computer-modern] [size] + +\definebodyfont [12pt] [rm] + [tf=cmr12, + bf=cmbx12, + it=cmti12, + sl=cmsl12, + bi=cmbxti10 at 12pt, + bs=cmbxsl10 at 12pt, + sc=cmcsc10 at 12pt] + +\definebodyfont [11pt] [rm] + [tf=cmr10 at 11pt, + bf=cmbx10 at 11pt, + sl=cmsl10 at 11pt, + it=cmti10 at 11pt, + bi=cmbxti10 at 11pt, + bs=cmbxsl10 at 11pt, + sc=cmcsc10 at 11pt] + +\definebodyfont [10pt] [rm] + [tf=cmr10, + bf=cmbx10, + it=cmti10, + sl=cmsl10, + bi=cmbxti10, + bs=cmbxsl10, + sc=cmcsc10] + +\definebodyfont [9pt] [rm] + [tf=cmr9, + bf=cmbx9, + it=cmti9, + sl=cmsl9, + bi=cmbxti10 at 9pt, + bs=cmbxsl10 at 9pt, + sc=cmcsc10 at 9pt] + +\definebodyfont [8pt] [rm] + [tf=cmr8, + bf=cmbx8, + it=cmti8, + sl=cmsl8, + bi=cmbxti10 at 8pt, + bs=cmbxsl10 at 8pt, + sc=cmcsc10 at 8pt] + +\definebodyfont [7pt] [rm] + [tf=cmr7, + bf=cmbx7, + it=cmti10 at 7pt, + sl=cmsl10 at 7pt, + bi=cmbxti10 at 7pt, + bs=cmbxsl10 at 7pt, + sc=cmcsc10 at 7pt] + +\definebodyfont [6pt] [rm] + [tf=cmr6, + bf=cmbx6, + it=cmti10 at 6pt, + sl=cmsl10 at 6pt, + bi=cmbxti10 at 6pt, + bs=cmbxsl10 at 6pt, + sc=cmcsc10 at 6pt] + +\definebodyfont [5pt] [rm] + [tf=cmr5, + bf=cmbx5, + it=cmti10 at 5pt, + sl=cmsl10 at 5pt, + bi=cmbxti10 at 5pt, + bs=cmbxsl10 at 5pt, + sc=cmcsc10 at 5pt] + +\definebodyfont [4pt] [rm] + [tf=cmr10 at 4pt, + bf=cmbx10 at 4pt, + it=cmti10 at 4pt, + sl=cmsl10 at 4pt, + bi=cmbxti10 at 4pt, + bs=cmbxsl10 at 4pt, + sc=cmr10 at 4pt] + +\definebodyfont [14.4pt,17.3pt,20.7pt] [rm] + [tf=cmr12 sa 1, + bf=cmbx12 sa 1, + it=cmti12 sa 1, + sl=cmsl12 sa 1, + bi=cmbxti10 sa 1, + bs=cmbxsl10 sa 1, + sc=cmcsc10 sa 1] + +\stoptypescript + +\starttypescript [sans] [computer-modern] [size] + +\definebodyfont [12pt] [ss] + [tf=cmss12, + bf=cmssbx10 at 12pt, + it=cmssi12, + sl=cmssi12, + bi=cmssbx10 at 12pt, + bs=cmssbx10 at 12pt, + sc=cmss10 at 12pt] + +\definebodyfont [11pt] [ss] + [tf=cmss10 at 11pt, + bf=cmssbx10 at 11pt, + it=cmssi10 at 11pt, + sl=cmssi10 at 11pt, + bi=cmssbx10 at 11pt, + bs=cmssbx10 at 11pt, + sc=cmss10 at 11pt] + +\definebodyfont [10pt] [ss] + [tf=cmss10, + bf=cmssbx10, + it=cmssi10, + sl=cmssi10, + bi=cmssbx10, + bs=cmssbx10, + sc=cmss10] + +\definebodyfont [9pt] [ss] + [tf=cmss9, + bf=cmssbx10 at 9pt, + it=cmssi9, + sl=cmssi9, + bi=cmssbx10 at 9pt, + bs=cmssbx10 at 9pt, + sc=cmss9] + +\definebodyfont [8pt] [ss] + [tf=cmss8, + bf=cmssbx10 at 8pt, + it=cmssi8, + sl=cmssi8, + bi=cmssbx10 at 8pt, + bs=cmssbx10 at 8pt, + sc=cmss8] + +\definebodyfont [7pt] [ss] + [tf=cmss10 at 7pt, + bf=cmssbx10 at 7pt, + it=cmssi10 at 7pt, + sl=cmssi10 at 7pt, + bs=cmssbx10 at 7pt, + bi=cmssbx10 at 7pt, + sc=cmss10 at 7pt] + +\definebodyfont [6pt] [ss] + [tf=cmss10 at 6pt, + bf=cmssbx10 at 6pt, + it=cmssi10 at 6pt, + sl=cmssi10 at 6pt, + bs=cmssbx10 at 6pt, + bi=cmssbx10 at 6pt, + sc=cmss10 at 6pt] + +\definebodyfont [5pt] [ss] + [tf=cmss10 at 5pt, + bf=cmssbx10 at 5pt, + it=cmssi10 at 5pt, + sl=cmssi10 at 5pt, + bs=cmssbx10 at 5pt, + bi=cmssbx10 at 5pt, + sc=cmss10 at 5pt] + +\definebodyfont [4pt] [ss] + [tf=cmss10 at 4pt, + bf=cmssbx10 at 4pt, + it=cmssi10 at 4pt, + sl=cmssi10 at 4pt, + bs=cmssbx10 at 4pt, + bi=cmssbx10 at 4pt, + sc=cmss10 at 4pt] + +\definebodyfont [14.4pt,17.3pt,20.7pt] [ss] + [tf=cmss12 sa 1, + bf=cmssbx10 sa 1, + it=cmssi12 sa 1, + sl=cmssi12 sa 1, + bi=cmssbx10 sa 1, + bs=cmssbx10 sa 1, + sc=cmss12 sa 1] + +\stoptypescript + +\starttypescript [mono] [computer-modern] [size] + +\definebodyfont [12pt] [tt] + [tf=cmtt12, + sl=cmsltt10 at 12pt, + it=cmitt10 at 12pt] + +\definebodyfont [11pt] [tt] + [tf=cmtt10 at 11pt, + sl=cmsltt10 at 11pt, + it=cmitt10 at 11pt] + +\definebodyfont [10pt] [tt] + [tf=cmtt10, + sl=cmsltt10, + it=cmitt10] + +\definebodyfont [9pt] [tt] + [tf=cmtt9, + sl=cmsltt10 at 9pt, + it=cmitt10 at 9pt] + +\definebodyfont [8pt] [tt] + [tf=cmtt8, + sl=cmsltt10 at 8pt, + it=cmitt10 at 8pt] + +\definebodyfont [7pt] [tt] + [tf=cmtt10 at 7pt, + sl=cmsltt10 at 7pt, + it=cmitt10 at 7pt] + +\definebodyfont [6pt] [tt] + [tf=cmtt10 at 6pt, + sl=cmsltt10 at 6pt, + it=cmitt10 at 6pt] + +\definebodyfont [5pt] [tt] + [tf=cmtt10 at 5pt, + sl=cmsltt10 at 5pt, + it=cmitt10 at 5pt] + +\definebodyfont [4pt] [tt] + [tf=cmtt10 at 4pt, + sl=cmsltt10 at 4pt, + it=cmitt10 at 4pt] + +\definebodyfont [14.4pt,17.3pt,20.7pt] [tt] + [tf=cmtt12 sa 1, + sl=cmsltt10 sa 1, + it=cmitt10 sa 1] + +\stoptypescript + +\starttypescript [math] [computer-modern] [size] + +\definebodyfont [12pt] [mm] + [mr=xcmr12, + ex=cmex10 at 12pt, + mi=cmmi12, + sy=cmsy10 at 12pt] + +\definebodyfont [11pt] [mm] + [mr=xcmr10 at 11pt, + ex=cmex10 at 11pt, + mi=cmmi10 at 11pt, + sy=cmsy10 at 11pt] + +\definebodyfont [10pt] [mm] + [mr=xcmr10, + ex=cmex10, + mi=cmmi10, + sy=cmsy10] + +\definebodyfont [9pt] [mm] + [mr=xcmr9, + ex=cmex10 at 9pt, + mi=cmmi9, + sy=cmsy9] + +\definebodyfont [8pt] [mm] + [mr=xcmr8, + ex=cmex10 at 8pt, + mi=cmmi8, + sy=cmsy8] + +\definebodyfont [7pt] [mm] + [mr=xcmr7, + ex=cmex10 at 7pt, + mi=cmmi7, + sy=cmsy7] + +\definebodyfont [6pt] [mm] + [mr=xcmr6, + ex=cmex10 at 6pt, + mi=cmmi6, + sy=cmsy6] + +\definebodyfont [5pt] [mm] + [mr=xcmr5, + ex=cmex10 at 5pt, + mi=cmmi5, + sy=cmsy5] + +\definebodyfont [4pt] [mm] + [mr=xcmr5 at 4pt, + ex=cmex10 at 4pt, + mi=cmmi5 at 4pt, + sy=cmsy5 at 4pt] + +\definebodyfont [14.4pt,17.3pt,20.7pt] [mm] + [mr=xcmr12 sa 1, + ex=cmex10 sa 1, + mi=cmmi12 sa 1, + sy=cmsy10 sa 1] + +% hack to prevent mapping of filenames, watch the space! + +\definefontsynonym[xcmr12][cmr12 ] +\definefontsynonym[xcmr10][cmr10 ] +\definefontsynonym[xcmr9] [cmr9 ] +\definefontsynonym[xcmr8] [cmr8 ] +\definefontsynonym[xcmr7] [cmr7 ] +\definefontsynonym[xcmr6] [cmr6 ] +\definefontsynonym[xcmr5] [cmr5 ] + +\stoptypescript + +\starttypescript [serif] [concrete] [size] + +\definebodyfont [10pt,11pt,12pt,14.4pt,17.3pt] [rm] + [tf=ccr10 sa 1, + it=ccti10 sa 1, + sl=ccsl10 sa 1, + sc=cccsc10 sa 1] + +\definebodyfont [5pt,6pt,7pt,8pt,9pt] [rm] + [it=ccr9 sa 1, + sl=ccr9 sa 1, + sc=ccr9 sa 1] + +\definebodyfont [9pt] [rm] [tf=ccr9] +\definebodyfont [8pt] [rm] [tf=ccr8] +\definebodyfont [7pt] [rm] [tf=ccr7] +\definebodyfont [6pt] [rm] [tf=ccr6] +\definebodyfont [5pt] [rm] [tf=ccr5] + +\stoptypescript + +\starttypescript [math] [euler] [size] + +\definebodyfont [12pt,11pt,10pt,9pt] [mm] + [mi=eurm10 sa 1, + ex=euex10 sa 1, + ma=euex10 sa 1, + mb=eusm10 sa 1, + mc=eufm10 sa 1] + +\definebodyfont [8pt,7pt,6pt,5pt] [mm] + [ex=euex10 sa 1, + ma=euex10 sa 1] + +\definebodyfont [8pt,7pt,6pt] [mm] + [mi=eurm7 sa 1, + mb=eusm7 sa 1, + mc=eufm7 sa 1] + +\definebodyfont [5pt] [mm] + [mi=eurm5, + mb=eusm5, + mc=eufm5] + +\stoptypescript + +\starttypescript [math] [ams] [size] + \definebodyfont [17.3pt,14.4pt,12pt,11pt,10pt,9pt] [mm] + [ma=msam10 sa 1, + mb=msam10 sa 1] + \definebodyfont [8pt,7pt] [mm] + [ma=msam7 sa 1, + mb=msbm7 sa 1] + \definebodyfont [6pt,5pt,4pt] [mm] + [ma=msam5 sa 1, + mb=msbm5 sa 1] +\stoptypescript + +% math times + +\starttypescript [math] [times] [size] + +\mapfontsize [5pt] [6.0pt] +\mapfontsize [6pt] [6.8pt] +\mapfontsize [7pt] [7.6pt] +\mapfontsize [8pt] [8.4pt] +\mapfontsize [9pt] [9.2pt] +\mapfontsize [10pt] [10pt] +\mapfontsize [11pt] [10.8pt] +\mapfontsize [12pt] [11.6pt] +\mapfontsize [14.4pt] [13.2pt] + +\stoptypescript + +\protect \endinput diff --git a/tex/context/base/type-spe.tex b/tex/context/base/type-spe.tex new file mode 100644 index 000000000..03c49f8c3 --- /dev/null +++ b/tex/context/base/type-spe.tex @@ -0,0 +1,38 @@ +%D \module +%D [ file=type-spe, +%D version=2001.04.12, +%D title=\CONTEXT\ Typescript Macros, +%D subtitle=Special scripts, +%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. + +\starttypescript [mono] [courier,lucida] [special] + \def\controlspace{\getglyph{ComputerModernMono}{\char32}} +\stoptypescript + +\starttypescript [math] [computer-modern] [special] + \usemathcollection[default] +\stoptypescript + +\starttypescript [math] [lucida] [special] + \usemathcollection[lbr] +\stoptypescript + +\starttypescript [math] [ams] [special] + \usemathcollection[ams] +\stoptypescript + +\starttypescript [math] [times] [special] + \usemathcollection[tim] +\stoptypescript + +\starttypescript [math] [euler] [special] + \usemathcollection[eul] +\stoptypescript + +\endinput diff --git a/tex/context/base/type-syn.tex b/tex/context/base/type-syn.tex new file mode 100644 index 000000000..96ee5a665 --- /dev/null +++ b/tex/context/base/type-syn.tex @@ -0,0 +1,274 @@ +%D \module +%D [ file=type-syn, +%D version=2001.04.12, +%D title=\CONTEXT\ Typescript Macros, +%D subtitle=Filename scripts, +%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. + +% Computer Modern Roman : Donald Knuth + +\starttypescript [serif] [computer-modern] [name] + \definefontsynonym [Serif] [ComputerModern] + \definefontsynonym [SerifBold] [ComputerModern-Bold] + \definefontsynonym [SerifItalic] [ComputerModern-Italic] + \definefontsynonym [SerifSlanted] [ComputerModern-Slanted] + \definefontsynonym [SerifBoldItalic] [ComputerModern-BoldItalic] + \definefontsynonym [SerifBoldSlanted] [ComputerModern-BoldSlanted] + \definefontsynonym [SerifCaps] [ComputerModern-Caps] +\stoptypescript + +\starttypescript [sans] [computer-modern] [name] + \definefontsynonym [Sans] [ComputerModernSans] + \definefontsynonym [SansBold] [ComputerModernSans-Bold] + \definefontsynonym [SansItalic] [ComputerModernSans-Italic] + \definefontsynonym [SansSlanted] [ComputerModernSans-Slanted] + \definefontsynonym [SansBoldItalic] [ComputerModernSans-BoldItalic] + \definefontsynonym [SansBoldSlanted] [ComputerModernSans-BoldSlanted] + \definefontsynonym [SansCaps] [ComputerModernSans-Caps] +\stoptypescript + +\starttypescript [mono] [computer-modern] [name] + \definefontsynonym [Mono] [ComputerModernMono] + \definefontsynonym [MonoBold] [ComputerModernMono-Bold] + \definefontsynonym [MonoItalic] [ComputerModernMono-Italic] + \definefontsynonym [MonoSlanted] [ComputerModernMono-Slanted] + \definefontsynonym [MonoBoldItalic] [ComputerModernMono-BoldItalic] + \definefontsynonym [MonoBoldSlanted] [ComputerModernMono-BoldSlanted] + \definefontsynonym [MonoCaps] [ComputerModernMono-Caps] +\stoptypescript + +\starttypescript [math] [computer-modern] [name] + \definefontsynonym [MathRoman] [ComputerModernMath-Roman] + \definefontsynonym [MathExtension] [ComputerModernMath-Extension] + \definefontsynonym [MathItalic] [ComputerModernMath-Italic] + \definefontsynonym [MathSymbol] [ComputerModernMath-Symbol] +\stoptypescript + +% This will change some day. + +\starttypescript [math] [computer-modern] [name] + \definefontsynonym [OldStyle] [MathItalic] + \definefontsynonym [Fraktur] [eufm10] + \definefontsynonym [Gothic] [eufm10] + \definefontsynonym [Calligraphic] [cmsy10] +\stoptypescript + +% Concrete Modern Roman : Donald Knuth + +\starttypescript [serif] [concrete] [name] + \definefontsynonym [Serif] [ComputerConcrete] + \definefontsynonym [SerifBold] [ComputerConcrete] + \definefontsynonym [SerifItalic] [ComputerConcrete-Italic] + \definefontsynonym [SerifSlanted] [ComputerConcrete-Slanted] + \definefontsynonym [SerifBoldItalic] [ComputerConcrete-Italic] + \definefontsynonym [SerifBoldSlanted] [ComputerConcrete-Slanted] + \definefontsynonym [SerifCaps] [ComputerConcrete-Caps] +\stoptypescript + +% Euler : Hermann Zapf + +\starttypescript [math] [euler] [name] + \definefontsynonym [MathExtension] [Euler-Extension] + \definefontsynonym [MathItalic] [Euler-Italic] + \definefontsynonym [MathAlpha] [Euler-SymbolA] + \definefontsynonym [MathBeta] [Euler-SymbolB] + \definefontsynonym [MathGamma] [Euler-SymbolC] +\stoptypescript + +% American Math Society : Michael Spivak + +\starttypescript [math] [ams] [name] + \definefontsynonym [MathAlpha] [AMS-SymbolA] + \definefontsynonym [MathBeta] [AMS-SymbolB] +\stoptypescript + +% Lucida Bright : Biggelow and Holmes + +\starttypescript [serif] [lucida] [name] + \definefontsynonym [Serif] [LucidaBright] + \definefontsynonym [SerifBold] [LucidaBright-Demi] + \definefontsynonym [SerifItalic] [LucidaBright-Italic] + \definefontsynonym [SerifSlanted] [LucidaBright-Oblique] + \definefontsynonym [SerifBoldItalic] [LucidaBright-DemiItalic] + \definefontsynonym [SerifBoldSlanted] [LucidaBright-DemiItalic] + \definefontsynonym [SerifCaps] [LucidaBrightSmallcaps] + \definefontsynonym [OldStyle] [MathItalic] +\stoptypescript + +\starttypescript [sans] [lucida] [name] + \definefontsynonym [Sans] [LucidaSans] + \definefontsynonym [SansBold] [LucidaSans-Demi] + \definefontsynonym [SansItalic] [LucidaSans-Italic] + \definefontsynonym [SansSlanted] [LucidaSans-Italic] + \definefontsynonym [SansBoldItalic] [LucidaSans-DemiItalic] + \definefontsynonym [SansBoldSlanted] [LucidaSans-DemiItalic] + \definefontsynonym [SansCaps] [LucidaSans] +\stoptypescript + +\starttypescript [mono] [lucida] [name] + \definefontsynonym [Mono] [LucidaSans-Typewriter] + \definefontsynonym [MonoBold] [LucidaSans-TypewriterBold] + \definefontsynonym [MonoItalic] [LucidaSans-TypewriterOblique] + \definefontsynonym [MonoSlanted] [LucidaSans-TypewriterOblique] + \definefontsynonym [MonoBoldItalic] [LucidaSans-TypewriterBoldOblique] + \definefontsynonym [MonoBoldSlanted] [LucidaSans-TypewriterBoldOblique] + \definefontsynonym [MonoCaps] [LucidaSans-Typewriter] +\stoptypescript + +\starttypescript [math] [lucida] [name] + \definefontsynonym [MathRoman] [LucidaBright] + \definefontsynonym [MathExtension] [LucidaNewMath-Extension] + \definefontsynonym [MathItalic] [LucidaNewMath-AltItalic] + \definefontsynonym [MathSymbol] [LucidaNewMath-Symbol] + \definefontsynonym [MathAlpha] [LucidaNewMath-Arrows] +\stoptypescript + +\starttypescript [boldmath] [lucida] [name] + \definefontsynonym [MathRomanBold] [LucidaBright-Demi] + \definefontsynonym [MathExtensionBold] [LucidaNewMath-Extension] + \definefontsynonym [MathItalicBold] [LucidaNewMath-AltDemiItalic] + \definefontsynonym [MathSymbolBold] [LucidaNewMath-Symbol-Demi] + \definefontsynonym [MathAlphaBold] [LucidaNewMath-Arrows-Demi] +\stoptypescript + +\starttypescript [handwriting] [lucida] [name] + \definefontsynonym [Handwriting] [LucidaHandwriting-Italic] +\stoptypescript + +\starttypescript [calligraphy] [lucida] [name] + \definefontsynonym [Calligraphy] [LucidaCalligraphy-Italic] +\stoptypescript + +% Informal + +\starttypescript [casual] [informal] [name] + \definefontsynonym [Serif] [Informal-Regular] + \definefontsynonym [SerifBold] [Informal-Bold] + \definefontsynonym [SerifSlanted] [Informal-Oblique] + \definefontsynonym [SerifItalic] [Informal-Oblique] + \definefontsynonym [SerifBoldSlanted] [Informal-BoldOblique] + \definefontsynonym [SerifBoldItalic] [Informal-BoldOblique] + \definefontsynonym [SerifCaps] [Informal-Regular] +\stoptypescript + +\starttypescript [math] [informal] [name] + \definefontsynonym [MathRoman] [Informal-Regular] + \definefontsynonym [MathExtension] [Informal-MathExtendedSymbols] + \definefontsynonym [MathItalic] [Informal-MathItalics] + \definefontsynonym [MathSymbol] [Informal-MathSymbols] +\stoptypescript + +% Antykwa Torunska : + +\starttypescript [serif] [antykwa-torunska] [name] + \definefontsynonym [Serif] [AntykwaTorunska-Regular] + \definefontsynonym [SerifBold] [AntykwaTorunska-Bold] + \definefontsynonym [SerifItalic] [AntykwaTorunska-Italic] + \definefontsynonym [SerifSlanted] [AntykwaTorunska-Italic] + \definefontsynonym [SerifBoldItalic] [AntykwaTorunska-Bold] + \definefontsynonym [SerifBoldSlanted] [AntykwaTorunska-Bold] + \definefontsynonym [SerifCaps] [AntykwaTorunska-Regular] +\stoptypescript + +% Baskerville : + +\starttypescript [serif] [baskerville] [name] + \definefontsynonym [Serif] [Baskerville] + \definefontsynonym [SerifBold] [Baskerville-Bold] + \definefontsynonym [SerifItalic] [Baskerville-Italic] + \definefontsynonym [SerifSlanted] [Baskerville-Italic] + \definefontsynonym [SerifBoldItalic] [Baskerville-BoldItalic] + \definefontsynonym [SerifBoldSlanted] [Baskerville-BoldItalic] + \definefontsynonym [SerifCaps] [Baskerville] +\stoptypescript + +% Garamond : + +\starttypescript [serif] [garamond] [name] + \definefontsynonym [Serif] [Garamond-Normal] + \definefontsynonym [SerifBold] [Garamond] + \definefontsynonym [SerifItalic] [Garamond-Medium-Italic] + \definefontsynonym [SerifSlanted] [Garamond-Medium-Italic] + \definefontsynonym [SerifBoldItalic] [Garamond-Medium-Italic] + \definefontsynonym [SerifBoldSlanted] [Garamond-Medium-Italic] + \definefontsynonym [SerifCaps] [Garamond] +\stoptypescript + +% Times : + +\starttypescript [serif] [times] [name] + \definefontsynonym [Serif] [Times-Roman] + \definefontsynonym [SerifBold] [Times-Bold] + \definefontsynonym [SerifItalic] [Times-Italic] + \definefontsynonym [SerifSlanted] [Times-Italic] + \definefontsynonym [SerifBoldItalic] [Times-BoldItalic] + \definefontsynonym [SerifBoldSlanted] [Times-BoldItalic] + \definefontsynonym [SerifCaps] [Times-Roman] +\stoptypescript + +\starttypescript [math] [times] [name] + \definefontsynonym [MathRoman] [Times-MathRoman] + \definefontsynonym [MathExtension] [Times-MathExtension] + \definefontsynonym [MathItalic] [Times-MathItalic] + \definefontsynonym [MathSymbol] [Times-MathSymbol] +\stoptypescript + +% Helvetica : + +\starttypescript [sans] [helvetica] [name] + \definefontsynonym [Sans] [Helvetica] + \definefontsynonym [SansBold] [Helvetica-Bold] + \definefontsynonym [SansItalic] [Helvetica-Oblique] + \definefontsynonym [SansSlanted] [Helvetica-Oblique] + \definefontsynonym [SansBoldItalic] [Helvetica-BoldOblique] + \definefontsynonym [SansBoldSlanted] [Helvetica-BoldOblique] + \definefontsynonym [SansCaps] [Helvetica] +\stoptypescript + +\starttypescript [math] [helvetica] [name] + \definefontsynonym [MathRoman] [Helvetica-MathRoman] + \definefontsynonym [MathExtension] [Helvetica-MathExtendedSymbols] + \definefontsynonym [MathItalic] [Helvetica-MathItalics] + \definefontsynonym [MathSymbol] [Helvetica-MathSymbols] +\stoptypescript + +% Courier : + +\starttypescript [sans] [courier] [name] + \definefontsynonym [Mono] [Courier] + \definefontsynonym [MonoBold] [Courier-Bold] + \definefontsynonym [MonoItalic] [Courier-Oblique] + \definefontsynonym [MonoSlanted] [Courier-Oblique] + \definefontsynonym [MonoBoldItalic] [Courier-BoldOblique] + \definefontsynonym [MonoBoldSlanted] [Courier-BoldOblique] + \definefontsynonym [MonoCaps] [Courier] +\stoptypescript + +% Palatino : Hermann Zapf + +\starttypescript [serif] [palatino] [name] + \definefontsynonym [Serif] [Palatino] + \definefontsynonym [SerifBold] [Palatino-Bold] + \definefontsynonym [SerifItalic] [Palatino-Italic] + \definefontsynonym [SerifSlanted] [Palatino-Slanted] + \definefontsynonym [SerifBoldItalic] [Palatino-BoldItalic] + \definefontsynonym [SerifBoldSlanted] [Palatino-BoldSlanted] + \definefontsynonym [SerifCaps] [Palatino] +\stoptypescript + +\starttypescript [math] [palatino] [name] + \definefontsynonym [MathRoman] [Palatino-Roman-Upright] + \definefontsynonym [MathExtension] [Palatino-Math-Extension] + \definefontsynonym [MathItalic] [Palatino-Math-Italic] + \definefontsynonym [MathSymbol] [Palatino-Math-Symbols] + \definefontsynonym [MathAlpha] [Palatino-Math-SymbolsA] + \definefontsynonym [MathBeta] [Palatino-Math-SymbolsB] +\stoptypescript + +\endinput diff --git a/tex/context/base/verb-ini.tex b/tex/context/base/verb-ini.tex index ce6ff8d90..7e7f23fcf 100644 --- a/tex/context/base/verb-ini.tex +++ b/tex/context/base/verb-ini.tex @@ -876,11 +876,13 @@ \skipfirstverbatimlinefalse \initializeverbatimline \def\readline% - {\ifx\firstverbatimfileline\empty - \read\verbatiminput to \verbatimline - \else - \let\verbatimline\firstverbatimfileline - \let\firstverbatimfileline\empty + {\ifeof\verbatiminput \else + \ifx\firstverbatimfileline\empty + \read\verbatiminput to \verbatimline + \else + \let\verbatimline\firstverbatimfileline + \let\firstverbatimfileline\empty + \fi \fi \ifeof\verbatiminput \ifx\lastverbatimfileline\empty diff --git a/tex/context/base/x-fig-00.tex b/tex/context/base/x-fig-00.tex index 8f6899c49..4d80e3653 100644 --- a/tex/context/base/x-fig-00.tex +++ b/tex/context/base/x-fig-00.tex @@ -143,7 +143,7 @@ \def\usefigurebase[#1]% {\doifelse{#1}{\v!reset} {\let\figurebaselist\empty} - {\appendcommacommand{#1}\figurebaselist}} + {\appendtocommalist{#1}\figurebaselist}} \endinput diff --git a/tex/context/base/xtag-ini.tex b/tex/context/base/xtag-ini.tex index a34a233c3..1b6f98cfe 100644 --- a/tex/context/base/xtag-ini.tex +++ b/tex/context/base/xtag-ini.tex @@ -790,14 +790,14 @@ % partially defined here -\fetchruntimecommand\showXMLfile {\f!xtagprefix vis} -\fetchruntimecommand\showXMLbuffer{\f!xtagprefix vis} - -\fetchruntimecommand\showXMLtxt {\f!xtagprefix vis} -\fetchruntimecommand\showXMLpar {\f!xtagprefix vis} -\fetchruntimecommand\showXMLlin {\f!xtagprefix vis} -\fetchruntimecommand\showXMLwrd {\f!xtagprefix vis} -\fetchruntimecommand\showXMLemp {\f!xtagprefix vis} +\fetchruntimecommand\showXMLfile {\f!xtagprefix\s!run} +\fetchruntimecommand\showXMLbuffer{\f!xtagprefix\s!run} + +\fetchruntimecommand\showXMLtxt {\f!xtagprefix\s!run} +\fetchruntimecommand\showXMLpar {\f!xtagprefix\s!run} +\fetchruntimecommand\showXMLlin {\f!xtagprefix\s!run} +\fetchruntimecommand\showXMLwrd {\f!xtagprefix\s!run} +\fetchruntimecommand\showXMLemp {\f!xtagprefix\s!run} %D \type %D {processXMLbuffer} diff --git a/tex/context/base/xtag-run.tex b/tex/context/base/xtag-run.tex new file mode 100644 index 000000000..234238f4f --- /dev/null +++ b/tex/context/base/xtag-run.tex @@ -0,0 +1,122 @@ +%D \module +%D [ file=xtag-vis, +%D version=2001.01.10, +%D title=\CONTEXT\ XML Support, +%D subtitle=Visualization, +%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. + +\writestatus{loading}{Context XML Macros (visualization)} + +\unprotect + +\bgroup + +\catcode`\.=\@@escape +.catcode`.B=.@@begingroup +.catcode`.E=.@@endgroup +.catcode`.#=.@@active +.catcode`.$=.@@active +.catcode`.%=.@@active +.catcode`.\=.@@active +.catcode`.^=.@@active +.catcode`._=.@@active +.catcode`.{=.@@active +.catcode`.}=.@@active +.catcode`.|=.@@active +.catcode`.~=.@@active + +.gdef.verbatimXML + B.catcode`.#=.@@active .let#.letterhash + .catcode`.$=.@@active .let$.dollar + .catcode`.%=.@@active .let%.percent + .catcode`.\=.@@active .let\.letterbackslash + .catcode`.^=.@@active .let^.letterhat + .catcode`._=.@@active .let_.letterunderscore + .catcode`.{=.@@active .let{.leftargument + .catcode`.}=.@@active .let}.rightargument + .catcode`.|=.@@active .let|.letterbar + .catcode`.~=.@@active .let~.lettertilde + E + +.egroup + +\definepalet + [xtag] + [0=darkgreen, + 1=darkred, + 2=darkblue, + 3=darkgray] + +\newcount\XMLlevel + +\def\@XMLindent#1% +% {\ifnum\XMLlevel>0\advance\leftskip#11em\relax\fi} + {\advance\leftskip#11em\relax} + +\def\@XMLlevel#1% + {\advance\XMLlevel#11\relax} + +\def\@XMLentity#1% + {\noindent + \hbox + {\localcolortrue + \startcolormode{xtag:3}\string\stopcolormode}} + +\def\@XMLelement#1% + {\ifhmode\unskip\fi + \noindent + \hbox + {\localcolortrue + \DoMod\XMLlevel by3to\scratchcounter + \startcolormode{xtag:\number\scratchcounter}\string<\currentXMLelement\stopcolormode + \ifcase#1\or\ifx\currentXMLarguments\empty\else + \startcolormode{xtag:3}\hskip.5em\currentXMLarguments\unskip\stopcolormode + \fi\fi + \startcolormode{xtag:\number\scratchcounter}\string>\stopcolormode}% + \ignorespaces} + +\def\nextXMLtext{\blank\@XMLlevel+\@XMLelement1\par} +\def\prevXMLtext{\par\@XMLelement0\par\@XMLlevel-\blank} +\def\nextXMLpara{\nextXMLline\par} +\def\prevXMLpara{\par\prevXMLline} +\def\nextXMLline{\par\@XMLlevel+\@XMLindent+\@XMLelement1} +\def\prevXMLline{\@XMLelement0\par\@XMLlevel-\@XMLindent-} +\def\nextXMLword{\@XMLlevel+\@XMLelement1} +\def\prevXMLword{\@XMLelement0\@XMLlevel-} + +\def\someXMLword{\@XMLlevel+\@XMLelement1\@XMLlevel-} + +\def\setXMLshow#1#2#3[#4]% + {\def\docommando##1{#1[##1]#2#3}\processcommalist[#4]\docommando} + +\def\showXMLtxt{\setXMLshow\defineXMLenvironment\nextXMLtext\prevXMLtext} +\def\showXMLpar{\setXMLshow\defineXMLenvironment\nextXMLpara\prevXMLpara} +\def\showXMLlin{\setXMLshow\defineXMLenvironment\nextXMLline\prevXMLline} +\def\showXMLwrd{\setXMLshow\defineXMLenvironment\nextXMLword\prevXMLword} +\def\showXMLemp{\setXMLshow\defineXMLsingular\someXMLword\relax} + +\def\showXMLfile#1% + {{\tttf\dontcomplain + \let\executeXMLentity\@XMLentity + \enableXML\verbatimXML + \processfile{#1}}} + +\def\showXMLbuffer% + {\dosingleempty\doshowXMLbuffer} + +\def\doshowXMLbuffer[#1]% + {\doifelsenothing{#1} + {\doshowXMLbuffer[\jobname]} + {\bgroup + \def\dodoprocessXMLbuffer##1% + {\showXMLfile{\TEXbufferfile{##1}}}% + \processcommalist[#1]\dodoprocessXMLbuffer + \egroup}} + +\protect \endinput diff --git a/tex/context/base/xtag-vis.tex b/tex/context/base/xtag-vis.tex deleted file mode 100644 index 234238f4f..000000000 --- a/tex/context/base/xtag-vis.tex +++ /dev/null @@ -1,122 +0,0 @@ -%D \module -%D [ file=xtag-vis, -%D version=2001.01.10, -%D title=\CONTEXT\ XML Support, -%D subtitle=Visualization, -%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. - -\writestatus{loading}{Context XML Macros (visualization)} - -\unprotect - -\bgroup - -\catcode`\.=\@@escape -.catcode`.B=.@@begingroup -.catcode`.E=.@@endgroup -.catcode`.#=.@@active -.catcode`.$=.@@active -.catcode`.%=.@@active -.catcode`.\=.@@active -.catcode`.^=.@@active -.catcode`._=.@@active -.catcode`.{=.@@active -.catcode`.}=.@@active -.catcode`.|=.@@active -.catcode`.~=.@@active - -.gdef.verbatimXML - B.catcode`.#=.@@active .let#.letterhash - .catcode`.$=.@@active .let$.dollar - .catcode`.%=.@@active .let%.percent - .catcode`.\=.@@active .let\.letterbackslash - .catcode`.^=.@@active .let^.letterhat - .catcode`._=.@@active .let_.letterunderscore - .catcode`.{=.@@active .let{.leftargument - .catcode`.}=.@@active .let}.rightargument - .catcode`.|=.@@active .let|.letterbar - .catcode`.~=.@@active .let~.lettertilde - E - -.egroup - -\definepalet - [xtag] - [0=darkgreen, - 1=darkred, - 2=darkblue, - 3=darkgray] - -\newcount\XMLlevel - -\def\@XMLindent#1% -% {\ifnum\XMLlevel>0\advance\leftskip#11em\relax\fi} - {\advance\leftskip#11em\relax} - -\def\@XMLlevel#1% - {\advance\XMLlevel#11\relax} - -\def\@XMLentity#1% - {\noindent - \hbox - {\localcolortrue - \startcolormode{xtag:3}\string\stopcolormode}} - -\def\@XMLelement#1% - {\ifhmode\unskip\fi - \noindent - \hbox - {\localcolortrue - \DoMod\XMLlevel by3to\scratchcounter - \startcolormode{xtag:\number\scratchcounter}\string<\currentXMLelement\stopcolormode - \ifcase#1\or\ifx\currentXMLarguments\empty\else - \startcolormode{xtag:3}\hskip.5em\currentXMLarguments\unskip\stopcolormode - \fi\fi - \startcolormode{xtag:\number\scratchcounter}\string>\stopcolormode}% - \ignorespaces} - -\def\nextXMLtext{\blank\@XMLlevel+\@XMLelement1\par} -\def\prevXMLtext{\par\@XMLelement0\par\@XMLlevel-\blank} -\def\nextXMLpara{\nextXMLline\par} -\def\prevXMLpara{\par\prevXMLline} -\def\nextXMLline{\par\@XMLlevel+\@XMLindent+\@XMLelement1} -\def\prevXMLline{\@XMLelement0\par\@XMLlevel-\@XMLindent-} -\def\nextXMLword{\@XMLlevel+\@XMLelement1} -\def\prevXMLword{\@XMLelement0\@XMLlevel-} - -\def\someXMLword{\@XMLlevel+\@XMLelement1\@XMLlevel-} - -\def\setXMLshow#1#2#3[#4]% - {\def\docommando##1{#1[##1]#2#3}\processcommalist[#4]\docommando} - -\def\showXMLtxt{\setXMLshow\defineXMLenvironment\nextXMLtext\prevXMLtext} -\def\showXMLpar{\setXMLshow\defineXMLenvironment\nextXMLpara\prevXMLpara} -\def\showXMLlin{\setXMLshow\defineXMLenvironment\nextXMLline\prevXMLline} -\def\showXMLwrd{\setXMLshow\defineXMLenvironment\nextXMLword\prevXMLword} -\def\showXMLemp{\setXMLshow\defineXMLsingular\someXMLword\relax} - -\def\showXMLfile#1% - {{\tttf\dontcomplain - \let\executeXMLentity\@XMLentity - \enableXML\verbatimXML - \processfile{#1}}} - -\def\showXMLbuffer% - {\dosingleempty\doshowXMLbuffer} - -\def\doshowXMLbuffer[#1]% - {\doifelsenothing{#1} - {\doshowXMLbuffer[\jobname]} - {\bgroup - \def\dodoprocessXMLbuffer##1% - {\showXMLfile{\TEXbufferfile{##1}}}% - \processcommalist[#1]\dodoprocessXMLbuffer - \egroup}} - -\protect \endinput diff --git a/tex/context/extra/setup-qr.tex b/tex/context/extra/setup-qr.tex new file mode 100644 index 000000000..a2636b8a0 --- /dev/null +++ b/tex/context/extra/setup-qr.tex @@ -0,0 +1,178 @@ +% output=pdftex tex=pdfetex modes=cmr,nocover + +% This file is not part of the regular ConTeXt distribution. +% Because this file generates the official ConTeXt command +% references, you may not alter it. +% +% copyright: 19..-2001, Hans Hagen, PRAGMA-ADE, Hasselt NL + +% modes: cmr use cmr fonts +% nocover don't produce a cover page +% +% other modes are supported by the cod driver + +\unprotect + +\startinterface dutch \def\LocalColor{green} \stopinterface +\startinterface english \def\LocalColor{red} \stopinterface +\startinterface german \def\LocalColor{blue} \stopinterface +\startinterface czech \def\LocalColor{magenta} \stopinterface +\startinterface italian \def\LocalColor{cyan} \stopinterface +\startinterface romanian \def\LocalColor{yellow} \stopinterface + +\startuseMPgraphic{cover} + def something = + path p, q; + color localgray, drawcolor, fillcolor, localcolor; + localgray := (.9,.9,.9); + localcolor := \LocalColor ; + p := (0,0)--(200,0)--(200,50)--(0,50)--cycle; + q := (25,25)--(175,25); + dx := uniformdeviate 600; + dy := uniformdeviate 900; + sx := .3+(uniformdeviate .5); + sy := .3+(uniformdeviate .5); + drawcolor := (uniformdeviate 1)[.75localcolor,localcolor]; + fillcolor := (uniformdeviate 1)[.75localgray,localgray]; + rr := uniformdeviate 360; + p := p xscaled sx yscaled sy rotated rr shifted (dx,dy); + q := q xscaled sx yscaled sy rotated rr shifted (dx,dy); + fill p withcolor fillcolor; + ahlength := (.2+sy)*15; + ahangle := (.2+sx)*45; + draw p withpen pencircle scaled 7.5 withcolor drawcolor; + drawarrow q withpen pencircle scaled 7.5 withcolor drawcolor; + enddef; + for i := 1 upto 1000: + something; + endfor; + setbounds currentpicture to unitsquare + xscaled \overlaywidth yscaled \overlayheight; +\stopuseMPgraphic + +\startnotmode[cmr] + +\setupbodyfont[lbr] + +\stopnotmode + +\setupbodyfont + [9pt] + +\setupcolors + [\c!status=\v!start] + +\startnotmode[nocover] + +\defineoverlay + [cover] + [\useMPgraphic{cover}] + +\stopnotmode + +\stellayoutin + [\c!rugwit=2cm, + \c!kopwit=2cm, + \c!hoofd=0cm, + \c!voet=0cm, + \c!marge=0cm, + \c!breedte=\v!passend, + \c!hoogte=\v!passend] + +\stelnummeringin + [\c!status=\v!stop, + \c!variant=\v!dubbelzijdig] + +\input setupa.tex + +\stelsetupin + [\c!criterium=\v!alles, + \c!verwijzing=0] + +\setupframedtexts + [setuptext] + [\c!kader=\v!aan] + +\usemodule[cod-01] + +\input setupb.tex + +\starttekst + +\stelachtergrondenin + [\v!rechterpagina] + [\c!achtergrond=cover] + +\startopmaak[\v!standaard] + \definefont[test][RegularBold at 100pt]\test\setstrut + \steluitlijnenin[\v!midden] + \strut Con\TeX t \par + \definefont[test][RegularBold at 75pt]\test\setstrut + \startinterface dutch \strut commando's \par \stopinterface + \startinterface english \strut commands \par \stopinterface + \startinterface german \strut befehle \par \stopinterface + \startinterface czech \strut prikazy \par \stopinterface + \startinterface italian \strut commands (?) \par \stopinterface + \startinterface romanian \strut comenzile \par \stopinterface + \vfill + \definefont[test][RegularBold at 150pt]\test\setstrut + \startinterface dutch \strut NL \stopinterface + \startinterface english \strut EN \stopinterface + \startinterface german \strut DE \stopinterface + \startinterface czech \strut CZ \stopinterface + \startinterface italian \strut IT \stopinterface + \startinterface romanian \strut RO \stopinterface +\stopopmaak + +\stelachtergrondenin + [\v!rechterpagina] + [\c!achtergrond=] + +\startopmaak[\v!standaard] + \definefont[test][RegularBold at 60pt]\test\setstrut + \steluitlijnenin[\v!midden] + \strut Con\TeX t \par + \vskip24pt + \definefont[test][RegularBold at 45pt]\test\setstrut + \startinterface dutch \strut commando's \par \stopinterface + \startinterface english \strut commands \par \stopinterface + \startinterface german \strut befehle \par \stopinterface + \startinterface czech \strut prikaz\'y \par \stopinterface + \startinterface czech \strut commands (?) \par \stopinterface + \startinterface romanian \strut comenzile \par \stopinterface + \vfill + \strut \currentdate \par + \startinterface dutch \strut nederlands \par \stopinterface + \startinterface english \strut english \par \stopinterface + \startinterface german \strut deutsch \par \stopinterface + \startinterface czech \strut \^cesk\'y \par \stopinterface + \startinterface italian \strut itialiano (?) \par \stopinterface + \startinterface romanian \strut rom\^{a}n\u{a} \par \stopinterface + +\stopopmaak + +\stellayoutin + [\c!kopwit=1.5cm] + +\protect \placesetup \unprotect + +\pagina[\v!ja,\v!blanko,\v!rechts,\v!links] + +\stelachtergrondenin + [\v!linkerpagina] + [\c!achtergrond=cover] + +\stellayoutin + [\c!kopwit=2cm] + +\startopmaak[\v!standaard][\c!pagina=] + \definefont[test][RegularBold at 24pt]\test\stelinterliniein + \steluitlijnenin[\v!midden] + \vfill + PRAGMA ADE \par + Ridderstraat 27, 8061GH Hasselt NL +\stopopmaak + +\protect + +\stoptekst diff --git a/tex/context/sample/douglas.tex b/tex/context/sample/douglas.tex new file mode 100644 index 000000000..643eb123f --- /dev/null +++ b/tex/context/sample/douglas.tex @@ -0,0 +1,23 @@ +Donald Knuth has spent the past several years working on a +system allowing him to control many aspects of the design +of his forthcoming books---from the typesetting and layout +down to the very shapes of the letters! Seldom has an +author had anything remotely like this power to control the +final appearance of his or her work. Knuth's \TEX\ +typesetting system has become well||known and available in +many countries around the world. By contrast, his +\METAFONT\ system for designing families of typefaces has +not become as well known or available. + +In his article \quotation {The Concept of a Meta||Font}, +Knuth sets forth for the first time the underlying +philosophy of \METAFONT, as well as some of its products. +Not only is the concept exiting and clearly well executed, +but in my opinion the article is charmingly written as well. +However, despite my overall enthusiasm for Knuth's idea and +article, there are some points in it that I feel might be +taken wrongly by many readers, and since they are points +that touch close to my deepest interests in artificial +intelligence and esthetic theory, I felt compelled to make +some comments to clarify certain important issues raised by +\quotation {The Concept of a Meta||Font}. diff --git a/tex/context/sample/knuth.tex b/tex/context/sample/knuth.tex new file mode 100644 index 000000000..30b6310cc --- /dev/null +++ b/tex/context/sample/knuth.tex @@ -0,0 +1,16 @@ +Thus, I came to the conclusion that the designer of a new +system must not only be the implementer and first +large||scale user; the designer should also write the first +user manual. + +The separation of any of these four components would have +hurt \TeX\ significantly. If I had not participated fully in +all these activities, literally hundreds of improvements +would never have been made, because I would never have +thought of them or perceived why they were important. + +But a system cannot be successful if it is too strongly +influenced by a single person. Once the initial design is +complete and fairly robust, the real test begins as people +with many different viewpoints undertake their own +experiments. diff --git a/tex/context/sample/materie.tex b/tex/context/sample/materie.tex new file mode 100644 index 000000000..5e2597186 --- /dev/null +++ b/tex/context/sample/materie.tex @@ -0,0 +1,50 @@ +Zaagh, of Steek||zaagh. +Domme||kraght. +Mokers. +Yzere Wiggen. +Brandt||yzer. +Hout||haak. +Spaander||haak. +Een Klaas Jacobzen. +Tange. +Nagel||hamer. +Wigge. +Oor||houten. +Kluften. +Hellen. +Steven||haken. +Hevels en Klein||touwen. +Een Koe||voet. +Schot||bouten. +Yzere ram. +Avegaar. +Een houte Ram. +Een groote Wigge daar toe. +Teer||ketel. +Slyp||steen. +Een Mal. +Rye. +Hout||bok. +Schraagh. +Vlotten. +Een Slee. +Dwars||slee. +Kaap||stander. +Bytels. +Klavaats||hamer. +Rabat||yzer. +Klavaats||yzer. +Spyker||yzer. +Werk||bytel. +Duim||stok. +Schraper. +Een Moker. +Spyker||hamertje. +Een Roffel. +Gerf||schaaf. +Odief. +Ploegen. +Handt||zaagh. +Klamp||spykers||boor, tien duims Boor. +Dissel. +Byl. diff --git a/tex/context/sample/reich.tex b/tex/context/sample/reich.tex new file mode 100644 index 000000000..3be5ae42e --- /dev/null +++ b/tex/context/sample/reich.tex @@ -0,0 +1,11 @@ +\citaat {Heavy smoke} +\citaat {Stand by, stand by} +\citaat {It's full a' smoke} +\citaat {Full a' smoke} +\citaat {Urgent} +\citaat {Guns, knives or weapons on ya?} +\citaat {Wha' were ya doin'?} +\citaat {Be careful} +\citaat {Where you go} +\citaat {Careful} +\citaat {Stand by} diff --git a/tex/context/sample/tufte.tex b/tex/context/sample/tufte.tex new file mode 100644 index 000000000..72f39da35 --- /dev/null +++ b/tex/context/sample/tufte.tex @@ -0,0 +1,13 @@ +We thrive in information||thick worlds because of our +marvelous and everyday capacity to select, edit, +single out, structure, highlight, group, pair, merge, +harmonize, synthesize, focus, organize, condense, +reduce, boil down, choose, categorize, catalog, classify, +list, abstract, scan, look into, idealize, isolate, +discriminate, distinguish, screen, pigeonhole, pick over, +sort, integrate, blend, inspect, filter, lump, skip, +smooth, chunk, average, approximate, cluster, aggregate, +outline, summarize, itemize, review, dip into, +flip through, browse, glance into, leaf through, skim, +refine, enumerate, glean, synopsize, winnow the wheat +from the chaff and separate the sheep from the goats. diff --git a/tex/context/sample/zapf.tex b/tex/context/sample/zapf.tex new file mode 100644 index 000000000..b95a47190 --- /dev/null +++ b/tex/context/sample/zapf.tex @@ -0,0 +1,11 @@ +Coming back to the use of typefaces in electronic +publishing: many of the new typographers receive their +knowledge and information about the rules of typography +from books, from computer magazines or the instruction +manuals which they get with the purchase of a PC or +software. There is not so much basic instruction, as of +now, as there was in the old days, showing the differences +between good and bad typographic design. Many people are +just fascinated by their PC's tricks, and think that a +widely||praised program, called up on the screen, will make +everything automatic from now on. diff --git a/tex/context/user/cont-sys.rme b/tex/context/user/cont-sys.rme new file mode 100644 index 000000000..cbeee6a1e --- /dev/null +++ b/tex/context/user/cont-sys.rme @@ -0,0 +1,92 @@ +%D \module +%D [ file=cont-sys, +%D version=1995.10.10, +%D title=\CONTEXT\ Miscellaneous Macros, +%D subtitle=System Specific Setups, +%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. + +\unprotect + +% Here you can take care of overloading some (style) +% defaults. What goes here, depends on your local system. +% +% Set default file name mapping: +% +% \usetypescript [ber] +% +% Overload Lucida by Adobe-15: +% +% \definetypescriptsynonym [lbr] [pos] +% +% Compensate for missing files: +% +% \definefontsynonym [Courier-Bold] [Courier] +% \definefontsynonym [Courier-BoldOblique] [Courier] +% +% \definefontsynonym [gbhei] [gbsong] +% \definefontsynonym [gbheisl] [gbsong] +% \definefontsynonym [gbheisl] [gbsong] +% +% Setting up a global figure path (beware, \c!gebied may change): +% +% \setupexternalfigures +% [\c!gebied={e:/fig/eps,t:/pragma/metapost/symbols}] +% +% Loading a specific special driver: +% +% \setupoutput +% [dviwindo] +% +% Enabling \CONTEXT\ navigation symbols as well as \euro's. + +\usesymbols + [nav,eur] + +\setupsymbolset + [navigation 1] + +\setupinteraction + [\c!symboolset=navigation 1] + +% Changing language defaults: +% +% \setuplanguage +% [nl] +% [\c!leftquote=\upperleftsinglesixquote, +% \c!leftquotation=\upperleftdoublesixquote] +% +% So far for the settings. + +% Loading local preferences: +% +% \input prag-gen % company styles +% \input prag-log % more company styles +% +% Enabling run time \METAPOST\ (also enable \write18 in texmf.cnf): + + \runMPgraphicstrue +\runMPTEXgraphicstrue + \recycleMPslotstrue +\useMETAFUNformattrue + +% Enabling nested pretty printing: + + \newprettytrue + +% Protect filenames: + + \protectbufferstrue + +% not really needed + +% \runutilityfiletrue + +% So far. + +\protect \endinput -- cgit v1.2.3