diff options
author | Hans Hagen <pragma@wxs.nl> | 2001-07-02 00:00:00 +0200 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2001-07-02 00:00:00 +0200 |
commit | ab399f7f60b937f771dd33f9b826d83dab3e84e2 (patch) | |
tree | dfb3b001d6c0ee78967f6849168d41614b06fc2c /tex/context/base/core-sys.tex | |
parent | 661f9f4a789474b20056f6bd4855c66d9791b301 (diff) | |
download | context-ab399f7f60b937f771dd33f9b826d83dab3e84e2.tar.gz |
stable 2001.07.02
Diffstat (limited to 'tex/context/base/core-sys.tex')
-rw-r--r-- | tex/context/base/core-sys.tex | 199 |
1 files changed, 199 insertions, 0 deletions
diff --git a/tex/context/base/core-sys.tex b/tex/context/base/core-sys.tex new file mode 100644 index 000000000..044fb9a52 --- /dev/null +++ b/tex/context/base/core-sys.tex @@ -0,0 +1,199 @@ +%D \module +%D [ file=core-sys, % moved from main-001 +%D version=1997.03.31, +%D title=\CONTEXT\ Core Macros, +%D subtitle=System, +%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 Core Macros (System)} + +\unprotect + +\def\dosetupsystem[#1]% + {\getparameters[\??sv][#1]% + \setuprandomize[\@@svwillekeur]% + \beforesplitstring\@@svresolutie\at dpi\to\@@svresolutie + \let\outputresolution=\@@svresolutie} + +\def\setupsystem% + {\dosingleargument\dosetupsystem} + +\def\setuprandomize[#1]% + {\doifsomething{#1} + {\bgroup + \setrandomseed{-1}% + \processaction + [#1] + [ \v!klein=>\divide\time 900, % 15 taco vragen hoe + \v!middel=>\divide\time 1800, % 30 time werkt; nodig voor + \v!groot=>\divide\time 3600, % 60 random pos deadlock + \v!normaal=>, + \s!default=>, + \s!unknown=>\time=#1]% + \nextrandom + \egroup}} + +\def\outputfilename{\@@svfile} +\def\inputfilename {\@@svinputfile} + +\setupsystem + [\c!gebied=, + \c!resolutie=600dpi, + \c!willekeur=, + \c!file=\jobname, + \c!inputfile=\outputfilename, + \c!korps=\normalizedlocalbodyfontsize] % of iets anders + +%D + +\def\dostartglobaldefs#1#2% + {\edef\!!stringa{\the\globaldefs}% + \ifnum\globaldefs#10 + \globaldefs=-\globaldefs + \fi + \advance\globaldefs by #21 + \setevalue{@gd@\the\globaldefs}{\!!stringa}} + +\def\dostopglobaldefs% + {\doifdefinedelse{@gd@\the\globaldefs} + {\globaldefs=\getvalue{@gd@\the\globaldefs}\relax} + {\globaldefs=0\relax}} + +\def\startlocal {\dostartglobaldefs>-} +\def\stoplocal {\dostopglobaldefs} +\def\startglobal {\dostartglobaldefs<+} +\def\stopglobal {\dostopglobaldefs} + +\def\complexstart[#1]{\bgroup\getvalue{\e!start#1}} +\def\complexstop [#1]{\getvalue{\e!stop #1}\egroup} + +\def\simplestart{\bgroup} +\def\simplestop {\egroup} + +\definecomplexorsimple\start +\definecomplexorsimple\stop + +\def\dodefinieerstartstop[#1][#2]% + {\getparameters + [\??be#1] + [\c!voor=, + \c!na=, + \c!commandos=, + \c!letter=, + #2]% +% \setvalue{\e!stel#1\e!in}[##1]% +% {\dodoubleargument\getparameters[\??be##1]}% + \unexpanded\setvalue{#1}% + {\groupedcommand + {\getvalue{\??be#1\c!commandos}% + \dostartattributes{\??be#1}\c!letter\c!kleur} + {\dostopattributes}}% + \setvalue{\e!start#1}% + {\getvalue{\??be#1\c!voor}% + \bgroup + \getvalue{\??be#1\c!commandos}% + \dostartattributes{\??be#1}\c!letter\c!kleur{}}% + \setvalue{\e!stop#1}% + {\dostopattributes + \egroup + \getvalue{\??be#1\c!na}}} + +\def\definieerstartstop% + {\dodoubleargument\dodefinieerstartstop} + +\def\stelstartstopin[#1]% + {\dodoubleargument\getparameters[\??be#1]} + +% \docommando kan niet worden gebruikt omdat deze macro +% soms lokaal wordt gebruikt + +% te zijner tijd: +% +% \definevariable {pc} % ProtectedCommand +% +% \def\executeprotected#1% +% {\csname\??pc\string#1\endcsname} +% +% \def\defineprotected#1#2% +% {\expandafter\def\csname\??pc\string#2\endcsname} +% +% \def\defineunprotected#1% +% {\def#1} +% +% \def\doprotected% +% {\ifx\next\define +% \let\next=\defineprotected +% \else +% \let\next=\executeprotected +% \fi +% \next} +% +% \def\unexpanded% +% {\futurelet\next\doprotected} +% +% \unexpanded\define\ziezo{ziezo} +% +% \unexpanded\ziezo + +\def\complexdefinieer[#1]#2#3% + {\ifx#2\undefined + \else + \showmessage{\m!systems}{4}{\string#2}% + \fi + \ifcase0#1\def#2{#3}% + \or\def#2##1{#3}% + \or\def#2##1##2{#3}% + \or\def#2##1##2##3{#3}% + \or\def#2##1##2##3##4{#3}% + \or\def#2##1##2##3##4##5{#3}% + \or\def#2##1##2##3##4##5##6{#3}% + \or\def#2##1##2##3##4##5##6##7{#3}% + \or\def#2##1##2##3##4##5##6##7##8{#3}% + \or\def#2##1##2##3##4##5##6##7##8##9{#3}% + \else\def#2{#3}% + \fi} + +\definecomplexorsimpleempty\definieer + +\unexpanded\def\naam#1% + {\getvalue{#1}} + +\def\gebruikcommandos#1% + {\bgroup + \def\docommando##1% + {\setbox0=\hbox{\getvalue{\string##1}##1}}% + \processcommalist[#1]\docommando + \egroup} + +\def\convertexpanded#1#2#3% watch the double \v!ja expansion ! + {\ExpandFirstAfter\processaction + [\getvalue{#1\c!expansie}] + [ \v!ja=>{{\honorunexpanded\xdef\@@globalexpanded{#2}% + \xdef\@@globalexpanded{\@@globalexpanded}}% + \dodoglobal\convertcommand\@@globalexpanded\to#3}, + \v!commando=>{\dodoglobal\convertcommand #2\to#3}, + \s!default=>{\dodoglobal\convertargument#2\to#3}, + \s!unknown=>{\dodoglobal\convertargument#2\to#3}]} + +% \setvalue{statevalue\v!stop }{0} +% \setvalue{statevalue\v!start }{1} +% \setvalue{statevalue\v!normaal}{2} +% \setvalue{statevalue\v!leeg }{3} +% \setvalue{statevalue\v!geen }{4} +% +% \def\setcurrentstate#1% +% {\chardef\currentstate=0\getvalue{statevalue\getvalue{#1\c!status}\relax} +% +% \ifcase\currentstate ... + +\def\herhaal {\dorepeat} +\def\herhaler {\repeater} +\def\herhaalmetcommando {\dorepeatwithcommand} + +\protect \endinput |