2.2 latex.ltx

  2.2.1 tt Font
  2.2.2 Math Setup
  2.2.3 Tabbing, Tabular and Array Environments
  2.2.4 The option @()
  2.2.5 to be placed

<..latex options 1, 2, 3..>
 <.options for cutoff points.>
 \:CheckOption{4}     \if:Option
     \expandafter\ifx \csname @chapter\endcsname\relax
                           \:tempa \:tempc \:tempd
     \else                 \:tempa \:tempb \:tempc \:tempd  \fi
 \else\:CheckOption{3}     \if:Option
     \expandafter\ifx \csname @chapter\endcsname\relax
                           \:tempa \:tempc  \:tempd
     \else                 \:tempa \:tempb  \:tempc  \fi
 \else\:CheckOption{2}     \if:Option
     \expandafter\ifx \csname @chapter\endcsname\relax  \:tempa \:tempc
     \else                 \:tempa \:tempb    \fi
 \else\:CheckOption{1}     \if:Option
     \:tempa
 \fi \fi \fi \fi
-_-_-

<..options for cutoff points..>
 \def\:tempa{
    \CutAt{part}
    \CutAt{likepart}
    \Configure{tableofcontents*}
       {part,likepart,chapter,likechapter,appendix}
 }
 \def\:tempb{
    \TocAt*{part,/likepart,chapter,likechapter,appendix,%
              section,likesection}
    \TocAt*{likepart,/part,chapter,likechapter,appendix,%
              section,likesection}
    \CutAt{chapter,likechapter,appendix,part}
    \CutAt{likechapter,appendix,part}
    \CutAt{appendix,chapter,likechapter,part}
    \Configure{tableofcontents*}{part,likepart,chapter,likechapter,appendix,%
       section,likesection\expandafter\ifx \csname @chapter\endcsname\relax
       ,subsection,likesubsection\fi
     }
 }
 \def\:tempc{
    \TocAt*{chapter,/likechapter,/appendix,/part,%
              section,likesection,subsection,likesubsection}
    \TocAt*{likechapter,/appendix,/chapter,/part,%
              section,likesection,subsection,likesubsection}
    \TocAt*{appendix,/chapter,/likechapter,/part,%
              section,likesection,subsection,likesubsection}
    \CutAt{section,likesection,chapter,likechapter,appendix,part}
    \CutAt{likesection,chapter,likechapter,appendix,part}
    \Configure{tableofcontents*}{part,likepart,chapter,likechapter,%
       appendix,section,%
              likesection\expandafter\ifx \csname @chapter\endcsname\relax
       ,subsection,likesubsection\fi}
 }
 \def\:tempd{
    \TocAt*{section,/likesection,/chapter,/likechapter,/appendix,/part,%
              subsection,likesubsection,subsubsection,likesubsubsection}
    \TocAt*{likesection,/section,/chapter,/likechapter,/appendix,/part,%
              subsection,likesubsection,subsubsection,likesubsubsection}
    \CutAt{subsection,section,likesection,%
                      chapter,likechapter,appendix,part}
    \CutAt{likesubsection,section,likesection,%
                      chapter,likechapter,appendix,part}
    \Configure{tableofcontents*}{part,likepart,chapter,likechapter,%
        appendix,section,likesection,likesubsection,subsection}
 }
-_-_-

<..0,32,4 plain,latex accents..>
 \:CheckOption{new-accents}     \if:Option
    <.new accents.>
 \else
    <.old accents.>
 \fi
 \let\^^_=\v
-_-_-

<..0,32,4 latex..>+
 <.0,32,4 plain,latex accents.>
 \let\@acci=\’ \let\@accii=\‘ \let\@acciii=\=
-_-_-

<..0,32,4 plain..>+
 <.0,32,4 plain,latex accents.>
-_-_-

