%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 sectionnumber: sectienummer 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 sectionnumber: sectionnumber 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 sectionnumber: Abschnittnummer 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 sectionnumber: sekcecislo % ? 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: impostazioni formula: formula number: numero list: elenco dimension: dimensione mark: marcatura reference: riferimento command: comando file: file name: nome text: testo section: sezione sectionnumber: numero sezione singular: nome singolare plural: nome plurale matrix: n*m see: vedi 1: caratteri < e > attivi globalmente! 2: -- elaborato 3: -- non definito 4: -- elaborato di nuovo \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 sectionnumber: sectiunenumar % ? 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. \def\stpt#1{{\tttf#1}} \def\stpr#1{#1*} \def\stpv#1{{\setupvarfont#1}} \bgroup \catcode`\<=\active \catcode`\>=\other \gdef \verbatimsetupvariablepart{\def<<##1>>{\stpr{##1}}} \gdef \protectsetupvariablepart{\def<<##1>>{\string\stpv{##1}}} \gdef\visualizesetupvariablepart{\def<<##1>>{\stpv{##1}}} \gdef \naturalsetupvariablepart{\def<<##1>>{\string<\string<##1\string>\string>}} \egroup % \setupsetup % [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!setup!variable!#1{{\setupvarfont\getmessage{setup}{#1}}} \def\c!setup!command! #1{{\setupvarfont\texescape\getmessage{setup}{command}#1}} \def\c!command! {\c!setup!variable!{command}} \def\c!dimension! {\c!setup!variable!{dimension}} \def\c!filename! {\c!setup!variable!{file}} \def\c!identifier! {\c!setup!variable!{name}} \def\c!character! {\c!setup!variable!{character}} \def\c!marker! {\c!setup!variable!{mark}} \def\c!number! {\c!setup!variable!{number}} \def\c!reference! {\c!setup!variable!{reference}} \def\c!plural! {\c!setup!variable!{plural}} \def\c!singular! {\c!setup!variable!{singular}} \def\c!text! {\c!setup!variable!{text}} \def\c!formula! {\c!setup!variable!{formula}} \def\c!font! {\c!setup!variable!{file}} \def\c!matrix! {\c!setup!variable!{matrix}} \def\c!list! {\c!setup!variable!{list}} \def\c!section! {\c!setup!variable!{section}} \def\c!sectionnumber!{\c!setup!variable!{sectionnumber}} \def\c!noargument! {\c!setup!command!{}} \def\c!oneargument! {\c!setup!command!{\#1}} \def\c!twoarguments! {\c!setup!command!{\#1\#2}} \def\c!threearguments!{\c!setup!command!{\#1\#2\#3}} \def\c!tex! #1{\texescape#1} \def\c!or! #1#2{#1\hbox spread .25em{\vl}#2} \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}}} \def\c!opt! #1{\ifx#1\c!or!\@EA\c!doropt!\else\@EA\c!noropt!\fi#1} \def\c!doropt! #1#2#3{{\setupoptfont{#1#2#3}}} \def\c!noropt! #1{{\setupoptfont{#1}}} \defineregister [texmacro] [texmacros] \definesorting [texcommando] [texcommandos] \setupsorting [texcommando] [\c!command=\@@stpcommand, \c!criterium=\@@stpcriterium] \definesorting [elktexcommando] [alletexcommandos] \setupsorting [elktexcommando] [\c!command=\@@stpcommand, \c!criterium=\v!all] % 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 \@@stpwidth{\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=\@@stpwidth \writesetupparbox{\let\c!setup!variable!\firstofoneargument\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=\@@stpwidth \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\@@stpreference \texescape#1% % njet \or {\at{p}[\currentsetupinheritance]: \texescape#1}% zonder { } probleem \or {\at{p}[\currentsetupinheritance]: \texescape#1}% nog eens uitzoeken \or {\goto{\tttf\texescape#1}[\currentsetupinheritance]}% \fi} % #1=name \def\inheritsetupvalues[#1]#2[#3]% {\bgroup \ConvertToConstant\doifelse{#3}{}{\def\next{}}{\def\next{: }}% \verbatimsetupvariablepart \value[\getmessage{setup}{see} \inheritsetup{#1}\next#3][]% \egroup} % #1=name \def\inheritsetupvariables[#1]#2[#3]% {\bgroup \ConvertToConstant\doifelse{#3}{}{\def\next{}}{\def\next{: }}% \verbatimsetupvariablepart \variable[..=..][\getmessage{setup}{see} \inheritsetup{#1}\next#3][]% \egroup} \def\setupsetup {\dodoubleargument\getparameters[\??stp]} \bgroup \catcode`<=\active \gdef\dowritetexcommand#1<<#2>>#3\\% {\texescape#1{\setupvarfont#2}#3} \gdef\writetexcommand#1% {\setuptxtfont \convertargument<<\to\asciia \convertargument#1\to\asciib \doifinstringelse{\asciia}{\asciib} {\dowritetexcommand#1\\} {\texescape#1}} \egroup \xdef\currentsetupreference {} \xdef\currentsetupinheritance {} \def\subsetupreference#1{@#1@} \let\subsetup=\subsetupreference \def\setsetupreference#1\to#2% {\bgroup \verbatimsetupvariablepart \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{\let\c!setup!variable!\firstofoneargument\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} \bgroup \catcode`<=\active \@EA\gdef\@EA\c!dostp!\e!start#1<<#2>>#3\\% {\breaksetup~...~\breaksetup\texescape\e!stop#1{\setupvarfont#2}}% \gdef\stripsetupstoppart#1% {\@EA\def\@EA\c!stp!\@EA{\@EA\c!dostp!#1<<>>\\}} \egroup \pushmacro\setuptext \defineframedtext [setuptext] [\c!width=\hsize, \c!height=\v!fit, \c!offset=0.75em] \popmacro\setuptext \newif\ifshortsetup \newcounter\currentsetupnumber \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 \stripsetupstoppart{#2}% \advance\hsize by -\leftskip \advance\hsize by -\rightskip \getvalue{\e!start setuptext} \setupwhitespace[\v!none]% \bgroup \verbatimsetupvariablepart \edef\first {#2*}% \protectsetupvariablepart \edef\second{#2}% \expanded{\texmacro[\first]{\noexpand\stpt{\second}}}% \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 \visualizesetupvariablepart \writetexcommand{#2}#3% \ifbreaksetup\hfill\else\hss\fi \ifnum\@@stpreference>0 \dointeractivesetup \fi \setsetupnumber #1\to\currentsetupnumber \setsetupreference#2\to\currentsetupreference \ifcase\@@stpreference \dosetupreference \or \dosetupreference \or \hskip1em \doifreferencefoundelse{\currentsetupreference} {\bf\at[\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!small]% \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\@@stpwidth{\the\dimen0}}% \global\v!dotnumber!=0 \setbox0=\vbox{#4}% \ifdim\wd0>\!!zeropoint \blank \unvbox0 \fi \fi \getvalue{\e!stop setuptext} \egroup} \def\dosetup#1% {\protect \verbatimsetupvariablepart \xdef\globalsetupname{#1}% \expanded{\usecommands{#1*}}% \doifdefinedelse{\@@setup\globalsetupname} {\getvalue{\@@setup\globalsetupname}} {\bgroup \showmessage{setup}{3}{#1}% \setuptxtfont [setup \makemessage{setup}{3}{#1}]\endgraf \egroup}% \egroup \@@stpafter} \def\setup {\@@stpbefore \bgroup \catcode`\<=\@@active \catcode`\>=\@@other \unprotect \shortsetupfalse \dosetup} \def\shortsetup {\@@stpbefore \bgroup \catcode`\<=\@@active \catcode`\>=\@@other \unprotect \shortsetuptrue \dosetup} \def\startsetupfile {\bgroup \catcode`\<=\active \unprotect} \def\stopsetupfile {\protect \egroup \endinput} \def\startsetup#1\command[#2]#3\type[#4]#5\stopsetup {\bgroup \verbatimsetupvariablepart \doglobal\increment\currentsetupnumber\relax \edef\!!stringa{\@@setup#2}% \expandafter\setgvalue\expandafter\!!stringa\expandafter {\expandafter\doprocesssetup\expandafter \number\expandafter[\currentsetupnumber]% \command[#2]\type[#4]{#5}}% % 'elk' comes first, else no 'gebruikt' entries are written \expanded{\elktexcommando[#2*]{#2}}% % this uggly hack prevents messages \let\showmessage\gobblethreearguments % here 'elk' is overruled \expanded{\texcommando[#2*]{#2}}% \egroup} \let\documenteduntilhere\relax \defineblock [dutch, english, german, czech, italian] \hideblocks [dutch, english, german, czech, italian] \setupsetup [\c!before=, \c!after=, \c!command=\setup, \c!reference=0, \c!criterium=\v!used] \def\placesetup {\bgroup \getvalue{\e!place\e!listof texcommandos} \egroup} \def\placeeverysetup % for fun purposes only {\bgroup \setupsetup[\c!reference=2]% \setupreferencing[\c!state=\v!stop]% \getvalue{\e!place\e!listof alletexcommandos}% \egroup} \let\plaatssetup \placesetup \let\plaatselkesetup\placeeverysetup \bgroup \catcode`\<=\active \def<{\lesscharacter} \egroup % \showmessage{setup}{1}{} \catcode`\<=\active \protect \endinput