0.11 Matrices

  0.11.1 Aligned
  0.11.2 Cases
  0.11.3 matrix
  0.11.4 Math
  0.11.5 Small Matrix

0.11.1 Aligned

<..configure html-speech-math amsmath..>+
 \Configure{aligned}
    {<.advance table number.>%
     <.new row counter.>%
     \HCode{<div class="aligned">}%
     \HCode{\add:vdescription{begin-array}{\a:speak:aligned}}}
    {\Tag{aligned-\TableNo}{\hrow:s}%
     \HCode{<.show input line no.>%
            \add:vdescription{end-array}{\b:speak:aligned}}%
     \ifvmode \IgnorePar\fi \Tg</div>%
     <.return to prev row counter.>%
     <.return to prev table number.>}
    {\HCode{<div class="tr">}\c:speak:aligned}%
    {\xdef\hrow:s{\HRow}\HCode{</div>}}%
    {\HCode{<div  class="td" >}%
     \e:speak:aligned \HCode{<div>}}
    {\HCode{</div>}\f:speak:aligned
     \HCode{</div>\Hnewline}}
-_-_-

<..configure html-speech-math amsmath..>+
 \NewConfigure{speak:aligned}{6}
 \Configure{speak:aligned}
    {begin
        \ifTag{aligned-\TableNo}{\LikeRef{aligned-\TableNo}}{}
        aligned equations}
    {end  equations}
    {<.begin table row note.>}
    {<.end table row note.>}
    {<.begin table cell note.>}
    {<.end table cell note.>}
-_-_-

<..configure html-speech-math amsmath..>+
 \Configure{alignedat}
    {<.advance table number.>%
     <.new row counter.>%
     \HCode{<div class="aligned">}%
     \HCode{\add:vdescription{begin-array}{\a:speak:aligned}}}
    {\Tag{aligned-\TableNo}{\hrow:s}%
     \HCode{<.show input line no.>%
            \add:vdescription{end-array}{\b:speak:aligned}}%
     \ifvmode \IgnorePar\fi \Tg</div>%
     <.return to prev row counter.>%
     <.return to prev table number.>}
    {\HCode{<div class="tr">}\c:speak:aligned}%
    {\xdef\hrow:s{\HRow}\HCode{</div>}}%
    {\HCode{<div  class="td" >}%
     \e:speak:aligned \HCode{<div>}}
    {\HCode{</div>}\f:speak:aligned
     \HCode{</div>\Hnewline}}
-_-_-

0.11.2 Cases

<..plain,latex mathml..>
 \Configure{cases}
     {}{} {\Tg<mtable>}{\Tg</mtable>}
     {\Tg<mtr>}{\Tg</mtr>}
     {\Tg<mtd class="cases">}{\Tg</mtd>}
-_-_-

<..configure html-speech-math amsmath..>+
 \ConfigureEnv{cases}
    {<.advance table number.>%
     <.new row counter.>%
     \HCode{<div class="cases">}%
     \bgroup
        <.save left/right config.>%
        <.config amsmath cases.>%
        <.cases left/right.>%
    }
    {\egroup\HCode{</div>}%
     <.return to prev row counter.>%
     <.return to prev table number.>}
    {}{}
-_-_-

<..config amsmath cases..>
 \Configure{array}
    {\HCode{<div class="table" title="cases">%
            \add:vdescription{begin-array}{begin
       \ifTag{cases-\TableNo}{\LikeRef{cases-\TableNo}}{}  cases}}} %
    {\Tag{cases-\TableNo}{\HRow}%
     \HCode{<.show input line no.>%
            \add:vdescription{end-array}{end cases}}%
     \ifvmode \IgnorePar\fi \Tg</div>}
    {\HCode{<div class="tr">%
       \add:vdescription{begin-end}{Case \HRow}}}
    {\HCode{</div>}}%
    {\HCode{<div  class="sub-case-\HCol" >}%
     \bgroup
        <.config array.>%
        <.recall left/right config.>%
    }
    {\egroup \HCode{</div>\Hnewline}}
-_-_-

<..cases left/right..>
 \Configure{left}
    {}
    {\bgroup}
 \Configure{right}
    {\egroup}
    {}
-_-_-

<..save left/right config..>
 \let\sv:a:left=\a:left
 \let\sv:b:left=\b:left
 \let\sv:a:right=\a:right
 \let\sv:b:right=\b:right
-_-_-

<..recall left/right config..>
 \let\a:left=\sv:a:left
 \let\b:left=\sv:b:left
 \let\a:right=\sv:a:right
 \let\b:right=\sv:b:right
