mult-sys.mkxl /size: 24 Kb    last modification: 2025-02-21 11:03
1%D \module
2%D   [       file=mult-sys,
3%D        version=1996.06.01,
4%D          title=\CONTEXT\ Multilingual Macros,
5%D       subtitle=System,
6%D         author=Hans Hagen,
7%D           date=\currentdate,
8%D      copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
9%C
10%C This module is part of the \CONTEXT\ macro||package and is
11%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
12%C details.
13
14%D In boring module we define a lot of obscure but useful system constants.
15%D By doing so we save lots of memory while at the same time we prevent
16%D ourself making typing errors.
17
18\writestatus{loading}{ConTeXt Multilingual Macros / System}
19
20\unprotect
21
22%D This file is mostly the same as the \MKII\ variant but we keep extending
23%D \MKIV, so it was bout time to have a dedicated variant.
24%D
25%D The constants are grouped in such a way that there is a minimal change of
26%D conflicts.
27%D
28%D \starttyping
29%D \definesystemconstants {word}
30%D \definemessageconstant {word}
31%D \stoptyping
32%D
33%D This commands generate \type{\s!word} and \type{\m!word}.
34
35\definesystemconstant {hans}
36\definesystemconstant {taco}
37\definesystemconstant {wolfgang}
38
39%D First we define some system constants used for both the multi||lingual
40%D interface and multi||linguag typesetting.
41
42% definesystemconstant {slovene}
43% definesystemconstant {cz}
44% definesystemconstant {vn}
45
46\definesystemconstant {afrikaans}      \definesystemconstant {af}
47\definesystemconstant {albanian}       \definesystemconstant {sq}
48                                       \definesystemconstant {als}
49\definesystemconstant {armenian}       \definesystemconstant {hy}
50                                       \definesystemconstant {hye}
51                                       \definesystemconstant {hyw}
52\definesystemconstant {ancientgreek}   \definesystemconstant {agr}
53\definesystemconstant {ancientlatin}   \definesystemconstant {ala}
54\definesystemconstant {arabic}         \definesystemconstant {ar}
55\definesystemconstant {belarussian}    \definesystemconstant {be}
56\definesystemconstant {bengali}        \definesystemconstant {bn}
57\definesystemconstant {bulgarian}      \definesystemconstant {bg}
58\definesystemconstant {bokmal}         \definesystemconstant {nb}
59\definesystemconstant {catalan}        \definesystemconstant {ca}
60\definesystemconstant {chinese}        \definesystemconstant {cn}
61\definesystemconstant {croatian}       \definesystemconstant {hr}
62\definesystemconstant {czech}          \definesystemconstant {cs}
63\definesystemconstant {danish}         \definesystemconstant {da}
64\definesystemconstant {dutch}          \definesystemconstant {nl}
65\definesystemconstant {english}        \definesystemconstant {en}
66\definesystemconstant {estonian}       \definesystemconstant {et}
67\definesystemconstant {esperanto}      \definesystemconstant {eo}
68\definesystemconstant {farsi}          \definesystemconstant {fa} % just persian
69\definesystemconstant {finnish}        \definesystemconstant {fi}
70\definesystemconstant {french}         \definesystemconstant {fr}
71\definesystemconstant {gbenglish}      \definesystemconstant {gb}
72\definesystemconstant {german}         \definesystemconstant {de}
73\definesystemconstant {greek}          \definesystemconstant {gr}
74\definesystemconstant {gujarati}       \definesystemconstant {gu}
75\definesystemconstant {hebrew}         \definesystemconstant {he}
76\definesystemconstant {hindi}          \definesystemconstant {hi}
77\definesystemconstant {yiddish}        \definesystemconstant {yi}
78\definesystemconstant {hungarian}      \definesystemconstant {hu}
79\definesystemconstant {indonesian}     \definesystemconstant {id}
80\definesystemconstant {italian}        \definesystemconstant {it}
81\definesystemconstant {japanese}       \definesystemconstant {ja}
82\definesystemconstant {kannada}        \definesystemconstant {kn}
83\definesystemconstant {korean}         \definesystemconstant {kr}
84\definesystemconstant {latin}          \definesystemconstant {la}
85\definesystemconstant {lithuanian}     \definesystemconstant {lt}
86\definesystemconstant {malay}          \definesystemconstant {ms}
87\definesystemconstant {malayalam}      \definesystemconstant {ml}
88\definesystemconstant {macedonian}     \definesystemconstant {mk}
89\definesystemconstant {moldavian}      \definesystemconstant {mo}
90\definesystemconstant {montenegrin}    \definesystemconstant {cnr}
91\definesystemconstant {norwegian}      \definesystemconstant {no}
92\definesystemconstant {nynorsk}        \definesystemconstant {nn}
93\definesystemconstant {persian}        \definesystemconstant {pe}
94\definesystemconstant {polish}         \definesystemconstant {pl}
95\definesystemconstant {portuguese}     \definesystemconstant {pt}
96\definesystemconstant {romanian}       \definesystemconstant {ro}
97\definesystemconstant {russian}        \definesystemconstant {ru}
98\definesystemconstant {sanskrit}       \definesystemconstant {sa}
99\definesystemconstant {slovak}         \definesystemconstant {sk}
100\definesystemconstant {slovenian}      \definesystemconstant {sl}
101\definesystemconstant {serbian}        \definesystemconstant {sr}
102\definesystemconstant {spanish}        \definesystemconstant {es}
103\definesystemconstant {swedish}        \definesystemconstant {sv}
104\definesystemconstant {tamil}          \definesystemconstant {ta}
105\definesystemconstant {telugu}         \definesystemconstant {te}
106\definesystemconstant {thai}           \definesystemconstant {th} % mojca mentioned it at BT2013 but we need more info
107\definesystemconstant {turkish}        \definesystemconstant {tr}
108\definesystemconstant {turkmen}        \definesystemconstant {tk}
109\definesystemconstant {ukenglish}      \definesystemconstant {uk}
110\definesystemconstant {ukrainian}      \definesystemconstant {ua}
111\definesystemconstant {usenglish}      \definesystemconstant {us}
112\definesystemconstant {vietnamese}     \definesystemconstant {vi}
113
114%D Left|-|overs:
115
116\defineinterfaceconstant {HL} {HL}
117\defineinterfaceconstant {VL} {VL}
118\defineinterfaceconstant {NL} {NL}
119
120%D For proper \UNICODE\ support we need a few font related constants.
121
122\definesystemconstant {accent}
123\definesystemconstant {action}
124\definesystemconstant {all}
125\definesystemconstant {ampersand}
126\definesystemconstant {anchor}
127\definesystemconstant {anchors}
128\definesystemconstant {apostrophe}
129\definesystemconstant {ascii}
130\definesystemconstant {attribute}
131\definesystemconstant {attr}
132\definesystemconstant {author}
133\definesystemconstant {auto}
134\definesystemconstant {axis}
135\definesystemconstant {noaxis}
136\definesystemconstant {exact}
137\definesystemconstant {a}
138\definesystemconstant {base}
139\definesystemconstant {bf}
140\definesystemconstant {big}
141\definesystemconstant {binary}
142\definesystemconstant {bi}
143\definesystemconstant {blackboard}
144\definesystemconstant {black}
145\definesystemconstant {BoldItalic}
146\definesystemconstant {BoldSlanted}
147\definesystemconstant {Bold}
148\definesystemconstant {bold}
149\definesystemconstant {both}
150\definesystemconstant {bottomfloat}
151\definesystemconstant {bottom}
152\definesystemconstant {box}
153\definesystemconstant {bp}
154\definesystemconstant {bs}
155\definesystemconstant {b}
156\definesystemconstant {callback}
157\definesystemconstant {callbacks}
158\definesystemconstant {calligraphy}
159\definesystemconstant {Calligraphy}
160\definesystemconstant {Caps}
161\definesystemconstant {casual}
162\definesystemconstant {Casual}
163\definesystemconstant {catcodes}
164\definesystemconstant {catcodetable}
165\definesystemconstant {cc}
166\definesystemconstant {cg}
167\definesystemconstant {chain}
168\definesystemconstant {check}
169\definesystemconstant {char}
170\definesystemconstant {child}
171\definesystemconstant {cite}
172\definesystemconstant {class}
173\definesystemconstant {leftclass}
174\definesystemconstant {rightclass}
175\definesystemconstant {calligraphic}
176\definesystemconstant {center}
177\definesystemconstant {clone}
178\definesystemconstant {close}
179\definesystemconstant {cmyk}
180\definesystemconstant {cm}
181\definesystemconstant {code}
182\definesystemconstant {collapsing}
183\definesystemconstant {command}
184\definesystemconstant {compare}
185\definesystemconstant {complex}
186\definesystemconstant {container}
187\definesystemconstant {counter}
188\definesystemconstant {cramped}
189\definesystemconstant {current}
190\definesystemconstant {c}
191\definesystemconstant {data}
192\definesystemconstant {dd}
193\definesystemconstant {decimal}
194\definesystemconstant {delay}
195\definesystemconstant {DefaultFont}
196\definesystemconstant {default}
197\definesystemconstant {depth}
198\definesystemconstant {descend}
199\definesystemconstant {designsize}
200\definesystemconstant {direction}
201\definesystemconstant {discardable}
202\definesystemconstant {display}
203\definesystemconstant {document}
204\definesystemconstant {dodo}
205\definesystemconstant {done}
206\definesystemconstant {double}
207\definesystemconstant {do}
208\definesystemconstant {dtp}
209\definesystemconstant {dummy}
210\definesystemconstant {d}
211\definesystemconstant {edge}
212\definesystemconstant {effect}
213\definesystemconstant {empty}
214\definesystemconstant {em}
215\definesystemconstant {environment}
216\definesystemconstant {explicitlefthyphenchar}
217\definesystemconstant {explicitrighthyphenchar}
218\definesystemconstant {extensions}
219\definesystemconstant {external}
220\definesystemconstant {symbolattr}
221\definesystemconstant {ex}
222\definesystemconstant {e}
223\definesystemconstant {factor}
224\definesystemconstant {fallbacks}
225\definesystemconstant {fallback}
226\definesystemconstant {false}
227\definesystemconstant {fam}
228\definesystemconstant {fax}
229\definesystemconstant {features}
230\definesystemconstant {file}
231\definesystemconstant {filll}
232\definesystemconstant {fill}
233\definesystemconstant {fil}
234\definesystemconstant {first}
235\definesystemconstant {fixed}
236\definesystemconstant {float}
237\definesystemconstant {font}
238\definesystemconstant {forget}
239\definesystemconstant {forcedepth}
240\definesystemconstant {format}
241\definesystemconstant {fraktur}
242\definesystemconstant {fraktion}
243\definesystemconstant {full}
244\definesystemconstant {f}
245\definesystemconstant {global}
246\definesystemconstant {goodies}
247\definesystemconstant {gray}
248\definesystemconstant {handler}
249\definesystemconstant {handwriting}
250\definesystemconstant {Handwriting}
251\definesystemconstant {hascaption}
252\definesystemconstant {haslevel}
253\definesystemconstant {hasnumber}
254\definesystemconstant {hasparent}
255\definesystemconstant {hassuffix}
256\definesystemconstant {hastitle}
257\definesystemconstant {head}
258\definesystemconstant {height}
259\definesystemconstant {hex}
260\definesystemconstant {hfactor}
261\definesystemconstant {hw}
262\definesystemconstant {hyphenmin}
263\definesystemconstant {identity}
264\definesystemconstant {implication}
265\definesystemconstant {indeed}
266\definesystemconstant {initializations}
267\definesystemconstant {insert} % maybe insertclass
268\definesystemconstant {integral}
269\definesystemconstant {internal}
270\definesystemconstant {in}
271\definesystemconstant {italics}
272\definesystemconstant {Italic}
273\definesystemconstant {italic}
274%definesystemconstant {it}
275\definesystemconstant {itemgroupcolumns}
276\definesystemconstant {keepbase}
277\definesystemconstant {kernpairs}
278\definesystemconstant {language}
279\definesystemconstant {lcgreek}
280\definesystemconstant {lefthyphenchar}
281\definesystemconstant {lefthyphenmin}
282\definesystemconstant {leftpage}
283\definesystemconstant {left}
284\definesystemconstant {level}
285\definesystemconstant {ligatures}
286\definesystemconstant {line}
287\definesystemconstant {link}
288\definesystemconstant {list}
289\definesystemconstant {local}
290\definesystemconstant {lua}
291\definesystemconstant {mapping}
292\definesystemconstant {map}
293\definesystemconstant {margintext}
294\definesystemconstant {margin}
295\definesystemconstant {marker}
296\definesystemconstant {MathBold} % not used
297\definesystemconstant {MathRomanBold}
298\definesystemconstant {MathRoman}
299\definesystemconstant {math}
300\definesystemconstant {Math}     % not used
301\definesystemconstant {mblr}
302\definesystemconstant {mbrl}
303\definesystemconstant {mb}
304\definesystemconstant {middle}
305\definesystemconstant {minus}
306\definesystemconstant {mixedcolumn}
307\definesystemconstant {mi} % maybe some day a special default vector
308\definesystemconstant {mkii}
309\definesystemconstant {mkiv}
310\definesystemconstant {mm}
311\definesystemconstant {mnem} % kind of generic short tag
312\definesystemconstant {mode}
313\definesystemconstant {MonoBoldItalic}
314\definesystemconstant {MonoBoldSlanted}
315\definesystemconstant {MonoBold}
316\definesystemconstant {MonoCaps}
317\definesystemconstant {MonoItalic}
318\definesystemconstant {MonoSlanted}
319\definesystemconstant {Mono}
320\definesystemconstant {mono}
321\definesystemconstant {mrlr}
322\definesystemconstant {mrrl}
323\definesystemconstant {mr}
324\definesystemconstant {multi}
325\definesystemconstant {name}
326\definesystemconstant {next}
327\definesystemconstant {nocite}
328\definesystemconstant {nodepth}
329\definesystemconstant {noheight}
330\definesystemconstant {nomath}
331\definesystemconstant {none}
332\definesystemconstant {nooverflow}
333\definesystemconstant {norule}
334\definesystemconstant {noskips}
335\definesystemconstant {normal}
336\definesystemconstant {Normal}
337\definesystemconstant {nowidth}
338\definesystemconstant {numbering}
339\definesystemconstant {number}
340\definesystemconstant {open}
341\definesystemconstant {operator}
342\definesystemconstant {options}
343\definesystemconstant {ordinary}
344\definesystemconstant {orientation}
345\definesystemconstant {otr}
346\definesystemconstant {overlay}
347\definesystemconstant {pagefloat}
348\definesystemconstant {page}
349\definesystemconstant {pair}
350\definesystemconstant {paragraph}
351\definesystemconstant {parent}
352\definesystemconstant {patterns}
353\definesystemconstant {pc}
354\definesystemconstant {pickup}
355\definesystemconstant {plural}
356\definesystemconstant {plus}
357\definesystemconstant {posit}
358%definesystemconstant {pt}
359\definesystemconstant {reflected}
360\definesystemconstant {realpage}
361\definesystemconstant {register}
362\definesystemconstant {Regular}
363\definesystemconstant {regular}
364\definesystemconstant {relation}
365\definesystemconstant {reset}
366\definesystemconstant {reverse}
367\definesystemconstant {rgb}
368\definesystemconstant {righthyphenchar}
369\definesystemconstant {righthyphenmin}
370\definesystemconstant {rightpage}
371\definesystemconstant {right}
372\definesystemconstant {rm}
373\definesystemconstant {rname}
374\definesystemconstant {rscale}
375\definesystemconstant {SansBoldItalic}
376\definesystemconstant {SansBoldSlanted}
377\definesystemconstant {SansBold}
378\definesystemconstant {SansCaps}
379\definesystemconstant {SansItalic}
380\definesystemconstant {SansSlanted}
381\definesystemconstant {Sans}
382\definesystemconstant {sans}
383\definesystemconstant {scaled}
384\definesystemconstant {scriptscript}
385\definesystemconstant {script}
386\definesystemconstant {sc}
387\definesystemconstant {second}
388\definesystemconstant {section}
389\definesystemconstant {SerifBoldItalic}
390\definesystemconstant {SerifBoldSlanted}
391\definesystemconstant {SerifBold}
392\definesystemconstant {SerifCaps}
393\definesystemconstant {SerifItalic}
394\definesystemconstant {SerifSlanted}
395\definesystemconstant {Serif}
396\definesystemconstant {serif}
397\definesystemconstant {setups}
398\definesystemconstant {setup}
399\definesystemconstant {set}
400\definesystemconstant {themaintextcolor}
401\definesystemconstant {shrink}
402\definesystemconstant {simple}
403\definesystemconstant {Simple}
404\definesystemconstant {single}
405\definesystemconstant {singular}
406\definesystemconstant {size}
407\definesystemconstant {slanted}
408\definesystemconstant {Slanted}
409%definesystemconstant {sl}
410\definesystemconstant {smallcaps}
411\definesystemconstant {small}
412\definesystemconstant {somewhere}
413\definesystemconstant {source}
414\definesystemconstant {special}
415\definesystemconstant {spec}
416\definesystemconstant {spot}
417\definesystemconstant {spread}
418\definesystemconstant {sp}
419\definesystemconstant {ss}
420\definesystemconstant {start}
421\definesystemconstant {stop}
422\definesystemconstant {stretch}
423\definesystemconstant {subpage}
424\definesystemconstant {subtype}
425\definesystemconstant {sub}
426\definesystemconstant {Support}
427\definesystemconstant {sygreek}
428\definesystemconstant {symbol}
429\definesystemconstant {system}
430\definesystemconstant {style}
431\definesystemconstant {text}
432\definesystemconstant {tex}
433\definesystemconstant {tf}
434\definesystemconstant {target}
435\definesystemconstant {thickness}
436\definesystemconstant {third}
437\definesystemconstant {topfloat}
438\definesystemconstant {top}
439\definesystemconstant {to}
440\definesystemconstant {traditional}
441\definesystemconstant {trial}
442\definesystemconstant {triple}
443\definesystemconstant {true}
444\definesystemconstant {tt}
445\definesystemconstant {Type}
446\definesystemconstant {ucgreek}
447\definesystemconstant {uncramped}
448\definesystemconstant {unexpanded}
449\definesystemconstant {unpack}
450\definesystemconstant {unknown}
451\definesystemconstant {Unicode}
452\definesystemconstant {unroll}
453\definesystemconstant {upright}
454\definesystemconstant {usecallback}
455\definesystemconstant {userdata}
456\definesystemconstant {userpage}
457\definesystemconstant {user}
458\definesystemconstant {variant}
459\definesystemconstant {vfrac}
460\definesystemconstant {vfactor}
461\definesystemconstant {white}
462\definesystemconstant {width}
463\definesystemconstant {xml}
464\definesystemconstant {xmove}
465\definesystemconstant {xoffset}
466\definesystemconstant {xx}
467\definesystemconstant {x}
468\definesystemconstant {ymove}
469\definesystemconstant {yoffset}
470
471\definesystemconstant {syncpos}
472
473\definesystemconstant {tagging}
474
475\definesystemconstant {differentiald}
476\definesystemconstant {exponentiale}
477\definesystemconstant {imaginaryi}
478\definesystemconstant {imaginaryj}
479\definesystemconstant {pi}
480
481
482
483%D As the name of their define command states, the next set of constants is used in
484%D the message macro's.
485
486\definemessageconstant {backend}
487\definemessageconstant {check}
488\definemessageconstant {chemicals}
489\definemessageconstant {colors}
490\definemessageconstant {columns}
491\definemessageconstant {fields}
492\definemessageconstant {figures}
493\definemessageconstant {files}
494\definemessageconstant {floatblocks}
495\definemessageconstant {fonts}
496\definemessageconstant {handlings}
497\definemessageconstant {interactions}
498\definemessageconstant {javascripts}
499\definemessageconstant {languages}
500\definemessageconstant {layouts}
501\definemessageconstant {lua}
502\definemessageconstant {math}
503\definemessageconstant {metapost}
504\definemessageconstant {publications}
505\definemessageconstant {references}
506\definemessageconstant {regimes}
507\definemessageconstant {structures}
508\definemessageconstant {columnset}
509\definemessageconstant {symbols}
510\definemessageconstant {system}
511\definemessageconstant {textblocks}
512\definemessageconstant {verbatims}
513\definemessageconstant {versions}
514
515%D When we use numbers and dimensions the same applies as with the keywords like
516%D \type {width} and \type {plus} mentioned earlier.
517
518\immutable\def\!!ten                   {10}
519\immutable\def\!!twelve                {12}
520\immutable\def\!!hundred              {100}
521\immutable\def\!!thousand            {1000}
522\immutable\def\!!tenthousand        {10000}
523\immutable\def\!!maxcard            {65536}
524\immutable\def\!!medcard            {32768}
525
526\immutable\def\!!zeropoint            {0pt}
527\immutable\def\!!onepoint             {1pt}
528\immutable\def\!!twopoint             {2pt}
529\immutable\def\!!threepoint           {3pt}
530\immutable\def\!!fourpoint            {4pt}
531\immutable\def\!!fivepoint            {5pt}
532\immutable\def\!!sixpoint             {6pt}
533\immutable\def\!!sevenpoint           {7pt}
534\immutable\def\!!eightpoint           {8pt}
535\immutable\def\!!ninepoint            {9pt}
536\immutable\def\!!tenpoint            {10pt}
537\immutable\def\!!elevenpoint         {11pt}
538\immutable\def\!!twelvepoint         {12pt}
539\immutable\def\!!fourteenpointfour {14.4pt}
540
541\immutable\def\!!plustoken              {+}   % todo: \??plustoken
542\immutable\def\!!minustoken             {-}   % todo: \??minustoken
543
544\immutable\def\__unknown__    {\string\\//} % unlikely value
545
546%D Variables are composed of a command specific tag and a user supplied variable
547%D (system constant). The tag \type {du} for instance is available as \type {\??du}
548%D and expands to \type {@@du} in composed variables.
549
550\definesystemvariable {du}   % dummy, will stay
551
552% bibl:
553
554\definesystemvariable {pv}   % PublicationVariable
555\definesystemvariable {pb}   % PuBlication
556
557% needs checking (namespaces now)
558
559\definesystemvariable {fw}   % simpleFonts by Wolfgang
560
561% old pragma
562
563\definesystemvariable {kt}   % KonTakten
564\definesystemvariable {kw}   % KontaktWaarde
565\definesystemvariable {st}   % STickers
566\definesystemvariable {km}   % KenMerk
567
568% mkii
569
570\definesystemvariable {xf}   % XML File (xtag)
571\definesystemvariable {xp}   % XML Processing (xtag, so still needed)
572\definesystemvariable {fo}   % xml FO (xtag)
573\definesystemvariable {fx}   % FoXet
574
575% mkiv
576
577%D Next we define some language independant one letter variables and keywords. We can
578%D actually make these system variables.
579
580\defineinterfaceconstant {x} {x}
581\defineinterfaceconstant {y} {y}
582\defineinterfaceconstant {w} {w}
583\defineinterfaceconstant {h} {h}
584\defineinterfaceconstant {s} {s}
585\defineinterfaceconstant {t} {t}
586
587\defineinterfaceconstant {a} {a} % can go
588\defineinterfaceconstant {b} {b} % can go
589\defineinterfaceconstant {c} {c} % can go
590\defineinterfaceconstant {d} {d} % can go
591\defineinterfaceconstant {e} {e} % can go
592\defineinterfaceconstant {f} {f} % can go
593
594%defineinterfaceconstant {s} {s}
595\defineinterfaceconstant {r} {r}
596\defineinterfaceconstant {g} {g}
597%defineinterfaceconstant {b} {b}
598%defineinterfaceconstant {c} {c}
599\defineinterfaceconstant {m} {m}
600%defineinterfaceconstant {y} {y}
601\defineinterfaceconstant {k} {k}
602%defineinterfaceconstant {a} {a} % alternative
603%defineinterfaceconstant {t} {t} % transparency
604\defineinterfaceconstant {p} {p} % percentage
605%defineinterfaceconstant {h} {h}
606%defineinterfaceconstant {s} {s}
607\defineinterfaceconstant {v} {v}
608
609\defineinterfaceconstant {rgb}  {rgb}
610\defineinterfaceconstant {cmyk} {cmyk}
611\defineinterfaceconstant {mp}   {mp}
612
613\defineinterfacevariable {rgb}  {rgb}
614\defineinterfacevariable {cmyk} {cmyk}
615\defineinterfacevariable {mp}   {mp}
616
617\defineinterfacevariable {s} {s}
618
619\defineinterfacevariable {a} {a}
620\defineinterfacevariable {b} {b}
621\defineinterfacevariable {c} {c}
622\defineinterfacevariable {d} {d}
623
624%D Special purpose variables:
625
626\immutable\def\v!oddeven#1{\ifodd#1\v!odd\else\v!even\fi}
627
628%D The names of files and their extensions are fixed. \CONTEXT\ uses as less
629%D files as possible. Utility files can be recognized by the first two
630%D characters of the extension: \type {tu}.
631
632%definefileconstant {utilityfilename}    {texutil}
633%definefileconstant {blockextension}     {tub}
634%definefileconstant {figureextension}    {tuf}
635%definefileconstant {inputextension}     {tui}
636%definefileconstant {outputextension}    {tuo} % tup for previous run
637%definefileconstant {optionextension}    {top}
638%definefileconstant {temporaryextension} {tmp}
639%definefileconstant {patternsextension}  {pat}
640%definefileconstant {hyphensextension}   {hyp}
641%definefileconstant {fontmapextension}   {map}
642\definefileconstant {bibextension}       {bbl}
643
644%D These files are loaded at start||up. They may contain system specific setups (or
645%D calls to other files), old macro's, to garantee compatibility and new macro's noy
646%D yet present in the format.
647
648\definefileconstant {sysfilename} {cont-sys.mkxl}
649\definefileconstant {newfilename} {cont-new.mkxl}
650\definefileconstant {locfilename} {cont-loc.mkxl}
651\definefileconstant {expfilename} {cont-exp.mkxl}
652\definefileconstant {fntfilename} {cont-fnt.mkxl} % not yet used
653\definefileconstant {gdsfilename} {cont-fnt.lfg}  % not yet used
654
655%D The setup files for the language, font, color and special subsystems have a common
656%D prefix. This means that we have at most three characters for unique filenames.
657
658\definefileconstant {colo_run} {s-colors-show}
659\definefileconstant {font_run} {s-fonts-show}
660\definefileconstant {page_run} {s-layout-show}
661\definefileconstant {symb_run} {s-symbols-show}
662\definefileconstant {publ_tra} {s-publications-show}
663\definefileconstant {math_run} {s-math-show}
664
665%D For figure inclusion we need(ed):
666
667%defineinterfaceconstant {tif}  {tif}
668%defineinterfaceconstant {eps}  {eps}
669%defineinterfaceconstant {mps}  {mps}
670%defineinterfaceconstant {jpg}  {jpg}
671%defineinterfaceconstant {pdf}  {pdf}
672%defineinterfaceconstant {png}  {png}
673%defineinterfaceconstant {avi}  {avi}
674%defineinterfaceconstant {mov}  {mov}
675%defineinterfaceconstant {svg}  {svg}
676\defineinterfaceconstant {tex}  {tex} % Also gone?
677%defineinterfaceconstant {tmp}  {tmp}
678%defineinterfaceconstant {cld}  {cld}
679
680%D A careful reader will have noticed that in the module \type {mult-ini} we defined
681%D \type {\selectinterface}. We were not yet able to actually select an interface,
682%D because we still had to define the constants and variables. Now we've done so,
683%D selection is permitted.
684
685\selectinterface
686
687%D Ok, here are some more, because we've got ourselves some extensions to \CONTEXT.
688
689\definemessageconstant {addresses}
690\definemessageconstant {documents}
691
692\protect \endinput
693