<..new accents..>
 \:CheckOption{accent-}     \if:Option
   \Configure{HAccent}\acute{AEIOUYaeiouy{}}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\bar{}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\breve{}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\check{}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\ddot{AEIOUYaeiouy{}}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\dot{}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\grave{AEIOUaeiou{}}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\hat{AEIOUaeiou{}}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\tilde{AOaoNn{}}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\vec{}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\widehat{}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\widetilde{}{\Picture+{}}{\EndPicture}
 \fi
 \:CheckOption{mathaccent-}     \if:Option
   \Configure{HAccent}\"{AEIOUYaeiouy{}}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\’{AEIOUYaeiouy{}}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\.{}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\={}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\H{}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\^{AEIOUaeiou{}}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\‘{AEIOUaeiou{}}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\b{}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\c{Cc{}}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\d{}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\t{}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\u{}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\v{}{\Picture+{}}{\EndPicture}
   \Configure{HAccent}\~{AOaoNn{}}{\Picture+{}}{\EndPicture}
 \fi
-_-_-

<..new accents..>+
 \Configure{accent}{*}
    {<!--tex4ht:accent\Hnewline font="}{" char="}{" type="}{"-->}
    {<!--tex4ht:end accent-->}
 \Configure{mathaccent}{*}
    {<!--tex4ht:mathaccent\Hnewline font="}{" char="}{" type="}{"-->}
    {<!--tex4ht:end mathaccent-->}
 \Configure{accented}{*}
    {<!--tex4ht:accented\Hnewline font="}{" char="}{" type="}{"-->}
    {<!--tex4ht:end accented-->}
 \Configure{accenting}{*}
    {<!--tex4ht:accenting\Hnewline-->}
    {<!--tex4ht:end accenting-->}
-_-_-