-_-_-

0.11.3 matrix

<..plain,latex mathml..>+
 \Configure{matrix}
    {<.advance table number.>%
     <.new row counter.>%
     \HCode{<div class="array">}%
     \HCode{\add:vdescription{begin-array}{\a:speak:array}}}
    {\Tag{array-\TableNo}{\hrow:s}%
     \HCode{<.show input line no.>%
            \add:vdescription{end-array}{\b:speak:array}}%
     \ifvmode \IgnorePar\fi \Tg</div>%
     <.return to prev row counter.>%
     <.return to prev table number.>}
    {\HCode{<div class="tr">}\c:speak:array}%
    {\xdef\hrow:s{\HRow}\HCode{</div>}}%
    {\HCode{<div  class="td" >}%
     \e:speak:array\HCode{<div>}}
    {\HCode{</div>}\f:speak:array
     \HCode{</div>\Hnewline}}
-_-_-

<..mtd matrix..>
 \HCode{<mtd\Hnewline class="matrix"
    \ifnum 1<\HMultispan columnspan="\HMultispan"\fi}%
    \halignTD    \HCode{>}%
-_-_-

The grouping below is handle the case that the matrix is a base of an exponent.

<..plain,latex mathml..>+
 \Configure{pmatrix}
   {\bgroup\Tg<div class="pmatrix">}
   {\Tg</div>\egroup}
-_-_-

<..plain,latex mathml..>+
 \NewConfigure{speak:array}{6}
 \Configure{speak:array}
    {begin array with
        \ifTag{array-\TableNo}{\LikeRef{array-\TableNo}}{}
        rows}
    {end array}
    {<.begin table row note.>}
    {<.end table row note.>}
    {<.begin table cell note.>}
    {<.end table cell note.>}
-_-_-

0.11.4 Math

<..configure html-speech plain..>
 <.TABLE eqalign shared Configure 4.0t.>
-_-_-

<..TABLE eqalign shared Configure 4.0t..>
 \Configure{eqalign}
    {\:xhtml{\IgnorePar\EndP}\HCode
       {<div class="eqalign"><table class="eqalign">}}
    {\HCode{</table></div>}}
    {\HCode{<tr \Hnewline class="eqalign"
          valign="middle">}}{\IgnorePar\HCode{</tr>}}
    {\HCode{<td align="\ifnum \HCol=2
          left\else right\fi"\Hnewline  class="eqalign\HCol"
          style="white-space:nowrap;">}}
    {\HCode{</td>}}
 \def\:eqalign:{\Configure{noalign}
   {\HCode{<tr><td class="noalign" colspan="2">}}%
   {\HCode{</td></tr>}}}
 \Css{td.eqalign3 { text-align:right; margin-left:10em;}}
 \Css{.eqalign td { white-space: nowrap; }}
 \Css{div.eqalign {text-align:center;}}
-_-_-

<..TABLE eqalign shared Configure 4.0t..>+
 \Configure{eqalignno}
    {\:xhtml{\IgnorePar\EndP}\HCode{<table class="eqalignno">}}
    {\HCode{</table>}}
    {\HCode{<tr\Hnewline class="eqalignno">}}{\IgnorePar\HCode{</tr>}}
    {\HCode{\ifnum \HCol=3 <td\Hnewline width="10"
            class="eqalignno-sp"></td>\fi
            <td align="\ifnum \HCol=2 left\else right\fi"\Hnewline
            class="eqalignno\HCol">}}
    {\HCode{</td>}}
 \def\:eqalignno:{\Configure{noalign}
   {\HCode{<tr><td class="noalign" colspan="2">}}%
   {\HCode{</td></tr>}}}
 \Css{td.eqalignno3, td.leqalignno3
        { text-align:right; margin-left:10em;}}
 \Css{.leqalignno td, .eqalignno td
        { white-space: nowrap; }}
 \Css{.leqalignno td.noalign, .eqalignno td.noalign
        { width:5\%; white-space: normal; }}
 \Css{table.leqalignno, table.eqalignno {width:100\%;}}
-_-_-

