\:CheckOption{fonts} \if:Option
\Configure{textbf}{\Protect\HCode{<span class="textbf">}}
{\Protect\HCode{</span>}}
\Configure{textit}{\Protect\HCode{<span class="textit">}}
{\Protect\HCode{</span>}}
\Configure{textrm}{\Protect\HCode{<span class="textrm">}}
{\Protect\HCode{</span>}}
\Configure{textup}{\Protect\HCode{<span class="textup">}}
{\Protect\HCode{</span>}}
\Configure{textsc}{\Protect\HCode{<span class="textsc">}}
{\Protect\HCode{</span>}}
\Configure{textsf}{\Protect\HCode{<span class="textsf">}}
{\Protect\HCode{</span>}}
\Configure{textsl}{\Protect\HCode{<span class="textsl">}}
{\Protect\HCode{</span>}}
\Configure{texttt}{\Protect\HCode{<span class="texttt">}}
{\Protect\HCode{</span>}}
\Configure{emph}{\Protect\HCode{<span class="emph">}}
{\Protect\HCode{</span>}}
\Css{span.textbf { font-weight: bold; }}
\Css{span.textit { font-style: italic; }}
\Css{span.textrm { font-family: serif; }}
\Css{span.textsc { font-variant: small-caps; }}
\Css{span.textsf { font-family: sans-serif; }}
\Css{span.texttt { font-family: monospace; }}
\else
\Log:Note{for tracing of latex font commands,
use the command line option ‘fonts’}
\fi
-_-_-
\:CheckOption{fonts} \if:Option
\Configure{mathit}{\Protect\HCode{<span class="mathit">}}
{\Protect\HCode{</span>}}
\Configure{mathbf}{\Protect\HCode{<span class="mathbf">}}
{\Protect\HCode{</span>}}
\Configure{mathtt}{\Protect\HCode{<span class="mathtt">}}
{\Protect\HCode{</span>}}
\Configure{mathsf}{\Protect\HCode{<span class="mathsf">}}
{\Protect\HCode{</span>}}
\Configure{mathrm}{\Protect\HCode{<span class="mathrm">}}
{\Protect\HCode{</span>}}
\fi
-_-_-
\:CheckOption{fonts} \if:Option
\Configure{mathbb}{\Protect\HCode{<span class="mathbb">}}
{\Protect\HCode{</span>}}
\Configure{mathfrak}{\Protect\HCode{<span class="mathfrak">}}
{\Protect\HCode{</span>}}
\fi
-_-_-
\mathchardef\coprod="1360
\mathchardef\bigvee="1357
\mathchardef\bigwedge="1356
\mathchardef\biguplus="1355
\mathchardef\bigcap="1354
\mathchardef\bigcup="1353
\mathchardef\intop="1352 \def\int{\intop\nolimits}
\mathchardef\prod="1351
\mathchardef\sum="1350
\mathchardef\bigotimes="134E
\mathchardef\bigoplus="134C
\mathchardef\bigodot="134A
\mathchardef\ointop="1348 \def\oint{\ointop\nolimits}
\mathchardef\bigsqcup="1346
\mathchardef\smallint="1273
\Configure{MathClass}{1}{}{}{}{
\mathchar"1360
\mathchar"1357
\mathchar"1356
\mathchar"1355
\mathchar"1354
\mathchar"1353
\mathchar"1352
\mathchar"1351
\mathchar"1350
\mathchar"134E
\mathchar"134C
\mathchar"134A
\mathchar"1348
\mathchar"1346
\mathchar"1273
}
-_-_-
\mathchardef\triangleleft="212F
\mathchardef\triangleright="212E
\mathchardef\bigtriangleup="2234
\mathchardef\bigtriangledown="2235
\mathchardef\wedge="225E \let\land=\wedge
\mathchardef\vee="225F \let\lor=\vee
\mathchardef\cap="225C
\mathchardef\cup="225B
\mathchardef\ddagger="227A
\mathchardef\dagger="2279
\mathchardef\sqcap="2275
\mathchardef\sqcup="2274
\mathchardef\uplus="225D
\mathchardef\amalg="2271
\mathchardef\diamond="2205
\mathchardef\bullet="220F
\mathchardef\wr="226F
\mathchardef\div="2204
\mathchardef\odot="220C
\mathchardef\oslash="220B
\mathchardef\otimes="220A
\mathchardef\ominus="2209
\mathchardef\oplus="2208
\mathchardef\mp="2207
\mathchardef\pm="2206
\mathchardef\circ="220E
\mathchardef\bigcirc="220D
\mathchardef\setminus="226E % for set difference A\setminus B
\mathchardef\cdot="2201
\mathchardef\ast="2203
\mathchardef\times="2202
\mathchardef\star="213F
\mathcode‘\*="2203 % \ast
\mathcode‘\+="202B
\mathcode‘\-="2200
\Configure{MathClass}{2}{}{}{}{
*-+/
\mathchar"212F
\mathchar"212E
\mathchar"2234
\mathchar"2235
\mathchar"225E
\mathchar"225F
\mathchar"225C
\mathchar"225B
\mathchar"227A
\mathchar"2279
\mathchar"2275
\mathchar"2274
\mathchar"225D
\mathchar"2271
\mathchar"2205
\mathchar"220F
\mathchar"226F
\mathchar"2204
\mathchar"220C
\mathchar"220B
\mathchar"220A
\mathchar"2209
\mathchar"2208
\mathchar"2207
\mathchar"2206
\mathchar"220E
\mathchar"220D
\mathchar"226E
\mathchar"2201
\mathchar"2203
\mathchar"2202
\mathchar"213F
}
-_-_-
The catcode is needed because 303A is :.
\Configure{MathClass}{3}{}{}{}{
\mathchar"3128
\mathchar"3129
\mathchar"312A
\mathchar"312B
\mathchar"315E
\mathchar"315F
\mathchar"3210
\mathchar"3211
\mathchar"3212
\mathchar"3213
\mathchar"3214
\mathchar"3215
\mathchar"3216
\mathchar"3217
\mathchar"3218
\mathchar"3219
\mathchar"321A
\mathchar"321B
\mathchar"321C
\mathchar"321D
\mathchar"321E
\mathchar"321F
\mathchar"3220
\mathchar"3221
\mathchar"3224
\mathchar"3227
\mathchar"3232
\mathchar"3233
\mathchar"3236
\mathchar"3237
\mathchar"323F
:=><
\mathchar"322F
\mathchar"3276
\mathchar"3277
\mathchar"326B
\mathchar"326A
\mathchar"3261
\mathchar"3260
\mathchar"3225
\mathchar"3226
\mathchar"322D
\mathchar"322E
\mathchar"322C
\mathchar"3228
\mathchar"3229
}
-_-_-
\mathcode‘\>="313E
\mathcode‘\<="313C
\mathcode‘\=="303D
\mathcode‘\:="303A
\mathchardef\leq="3214 \let\le=\leq
\mathchardef\geq="3215 \let\ge=\geq
\mathchardef\succ="321F
\mathchardef\prec="321E
\mathchardef\approx="3219
\mathchardef\succeq="3217
\mathchardef\preceq="3216
\mathchardef\supset="321B
\mathchardef\set="321A
\mathchardef\supseteq="3213
\mathchardef\seteq="3212
\mathchardef\in="3232
\mathchardef\ni="3233 \let\owns=\ni
\mathchardef\gg="321D
\mathchardef\ll="321C
\mathchardef\not="3236
\mathchardef\leftrightarrow="3224
\mathchardef\leftarrow="3220 \let\gets=\leftarrow
\mathchardef\rightarrow="3221 \let\to=\rightarrow
\mathchardef\mapstochar="3237 \def\mapsto{\mapstochar\rightarrow}
\mathchardef\sim="3218
\mathchardef\simeq="3227
\mathchardef\perp="323F
\mathchardef\equiv="3211
\mathchardef\asymp="3210
\mathchardef\smile="315E
\mathchardef\frown="315F
\mathchardef\leftharpoonup="3128
\mathchardef\leftharpoondown="3129
\mathchardef\rightharpoonup="312A
\mathchardef\rightharpoondown="312B
\mathchardef\propto="322F
\mathchardef\sqsubseteq="3276
\mathchardef\sqsupseteq="3277
\mathchardef\parallel="326B
\mathchardef\mid="326A
\mathchardef\dashv="3261
\mathchardef\vdash="3260
\mathchardef\nearrow="3225
\mathchardef\searrow="3226
\mathchardef\nwarrow="322D
\mathchardef\swarrow="322E
\mathchardef\Leftrightarrow="322C
\mathchardef\Leftarrow="3228
\mathchardef\Rightarrow="3229
\mathcode‘\(="4028
\mathcode‘\)="5029
\mathcode‘\[="405B
\mathcode‘\]="505D
\mathcode‘\{="4266
\mathcode‘\}="5267
\delcode‘\(="028300
\delcode‘\)="029301
\delcode‘\[="05B302
\delcode‘\]="05D303
\def\lmoustache{\delimiter"437A340 } % top from (, bottom from )
\def\rmoustache{\delimiter"537B341 } % top from ), bottom from (
\def\lgroup{\delimiter"462833A } % extensible ( with sharper tips
\def\rgroup{\delimiter"562933B } % extensible ) with sharper tips
\def\backslash{\delimiter"26E30F } % for double coset G\backslash H
\def\rangle{\delimiter"526930B }
\def\langle{\delimiter"426830A }
\def\rbrace{\delimiter"5267309 } \let\}=\rbrace
\def\lbrace{\delimiter"4266308 } \let\{=\lbrace
\def\rceil{\delimiter"5265307 }
\def\lceil{\delimiter"4264306 }
\def\rfloor{\delimiter"5263305 }
\def\lfloor{\delimiter"4262304 }
\def\arrowvert{\delimiter"26A33C } % arrow without arrowheads
\def\Arrowvert{\delimiter"26B33D } % double arrow without arrowheads
\def\bracevert{\delimiter"77C33E } % the vertical bar that extends braces
\def\Vert{\delimiter"26B30D } \let\|=\Vert How should these be treated?
\def\vert{\delimiter"26A30C } " " " " "
\def\uparrow{\delimiter"3222378 }
\def\downarrow{\delimiter"3223379 }
\def\updownarrow{\delimiter"326C33F }
\def\Uparrow{\delimiter"322A37E }
\def\Downarrow{\delimiter"322B37F }
\def\Updownarrow{\delimiter"326D377 }
The comamnds \Configure{MathClass}{4}... and \Configure{MathClass}{5}...
are for unmatched delimiters, and the comamnd \Configure{MathDelimiters}{(}{)}
is for matched ones.
\Configure{MathClass}{4}{}{}{}{}
\Configure{MathDelimiters}{(}{)}
\Configure{MathDelimiters}{[}{]}
\Configure{MathDelimiters}{\mathchar"4262}{\mathchar"5263}
\Configure{MathDelimiters}{\mathchar"4264}{\mathchar"5265}
\Configure{MathDelimiters}{\mathchar"4266}{\mathchar"5267}
\Configure{MathDelimiters}{\mathchar"4268}{\mathchar"5269}
\Configure{MathDelimiters}{\mathchar"4300}{\mathchar"5301}
\Configure{MathDelimiters}{\mathchar"4302}{\mathchar"5303}
\Configure{MathDelimiters}{\mathchar"4304}{\mathchar"5305}
\Configure{MathDelimiters}{\mathchar"4306}{\mathchar"5307}
\Configure{MathDelimiters}{\mathchar"4308}{\mathchar"5309}
\Configure{MathDelimiters}{\mathchar"430A}{\mathchar"530B}
-_-_-
\mathcode‘\?="503F
\mathchardef\ldotp="613A % ldot as a punctuation mark
\mathchardef\cdotp="6201 % cdot as a punctuation mark
\mathchardef\colon="603A % colon as a punctuation mark
\mathcode‘\;="603B
\mathcode‘\,="613B
\Configure{MathClass}{6}{}{}{}{
\mathchar"613A
\mathchar"6201
\mathchar"603A
?; ,
}
-_-_-
\delcode‘\<="26830A
\delcode‘\>="26930B
\delcode‘\|="26A30C
\delcode‘\\="26E30F
% N.B. { and } should NOT get delcodes; otherwise parameter grouping fails!
\def\mathhexbox#1#2#3{\leavevmode
\hbox{$\m@th \mathchar"#1#2#3$}}
\def\dag{\mathhexbox279}
\def\ddag{\mathhexbox27A}
\def\S{\mathhexbox278}
\def\P{\mathhexbox27B}
latex.ltx, fontmath.ltx, plain.tex
\Configure{overrightarrow}
{\leavevmode\IgnorePar}
{}
\Configure{overleftarrow}
{\leavevmode\IgnorePar}
{}
-_-_-