<..old accents..>
 \Configure{accent}\‘\grave{A{A}E{E}I{I}O{O}U{U}%
                     a{a}e{e}i{i}\i{i}o{o}u{u}{}{}}
    {\a:accents{grave}{#1}}   {\b:accents{grave}{#1}{#2}}
 \Configure{accent}\’\acute{A{A}E{E}I{I}O{O}U{U}Y%
            {Y}a{a}e{e}i{i}\i{i}o{o}u{u}y{y}{}{}}
    {\a:accents{acute}{#1}}   {\b:accents{acute}{#1}{#2}}
 \Configure{accent}\^\hat{A{A}E{E}I{I}O{O}U{U}a{a}%
                       e{e}i{i}\i{i}o{o}u{u}{}{}}
    {\a:accents{circ}{#1}}   {\b:accents{hat}{#1}{#2}}
 \Configure{accent}\~\tilde{A{A}O{O}a{a}o{o}N{N}n{n}{}{}}
    {\a:accents{tilde}{#1}}   {\b:accents{tilde}{#1}{#2}}
 \Configure{accent}\"\ddot{A{A}E{E}I{I}O{O}U{U}Y%
            {Y}a{a}e{e}i{i}\i{i}o{o}u{u}y{y}{}{34}}
    {\a:accents{uml}{#1}}     {\b:accents{uml}{#1}{#2}}
-_-_-

The following are also placed under accents configuration.

<..old accents..>+
 \Configure{accent}\c\c{C{C}c{c}{}{}}
    {\a:accents{cedil}{#1}}     {\b:accents{cedil}{#1}{#2}}
 \Configure{accent}\t\t{{}{}}
    {\a:accents{udot}{#1}}     {\b:accents{udot}{#1}{#2}}
 \Configure{accent}\H\H{{}{}} {}{\b:accents{Huml}{#1}{#2}}
-_-_-

The following originally have been defined to be parameter-less.

<..old accents..>+
 \Configure{accent}\.\dot{{}{}}  {}{\b:accents{dot}{#1}{#2}}
 \Configure{accent}\u\breve{{}{}}{}{\b:accents{breve}{#1}{#2}}
 \Configure{accent}\vec\vec{{}{}}{}{\b:accents{vec}{#1}{#2}}
 \Configure{accent}\v\check{{}{}}{}{\b:accents{check}{#1}{#2}}
 \Configure{accent}\=\bar{{}{}}  {}{\b:accents{bar}{#1}{#2}}
-_-_-

<..old accents..>+
 \Configure{accent}\widetilde\widetilde{{}{}}
    {}{\b:accents{widetilde}{#1}{#2}}
 \Configure{accent}\widehat\widehat{{}{}}
    {}{\b:accents{widehat}{#1}{#2}}
-_-_-

\vec, \widetilde, and \widehat are for math mode. \b, \c, \d, \t, and \H are for text mode.

2.2.1 tt Font

<..0,32,4 latex..>+
 \ifx \ttfamily\:UnDef \else \Configure{tt}{\ttfamily} \fi
-_-_-

2.2.2 Math Setup

<..PIC eqnarray Config..>
 \ConfigureEnv{eqnarray}
      {\IgnorePar\EndP\Tg<div class="pic-eqnarray">\Picture*{}}
      {\EndPicture\Tg</div>}{}{}
 \Css{div.pic-eqnarray {text-align:center;}}
 \ConfigureEnv{eqnarray*}
      {\IgnorePar\EndP\Tg<div class="pic-eqnarray-star">\Picture*{}}
      {\EndPicture\Tg</div>}{}{}
 \Css{div.pic-eqnarray-star {text-align:center;}}
-_-_-

2.2.3 Tabbing, Tabular and Array Environments

<..vspace body for array/tabular..>
 \append:def\vspc:s{\h:HBorder}%
 \def\:tempb{\ifnum \tmp:cnt<\ar:cnt
     \advance\tmp:cnt by 1 \append:def\vspc:s{\i:HBorder}%
     \expandafter\:tempb
   \fi }
 \tmp:cnt=0 \:tempb
 \append:def\vspc:s{\j:HBorder}\global\let\vspc:s=\vspc:s
-_-_-

<..0,32,4 latex..>+
 \Configure{hline}{\ifx \ar:cnt\:UnDef
    \else\o:noalign:{<.hline body for array/tabular.>}\fi}
 \Configure{//[]}{\ifx \ar:cnt\:UnDef
    \else\o:noalign:{<.vspace body for array/tabular.>}\fi}
-_-_-

<..hline body for array/tabular..>
 \append:def\hline:s{\a:HBorder}%
 \def\:tempb{\ifnum \tmp:cnt<\ar:cnt
     \advance\tmp:cnt by 1 \append:def\hline:s{\b:HBorder}%
     \expandafter\:tempb
   \fi }
 \tmp:cnt=0 \:tempb
 \append:def\hline:s{\c:HBorder}\global\let\hline:s=\hline:s
-_-_-

<..configure clear noalign..>
 \Configure{noalign}{}{}
-_-_-

<..configure tabular noalign..>
 \Configure{noalign}%
   {\f:tabular\d:tabular \HCode{<tr><td colspan="\ar:cnt">}}
   {\HCode{</td></tr>}\pend:def\TableNo{0}\c:tabular\e:tabular}%
-_-_-

\AllColMargins Return a binary string in which 1 represents a column, and 0 represents a ‘@’. \ColMargins retrieves the zeros before the 1’s that represent the current and following 1’s.

2.2.4 The option @()

<..configuring @()..>
 \Configure{@{}}{}
-_-_-

We force border around the full table whenever a vertical line is requested, because it makes the tables better looking within the existing capabilities.

Currently, we either have empty \VBorder, or one defined to \def\VBorder{border="1"}.

When \putVBorder is call in \VBorder we have a sequence of the form <COLGROUP><COL ...">...</COLGROUP>... with the last tag possibly missing.

2.2.5 to be placed

<..0,32,4 plain,latex..>
 \Configure{ }{\:nbsp}
-_-_-

<..0,32,4 latex..>+
 \Configure{framebox}
    {\Picture+[]{ \a:@Picture{framebox}}} {\EndPicture}
 \Configure{InsertTitle}{\let\label=\lb:l
    \let\ref=\o:ref \Configure{ref}{}{}{}}
 \Configure{AfterTitle}{\let\index=\:index
        \let\ref=\:ref  \let\label=\lb:l }
 \Configure{NoSection}
   {\let\sv:index=\index \let\sv:label=\label \let\sv:ref=\ref
    \let\sv:newline=\newline \def\newline{ }%
    \let\sv:setfontsize=\@setfontsize  \let\@setfontsize=\:gobbleIII
    \let\index=\@gobble  \let\label=\@gobble  \let\ref=\@gobble
   }
   {\let\index=\sv:index \let\label=\sv:label \let\ref=\sv:ref
    \let\newline=\sv:newline    \let\@setfontsize=\sv:setfontsize
   }
 \Configure{oalign}{\Picture+{ \a:@Picture{oalign}}}{\EndPicture}
 
 \Configure{TocLink}
   {\Link{#2}{#3}{\Configure{ref}{}{}{}\Configure{cite}{}{}{}{}#4}\EndLink}
-_-_-

<..0,32,4 latex..>+
 \Configure{picture}
     {\Picture+[PICT]{}}
     {\EndPicture}
-_-_-

<..config book-report-article 0.0..>
 \Configure{section}{}{}{\thesection\space}{}
 \Configure{likesection}{}{}{}{}
-_-_-

<..latex shared div config..>
 \Configure{endsection}
      {likesection,chapter,likechapter,appendix,part,likepart}
 \Configure{endlikesection}
      {section,chapter,likechapter,appendix,part,likepart}
-_-_-

<..config book-report-article 0.0..>+
 \Configure{subsection}{}{}{\thesubsection\space}{}
 \Configure{likesubsection}{}{}{}{}
-_-_-

<..latex shared div config..>+
 \Configure{endsubsection}
    {likesubsection,section,likesection,chapter,%
       likechapter,appendix,part,likpart}
 \Configure{endlikesubsection}
    {subsection,section,likesection,chapter,%
       likechapter,appendix,part,likpart}
-_-_-

<..latex shared div config..>+
 \Configure{subsubsection}{}{}{\thesubsubsection\space}{}
-_-_-

<..latex shared div config..>+
 \Configure{endsubsubsection}
    {likesubsubsection,subsection,likesubsection,section,%
       likesection,chapter,likechapter,appendix,part,likpart}
 \Configure{endlikesubsubsection}
    {subsubsection,subsection,likesubsection,section,%
       likesection,chapter,likechapter,appendix,part,likpart}
-_-_-

<..latex shared div config..>+
 \ConfigureEnv{thebibliography}{\IgnorePar}{\IgnorePar\par}{}{}
 \Configure{endparagraph}
    {likeparagraph,subsubsection,likesubsubsection,subsection,%
     likesubsection,section,%
     likesection,chapter,likechapter,appendix,part,likpart}
 \Configure{endlikeparagraph}
    {paragraph,subsubsection,likesubsubsection,subsection,%
     likesubsection,section,%
     likesection,chapter,likechapter,appendix,part,likpart}
 \Configure{endsubparagraph}
    {likesubparagraph,likeparagraph,subsubsection,likesubsubsection,%
     subsection,likesubsection,section,%
     likesection,chapter,likechapter,appendix,part,likpart}
 \Configure{endlikesubparagraph}
    {subparagraph,likeparagraph,subsubsection,likesubsubsection,%
     subsection,likesubsection,section,%
     likesection,chapter,likechapter,appendix,part,likpart}
 \ifx \part\:UnDef \else
    <.latex shared part config.>
 \fi
-_-_-

<..latex shared part config..>
 \Configure{endpart}{likepart}
 \Configure{endlikepart}{endpart}
-_-_-

<..latex shared part config..>+
 \Configure{part}{}{}
    {\IgnorePar \IgnorePar\HCode{<h1 class="partHead">}%
     \partname \ \thepart\HCode{<br\xml:empty>}}
    {\HCode{</h1>}\IgnoreIndent}
 \Configure{likepart}{}{}
    {\IgnorePar\IgnorePar\HCode{<h1 class="likepartHead">}}
    {\HCode{</h1>}\IgnoreIndent}
 \Configure{partTITLE+}{\thepart\space #1}
-_-_-

It is better to put the LI in the third field to avoid extra space to the following text.

<..save configure tableofcontents..>
 \let\sv:atoc=\a:tableofcontents
 \let\sv:btoc=\b:tableofcontents
 \let\sv:ctoc=\c:tableofcontents
 \let\sv:dtoc=\d:tableofcontents
 \let\sv:etoc=\e:tableofcontents
-_-_-

<..recall configure tableofcontents..>
 \let\a:tableofcontents=\sv:atoc
 \let\b:tableofcontents=\sv:btoc
 \let\c:tableofcontents=\sv:ctoc
 \let\d:tableofcontents=\sv:dtoc
 \let\e:tableofcontents=\sv:etoc
-_-_-

Earlier we had \:CheckOption{no-halign} \if:Option \else |<pic array|> \fi, and the same for pic tabular. Why?

The <TABLE> is needed as a grouping mechanism for <CENTER>.