<..TABLE eqalign shared Configure 4.0t..>+
 \Configure{leqalignno}
    {\:xhtml{\IgnorePar\EndP}\HCode{<table class="leqalignno">}}
    {\HCode{</table>}}
    {\HCode{<tr \Hnewline
            class="leqalignno">}}{\IgnorePar\HCode{</tr>}}
    {\HCode{\ifnum \HCol=3 <td\Hnewline width="30"
            class="eqalignno-sp"></td>\fi
            <td align="\ifnum \HCol=2 left\else right\fi"\Hnewline
            class="leqalignno\HCol">}}
    {\HCode{</td>}}
 \def\:leqalignno:{\Configure{noalign}
   {\HCode{<tr><td class="noalign" colspan="2">}}%
   {\HCode{</td></tr>}}}
-_-_-

<..config array..>
 \Configure{array}
    {<.advance table number.>%
     <.new row counter.>%
     \HCode{<div class="array">}%
     \HCode{\add:vdescription{begin-array}{\a:speak:array}}}
    {\Tag{array-\TableNo}{\hrow:s}%
     \HCode{<.show input line no.>%
            \add:vdescription{end-array}{\b:speak:array}}%
     \ifvmode \IgnorePar\fi <.insert Clr.>\Tg</div>%
     <.return to prev row counter.>%
     <.return to prev table number.>}
    {\HCode{<div class="tr">}\c:speak:array}%
    {\xdef\hrow:s{\HRow}\HCode{</div>}}%
    {\HCode{<div  class="td" >}%
     \e:speak:array\HCode{<div>}}
    {\HCode{</div>}\f:speak:array
     \HCode{</div>\Hnewline}}
 \ConfigureEnv{array}
    {\bgroup\Configure{$}{}{}{}}
    {\egroup}
    {}{}
-_-_-

<..configure html-speech latex..>+
 \Css{.begin-array, .end-array                   {color:green;}}
-_-_-

<..configure emacspeak latex..>+
 \CssSpeech{.begin-array, .end-array    {stress:4; richness:4;}}
-_-_-

<..begin array row note..>
 \HCode{\add:vdescription{begin-end}{Row \HRow}}%
-_-_-

<..configure html-speech-math latex..>+
 \ConfigureEnv{array}
    {\PushStack\Col:Marg\AllColMargins
     \bgroup\Configure{$}{}{}{}}
    {\egroup \PopStack\Col:Marg\AllColMargins}
    {}{}
-_-_-

<..configure html-mml array..>
 \ConfigureEnv{array}
    {\PushStack\Col:Marg\AllColMargins
     \bgroup\Configure{$}{}{}{}}
    {\egroup \PopStack\Col:Marg\AllColMargins}
    {}{}
-_-_-

<..insert Clr..>
 \expandafter\tmp:toks\expandafter{\Clr}%
 \HCode{<!--\the\tmp:toks-->}%
-_-_-

<..mathml latex..>
 \def\:MM{m}
 \Configure{HBorder}
    {<mtr\Hnewline class="hline">}
    {<.mml hline.>}
    {</mtr>}
    {<mtr\Hnewline class="cline">}
    {<mtd></mtd>}
    {<.mml hline.>}
    {</mtr>}
    {<mtr\Hnewline class="vspace" style="font-size:\HBorderspace">}
    {<mtd\Hnewline></mtd>}
    {</mtr>}
-_-_-

<..configure html-speech-math latex..>+
 \def\:MM{\ifmathml m\fi}
 \Configure{HBorder}
    {<\:MM tr\Hnewline
        \ifmathml \expandafterclass\else class\fi="hline">}
    {\ifmathml<.mml hline.>\else
             <td><hr\xml:empty></td>\fi}
    {</\:MM tr>}
    {<\:MM tr\Hnewline
        \ifmathml \expandafterclass\else class\fi ="cline">}
    {<\:MM td></\:MM td>}
    {\ifmathml<.mml hline.>\else
             <td><hr\xml:empty></td>\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
-_-_-

<..mml hline..>
 <mtd><mo> \string&\#x0332; </mo></mtd>
-_-_-

0.11.5 Small Matrix

<..configure html-speech-math latex..>+
 <.config multicolumn.>
-_-_-

<..configure html-speech-math array..>+
 <.config multicolumn.>
-_-_-

<..config multicolumn..>
 \Configure{multicolumn}
    {\let\sv:VBorder\VBorder
     \let\VBorder\empty
     \Configure{VBorder}{}{}{}{}%
    }
    {\let\VBorder\sv:VBorder}
    {\ifmmode \else
        \ifvmode\IgnorePar\fi
     \fi   \HCode{<div class="multicolumn" title="\HMultispan">}}
    {\ifmmode \else
        \ifvmode\IgnorePar\fi \EndP\fi \HCode{</div>} }
 \def\gob:sp#1{#1}
-_-_-