1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27\chardef\escapecatcode 0
28\chardef\begingroupcatcode 1
29\chardef\endgroupcatcode 2
30\chardef\mathshiftcatcode 3
31\chardef\alignmentcatcode 4
32\chardef\endoflinecatcode 5
33\chardef\parametercatcode 6
34\chardef\superscriptcatcode 7
35\chardef\subscriptcatcode 8
36\chardef\ignorecatcode 9
37\chardef\spacecatcode 10
38\chardef\lettercatcode 11
39\chardef\othercatcode 12
40\chardef\activecatcode 13
41\chardef\commentcatcode 14
42\chardef\invalidcatcode 15
43
44
45\chardef\tabasciicode 9
46\chardef\newlineasciicode 10
47\chardef\formfeedasciicode 12
48\chardef\endoflineasciicode 13
49\chardef\endoffileasciicode 26
50\chardef\spaceasciicode 32
51\chardef\exclamationmarkasciicode 33
52\chardef\doublequoteasciicode 34
53\chardef\hashasciicode 35
54\chardef\dollarasciicode 36
55\chardef\commentasciicode 37
56\chardef\ampersandasciicode 38
57\chardef\singlequoteasciicode 39
58\chardef\primeasciicode 39
59\chardef\leftparentasciicode 40
60\chardef\rightparentasciicode 41
61\chardef\commaasciicode 44
62\chardef\hyphenasciicode 45
63\chardef\periodasciicode 46
64\chardef\forwardslashasciicode 47
65\chardef\colonasciicode 58
66\chardef\lessthanasciicode 60
67\chardef\morethanasciicode 62
68\chardef\questionmarkasciicode 63
69\chardef\atsignasciicode 64
70\chardef\backslashasciicode 92
71\chardef\circumflexasciicode 94
72\chardef\underscoreasciicode 95
73\chardef\leftbraceasciicode 123
74\chardef\barasciicode 124
75\chardef\rightbraceasciicode 125
76\chardef\tildeasciicode 126
77\chardef\delasciicode 127
78
79
80\catcode\tabasciicode \spacecatcode
81\catcode\formfeedasciicode \activecatcode
82
83\catcode\endoffileasciicode \ignorecatcode
84
85\catcode\hashasciicode \parametercatcode
86\catcode\dollarasciicode \mathshiftcatcode
87
88\catcode\ampersandasciicode \alignmentcatcode
89
90\catcode\circumflexasciicode \superscriptcatcode
91\catcode\underscoreasciicode \subscriptcatcode
92\catcode\leftbraceasciicode \begingroupcatcode
93\catcode\rightbraceasciicode \endgroupcatcode
94\catcode\tildeasciicode \activecatcode
95
96
97\chardef\statuswrite 128
98
99
100
101\directlua {
102 local primitives = tex.extraprimitives("core","tex","etex","luatex")
103
104
105
106 tex.enableprimitives("", primitives)
107 tex.enableprimitives("normal",primitives)
108
109 function tex.enableprimitives() end
110}
111
112\def\space{ }
113\def\empty{}
114
115\letcharcode \formfeedasciicode \par
116\letcharcode \tildeasciicode \
117\letcharcode \spaceasciicode \space
118
119\expandafter\def\csname\Uchar\tabasciicode \endcsname {\ }
120\expandafter\def\csname\Uchar\formfeedasciicode \endcsname {\par}
121\expandafter\def\csname\Uchar\endoflineasciicode\endcsname {\ }
122
123
124
125\def\gobbleoneargument#1{}
126
127
128
129
130\def\unprotect
131 {\edef\protect
132 {\catcode\atsignasciicode \the\catcode\atsignasciicode \relax
133 \catcode\exclamationmarkasciicode\the\catcode\exclamationmarkasciicode\relax
134 \catcode\questionmarkasciicode \the\catcode\questionmarkasciicode \relax
135 \catcode\underscoreasciicode \the\catcode\underscoreasciicode \relax
136 \let\protect\relax}
137 \catcode\atsignasciicode \lettercatcode
138 \catcode\exclamationmarkasciicode\lettercatcode
139 \catcode\questionmarkasciicode \lettercatcode
140 \catcode\underscoreasciicode \lettercatcode}
141
142\let\protect\relax
143
144\unprotect
145
146
147
148\let\bgroup={
149\let\egroup=}
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175\countdef \c_syst_min_allocated_register = 52 \c_syst_min_allocated_register = 256
176\countdef \c_syst_max_allocated_register = 53 \c_syst_max_allocated_register = 32767
177\countdef \c_syst_min_allocated_read = 54 \c_syst_min_allocated_read = 1
178\countdef \c_syst_max_allocated_read = 55 \c_syst_max_allocated_read = 16
179\countdef \c_syst_min_allocated_language = 56 \c_syst_min_allocated_language = 0
180\countdef \c_syst_max_allocated_language = 57 \c_syst_max_allocated_language = 255
181\countdef \c_syst_min_allocated_insert = 58 \c_syst_min_allocated_insert = 128
182\countdef \c_syst_max_allocated_insert = 59 \c_syst_max_allocated_insert = 254
183\countdef \c_syst_min_allocated_family = 60 \c_syst_min_allocated_family = 128
184\countdef \c_syst_max_allocated_family = 61 \c_syst_max_allocated_family = 255
185\countdef \c_syst_min_allocated_attribute = 62 \c_syst_min_allocated_attribute = 1024
186\countdef \c_syst_min_allocated_write = 63 \c_syst_min_allocated_write = 0
187\countdef \c_syst_max_allocated_write = 64 \c_syst_max_allocated_write = 127
188
189\countdef \c_syst_last_allocated_count = 32 \c_syst_last_allocated_count = \c_syst_min_allocated_register
190\countdef \c_syst_last_allocated_dimen = 33 \c_syst_last_allocated_dimen = \c_syst_min_allocated_register
191\countdef \c_syst_last_allocated_skip = 34 \c_syst_last_allocated_skip = \c_syst_min_allocated_register
192\countdef \c_syst_last_allocated_muskip = 35 \c_syst_last_allocated_muskip = \c_syst_min_allocated_register
193\countdef \c_syst_last_allocated_box = 36 \c_syst_last_allocated_box = \c_syst_min_allocated_register
194\countdef \c_syst_last_allocated_toks = 37 \c_syst_last_allocated_toks = \c_syst_min_allocated_register
195\countdef \c_syst_last_allocated_read = 38 \c_syst_last_allocated_read = \c_syst_min_allocated_read
196\countdef \c_syst_last_allocated_write = 39 \c_syst_last_allocated_write = \c_syst_min_allocated_write
197\countdef \c_syst_last_allocated_marks = 40 \c_syst_last_allocated_marks = \c_syst_min_allocated_register
198\countdef \c_syst_last_allocated_language = 41 \c_syst_last_allocated_language = \c_syst_min_allocated_language
199\countdef \c_syst_last_allocated_insertion = 42 \c_syst_last_allocated_insertion = \c_syst_min_allocated_insert
200\countdef \c_syst_last_allocated_family = 43 \c_syst_last_allocated_family = \c_syst_min_allocated_family
201\countdef \c_syst_last_allocated_attribute = 44 \c_syst_last_allocated_attribute = \c_syst_min_allocated_attribute
202
203\countdef \c_syst_min_counter_value = 125 \c_syst_min_counter_value = "7FFFFFFF
204\countdef \c_syst_max_counter_value = 126 \c_syst_max_counter_value = "7FFFFFFF
205
206\countdef \zerocount = 120 \zerocount = 0
207\countdef \plusone = 121 \plusone = 1
208\countdef \minusone = 122 \minusone = 1
209
210\countdef \normalpagebox = 127 \normalpagebox = 255
211
212
213
214
215
216
217
218
219
220
221
222
223
224\countdef \count@ 255
225\dimendef \dimen@ 0
226\dimendef \dimen@i 1
227\dimendef \dimen@ii 2
228
229
230
231
232
233
234\let\wlog\gobbleoneargument
235
236
237
238\protected\def\newcount {\syst_basics_allocate\c_syst_last_allocated_count \count \countdef \c_syst_max_allocated_register}
239\protected\def\newdimen {\syst_basics_allocate\c_syst_last_allocated_dimen \dimen \dimendef \c_syst_max_allocated_register}
240\protected\def\newskip {\syst_basics_allocate\c_syst_last_allocated_skip \skip \skipdef \c_syst_max_allocated_register}
241\protected\def\newmuskip {\syst_basics_allocate\c_syst_last_allocated_muskip \muskip \muskipdef \c_syst_max_allocated_register}
242\protected\def\newbox {\syst_basics_allocate\c_syst_last_allocated_box \box \mathchardef\c_syst_max_allocated_register}
243\protected\def\newtoks {\syst_basics_allocate\c_syst_last_allocated_toks \toks \toksdef \c_syst_max_allocated_register}
244\protected\def\newread {\syst_basics_allocate\c_syst_last_allocated_read \read \chardef \c_syst_max_allocated_read}
245\protected\def\newwrite {\syst_basics_allocate\c_syst_last_allocated_write \write \chardef \c_syst_max_allocated_write}
246\protected\def\newmarks {\syst_basics_allocate\c_syst_last_allocated_marks \marks \mathchardef\c_syst_max_allocated_register}
247\protected\def\newinsert {\syst_basics_allocate\c_syst_last_allocated_insertion\insert \chardef \c_syst_max_allocated_insert}
248
249
250
251\protected\def\newlanguage{\syst_basics_allocate\c_syst_last_allocated_language \language\chardef \c_syst_max_allocated_language}
252\protected\def\newfamily {\syst_basics_allocate\c_syst_last_allocated_family \fam \chardef \c_syst_max_allocated_family}
253
254\let\newfam\newfamily
255
256\let\newinteger \newcount
257\let\newdimension\newdimen
258
259\firstvalidlanguage\plusone
260
261
262
263
264\protected\def\newconstant #1{\ifdefined#1\let#1\undefined\fi\newcount#1}
265\protected\def\setnewconstant #1{\ifdefined#1\let#1\undefined\fi\newcount#1#1}
266\protected\def\setconstant {}
267\protected\def\setconstantvalue#1#2{\csname#1\endcsname\numexpr#2\relax}
268
269
270
271
272
273\newlinechar\newlineasciicode \edef\outputnewlinechar{\Uchar\newlineasciicode}
274
275
276
277
278
279
280
281\ifdefined\writestatus \else
282
283 \protected\def\writestatus#1#2{\message{#1: #2}}
284\fi
285
286\def\syst_basics_allocate_yes#1#2#3#4#5
287 {\ifnum#1<#4\relax
288 \global\advance#1\plusone
289 \global#3#5=#1\relax
290 \else
291 \writestatus{warning}{no room for \string#2\space \string#5\space (max: \number#4)}
292 \fi}
293
294\def\syst_basics_allocate_nop#1#2#3#4#5
295 {\writestatus{warning}{\string#2 \string#5 is already defined (\string\relax\space it first)}}
296
297\def\syst_basics_allocate#1#2#3#4#5
298 {\ifx#5\undefined
299 \expandafter\syst_basics_allocate_yes
300 \else\ifx#5\relax
301 \expandafter\expandafter\expandafter\syst_basics_allocate_yes
302 \else
303 \expandafter\expandafter\expandafter\syst_basics_allocate_nop
304 \fi\fi
305 #1#2#3#4#5}
306
307
308
309
310\protected\def\newbox {\syst_basics_allocate\c_syst_last_allocated_box \box \chardef\c_syst_max_allocated_register}
311\protected\def\newmarks{\syst_basics_allocate\c_syst_last_allocated_marks\marks\chardef\c_syst_max_allocated_register}
312
313
314
315
316
317
318\let\attributeunsetvalue\c_syst_min_counter_value
319
320\protected\def\newattribute{\syst_basics_allocate\c_syst_last_allocated_attribute\attribute\attributedef\c_syst_max_allocated_register}
321
322
323
324
325
326
327\protected\def\newhelp#1#2{\newtoks#1#1\expandafter{\detokenize{#2}}}
328
329
330
331
332
333
334
335
336
337
338
339\newcount \scratchcounter \newcount \globalscratchcounter \newcount \privatescratchcounter
340\newdimen \scratchdimen \newdimen \globalscratchdimen \newdimen \privatescratchdimen
341\newskip \scratchskip \newskip \globalscratchskip \newskip \privatescratchskip
342\newmuskip\scratchmuskip \newmuskip\globalscratchmuskip \newmuskip\privatescratchmuskip
343\newtoks \scratchtoks \newtoks \globalscratchtoks \newtoks \privatescratchtoks
344\newbox \scratchbox \newbox \globalscratchbox \newbox \privatescratchbox
345
346\newcount\scratchcounterone \newcount\scratchcountertwo \newcount\scratchcounterthree
347\newdimen \scratchdimenone \newdimen \scratchdimentwo \newdimen \scratchdimenthree
348\newskip \scratchskipone \newskip \scratchskiptwo \newskip \scratchskipthree
349\newmuskip\scratchmuskipone \newmuskip\scratchmuskiptwo \newmuskip\scratchmuskipthree
350\newtoks \scratchtoksone \newtoks \scratchtokstwo \newtoks \scratchtoksthree
351\newbox \scratchboxone \newbox \scratchboxtwo \newbox \scratchboxthree
352
353\newcount\scratchcounterfour \newcount\scratchcounterfive \newcount\scratchcountersix
354\newdimen \scratchdimenfour \newdimen \scratchdimenfive \newdimen \scratchdimensix
355\newskip \scratchskipfour \newskip \scratchskipfive \newskip \scratchskipsix
356\newmuskip\scratchmuskipfour \newmuskip\scratchmuskipfive \newmuskip\scratchmuskipsix
357\newtoks \scratchtoksfour \newtoks \scratchtoksfive \newtoks \scratchtokssix
358\newbox \scratchboxfour \newbox \scratchboxfive \newbox \scratchboxsix
359
360\newcount\globalscratchcounterone
361\newcount\globalscratchcountertwo
362\newcount\globalscratchcounterthree
363
364
365
366
367\let\tempstring\empty
368
369
370
371
372
373
374\newdimen\scratchwidth
375\newdimen\scratchheight
376\newdimen\scratchdepth
377\newdimen\scratchtotal
378
379\newdimen\scratchoffset
380\newdimen\scratchleftoffset
381\newdimen\scratchrightoffset
382\newdimen\scratchtopoffset
383\newdimen\scratchbottomoffset
384
385\newdimen\scratchdistance
386
387\newdimen\scratchhsize
388\newdimen\scratchvsize
389
390\newdimen\scratchxoffset
391\newdimen\scratchyoffset
392\newdimen\scratchhoffset
393\newdimen\scratchvoffset
394
395\newdimen\scratchxposition
396\newdimen\scratchyposition
397
398\newcount\scratchnx
399\newcount\scratchny
400
401\newcount\scratchmx
402\newcount\scratchmy
403
404\newcount\scratchmin
405\newcount\scratchmax
406
407\newcount\scratchunicode
408
409\newdimen\scratchleftskip
410\newdimen\scratchrightskip
411\newdimen\scratchtopskip
412\newdimen\scratchbottomskip
413
414
415
416\newskip \zeroskip \zeroskip 0pt plus 0pt minus 0pt
417\newdimen \zeropoint \zeropoint 0pt
418\newdimen \onepoint \onepoint 1pt
419\newdimen \halfapoint \halfapoint 0.5pt
420\newdimen \maxdimen \maxdimen 16383.99999pt
421\newcount \maxcount \maxcount 2147483647
422\newdimen \onebasepoint \onebasepoint 1bp
423\newdimen \scaledpoint \scaledpoint 1sp
424\newdimen \thousandpoint \thousandpoint 1000pt
425\newmuskip\zeromuskip \zeromuskip 0mu
426\newmuskip\onemuskip \onemuskip 1mu
427
428\newmuskip\muquad \muquad 18mu
429
430\let\points \onepoint
431\let\halfpoint\halfapoint
432
433\newtoks \emptytoks
434
435
436
437
438\newcount\minustwo \minustwo 2
439
440
441\chardef \plustwo 2
442\chardef \plusthree 3
443\chardef \plusfour 4
444\chardef \plusfive 5
445\chardef \plussix 6
446\chardef \plusseven 7
447\chardef \pluseight 8
448\chardef \plusnine 9
449\chardef \plusten 10
450\chardef \pluseleven 11
451\chardef \plustwelve 12
452\chardef \plussixteen 16
453\chardef \plusfifty 50
454\chardef \plushundred 100
455\chardef \plusonehundred 100
456\chardef \plustwohundred 200
457\chardef \plusfivehundred 500
458\chardef \pluscxxvii 127
459\chardef \pluscxxviii 128
460\chardef \pluscclv 255
461\chardef \pluscclvi 256
462\chardef \plusthousand 1000
463\chardef \plustenthousand 10000
464\chardef \plustwentythousand 20000
465\chardef \medcard 32768
466\chardef \maxcard 65536
467\chardef \maxcardminusone 65535
468
469
470
471
472
473
474\let\singleexpandafter \expandafter
475\def\doubleexpandafter{\expandafter\expandafter\expandafter}
476\def\tripleexpandafter{\expandafter\doubleexpandafter\expandafter}
477
478
479
480
481\newbox\voidbox
482
483\let\normalhbox\hbox
484\let\normalvbox\vbox
485
486\def\unvoidbox{\unhbox\voidbox}
487\def\emptybox {\box \voidbox}
488\def\emptyvbox{\normalvpack{}}
489\def\emptyhbox{\normalhpack{}}
490
491\let\leavevmode\unvoidbox
492
493
494
495
496
497
498\protected\def\dontcomplain
499 {\hbadness\plustenthousand
500 \vbadness\plustenthousand
501 \hfuzz \maxdimen
502 \vfuzz \maxdimen}
503
504
505
506
507\let \p@ \onepoint
508\let \m@ne \minusone
509\let \z@ \zeropoint
510\let \@ne \plusone
511\let \tw@ \plustwo
512\let \thr@@ \plusthree
513\let \sixt@@n \plussixteen
514\let \@cclv \pluscclv
515\let \@cclvi \pluscclvi
516\let \voidb@x \voidbox
517\newtoks \toks@
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563\protected\def\newif#1
564 {\let\new_if_saved\newif
565 \let\newif\new_if_check
566 \expandafter\def\csname\expandafter\newif\csstring#1true\endcsname {\let#1\iftrue }
567 \expandafter\def\csname\expandafter\newif\csstring#1false\endcsname{\let#1\iffalse}
568 \csname\expandafter\newif\csstring#1false\endcsname
569 \let\newif\new_if_saved}
570
571\bgroup
572 \normalexpanded{\gdef\noexpand\new_if_check\string i\string f{}}
573\egroup
574
575
576
577\newif\ifdone
578\newif\iffound
579
580\def\htdp#1{\dimexpr\ht#1\dp#1\relax}
581
582
583
584\protected\def\udef {\protected\def }
585\protected\def\ugdef{\protected\gdef}
586\protected\def\uedef{\protected\edef}
587\protected\def\uxdef{\protected\xdef}
588
589
590
591\protected\def\defUmathtopaccent #1#2#3#4{\global\instance\protected\def#1{\Umathaccent "#2 "#3 "#4 }}
592\protected\def\defUmathbotaccent #1#2#3#4{\global\instance\protected\def#1{\Umathbotaccent "#2 "#3 "#4 }}
593\protected\def\defUdelimiterover #1#2#3#4{\global\instance\protected\def#1{\Udelimiterover "#2 "#3 }}
594\protected\def\defUdelimiterunder #1#2#3#4{\global\instance\protected\def#1{\Udelimiterunder "#2 "#3 }}
595\protected\def\defUdelimiter #1#2#3#4{\global\instance\protected\def#1{\Udelimiter "#2 "#3 "#4 }}
596\protected\def\defUradical #1#2#3{\global\instance\protected\def#1{\Uradical "#2 "#3 }}
597\protected\def\defUroot #1#2#3{\global\instance\protected\def#1{\Uroot "#2 "#3 }}
598\protected\def\defUmathchar #1#2#3#4{\global\instance\Umathchardef #1 "#2 "#3 "#4 }
599
600
601
602
603\let\active\activecatcode
604
605
606
607\chardef\bottomlevelgroupcode = 0
608\chardef\simplegroupcode = 1
609\chardef\hboxgroupcode = 2
610\chardef\adjustedhboxgroupcode = 3
611\chardef\vboxgroupcode = 4
612\chardef\vtopgroupcode = 5
613\chardef\aligngroupcode = 6
614\chardef\noaligngroupcode = 7
615\chardef\outputgroupcode = 8
616\chardef\mathgroupcode = 9
617\chardef\discretionarygroupcode = 10
618\chardef\insertgroupcode = 11
619\chardef\vcentergroupcode = 12
620\chardef\mathchoicegroupcode = 13
621\chardef\semisimplegroupcode = 14
622\chardef\mathshiftgroupcode = 15
623\chardef\mathleftgroupcode = 16
624\chardef\vadjustgroupcode = \insertgroupcode
625
626
627
628\chardef\batchmodecode = 0
629\chardef\nonstopmodecode = 1
630\chardef\scrollmodecode = 2
631\chardef\errorstopmodecode = 3
632
633
634
635
636
637
638
639
640
641\ifdefined\internalcodesmode
642
643 \internalcodesmode\plusone
644
645
646
647
648
649\else
650
651
652
653
654
655
656
657
658
659
660
661
662 \chardef\gluenodecode = 11
663 \chardef\kernnodecode = 12
664 \chardef\penaltynodecode = 13
665
666
667
668\fi
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715\protected\def\tracingall
716 {\tracingonline \plusone
717 \tracingcommands \plusthree
718 \tracingstats \plustwo
719 \tracingpages \plusone
720 \tracingoutput \plusone
721 \tracinglostchars \plustwo
722 \tracingmacros \plustwo
723 \tracingparagraphs\plusone
724 \tracingrestores \plusone
725 \showboxbreadth \maxdimen
726 \showboxdepth \maxdimen
727 \tracinggroups \plusone
728 \tracingifs \plusone
729 \tracingscantokens\plusone
730 \tracingnesting \plustwo
731 \tracingassigns \plustwo}
732
733\protected\def\loggingall
734 {\tracingall
735 \tracingonline \zerocount}
736
737\protected\def\tracingnone
738 {\tracingassigns \zerocount
739 \tracingnesting \zerocount
740 \tracingscantokens\zerocount
741 \tracingifs \zerocount
742 \tracinggroups \zerocount
743 \showboxdepth \plusthree
744 \showboxbreadth \plusfive
745 \tracingrestores \zerocount
746 \tracingparagraphs\zerocount
747 \tracingmacros \zerocount
748 \tracinglostchars \plusone
749 \tracingoutput \zerocount
750 \tracingpages \zerocount
751 \tracingstats \zerocount
752 \tracingcommands \zerocount
753 \tracingonline \zerocount}
754
755
756
757\showboxdepth \maxdimen
758\showboxbreadth\maxdimen
759
760
761
762\tracingstats\plusone
763
764
765
766\ifdefined\normalinput \else \let\normalinput\input \fi
767
768
769
770
771\let\normalouter\outer \def\outer{}
772
773
774
775
776\ifdefined\normaldump \else \let\normaldump\dump \fi
777
778\newtoks\everydump
779
780\def\dump{\the\everydump\global\everydump\emptytoks\glet\dump\relax\normaldump}
781
782
783
784\ifdefined\normaleveryjob \else \let\normaleveryjob\everyjob \fi
785
786\let\everyjob\relax \newtoks\everyjob
787
788\normaleveryjob{\the\everyjob}
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827\let\conditionalfalse\plusone
828\let\conditionaltrue \zerocount
829
830\protected\def\settrue #1{\let#1\conditionaltrue }
831\protected\def\setfalse#1{\let#1\conditionalfalse}
832
833\protected\def\settruevalue #1{\expandafter\let\csname#1\endcsname\conditionaltrue }
834\protected\def\setfalsevalue#1{\expandafter\let\csname#1\endcsname\conditionalfalse}
835
836\let\newconditional\setfalse
837\let\ifconditional \ifcase
838
839\let\then\relax
840
841\def\truecondition {\iftrue}
842\def\falsecondition{\iffalse}
843
844
845
846
847
848
849
850\protected\def\newmacro #1{\let#1\empty}
851\protected\def\setnewmacro#1{\let#1}
852
853\def\!!zerocount{0}
854\def\!!plusone {1}
855
856\protected\def\newfraction#1{\let#1\!!plusone}
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872\let\ifzeropt\ifcase
873
874
875
876
877
878
879
880
881\newtoks\t_syst_toks_temp \let\m_syst_toks_temp\t_syst_toks_temp
882
883\protected\def\appendtotoks #1{\let\m_syst_toks_temp#1\afterassignment\syst_toks_append_l \t_syst_toks_temp=}
884\protected\def\prependtotoks#1{\let\m_syst_toks_temp#1\afterassignment\syst_toks_prepend_l\t_syst_toks_temp=}
885
886
887
888
889\protected\def\globalappendtotoks #1{\let\m_syst_toks_temp#1\afterassignment\syst_toks_append_g \t_syst_toks_temp=}
890\protected\def\globalprependtotoks#1{\let\m_syst_toks_temp#1\afterassignment\syst_toks_prepend_g\t_syst_toks_temp=}
891
892\def\syst_toks_append_l {\normalexpanded{\m_syst_toks_temp{\the\m_syst_toks_temp\the\t_syst_toks_temp}}}
893\def\syst_toks_prepend_l{\normalexpanded{\m_syst_toks_temp{\the\t_syst_toks_temp\the\m_syst_toks_temp}}}
894
895\def\syst_toks_append_g {\global\syst_toks_append_l }
896\def\syst_toks_prepend_g{\global\syst_toks_prepend_l}
897
898\protected\def\addtotoks #1{\let\m_syst_toks_temp#1\afterassignment\syst_toks_add_l\let\next}
899\protected\def\globaladdtotoks#1{\let\m_syst_toks_temp#1\afterassignment\syst_toks_add_g\let\next}
900
901\def\syst_toks_add_l{\m_syst_toks_temp\expandafter\bgroup\the\m_syst_toks_temp}
902\def\syst_toks_add_g{\global\syst_toks_add_l}
903
904\protected\def\addtotokscs #1#2{#1{\the#1#2}}
905\protected\def\globaladdtotokscs#1#2{\global#1{\the#1#2}}
906
907
908
909
910
911
912
913
914\let\begcsname\begincsname
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931\protected\def\reseteverypar
932 {\everypar\emptytoks}
933
934\let\endgraf\par
935\let\endline\cr
936
937\protected\def\null{\hpack{}}
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953\def\obeylines {\catcode\endoflineasciicode\activecatcode\letcharcode\endoflineasciicode\par}
954\def\obeyspaces{\catcode\spaceasciicode \activecatcode\letcharcode\spaceasciicode \space}
955
956
957
958
959
960
961
962
963
964
965\def\loop#1\repeat{\def\@@plnbody{#1}\@@plniterate}
966
967
968
969
970\let\repeat\fi
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986\def\@@plniterate{\@@plnbody\expandafter\@@plniterate\else\fi}
987
988
989
990\output{\shipout\box\normalpagebox}
991
992
993
994
995\countdef\pageno\zerocount \pageno\plusone
996
997
998
999
1000\def\folio{\the\pageno}
1001
1002
1003
1004
1005\newskip \bigskipamount \bigskipamount = 12pt plus 4pt minus 4pt
1006\newskip \medskipamount \medskipamount = 6pt plus 2pt minus 2pt
1007\newskip \smallskipamount \smallskipamount = 3pt plus 1pt minus 1pt
1008
1009\baselineskip = 12pt
1010\lineskip = 1pt
1011\lineskiplimit = 0pt
1012
1013
1014
1015
1016\protected\def\vkern {\ifhmode\par \fi\kern}
1017\protected\def\hkern {\ifvmode\dontleavehmode\fi\kern}
1018
1019\protected\def\vpenalty{\ifhmode\par \fi\penalty}
1020\protected\def\hpenalty{\ifvmode\dontleavehmode\fi\penalty}
1021
1022
1023
1024
1025\newskip \hideskip \hideskip = 1000pt plus 1fill
1026\newskip \centering \centering = 0pt plus 1000pt minus 1000pt
1027
1028\def\hidewidth
1029 {\hskip\hideskip}
1030
1031\def\ialign
1032 {\everycr\emptytoks
1033 \tabskip\zeroskip
1034 \halign}
1035
1036\newcount \mscount
1037
1038\def\spanomit{\span\omit}
1039
1040\def\multispan#1
1041 {\omit
1042 \mscount#1\relax
1043 \loop
1044 \ifnum\mscount>\plusone
1045 \spanomit \advance\mscount\minusone
1046 \repeat}
1047
1048
1049
1050\ifdefined\pdfvariable
1051
1052 \pdfvariable compresslevel \plusthree
1053 \pdfvariable objcompresslevel \plusone
1054
1055 \pdfvariable decimaldigits \plussix
1056 \pdfvariable gamma \plusthousand
1057 \pdfvariable imageresolution 300
1058 \pdfvariable imageapplygamma \zerocount
1059 \pdfvariable imagegamma 2200
1060 \pdfvariable imagehicolor \plusone
1061 \pdfvariable imageaddfilename \plusone
1062 \pdfvariable pkresolution 1200
1063 \pdfvariable inclusioncopyfonts \plusone
1064 \pdfvariable inclusionerrorlevel \zerocount
1065 \pdfvariable gentounicode \plusone
1066 \pdfvariable omitcidset \plusone
1067 \pdfvariable omitcharset \plusone
1068 \pdfvariable pagebox \zerocount
1069
1070 \pdfvariable minorversion \plusseven
1071 \pdfvariable uniqueresname \zerocount
1072 \pdfvariable horigin 1in
1073 \pdfvariable vorigin 1in
1074
1075
1076
1077
1078 \pdfvariable pkfixeddpi \plusone
1079 \pdfvariable ignoreunknownimages \zerocount
1080
1081\fi
1082
1083\let\nopdfcompression \relax
1084\let\onlypdfobjectcompression\relax
1085\let\maximumpdfcompression \relax
1086\let\normalpdfcompression \relax
1087
1088\ifdefined\outputmode
1089 \outputmode \zerocount
1090\fi
1091
1092
1093
1094\newif\ifproductionrun
1095
1096
1097
1098\ifx\fmtname \undefined \def\fmtname {ConTeXt Initial TeX} \fi
1099\ifx\fmtversion\undefined \def\fmtversion{3.1415926} \fi
1100
1101
1102
1103\def\modulonumber#1#2{\the\numexpr#2((((#2(#12))#1)1)*#1)\relax}
1104\def\dividenumber#1#2{\the\numexpr(#2(#12))#1\relax}
1105
1106\ifdefined\texenginename \else
1107 \edef\texenginename{\directlua{tex.print(LUATEXENGINE)}}
1108\fi
1109
1110\ifdefined\texengineversion \else
1111 \edef\texengineversion{\directlua{tex.print(LUATEXVERSION)}}
1112\fi
1113
1114\ifdefined\texenginefunctionality \else
1115 \edef\texenginefunctionality{\directlua{tex.print(LUATEXFUNCTIONALITY)}}
1116\fi
1117
1118
1119
1120\savingvdiscards\plusone
1121
1122
1123
1124
1125\let\synctex\undefined \newcount\synctex \let\normalsynctex\synctex
1126
1127
1128
1129\voffset\zeropoint \let\voffset\relax \newdimen\voffset \let\normalvoffset\voffset
1130\hoffset\zeropoint \let\hoffset\relax \newdimen\hoffset \let\normalhoffset\hoffset
1131
1132\ifdefined\pageleftoffset
1133 \let\pageleftoffset \hoffset \let\normalpageleftoffset \hoffset
1134 \let\pagerightoffset \hoffset \let\normalpagerightoffset \hoffset
1135 \let\pagetopoffset \voffset \let\normalpagetopoffset \voffset
1136 \let\pagebottomoffset\voffset \let\normalpagebottomoffset\voffset
1137\fi
1138
1139
1140
1141\ifdefined\suppresslongerror \suppresslongerror \plusone \fi
1142\ifdefined\suppressoutererror \suppressoutererror \plusone \fi
1143\ifdefined\suppressmathparerror \suppressmathparerror \plusone \fi
1144\ifdefined\suppressifcsnameerror \suppressifcsnameerror \plusone \fi
1145\ifdefined\suppressfontnotfounderror\suppressfontnotfounderror\zerocount\fi
1146
1147\let \suppresslongerror \relax
1148\newcount\suppresslongerror \let\normalsuppresslongerror \suppresslongerror
1149\let \suppressoutererror \suppresslongerror \let\normalsuppressoutererror \suppresslongerror
1150\let \suppressmathparerror \suppresslongerror \let\normalsuppressmathparerror \suppresslongerror
1151\let \suppressifcsnameerror \suppresslongerror \let\normalsuppressifcsnameerror \suppresslongerror
1152\let \suppressfontnotfounderror\suppresslongerror \let\normalsuppressfontnotfounderror\suppresslongerror
1153
1154\matheqnogapstep\zerocount
1155
1156
1157
1158\ifdefined\overloadmode \else
1159 \newcount\overloadmode
1160
1161 \let\frozen \empty
1162 \let\tolerant \empty
1163 \let\overloaded\empty
1164 \let\aliased \empty
1165 \let\permanent \empty
1166 \let\immutable \empty
1167 \let\mutable \empty
1168 \let\instance \empty
1169 \let\noaligned \empty
1170 \let\enforced \empty
1171
1172 \let\unletfrozen\gobbleoneargument
1173 \let\letfrozen \gobbleoneargument
1174 \def\letcsname {\expandafter\let \csname}
1175 \def\defcsname {\expandafter\def \csname}
1176 \def\edefcsname {\expandafter\edef\csname}
1177
1178 \let\pushoverloadmode\relax
1179 \let\popoverloadmode\relax
1180
1181 \let\pushrunstate\relax
1182 \let\poprunstate \relax
1183\fi
1184
1185
1186
1187
1188\newcount\c_syst_helpers_n_of_namespaces \c_syst_helpers_n_of_namespaces\pluseight
1189
1190\def\v_interfaces_prefix_template_system{\number \c_syst_helpers_n_of_namespaces>>}
1191
1192
1193\protected\def\installsystemnamespace#1
1194 {\ifcsname ??#1\endcsname
1195 \immediate\write\statuswrite{fatal error: duplicate system namespace #1}
1196 \expandafter\normalend
1197 \else
1198 \global\advance\c_syst_helpers_n_of_namespaces\plusone
1199 \expandafter\edef\csname ??#1\endcsname{\v_interfaces_prefix_template_system}
1200 \fi}
1201
1202
1203
1204\let\normalsuperscript \Usuperscript
1205\let\normalsubscript \Usubscript
1206\let\normalnosuperscript\Unosuperscript
1207\let\normalnosubscript \Unosubscript
1208\let\normalstartimath \Ustartmath
1209\let\normalstopimath \Ustopmath
1210\let\normalstartdmath \Ustartdisplaymath
1211\let\normalstopdmath \Ustopdisplaymath
1212
1213
1214
1215\def\wildcardsymbol{*}
1216
1217
1218
1219
1220\let\eTeXglueshrinkorder \undefined
1221\let\eTeXgluestretchorder\undefined
1222
1223
1224
1225\ifdefined\glyphdimensionsmode \else \newcount\glyphdimensionsmode \fi
1226
1227\glyphdimensionsmode\plusone
1228
1229
1230
1231
1232
1233\ifdefined \tokenized \else
1234 \def\tokenized#1{\scantextokens\expandafter{\normalexpanded{#1}}}
1235\fi
1236
1237\ifdefined \unhpack \else
1238 \let\unhpack\unhbox
1239 \let\unvpack\unvbox
1240\fi
1241
1242
1243
1244\let\nexttoken\relax
1245
1246
1247
1248
1249
1250
1251\ifdefined\partokenname
1252 \let\partokencontext\relax
1253 \newcount\partokencontext
1254 \let\partokenname\gobbleoneargument
1255\fi
1256
1257
1258
1259\ifdefined\autoparagraphmode \else
1260 \newcount\autoparagraphmode
1261\fi
1262
1263\let\advanceby \advance
1264\let\multiplyby\multiply
1265\let\divideby \divide
1266
1267\protect \endinput
1268 |