summaryrefslogtreecommitdiff
path: root/tex/context/base/core-sys.tex
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2001-07-02 00:00:00 +0200
committerHans Hagen <pragma@wxs.nl>2001-07-02 00:00:00 +0200
commitab399f7f60b937f771dd33f9b826d83dab3e84e2 (patch)
treedfb3b001d6c0ee78967f6849168d41614b06fc2c /tex/context/base/core-sys.tex
parent661f9f4a789474b20056f6bd4855c66d9791b301 (diff)
downloadcontext-ab399f7f60b937f771dd33f9b826d83dab3e84e2.tar.gz
stable 2001.07.02
Diffstat (limited to 'tex/context/base/core-sys.tex')
-rw-r--r--tex/context/base/core-sys.tex199
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