\add:description{begin-limits-script}{\a:speak:underover}}%
\trap:base
%
\bgroup
\ifx \pl:SUBSUP\:UnDef \else
\let\SUBSUP:=\pl:SUBSUP
\fi
%
\Configure{SUB}
{\Send{BACK}
{%
}\HCode{\add:description{begin-script}{\a:speak:subsup}%
}\trap:base
%
\bgroup
\Configure{SUB}
{\Send{BACK}
{%
}\HCode{\add:description{begin-script}{\a:speak:subsup}%
}\trap:base
%
\bgroup \trap:base}
{\egroup \HCode{\add:description{end-script}{\c:speak:subsup}%
}%
%
}%
\trap:base}
{\egroup\HCode{\add:description{end-limits-script}{\c:speak:underover}%
}\aftergroup\pl:SUB %
}%
\trap:base}
{}%
\fi\fi
\let\pl:SUBSUP=\SUBSUP:
%
\Configure{SUBSUP}
{\ifx \pl:SUB \:UnDef\else \pl:SUB \fi
\ifx \pl:SUP \:UnDef\else \pl:SUP \fi
\ifx \pl:SUBSUP\:UnDef \else
\let\SUBSUP:=\pl:SUBSUP
\fi
%
\Send{BACK}
{%
}\HCode{\add:description{begin-limits-script}{\a:speak:underover}}%
\trap:base
}
{\HCode{\add:description{mid-limits-script}{\b:speak:underover}}\trap:base
}
{\HCode{\add:description{end-limits-script}{\c:speak:underover}%
}%
}
%
}
\ifx \a:putSUB\:UnDef \else
\pend:def\a:putSUB{\ifx \pl:SUBSUP\:UnDef\else
\let\SUBSUP:=\pl:SUBSUP
\let\pl:SUBSUP=\:UnDef
\fi}%
\fi
\ifx \a:putSUP\:UnDef \else
\pend:def\a:putSUP{\ifx \pl:SUBSUP\:UnDef\else
\let\SUBSUP:=\pl:SUBSUP
\let\pl:SUBSUP=\:UnDef
\fi}%
\fi
\NewConfigure{speak:subsup}{3}
\Configure{speak:subsup}
{
}
{
}
{
}
\Configure{over}
{\Send{GROUP}{0}{\add:description{begin-end}{\a:speak:fraction}%
%
}\HCode{}%
}
{\HCode{\add:description{begin-end}{\c:speak:fraction}
}%
\Send{EndGROUP}{0}{\add:description{begin-end}{\b:speak:fraction}%
}}
\Configure{atop}
{\Send{GROUP}{0}{%
\add:description{begin-stack}{\a:speak:atop}%
%
}\HCode{}%
}
{\HCode{\add:description{added-description}{\c:speak:atop}}%
\Send{EndGROUP}{0}{\add:description{end-stack}{\b:speak:atop}%
}}
\Configure{above}
{\Send{GROUP}{0}{\add:description{begin-end}{\a:speak:fraction}%
%
%
}%
\HCode{}%
%
\o:over:\:gobbleII}
{\HCode{\add:description{begin-end}{\c:speak:fraction}
}%
%
\Send{EndGROUP}{0}{\add:description{begin-end}{\b:speak:fraction}%
%
}}
\def\abovewithdelims:III#1#2#3{%
\def\:temp{#2#3}\def\:tempa{..}\ifx \:temp\:tempa
\Send{GROUP}{0}{\add:description{begin-end}{\a:speak:fraction}%
%
%
}%
\HCode{}%
%
\o:over:
\HCode{\add:description{begin-end}{\c:speak:fraction}
}%
%
\Send{EndGROUP}{0}{\add:description{begin-end}{\b:speak:fraction}%
%
}
\else
\Send{GROUP}{0}%
{\expandafter
\ifx \csname \string#2:lr del\endcsname\relax #2\else
\csname \string#2:lr del\endcsname\fi
%
\add:description{begin-end}{\a:speak:fraction}%
%
%
}%
\HCode{}%
%
\o:over:
\HCode{\add:description{begin-end}{\c:speak:fraction}
}%
%
\Send{EndGROUP}{0}{\add:description{begin-end}{\b:speak:fraction}%
%
%
\expandafter
\ifx \csname \string#3:lr del\endcsname\relax #3\else
\csname \string#3:lr del\endcsname\fi
}
\fi
\tmp:dim
}
\def\atopwithdelims:III#1#2#3{%
\def\:temp{#2#3}\def\:tempa{..}\ifx \:temp\:tempa
\Send{GROUP}{0}{%
\add:description{begin-stack}{\a:speak:atop}%
%
}%
\HCode{}%
\o:atop:
\HCode{\add:description{added-description}{\c:speak:atop}}%
\Send{EndGROUP}{0}{\add:description{end-stack}{\b:speak:atop}%
}
\else
\Send{GROUP}{0}%
{\expandafter
\ifx \csname \string#2:lr del\endcsname\relax #2\else
\csname \string#2:lr del\endcsname\fi
%
%
\add:description{begin-stack}{\a:speak:atop}%
%
}%
\HCode{}%
\o:atop:
\HCode{\add:description{added-description}{\c:speak:atop}}%
%
\Send{EndGROUP}{0}{\add:description{end-stack}{\b:speak:atop}%
%
\expandafter
\ifx \csname \string#3:lr del\endcsname\relax #3\else
\csname \string#3:lr del\endcsname\fi
}
\fi
}
\def\overwithdelims:III#1#2#3{%
\def\:temp{#2#3}\def\:tempa{..}\ifx \:temp\:tempa
\Send{GROUP}{0}{\add:description{begin-end}{\a:speak:fraction}%
%
}\HCode{}%
\o:over:
\HCode{\add:description{begin-end}{\c:speak:fraction}
}%
\Send{EndGROUP}{0}{\add:description{begin-end}{\b:speak:fraction}%
}
\else
\Send{GROUP}{0}%
{\expandafter
\ifx \csname \string#2:lr del\endcsname\relax #2\else
\csname \string#2:lr del\endcsname\fi
%
\add:description{begin-end}{\a:speak:fraction}%
%
}%
\HCode{}%
\o:over:
\HCode{\add:description{begin-end}{\c:speak:fraction}
}%
\Send{EndGROUP}{0}{\add:description{begin-end}{\b:speak:fraction}%
%
\expandafter
\ifx \csname \string#3:lr del\endcsname\relax #3\else
\csname \string#3:lr del\endcsname\fi
}
\fi
}
\NewConfigure{speak:fraction}{3}
\Configure{speak:fraction}
{begin
fraction}
{end
fraction}
{%
over}
\NewConfigure{speak:atop}{3}
\Configure{speak:atop}
{begin stack}
{end stack}
{over}
\Configure{radical}
{\HCode{%
\add:description{begin-root}{\a:speak:radical}}%
\special{t4ht\string~!e<}%
\special{t4ht\string~!e>%
\add:description{end-root}{\b:speak:radical}}%
\special{t4ht\string~!ee/}%
\special{t4ht\string~!ese-}%
}
\NewConfigure{speak:radical}{2}
\Configure{speak:radical}
{begin
root}
{end
root}
\NewConfigure{speak:underover}{3}
\Configure{speak:underover}
{under script}
{over script}
{end scripts}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{latex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Configure{[]}
{\Configure{@math}{div}\IgnorePar
\ifvmode\else \HCode{}\fi
\EndP
\Configure{DviMathSpk}
{\HCode{%
\add:description{begin-math}{\a:speak:math}}}
{\HCode{\add:description{end-math}{\b:speak:math}
}}%
\DviMath $$\DisplayMathtrue }
{$$\EndDviMath}
\Configure{()}
{\Configure{DviMathSpk}
{\HCode{%
\add:description{begin-math}{\a:speak:math}}}
{\HCode{\add:description{end-math}{\b:speak:math}}}%
\DviMath $}
{$\EndDviMath}
\Configure{choose}
{\Send{GROUP}{0}{%
\add:description{begin-stack}{\a:speak:choose}%
}%
\HCode{}\o:atop:
\HCode{\add:description{added-description}%
{\c:speak:choose}}%
\Send{EndGROUP}{0}%
{\add:description{end-stack}{\b:speak:choose}}%
}
\NewConfigure{speak:choose}{3}
\Configure{speak:choose}
{binomial coefficient}
{}
{choose}
\Configure{mfenced}{\vert}{\string&\#x007C;}
\Configure{mfenced}{\{}{\string&\#x007B;}
\Configure{mfenced}{\}}{\string&\#x007D;}
\Configure{mfenced}{\lbrace}{\string&\#x007B;}
\Configure{mfenced}{\rbrace}{\string&\#x007D;}
\Configure{mfenced}{\rgroup}{\string&\#x0028;}
\Configure{mfenced}{\lgroup}{\string&\#x0029;}
\Configure{mfenced}{(}{\string&\#x0028;}
\Configure{mfenced}{)}{\string&\#x0029;}
\Configure{mfenced}{[}{\string&\#x0058;}
\Configure{mfenced}{]}{\string&\#x0059;}
\Configure{mfenced}{|}{\string&\#x007C;}
\Configure{mfenced}{\bracevert}{\string&\#x007C;}
\Configure{mfenced}{\bracevert}{\string&\#x007C;}
\def\mathop:prefix#1{%
\Configure{mathop}{*}{}{}%
{\Configure{mathop}{*}{}{}{}}}
\Configure{quad}{\HCode{%
}}
\Configure{qquad}{\HCode{%
}}
\Configure{,}{\HCode{%
}}
\Configure{ }{\:nbsp}
\def\:nbsp{\leavevmode\special{t4ht@+\string&{35}x00A0{59}}x}
\Configure{root}
{\HCode{%
\add:description{begin-root}{\a:speak:root}%
}}
{\HCode{\add:description{mid-root}{\b:speak:root}%
}}
{\HCode{\add:description{end-root}{\c:speak:root}}}
\NewConfigure{speak:root}{3}
\Configure{speak:root}
{root
index}
{begin
root}
{end
root}
\Configure{left}
{}
{\HCode{\expandafter
\ifx \csname \string#1:lr del\endcsname\relax #1\else
\csname \string#1:lr del\endcsname\fi
}\bgroup
\HCode{}\bgroup}
\Configure{right}
{\egroup\HCode{}\egroup
\HCode{\expandafter
\ifx \csname \string#1:lr del\endcsname\relax #1\else
\csname \string#1:lr del\endcsname\fi
}}
{}
\Configure{mfenced}{\vert}{|}
\edef\:temp{\noexpand\Configure{mfenced}{\noexpand\{}{\string&\#x007B;}}\:temp
\edef\:temp{\noexpand\Configure{mfenced}{\noexpand\}}{\string&\#x007D;}}\:temp
\edef\:temp{\noexpand
\Configure{mfenced}{\noexpand\lbrace}{\string&\#x007B;}}\:temp
\edef\:temp{\noexpand
\Configure{mfenced}{\noexpand\rbrace}{\string&\#x007D;}}\:temp
\def\mathinner#1{\Tg#1\Tg}
\:CheckOption{new-accents} \if:Option \else
\Configure{accent}\widetilde\widetilde{{}{}}
{}
{\HCode{%
\add:description{begin-end}{\b:speak:modified}%
}%
#2%
\HCode{\add:description{begin-end}{\a:speak:modified:tilde}%
}}
\Configure{accent}\widehat\widehat{{}{}}
{}
{\HCode{%
\add:description{begin-end}{\a:speak:modified}%
}%
#2%
\HCode{\add:description{begin-end}{
\a:speak:modified:hat}}}
\Configure{accents}
{\ifmmode \expandafter\mathord\fi
{\leavevmode
\if !#1!\ht:special{t4ht@+&{35}x#2;}%
\else \expandafter \ifx\csname U#2#1\endcsname\relax
\ht:special{t4ht@+&{35}x#2;}%
\else
\ht:special{t4ht@+&{35}x\csname U#2#1\endcsname;}%
\fi \fi x%
%
\ht:special{t4ht@[}\if!#1!x\else#2\fi
\ht:special{t4ht@]}}}
{\ifmathml
\ifmtext \expandafter\ifx \csname :#1:over\endcsname\relax
\expandafter\ifx \csname :#1:under\endcsname\relax
\AccentMath{\expandafter\ifx \csname :#1:over\endcsname\relax
\HCode{}%
#3\HCode{}%
\csname :#1:under\endcsname
\HCode{}%
%
\else \expandafter\ifx \csname :#1:under\endcsname\relax
\HCode{%
}%
#3\HCode{}%
\csname prefix:#1:over\endcsname
\csname :#1:over\endcsname
\HCode{}%
%
\else
\HCode{}%
#3\HCode{}%
\csname :#1:under\endcsname
\csname :#1:over\endcsname
\HCode{}%
%
\fi \fi
}%
\else #3\csname :#1:under\endcsname \fi
\else #3\csname :#1:over\endcsname \fi
%
\else \AccentMath{\expandafter\ifx \csname :#1:over\endcsname\relax
\HCode{}%
#3\HCode{}%
\csname :#1:under\endcsname
\HCode{}%
%
\else \expandafter\ifx \csname :#1:under\endcsname\relax
\HCode{%
}%
#3\HCode{}%
\csname prefix:#1:over\endcsname
\csname :#1:over\endcsname
\HCode{}%
%
\else
\HCode{}%
#3\HCode{}%
\csname :#1:under\endcsname
\csname :#1:over\endcsname
\HCode{}%
%
\fi \fi
}\fi
\else \expandafter\ifx \csname :#1:over\endcsname\relax
\expandafter\ifx \csname :#1:under\endcsname\relax
\AccentMath{\expandafter\ifx \csname :#1:over\endcsname\relax
\HCode{}%
#3\HCode{}%
\csname :#1:under\endcsname
\HCode{}%
%
\else \expandafter\ifx \csname :#1:under\endcsname\relax
\HCode{%
}%
#3\HCode{}%
\csname prefix:#1:over\endcsname
\csname :#1:over\endcsname
\HCode{}%
%
\else
\HCode{}%
#3\HCode{}%
\csname :#1:under\endcsname
\csname :#1:over\endcsname
\HCode{}%
%
\fi \fi
}%
\else #3\csname :#1:under\endcsname \fi
\else #3\csname :#1:over\endcsname \fi
\fi
}
\fi
\Configure{cases}
{}{} {\HCode{}}{\HCode{}}
{\Tg}{\Tg}
{\Tg}{\Tg}
\Configure{matrix}
{\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
%
\PushStack\Row:Stck\HRow \HAssign\HRow=0\relax
%
\HCode{}%
\HCode{\add:vdescription{begin-array}{\a:speak:array}}}
{\Tag{array-\TableNo}{\hrow:s}%
\HCode{%
%
\add:vdescription{end-array}{\b:speak:array}}%
\ifvmode \IgnorePar\fi \HCode{}%
\PopStack\Row:Stck\HRow
%
\PopStack\Table:Stck\TableNo
}
{\HCode{}\c:speak:array}%
{\xdef\hrow:s{\HRow}\HCode{}}%
{\HCode{}%
\e:speak:array\HCode{}}
{\HCode{
}\f:speak:array
\HCode{\Hnewline}}
\Configure{pmatrix}
{\bgroup\HCode{}}
{\HCode{
}\egroup}
\NewConfigure{speak:array}{6}
\Configure{speak:array}
{begin array with
\ifTag{array-\TableNo}{\LikeRef{array-\TableNo}}{}
rows}
{end array}
{\HCode{%
%
\add:vdescription{begin-end}{\ord:pos{\HRow}%
row}%
%
}%
}
{}
{\HCode{%
%
\ifnum \HMultispan>1
%
\add:vdescription{added-description}{\ord:pos{\HCol}%
cell
spans \HMultispan \space columns}%
%
\else
\ifnum \HCol>1
%
\add:vdescription{added-description}{\ord:pos{\HCol}%
cell}%
%
\fi
\fi
}%
}
{}
\NewConfigure{speak:smallmatrix}{6}
\Configure{speak:smallmatrix}
{begin matrix with
\ifTag{smallmatrix-\TableNo}{\LikeRef{smallmatrix-\TableNo}}{}
rows}
{end matrix}
{\HCode{%
%
\add:vdescription{begin-end}{\ord:pos{\HRow}%
row}%
%
}%
}
{}
{\HCode{%
%
\ifnum \HMultispan>1
%
\add:vdescription{added-description}{\ord:pos{\HCol}%
cell
spans \HMultispan \space columns}%
%
\else
\ifnum \HCol>1
%
\add:vdescription{added-description}{\ord:pos{\HCol}%
cell}%
%
\fi
\fi
}%
}
{}
\Configure{frac}
{\HCode{\add:description{begin-end}{\a:speak:fraction}%
%
}}
{\HCode{}%
\Configure{over}{}{}}
{\HCode{\add:description{begin-end}{\c:speak:fraction}
}%
}
{\HCode{\add:description{begin-end}{\b:speak:fraction}%
}}
\def\:MM{m}
\Configure{HBorder}
{}
{ \string&\#x0332;
}
{}
{}
{}
{ \string&\#x0332;
}
{}
{}
{}
{}
\Configure{overline}
{\bgroup\ifmathml \HCode{%
\add:description{begin-end}{\b:speak:modified}%
}%
\else
\HCode{}\fi}
{\ifmathml \HCode{%
\add:description{begin-end}{\a:speak:modified:line}%
}%
\else
\HCode{}\fi\egroup}
\Configure{underline}
{\bgroup
\ifmathml \HCode{%
\add:description{begin-end}{\a:speak:modified}%
}%
%
\else \expandafter\everymath
\expandafter{\expandafter\everymath
\expandafter{\the\everymath}}%
\let\o::@underline:\o:@@underline:
\def\o:@@underline:{\let\o:@@underline:\o::@underline:}%
%
\HCode{}\fi}
{\ifmathml \HCode{%
\add:description{begin-end}{\a:speak:modified:line}%
}%
\else
\HCode{}\fi \egroup}
\NewConfigure{speak:modified}{2}
\Configure{speak:modified}
{modified
under}
{modified
above}
\NewConfigure{speak:modified:brace}{1}
\NewConfigure{speak:modified:hat}{1}
\NewConfigure{speak:modified:line}{1}
\NewConfigure{speak:modified:tilde}{1}
\Configure{speak:modified:brace}
{with brace}
\Configure{speak:modified:hat}
{with wide hat}
\Configure{speak:modified:line}
{with bar}
\Configure{speak:modified:tilde}
{with wide tilde}
\Configure{hspace}{ }{}{ }
\def\:temp#1#2{\expandafter\def\csname prefix:#1:over\endcsname
{\HCode{\add:description{added-description}{ #2 }}}}
\:temp{vec}{\b:speak:underover}
\:temp{dddot}{\b:speak:underover}
\:temp{ddddot}{\b:speak:underover}
\Configure{array}
{\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
%
\PushStack\Row:Stck\HRow \HAssign\HRow=0\relax
%
\HCode{}%
\HCode{\add:vdescription{begin-array}{\a:speak:array}}}
{\Tag{array-\TableNo}{\hrow:s}%
\HCode{%
%
\add:vdescription{end-array}{\b:speak:array}}%
\ifvmode \IgnorePar\fi
\expandafter\tmp:toks\expandafter{\Clr}%
\HCode{}%
\HCode{}%
\PopStack\Row:Stck\HRow
%
\PopStack\Table:Stck\TableNo
}
{\HCode{}\c:speak:array}%
{\xdef\hrow:s{\HRow}\HCode{}}%
{\HCode{}%
\e:speak:array\HCode{}}
{\HCode{
}\f:speak:array
\HCode{\Hnewline}}
\ConfigureEnv{array}
{\bgroup\Configure{$}{}{}{}}
{\egroup}
{}{}
\ConfigureEnv{array}
{\PushStack\Col:Marg\AllColMargins
\bgroup\Configure{$}{}{}{}}
{\egroup \PopStack\Col:Marg\AllColMargins}
{}{}
\def\:MM{\ifmathml m\fi}
\Configure{HBorder}
{<\:MM tr\Hnewline
\ifmathml \expandafterclass\else class\fi="hline">}
{\ifmathml \string&\#x0332;
\else
| \fi}
{\:MM tr>}
{<\:MM tr\Hnewline
\ifmathml \expandafterclass\else class\fi ="cline">}
{<\:MM td>\:MM td>}
{\ifmathml \string&\#x0332;
\else
| \fi}
{\:MM tr>}
{<\:MM tr\Hnewline
\ifmathml \expandafterclass\else class\fi="vspace"
style="font-size:\HBorderspace">}
{<\:MM td\Hnewline>\ifmathml\else\string&\#x00A0;\fi
\:MM td>}
{\:MM tr>}
\Configure{halign}
{\EndP\halignTB{halign}} \t:HA
\R:HA\r:HA\D:HA\d:HA
\Configure{multicolumn}
{\let\sv:VBorder\VBorder
\let\VBorder\empty
\Configure{VBorder}{}{}{}{}%
}
{\let\VBorder\sv:VBorder}
{\ifmmode \else
\ifvmode\IgnorePar\fi
\fi \HCode{}}
{\ifmmode \else
\ifvmode\IgnorePar\fi \EndP\fi \HCode{
} }
\def\gob:sp#1{#1}
\Configure{equation}
{\IgnorePar\ifvmode\else \HCode{}\fi
\EndP
\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
%
\HCode{%
\add:description{begin-math}{\a:speak:equation}%
}\IgnorePar
\Configure{$$}
{\Configure{@math}{%
class="equation"}\IgnorePar\EndP\DviMath}
{\EndDviMath\EndP}
{\DisplayMathtrue}%
}
{\ifvmode \IgnorePar\fi\EndP
\HCode{
}%
\let\@eqnnum\empty
}
{\HCode{%
\add:description{end-math}{\b:speak:equation}%
}%
\Tag{eq-\TableNo-num}{\theequation}%
\ShowPar \par{\HCondtrue\noindent}%
}
\NewConfigure{speak:equation}{2}
\Configure{speak:equation}
{begin equation
\ifTag{eq-\TableNo-num}{\LikeRef{eq-\TableNo-num}}{}%
}
{end equation \theequation
}
\def\AA:text#1{\mtexttrue
\HCode{ }%
\ht:special{t4ht@,&\#x00A0;}%
\PauseMathClass
\Configure{$}%
{\EndPauseMathClass \HCode{}\mtextfalse
\ht:special{t4ht@,}%
}%
{\HCode{}\ht:special{t4ht@,&\#x00A0;}%
\PauseMathClass \mtexttrue}%
{}%
%
}
\def\BB:text{\mtextfalse\EndPauseMathClass\ht:special{t4ht@,}%
\HCode
{}%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{fontmath}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Configure{MathClass}{1}{*}{}
{}{}
\Configure{MathClass}{2}{*}{}
{}{}
\Configure{MathClass}{3}{*}{}
{}{}
\:CheckOption{mathml-} \if:Option
\Configure{MathClass}{4}{*}{}
{}{}
\Configure{MathClass}{5}{*}{%
}
{}{}
\else
\Configure{MathClass}{4}{*}{}
{}{}
\Configure{MathClass}{5}{*}{%
}
{}{}
\fi
\def\sin{\mathop {\operator@font sine}\nolimits}
\def\cos{\mathop {\operator@font cosine}\nolimits}
\def\lim{\mathop {\operator@font limit}}
\Configure{overbrace}
{\Configure{mathop*}{*}
{%
\add:description{begin-end}{\b:speak:modified}%
}
{\add:description{begin-end}{\a:speak:modified:brace}%
}
{\Configure{mathop}{}{}{}{}}%
}
{\let\o:overbrace:=\displaystyle}
{}
\Configure{underbrace}
{\Configure{mathop*}{*}
{%
\add:description{begin-end}{\a:speak:modified}%
}
{\add:description{begin-end}{\a:speak:modified:brace}%
}
{\Configure{mathop}{}{}{}{}}%
}
{\let\o:underbrace:=\displaystyle}
{}
\Configure{overrightarrow}
{\HCode{%
\add:description{begin-end}{\b:speak:modified}%
}\:gobble}
{\HCode{%
\add:description{begin-end}{\a:speak:modified:rightarrow}%
}}
\Configure{overleftarrow}
{\HCode{%
\add:description{begin-end}{\b:speak:modified}%
}\:gobble}
{\HCode{%
\add:description{begin-end}{\a:speak:modified:leftarrow}%
}}
\NewConfigure{speak:modified:leftarrow}{1}
\NewConfigure{speak:modified:leftrightarrow}{1}
\NewConfigure{speak:modified:rightarrow}{1}
\Configure{speak:modified:leftarrow}
{with left
right arrow}
\Configure{speak:modified:leftrightarrow}
{with left
right arrow}
\Configure{speak:modified:rightarrow}
{with
right arrow}
\def\:tempc{\HCode{\add:description{added-description}{real part
symbol capital }}\o:Re:}
\HLet\Re\:tempc
\def\:tempc{\HCode{\add:description{added-description}{real part
symbol capital }}\o:Im:}
\HLet\Im\:tempc
\Configure{big}
{}{}
{}
{}
\Configure{Big}
{}{}
{}
{}
\Configure{bigg}
{}{}
{}
{}
\Configure{Bigg}
{}{}
{}
{}
\Configure{Biggm}
{\bgroup
\Configure{Bigg}{}{}{}{}%
\Configure{mathrel}{*}
{}
{}
{\Configure{mathrel}{}{}{}{}}%
}
{\egroup}
\Configure{Bigm}
{\bgroup
\Configure{Big}{}{}{}{}%
\Configure{mathrel}{*}
{}
{}
{\Configure{mathrel}{}{}{}{}}%
}
{\egroup}
\Configure{biggm}
{\bgroup
\Configure{bigg}{}{}{}{}%
\Configure{mathrel}{*}
{}
{}
{\Configure{mathrel}{}{}{}{}}%
}
{\egroup}
\Configure{bigm}
{\bgroup
\Configure{big}{}{}{}{}%
\Configure{mathrel}{*}
{}
{}
{\Configure{mathrel}{}{}{}{}}%
}
{\egroup}
\:CheckOption{mathml-} \if:Option
\Configure{Biggl}
{\bgroup
\Configure{Bigg}{}{}{}{}%
\Configure{mathopen}{*}
{}
{}
{\Configure{mathopen}{}{}{}{}}%
}
{\egroup}
\Configure{Biggr}
{\bgroup
\Configure{Bigg}{}{}{}{}%
\Configure{mathclose}{*}
{}
{}
{\Configure{mathclose}{}{}{}{}}%
}
{\egroup}
\Configure{Bigl}
{\bgroup
\Configure{Big}{}{}{}{}%
\Configure{mathopen}{*}
{}
{}
{\Configure{mathopen}{}{}{}{}}%
}
{\egroup}
\Configure{Bigr}
{\bgroup
\Configure{Big}{}{}{}{}%
\Configure{mathclose}{*}
{}
{}
{\Configure{mathclose}{}{}{}{}}%
}
{\egroup}
\Configure{biggl}
{\bgroup
\Configure{bigg}{}{}{}{}%
\Configure{mathopen}{*}
{}
{}
{\Configure{mathopen}{}{}{}{}}%
}
{\egroup}
\Configure{biggr}
{\bgroup
\Configure{bigg}{}{}{}{}%
\Configure{mathclose}{*}
{}
{}
{\Configure{mathclose}{}{}{}{}}%
}
{\egroup}
\Configure{bigl}
{\bgroup
\Configure{big}{}{}{}{}%
\Configure{mathopen}{*}
{}
{}
{\Configure{mathopen}{}{}{}{}}%
}
{\egroup}
\Configure{bigr}
{\bgroup
\Configure{big}{}{}{}{}%
\Configure{mathclose}{*}
{}
{}
{\Configure{mathclose}{}{}{}{}}%
}
{\egroup}
\else
\Configure{Biggl}
{\bgroup
\Configure{Bigg}{}{}{}{}%
\Configure{mathopen}{*}
{}
{}
{\Configure{mathopen}{}{}{}{}}%
}
{\egroup}
\Configure{Biggr}
{\bgroup
\Configure{Bigg}{}{}{}{}%
\Configure{mathclose}{*}
{}
{}
{\Configure{mathclose}{}{}{}{}}%
}
{\egroup}
\Configure{Bigl}
{\bgroup
\Configure{Big}{}{}{}{}%
\Configure{mathopen}{*}
{}
{}
{\Configure{mathopen}{}{}{}{}}%
}
{\egroup}
\Configure{Bigr}
{\bgroup
\Configure{Big}{}{}{}{}%
\Configure{mathclose}{*}
{}
{}
{\Configure{mathclose}{}{}{}{}}%
}
{\egroup}
\Configure{biggl}
{\bgroup
\Configure{bigg}{}{}{}{}%
\Configure{mathopen}{*}
{}
{}
{\Configure{mathopen}{}{}{}{}}%
}
{\egroup}
\Configure{biggr}
{\bgroup
\Configure{bigg}{}{}{}{}%
\Configure{mathclose}{*}
{}
{}
{\Configure{mathclose}{}{}{}{}}%
}
{\egroup}
\Configure{bigl}
{\bgroup
\Configure{big}{}{}{}{}%
\Configure{mathopen}{*}
{}
{}
{\Configure{mathopen}{}{}{}{}}%
}
{\egroup}
\Configure{bigr}
{\bgroup
\Configure{big}{}{}{}{}%
\Configure{mathclose}{*}
{}
{}
{\Configure{mathclose}{}{}{}{}}%
}
{\egroup}
\fi
\def\bold:version{bold}
\Configure{mathbf}%
{\bgroup \HCode{%
%
\add:vdescription{font}{bold}}}%
{\HCode{}\egroup }%
\Configure{mathit}%
{\bgroup \HCode{}}%
{\HCode{}\egroup }%
\Configure{mathrm}%
{\bgroup \HCode{}}%
{\HCode{}\egroup }%
\Configure{mathsf}%
{\bgroup \HCode{}}%
{\HCode{}\egroup }%
\Configure{mathtt}%
{\bgroup \HCode{}}%
{\HCode{}\egroup }%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{amsmath}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Configure{above}
{\Send{GROUP}{0}{\add:description{begin-end}{\a:speak:fraction}%
%
%
}%
\HCode{}%
%
\o:@@over:\:gobbleII}
{\HCode{\add:description{begin-end}{\c:speak:fraction}
}%
%
\Send{EndGROUP}{0}{\add:description{begin-end}{\b:speak:fraction}%
%
}}
\Configure{tbinom}
{\Send{GROUP}{0}{%
\add:description{begin-stack}{\a:speak:choose}%
}%
\HCode{}\o:@@abovewithdelims: ..\z@{}%
\HCode{\add:description{added-description}%
{\c:speak:choose}}%
\Send{EndGROUP}{0}%
{\add:description{end-stack}{\b:speak:choose}}%
}
\Configure{dbinom}
{\Send{GROUP}{0}{%
\add:description{begin-stack}{\a:speak:choose}%
}%
\HCode{}\o:@@abovewithdelims: ..\z@{}%
\HCode{\add:description{added-description}{\c:speak:choose}}%
\Send{EndGROUP}{0}%
{\add:description{end-stack}{\b:speak:choose}}%
}
\Configure{binom}
{\Send{GROUP}{0}{%
\add:description{begin-stack}{\a:speak:choose}%
}%
\HCode{}\o:@@abovewithdelims: ..\z@{}%
\HCode{\add:description{added-description}{\c:speak:choose}}%
\Send{EndGROUP}{0}%
{\add:description{end-stack}{\b:speak:choose}}%
}
\def\abovewithdelims:III#1#2#3{%
\def\:temp{#2#3}\def\:tempa{..}\ifx \:temp\:tempa
\Send{GROUP}{0}{\add:description{begin-end}{\a:speak:fraction}%
%
%
}%
\HCode{}%
%
\o:@@over:
\HCode{\add:description{begin-end}{\c:speak:fraction}
}%
%
\Send{EndGROUP}{0}{\add:description{begin-end}{\b:speak:fraction}%
%
}
\else
\Send{GROUP}{0}%
{\expandafter
\ifx \csname \string#2:lr del\endcsname\relax #2\else
\csname \string#2:lr del\endcsname\fi
%
\add:description{begin-end}{\a:speak:fraction}%
%
%
}%
\HCode{}%
%
\o:@@over:
\HCode{\add:description{begin-end}{\c:speak:fraction}
}%
%
\Send{EndGROUP}{0}{\add:description{begin-end}{\b:speak:fraction}%
%
%
\expandafter
\ifx \csname \string#3:lr del\endcsname\relax #3\else
\csname \string#3:lr del\endcsname\fi
}
\fi
\tmp:dim
}
\def\atopwithdelims:III#1#2#3{%
\def\:temp{#2#3}\def\:tempa{..}\ifx \:temp\:tempa
\Send{GROUP}{0}{%
\add:description{begin-stack}{\a:speak:atop}%
%
}%
\HCode{}%
\o:@@atop:
\HCode{\add:description{added-description}{\c:speak:atop}}%
\Send{EndGROUP}{0}{\add:description{end-stack}{\b:speak:atop}%
}
\else
\Send{GROUP}{0}%
{\expandafter
\ifx \csname \string#2:lr del\endcsname\relax #2\else
\csname \string#2:lr del\endcsname\fi
%
%
\add:description{begin-stack}{\a:speak:atop}%
%
}%
\HCode{}%
\o:@@atop:
\HCode{\add:description{added-description}{\c:speak:atop}}%
\Send{EndGROUP}{0}{\add:description{end-stack}{\b:speak:atop}%
%
\expandafter
\ifx \csname \string#3:lr del\endcsname\relax #3\else
\csname \string#3:lr del\endcsname\fi
}
\fi
}
\def\overwithdelims:III#1#2#3{%
\def\:temp{#2#3}\def\:tempa{..}\ifx \:temp\:tempa
\Send{GROUP}{0}{\add:description{begin-end}{\a:speak:fraction}%
%
}%
\HCode{}%
\o:over:
\HCode{\add:description{begin-end}{\c:speak:fraction}
}%
\Send{EndGROUP}{0}{\add:description{begin-end}{\b:speak:fraction}%
}
\else
\Send{GROUP}{0}%
{\expandafter
\ifx \csname \string#2:lr del\endcsname\relax #2\else
\csname \string#2:lr del\endcsname\fi
%
\add:description{begin-end}{\a:speak:fraction}%
%
}%
\HCode{}%
\o:@@over:
\HCode{\add:description{begin-end}{\c:speak:fraction}
}%
\Send{EndGROUP}{0}{\add:description{begin-end}{\b:speak:fraction}%
%
\expandafter
\ifx \csname \string#3:lr del\endcsname\relax #3\else
\csname \string#3:lr del\endcsname\fi
}
\fi
}
\Configure{underrightarrow}
{\HCode{%
\add:description{begin-end}{\a:speak:modified}%
}\:gobble}
{\HCode{%
\add:description{begin-end}{\a:speak:modified:rightarrow}%
}}
\Configure{underleftarrow}
{\HCode{%
\add:description{begin-end}{\a:speak:modified}%
}\:gobble}
{\HCode{%
\add:description{begin-end}{speak:modified:leftarrow}%
}}
\Configure{overleftrightarrow}
{\HCode{%
\add:description{begin-end}{\b:speak:modified}%
}\:gobble}
{\HCode{%
\add:description{begin-end}{\a:speak:modified:leftrightarrow}%
}}
\Configure{underleftrightarrow}
{\HCode{%
\add:description{begin-end}{\a:speak:modified}%
}\:gobble}
{\HCode{%
\add:description{begin-end}{\a:speak:modified:leftrightarrow}%
}}
\def\:tempc{\HCode{}\mathbin{mod} }
\HLet\bmod\:tempc
\def\:tempc#1{ (#1)}
\HLet\pod=\:tempc
\def\:tempc#1{\pod{\mathop{mod} #1}}
\HLet\pmod=\:tempc
\def\:tempc#1{ \mathop{mod} #1}
\HLet\mod=\:tempc
\Configure{hdotsfor}{\dots}
\Configure{tmspace}
{\HCode{%
}}
\renewcommand{\xrightarrow}[2][]{%
\if :#1:
\HCode{%
}%
\rightarrow
\HCode{\add:description{begin-limits-script}{\b:speak:underover}}%
\trap:base
#2%
\HCode{\add:description{end-limits-script}{\c:speak:underover}%
}%
%
\else
\HCode{%
}%
\leftarrow
\HCode{\add:description{begin-limits-script}{\a:speak:underover}}%
\trap:base
#1%
\HCode{\add:description{mid-limits-script}{\b:speak:underover}}\trap:base
#2%
\HCode{\add:description{end-limits-script}{\c:speak:underover}%
}%
%
\fi
}
\renewcommand{\xleftarrow}[2][]{%
\if :#1:
\HCode{%
}%
\leftarrow
\HCode{\add:description{begin-limits-script}{\b:speak:underover}}%
\trap:base
#2%
\HCode{\add:description{end-limits-script}{\c:speak:underover}%
}%
%
\else
\HCode{%
}%
\leftarrow
\HCode{\add:description{begin-limits-script}{\a:speak:underover}}%
\trap:base
#1%
\HCode{\add:description{mid-limits-script}{\b:speak:underover}}\trap:base
#2%
\HCode{\add:description{end-limits-script}{\c:speak:underover}%
}%
%
\fi
}
\def\overset#1#2{{%
\HCode{%
}%
#2%
\HCode{\add:description{begin-limits-script}{\b:speak:underover}}%
\trap:base
#1%
\HCode{\add:description{end-limits-script}{\c:speak:underover}%
}%
%
}}
\def\underset#1#2{{%
\HCode{%
}%
#2%
\HCode{\add:description{begin-limits-script}{\a:speak:underover}}%
\trap:base
#1%
\HCode{\add:description{end-limits-script}{\c:speak:underover}%
}%
%
}}
\def\sideset#1#2#3{{\Tg{\HCode{}}#1{\HCode{}#3}#2\Tg}}
\Configure{aligned}
{\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
%
\PushStack\Row:Stck\HRow \HAssign\HRow=0\relax
%
\HCode{}%
\HCode{\add:vdescription{begin-array}{\a:speak:aligned}}}
{\Tag{aligned-\TableNo}{\hrow:s}%
\HCode{%
%
\add:vdescription{end-array}{\b:speak:aligned}}%
\ifvmode \IgnorePar\fi
\HCode{}%
\PopStack\Row:Stck\HRow
%
\PopStack\Table:Stck\TableNo
}
{\HCode{}\c:speak:aligned}%
{\xdef\hrow:s{\HRow}\HCode{}}%
{\HCode{}%
\e:speak:aligned \HCode{}}
{\HCode{
}\f:speak:aligned
\HCode{\Hnewline}}
\NewConfigure{speak:aligned}{6}
\Configure{speak:aligned}
{begin
\ifTag{aligned-\TableNo}{\LikeRef{aligned-\TableNo}}{}
aligned equations}
{end equations}
{\HCode{%
%
\add:vdescription{begin-end}{\ord:pos{\HRow}%
row}%
%
}%
}
{}
{\HCode{%
%
\ifnum \HMultispan>1
%
\add:vdescription{added-description}{\ord:pos{\HCol}%
cell
spans \HMultispan \space columns}%
%
\else
\ifnum \HCol>1
%
\add:vdescription{added-description}{\ord:pos{\HCol}%
cell}%
%
\fi
\fi
}%
}
{}
\Configure{alignedat}
{\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
%
\PushStack\Row:Stck\HRow \HAssign\HRow=0\relax
%
\HCode{}%
\HCode{\add:vdescription{begin-array}{\a:speak:aligned}}}
{\Tag{aligned-\TableNo}{\hrow:s}%
\HCode{%
%
\add:vdescription{end-array}{\b:speak:aligned}}%
\ifvmode \IgnorePar\fi \HCode{}%
\PopStack\Row:Stck\HRow
%
\PopStack\Table:Stck\TableNo
}
{\HCode{}\c:speak:aligned}%
{\xdef\hrow:s{\HRow}\HCode{}}%
{\HCode{}%
\e:speak:aligned \HCode{}}
{\HCode{
}\f:speak:aligned
\HCode{\Hnewline}}
\ConfigureEnv{cases}
{\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
%
\PushStack\Row:Stck\HRow \HAssign\HRow=0\relax
%
\HCode{}%
\bgroup
\let\sv:a:left=\a:left
\let\sv:b:left=\b:left
\let\sv:a:right=\a:right
\let\sv:b:right=\b:right
%
\Configure{array}
{\HCode{
%
\add:vdescription{begin-array}{begin
\ifTag{cases-\TableNo}{\LikeRef{cases-\TableNo}}{}
cases}%
}} %
{\Tag{cases-\TableNo}{\HRow}%
\HCode{%
%
\add:vdescription{end-array}
{end cases}
}%
\ifvmode \IgnorePar\fi \Tg}
{\HCode{
%
\add:vdescription{begin-end}
{\ord:pos{\HRow}%
case}%
}}
{\HCode{}}%
{\HCode{
%
}%
\bgroup
\Configure{array}
{\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
%
\PushStack\Row:Stck\HRow \HAssign\HRow=0\relax
%
\HCode{}%
\HCode{\add:vdescription{begin-array}{\a:speak:array}}}
{\Tag{array-\TableNo}{\hrow:s}%
\HCode{%
%
\add:vdescription{end-array}{\b:speak:array}}%
\ifvmode \IgnorePar\fi
\expandafter\tmp:toks\expandafter{\Clr}%
\HCode{}%
\HCode{}%
\PopStack\Row:Stck\HRow
%
\PopStack\Table:Stck\TableNo
}
{\HCode{}\c:speak:array}%
{\xdef\hrow:s{\HRow}\HCode{}}%
{\HCode{}%
\e:speak:array\HCode{}}
{\HCode{
}\f:speak:array
\HCode{\Hnewline}}
\ConfigureEnv{array}
{\bgroup\Configure{$}{}{}{}}
{\egroup}
{}{}
%
\let\a:left=\sv:a:left
\let\b:left=\sv:b:left
\let\a:right=\sv:a:right
\let\b:right=\sv:b:right
%
}
{\egroup \HCode{\Hnewline}}
%
\Configure{left}
{}
{\bgroup}
\Configure{right}
{\egroup}
{}
%
}
{\egroup\HCode{
}%
\PopStack\Row:Stck\HRow
%
\PopStack\Table:Stck\TableNo
}
{}{}
\Configure{eqref}
{\bgroup\let\tagform@\empty
\HCode{
\add:description{added-description}{\a:speak:eqref}}}
{\HCode{}\egroup}
\NewConfigure{speak:eqref}{1}
\Configure{speak:eqref}{ equation }
\ifx \mathdisplay@@pop\:UnDef
\ifx \emdf@La\:UnDef
\else
\fi
\else
\Configure{equation}
{\ifvmode \IgnorePar\fi\EndP
\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
%
\HCode{%
\add:description{begin-math}{\a:speak:equation}%
}%
\Configure{gather}
{\HCode{
}\IgnorePar
\Configure{$$}
{\Configure{@math}{%
class="equation"}\IgnorePar\EndP\DviMath}
{\EndDviMath\EndP}
{\DisplayMathtrue}%
}
{\HCode{
}}
{}
{}
{\ifnum\HCol=2 \IgnorePar
\HCode{
}\fi }
{}
%
\Configure{$$}
{\Configure{@math}{%
class="equation"}\IgnorePar\EndP\DviMath}
{\EndDviMath\EndP}
{\DisplayMathtrue}%
%
}
{\ifvmode \IgnorePar\fi\EndP
\HCode{
}%
\let\@eqnnum\empty
}
{\ifvmode \IgnorePar\fi\EndP
\HCode{%
\add:description{end-math}{\b:speak:equation}%
}%
\Tag{eq-\TableNo-num}{\theequation}%
\PopStack\Table:Stck\TableNo
%
\ShowPar\IgnoreIndent\par}
\Configure{equation*}
{\ifvmode \IgnorePar\fi\EndP
\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
%
\HCode{%
\add:description{begin-math}{\csname
a:speak:equation*\endcsname}}%
\Configure{gather*}
{\HCode{
}\IgnorePar
\Configure{$$}
{\Configure{@math}{%
class="equation"}\IgnorePar\EndP\DviMath}
{\EndDviMath\EndP}
{\DisplayMathtrue}%
}
{\HCode{
}}
{}
{}
{\ifnum\HCol=2 \IgnorePar
\HCode{
}\fi }
{}
%
\Configure{$$}
{\Configure{@math}{%
class="equation"}\IgnorePar\EndP\DviMath}
{\EndDviMath\EndP}
{\DisplayMathtrue}%
%
}
{\ifvmode \IgnorePar\fi\EndP
\HCode{\add:description{end-math}{\csname
b:speak:equation*\endcsname}
}%
\PopStack\Table:Stck\TableNo
%
\ShowPar\IgnoreIndent\par}
\Configure{speak:equation}
{begin equation
\ifTag{eq-\TableNo-num}{\LikeRef{eq-\TableNo-num}}{}%
}
{end equation
\theequation}
\NewConfigure{speak:equation*}{2}
\Configure{speak:equation*}
{begin equation}
{end equation}
\fi
\Configure{split}
{\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
%
\HCode{\add:vdescription{begin-array}{begin
\ifTag{split-\TableNo}{\LikeRef{split-\TableNo}}{}
sub equations}%
}}
{\ifvmode\IgnorePar\fi
\Tag{split-\TableNo}{\HRow:s}%
\HCode{\add:vdescription{end-array}{end sub equations}%
}%
\PopStack\Table:Stck\TableNo
}
{\HCode{}%
\xdef\HRow:s{\HRow}%
}
{\HCode{}}
{\HCode{%
\add:vdescription{begin-end}{%
\ifnum \HCol=1 left \else right \fi
\ord:pos{\HRow}%
sub equation}%
}%
}
{\HCode{}}
\ConfigureEnv{multline}
{\bgroup \Configure{$$}
{\Configure{@math}{%
class="equation"}\IgnorePar\EndP\DviMath}
{\EndDviMath\EndP}
{\DisplayMathtrue}%
}
{\egroup}
{}{}
\ConfigureEnv{multline*}
{\bgroup \Configure{$$}
{\Configure{@math}{%
class="equation"}\IgnorePar\EndP\DviMath}
{\EndDviMath\EndP}
{\DisplayMathtrue}%
}
{\egroup}
{}{}
\Configure{multline}
{\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
%
\PushStack\Row:Stck\HRow \HAssign\HRow=0\relax
%
\HCode{%
\add:vdescription{begin-math}{%
%
begin equation
\ifTag{multline-\TableNo-num}{\LikeRef{multline-\TableNo-num}}{}
with
\ifTag{multline-\TableNo}{\LikeRef{multline-\TableNo}}{}
lines
}%
%
%
}}
{\Tag{multline-\TableNo}{\hrow:s}%
\HCode{
%
\add:vdescription{end-math}{end equation
%
\ifTag{multline-\TableNo-num}{\LikeRef
{multline-\TableNo-num}}{}%
%
}%
}%
\PopStack\Row:Stck\HRow
%
\PopStack\Table:Stck\TableNo
}
{\HCode{%
\add:vdescription{begin-end}{%
\ord:pos{\HRow}%
line}%
}}
{\xdef\hrow:s{\HRow}\HCode{}}
{\HCode{}}
{}
\Configure{multline-num}
{\Tag{multline-\TableNo-num}{\theequation}\let\tagform@\:gobble}
{}
\Configure{multline*}
{\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
%
\PushStack\Row:Stck\HRow \HAssign\HRow=0\relax
%
\HCode{%
%
\add:vdescription{begin-math}{%
%
begin equation with
\ifTag{multline-\TableNo}{\LikeRef{multline-\TableNo}}{}
lines}%
%
}}
{\Tag{multline-\TableNo}{\hrow:s}%
\HCode{
%
\add:vdescription{end-math}{%
end equation}%
}%
\PopStack\Row:Stck\HRow
%
\PopStack\Table:Stck\TableNo
}
{\HCode{%
\add:vdescription{begin-end}{%
\ord:pos{\HRow}%
line}%
}}
{\xdef\hrow:s{\HRow}\HCode{}}
\ConfigureEnv{gather}
{\bgroup \Configure{$$}
{\Configure{@math}{%
class="equation"}\IgnorePar\EndP\DviMath}
{\EndDviMath\EndP}
{\DisplayMathtrue}%
}
{\egroup}
{}{}
\ConfigureEnv{gather*}
{\bgroup \Configure{$$}
{\Configure{@math}{%
class="equation"}\IgnorePar\EndP\DviMath}
{\EndDviMath\EndP}
{\DisplayMathtrue}%
}
{\egroup}
{}{}
\Configure{gather}
{\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
%
\PushStack\Row:Stck\HRow \HAssign\HRow=0\relax
%
\HCode{%
\add:vdescription{begin-math}{begin group of
\ifTag{gather-\TableNo}{\LikeRef{gather-\TableNo}}{}
equations}%
%
%
}}
{\HCode{\add:vdescription{end-math}{end equations}%
%
}%
\Tag{gather-\TableNo}{\hrow:s}%
\PopStack\Row:Stck\HRow
%
\PopStack\Table:Stck\TableNo
}
{\HCode{%
\add:vdescription{begin-end}{\ord:pos{\HRow}%
equation}%
%
}}
{\xdef\hrow:s{\HRow}\HCode{}}
{\HCode{\Hnewline}%
\ifnum \HCol>1 \let\tagform@\:gobble \fi
}
{\HCode{}}
\Configure{gather*}
{\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
%
\PushStack\Row:Stck\HRow \HAssign\HRow=0\relax
%
\HCode{%
\add:vdescription{begin-math}{begin group of
\ifTag{gather-\TableNo}{\LikeRef{gather-\TableNo}}{}
equations}%
%
%
}}
{\HCode{\add:vdescription{end-math}{%
end equations}%
%
}%
\Tag{gather-\TableNo}{\hrow:s}%
\PopStack\Row:Stck\HRow
%
\PopStack\Table:Stck\TableNo
}
{\HCode{%
\add:vdescription{begin-math}{%
\ord:pos{\HRow}%
equation}%
%
}}
{\xdef\hrow:s{\HRow}\HCode{}}
{\HCode{\Hnewline}}
{\HCode{}}
\Configure{gathered}
{\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
%
\PushStack\Row:Stck\HRow \HAssign\HRow=0\relax
%
\HCode{%
\add:vdescription{begin-math}{begin group of
\ifTag{gather-\TableNo}{\LikeRef{gather-\TableNo}}{}
equations}
%
%
}}
{\HCode{\add:vdescription{end-math}{%
end equations}%
%
}%
\Tag{gather-\TableNo}{\hrow:s}%
\PopStack\Row:Stck\HRow
%
\PopStack\Table:Stck\TableNo
}
{\HCode{%
\add:vdescription{begin-end}{%
\ord:pos{\HRow}%
equation}%
%
}}
{\xdef\hrow:s{\HRow}\HCode{}}
{\HCode{\Hnewline}%
\ifnum \HCol>1 \let\tagform@\:gobble \fi
}
{\HCode{}}
\Configure{subarray}
{\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
%
\PushStack\Row:Stck\HRow \HAssign\HRow=0\relax
%
\HCode{%
\add:vdescription{begin-array}{\a:speak:subarray}%
}}
{\HCode{\add:vdescription{end-array}{\b:speak:subarray}%
}%
\Tag{subarray-\TableNo}{\hrow:s}%
\PopStack\Row:Stck\HRow
%
\PopStack\Table:Stck\TableNo
}
{\HCode{%
\add:vdescription{begin-end}{\c:speak:subarray}%
}}
{\xdef\hrow:s{\HRow}\HCode{}}
\NewConfigure{speak:subarray}{3}
\Configure{speak:subarray}
{begin sub array with
\ifTag{subarray-\TableNo}{\LikeRef{subarray-\TableNo}}{}
rows}
{end sub array}
{\ord:pos{\HRow}%
row}
\Configure{substack}
{\bgroup
\Configure{speak:subarray}
{begin sub stack with
\ifTag{subarray-\TableNo}{\LikeRef{subarray-\TableNo}}{}
entries}
{end sub stack}
{\ord:pos{\HRow}%
entry}
}
{\egroup}
\Configure{smallmatrix}
{\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
%
\PushStack\Row:Stck\HRow \HAssign\HRow=0\relax
%
\HCode{}%
\HCode{\add:vdescription{begin-array}{\a:speak:smallmatrix}}}
{\Tag{smallmatrix-\TableNo}{\hrow:s}%
\HCode{%
%
\add:vdescription{end-array}{\b:speak:smallmatrix}}%
\ifvmode \IgnorePar\fi
\HCode{}%
\PopStack\Row:Stck\HRow
%
\PopStack\Table:Stck\TableNo
}
{\HCode{}\c:speak:smallmatrix}%
{\xdef\hrow:s{\HRow}\HCode{}}%
{\HCode{}%
\e:speak:smallmatrix \HCode{}}
{\HCode{
}\f:speak:smallmatrix
\HCode{\Hnewline}}
\def\:tempc#1#2{%
\ConfigureEnv{#1}
{\def\end:al:env{}\ifmmode\else
\ifvmode\else \def\end:al:env{\par\ShowPar\IgnoreIndent}\fi\fi}
{\end:al:env }
{}{}%
\Configure{#1}
{\IgnorePar
\ifvmode \EndP \else \EndP \HCode{}\fi
\ifmathml
\Tg\def\end:mathalign{\Tg}%
\else
\DviMath
\def\end:mathalign{\EndDviMath \DisplayMathfalse}%
\DisplayMathtrue
\fi
\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
%
\PushStack\Row:Stck\HRow \HAssign\HRow=0\relax
%
\HCode{%
\add:description{begin-array}{\a:speak:align}%
}}
{\HCode{%
\add:description{end-array}{\b:speak:align}%
}%
\Tag{align-\TableNo}{\hrow:s}%
\PopStack\Row:Stck\HRow
%
\PopStack\Table:Stck\TableNo
\end:mathalign }
{\HCode{\add:description{begin-end}{\c:speak:align}%
}}
{\HCode{}\ifst@rred\else
\Tag{align-\TableNo-\HRow}{\theequation}%
\fi \xdef\hrow:s{\HRow}}
{\HCode{}%
\ifnum \HCol>\maxfields@ \let\tagform@\:gobble \fi
}
{\HCode{}}
}
\:tempc{align}{align}
\:tempc{alignat}{alignat}
\:tempc{xalignat}{xalignat}
\:tempc{xxalignat}{xxalignat}
\:tempc{flalign}{flalign}
\:tempc{align*}{align-star}
\:tempc{alignat*}{alignat-star}
\:tempc{xalignat*}{xalignat-star}
\:tempc{flalign*}{flalign-star}
\NewConfigure{speak:align}{3}
\Configure{speak:align}
{begin
\ifTag{align-\TableNo}{\LikeRef{align-\TableNo}}{}
aligned equations}
{end aligned equations}
{\ifst@rred \ord:pos{\HRow}%
equation
\else
equation number \ifst@rred\else
\ifTag{align-\TableNo-\HRow}%
{\LikeRef{align-\TableNo-\HRow}}{}
\fi
\fi %
}
\Configure{boxed}
{\HCode{%
\add:description{begin-end}{\a:speak:boxed}}}
{\HCode{\add:description{begin-end}{\b:speak:boxed}}}
\NewConfigure{speak:boxed}{2}
\Configure{speak:boxed}
{begin boxed}
{end boxed}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{plain}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Configure{eqalignno}
{\HCode{}}
{\HCode{}}
{\HCode{}}
{\HCode{}}
{\HCode{}}
{\HCode{}}
\def\:eqalignno:{\Configure{noalign}
{\HCode{}}%
{\HCode{}}}
\Configure{leqalignno}
{\HCode{}}
{\HCode{}}
{\HCode{}}
{\HCode{}}
{\HCode{}}
{\HCode{}}
\def\:leqalignno:{\Configure{noalign}
{\HCode{}}%
{\HCode{}}}
\Configure{choose}
{\Send{GROUP}{0}{%
\add:description{begin-stack}{\a:speak:choose}%
}%
\HCode{}\o:atop:
\HCode{\add:description{added-description}%
{\c:speak:choose}}%
\Send{EndGROUP}{0}%
{\add:description{end-stack}{\b:speak:choose}}%
}
\NewConfigure{speak:choose}{3}
\Configure{speak:choose}
{binomial coefficient}
{}
{choose}
\Configure{mfenced}{\vert}{\string&\#x007C;}
\Configure{mfenced}{\{}{\string&\#x007B;}
\Configure{mfenced}{\}}{\string&\#x007D;}
\Configure{mfenced}{\lbrace}{\string&\#x007B;}
\Configure{mfenced}{\rbrace}{\string&\#x007D;}
\Configure{mfenced}{\rgroup}{\string&\#x0028;}
\Configure{mfenced}{\lgroup}{\string&\#x0029;}
\Configure{mfenced}{(}{\string&\#x0028;}
\Configure{mfenced}{)}{\string&\#x0029;}
\Configure{mfenced}{[}{\string&\#x0058;}
\Configure{mfenced}{]}{\string&\#x0059;}
\Configure{mfenced}{|}{\string&\#x007C;}
\Configure{mfenced}{\bracevert}{\string&\#x007C;}
\Configure{mfenced}{\bracevert}{\string&\#x007C;}
\def\mathop:prefix#1{%
\Configure{mathop}{*}{}{}%
{\Configure{mathop}{*}{}{}{}}}
\Configure{quad}{\HCode{%
}}
\Configure{qquad}{\HCode{%
}}
\Configure{,}{\HCode{%
}}
\Configure{ }{\:nbsp}
\def\:nbsp{\leavevmode\special{t4ht@+\string&{35}x00A0{59}}x}
\Configure{root}
{\HCode{%
\add:description{begin-root}{\a:speak:root}%
}}
{\HCode{\add:description{mid-root}{\b:speak:root}%
}}
{\HCode{\add:description{end-root}{\c:speak:root}}}
\NewConfigure{speak:root}{3}
\Configure{speak:root}
{root
index}
{begin
root}
{end
root}
\Configure{left}
{}
{\HCode{\expandafter
\ifx \csname \string#1:lr del\endcsname\relax #1\else
\csname \string#1:lr del\endcsname\fi
}\bgroup
\HCode{}\bgroup}
\Configure{right}
{\egroup\HCode{}\egroup
\HCode{\expandafter
\ifx \csname \string#1:lr del\endcsname\relax #1\else
\csname \string#1:lr del\endcsname\fi
}}
{}
\Configure{mfenced}{\vert}{|}
\edef\:temp{\noexpand\Configure{mfenced}{\noexpand\{}{\string&\#x007B;}}\:temp
\edef\:temp{\noexpand\Configure{mfenced}{\noexpand\}}{\string&\#x007D;}}\:temp
\edef\:temp{\noexpand
\Configure{mfenced}{\noexpand\lbrace}{\string&\#x007B;}}\:temp
\edef\:temp{\noexpand
\Configure{mfenced}{\noexpand\rbrace}{\string&\#x007D;}}\:temp
\def\mathinner#1{\Tg#1\Tg}
\:CheckOption{new-accents} \if:Option \else
\Configure{accent}\widetilde\widetilde{{}{}}
{}
{\HCode{%
\add:description{begin-end}{\b:speak:modified}%
}%
#2%
\HCode{\add:description{begin-end}{\a:speak:modified:tilde}%
}}
\Configure{accent}\widehat\widehat{{}{}}
{}
{\HCode{%
\add:description{begin-end}{\a:speak:modified}%
}%
#2%
\HCode{\add:description{begin-end}{
\a:speak:modified:hat}}}
\Configure{accents}
{\ifmmode \expandafter\mathord\fi
{\leavevmode
\if !#1!\ht:special{t4ht@+&{35}x#2;}%
\else \expandafter \ifx\csname U#2#1\endcsname\relax
\ht:special{t4ht@+&{35}x#2;}%
\else
\ht:special{t4ht@+&{35}x\csname U#2#1\endcsname;}%
\fi \fi x%
%
\ht:special{t4ht@[}\if!#1!x\else#2\fi
\ht:special{t4ht@]}}}
{\ifmathml
\ifmtext \expandafter\ifx \csname :#1:over\endcsname\relax
\expandafter\ifx \csname :#1:under\endcsname\relax
\AccentMath{\expandafter\ifx \csname :#1:over\endcsname\relax
\HCode{}%
#3\HCode{}%
\csname :#1:under\endcsname
\HCode{}%
%
\else \expandafter\ifx \csname :#1:under\endcsname\relax
\HCode{%
}%
#3\HCode{}%
\csname prefix:#1:over\endcsname
\csname :#1:over\endcsname
\HCode{}%
%
\else
\HCode{}%
#3\HCode{}%
\csname :#1:under\endcsname
\csname :#1:over\endcsname
\HCode{}%
%
\fi \fi
}%
\else #3\csname :#1:under\endcsname \fi
\else #3\csname :#1:over\endcsname \fi
%
\else \AccentMath{\expandafter\ifx \csname :#1:over\endcsname\relax
\HCode{}%
#3\HCode{}%
\csname :#1:under\endcsname
\HCode{}%
%
\else \expandafter\ifx \csname :#1:under\endcsname\relax
\HCode{%
}%
#3\HCode{}%
\csname prefix:#1:over\endcsname
\csname :#1:over\endcsname
\HCode{}%
%
\else
\HCode{}%
#3\HCode{}%
\csname :#1:under\endcsname
\csname :#1:over\endcsname
\HCode{}%
%
\fi \fi
}\fi
\else \expandafter\ifx \csname :#1:over\endcsname\relax
\expandafter\ifx \csname :#1:under\endcsname\relax
\AccentMath{\expandafter\ifx \csname :#1:over\endcsname\relax
\HCode{}%
#3\HCode{}%
\csname :#1:under\endcsname
\HCode{}%
%
\else \expandafter\ifx \csname :#1:under\endcsname\relax
\HCode{%
}%
#3\HCode{}%
\csname prefix:#1:over\endcsname
\csname :#1:over\endcsname
\HCode{}%
%
\else
\HCode{}%
#3\HCode{}%
\csname :#1:under\endcsname
\csname :#1:over\endcsname
\HCode{}%
%
\fi \fi
}%
\else #3\csname :#1:under\endcsname \fi
\else #3\csname :#1:over\endcsname \fi
\fi
}
\fi
\Configure{cases}
{}{} {\HCode{}}{\HCode{}}
{\Tg}{\Tg}
{\Tg}{\Tg}
\Configure{matrix}
{\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
%
\PushStack\Row:Stck\HRow \HAssign\HRow=0\relax
%
\HCode{}%
\HCode{\add:vdescription{begin-array}{\a:speak:array}}}
{\Tag{array-\TableNo}{\hrow:s}%
\HCode{%
%
\add:vdescription{end-array}{\b:speak:array}}%
\ifvmode \IgnorePar\fi \HCode{}%
\PopStack\Row:Stck\HRow
%
\PopStack\Table:Stck\TableNo
}
{\HCode{}\c:speak:array}%
{\xdef\hrow:s{\HRow}\HCode{}}%
{\HCode{}%
\e:speak:array\HCode{}}
{\HCode{
}\f:speak:array
\HCode{\Hnewline}}
\Configure{pmatrix}
{\bgroup\HCode{}}
{\HCode{
}\egroup}
\NewConfigure{speak:array}{6}
\Configure{speak:array}
{begin array with
\ifTag{array-\TableNo}{\LikeRef{array-\TableNo}}{}
rows}
{end array}
{\HCode{%
%
\add:vdescription{begin-end}{\ord:pos{\HRow}%
row}%
%
}%
}
{}
{\HCode{%
%
\ifnum \HMultispan>1
%
\add:vdescription{added-description}{\ord:pos{\HCol}%
cell
spans \HMultispan \space columns}%
%
\else
\ifnum \HCol>1
%
\add:vdescription{added-description}{\ord:pos{\HCol}%
cell}%
%
\fi
\fi
}%
}
{}
\NewConfigure{speak:smallmatrix}{6}
\Configure{speak:smallmatrix}
{begin matrix with
\ifTag{smallmatrix-\TableNo}{\LikeRef{smallmatrix-\TableNo}}{}
rows}
{end matrix}
{\HCode{%
%
\add:vdescription{begin-end}{\ord:pos{\HRow}%
row}%
%
}%
}
{}
{\HCode{%
%
\ifnum \HMultispan>1
%
\add:vdescription{added-description}{\ord:pos{\HCol}%
cell
spans \HMultispan \space columns}%
%
\else
\ifnum \HCol>1
%
\add:vdescription{added-description}{\ord:pos{\HCol}%
cell}%
%
\fi
\fi
}%
}
{}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{amsopn}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\:tempc{\mathop{\underrightarrow\lim}\displaylimits} \HLet\varinjlim\:tempc
\def\:tempc{\mathop{\underleftarrow\lim}\displaylimits} \HLet\varprojlim\:tempc
\def\:tempc{\mathop{\overline\lim}\displaylimits} \HLet\varlimsup\:tempc
\def\:tempc{\mathop{\underline\lim}\displaylimits} \HLet\varliminf\:tempc
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ConfigureHinput{array}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Configure{array}
{\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
%
\PushStack\Row:Stck\HRow \HAssign\HRow=0\relax
%
\HCode{}%
\HCode{\add:vdescription{begin-array}{\a:speak:array}}}
{\Tag{array-\TableNo}{\hrow:s}%
\HCode{%
%
\add:vdescription{end-array}{\b:speak:array}}%
\ifvmode \IgnorePar\fi
\expandafter\tmp:toks\expandafter{\Clr}%
\HCode{}%
\HCode{}%
\PopStack\Row:Stck\HRow
%
\PopStack\Table:Stck\TableNo
}
{\HCode{}\c:speak:array}%
{\xdef\hrow:s{\HRow}\HCode{}}%
{\HCode{}%
\e:speak:array\HCode{}}
{\HCode{
}\f:speak:array
\HCode{\Hnewline}}
\ConfigureEnv{array}
{\bgroup\Configure{$}{}{}{}}
{\egroup}
{}{}
\ConfigureEnv{array}
{\PushStack\Col:Marg\AllColMargins
\bgroup\Configure{$}{}{}{}}
{\egroup \PopStack\Col:Marg\AllColMargins}
{}{}
\Configure{multicolumn}
{\let\sv:VBorder\VBorder
\let\VBorder\empty
\Configure{VBorder}{}{}{}{}%
}
{\let\VBorder\sv:VBorder}
{\ifmmode \else
\ifvmode\IgnorePar\fi
\fi \HCode{}}
{\ifmmode \else
\ifvmode\IgnorePar\fi \EndP\fi \HCode{
} }
\def\gob:sp#1{#1}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput\empty\empty\empty\empty\empty\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput