1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2
% latex.4ht 2005-03-27-10:43 %
3
% Copyright (C) 1997--2005 Eitan M. Gurari %
5
% This work may be distributed and/or modified under the %
6
% conditions of the LaTeX Project Public License, either %
7
% version 1.3 of this license or (at your option) any %
8
% later version. The latest version of this license is %
10
% http://www.latex-project.org/lppl.txt %
11
% and version 1.3 or later is part of all distributions %
12
% of LaTeX version 2003/12/01 or later. %
14
% This work has the LPPL maintenance status "maintained".%
16
% This Current Maintainer of this work %
17
% is Eitan M. Gurari. %
19
% If you modify this program your changing its signature %
20
% with a directive of the following form will be %
22
% \message{signature} %
24
% gurari@cse.ohio-state.edu %
25
% http://www.cse.ohio-state.edu/~gurari %
26
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
27
\immediate\write-1{version 2005-03-27-10:43}
29
\ifx\SaveMkHalignConf:g\:UnDef \else \expandafter\endinput\fi
33
\let\no@document\document
35
\let\document\no@document
36
\let\no@document\:UnDef
37
\document \at:startdoc }%
42
\let\o:enddocumenthook\@enddocumenthook
43
\def\@enddocumenthook{\HtmlEnv
45
\at:docend \csname export:hook\endcsname }
47
\ifx \pageno\:Undef \let\pageno\c@page \fi
49
\pend:def\protect:wrtoc{\:protect
50
\Configure{ }{ }\toc:lbl:idx}
51
\def\endMkHalign{\EndMkHalign}
53
\let\protect\@unexpandable@protect
54
\let\ref\o:ref \more:no
57
\:CheckOption{no-halign} \if:Option \else
58
\def\:temp{\everycr{}}
61
\def\:tblgn{\ifx [\:temp \expandafter\:tbln
62
\else \expandafter\c:tblgn \fi}
63
\def\:tbln[#1]#2#3#4#5{%
64
\def\m:tab{#2#3#4#5}\ifx \m:tab\empty \else
65
\Configure{\:tempa}{#2}{#3}{#4}{#5}{}\fi
67
\long\def\c:tblgn#1#2#3#4{%
68
\c:def\a:tabalgn{\ifx \EndPicture\:UnDef
69
\let\TabType\relax #1\fi}%
70
\d:def\b:tabalgn{\ifx \EndPicture\:UnDef #2\fi}%
71
\d:def\c:tabalgn{\ifx \EndPicture\:UnDef \gt:tab #3\fi}%
72
\d:def\d:tabalgn{\ifx \EndPicture\:UnDef #4\fi}\E:tabalign}
78
\csname a:#1\endcsname
79
\ifx \EndPicture\:Undef
80
\expandafter\expandafter\csname reg:#1\endcsname
83
\expandafter\def\csname #1\endcsname{\bgroup
84
\expandafter\def\csname end#1\endcsname{\csname
85
o:#1:\endcsname\egroup}%
86
\csname o:#1:\endcsname}%
87
\expandafter\def\csname end#1\endcsname{\csname
88
o:end#1:\endcsname$$\egroup
89
\csname b:#1\endcsname}\expandafter
90
\expandafter\csname o:#1:\endcsname
92
\def\SaveMkHalignConf:g#1{\SaveMkHalignConfig
93
\edef\:temp{\noexpand\Configure{MkHalign} {} {}
94
{\expandafter\noexpand\csname c:#1\endcsname}
95
{\expandafter\noexpand\csname d:#1\endcsname }
96
{\expandafter\noexpand\csname e:#1\endcsname
97
\noexpand\RecallMkHalignConfig}
98
{\expandafter\noexpand\csname f:#1\endcsname }}\:temp}
99
\tmp:cnt\time \divide\tmp:cnt 60
100
\edef\:temp{\the\tmp:cnt}
101
\multiply\tmp:cnt -60 \advance\tmp:cnt \time
102
\edef\:today{\the\year-\ifnum \month<10 0\fi
103
\the\month-\ifnum \day<10 0\fi\the\day
104
\space\ifnum \:temp<10 0\fi \:temp
105
:\ifnum \tmp:cnt<10 0\fi\the\tmp:cnt :00}
108
\ifx \@ifpackageloaded\:UnDef
109
\long\def\@ifpackageloaded#1#2#3{}
111
\def\:ifpackageloaded#1#2#3{%
112
\:CheckOption{no_#1}\if:Option \:Optionfalse
113
\else \@ifpackageloaded{#1}{#2}{#3}\fi}
114
\def\:iffil#1,#2!*?: {\def\:tempa{#1}\ifx \:temp\:tempa
117
\ifx \:tempa\empty \let\:tempb=\empty
118
\else \def\:tempb{\:iffil#2!*?: }\fi
122
\def\:temp{\o:obeylines:
123
\let\obeylines\o:obeylines:
124
\a:obyln \global\let\x:obln\end:obeylines \aftergroup\x:obln
126
\ifx\:tempa\par \ht:everypar{\ht:everypar{\b:obyln}}%
127
\else \ht:everypar{\b:obyln}\fi}%
128
\futurelet\:tempa\:temp }
129
\HLet\obeylines\:temp
130
\NewConfigure{obeylines}[3]{\c:def\a:obyln{#1}\c:def\b:obyln{#3}%
131
\c:def\end:obeylines{#2}}
132
\def\:temp#1{\leavevmode\a:oalign\o:oalign:{#1}\b:oalign}
134
\NewConfigure{oalign}{2}
143
\NewConfigure{hspace}{3}
144
\Configure{hspace}{}{}{ }
145
\def\:temp#1{\tmp:dim#1\relax
146
\a:hspace \hsp:c\hskip #1\relax\b:hspace}
148
\def\:temp#1{\tmp:dim#1\relax
149
\a:hspace \hsp:c\vrule \@width\z@\nobreak
150
\hskip #1\hskip \z@skip\b:hspace}
152
\def\hsp:c{\ifdim \tmp:dim<1em\else\c:hspace\fi
153
\ifdim \tmp:dim<2em\else\c:hspace\fi
154
\ifdim \tmp:dim<3em\else\c:hspace\fi
155
\ifdim \tmp:dim<4em\else\c:hspace\fi
156
\ifdim \tmp:dim<5em\else\c:hspace\fi}
158
\append:defI\:tempc{\a:vspace{#1}}
161
\append:defI\:tempc{\a:vspace{#1}}
162
\HLet\@vspacer\:tempc
163
\NewConfigure{vspace}[1]{\def\a:vspace##1{#1}}
168
\NewConfigure{textundescore}[1]{\expandafter
169
\def\csname ?\string\textunderscore\endcsname{\leavevmode#1}}
170
\Configure{textundescore}{\HChar{95}}
171
\expandafter\let\expandafter\OMS:textcircled\csname
172
OMS\string\textcircled\endcsname
173
\expandafter\def\csname OMS\string\textcircled\endcsname#1{%
174
\def\:next{\OMS:textcircled{#1}}%
175
\def\:temp{#1}\expandafter\scan:textcircled\a:textcircled{}!*?: %
177
\def\scan:textcircled#1{\def\:tempa{#1}\ifx \:tempa\empty
178
\expandafter\gob:textcircled
181
\expandafter\expandafter\expandafter\found:textcircled
182
\else\expandafter\expandafter\expandafter\cont:textcircled \fi
184
\def\found:textcircled#1#2!*?: {\def\:next{#1}}
185
\def\gob:textcircled#1!*?: {}
186
\def\cont:textcircled#1{\scan:textcircled}
188
\NewConfigure{textcircled}[1]{%
189
\def\:temp{#1}\ifx \:temp\empty \let\a:textcircled\empty \fi
190
\get:textcircled{#1}}
191
\def\get:textcircled#1{\def\:temp{#1}\ifx \:temp\empty
193
\append:def\a:textcircled{{#1}}\expandafter\more:textcircled
195
\def\more:textcircled#1{%
196
\append:def\a:textcircled{{#1}}\get:textcircled}
197
\Configure{textcircled}{}
198
\def\:tempc#1#2{\expandafter
199
\ifx \csname accent \cf@encoding :#1\endcsname\relax
200
\o:add@accent:{#1}{#2}%
201
\else \def\:temp{\add:accent{#1}{#2}}%
202
\expandafter\expandafter\expandafter\:temp
203
\csname accent \cf@encoding :#1\endcsname{}{}!*?: \fi }
204
\HLet\add@accent\:tempc
205
\def\add:accent#1#2#3#4{%
206
\def\:temp{#3#4}\ifx \:temp\empty
207
\o:add@accent:{#1}{#2}%
208
\expandafter\expandafter\expandafter\gob:pardel
209
\else \def\:temp{#2}\def\:tempa{#3}\ifx \:temp\:tempa
210
#4\expandafter\expandafter\expandafter\gob:pardel
212
\expand:after{\expand:after{\add:accent{#1}{#2}}}%
214
\def\gob:pardel#1!*?: {}
215
\NewConfigure{add accent}[3]{%
216
\expandafter\ifx \csname accent #1\endcsname\relax
217
\expandafter\let\csname accent #1\endcsname=\empty
218
\else \def\:temp{#2#3}\ifx \:temp\empty
219
\expandafter\let\csname accent #1\endcsname=\empty
221
\expandafter\scan:accents\csname accent #1\endcsname{#2}{#3}%
223
\def\scan:accents#1#2#3{\def\:temp{#2#3}\ifx \:temp\empty\else
224
\append:def#1{{#2}{#3}}\expand:after{\scan:accents#1}%
227
\:CheckOption{enum}\if:Option
228
\def\:temp#1{\a:romannumeral {\expandafter
229
\:slowroman\romannumeral #1@}\b:romannumeral}
231
\def\:temp#1{\a:romannumeral {\expandafter
232
\:Slowroman\romannumeral #1@}\b:romannumeral}
235
:warning{for configure roman numbers use the option 'enum' (unsafe)}
237
\NewConfigure{romannumeral}{2}
238
\def\:Slowroman#1{\ifx @#1\else
246
#1\fi\fi\fi\fi\fi\fi\fi\expandafter\:Slowroman\fi
248
\NewConfigure{Roman}[7]{%
249
\def\I:rnum{#1}\def\V:rnum{#2}\def\X:rnum{#3}\def\L:rnum{#4}%
250
\def\C:rnum{#5}\def\D:rnum{#6}\def\M:rnum{#7}}
251
\Configure{Roman}{I}{V}{X}{L}{C}{D}{M}
252
\def\:slowroman#1{\ifx @#1\else
260
#1\fi\fi\fi\fi\fi\fi\fi\expandafter\:slowroman\fi
262
\NewConfigure{roman}[7]{%
263
\def\i:rnum{#1}\def\v:rnum{#2}\def\x:rnum{#3}\def\l:rnum{#4}%
264
\def\c:rnum{#5}\def\d:rnum{#6}\def\m:rnum{#7}}
265
\Configure{roman}{i}{v}{x}{l}{c}{d}{m}
267
\let\:settodim\@settodim
268
\def\@settodim#1#2#3{\PictureOff \:settodim#1{#2}{#3}\PictureOn}
273
\let\document:select:group\document@select@group
274
\def\document@select@group#1#2#3#4{%
275
\ifx\math@bgroup\bgroup\else\relax\expandafter\@firstofone\fi
277
\document:select:group{#1}{#2}{#3}{}%
278
\expandafter\ifx \csname n:\expandafter
279
\:gobble\string#1:\endcsname\relax\else
280
\expandafter\let\csname o:\expandafter\:gobble
281
\string#1:\endcsname\:UnDef
282
\expandafter\HLet\expandafter#1\csname
283
n:\expandafter\:gobble\string#1:\endcsname
284
\expand:after{\global\expandafter\let
285
\csname o:\expandafter\:gobble\string#1:\endcsname}%
286
\csname o:\expandafter\:gobble\string#1:\endcsname
295
\def\no:lnk#1#2#3\EndLink{#3}
298
\def\no:lbl:idx{\let\label\@gobble }
299
\def\toc:lbl:idx{\a:NoSection}
301
\def\:tempc#1{\a:pageref\o:pageref:{#1}\b:pageref}
303
\NewConfigure{pageref}[3]{%
304
\def\a:pageref{#1\bgroup \Configure{ref}{\Link}{\EndLink}{#3}}%
305
\def\b:pageref{\egroup #2}%
307
\Configure{pageref}{}{}{}
308
\NewConfigure{@newlabel}[1]{\concat:config\a:@newlabel{#1}}
309
\let\a:@newlabel\relax
310
\NewConfigure{newlabel}[2]{%
311
\def\a:newlabel{#1}\ifx \a:newlabel\empty
312
\def\label:addr{\cur:th \:currentlabel}%
316
\def\a:newlabel##1{\expandafter\string\c:rEfLiNK{\label:addr}{#2}}}
317
\NewConfigure{ref}[3]{%
318
\def\a:rEfLiNK{#1}\def\b:rEfLiNK{#3}%
319
\ifx \a:rEfLiNK\empty
320
\ifx \b:rEfLiNK\empty
321
\expandafter\def\c:rEfLiNK##1##2{##2}%
323
\expandafter\def\c:rEfLiNK##1##2{#3}%
326
\ifx \b:rEfLiNK\empty
327
\expandafter\def\c:rEfLiNK##1##2{#1{##1}{}##2#2}%
329
\expandafter\def\c:rEfLiNK##1##2{#1{##1}{}#3#2}%
334
\Configure{newlabel}{\cur:th \:currentlabel}{#1}
335
\NewConfigure{newlabel-ref}[1]{\def\c:rEfLiNK{#1}%
336
\ifx \at:startdoc\:UnDef \dflt:ref{#1}\else
337
\pend:def\at:startdoc{\dflt:ref{#1}}\fi
339
\def\dflt:ref#1{\if@filesw\immediate\write\@auxout{\string\ifx
340
\string#1\string\UnDef\gdef\string#1\#1\#2{\#2}\string\fi}\fi}
341
\Configure{newlabel-ref}{\rEfLiNK}
342
\let\:writefile\@writefile
343
\def\@writefile#1{\bgroup \catcode`\:11 \:wrtfile{#1}}
344
\def\:wrtfile#1#2{\egroup\:writefile{#1}{#2}}
347
\expandafter\ifx \csname cur:th\endcsname\relax \expandafter\:label
348
\else \expandafter\l:bel \fi}
350
\def\l:bel#1{\@bsphack\if@filesw {\let\thepage\relax
353
\let\protect\@unexpandable@protect \cur:lbl{}%
354
\ifx \EndPicture\:UnDef
355
\ifx \cur:th\skip:anchor
357
\Make:Label{\label:addr}{}\egroup
359
\else \ifx \:currentlabel\empty
360
\def\:currentlabel{doc}%
362
\Make:Label{\label:addr}{}\egroup
369
\edef\:temp{\noexpand\AfterPicture{%
370
\noexpand\Make:Label{\label:addr}{}%
371
\noexpand\uno:lbl{\label:addr}}%
377
\edef\@tempa{\write\@auxout{\string
378
\newlabel{#1}{{\a:newlabel\@currentlabel
379
}{\a:newlabel\thepage
380
}\ifx \prf:label\:UnDef \else \prf:label\fi
383
\if@nobreak \ifvmode\nobreak\fi\fi\fi
384
\let\skip:anchor\:UnDef
388
\def\l::bel#1{{\:SUBOff\:SUPOff\xdef\:temp{\noexpand\l:bel:{#1}}}\:temp}
389
\def\l:bel{\Protect\l::bel}
391
\def\::ref#1{{\:SUBOff\:SUPOff\xdef\RefArg{#1}}\expandafter\o:ref
392
\expandafter{\RefArg}}
393
\def\:ref{\Protect\::ref}
395
\let\:newl@bel\@newl@bel
396
\let\n:wlbl\@newl@bel
397
\def\@newl@bel#1#2{{\:SUBOff\:SUPOff
398
\xdef\:temp{\noexpand\n:wlbl{#1}{#2}}}\:temp}
399
\let\:testdef\@testdef
400
\def\@testdef #1#2{{\:SUBOff\:SUPOff
401
\xdef\:temp{\noexpand\:testdef{#1}{#2}}}\:temp}
403
\def\uno:lbl#1{\def\:temp{#1}\futurelet\:tempa\I:lbl}
404
\def\I:lbl{\ifx \:tempa\Make:Label \expandafter\no:mklbl \fi}
405
\def\no:mklbl#1#2#3{\def\:tempa{#2}\ifx \:temp\:tempa \else
406
\Make:Label{#2}{#3}\fi}
407
\let\:currentlabel\empty
408
\NewConfigure{@:currentlabel}[1]{\concat:config\a:@:currentlabel{#1}}
409
\let\a:@:currentlabel\relax
410
\def\cur:lbl#1{{\a:@:currentlabel
411
\def\:currentlabel{\par}%
412
\ifx\@currentlabel\:currentlabel
413
\def\:currentlabel{\let\:currentlabel\empty}%
414
\else \def\:currentlabel{#1}%
415
\edef\:currentlabel{\def\noexpand
416
\:currentlabel{\ifx\:currentlabel\empty
417
\ifx \:@currentlabel\:UnDef \@currentlabel
418
\else \:@currentlabel \fi
420
\expandafter\ifx\csname #1:Count\endcsname\relax
421
\expandafter\the\csname c@#1\endcsname
422
\else \csname #1:Count\endcsname\fi
425
\expandafter}\:currentlabel}
426
\append:defI\refstepcounter{%
427
\let\cnt:currentlabel\@currentlabel
428
\def\:@currentlabel{\ifx \cnt:currentlabel\@currentlabel
429
\expandafter\the\csname c@#1\endcsname\else \@currentlabel\fi}%
433
\html:addr \edef\cur:th{x\last:haddr #1}%
434
\ifx \EndPicture\:UnDef
435
{\let\leavevmode\empty \cur:lbl{#2}%
436
\Make:Label{\cur:th\:currentlabel}{}}%
437
\else \ifx \label\@gobble \else \cur:lbl{#2}%
438
\edef\:temp{\noexpand\AfterPicture{%
439
\noexpand\Make:Label{\cur:th\:currentlabel}{}}}\:temp
442
\def\SkipRefstepAnchor{\def\anc:lbl##1##2{\html:addr
443
\edef\cur:th{x\last:haddr}\ShowRefstepAnchor
444
\let\skip:anchor\cur:th}}
445
\def\ShowRefstepAnchor{\let\anc:lbl\onc:lbl}
446
\def\AutoRefstepAnchor{\SkipRefstepAnchor}
448
\html:addr \edef\cur:th{x\last:haddr}
449
\def\Make:Label#1#2{%
450
\def\:tempb##1!*?: {%
451
\xdef\Made:Labels{{#1}\Made:Labels}%
452
\hbox{\Link{}{#1}#2\EndLink}%
455
\def\:tempc##1!*?: {\hbox{#2}}%
456
\let\:next=\check:labels \edef\:tempa{#1}%
457
\expandafter\:next\Made:Labels{}!*?: %
459
\let\Made:Labels=\empty
460
\def\check:labels#1{%
461
\def\:temp{#1}\ifx\:temp\empty \let\:next=\:tempb
462
\else\ifx \:temp\:tempa \let\:next=\:tempc
465
\HAssign\Labels:Cnt 0
467
\ifnum \Labels:Cnt>100
468
\def\:tempa##1!*?: {}%
469
\gHAssign\Labels:Cnt = 0
470
\let\:tempb\Made:Labels
471
\let\Made:Labels\empty
472
\expandafter\keep:Labels\:tempb!*?: %
473
\else \gHAdvance\Labels:Cnt by 1 \fi
475
\def\keep:Labels#1{\relax
476
\ifnum \Labels:Cnt<50
477
\xdef\Made:Labels{\Made:Labels{#1}}\gHAdvance\Labels:Cnt 1
478
\expandafter\keep:Labels
479
\else \expandafter\:tempa \fi }
480
\NewConfigure{currentlabel}{1}
484
\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi
485
\ifx \EndPicture\:UnDef \a:centercr \b:centercr
486
\fi \par \@ifstar{\nobreak\@xcentercr}\@xcentercr}
487
\def\@icentercr[#1]{%
488
\ifx \EndPicture\:UnDef
489
\ifdim #1>0.5\baselineskip \a:centercr\fi
490
\fi \vskip #1\ignorespaces}
491
\append:def\flushleft{\linepenalty10 }
492
\append:def\flushright{\linepenalty10 \ifx \EndPicture\:UnDef
493
\parfillskip\@flushglue
494
\leftskip\z@skip \rightskip\@flushglue
496
\append:def\centering{%
497
\linepenalty10 \ifx \EndPicture\:UnDef
498
\parfillskip\@flushglue
499
\leftskip\z@skip \rightskip\@flushglue
504
\catcode`\(=1 \catcode`\)=2 \catcode`\/=0
505
\catcode`\{=12 \catcode`\}=12 \catcode`\\=12
507
/expandafter/let/csname :#1:/endcsname=/empty
508
/edef/:temp(/def/expandafter/noexpand/csname a:#1/endcsname
509
####1/expandafter/noexpand/csname end/endcsname{#1}%
510
(####1/noexpand/:EndVerbatim/noexpand/end(#1)))/:temp
511
% /expandafter/def/csname
512
% b:#1/endcsname##1\end{#1}(##1/:EndVerbatim/end(#1))%
513
/expandafter/def/csname
514
b:#1/endcsname(/bgroup /catcode`/-=13
515
/def/:temp####1\end{#1}(/egroup
516
/def-(/string-/relax)%
517
####1/:EndVerbatim/end(#1))%
519
/edef/:temp(/noexpand/DefScript:
520
/expandafter/noexpand/csname #1/endcsname
521
(/expandafter/noexpand/csname a:#1/endcsname)%
522
(/expandafter/noexpand/csname b:#1/endcsname))/:temp
526
\def\@sverb#1{\a:verb \pend:def\verb@egroup{\b:verb}%
529
\HLet\@verbatim\:temp
530
\pend:def\@verbatim{%
531
\Configure{obeylines}{\let\ \v:ch}{}{\v:par}}
534
\let\choose:begin\@firstoftwo
535
\def\begin#1{\csname @begin:#1\endcsname \choose:begin
536
{\let\choose:begin\@firstoftwo \ifx \EndPicture\:Undef
537
\PushStack\envn:list\n:list \SaveEverypar \fi
538
\let\chk:pic\EndPicture
539
\ifx \EndPicture\:UnDef \list:save
540
\let\after:end\empty \csname before:begin#1\endcsname \fi
543
{\def\reserved@a{\@latex@error{Environment #1 undefined}\@eha}}%
544
{\def\reserved@a{\def\@currenvir{#1}%
545
\edef\@currenvline{\on@line}%
546
\ifx \EndPicture\:UnDef
547
\ifx \this:listConfigure\empty
548
\null:listConfigure \csname on#1:list\endcsname \fi
555
\begingroup\@endpefalse \reserved@a
558
\def\recall:afterend{\ifx \chk:pic\:UnDef
559
\ifhmode \hfill\break\fi
562
\:CheckOption{hooks+} \if:Option
563
\pend:defI\begin{\expandafter
564
\ifx\csname before:begin##1\endcsname\relax
565
\expandafter\ifx\csname bfr:begin##1\endcsname\relax
566
\immediate\write16{....\string\ConfigureEnv{##1}{}{}{}{}}%
567
\expandafter\let\csname bfr:begin##1\endcsname=\empty
571
\NewConfigure{@begin}[2]{%
572
\expandafter\ifx\csname @begin:#1\endcsname\relax\fi
573
\expandafter\concat:config\csname @begin:#1\endcsname{#2}}
575
\def\end#1{\choose:begin
577
\ifvmode \def\:temp{\def\:temp{%
578
\def\:temp{\IgnorePar
579
\ifx \:tempa\hline \expandafter\\\else\fi
581
\futurelet\:tempa\:temp
584
\expandafter\expandafter\expandafter\:temp}
587
\csname end#1\endcsname\@checkend{#1}%
588
\aftergroup\recall:afterend
589
\expandafter\endgroup\if@endpe\@doendpe\fi
590
\ifx \chk:pic\:UnDef \csname after:end\endcsname
591
\expandafter\let\csname after:end\endcsname\:UnDef
593
\PopStack\envn:list\:tempb
594
\ifnum \:tempb=\n:list \else
595
\def\:temp{#1}\def\:tempa{thebibliography}\ifx \:temp\:tempa
596
\else\:warning{\string\SaveEverypar's: \:tempb\space at
597
\string\begin{#1} and \n:list\space \string\end{#1}}%
600
\if@ignore\global\@ignorefalse\ignorespaces\fi
603
\def\:tempc{\@endpetrue
604
\def\par{\@restorepar\ht:everypar{\HtmlPar}\par\@endpefalse}%
605
\ht:everypar{{\setbox\z@\lastbox}\IgnoreIndent\HtmlPar
606
\ht:everypar{\HtmlPar}\@endpefalse}}
607
\HLet\@doendpe\:tempc
609
\def\:temp#1{\a:bordermatrix\o:bordermatrix:{#1}\b:bordermatrix}
610
\HLet\bordermatrix\:temp
611
\NewConfigure{bordermatrix}{2}
613
\def\tx:halign#1#2{\csname a:#1\endcsname
614
\csname \ifx \EndPicture\:Undef reg:#1\else o:#1:\fi
615
\endcsname{#2}\csname b:#1\endcsname}
616
\def\:tempc#1{\tx:halign{displaylines}{#1}}
617
\HLet\displaylines\:tempc
618
\catcode`\#13 \catcode`\!6
619
\def\reg:displaylines!1{\tabskip\z@skip
620
\SaveMkHalignConf:g{displaylines}\RecallTeXcr
621
\MkHalign#{\hbox{$\@lign\displaystyle#$}}!1\crcr
622
\EndMkHalign\RecallMkHalignConfig}
623
\catcode`\#=6 \catcode`\!=12
624
\NewConfigure{displaylines}{4}
627
\def\ProtectedMathSymbol#1#2{%
628
\def\:temp{{\math:sym#1{#2}}}%
629
\expandafter\HLet\csname #2 \endcsname\:temp
630
\NewConfigure{#2}{1}\Configure{#2}{\csname o:#2 :\endcsname}}
631
\def\EncMathSymbol#1#2#3{%
632
\NewConfigure{#2}{1}%
633
\edef\:tempc{#3\expandafter\string\csname #2\endcsname}%
634
\def\:temp{{\math:sym#1{#2}}}%
635
\expandafter\HLet \csname \:tempc\endcsname\:temp
636
\edef\:temp{\noexpand\Configure{#2}{\expandafter\noexpand
637
\csname \:tempc\endcsname}}\:temp
639
\EncMathSymbol\mathop{l}{OT1}
640
\EncMathSymbol\mathop{L}{OT1}
641
\MathSymbol\mathop{mathellipsis}
643
\def\bigl#1{\mathopen{\big{#1}}}
644
\def\bigm#1{\mathrel{\big{#1}}}
645
\def\bigr#1{\mathclose{\big{#1}}}
646
\def\Bigl#1{\mathopen{\Big{#1}}}
647
\def\Bigm#1{\mathrel{\Big{#1}}}
648
\def\Bigr#1{\mathclose{\Big{#1}}}
649
\def\biggl#1{\mathopen{\bigg{#1}}}
650
\def\biggm#1{\mathrel{\bigg{#1}}}
651
\def\biggr#1{\mathclose{\bigg{#1}}}
652
\def\Biggl#1{\mathopen{\Bigg{#1}}}
653
\def\Biggm#1{\mathrel{\Bigg{#1}}}
654
\def\Biggr#1{\mathclose{\Bigg{#1}}}
655
\def\:tempc{\a:quad} \HLet\quad\:tempc
656
\def\:tempc{\a:qquad} \HLet\qquad\:tempc
657
\NewConfigure{quad}{1} \Configure{quad}{\o:quad:}
658
\NewConfigure{qquad}{1} \Configure{qquad}{\o:qquad:}
659
\def\:temp#1#2{\a:mthpl\o:mathpalette:{#1}{#2}\b:mthpl}
660
\HLet\mathpalette\:temp
661
\NewConfigure{mathpalette}[2]{\c:def\a:mthpl{#1}\c:def\b:mthpl{#2}}
662
\Configure{mathpalette}{}{}
664
\ifmmode \expandafter\o:mathpalette:\expandafter\mathph@nt
665
\else \expandafter\makeph@nt \fi}
668
\ifmmode \expandafter\o:mathpalette:\expandafter\mathsm@sh
669
\else \expandafter\makesm@sh \fi}
672
\def\:temp #1\of #2{%
673
{\a:root #1\b:root#2\c:root}}
675
\NewConfigure{root}{3}
676
\NewConfigure{cases}[8]{\c:def\a:cases{#1}\c:def\b:cases{#2}%
677
\c:def\c:cases{#5}\c:def\d:cases{#6}\c:def\e:cases{#7}%
678
\c:def\f:cases{#8}\c:def\g:cases{#3}\c:def\h:cases{#4}}
679
\Configure{cases}{}{}{}{}{}{}{}{}
680
\def\:tempc#1{\tx:halign{cases}{#1}}
682
\catcode`\#13 \catcode`\!6
683
\def\reg:cases!1{\left\{\vcenter{\normalbaselines\m@th \g:cases
684
\SaveMkHalignConf:g{cases}\RecallTeXcr
685
\MkHalign#{$#$&{#}}!1\crcr
686
\EndMkHalign\RecallMkHalignConfig \h:cases}\right.}
687
\catcode`\#=6 \catcode`\!=12
688
\def\:tempc#1{\tx:halign{matrix}{#1}}
690
\catcode`\#13 \catcode`\!6
691
\def\reg:matrix!1{\null\,\vcenter{\normalbaselines\m@th
692
\SaveMkHalignConf:g{matrix}\RecallTeXcr
693
\MkHalign#{$#$&&$#$}!1\crcr
694
\EndMkHalign\RecallMkHalignConfig}}
695
\catcode`\#=6 \catcode`\!=12
696
\NewConfigure{matrix}{6}
697
\:CheckOption{no-pmatrix} \if:Option \else
698
\def\:temp#1{\a:pmatrix\o:pmatrix:{#1}\b:pmatrix}
700
\NewConfigure{pmatrix}{2}
703
\def\:temp#1{\relax\ifvmode\leavevmode\fi
704
\a:overline\hbox{${\HCode{}}#1$}\b:overline}
706
\NewConfigure{overline}{2}
708
\def\:tempc{\relax\ifmmode\csname a:,\endcsname\else\thinspace\fi}
709
\expandafter\HLet\csname , \endcsname=\:tempc
711
\ifmmode\csname a:,\endcsname\expandafter\:gobble\fi
713
\HLet\thinspace=\:tempc
715
\Configure{,}{\mskip\thinmuskip}
716
\def\:temp{\csname a:'\endcsname
717
\bgroup \aftergroup\:pr@m@s
719
\HLet\active@math@prime\:temp
720
{\catcode`\'=\active \global\let'\active@math@prime}
722
\pend:def\:tempc{\csname c:'\endcsname\:gobble}
725
\Configure{'}{}{}{\prime}
727
\def\:pr@m@s{\futurelet\:temp\pr@m:s}
729
\ifx\:temp\fi \expandafter\expandafter\expandafter\:pr@m@s
730
\else \expandafter\expandafter\csname b:'\endcsname\fi}
731
\def\:temp#1#2{{\a:frac\begingroup
732
#1\endgroup\b:frac \over \c:frac #2\d:frac}}
734
\NewConfigure{frac}{4}
735
\def\:temp#1{{\a:sqrtsign{\o:sqrtsign:{#1}}\b:sqrtsign}}
737
\NewConfigure{sqrtsign}{2}
738
\long\def\:temp#1{\leavevmode\hbox{\a:mbox {#1}\b:mbox}}
740
\NewConfigure{mbox}{2}
741
\long\def\:temp#1#2[#3]#4#5{%
744
\setlength\@tempdima{#4}%
745
\@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore#5\@@par}%
748
\setlength\@tempdimb{#2}%
749
\def\@parboxto{to\@tempdimb}%
754
\else\ifmmode\vcenter
755
\else\@pboxswtrue \expandafter\everymath\expandafter{\expandafter
756
\everymath\expandafter{\the\everymath}}%
759
\@parboxto{\let\hss\vss\let\unhbox\unvbox
760
\csname bm@#3\endcsname}%
763
\HLet\@iiiparbox\:temp
766
\ifmmode\o:@@underline:{#1}%
767
\else $\o:@@underline:{\hbox{#1}}\m@th$\relax\fi}
768
\def\:tempc#1{\relax\ifvmode\leavevmode\fi
769
\a:underline \o:@@underline:{#1}\b:underline}
770
\HLet\@@underline\:tempc
771
\def\:tempc#1{\relax\ifvmode\leavevmode\fi
772
\a:underline \o:underline:{#1}\b:underline}
773
\HLet\underline\:tempc
774
\NewConfigure{underline}{2}
776
\catcode`\#13 \catcode`\!6
777
\def\reg:eq:narray!1\cr{\SaveMkHalignConf:g{eq:narray\if@eqnsw\else *\fi}
778
\MkHalign#{\hskip\@centering$\displaystyle\tabskip\z@skip{#}$\@eqnsel
779
&\global\@eqcnt\@ne\hskip \tw@\arraycolsep \hfil${#}$\hfil
780
&\global\@eqcnt\tw@ \hskip \tw@\arraycolsep
781
$\displaystyle{#}$\hfil\tabskip\@centering
782
&\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss#\egroup \tabskip\z@skip
785
\catcode`\#=6 \catcode`\!=12
788
\EndMkHalign \RecallMkHalignConfig
789
\csname b:eq:narray\if@eqnsw\else *\fi\endcsname
790
\global\advance\c@equation\m@ne
792
\HLet\endeqnarray\:tempc
794
\html:addr \edef\cur:th{x\last:haddr r}%
796
\let\sv:halign=\halign \def\halign{\let\halign=\sv:halign
797
\eq:narray\halign}\o:eqnarray:}
798
\HLet\eqnarray\:tempc
800
\def\:tempc{\pic:MkHalign{eq:narray\if@eqnsw\else *\fi}}
801
\HLet\eq:narray\:tempc
802
\def\c:eqnarray:{\c:eq:narray:} \NewConfigure{eq:narray}{6}
803
\expandafter\let\csname reg:eq:narray*\endcsname\reg:eq:narray
804
\expandafter\def\csname c:eqnarray*:\endcsname{\csname
805
c:eq:narray*:\endcsname} \NewConfigure{eq:narray*}{6}
806
\let\snd:halign\empty
807
\def\:temp[#1]{\ifnum 0=`{\fi }\@@eqncr}
809
\def\:temp{\let\reserved@a\relax
810
\ifcase\@eqcnt \def\reserved@a{& & &}\or
811
\def\reserved@a{& &}%
812
\or \def\reserved@a{&}\else
813
\let\reserved@a\@empty
814
\@latex@error{Too many columns in eqnarray environment}\@ehc\fi
815
\reserved@a \if@eqnsw \@eqnnum
816
{\let\html:addr\empty \anc:lbl r{}%
818
\stepcounter{equation}\fi
820
\global\@eqnswtrue\global\@eqcnt\z@\cr}
824
\long\def\ConfigureList#1#2#3#4#5{\expandafter
825
\def\csname on#1:list\endcsname{\def\this:listConfigure{%
826
\def\:DLL{#2}\def\:DT{#4}\def\:DD{#5}\def\end:DL{#3}%
827
\tmp:cnt0 \def\:temp{#2#3#4#5}%
828
\g:let\:DLL{#1}\g:let\:DT{#1}\g:let\:DD{#1}\g:let\end:DL{#1}%
830
\def\null:listConfigure{%
831
\global\let\:DLL\empty
832
\global\let\:DT\empty \global\let\:DD\empty
833
\global\let\end:DL\empty \global\let\empty:D:T:D\empty}
834
\null:listConfigure \let\this:listConfigure\empty
841
\begingroup \aftergroup}%
842
\def\noexpand\@currenvir{\@currenvir}%
843
\def\noexpand\@currenvline{\on@line}}%
848
\long\def\:tempc[#1][#2]#3{\o:@imakebox:[#1][#2]{{#3}}}
849
\HLet\@imakebox\:tempc
851
\long\def\sbox#1#2{\:sbox#1{{#2}}}
853
\HAssign\minipageNum=0
856
\ht:everypar{\@minipagefalse\HtmlPar\ht:everypar{\HtmlPar}}%
857
\gHAdvance\:mpNum by 1
858
\HAssign\minipageNum=\:mpNum \relax
860
\long\def\:temp#1{\a:fbox\gobble:fbox\o:fbox:{\hbox{{#1}}}\b:fbox}
862
\let\gobble:fbox=\empty
864
\HLet\gobble:fbox\:tempc
865
\long\def\:temp[#1][#2]#3{%
866
\em:dim\frameboxWidth{#1}\def\frameboxAlign{#2}%
867
\a:framebox \gobble:frame\o:@iframebox:[#1][#2]{#3}\b:framebox}
868
\HLet\@iframebox\:temp
869
\NewConfigure{framebox}{2}
870
\let\gobble:frame=\empty
871
\def\:tempc#1[#2][#3]{\hbox}
872
\HLet\gobble:frame\:tempc
874
\tmp:dim=#2\tmp:cnt=0 \em:int \edef#1{\the\tmp:cnt}%
875
\tmp:dim=10\tmp:dim \tmp:cnt=0 \em:int \edef#1{#1.\the\tmp:cnt}%
876
\tmp:dim=10\tmp:dim \tmp:cnt=0 \em:int \edef#1{#1\the\tmp:cnt}%
881
\advance\tmp:cnt by 1 \advance\tmp:dim by -1em
885
\NewConfigure{centerline}[2]{\c:def\cnt:a{#1}\c:def\cnt:b{#2}}
886
\NewConfigure{leftline}[2]{\c:def\lft:a{#1}\c:def\lft:b{#2}}
887
\NewConfigure{rightline}[2]{\c:def\a:rightline{#1}\c:def\b:rightline{#2}}
890
\pend:def\:tempc{\Configure{HtmlPar}{}{}{}{}%
891
\edef\ln:tab{\LikeRef{)tb\tab:N } 0 }%
892
\let\TABBING\ln:tab \gdef\locs:tab{}}
894
\let\:tempc\endtabbing
896
\Tag{)tb\tab:N }{\locs:tab}%
897
\def\:temp{.}\ifx \:temp\dot:tab
898
\:warning{\noexpand\' ignored in tabbing}
900
\HLet\endtabbing\:tempc
901
\def\:addfield{\global\setbox\@curline\hbox{\unhbox
902
\@curline\unhbox\@curfield}}
904
\global\setbox\@curline\hbox{\unhbox
905
\@curline \x:tab\D:tab
906
\unhbox\@curfield \y:tab\d:tab
908
\tmp:dim\dimen\@curtab
909
\advance\tmp:dim -\loc:tab
911
\tmp:dim\last:len\relax
914
\tmp:dim\m:tab\tmp:dim
915
\xdef\locs:tab{\locs:tab\space \pt:int\tmp:dim}%
917
\xdef\loc:tab{\the\dimen\@curtab}%
919
\global\let\y:tab\empty
921
\HLet\@addfield\:temp
923
\TRD:tab \gdef\loc:tab{\z@}%
924
\ifnum \@nxttabmar >\@hightab
925
\@badtab \global\@nxttabmar \@hightab
927
\global\@curtabmar \@nxttabmar
928
\global\@curtab \@curtabmar
929
\global\setbox\@curline \hbox {}%
930
\@startfield \ifdim \the\dimen\@curtab > \z@
931
\gdef\x:tab{\D:tab \d:tab\gdef\x:tab{}}%
936
\HLet\@startline\:temp
939
\global\setbox\@curline\hbox{%
941
\hskip-\wd\@curfield \hskip-\tabbingsep
950
\@stopfield \:addfield
952
\global\advance\@tabpush \@ne
953
\begingroup \@contfield}
955
\def\:temp{\@stopfield \:addfield
957
\ifnum \@tabpush >\z@
958
\endgroup \global\advance\@tabpush \m@ne
959
\ifnum \@curtab >\@hightab
960
\global \@curtab \@hightab
962
\else \@badpoptabs \fi
965
\let\:tempc\@stopline
969
\advance\tmp:dim by -\wd\@curline
970
\edef\last:len{\if@rjfield \the\tmp:dim \else \z@\fi}%
973
\append:def\:tempc{\rt:tab
975
\tmp:dim\m:tab\tmp:dim
976
\xdef\locs:tab{\locs:tab\space \pt:int\tmp:dim }%
978
\HLet\@stopline\:tempc
982
\tmp:dim \if@rjfield \the\wd\@curfield\else \z@\fi
983
\tmp:dim\m:tab\tmp:dim
984
\xdef\locs:tab{\locs:tab\space 0 }%
988
\def\pt:int#1{\expandafter\pt:nt\the#1//}
989
\def\pt:nt#1.#2//{#1}
993
\@stopfield \edef\last:len{\the\wd\@curfield}%
994
\gdef\y:tab{\d:tabalgn \let\TabType=\`\relax \c:tabalgn}%
998
\def\TRD:tab{\gdef\D:tab{\a:tabalgn \c:tabalgn \gdef\D:tab{}}}
999
\def\d:tab{\gdef\D:tab{%
1000
\d:tabalgn \c:tabalgn \gdef\D:tab{}}}
1001
\def\rt:tab{\d:tabalgn\b:tabalgn}
1003
\afterassignment\gt:tb \tmp:cnt=\ln:tab \space 0//}
1004
\def\gt:tb#1//{\xdef\ln:tab{#1}%
1005
\edef\TabWidth{\ifnum \tmp:cnt> 0 \the\tmp:cnt\fi }}
1007
\let\E:tabalign\empty
1008
\def\c:tabbing:{\def\:tempa{tabbing}\futurelet\:temp\:tblgn}
1011
\pend:def\tabbing{\let\dot:tab\empty \gHAdvance\tab:N 1}
1012
\append:def\endtabbing{\Tag{)tb\tab:N .}{\dot:tab}}
1013
\pend:def\@tablab{\xdef\dot:tab{.}}
1015
\pend:defI\extracolsep{\a:extracolsep{##1}}
1016
\NewConfigure{extracolsep}[1]{\def\a:extracolsep##1{#1}}
1017
\Configure{extracolsep}{}
1018
\:CheckOption{no-array}\if:Option \else
1019
\def\:temp{\let\@array:a\a:array \let\@array:b\b:array
1020
\let\@array:c\c:array \let\@array:d\d:array
1021
\let\@array:e\e:array \let\@array:f\f:array \o:array:}
1023
\ifx \:@tabular:\:UnDef \let\:@tabular:\empty \fi
1024
\NewConfigure{multicolumn}{2}
1026
\:ifpackageloaded{array}{\:Optiontrue}{}
1030
\def\Clr{#2}\a:VBorder
1034
\setbox\@arstrutbox\hbox{%
1035
\vrule \@height\arraystretch\ht\strutbox
1036
\@depth\arraystretch \dp\strutbox
1040
\everycr{}\tabskip\z@skip\noexpand\MkHalign\noexpand\@sharp
1041
{\@arstrut \@preamble \tabskip\z@skip}%
1043
\let\@startpbox\@@startpbox \let\@endpbox\@@endpbox
1044
\let\tabularnewline\\%
1045
\if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi
1046
\bgroup \def\v:TBL{#1}%
1047
\let\par\@empty \let\protect\relax
1048
\lineskip\z@skip\baselineskip\z@skip
1049
\ifx \EndPicture\:UnDef
1050
\SaveMkHalignConfig \ifx \recall:ar\:UnDef
1051
\pend:def\@array{\recall:ar}%
1053
\noexpand\ifx \noexpand\EndPicture\noexpand\:UnDef \noexpand\else
1054
\arrayrulewidth\the\arrayrulewidth
1055
\doublerulesep\the\doublerulesep
1056
\arraycolsep\the\arraycolsep
1057
\tabcolsep\the\tabcolsep
1060
\arrayrulewidth\z@ \doublerulesep\z@
1061
\arraycolsep\z@ \tabcolsep\z@
1062
\Configure{MkHalign}
1064
{\@array:b\ProperTrTrue}%
1065
{\a:putHBorder\InitHBorder \ifProperTr{\@array:c}}%
1066
{\ifProperTr{\@array:d}\a:putHBorder\InitHBorder}%
1067
{\ifProperTr{\@array:e}\RecallMkHalignConfig\recall:ar}%
1068
{\ifProperTr{\@array:f}}
1070
\else \let\@sharp##\fi
1073
\let\:tempc\@@startpbox
1074
\append:defI\:tempc{\everypar{\HtmlPar}\a:arrayparbox}%
1075
\HLet\@@startpbox\:tempc
1078
\ifx \HCol\:UnDef \else \ifnum\HCol=1 \a:endarray\fi \fi
1079
\crcr\ifx \EndPicture\:UnDef \EndMkHalign
1080
\else \egroup\fi \egroup}
1081
\HLet\endarray\:tempc
1083
\ifx \HCol\:UnDef \else \ifnum\HCol=1 \a:endarray\fi \fi
1084
\crcr\ifx \EndPicture\:UnDef
1085
\EndMkHalign\else \egroup\fi \egroup $\egroup}
1086
\HLet\endtabular\:tempc
1087
\expandafter \let \csname endtabular*\endcsname\endtabular
1088
\expandafter\def\csname tabular*\endcsname#1{\tabular}
1089
\expandafter\def\csname before:begintabular*\endcsname{\csname
1090
before:begintabular\endcsname}
1091
\expandafter\def\csname ontabular*:list\endcsname{\csname
1092
ontabular:list\endcsname}
1093
\def\:temp#1{\@chclass \ifnum \@lastchclass=\tw@ 4 \else
1094
\ifnum \@lastchclass=3 5
1095
\expandafter\let \csname @testpach \ar:cnt\endcsname\@nextchar
1098
\z@ \if #1c\@chnum \z@ \add:ar-\else
1099
\if #1l\@chnum \@ne \add:ar<\else
1100
\if #1r\@chnum \tw@ \add:ar>\else
1101
\@chclass \if #1|\@ne \b:VBorder\else
1102
\if #1@\tw@ \d:VBorder\else
1103
\if #1p3 \add:ar p\else \z@ \@preamerr 0\fi
1104
\fi \fi \fi \fi \fi \fi
1106
\HLet\@testpach\:temp
1108
\Advance:\ar:cnt by 1
1111
\edef\HAlign{\HAlign 0 \ar:cnt\space #1 }}
1112
\def\HColAlign{\expandafter \ifx\csname
1113
\expandafter\string\ch:class :T:D\endcsname\relax \else \csname
1114
\expandafter\string\ch:class :T:D\endcsname\fi}
1116
\def\HColWidth{\csname @testpach \HCol\endcsname}
1117
\long\def\:temp#1#2#3{\multispan{#1}\begingroup
1118
\let\HAlign\empty \@mkpream{#2}%
1119
\ifx \EndPicture\:UnDef
1120
\def\:temp##1 ##2 ##3 {##3}%
1121
\xdef\new:span{\new:span\HRow.\HCol\expandafter\:temp\HAlign;}%
1124
\def\@sharp{\a:multicolumn#3\b:multicolumn}\set@typeset@protect
1125
\let\@startpbox\@@startpbox\let\@endpbox\@@endpbox
1126
\@arstrut \@preamble\hbox{}\endgroup\ignorespaces}
1127
\HLet\multicolumn\:temp
1128
\NewConfigure{multicolumn}{2}
1133
\let\@array:a\a:tabular \let\@array:b\b:tabular
1134
\let\@array:c\c:tabular \let\@array:d\d:tabular
1135
\let\@array:e\e:tabular \let\@array:f\f:tabular
1137
\leavevmode \hbox \bgroup \:@tabular:
1138
$\let\@acol\@tabacol \let\@classz\@tabclassz
1139
\let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray}
1143
\NewConfigure{arrayparbox}{1}
1144
\NewConfigure{endtabular}{1}
1145
\NewConfigure{endarray}{1}
1146
\def\ignoreEndTr{\expandafter
1147
\ifx \csname :AfterHline\endcsname\relax\else
1148
\expandafter\ignore:EndTr
1151
\o:noalign:{\global\futurelet\:AfterHline}%
1153
\long\def\ifProperTr#1{%
1154
\ifx \:AfterHline\end
1155
#1\global\let\:AfterHline\endinput
1156
\global\let\Needs:@array:d\@array:d
1157
\else \ifx \:AfterHline\endinput
1158
\ifx \Needs:@array:d\@array:d
1159
#1\global\let\Needs:@array:d\:UnDef
1161
\global\let\:AfterHline\relax
1164
\def\ProperTrTrue{\global\let\:AfterHline=\relax}
1165
\NewConfigure{putHBorder}{1}
1169
\ifx \EndPicture\:UnDef
1171
\let\end:lt:pic\endpicture
1172
\def\endpicture{\end:lt:pic \b:picture}%
1173
\else \let\EndPicture\empty
1175
\NewConfigure{picture}{2}
1178
\def\:temp{\let\sv:item\item
1179
\def\item[##1]{\nobreak
1181
\item[##1]\b:newtheorem}%
1182
\a:newtheorem\AutoRefstepAnchor
1185
\let\o:@endtheorem:\@endtheorem
1186
\append:def\@endtheorem{\c:newtheorem}
1187
\NewConfigure{newtheorem}{3}
1189
\let\no@ssect\@ssect
1190
\def\@ssect#1#2#3#4#5{\:Sc3
1191
\no@ssect{#1}{#2}{#3}{#4}{\:Sc4#5\:Sc2}\HtmlEnv}
1193
\def\@sect#1#2#3#4#5#6[#7]#8{%
1194
\xdef\c:secnumdepth{#2}\:Sc3
1195
\no@sect{#1}{#2}{#3}{#4}{#5}{#6}[#7]{\:Sc4#8\:Sc2}\HtmlEnv}
1196
\let\:startsection\@startsection
1197
\def\@startsection#1{\@ifstar{\Configure{secType}{like#1}}%
1198
{\Configure{secType}{#1}}%
1199
\:Sc1\:startsection{#1}}
1200
\NewConfigure{secType}[1]{\def\sec:typ{#1}}
1201
\NewConfigure{@sec @ssect}[1]{%
1202
\def\rdef:sec##1{#1\csname no@##1\endcsname}}
1203
\:CheckOption{sections-} \if:Option
1204
\Configure{@sec @ssect}{}
1206
\Configure{@sec @ssect}{%
1207
\let\sv:Sc\:Sc \let\sv:sect\@sect \let\sv:ssect\@ssect
1208
\let\sv:Msect\M@sect
1210
\def\@sect##1##2##3##4##5##6[##7]##8{%
1211
\ifx \o:@seccntformat:\:UnDef
1212
\let\o:@seccntformat:\@seccntformat
1214
\let\@seccntformat\:gobble
1216
\let\@sect\no@sect \xdef\c:secnumdepth{##2}%
1217
{\SkipRefstepAnchor \let\addcontentsline\:gobbleIII \let\mark\:gobble
1218
\no@sect{##1}{##2}{##3}{##4}{##5}{##6}[{##7}]{}}%
1219
\let\:Sc\sv:Sc \let\@sect\sv:sect \let\@ssect\sv:ssect
1220
\let\M@sect\sv:Msect
1222
\let\@seccntformat=\o:@seccntformat:
1224
\HtmlEnv \Toc:Title{##7}\csname no:#1\endcsname{##8}}%
1226
\def\@ssect##1##2##3##4##5{%
1227
\let\@ssect\no@ssect
1228
{\def\addcontentsline####1####2####3{}%
1229
\no@ssect{##1}{##2}{##3}{##4}{}}%
1230
\let\:Sc\sv:Sc \let\@sect\sv:sect \let\@ssect\sv:ssect
1231
\let\M@sect\sv:Msect
1233
\HtmlEnv \csname :like#1\endcsname{##5}}%
1236
\pend:defI\@hangfrom{\a:@hangfrom}
1237
\append:defI\@hangfrom{\b:@hangfrom}
1238
\NewConfigure{@hangfrom}{2}
1239
\long\def\ConfigureSec#1#2#3#4#5{%
1240
\expandafter\def\csname #1:Sc1\endcsname{#2}%
1241
\expandafter\def\csname #1:Sc2\endcsname{#3}%
1242
\expandafter\def\csname #1:Sc3\endcsname{#4}%
1243
\expandafter\def\csname #1:Sc4\endcsname{#5}%
1246
\ifx \sec:typ\:UnDef
1247
\:warning{Missing \string\Configure{secType}{...}}%
1250
\csname \sec:typ :Sc#1\endcsname}
1252
\def\@xsect#1{\:xsect{0ex}}
1253
\append:def\@afterheading{\everypar{\HtmlPar}}
1256
\def\@xfloat #1[#2]{%
1257
\def \@captype {#1}%
1258
\:clearpage \bf:float \:clearpage
1260
\expandafter\ifx\csname end#1\endcsname\o:end@float:
1261
\expandafter\let\csname end#1\endcsname\float@end
1262
\expandafter\let\csname end#1*\endcsname\float@dblend
1265
\let\o:end@float:\end@float
1266
\def\end@float{\endgroup\:clearpage \af:float}
1267
\let\end@dblfloat\end@float
1268
\Odef\c:float:[#1]#2#3#4{%
1269
\def\bf:float{#2\gHAdvance\float:cnt 1
1271
\hbox{\def\flt:anchor{#1}\get:cptg}%
1275
\Configure{float}{}{}{}
1276
\long\def\:tempc#1[#2]#3{\par \cur:lbl{}%
1277
\gHAdvance\TitleCount by 1 \begingroup \protect:wrtoc
1278
\edef\:temp{\the\:tokwrite{\string\doTocEntry
1279
\string\toc\expandafter\ifx\csname ext@#1\endcsname\relax
1280
#1\else\csname ext@#1\endcsname\fi
1282
the#1\endcsname}{\string\csname\space a:TocLink\string\endcsname
1283
{\FileNumber}{\cur:th
1284
\:currentlabel}{}{\ignorespaces #2}}%
1285
{#1}\relax}}\:temp \endgroup
1287
\@parboxrestore \normalsize
1288
\@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
1289
\endgroup \let\skip:anchor\:UnDef
1291
\def\numberline#1{\hbox to\@tempdima{#1\hfil} }
1292
\HLet\@caption\:tempc
1293
\:CheckOption{refcaption} \if:Option
1294
\def\cap:ref#1{\cur:lbl{}\Link{}{\cur:th\:currentlabel}#1\EndLink
1295
\global\let\skip:anchor\:UnDef}
1297
\Log:Note{for links into captions, instead
1298
of float heads, use the command line option `refcaption'}%
1299
\def\cap:ref#1{\cur:lbl{}%
1300
#1\Tag{\float:cnt cAp\capt:cnt}{\cur:th\:currentlabel}%
1301
\gHAdvance\capt:cnt 1 }
1305
\ifTag{\float:cnt cAp\capt:cnt}{%
1306
\Make:Label{\LikeRef{\float:cnt cAp\capt:cnt}}{\flt:anchor}%
1307
\Advance:\capt:cnt 1 \expandafter\get:cptg
1309
\def\:temp#1{{\stepcounter{footnote}%
1310
\ifx \footnote\thanks
1311
\a:thank\@fnsymbol\c@footnote\b:thank
1313
\let\a:thanks\empty \let\b:thanks\empty
1314
\protected@xdef\@thanks{\noexpand\a:thanks{\@thanks\c:thank
1315
\@fnsymbol\c@footnote\d:thank #1\e:thank}\noexpand\b:thanks}%
1318
\NewConfigure{thank}{5}
1319
\NewConfigure{thanks}{2}
1320
\pend:def\@footnotemark{\bgroup
1321
\expandafter\ifx \csname @makefnmark\endcsname\relax \else
1322
\pend:def\@makefnmark{\hbox\bgroup\a:footnotemark}%
1323
\append:def\@makefnmark{\b:footnotemark\egroup}%
1326
\append:def\@footnotemark{\egroup}
1327
\NewConfigure{footnotemark}{2}
1328
\NewConfigure{footnotebody}{2}
1329
\long\def\@footnotetext#1{\leavevmode
1331
\leftskip0pt {\ht:everypar{}\parindent0pt\leavevmode}%
1332
\long\def\:tempc##1{\protected@edef
1333
\@currentlabel{\csname p@footnote\endcsname\@thefnmark}%
1334
\anc:lbl f{footnote}%
1336
\o:@makefntext:{\b:footnotetext \csname a:footnotebody\endcsname
1337
{##1}\csname b:footnotebody\endcsname}\c:footnotetext
1339
\HLet\@makefntext\:tempc
1341
\reset@font\footnotesize
1343
\@makefntext{\ignorespaces#1}%
1345
\ht:special{t4ht@[}}\ht:special{t4ht@]}}
1346
\NewConfigure{footnotetext}{3}
1347
\long\def\@mpfootnotetext#1{\leavevmode
1349
\leftskip0pt {\ht:everypar{}\parindent0pt\leavevmode}%
1350
\def\:tempc##1{\protected@edef
1351
\@currentlabel{\csname p@mpfootnote\endcsname\@thefnmark}%
1352
\anc:lbl f{footnote}%
1354
\o:@makefntext:{\b:footnotetext \csname a:footnotebody\endcsname
1355
{##1}\csname b:footnotebody\endcsname}\c:footnotetext
1357
\HLet\@makefntext\:tempc
1359
\reset@font\footnotesize
1361
\@makefntext{\ignorespaces #1}%
1363
\ht:special{t4ht@[}}\ht:special{t4ht@]}}
1364
\def\FNnum{\the\c@footnote}
1366
\HAssign\FNnum = \csname c@\@mpfn\endcsname
1367
\HAdvance\FNnum by 1
1370
\HLet\footnote=\:tempc
1372
\HAssign\FNnum = #1\relax
1375
\HLet\@xfootnote\:tempc
1377
\HAssign\FNnum = \c@footnote
1378
\HAdvance\FNnum by 1
1381
\HLet\footnotemark\:tempc
1383
\HAssign\FNnum = #1\relax
1384
\o:@xfootnotemark:[#1]%
1386
\HLet\@xfootnotemark\:tempc
1388
\HAssign\FNnum = \csname c@\@mpfn\endcsname
1391
\HLet\footnotetext\:tempc
1393
\HAssign\FNnum = #1\relax
1394
\o:@xfootnotenext:[#1]%
1396
\HLet\@xfootnotenext\:tempc
1398
{\m@th\ensuremath{^{\mbox{\fontsize\sf@size\z@#1}}}}}
1399
\ifx \@textsuperscript\:temp
1400
\def\@textsuperscript#1{%
1402
{{\HCode{}}\sp{\mbox{\fontsize\sf@size\z@#1}}}}}
1405
\NewConfigure{wrindex}[1]{\concat:config\a:wrindex{#1}}
1406
\let\a:wrindex\empty
1407
\ifx \@indexfile\:UndDef \else
1408
\let\o:wrindex:\@wrindex
1409
\def\@wrindex{\a:wrindex \o:wrindex:}
1412
\warn:idx{\jobname}%
1413
\:wribefr\@indexfile}
1415
\ifx \@glossaryfile\:UndDef \else
1416
\let\:wrglossary\@wrglossary
1417
\def\@wrglossary{\:wribefr\@glossaryfile\:wrglossary}
1419
\def\:wribefr#1{\title:chs{\html:addr
1420
\hbox{\Link-{}{dx\last:haddr
1422
\edef\:temp{\write#1{\expandafter\string\a:idxmake{\RefFileNumber
1423
\FileNumber}{\title:chs {dx\last:haddr
1425
\:currentlabel}}{\a:makeindex}}}\:temp}
1426
\ifx \a:makeindex\:UnDef
1427
\NewConfigure{makeindex}{1} \Configure{makeindex}{}
1429
\ifx \beforeentry\:UnDef \def\beforeentry#1#2{} \fi
1430
\NewConfigure{idxmake}{1}
1431
\Configure{idxmake}{\beforeentry}
1433
\:CheckOption{no-bib} \if:Option\else
1434
\ifx \o:@citex:\:UnDef \let\o:@citex:\@citex\fi
1438
\csname a:cite\endcsname
1439
\@cite{\@for\@citeb:=#2\do
1440
{\@citea\def\@citea{,\penalty\@m\ }%
1442
\xdef\@citeb{\expandafter\@firstofone\@citeb}}%
1443
\if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
1444
\@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries ?}%
1447
{Citation `\@citeb' on page \thepage \space undefined}}%
1448
{{\cIteLink {X\@citeb}{}%
1449
\csname b@\@citeb\endcsname
1451
}}}}{#1}\csname b:cite\endcsname
1455
\ifx \o:@lbibitem:\:UnDef \let\o:@lbibitem:\@lbibitem\fi
1456
\def\@lbibitem[#1]#2{{\:SUBOff\:SUPOff\edef\:tempb{{#2}}%
1457
\pend:def\:tempb{\o:@lbibitem:[#1]}%
1458
\global\let\:temp\:tempb}%
1459
\setb:anc{#2}\:temp\bib:anc \let\AnchorLabel\sv:anc\ignorespaces}
1460
\ifx \o:@bibitem:\:UnDef \let\o:@bibitem:\@bibitem \fi
1461
\def\@bibitem#1{{\:SUBOff\:SUPOff\edef\:temp{\noexpand\o:@bibitem:{#1}}%
1462
\global\let\:temp\:temp}\:temp}
1463
\pend:defI\@bibitem{\setb:anc{##1}}
1464
\append:defI\@bibitem{\bib:anc
1465
\let\AnchorLabel\sv:anc \ignorespaces}
1466
\def\setb:anc#1{\let\sv:anc\AnchorLabel
1467
\def\bib:anc{\def\bib:anc{#1}\ifx \bib:anc\empty \else
1468
\a:bibitem{}{\a:bibanchor#1}\b:bibitem\fi \gdef\bib:anc{}}%
1469
\def\AnchorLabel{\bib:anc}\let\cite:item=\item
1470
\def\item##1\if@filesw##2\fi{\let\item\cite:item
1471
\item##1\if@filesw {\a:bibcite ##2}\fi}
1473
\NewConfigure{bibitem}{2}
1474
\NewConfigure{bibanchor}{1}
1475
\Configure{bibanchor}{X}
1476
\NewConfigure{bibcite}{1}
1479
\NewConfigure{cite}[4]{\c:def\a:cite{#1}\c:def\b:cite{#2}%
1480
\d:def\cIteLink{#3}\ifx \cIteLink\empty
1481
\let\cIteLink\:gobbleII\fi \c:def\EndcIteLink{#4}}
1482
\Configure{cite}{}{}{}{}
1483
\:CheckOption{bibtex2} \if:Option
1484
\expandafter\def\csname bibliography2\endcsname{\csname
1485
a:bibliography2\endcsname
1486
\Link{YX\b:blabel}{}\csname b:bibliography2\endcsname
1487
\EndLink \csname c:bibliography2\endcsname}%
1488
\let\bibitem:ii\@bibitem
1489
\def\@bibitem#1{\bibitem:ii{#1}\def\b:blabel{#1}}
1490
\let\lbibitem:ii=\@lbibitem
1491
\def\@lbibitem[#1]#2{\lbibitem:ii[#1]{#2}\def\b:blabel{#2}}
1492
\let\bibliography:ii=\bibliography
1493
\def\bibliography#1{%
1494
\let\bibliography=\bibliography:ii
1497
\ConfigureEnv{thebibliography}{}{}{}{}
1498
\ConfigureList{thebibliography}
1499
{\let\en:bib=\empty}
1502
\def\en:bib{\csname b:bibitem2\endcsname\EndHPage{}}%
1503
\HPage{}\csname a:bibitem2\endcsname
1505
{\csname c:bibitem2\endcsname}
1506
\def\section##1##2{}
1507
\Configure{bibanchor}{YX}
1509
\@input@{\jobname j.bbl}%
1512
\NewConfigure{bibliography2}{3}
1513
\NewConfigure{bibitem2}{3}
1514
\:CheckOption{bibtex2} \if:Option
1515
\Log:Note{Option `bibtex2' requires
1516
compilation of `\jobname j.aux' with bibtex.}
1517
\immediate\write-1{ Employ \string\Configure{bibliographystyle2}{...}
1518
to change the bibliography style.}
1520
\Log:Note{for 2 levels bibtex bibliography,
1521
use the command line option `bibtex2'}
1527
/gdef/bib:style{\bibstyle}
1534
\immediate\read15 to \line
1536
\expandafter\scan:aux\line @@@@@@@@@&&&&
1537
\expandafter\get:aux
1540
\gdef\put:aux#1&&&&{%
1541
\immediate\write15{\ifx \first\bib:style
1542
\expandafter\ifx \csname a:bibliographystyle2\endcsname\empty
1544
\bib:style{\csname a:bibliographystyle2\endcsname}\fi
1547
\def\scan:aux#1#2#3#4#5#6#7#8#9{\def\first{#1#2#3#4#5#6#7#8#9}\put:aux}
1548
\NewConfigure{bibliographystyle2}{1}
1549
\Configure{bibliographystyle2}{}
1552
\immediate\openin15=\jobname .aux
1554
\no:catcodes{0}{255}{12}%
1555
\no:catcodes{65}{90}{11}%
1556
\no:catcodes{97}{122}{11}%
1558
\immediate\openout15=\jobname j.aux
1560
\immediate\write15{}
1561
\immediate\closeout15
1562
\immediate\closein15
1566
\append:def\@enddocumenthook{%
1567
\let\:dofilelist=\@dofilelist
1569
\let\@dofilelist=\:dofilelist
1570
\j:aux \@dofilelist}}
1574
\:CheckOption{fussy} \if:Option \else
1577
\emergencystretch 3em}
1579
\emergencystretch\z@
1581
\def \@largefloatcheck{%
1582
\ifdim \ht\@currbox>\textheight
1583
\@tempdima -\textheight
1584
\advance \@tempdima \ht\@currbox
1585
\ht\@currbox \textheight
1590
\pend:def\@outputpage{\let\@oddhead=\empty \let\@oddfoot=\empty
1591
\let\@evenhead=\empty \let\@evenfoot=\empty }
1594
\if@nobreak \@nobreakfalse \ht:everypar{\HtmlPar}\fi }
1595
\pend:def\clearpage{\IgnorePar}
1599
\def\({\leavevmode\st:math}
1601
\NewConfigure{()}[2]{\def\st:math{#1}\def\ed:math{#2}}
1604
\NewConfigure{[]}[2]{\def\st:Math{#1}\def\ed:Math{#2}}
1605
\Configure{()}{$}{$}
1606
\Configure{[]}{$$}{$$}
1609
\expandafter\pend:defIII\csname c:$:\endcsname{%
1610
\ifx \a:mth\:UnDef \pend:def\({\bgroup\let\a:mth\empty
1611
\let\b:mth\empty \let\c:mth\empty }
1612
\append:def\){\egroup}
1614
\def\:@tabular:{\expandafter\everymath
1615
\expandafter{\expandafter \everymath \expandafter{\the\everymath}}}%
1618
\pend:def\({\bgroup\let\a:mth\empty
1619
\let\b:mth\empty \let\c:mth\empty }
1620
\append:def\){\egroup}
1622
\def\:@tabular:{\expandafter\everymath
1623
\expandafter{\expandafter \everymath \expandafter{\the\everymath}}}%
1626
\ifx \a:display\:UnDef
1627
\expandafter\pend:defIII\csname c:$$:\endcsname{%
1628
\ifx \a:display\:UnDef \pend:def\[{\bgroup\let\a:display\empty
1629
\let\b:display\empty \let\c:display\empty }
1630
\append:def\]{\egroup}
1633
\pend:def\[{\bgroup\let\a:display\empty
1634
\let\b:display\empty \let\c:display\empty }
1635
\append:def\]{\egroup}
1642
\:CheckOption{hooks+} \if:Option
1643
\def\trc:wrt{\immediate\write16}
1644
\else \:CheckOption{hooks} \if:Option
1645
\let\trc:wrt\:gobble
1649
\def\cut:gr#1{\lk:#1like!*?: %
1650
\ifx \:temp\empty \expand:after{%
1651
\expand:after{\expandafter\let\csname #1\endcsname}%
1652
\csname :#1\endcsname
1654
\expand:after{\expandafter\let\csname :#1\endcsname}%
1655
\csname #1\endcsname
1656
\expandafter\let\csname #1\endcsname\:UnDef}%
1658
\expand:after{\ct:gr{#1}}%
1662
\let\:csname \HP:file : #1\endcsname \:csname #1\endcsname
1663
\let\:csname \HP:file :Cut:#1\endcsname \:csname Cut:#1\endcsname
1664
\def\:csname #1\endcsname{%
1665
\noexpand \@ifnextchar*{\noexpand\after:gobble
1666
\:csname :like#1\endcsname}%
1667
{\:csname \HP:file :#1-\endcsname}}%
1668
\def\:csname \HP:file :#1-\endcsname####1{%
1669
\noexpand\cond:cs{\HP:file}{####1}%
1670
\:csname \HP:file : #1\endcsname{####1}}%
1671
\def\:csname Cut:#1\endcsname####1{%
1672
\noexpand\cond:cs{Cut:\HP:file}{####1}%
1673
\noexpand\cond:cs{\HP:file :Cut:#1}{####1}}%
1675
\def\lk:#1like#2!*?: {\def\:temp{#1}}
1676
\def\after:gobble#1#2{#1}
1677
\let\tex:cutat\:CutAt
1678
\def\:CutAt#1#2,#3//{%
1680
\ifx \:temp\empty \expand:after{\tex:cutat#1#2,}\del:like#2,#3//%
1681
\else \tex:cutat#1#2,like#2,#3//\fi}
1682
\def\chk:like#1like#2//{\def\:temp{#1}}
1683
\def\del:like#1like{#1}
1685
\long\def\ConfigureEnv#1#2#3#4#5{%
1686
\def\:temp{#2#3#4#5}\ifx \:temp\empty \let\:temp\null
1687
\else \def\:temp{#2#3}\fi
1688
\ifx \:temp\empty \else
1689
\expandafter\def\csname before:begin#1\endcsname
1690
{#2\def\after:end{#3}}%
1692
\def\:temp{#2#3#4#5}\ifx \:temp\empty \let\:temp\null
1693
\else \def\:temp{#4#5}\fi
1695
\else \ConfigureList{#1}{#4}{#5}{}{}\fi}
1696
\NewConfigure{centercr}{2}
1697
\NewConfigure{verbatim}[2]{\c:def\v:par{#1}\c:def\v:ch{#2}}
1698
\def\c:verb:#1#2{\c:def\a:verb{#1}\c:def\b:verb{#2}}
1699
\def\:temp#1#2{{\a:stackrel {\mathop {#2}\b:stackrel{#1}}\c:stackrel}}
1700
\HLet\stackrel\:temp
1701
\NewConfigure{stackrel}{3}
1702
\NewConfigure{fbox}{2}
1703
\:CheckOption{no-array}\if:Option \else
1704
\NewConfigure{array}{6}
1705
\NewConfigure{tabular}{6}
1706
\NewConfigure{VBorder}{4}
1707
\NewConfigure{HBorder}[9]{\c:def\a:HBorder{#1}%
1708
\c:def\b:HBorder{#2}\c:def\c:HBorder{#3}\c:def\d:HBorder{#4}%
1709
\c:def\e:HBorder{#5}\c:def\f:HBorder{#6}\c:def\g:HBorder{#7}%
1710
\c:def\h:HBorder{#8}\c:def\i:HBorder{#9}\c:HBRD}
1711
\def\c:HBRD#1{\c:def\j:HBorder{#1}}
1712
\def\:temp{\@addtopreamble{\@nextchar
1713
\csname a:@{}\endcsname}} \HLet\@tabclassiv\:temp
1714
\def\:temp{\@addtopreamble{$\@nextchar
1715
$\csname a:@{}\endcsname}} \HLet\@arrayclassiv\:temp
1716
\NewConfigure{@{}}{1}
1721
\NewConfigure{tableofcontents}{5}
1722
\NewConfigure{marginpar}{2}
1723
\NewConfigure{newline}{1}
1725
\def\g:let#1#2{\global\let#1#1}
1727
\:CheckOption{hooks++} \if:Option
1728
\long\def\ConfigureEnv#1#2#3#4#5{%
1729
\expandafter\def\csname before:begin#1\endcsname{%
1730
\ifx \EndPicture\:Undef\a:trc Env(#1)1\b:trc\fi
1731
#2\ifx \EndPicture\:Undef\c:trc Env(#1)1\d:trc\fi
1733
\ifx \EndPicture\:Undef\a:trc END(#1)2\b:trc\fi
1734
#3\ifx \EndPicture\:Undef\c:trc END(#1)2\d:trc\fi
1736
\ConfigureList{#1}{#4}{#5}{}{}}
1738
\ifx \sec:typ\:UnDef
1739
\:warning{Missing \string\Configure{secType}{...}}%
1742
\ifx \EndPicture\:Undef\a:trc Sec(\sec:typ)#1\b:trc\fi
1743
\csname \sec:typ :Sc#1\endcsname
1744
\ifx \EndPicture\:Undef\c:trc Sec(\sec:typ)#1\d:trc\fi
1747
\else \:CheckOption{hooks+} \if:Option
1748
\def\trc:wrt{\immediate\write16}
1749
\else \:CheckOption{hooks} \if:Option
1750
\let\trc:wrt\:gobble
1753
\if:latex \long\def\ConfigureEnv#1#2#3#4#5{%
1754
\expandafter\def\csname before:begin#1\endcsname{%
1755
\def\:temp{#2}\ifx \:temp\empty
1756
\ifx \EndPicture\:Undef\a:trc Env(#1)1\b:trc\fi
1757
#2\ifx \EndPicture\:Undef\c:trc Env(#1)1\d:trc\fi
1760
\def\:temp{#3}\ifx \:temp\empty
1761
\ifx \EndPicture\:Undef\a:trc Env(#1)2\b:trc\fi
1762
#3\ifx \EndPicture\:Undef\c:trc Env(#1)2\d:trc\fi
1765
\ConfigureList{#1}{#4}{#5}{}{}}
1767
\ifx \sec:typ\:UnDef
1768
\:warning{Missing \string\Configure{secType}{...}}%
1771
\expandafter\ifx \csname \sec:typ :Sc#1\endcsname \relax
1772
\ifx \EndPicture\:Undef\a:trc Sec(\sec:typ)#1\b:trc
1773
\c:trc Sec(\sec:typ)#1\d:trc\fi
1774
\else \csname \sec:typ :Sc#1\endcsname \fi
1776
\def\g:let#1#2{\advance\tmp:cnt 1
1778
\edef\:temp{\noexpand\pend:def\noexpand#1{\noexpand
1779
\a:trc List(#2)\the\tmp:cnt\noexpand\b:trc}}\:temp
1780
\edef\:temp{\noexpand\append:def\noexpand#1{\noexpand
1781
\c:trc List(#2)\the\tmp:cnt\noexpand\d:trc}}\:temp
1788
\NewConfigure{equation}[3]{%
1789
\c:def\a:equation{#1\bgroup\let\@eqnnum\empty}%
1790
\c:def\b:equation{\egroup#2}\c:def\c:equation{#3}}
1791
\def\equ:no{\@eqnnum}
1792
\Configure{equation}{}{}{}
1793
\NewConfigure{texttt}[2]{\expandafter\ifx \csname o:texttt :\endcsname\relax
1794
\long\def\:temp##1{{\a:texttt \csname o:texttt :\endcsname{##1}\b:texttt}}%
1795
\expandafter\HLet\csname texttt \endcsname\:temp
1796
\fi \c:def\a:texttt{#1}\c:def\b:texttt{#2}}
1797
\NewConfigure{textit}[2]{\expandafter\ifx \csname o:textit :\endcsname\relax
1798
\long\def\:temp##1{{\a:textit \csname o:textit :\endcsname{##1}\b:textit}}%
1799
\expandafter\HLet\csname textit \endcsname\:temp
1800
\fi \c:def\a:textit{#1}\c:def\b:textit{#2}}
1801
\NewConfigure{textrm}[2]{\expandafter\ifx \csname o:textrm :\endcsname\relax
1802
\long\def\:temp##1{{\a:textrm \csname o:textrm :\endcsname{##1}\b:textrm}}%
1803
\expandafter\HLet\csname textrm \endcsname\:temp
1804
\fi \c:def\a:textrm{#1}\c:def\b:textrm{#2}}
1805
\NewConfigure{textup}[2]{\expandafter\ifx \csname o:textup :\endcsname\relax
1806
\long\def\:temp##1{{\a:textup \csname o:textup :\endcsname{##1}\b:textup}}%
1807
\expandafter\HLet\csname textup \endcsname\:temp
1808
\fi \c:def\a:textup{#1}\c:def\b:textup{#2}}
1809
\NewConfigure{textsl}[2]{\expandafter\ifx \csname o:textsl :\endcsname\relax
1810
\long\def\:temp##1{{\a:textsl \csname o:textsl :\endcsname{##1}\b:textsl}}%
1811
\expandafter\HLet\csname textsl \endcsname\:temp
1812
\fi \c:def\a:textsl{#1}\c:def\b:textsl{#2}}
1813
\NewConfigure{textsf}[2]{\expandafter\ifx \csname o:textsf :\endcsname\relax
1814
\long\def\:temp##1{{\a:textsf \csname o:textsf :\endcsname{##1}\b:textsf}}%
1815
\expandafter\HLet\csname textsf \endcsname\:temp
1816
\fi \c:def\a:textsf{#1}\c:def\b:textsf{#2}}
1817
\NewConfigure{textbf}[2]{\expandafter\ifx \csname o:textbf :\endcsname\relax
1818
\long\def\:temp##1{{\a:textbf \csname o:textbf :\endcsname{##1}\b:textbf}}%
1819
\expandafter\HLet\csname textbf \endcsname\:temp
1820
\fi \c:def\a:textbf{#1}\c:def\b:textbf{#2}}
1821
\NewConfigure{textsc}[2]{\expandafter\ifx \csname o:textsc :\endcsname\relax
1822
\long\def\:temp##1{{\a:textsc \csname o:textsc :\endcsname{##1}\b:textsc}}%
1823
\expandafter\HLet\csname textsc \endcsname\:temp
1824
\fi \c:def\a:textsc{#1}\c:def\b:textsc{#2}}
1825
\NewConfigure{emph}[2]{\expandafter\ifx \csname o:emph :\endcsname\relax
1826
\long\def\:temp##1{{\a:emph \csname o:emph :\endcsname{##1}\b:emph}}%
1827
\expandafter\HLet\csname emph \endcsname\:temp
1828
\fi \c:def\a:emph{#1}\c:def\b:emph{#2}}
1829
\let\sp:c\ \def\ {\relax\ifx \EndPicture\:UnDef \a:sp
1831
\NewConfigure{ }[1]{\def\:temp{#1}%
1832
\ifx \:temp\empty \let\a:sp\sp:c\else\def\a:sp{#1}\fi}
1833
\def\:nbsp{\leavevmode\special{t4ht@+\string&{35}x00A0;}x}
1834
\Configure{ }{\:nbsp}
1843
\def\@item[#1]{\ifx \EndPicture\:Undef
1845
\null:listConfigure \this:listConfigure
1849
\if@newlist \:item[{#1}]\@newlisttrue
1850
\else \:item[{#1}]\fi \global\@inlabeltrue
1851
\ifx \EndPicture\:Undef
1854
\if@newlist \:DLL \global\let\this:listConfigure\empty
1855
\gdef\empty:D:T:D{\:DT\:DD}%
1857
\global\@minipagefalse\global\@newlistfalse
1859
\global\@inlabelfalse
1860
\global\let\empty:D:T:D\empty \:DT \hfill\break
1868
\ht:everypar{\:ListParSkip
1870
\leavevmode \ignorespaces
1872
\def\ListParSkip{\def\:ListParSkip}
1874
\ListParSkip{\HtmlPar}
1876
\pend:def\endtrivlist{\if@noparlist \else\ifx \EndPicture\:UnDef
1877
\ifhmode \unskip\else \vskip-\lastskip\fi
1878
\empty:D:T:D \global\let\empty:D:T:D\empty
1879
\end:DL \global\let\end:DL\empty
1880
\global\let\:DT\empty \global\let\:DD\empty
1884
\let\SVempty:D:T:D\empty:D:T:D
1885
\let\SVend:DL\end:DL
1889
\global\let\empty:D:T:D\SVempty:D:T:D
1890
\global\let\end:DL\SVend:DL
1891
\global\let\:DT\SV:DT
1892
\global\let\:DD\SV:DD }
1893
\def\AnchorLabel{\anc:lbl x{}}
1894
\def\DeleteMark#1\@labels{\hfill\break
1895
\setbox0\vbox{\box\@labels}}
1898
\def\Get:SecAnchor#1#2#3{%
1899
\bgroup \def\@Roman##1{%
1900
\ifcase##1\or I\or II\or III\or IV\or V\or VI\or
1901
VII\or VIII\or IX\or X\or XI\or XII\or XIII\or
1902
XIV\or XV\or XVI\or XVII\or XVIII\or XIX\or XX\or
1903
XXI\or XXII\or XXIII\or XXIV\or XV\or XVI\else
1904
\expandafter\uppercase\expandafter{\romannumeral ##1}\fi}%
1906
\edef\:temp{#2}\ifx \:temp\empty
1907
\else \global\let\@currentlabel\:temp\fi
1910
\xdef\cur:th{x\last:haddr}%
1911
\let\:tempa\uppercase \def\uppercase##1{##1}\cur:lbl{}%
1912
\let\uppercase\:tempa
1914
\edef\:SecAnchor{\cur:th\:currentlabel}%
1918
\def\Toc:Title#1{\gdef\TocTitle{#1}%
1919
\ifx\TocTitle\empty \global\let\TocTitle\:UnDef\fi}
1921
\:CheckOption{new-accents} \if:Option
1922
\def\:temp#1{{\accent24 #1}}
1923
\let\c:accent\c \HLet\c:accent\:temp \let\c\c:accent
1925
\def\:temp#1{{\edef\next{\the\font}\rmfamily\accent0 \next#1}}
1926
\let\b:accent\b \HLet\b:accent\:temp \let\b\b:accent
1927
\def\:temp#1{{\edef\next{\the\font}\rmfamily\accent1 \next#1}}
1928
\let\d:accent\d \HLet\d:accent\:temp \let\d\d:accent
1933
\NewConfigure{accents}[2]{\def\a:accents##1##2{#1}%
1934
\def\b:accents##1##2##3{#2}}
1937
\def\AA{{\Protect\:AA}}
1938
\def\aa{{\Protect\:aa}}
1940
\ifx \EndPicture\:UnDef \a:AA\else
1941
\leavevmode\setbox0\hbox{h}\dimen@\ht0\advance\dimen@-1ex%
1942
\rlap{\raise.67\dimen@\hbox{\char'27}}A\fi}
1944
\ifx \EndPicture\:UnDef \HChar{229}\else \accent23a\fi }
1945
\NewConfigure{AA}{1}
1946
\Configure{AA}{\HChar{197}}
1949
\let\makeheadline\empty
1950
\let\makefootline\empty
1953
\pend:defI\centerline{\pic:gobble\cnt:a}
1954
\append:defI\centerline{\pic:gobble\cnt:b}
1955
\pend:defI\leftline{\pic:gobble\lft:a}
1956
\append:defI\leftline{\pic:gobble\lft:b}
1957
\pend:defI\rightline{\pic:gobble\a:rightline}
1958
\append:defI\rightline{\pic:gobble\b:rightline}
1963
\def\:temp{#1}\def\:tempa{toc}%
1965
\@input{\jobname.4ct}%
1967
\@input{\jobname.#1}%
1969
\expandafter\expandafter\csname
1970
newwrite\endcsname\csname tf@#1\endcsname
1971
\immediate\openout \csname tf@#1\endcsname \jobname.#1\relax
1974
\global\@nobreakfalse
1978
\NewConfigure{InsertTitle}{1}
1979
\NewConfigure{AfterTitle}{1}
1980
\def\marginpar{\@ifnextchar [\:xmpar{\:xmpar[]}}
1981
\long\def\:xmpar[#1]#2{\a:marginpar{#2}\b:marginpar}
1983
\pend:defI\@iinput{\egroup}
1984
\let\o:iinput:\@iinput
1985
\def\@iinput{\bgroup \catcode`\_=12 \o:iinput:}
1986
\def\:tempc{\bgroup \catcode`\_=12 \la:include}
1987
\def\la:include#1{\egroup \o:include:{#1}}
1988
\HLet\include\:tempc
1990
\ifx \@gnewline\:UnDef
1991
\append:def\newline{\ifhmode \a:newline\fi}
1992
\def\@newline[#1]{\ifhmode\unskip
1994
\ifdim \tmp:dim>0.98\smallskipamount \a:newline\fi
1995
\fi\vspace{#1}\newline}
1997
\append:defI\@gnewline{\ifhmode \a:newline\fi}
1998
\def\:temp[#1]{{\ifhmode\unskip
2000
\ifdim \tmp:dim>0\smallskipamount \a:newline\fi
2001
\let\a:newline\empty
2002
\fi\vspace{#1}\o:@newline:[#1]}}
2003
\HLet\@newline\:temp
2006
\ifx \@@if@newlist\:UnDef \else
2007
\pend:def\@outputpage{\expandafter\global \expandafter\let
2008
\expandafter\@@if@newlist\csname if@newlist\endcsname}
2011
\def\LoadLabels{\@ifnextchar[{\LD:lbls}{\LD:lbls[]}}
2012
\def\LD:lbls[#1]#2{%
2016
\LoadRef-[)F]{#2}{)F#1##1}%
2017
\LoadRef-[)Q]{#2}{)Q#1##1}%
2020
{\let\bibdata\@gobble
2021
\def\@newl@bel##1##2{\:newl@bel{##1}{#1##2}}%
2022
\let\@writefile\@gobbletwo
2023
\catcode`\@11 \get:input{#2.aux}%
2025
\def\RefLabel#1#2{{%
2026
\Configure{XrefFile}{#1}%
2030
\let\o:equation:\equation
2031
\let\o:endequation:\endequation
2032
\def\equation{\bgroup
2033
\ifx \EndPicture\:Undef
2035
\if@eqnsw \expand:after{\o:endequation:\b:equation\equ:no}%
2036
\else \expand:after{\o:endequation:\egroup}\fi
2037
\c:equation\egroup}%
2038
\expandafter\a:equation
2040
\def\endequation{\o:endequation:\egroup}
2043
\def\:temp{\a:hline}
2045
\NewConfigure{hline}[1]{\c:def\a:hline{#1}}
2046
\def\:temp#1{\tmp:dim#1\xdef\HBorderspace{\the\tmp:dim}\cr\a:vspc}
2047
\HLet\@xargarraycr\:temp
2048
\NewConfigure{//[]}[1]{\c:def\a:vspc{#1}}
2049
\def\:temp#1-#2\@nil{\o:noalign:{\HAssign\:tempb=#1
2050
\set:clines{#2}}\ignoreEndTr}
2052
\def\set:clines#1{\expandafter\gHAssign\csname :\:tempb\endcsname=1
2053
\ifnum \:tempb<#1 \Advance:\:tempb by 1 \expandafter\set:clines
2054
\else \expandafter\:gobble
2056
\def\init:clines{\ifnum \:tempb<0\csname ar:cnt\endcsname
2057
\Advance:\:tempb by 1
2058
\expandafter\gHAssign\csname :\:tempb\endcsname=0
2059
\expandafter\append:def\expandafter\cline:s\expandafter{\csname
2060
:\:tempb\endcsname}%
2061
\expandafter\init:clines
2064
\global\let\vspc:s\empty
2066
\global\let\hline:s\empty
2068
\global\let\cline:s\empty
2069
\HAssign\:tempb=0 \init:clines \global\let\cline:s\cline:s
2072
\ifx \hline:s\empty \else\hline:s\fi
2073
\ifx \vspc:s\empty \else\vspc:s\fi
2074
\ifnum \expandafter\inspect:cline\cline:s{-1}>0 \d:HBorder
2075
\expandafter\reset:cline\cline:s2\g:HBorder\fi}
2076
\def\inspect:cline#1{%
2077
\ifnum #1>0 1\expandafter\exit:inspect:cline
2079
0\else \expandafter\expandafter\expandafter\inspect:cline
2082
\def\exit:inspect:cline#1{%
2084
0\else \expandafter\exit:inspect:cline
2088
\def\reset:cline#1{\ifcase #1
2089
\e:HBorder\expandafter\reset:cline
2090
\or \f:HBorder\expandafter\reset:cline
2095
\:CheckOption{new-accents} \if:Option \else
2096
\let\:tabacckludge\@tabacckludge
2097
\def\@tabacckludge#1{\csname #1\endcsname}
2098
\long\def\:temp#1{\bgroup \let\@tabacckludge\:tabacckludge
2099
\csname o:MakeUppercase :\endcsname{#1}\egroup}
2100
\expandafter\HLet\csname MakeUppercase \endcsname\:temp
2101
\long\def\:temp#1{\bgroup \let\@tabacckludge\:tabacckludge
2102
\csname o:MakeLowercase :\endcsname{#1}\egroup}
2103
\expandafter\HLet\csname MakeLowercase \endcsname\:temp
2104
\let\@acci\' \let\@accii\` \let\@acciii\=
2106
\if '#1\let\:temp=\@acci \else
2107
\if `#1\let\:temp=\@accii \else
2108
\if =#1\let\:temp=\@acciii \else
2109
\def\:temp{\@tabacckludge#1}\fi\fi\fi
2113
\pagestyle{empty} \def\pagestyle#1{}
2114
\def\thispagestyle#1{}
2116
\setlength\oddsidemargin {0in}
2117
\setlength\evensidemargin {0in}
2119
\def\:temp#1#2!*?: {\def\:temp{#1}}
2120
\expandafter\:temp\usepackage!*?:
2121
\def\:tempa{\@latex@e@error}
2123
\let\:fnsymbol\@fnsymbol
2124
\def\@fnsymbol#1{{\hbox{$\:fnsymbol{#1}$}}}
2131
\def\addcontentsline#1#2#3{\if@filesw \begingroup
2132
\no:lbl:idx \let\protect\@unexpandable@protect
2133
\@temptokena{\thepage}%
2134
\def\:tempb{#1}\def\:tempa{toc}%
2136
\edef\:tempb{Q1-\file:id-\TitleCount }%
2138
\hbox{\Link{}{\:tempb}\EndLink}%
2139
\edef\@tempa{\csname if:toc\endcsname{\the\:tokwrite{\string\doTocEntry
2140
\string\toc#2{}{\string\csname\space a:TocLink\string\endcsname
2141
{\FileNumber}{\:tempb}{}{#3}}{\the\@temptokena}\relax}}%
2147
\hbox{\Link{}{x\last:haddr}\EndLink}%
2148
\edef\@tempa{\csname if:toc\endcsname{\the\:tokwrite{\string\doTocEntry
2149
\string\toc#1{}{\string\csname\space a:TocLink\string\endcsname
2150
{\FileNumber}{x\last:haddr}{}{#3}}{\the\@temptokena}\relax}}%
2154
\if@nobreak \ifvmode\nobreak\fi\fi\endgroup\fi}
2157
\let\:MClass:\c:MathClass:
2158
\NewConfigure{MathClass}[5]{\bgroup
2159
\let\@nodocument\empty
2160
\let\normalcolor\relax
2161
\:MClass:{#1}{#2}{#3}{#4}{#5}\egroup}
2163
\let\:MDelims:\c:MathDelimiters:
2164
\NewConfigure{MathDelimiters}[2]{\bgroup
2165
\let\@nodocument\empty
2166
\let\normalcolor\relax
2167
\:MDelims:{#1}{#2}\egroup}