%D \module %D [ file=mult-sys, %D version=1996.06.01, %D title=\CONTEXT\ Multilingual Macros, %D subtitle=System, %D author=Hans Hagen, %D date=\currentdate, %D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] %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 In boring module we define a lot of obscure but useful %D system constants. By doing so we save lots of memory while %D at the same time we prevent ourself from typing errors. \writestatus{loading}{ConTeXt Multilingual Macros / System} \unprotect %D The constants are grouped in such a way that there is a %D minimal change of conflicts. %D %D \starttyping %D \definesystemconstants {word} %D \definemessageconstant {word} %D \stoptyping %D %D This commands generate \type{\s!word} and \type{\m!word}. \definesystemconstant {hans} \definesystemconstant {taco} %D First we define some system constants used for both the %D multi||lingual interface and multi||linguag typesetting. \definesystemconstant {afrikaans} \definesystemconstant {af} \definesystemconstant {arabic} \definesystemconstant {ar} \definesystemconstant {catalan} \definesystemconstant {ca} \definesystemconstant {chinese} \definesystemconstant {cn} \definesystemconstant {croatian} \definesystemconstant {hr} \definesystemconstant {czech} \definesystemconstant {cs} \definesystemconstant {cz} \definesystemconstant {danish} \definesystemconstant {da} \definesystemconstant {dutch} \definesystemconstant {nl} \definesystemconstant {english} \definesystemconstant {en} \definesystemconstant {finish} \definesystemconstant {fi} \definesystemconstant {french} \definesystemconstant {fr} \definesystemconstant {german} \definesystemconstant {de} \definesystemconstant {hungarian} \definesystemconstant {hu} \definesystemconstant {italian} \definesystemconstant {it} \definesystemconstant {latin} \definesystemconstant {la} \definesystemconstant {lithuanian} \definesystemconstant {lt} \definesystemconstant {bokmal} \definesystemconstant {nb} \definesystemconstant {norwegian} \definesystemconstant {no} \definesystemconstant {nynorsk} \definesystemconstant {nn} \definesystemconstant {polish} \definesystemconstant {pl} \definesystemconstant {persian} \definesystemconstant {pe} \definesystemconstant {portuguese} \definesystemconstant {pt} \definesystemconstant {romanian} \definesystemconstant {ro} \definesystemconstant {russian} \definesystemconstant {ru} \definesystemconstant {slovak} \definesystemconstant {sk} \definesystemconstant {slovenian} \definesystemconstant {sl} \definesystemconstant {slovene} \definesystemconstant {spanish} \definesystemconstant {es} \definesystemconstant {swedish} \definesystemconstant {sv} \definesystemconstant {turkish} \definesystemconstant {tr} \definesystemconstant {turkmen} \definesystemconstant {tk} \definesystemconstant {gbenglish} \definesystemconstant {gb} \definesystemconstant {ukenglish} \definesystemconstant {uk} \definesystemconstant {usenglish} \definesystemconstant {us} \definesystemconstant {ukrainian} \definesystemconstant {ua} \definesystemconstant {greek} \definesystemconstant {gr} \definesystemconstant {ancientgreek} \definesystemconstant {agr} \definesystemconstant {vietnamese} \definesystemconstant {vi} \definesystemconstant {vn} %D For proper \UNICODE\ support we need a few font related %D constants. \definesystemconstant {BoldItalic} \definesystemconstant {BoldSlanted} \definesystemconstant {Bold} \definesystemconstant {Italic} \definesystemconstant {Regular} \definesystemconstant {Slanted} \definesystemconstant {Unicode} \definesystemconstant {Serif} \definesystemconstant {Regular} \definesystemconstant {Sans} \definesystemconstant {Support} \definesystemconstant {Mono} \definesystemconstant {Type} \definesystemconstant {Math} \definesystemconstant {Handwriting} \definesystemconstant {Calligraphy} \definesystemconstant {Casual} \definesystemconstant {SerifBold} \definesystemconstant {SansBold} \definesystemconstant {MonoBold} \definesystemconstant {SerifItalic} \definesystemconstant {SansItalic} \definesystemconstant {MonoItalic} \definesystemconstant {SerifBoldItalic} \definesystemconstant {SansBoldItalic} \definesystemconstant {MonoBoldItalic} \definesystemconstant {SerifSlanted} \definesystemconstant {SansSlanted} \definesystemconstant {MonoSlanted} \definesystemconstant {SerifBoldSlanted} \definesystemconstant {SansBoldSlanted} \definesystemconstant {MonoBoldSlanted} \definesystemconstant {SerifCaps} \definesystemconstant {SansCaps} \definesystemconstant {MonoCaps} \definesystemconstant {Normal} \definesystemconstant {Caps} \definesystemconstant {mnem} % kind of generic short tag \definesystemconstant {file} \definesystemconstant {name} \definesystemconstant {spec} \definesystemconstant {serif} \definesystemconstant {sans} \definesystemconstant {mono} \definesystemconstant {math} \definesystemconstant {handwriting} \definesystemconstant {calligraphy} \definesystemconstant {casual} \definesystemconstant {fax} \definesystemconstant {fallback} \definesystemconstant {none} \definesystemconstant {default} \definesystemconstant {smallcaps} %D As the name of their define command states, the next set of %D constants is used in the message macro's. \definemessageconstant {check} \definemessageconstant {colors} \definemessageconstant {columns} \definemessageconstant {encodings} \definemessageconstant {regimes} \definemessageconstant {figures} \definemessageconstant {fields} \definemessageconstant {files} \definemessageconstant {floatblocks} \definemessageconstant {fonts} \definemessageconstant {handlings} \definemessageconstant {interactions} \definemessageconstant {javascript} \definemessageconstant {layouts} \definemessageconstant {linguals} \definemessageconstant {references} \definemessageconstant {specials} \definemessageconstant {structures} \definemessageconstant {symbols} \definemessageconstant {systems} \definemessageconstant {lua} \definemessageconstant {textblocks} \definemessageconstant {verbatims} \definemessageconstant {versions} \definemessageconstant {metapost} \definemessageconstant {chemicals} \definemessageconstant {publications} %D Net come some \CONTEXT\ constants, used in the definition %D of private commands: \definesystemconstant {tex} \definesystemconstant {xml} \definesystemconstant {lua} \definesystemconstant {next} \definesystemconstant {pickup} \definesystemconstant {ascii} \definesystemconstant {default} \definesystemconstant {unknown} \definesystemconstant {action} \definesystemconstant {compare} \definesystemconstant {do} \definesystemconstant {dodo} \definesystemconstant {complex} \definesystemconstant {simple} \definesystemconstant {start} \definesystemconstant {stop} \definesystemconstant {dummy} \definesystemconstant {local} \definesystemconstant {global} \definesystemconstant {done} \definesystemconstant {font} \definesystemconstant {link} \definesystemconstant {parent} \definesystemconstant {clone} \definesystemconstant {section} \let\v!sectionlevel\s!section % for old times sake \definesystemconstant {handler} \definesystemconstant {counter} \definesystemconstant {single} \definesystemconstant {multi} \definesystemconstant {hasnumber} \definesystemconstant {hastitle} \definesystemconstant {hascaption} \definesystemconstant {haslevel} \definesystemconstant {mkiv} \definesystemconstant {mkii} \definesystemconstant {entities} \definesystemconstant {normal} \definesystemconstant {bold} \definesystemconstant {italic} \definesystemconstant {slanted} \definesystemconstant {default} \definesystemconstant {smallcaps} \definesystemconstant {text} \definesystemconstant {page} \definesystemconstant {leftpage} \definesystemconstant {rightpage} \definesystemconstant {somewhere} %D A more experienced \TEX\ user will recognize the next four %D constants. We need these because font-definitions are %D partially english. \definesystemconstant {run} \definesystemconstant {fam} \definesystemconstant {text} \definesystemconstant {script} \definesystemconstant {scriptscript} \definesystemconstant {lefthyphenmin} \definesystemconstant {righthyphenmin} \definesystemconstant {lefthyphenchar} \definesystemconstant {righthyphenchar} \definesystemconstant {skewchar} \definesystemconstant {hyphenchar} \definesystemconstant {catcodes} \definesystemconstant {encoding} \definesystemconstant {resource} \definesystemconstant {mapping} \definesystemconstant {language} \definesystemconstant {patterns} \definesystemconstant {rname} \definesystemconstant {rscale} \definesystemconstant {handling} \definesystemconstant {features} \definesystemconstant {fallbacks} \definesystemconstant {goodies} \definesystemconstant {background} \definesystemconstant {ucmap} \definesystemconstant {property} \definesystemconstant {overprint} \definesystemconstant {layer} \definesystemconstant {effect} \definesystemconstant {negative} \definesystemconstant {color} \definesystemconstant {transparency} \definesystemconstant {black} \definesystemconstant {white} \definesystemconstant {format} \definesystemconstant {extensions} \definesystemconstant {initializations} %D Just to be complete we define the standard \TEX\ units. \definesystemconstant {cm} \definesystemconstant {em} \definesystemconstant {ex} \definesystemconstant {mm} \definesystemconstant {pt} \definesystemconstant {sp} \definesystemconstant {bp} \definesystemconstant {in} \definesystemconstant {pc} \definesystemconstant {cm} \definesystemconstant {dd} \definesystemconstant {cc} \definesystemconstant {nd} \definesystemconstant {nc} %D These constants are used for internal and utility %D commands. \definesystemconstant {check} \definesystemconstant {reset} \definesystemconstant {set} \definesystemconstant {entrya} \definesystemconstant {entryb} \definesystemconstant {entryc} \definesystemconstant {entryd} \definesystemconstant {entry} \definesystemconstant {see} \definesystemconstant {from} \definesystemconstant {to} \definesystemconstant {line} \definesystemconstant {page} \definesystemconstant {realpage} \definesystemconstant {userpage} \definesystemconstant {subpage} \definesystemconstant {synonym} \definesystemconstant {reference} \definesystemconstant {main} \definesystemconstant {list} \definesystemconstant {item} \definesystemconstant {itemcount} \definesystemconstant {number} \definesystemconstant {references} \definesystemconstant {between} \definesystemconstant {format} \definesystemconstant {old} \definesystemconstant {thisisblock} \definesystemconstant {thiswasblock} \definesystemconstant {figurepreset} \definesystemconstant {empty} %D Some \CONTEXT\ commands take a two||pass aproach to %D optimize the typesetting. Each two||pass object has its %D own tag. \definesystemconstant {pass} \definesystemconstant {data} \definesystemconstant {float} \definesystemconstant {list} \definesystemconstant {page} \definesystemconstant {subpage} \definesystemconstant {margin} \definesystemconstant {profile} \definesystemconstant {versionbegin} \definesystemconstant {versionend} \definesystemconstant {cross} \definesystemconstant {paragraph} %D A lot of macros use tags to distinguish between different %D objects, e.g. lists and registers. \definesystemconstant {prt} % part (deel) \definesystemconstant {chp} % chapter (hoofdstuk) \definesystemconstant {sec} % section (paragraaf) \definesystemconstant {tit} % title (titel) \definesystemconstant {sub} % subject (onderwerp) \definesystemconstant {mar} % margin (marge) \definesystemconstant {num} % number (doornummeren) \definesystemconstant {def} % definition (doordefinieren) \definesystemconstant {for} % formula (formule) \definesystemconstant {fnt} % footnote (voetnoot) \definesystemconstant {ind} % index (register) \definesystemconstant {lin} % linked index \definesystemconstant {lst} % list (opsomming) \definesystemconstant {flt} % float (plaatsblok) \definesystemconstant {pag} % page (pagina) \definesystemconstant {txt} % text (tekst) \definesystemconstant {ref} % reference (verwijzing) \definesystemconstant {lab} % label (label) \definesystemconstant {aut} % automatic (inhoud, index) \definesystemconstant {vwa} % automatic (illustrations) \definesystemconstant {vwb} % automatic (illustrations) \definesystemconstant {kop} % kop % still dutch %D Reference labels can be tagged by users, for instance by %D means of \type{tag:}. The reference mechanism itself uses %D some tags too. These are definitely not to be used by users. %D Here they are: \definereferenceconstant {cross} {:c:} % cross reference \definereferenceconstant {view} {:v:} % view reference \definereferenceconstant {viewa} {:a:} % view reference test a \definereferenceconstant {viewb} {:b:} % view reference test b \definereferenceconstant {page} {:p:} % page referece \definereferenceconstant {list} {:l:} % list reference \definereferenceconstant {exec} {:e:} % execution reference \definereferenceconstant {form} {:m:} % form reference \definereferenceconstant {syst} {:s:} % system reference \definereferenceconstant {from} {:f:} % from list reference \definereferenceconstant {to} {:t:} % to list reference \definereferenceconstant {object} {:o:} % object reference \definereferenceconstant {driver} {:d:} % driver object reference \definereferenceconstant {widget} {:w:} % field chain reference \definereferenceconstant {java} {:j:} % java scripts %D When we use numbers and dimensions the same applies as %D with the keywords like \type{width} and \type{plus} %D mentioned earlier. \def\!!ten {10} \def\!!twelve {12} \def\!!hundred {100} \def\!!thousand {1000} \def\!!tenthousand {10000} \def\!!maxcard {65536} \def\!!medcard {32768} \def\!!zeropoint {0pt} \def\!!onepoint {1pt} \def\!!twopoint {2pt} \def\!!threepoint {3pt} \def\!!fourpoint {4pt} \def\!!fivepoint {5pt} \def\!!sixpoint {6pt} \def\!!sevenpoint {7pt} \def\!!eightpoint {8pt} \def\!!ninepoint {9pt} \def\!!tenpoint {10pt} \def\!!elevenpoint {11pt} \def\!!twelvepoint {12pt} \def\!!fourteenpointfour {14.4pt} \let\onerealpoint\onepoint % needed for latex % D Another optimization is: % % \let\points\onepoint %D A rough test is: %D %D \starttyping %D \def\TestMe % 7.75 sec on a P4/2G %D {\dimen0=10\points\dimen0=10\points\dimen0=10\points\dimen0=10\points\dimen0=10\points %D \dimen0=10\points\dimen0=10\points\dimen0=10\points\dimen0=10\points\dimen0=10\points} %D %D \def\TestMe % 11.5 sec on a P4/2G %D {\dimen0=10pt\dimen0=10pt\dimen0=10pt\dimen0=10pt\dimen0=10pt% %D \dimen0=10pt\dimen0=10pt\dimen0=10pt\dimen0=10pt\dimen0=10pt} %D %D \def\TestMe % 12.5 sec on a P4/2G %D {\dimen0=10\s!pt\dimen0=10\s!pt\dimen0=10\s!pt\dimen0=10\s!pt\dimen0=10\s!pt% %D \dimen0=10\s!pt\dimen0=10\s!pt\dimen0=10\s!pt\dimen0=10\s!pt\dimen0=10\s!pt} %D %D \testfeatureonce {500000}{\TestMe} %D \stoptyping %D Variables are composed of a command specific tag and a user %D supplied variable (system constant). The first tag \type{ag} %D for instance is available as \type{\??ag} and expands to %D \type{@@ag} in composed variables. % vervallen : hd hr hm vt vr vm tr tn te br bm bo on om or \definesystemvariable {ab} % AlignedBoxes \definesystemvariable {ac} % ACcent \definesystemvariable {ae} % AttributEs \definesystemvariable {ag} % AchterGrond \definesystemvariable {al} % ALinea's \definesystemvariable {am} % interActieMenu \definesystemvariable {an} % ANchor \definesystemvariable {as} % AlignmentSwitch \definesystemvariable {at} % ATtachments \definesystemvariable {ba} % synchronisatieBAlk \definesystemvariable {bc} % BaCkend \definesystemvariable {be} % startstop (BeginEnd) \definesystemvariable {bj} % BlokJe \definesystemvariable {bk} % Blokken (floats) \definesystemvariable {bl} % BLanko \definesystemvariable {bg} % BleedinG \definesystemvariable {bm} % BookMark \definesystemvariable {bo} % BlankO (definitions) \definesystemvariable {bp} % BreakPoint \definesystemvariable {br} % sideBaR \definesystemvariable {bs} % SelecteerBlokken \definesystemvariable {bt} % BuTton \definesystemvariable {bu} % BUffer \definesystemvariable {bv} % Brieven \definesystemvariable {by} % Per \definesystemvariable {cb} % CollectBox \definesystemvariable {cc} % Comment \definesystemvariable {ce} % CasEs \definesystemvariable {cf} % Style (ColorFont) \definesystemvariable {ch} % CHaracterspacing \definesystemvariable {ci} % CItaat \definesystemvariable {ck} % Character Kerning \definesystemvariable {cl} % kleur (CoLor setup) \definesystemvariable {cn} % CollumN \definesystemvariable {cm} % CheMical \definesystemvariable {co} % COmbinaties \definesystemvariable {cp} % CliP \definesystemvariable {cr} % kleur (ColoR) \definesystemvariable {cs} % kleur (ColorSeparation \definesystemvariable {cv} % ConVersie \definesystemvariable {cy} % CrYteria \definesystemvariable {da} % DAte \definesystemvariable {db} % Labels \definesystemvariable {dc} % DroppedCaps \definesystemvariable {dd} % DoorDefinieren \definesystemvariable {de} % DEel \definesystemvariable {di} % DIrections \definesystemvariable {dl} % DunneLijnen \definesystemvariable {dn} % DoorNummeren \definesystemvariable {dm} % DefineMeasure \definesystemvariable {do} % DefinieerOpmaak \definesystemvariable {du} % DUmmy \definesystemvariable {ds} % DoorSpringen \definesystemvariable {ef} % ExternFiguur \definesystemvariable {ec} % EnCoding \definesystemvariable {el} % Elements \definesystemvariable {en} % ENvironments \definesystemvariable {ep} % ExternfiguurPreset \definesystemvariable {eq} % EQalign \definesystemvariable {er} % external resources \definesystemvariable {ex} % ExterneFiguren \definesystemvariable {fa} % font feature \definesystemvariable {fc} % FramedContent \definesystemvariable {fd} % FielD \definesystemvariable {fe} % FoxetExtensions \definesystemvariable {ff} % FontFile \definesystemvariable {fg} % FiGuurmaten \definesystemvariable {fi} % FIle \definesystemvariable {fl} % Floats \definesystemvariable {fm} % ForMules \definesystemvariable {fn} % subformulas \definesystemvariable {fo} % xml FO \definesystemvariable {fp} % FilegroeP \definesystemvariable {fq} % Features \definesystemvariable {fr} % ForM \definesystemvariable {fs} % FileSynonym \definesystemvariable {ft} % FonTs \definesystemvariable {fu} % FontSolution \definesystemvariable {fv} % FontVariant \definesystemvariable {fw} % simpleFonts by Wolfgang \definesystemvariable {fx} % FoXet \definesystemvariable {gr} % GRid \definesystemvariable {ha} % HAng \definesystemvariable {hs} % HSpace \definesystemvariable {ht} % HiddenText \definesystemvariable {ia} % Interactie \definesystemvariable {ib} % InteractieBalk \definesystemvariable {ic} % ICc profiles \definesystemvariable {id} % Index \definesystemvariable {ig} % ItemGroup \definesystemvariable {ih} % InHoudsopgave \definesystemvariable {ii} % stelIndexIn \definesystemvariable {il} % stelInvulRegelsin \definesystemvariable {im} % InMarge \definesystemvariable {in} % INspringen \definesystemvariable {ip} % InsertPages \definesystemvariable {is} % Items \definesystemvariable {it} % stelInTerliniein \definesystemvariable {iv} % stelInvulLijnenin \definesystemvariable {ka} % KAntlijn \definesystemvariable {kd} % KaDerteksten \definesystemvariable {kj} % KopJes (floats) \definesystemvariable {kk} % Kapitalen \definesystemvariable {kl} % KoLommen \definesystemvariable {km} % KenMerk \definesystemvariable {ko} % KOp(pen) \definesystemvariable {kp} % KopPelteken \definesystemvariable {kr} % KoRps \definesystemvariable {ks} % KolomSpan \definesystemvariable {kt} % KonTakten \definesystemvariable {kw} % KontaktWaarde \definesystemvariable {la} % LAnguage \definesystemvariable {lb} % LaBels \definesystemvariable {ld} % LegenDa \definesystemvariable {le} % LinetablE \definesystemvariable {lf} % LocalFigures \definesystemvariable {lg} % taal (LanGuage) \definesystemvariable {li} % LIjst \definesystemvariable {lk} % LinK \definesystemvariable {ll} % Layers \definesystemvariable {lx} % LayerteXt \definesystemvariable {ln} % LijNen \definesystemvariable {lo} % LOgos \definesystemvariable {lt} % LiTeratuur \definesystemvariable {ls} % languageScript \definesystemvariable {ly} % LaYout \definesystemvariable {ma} % MargeAchtergrond \definesystemvariable {mb} % MargeBlokken \definesystemvariable {md} % MoDule \definesystemvariable {me} % MultilingualElement (tags) \definesystemvariable {mg} % Metapost paGe \definesystemvariable {mh} % MultilingualHead \definesystemvariable {mk} % MarKering \definesystemvariable {ml} % MultilingualLabel \definesystemvariable {mm} % MultilingualMath \definesystemvariable {mt} % inline MaTh \definesystemvariable {mo} % Math Options \definesystemvariable {mp} % MetaPost \definesystemvariable {mx} % MatriX \definesystemvariable {ng} % parbuilders \definesystemvariable {nh} % new heads (structure) \definesystemvariable {nn} % structurenumbering \definesystemvariable {nm} % Nummering \definesystemvariable {np} % NaastPlaatsen \definesystemvariable {nr} % Nummeren \definesystemvariable {of} % OFfset \definesystemvariable {oi} % OmlijndInstellingen \definesystemvariable {ol} % OmLijnd \definesystemvariable {od} % Omlijnd Defaults (simple) \definesystemvariable {on} % ONderstreep \definesystemvariable {oo} % OpsOmmingen \definesystemvariable {op} % OPsomming \definesystemvariable {or} % OtpfilteR \definesystemvariable {os} % OffSet \definesystemvariable {ot} % OTpsequence \definesystemvariable {ov} % OVerlay \definesystemvariable {ox} % OffsetBox \definesystemvariable {pa} % PAlet \definesystemvariable {pb} % PuBlication \definesystemvariable {pc} % PageComment \definesystemvariable {pe} % PagEhandler \definesystemvariable {pf} % ProFiel \definesystemvariable {pg} % KoppelPagina \definesystemvariable {ph} % ParagrapH \definesystemvariable {pl} % PLaats \definesystemvariable {pn} % PaginaNummer \definesystemvariable {po} % PrOcessor \definesystemvariable {pp} % PaPier \definesystemvariable {pr} % PRogrammas \definesystemvariable {ps} % PoSitioneren \definesystemvariable {pt} % PageshifT \definesystemvariable {py} % PropertYs \definesystemvariable {pv} % PublicationVariable \definesystemvariable {ra} % RAise \definesystemvariable {rd} % RenDering \definesystemvariable {rf} % ReFereren \definesystemvariable {rg} % ReGel \definesystemvariable {rl} % ReferentieLijst \definesystemvariable {rn} % RegelNummer \definesystemvariable {ro} % ROteren \definesystemvariable {rr} % linenotes \definesystemvariable {rs} % RaSters \definesystemvariable {rt} % RoosTers \definesystemvariable {rv} % ReserVeerfiguur \definesystemvariable {rw} % RenderingWindow \definesystemvariable {sa} % ScAle \definesystemvariable {sb} % SectieBlok \definesystemvariable {sc} % SCherm \definesystemvariable {sd} % SounD \definesystemvariable {se} % SEctie \definesystemvariable {sf} % SpeciFics \definesystemvariable {sg} % SpacinG \definesystemvariable {sh} % ShapeText \definesystemvariable {si} % SplIt \definesystemvariable {sk} % SectieKop \definesystemvariable {sl} % SmalLer \definesystemvariable {sm} % SynonieMen \definesystemvariable {sn} % SubNummer \definesystemvariable {so} % SOrteren \definesystemvariable {sp} % SelecteerPapier \definesystemvariable {sr} % SpacehandleR \definesystemvariable {ss} % Symbool \definesystemvariable {st} % STickers \definesystemvariable {su} % SetUp \definesystemvariable {sv} % SysteemVariabelen \definesystemvariable {sw} % SectionWorld \definesystemvariable {sx} % Selector \definesystemvariable {sy} % SYnchronisatie \definesystemvariable {ta} % TAb \definesystemvariable {tb} % TekstBlokken \definesystemvariable {td} % TextbackgrounDs \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 {tx} % TeXtflow \definesystemvariable {to} % TOlerance \definesystemvariable {tr} % TRacer \definesystemvariable {ts} % TypeScript \definesystemvariable {tt} % TabulaTe \definesystemvariable {ty} % TYpe \definesystemvariable {uc} % Unicode \definesystemvariable {ui} % UItvoer \definesystemvariable {ur} % URl \definesystemvariable {up} % Utility Program \definesystemvariable {va} % VspAce \definesystemvariable {ve} % VErsie \definesystemvariable {vn} % VoetNoten \definesystemvariable {vs} % VSpacing \definesystemvariable {vt} % VerTical \definesystemvariable {wr} % WitRuimte \definesystemvariable {wl} % WordList \definesystemvariable {xf} % XML File \definesystemvariable {xl} % lxml (mkiv) \definesystemvariable {xm} % xml (mkiv) \definesystemvariable {xp} % XML Processing \definesystemvariable {xy} % schaal \definesystemvariable {za} % ZetspiegelAanpassing %D Next we define some language independant one letter %D variables and keywords. \defineinterfaceconstant {x} {x} % x offset \defineinterfaceconstant {y} {y} % y offset \defineinterfaceconstant {w} {w} % width \defineinterfaceconstant {h} {h} % height \defineinterfaceconstant {s} {s} % size \defineinterfaceconstant {t} {t} % title \defineinterfaceconstant {c} {c} % creator \defineinterfaceconstant {e} {e} % extension \defineinterfaceconstant {f} {f} % file \defineinterfaceconstant {a} {a} % kunnen weg \defineinterfaceconstant {b} {b} % kunnen weg \defineinterfaceconstant {c} {c} % kunnen weg \defineinterfaceconstant {d} {d} % kunnen weg \defineinterfaceconstant {e} {e} % kunnen weg \defineinterfaceconstant {s} {s} \defineinterfaceconstant {r} {r} \defineinterfaceconstant {g} {g} \defineinterfaceconstant {b} {b} \defineinterfaceconstant {c} {c} \defineinterfaceconstant {m} {m} \defineinterfaceconstant {y} {y} \defineinterfaceconstant {k} {k} \defineinterfaceconstant {a} {a} % alternative \defineinterfaceconstant {t} {t} % transparency \defineinterfaceconstant {p} {p} % percentage \defineinterfaceconstant {t} {t} \defineinterfaceconstant {h} {h} \defineinterfaceconstant {b} {b} \defineinterfaceconstant {rgb} {rgb} \defineinterfacevariable {rgb} {rgb} \defineinterfaceconstant {cmyk} {cmyk} \defineinterfacevariable {cmyk} {cmyk} \defineinterfaceconstant {mp} {mp} \defineinterfacevariable {mp} {mp} \defineinterfacevariable {s} {s} \defineinterfacevariable {a} {a} \defineinterfacevariable {b} {b} \defineinterfacevariable {c} {c} \defineinterfacevariable {d} {d} %D Special purpose variables: \def\v!oddeven#1{\ifodd#1\v!odd\else\v!even\fi} %D The names of files and their extensions are fixed. %D \CONTEXT\ uses as less files as possible. Utility files can %D be recognized by the first two characters of the extension: %D \type{tu}. \definefileconstant {utilityfilename} {texutil} \definefileconstant {blockextension} {tub} \definefileconstant {figureextension} {tuf} \definefileconstant {inputextension} {tui} \definefileconstant {outputextension} {tuo} % tup for previous run \definefileconstant {optionextension} {top} \definefileconstant {temporaryextension} {tmp} \definefileconstant {patternsextension} {pat} \definefileconstant {hyphensextension} {hyp} \definefileconstant {fontmapextension} {map} \definefileconstant {bibextension} {bbl} %D These files are loaded at start||up. They may contain system %D specific setups (or calls to other files), old macro's, to %D garantee compatibility and new macro's noy yet present in %D the format. \definefileconstant {errfilename} {cont-err} \definefileconstant {sysfilename} {cont-sys} \definefileconstant {newfilename} {cont-new} \definefileconstant {locfilename} {cont-loc} \definefileconstant {expfilename} {cont-exp} %definefileconstant {usrfilename} {cont-usr} % .tex %definefileconstant {fmtfilename} {cont-fmt} % .tex %D Handy for typescripts (we could use s! instead: \definetypescriptconstant {name} {name} \definetypescriptconstant {default} {default} \definetypescriptconstant {map} {map} \definetypescriptconstant {special} {special} \definetypescriptconstant {size} {size} %D The setup files for the language, font, color and special %D subsystems have a common prefix. This means that we have at %D most three characters for unique filenames. \definefileconstant {colorprefix} {colo-} \definefileconstant {encodingprefix} {enco-} \definefileconstant {filterprefix} {filt-} \definefileconstant {fontprefix} {font-} \definefileconstant {handlingprefix} {hand-} \definefileconstant {javascriptprefix} {java-} \definefileconstant {languageprefix} {lang-} \definefileconstant {mathprefix} {math-} \definefileconstant {metapostprefix} {meta-} \definefileconstant {regimeprefix} {regi-} \definefileconstant {specialprefix} {spec-} \definefileconstant {symbolprefix} {symb-} \definefileconstant {typeprefix} {type-} \definefileconstant {xtagprefix} {xtag-} \definefileconstant {propprefix} {prop-} \definefileconstant {unicprefix} {unic-} \definefileconstant {sortprefix} {sort-} \definefileconstant {prettyprefix} {pret-} \definefileconstant {moduleprefix} {m-} \definefileconstant {styleprefix} {s-} \definefileconstant {xstyleprefix} {x-} \definefileconstant {privateprefix} {p-} \definefileconstant {thirdprefix} {t-} %definefileconstant {beforeprefix} {b-} %definefileconstant {afterprefix} {a-} %D \CONTEXT\ follows different strategies for finding files. %D The macros that are responsible for this 'clever' searching %D make use of two (very important) path specifiers. \definefileconstant {pathseparator} {/} \definefileconstant {currentpath} {.} \definefileconstant {parentpath} {..} %D The way fonts are defined and called upon is language %D independant. We follow the scheme laid down by Knuth in %D Plain \TEX. We'll explain their meaning later. \defineinterfaceconstant {tf} {tf} \defineinterfaceconstant {bf} {bf} \defineinterfaceconstant {bs} {bs} \defineinterfaceconstant {bi} {bi} \defineinterfaceconstant {sl} {sl} \defineinterfaceconstant {it} {it} \defineinterfaceconstant {sc} {sc} \defineinterfaceconstant {rm} {rm} \defineinterfaceconstant {ss} {ss} \defineinterfaceconstant {tt} {tt} \defineinterfaceconstant {hw} {hw} \defineinterfaceconstant {cg} {cg} \defineinterfaceconstant {os} {os} \defineinterfaceconstant {mm} {mm} \defineinterfaceconstant {i} {i} \defineinterfaceconstant {nn} {nn} \defineinterfaceconstant {x} {x} \defineinterfaceconstant {xx} {xx} \defineinterfaceconstant {em} {em} \defineinterfaceconstant {mi} {mi} \defineinterfaceconstant {sy} {sy} \defineinterfaceconstant {ex} {ex} \defineinterfaceconstant {mr} {mr} \defineinterfaceconstant {ma} {ma} \defineinterfaceconstant {mb} {mb} \defineinterfaceconstant {mc} {mc} %D For figure inclusion we need: \defineinterfaceconstant {tif} {tif} \defineinterfaceconstant {eps} {eps} \defineinterfaceconstant {mps} {mps} \defineinterfaceconstant {jpg} {jpg} \defineinterfaceconstant {pdf} {pdf} \defineinterfaceconstant {png} {png} \defineinterfaceconstant {avi} {avi} \defineinterfaceconstant {mov} {mov} \defineinterfaceconstant {svg} {svg} \defineinterfaceconstant {tex} {tex} \defineinterfaceconstant {tmp} {tmp} \defineinterfaceconstant {cld} {cld} %D A careful reader will have noticed that in the module %D \type{mult-ini} we defined \type{\selectinterface}. We were %D not yet able to actually select an interface, because we %D still had to define the constants and variables. Now we've %D done so, selection is permitted. \selectinterface %D Ok, here are some more, because we've got ouselves some %D extensions to \CONTEXT. \definemessageconstant {addresses} \definemessageconstant {documents} \protect \endinput