2.4 Cases

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

<..configure jsml-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{<mtable class="cases">%
            <.start cases note.>}} %
    {\Tag{cases-\TableNo}{\HRow}%
     \HCode{<.show input line no.>%
            <.end cases note.>}%
     \ifvmode \IgnorePar\fi \Tg</mtable>}
    {\HCode{<mtr>%
            <.next case note.>}}
    {\HCode{</mtr>}}%
    {\HCode{<mtd  class="sub-case-\HCol" >%
            <BREAK SIZE="\ifnum \HCol>1 medium\else
                                         small\fi"/>}%
     \bgroup
        <.config array.>%
        <.recall left/right config.>%
    }
    {\egroup \HCode{</mtd>\Hnewline}}
-_-_-

<..start cases note..>
 \add:vdescription{begin-array}{<BREAK SIZE="small"/>begin
       \ifTag{cases-\TableNo}{\LikeRef{cases-\TableNo}}{}
       cases<BREAK SIZE="small"/>}%
-_-_-

<..end cases note..>
 \add:vdescription{end-array}
    {<BREAK SIZE="small"/>end cases<BREAK SIZE="small"/>}
-_-_-

<..next case note..>
 \add:vdescription{begin-end}
    {<BREAK SIZE="small"/><.ord row.> case}%
-_-_-

<..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
-_-_-