5.2 Plain

  5.2.1 General
  5.2.2 Math
  5.2.3 Environments

5.2.1 General

<..configure html4 plain..>+
 <.config plain,latex.>
 <.0,32,4 plain.>
 <.0,32,4 plain,latex.>
 <.32,4 plain,latex.>
 <.32,4 plain.>
 <.config plain.>
 <.plain items.>             keep last in html mode?
-_-_-

<..config plain..>+
 \def\plain:indent{\ShowIndent \global\let\plain:indent\empty}
 \Configure{@BODY}{\plain:indent}
-_-_-

<..plain items..>
 \Configure{item}
    {}{}
    {\par\Configure{items}{\item:class}\HCode{<span class="item">}}
    {\HCode{</span>}\Configure{items}{}}
 \Configure{itemitem}
    {}{}
    {\par\Configure{items}{\itemitem:class}\HCode{<span class="itemitem">}}
    {\HCode{</span>}\Configure{items}{}}
 \Css{p.item {text-indent:-2em; margin-left:2em;}}
 \Css{p.itemitem {text-indent:-2em; margin-left:4em;}}
 \Css{span.item, span.itemitem {width:2em; margin-right:0.4em;}}
 \Configure{!P}{\a:items}
 \NewConfigure{items}{1}
 \Configure{items}{}
 \def\item:class#1class#2"#3"{#1class="item"}
 \def\itemitem:class#1class#2"#3"{#1class="itemitem"}
-_-_-

5.2.2 Math

<..configure html4 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"
          style="vertical-align:middle;">}}{\IgnorePar\HCode{</tr>}}
    {\HCode{<td style="white-space:nowrap;text-align:\ifnum \HCol=2
          left\else right\fi"\Hnewline  class="eqalign\HCol"
          >}}
    {\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 style="text-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 style="text-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>}}}
-_-_-

<..shared plain/latex pmatrix 4.0t..>
 \Configure{pmatrix}
   {\ifvmode
       \def\end:pmatrix{\IgnorePar\HCode{</div>}\end:TTT}%
       \:xhtml{\IgnorePar\EndP}\HCode
         {<table\Hnewline class="pmatrix"><tr><td><div
              class="pmatrix"\Hnewline>}%
    \else \HCode{<span class="pmatrix">}%
       \def \end:pmatrix{\HCode{</span>}}%
    \fi}
   {\end:pmatrix}
 \Css{span.pmatrix img{vertical-align:middle;}}
 \Css{div.pmatrix {text-align:center;}}
 \Css{table.pmatrix {width:100\%;}}
-_-_-

5.2.3 Environments

<..config plain..>+
 \Configure{settabs}[1.5]{\IgnorePar\EndP\leavevmode
      \ht:special{t4ht=<table
      \Hnewline\:zbsp{settabs}><tr \Hnewline style="vertical-align:baseline;"
      class="settabs">}}
    {\ht:special{t4ht=</tr></table>}}
    {\ht:special{t4ht=<td \ifx \TabWidth\empty \else
                 width="\TabWidth"\fi \Hnewline class="settabs">}}
    {\ht:special{t4ht=</td>}}
-_-_-

<..config plain..>+
 \Configure{narrower}{\ifvmode \IgnorePar\fi  \EndP%
    \HCode{<table cellpadding="15" class="narrower"><tr
       class="narrower"><td class="narrower">}\ifvmode \IgnorePar\fi}
    {\ifvmode \IgnorePar\fi \EndP
     \HCode{</td></tr></table>}\ifvmode \IgnorePar\fi}
-_-_-

<..0,32,4 plain..>+
 \Configure{settabs}[1.5]{}{}{}{}{}
 \Configure{line}{\HCode{<br />}}
-_-_-

<..config plain..>+
 \Configure{proclaim}
     {\IgnorePar\EndP\HCode{<div class="proclaim"><span class="proclaim">}}
     {\HCode{</span>}}    {\IgnorePar\EndP\HCode{</div>}}
 \Css{div.proclaim { margin-top: 1em; margin-bottom: 1em; }}
-_-_-

<..config plain..>+
 \Configure{beginsection}
   {\ifvmode \IgnorePar\fi \EndP
    \HCode{<div class="beginsection">}}
   {\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
   {\ifvmode \IgnorePar\fi \EndP \HCode{<h3 class="beginsection">}}
   {\HCode{</h3>}\par\ShowPar}
 \ConfigureToc{beginsection}
      {} {\relax}  {}  { }
-_-_-

<..config plain..>+
 \Configure{TableOfContents}
    {\IgnorePar\EndP \HCode{<div class="TableOfContents"\a:LRdir>}}{}
    {\ifvmode \IgnorePar\fi\EndP
     \HCode{</div>}\ShowPar}{\HCode{<br />}}{}
-_-_-

<..config plain..>+
 \:CheckOption{1}     \if:Option
    \CutAt{beginsection}
    \Configure{beginsectionTITLE+}{#1}
    \ConfigureToc{beginsection}
      {\HCode{<span class="beginsectionToc" \a:LRdir>}}
      {\empty}
      {}
      {\HCode{</span><br />}}
    \let\au:StartSec\:StartSec
    \def\:StartSec{\TableOfContents[beginsection]%
                   \global\let\:StartSec\au:StartSec
                   \:StartSec}%
 \else
     \Log:Note{for automatic sectioning
         pagination, use the command line option ‘1’}%
 \fi
-_-_-

<..config plain..>+
 \Configure{insert}
   {\IgnorePar\EndP\HCode{<hr class="insert"\xml:empty>}\IgnorePar}
   {\IgnorePar\EndP\HCode{<hr class="endinsert"\xml:empty>}\IgnorePar}
-_-_-

<..pic plain/latex math 4.0t..>
 \NewConfigure{@root}{1}
 \Configure{@root}{align="middle" }
-_-_-

<..html4-math plain,fontmath..>
 \Configure{big}{\HCode{<span class="big">}}{\HCode{</span>}}{}{}
 \Configure{Big}{\HCode{<span class="bbig">}}{\HCode{</span>}}{}{}
 \Configure{bigg}{\HCode{<span class="bigg">}}{\HCode{</span>}}{}{}
 \Configure{Bigg}{\HCode{<span class="bbigg">}}{\HCode{</span>}}{}{}
-_-_-

<..pic plain math 4.0t..>
 \Configure{@underbrace}{align="middle"}
-_-_-

<..config plain,latex..>+
 \def\:zbsp#1{cellpadding="0" border="0" cellspacing="0"\Hnewline
    class="#1"}
-_-_-

<..config plain,latex..>+
 \Configure{centerline}{\ifvmode \IgnorePar
      \fi \EndP\HCode{<div \Hnewline
       class="centerline">}}{\EndP\HCode{</div>}\ShowPar}
 \Configure{leftline}{\ifvmode \IgnorePar
      \fi \EndP \HCode{<p\Hnewline  class="leftline">}}
    {\HCode{</p>}\ShowPar}
 \Configure{rightline}
    {\IgnorePar\EndP\HCode{<p class="rightline">}}
    {\HCode{</p>}\ShowPar}
 \Css{.centerline {text-align:center;}}
 \Css{.rightline {text-align:right;}}
-_-_-

The 100% is to allow centering of stuff on the page. The table is a grouping mechanism to protect internal stuff from external centering operations.

The special{t4ht= is superior to \HCode{ because it can prevent <p>s from entering before <NOBR>.

The hbox is for avoiding the start of a new paragraph, if in vmode.