% $Id: tex4ht-docbook.tex 1450 2024-01-22 21:33:00Z karl $
% compile 3 times:     latex tex4ht-docbook
%                or  xhlatex tex4ht-docbook "html,3,sections+"
%
% Copyright 2009-2024 TeX Users Group
% Copyright 2000-2009 Eitan M. Gurari
% Released under LPPL 1.3c+.
% See tex4ht-cpright.tex for license text.

\ifx \HTML\UnDef
  \def\HTML{docbook,docbook-math,docbook-mml}
  \def\CONFIG{\jobname}
  \def\MAKETITLE{\title{Source for DocBook}%
                 \author{Eitan M. Gurari}}
  \def\PREAMBLE{\usepackage{url}}
  \def\next{\input mktex4ht.4ht  \endinput}
  \expandafter\next
\fi

\input{common}
\input{tex4ht-cpright}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{File Organization}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



\<docbook\><<<
% docbook.4ht (|version), generated from |jobname.tex
% Copyright 2009-2024 TeX Users Group
% Copyright |CopyYear.2000. Eitan M. Gurari
|<TeX4ht copywrite|>
>>>


\<docbook-math\><<<
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% docbook-math.4ht (|version), generated from |jobname.tex
% Copyright (C) 2009-2010 TeX Users Group
% Copyright (C) |CopyYear.2000. Eitan M. Gurari
|<TeX4ht copywrite|>
>>>


\<docbook-mml\><<<
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% docbook-mml.4ht (|version), generated from |jobname.tex
% Copyright (C) 2009-2010 TeX Users Group
% Copyright (C) |CopyYear.2000. Eitan M. Gurari
|<TeX4ht copywrite|>
>>>


\<configure docbook tex4ht\><<<
\if:latex  |<Hinclude latex|>
\else      |<Hinclude plain|>  \fi
>>>

\<configure docbook plain\><<<
|<Hinclude plain lib|>
|<Hinclude plain + latex lib|>
>>>

\<configure docbook latex\><<<
|<Hinclude latex lib|>
|<Hinclude plain + latex lib|>
>>>

\<configure docbook Preamble\><<<
\Configure{ext}{xml}
\edef\Preamble{\Preamble,refcaption}
>>>


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Origin of Hooks}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%
\section{tex4ht}
%%%%%%%%%%%%%%%%%%

\<configure docbook tex4ht\><<<
|<tex4ht wrapper|>
|<tex4ht paragraphs|>
|<tex4ht cross-linking|>
>>>


%%%%%%%%%%%%%%%
\section{latex}
%%%%%%%%%%%%%%%

\<configure docbook latex\><<<
|<latex ltsec|>
|<latex environments|>
|<latex lists|>
|<latex tables|>
|<latex etc|>
|<obey lines|>
|<latex, plain|>
>>>


\<configure docbook plain\><<<
|<latex, plain|>
>>>




\<latex etc\><<<
\Configure{ref}{\refLink}{\EndLink}{}
\def\refLink#1#2#3\EndLink{
  \ifvmode
    \HCode{<note role="ref"><para>}
    \Link{#1}{#2}\expandafter\ifx \csname RefArg\endcsname\relax\else \Tg<!--ref: \RefArg-->\fi\EndLink
    #3\HCode{</para></note>}
  \else
    \Link{#1}{#2}\expandafter\ifx \csname RefArg\endcsname\relax\else \Tg<!--ref: \RefArg-->\fi#3\EndLink
  \fi}
>>>


We reuse old accents code from unicode.4ht, because
we got errors for accented characters without explicit
configuration for accents.

\<latex etc\><<<
\Configure{accents}
{\ifmmode \expandafter\mathord\fi
{\leavevmode
\if !#1!\ht:special{t4ht@+&\#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@[}x\ht:special{t4ht@]}}}
{\ifmmode \expandafter\mathord\fi
{#3}}
>>>


\<configure docbook-mml latex\><<<
\def\refLink#1#2#3\EndLink{%
  \ifvmode
     \ifmathml\else
         \HCode{<note role="ref"><para role="ref">}
     \fi
     \Link{#1}{#2}\expandafter\ifx \csname RefArg\endcsname\relax\else \Tg<!--ref: \RefArg-->\fi\EndLink
     \ifmathml\else #3\HCode{</para></note>}\par\fi
  \else
     \Link{#1}{#2}\expandafter\ifx \csname RefArg\endcsname\relax\else \Tg<!--ref: \RefArg-->\fi\EndLink
  \fi
}
>>>





\<latex etc\><<<
\Configure{newline}{\HCode{<!--br\Hnewline/-->}}
>>>

\<configure docbook-mml tex4ht\><<<
\LinkCommand\mtxt:link{mtext,xreflabel,id, class="label" ,,\empty}
\LinkCommand\msp:link{mstyle,xreflabel,id, class="label" ,,\empty}
>>>



\<configure docbook-mml latex\><<<
\Configure{newline}
 {\ifmtext \HCode{</mtext><mtext\Hnewline class="newline">}%
  \else \HCode{<!--br\Hnewline role="newline" /-->}\fi}
>>>

\<configure docbook-mml latex\><<<
\Configure{equation}
  {\IgnorePar\EndP\HCode{<para role="equation">}}
  {\HCode{</para><para role="equation-label">}}
  {\IgnorePar\HCode{</para>}\ShowPar\par}
>>>







\<latex etc\><<<
\Configure{newtheorem}
  {\IgnorePar\EndP\HCode{<blockquote role="newtheorem"><title>}}
  {\HCode{</title>}\ShowPar\par}
  {\IgnorePar\EndP\HCode{</blockquote>}\ShowPar\par}
>>>

\verb+<section>+ and \verb+<blockquote>+ allow recursion,
but the first can't be followed by \verb+<para>+.


\<configure docbook plain\><<<
|<plain prologue|>
>>>

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Class Roots}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\<configure docbook article\><<<
|<article, report, book|>
|<article prologue|>
|<article maketitle|>
|<article sections|>
|<article tocs|>
|<article,report,book lists|>
|<article,report,book figures|>
|<article,report|>
|<article,report,book indexes|>
>>>

% |<amsart + article sec|>


\<configure docbook report\><<<
|<article, report, book|>
|<report, book|>
|<report prologue|>
|<report maketitle|>
|<report sections|>
|<report,book tocs|>
|<article,report,book lists|>
|<article,report,book figures|>
|<article,report|>
|<article,report,book indexes|>
>>>



\<configure docbook book\><<<
|<article, report, book|>
|<report, book|>
|<book prologue|>
|<book maketitle|>
|<book sections|>
|<report,book tocs|>
|<article,report,book lists|>
|<article,report,book figures|>
|<article,report,book indexes|>
>>>



\<configure docbook scrartcl\><<<
|<article, report, book|>
|<article prologue|>
|<article maketitle|>
|<article sections|>
|<article tocs|>
|<article,report,book lists|>
|<article,report,book figures|>
|<article,report|>
|<article,report,book indexes|>
>>>

\<configure docbook scrbook\><<<
|<article, report, book|>
|<report, book|>
|<book prologue|>
|<book maketitle|>
|<scr title page|>
|<book sections|>
|<scrbook sections|>
|<report,book tocs|>
|<scrbook tocs|>
|<article,report,book lists|>
|<article,report,book figures|>
|<article,report,book indexes|>
>>>

\<configure docbook scrreprt\><<<
|<article, report, book|>
|<report, book|>
|<report prologue|>
|<report maketitle|>
|<report sections|>
|<report,book tocs|>
|<article,report,book lists|>
|<article,report,book figures|>
|<article,report|>
|<article,report,book indexes|>
>>>

\<configure docbook memoir\><<<
|<article, report, book|>
|<report, book|>
|<book prologue|>
|<book maketitle|>
|<book sections|>
|<report,book tocs|>
|<article,report,book lists|>
|<article,report,book figures|>
|<article,report,book indexes|>
>>>

\<article, report, book\><<<
|<config lists of figures and tables|>
>>>

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Front and Back Matter}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Front and Back Matter}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



\begin{verbatim}
<TEI.2>
   <teiHeader> [ TEI Header information ]  </teiHeader>
   <text>
       <front> [ front matter ... ]   </front>
       <body>  [ body of text ... ]   </body>
       <back>  [ back matter ...  ]   </back>
   </text>
</TEI.2>
\end{verbatim}

The front and back elements are optional.

\<tex4ht wrapper\><<<
\Configure{HTML}{}{}
\Configure{HEAD}{\bgroup \Configure{TITLE}{}{}}{\egroup}
\Configure{BODY}{}{}
\Configure{TITLE+} {}
\ifx \a:TITLE\:UnDef
\Configure{TITLE}{}{}
\fi
>>>

There used to be this configuration, but the resulting title element was empty.
Publication title should be inside info element anyway. This element is inserted by maketitle.
% \Configure{TITLE}{\Protect\IgnorePar
%    \HCode{<title>}}{\HCode{</title>\Hnewline}}








\<article prologue\><<<
\def\:gobbleM#1->{}
\Configure{BODY}
  {|<tex4ht sig|>%
   \HCode{<article |<xml name spaces|> >}%
   \a:TITLE\bgroup \:TITLE: \c:TITLE \egroup \b:TITLE
   \par\ShowPar
  }
  {\IgnorePar\EndP\HCode{</article>}}
|<tex4ht log sig|>
>>>


\<plain prologue\><<<
\def\:gobbleM#1->{}
\Configure{BODY}
  {|<tex4ht sig|>%
   \HCode{<article |<xml name spaces|> >}%
   \par\ShowPar}
  {\IgnorePar\EndP\HCode{</article>}}
|<tex4ht log sig|>
>>>



\<report prologue\><<<
\def\:gobbleM#1->{}
\Configure{BODY}
  {|<tex4ht sig|>%
   \HCode{<article role="report" |<xml name spaces|> >}%
   \a:TITLE\bgroup \:TITLE: \c:TITLE \egroup \b:TITLE
   \par\ShowPar}
  {\IgnorePar\EndP\HCode{</article>}}
|<tex4ht log sig|>
>>>



\<book prologue\><<<
\def\:gobbleM#1->{}
\Configure{BODY}
  {|<tex4ht sig|>%
   \HCode{<article role="book" |<xml name spaces|> >}%
   \a:TITLE\bgroup \:TITLE: \c:TITLE \egroup \b:TITLE
   \par\ShowPar
  }
  {\IgnorePar\EndP\HCode{</article>}}
|<tex4ht log sig|>
>>>



\<tex4ht sig\><<<
\HCode{\Hnewline<!--translated from \jobname.tex
    \Hnewline by TeX4ht  (https://tug.org/tex4ht/)
    \expandafter\:gobbleM\meaning\Preamble\space-->\Hnewline}
\:CheckOption{-xtpipes} \if:Option
  \Log:Note{Use the `-xtpipes' command line option to
            avoid xtpipes post processing}
\else
  \HCode{<?xtpipes file="docbook.4xt" ?>\Hnewline}
\fi
>>>

\<tex4ht log sig\><<<
\immediate\write-1{TeX4ht package options:
   \expandafter\:gobbleM\meaning\Preamble}
>>>







%%%%%%%%%%%%%%%%%%
\subsection{DTD's}
%%%%%%%%%%%%%%%%%%

\<xml name spaces\><<<
xmlns="http://docbook.org/ns/docbook"                        \Hnewline
xmlns:xlink="http://www.w3.org/1999/xlink"                   \Hnewline
version="5.0"                                                \Hnewline
>>>

\<\><<<
xmlns="http://relaxng.org/ns/structure/1.0"                  \Hnewline
xmlns:svg="http://www.w3.org/2000/svg"                       \Hnewline
xmlns:s="http://www.ascc.net/xml/schematron"                 \Hnewline
xmlns:rng="http://relaxng.org/ns/structure/1.0"              \Hnewline
xmlns:mml="http://www.w3.org/1998/Math/MathML"               \Hnewline
xmlns:html="http://www.w3.org/1999/xhtml"                    \Hnewline
xmlns:db="http://docbook.org/ns/docbook"                     \Hnewline
xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/"         \Hnewline
xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"\Hnewline
xmlns:xsd="http://www.w3.org/2001/XMLSchema"                 \Hnewline
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        \Hnewline
>>>

% datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" \Hnewline
% ns="http://docbook.org/ns/docbook"                           \Hnewline



\<article prologue\><<<
\Configure{VERSION}
 {\HCode{<?xml version="1.0"?>\Hnewline}}
\Configure{DOCTYPE}
  {\HCode{<!DOCTYPE article |<doctype 5.0|> >\Hnewline }}
>>>

\<doctype 5.0\><<<
PUBLIC "-//OASIS//DTD DocBook V5.0//|<dtd lang|>"\Hnewline
      "http://www.oasis-open.org/docbook/xml/5.0/docbook.dtd"
>>>



%   {\HCode{<!--!DOCTYPE article [|<docbook dtd|>]\Hnewline
%     DocBook V5.0CR5 -->\Hnewline }}


\<plain prologue\><<<
\Configure{VERSION}
  {\HCode{<?xml version="1.0"?>\Hnewline}}
\Configure{DOCTYPE}
  {\HCode{<!DOCTYPE article |<doctype 5.0|> >\Hnewline }}
>>>




\<report prologue\><<<
\Configure{VERSION}
  {\HCode{<?xml version="1.0"?>\Hnewline}}
\Configure{DOCTYPE}
  {\HCode{<!DOCTYPE article |<doctype 5.0|> >\Hnewline }}
>>>




\<book prologue\><<<
\Configure{VERSION}
  {\HCode{<?xml version="1.0"?>\Hnewline}}
\Configure{DOCTYPE}
  {\HCode{<!DOCTYPE article |<doctype 5.0|> >\Hnewline }}
>>>


\<docbook dtd\><<<
<!ENTITY \% docbook.dtd PUBLIC\Hnewline
   "-//OASIS//DTD DocBook XML V4.2CR1//|<dtd lang|>"\Hnewline
      "http://www.oasis-open.org/docbook/xml/4.2CR1/docbookx.dtd">
\Hnewline \%docbook.dtd; \Hnewline
>>>


\<dtd lang\><<<
\expandafter
\ifx \csname a:dtd-lang\endcsname\relax EN\else
 \csname a:dtd-lang\endcsname
\fi
>>>



\<configure docbook-mml article\><<<
\Configure{VERSION}
  {\HCode{<?xml version="1.0"?>\Hnewline}}
\Configure{DOCTYPE}
  {\HCode{<!DOCTYPE article |<doctype 5.0|> >\Hnewline }}
>>>


\<configure docbook-mml report\><<<
\Configure{VERSION}
  {\HCode{<?xml version="1.0"?>\Hnewline}}
\Configure{DOCTYPE}
  {\HCode{<!DOCTYPE article |<doctype 5.0|> >\Hnewline }}
>>>


\<configure docbook-mml book\><<<
\Configure{VERSION}
  {\HCode{<?xml version="1.0"?>\Hnewline}}
\Configure{DOCTYPE}
  {\HCode{<!DOCTYPE article |<doctype 5.0|> >\Hnewline }}
>>>

%   {\HCode{<!--!DOCTYPE article [|<docbook-mml dtd tex4ht|>]\Hnewline
%     DocBook V5.0CR5 -->\Hnewline }}

\<configure docbook-mml scrbook\><<<
\Configure{VERSION}
  {\HCode{<?xml version="1.0"?>\Hnewline}}
\Configure{DOCTYPE}
  {\HCode{<!DOCTYPE article |<doctype 5.0|> >\Hnewline }}
>>>





\<configure docbook-mml plain\><<<
\Configure{VERSION}
  {\HCode{<?xml version="1.0"?>\Hnewline}}
\Configure{DOCTYPE}
  {\HCode{<!DOCTYPE article |<doctype 5.0|> >\Hnewline }}
>>>



\<docbook-mml dtd tex4ht\><<<
|<docbook-mml dtd|>%
|<docbook dtd|>%
|<mathml dtd|>%
>>>


\<docbook-mml dtd\><<<
<!ELEMENT equation (math)>\Hnewline
<!ELEMENT inlineequation (math)>\Hnewline
|<duplicated mathml entities|>%
>>>

\<duplicated mathml entities\><<<
<!ENTITY \% ent-isopub  "">
<!ENTITY \% ent-isonum  "">\Hnewline
<!ENTITY \% ent-isolat2  "">
<!ENTITY \% ent-isolat1  "">\Hnewline
<!ENTITY \% ent-isodia  "">
<!ENTITY \% ent-isocyr2  "">\Hnewline
<!ENTITY \% ent-isocyr1  "">
<!ENTITY \% ent-isobox  "">\Hnewline
<!ENTITY \% ent-isotech  "">
<!ENTITY \% ent-isogrk3  "">\Hnewline
<!ENTITY \% ent-isoamsr  "">
<!ENTITY \% ent-isoamso  "">\Hnewline
<!ENTITY \% ent-isoamsn  "">
<!ENTITY \% ent-isoamsc  "">\Hnewline
<!ENTITY \% ent-isoamsb  "">
<!ENTITY \% ent-isoamsa  "">\Hnewline
>>>



\<mathml dtd\><<<
<!ENTITY \% mathml.dtd PUBLIC
   "-//W3C//DTD MathML 2.0//|<dtd lang|>"\Hnewline\space\space
   "mathml.dtd">
   \Hnewline \%mathml.dtd;\Hnewline
>>>







%%%%%%%%%%%%%%%%%%%%
\chapter{LaTeX}
%%%%%%%%%%%%%%%%%%%%





%%%%%%%%%%%%%%%%%%
\section{Title Page}
%%%%%%%%%%%%%%%%%%

\<article maketitle\><<<
\Configure{maketitle}
  {\HCode{<info role="maketitle">}}
  {\HCode{</info>}\par\ShowPar}
  {\HCode{<title>}}{\HCode{</title>}}
\Configure{thanks author date and} {}{}
  {\HCode{<author><personname><othername>}}
  {\HCode{</othername></personname></author>}}
  {\HCode{<date>}}
  {\HCode{</date>}}
  {}{}
>>>

\<report maketitle\><<<
\Configure{maketitle}
  {\HCode{<info role="maketitle">}}
  {\HCode{</info>}\par\ShowPar}
  {\HCode{<title>}}{\HCode{</title>}}
\Configure{thanks author date and} {}{}
  {\HCode{<author><personname><othername>}}
  {\HCode{</othername></personname></author>}}
  {\HCode{<date>}}
  {\HCode{</date>}}
  {}{}
>>>

\<book maketitle\><<<
\Configure{maketitle}
  {\HCode{<info role="maketitle">}}
  {\HCode{</info>}\par\ShowPar}
  {\HCode{<title>}}{\HCode{</title>}}
\Configure{thanks author date and} {}{}
  {\HCode{<author><personname><othername>}}
  {\HCode{</othername></personname></author>}}
  {\HCode{<date>}}
  {\HCode{</date>}}
  {}{}
>>>


\<article maketitle\><<<
\ConfigureEnv{abstract}
  {\IgnorePar\EndP\HCode{<abstract>}}
  {\IgnorePar\EndP\HCode{</abstract>}}
  {\HCode{<title>}}
  {\HCode{</title>}}
>>>



\<report maketitle\><<<
\ConfigureEnv{abstract}
  {\IgnorePar\EndP\HCode{<abstract>}}
  {\IgnorePar\EndP\HCode{</abstract>}}
  {\HCode{<note role="title"><para>}}
  {\HCode{</para></note>}}
>>>





\<scr title page\><<<
\ConfigureEnv{titlepage}
  {\bgroup
     \ifvmode \IgnorePar\fi \EndP
%     \HCode{<para class="titlepage">}%
     \Configure{tabular}{}{}{}{}{}{}%
     \ConfigureEnv{tabular}{}{}{}{}{}{}%
     \ConfigureEnv{center}{}{}{}{}}
  {\ifvmode \IgnorePar\fi \EndP
%     \HCode{</para>}%
   \egroup}
  {} {}
\Configure{dedication}
  {\ifvmode \IgnorePar\fi\EndP
   \HCode{<para role="dedication" >}}
  {\ifvmode \IgnorePar\fi\EndP \HCode{</para>}}
>>>




%%%%%%%%%%%%%%%%%%
\section{Sections}
%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%
\subsection{Special Cases for Sectioning Titles}
%%%%%%%%%%%%%




\<latex ltsec\><<<
\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:newline=\newline \def\newline{ }%
  \let\sv:setfontsize=\@setfontsize  \let\@setfontsize=\:gobbleIII
  \let\index=\@gobble  \let\label=\@gobble
  |<nolink ref|>%
 }
 {\let\index=\sv:index \let\label=\sv:label
  |<restore ref|>%
  \let\newline=\sv:newline    \let\@setfontsize=\sv:setfontsize
 }
>>>



\<nolink ref\><<<
\let\sva:rEfLiNK=\a:rEfLiNK
\let\svb:rEfLiNK=\b:rEfLiNK
\let\svc:rEfLiNK=\c:rEfLiNK
\expandafter\let\expandafter\svC:rEfLiNK\c:rEfLiNK
\Configure{ref}{}{}{}%  \let\sv:ref=\ref  \let\ref=\@gobble
>>>

\<restore ref\><<<
\let\a:rEfLiNK=\sva:rEfLiNK
\let\b:rEfLiNK=\svb:rEfLiNK
\let\c:rEfLiNK=\svc:rEfLiNK
\expandafter\let\c:rEfLiNK\svC:rEfLiNK  %  \let\ref\sv:ref
>>>


%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Titles and Bodies}
%%%%%%%%%%%%%%%%%%%%%%%%%


\<book sections\><<<
|<article sections|>
\Configure{chapter}
  {\OpenDiv{chapter}}   {\CloseDiv{chapter}}
  {\HCode{<title>}} {\HCode{</title>}\par\ShowPar}
\Configure{likechapter}
  {\OpenDiv{likechapter}}   {\CloseDiv{likechapter}}
  {\HCode{<title>}} {\HCode{</title>}\par\ShowPar}
>>>


\<report sections\><<<
|<book sections|>
>>>



\<article sections\><<<
|<amsart + article sec|>
>>>



\<TitleMark\><<<
\TitleMark
>>>



\<sectioning utilities\><<<
\def\OpenDiv#1{%
  \IgnorePar\EndP \HCode{<!--l.
      \the\inputlineno--><section\Hnewline role="#1">}%
}
\def\CloseDiv#1{%
  \IgnorePar\EndP\HCode{</section><!--end #1-->}%
}
\def\AppOpenDiv#1{%
  \IgnorePar\EndP \HCode{<!--l.
      \the\inputlineno--><appendix\Hnewline role="#1">}%
}
\def\AppCloseDiv#1{%
  \IgnorePar\EndP\HCode{</appendix><!--end #1-->}%
}
>>>


% \HAssign\DivLevel=0
% \def\OpenDiv#1{%
%    \IgnorePar\EndP   \gHAdvance\DivLevel by 1
%    \HCode{<sect\DivLevel\Hnewline role="#1">}%
% }
% \def\CloseDiv#1{%
%    \IgnorePar\EndP\HCode{</sect\DivLevel><!--end #1-->}%
%    \gHAdvance\DivLevel by -1
% }


%   \PopStack\text:stack\:temp \def\:tempa{body}%
%   \ifx \:temp\:tempa \else \HCode{</\:temp><body>}\fi
%   \PushStack\text:stack{body}



\<article sections\><<<
\Configure{likepart}
  {\OpenDiv{likepart}}   {\CloseDiv{likepart}}
  {\HCode{<title>}} {\HCode{</title>}\par\ShowPar}
\Configure{likesection}
  {\OpenDiv{likesection}}   {\CloseDiv{likesection}}
  {\HCode{<title>}}   {\HCode{</title>}\par\ShowPar}
\Configure{likesubsection}
  {\OpenDiv{likesubsection}}   {\CloseDiv{likesubsection}}
  {\HCode{<title>}}   {\HCode{</title>}\par\ShowPar}
\Configure{likesubsubsection}
  {\OpenDiv{likesubsubsection}}   {\CloseDiv{likesubsubsection}}
  {\HCode{<title>}}   {\HCode{</title>}\par\ShowPar}
\Configure{likeparagraph}
  {\OpenDiv{likeparagraph}}   {\CloseDiv{likeparagraph}}
  {\HCode{<title>}}   {\HCode{</title>}\par\ShowPar}
\Configure{likesubparagraph}
  {\OpenDiv{likesubparagraph}}   {\CloseDiv{likesubparagraph}}
  {\HCode{<title>}}   {\HCode{</title>}\par\ShowPar}
>>>




\<scrbook sections\><<<
\Configure{addchap}
  {\OpenDiv{addchap}}   {\CloseDiv{addchap}}
  {\HCode{<title>}}   {\HCode{</title>}\par\ShowPar}
>>>

%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{End Points}
%%%%%%%%%%%%%%%%%%%%%%%%%

\<article sections\><<<
\Configure{endlikesection}
    {section,chapter,likechapter,appendix,part,likepart}
\Configure{endlikesubsection}
  {subsection,section,likesection,chapter,%
     likechapter,appendix,part,likpart}
\Configure{endlikesubsubsection}
  {subsubsection,subsection,likesubsection,section,%
     likesection,chapter,likechapter,appendix,part,likpart}
\Configure{endlikeparagraph}
  {paragraph,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
  \Configure{endlikepart}{endpart}
\fi
>>>

\<scrbook sections\><<<

\Configure{endlikeparagraph}
  {paragraph,subsubsection,likesubsubsection,subsection,%
   likesubsection,section,%
   likesection,chapter,likechapter,addchap,appendix,part,likepart}
\Configure{endsubparagraph}
  {likesubparagraph,likeparagraph,subsubsection,likesubsubsection,%
   subsection,likesubsection,section,%
   likesection,chapter,likechapter,addchap,appendix,part,likepart}
\Configure{endlikesubparagraph}
  {subparagraph,likeparagraph,subsubsection,likesubsubsection,%
   subsection,likesubsection,section,%
   likesection,chapter,likechapter,addchap,appendix,part,likepart}
\Configure{endsection}
    {likesection,chapter,likechapter,addchap,appendix,part,likepart}
\Configure{endlikesection}
    {section,chapter,likechapter,addchap,appendix,part,likepart}
\Configure{endsubsection}
  {likesubsection,section,likesection,chapter,%
     likechapter,addchap,appendix,part,likepart}
\Configure{endlikesubsection}
  {subsection,section,likesection,chapter,%
     likechapter,addchap,appendix,part,likepart}
\Configure{endsubsubsection}
  {likesubsubsection,subsection,likesubsection,section,%
     likesection,chapter,likechapter,addchap,appendix,part,likepart}
\Configure{endlikesubsubsection}
  {subsubsection,subsection,likesubsection,section,%
     likesection,chapter,likechapter,addchap,appendix,part,likepart}
\Configure{endparagraph}
  {likeparagraph,subsubsection,likesubsubsection,subsection,%
   likesubsection,section,%
   likesection,chapter,likechapter,addchap,appendix,part,likepart}
\Configure{endchapter}{likechapter,addchap,appendix,part,likepart}
\Configure{endlikechapter}{chapter,appendix,part,likeparaddchap,addchap}
\Configure{endaddchap}{chapter,likechapter,appendix,part,likepart}
\Configure{endappendix}{chapter,likechapter,addchap,part,likepart}

\ifx \part\:UnDef \else
  \Configure{endpart}{likepart}
  \Configure{endlikepart}{endpart}
\fi
>>>

%%%%%%%%%%%%%%%
\section{Lists}
%%%%%%%%%%%%%%%


\<latex lists\><<<
\ConfigureList{trivlist}%
  {\EndP\HCode{<glosslist>}\let\end:itm=\empty}
  {\EndP\HCode{</glossdef></glossentry></glosslist>}\ShowPar}
  {\end:itm\def\end:itm{\EndP\HCode{</glossdef></glossentry>}}%
     \HCode{<glossentry><glossterm><remark>}\bgroup \bf}
  {\egroup\HCode{</remark></glossterm><glossdef\Hnewline>}\par\ShowPar}
\ConfigureList{list}%
  {\EndP\HCode{<glosslist>}\let\end:itm=\empty}
  {\EndP\HCode{</glossdef></glossentry></glosslist>}\ShowPar}
  {\end:itm\def\end:itm{\EndP\HCode{</glossdef></glossentry>}}%
     \HCode{<glossentry><glossterm><remark>}\bgroup \bf}
  {\egroup\HCode{</remark></glossterm><glossdef\Hnewline>}\par\ShowPar}
\ConfigureList{itemize}%
  {\EndP\HCode{<itemizedlist>}\let\end:itm=\empty}
  {\EndP\HCode{</listitem></itemizedlist>}\ShowPar}
  {\end:itm\def\end:itm{\EndP\Tg</listitem>}\DeleteMark}
  {\HCode{<listitem>}\par\ShowPar}
\ConfigureList{enumerate}%
  {\EndP\HCode{<orderedlist\Hnewline>}\let\end:itm=\empty}
  {\EndP\HCode{</listitem></orderedlist>}\ShowPar}
  {\end:itm\def\end:itm{\EndP\Tg</listitem>}\DeleteMark}
  {\HCode{<listitem>}\AnchorLabel\par\ShowPar}
\ConfigureList{description}%
  {\EndP\HCode{<variablelist\Hnewline>}%
     |<save end:itm|>\global\let\end:itm=\empty}
  {|<recall end:itm|>\EndP
   \HCode{</listitem></varlistentry></variablelist>}\ShowPar}
  {\end:itm \global\def\end:itm{\EndP
                         \HCode{</listitem></varlistentry>}}%
   \HCode{<varlistentry><term\Hnewline>}\bgroup \bf}
  {\egroup\EndP\HCode{</term><listitem>}\par\ShowPar}
>>>


\<save end:itm\><<<
\PushMacro\end:itm
>>>


\<recall end:itm\><<<
\PopMacro\end:itm \global\let\end:itm \end:itm
>>>


% \LinkCommand\DBLink{link, linkend,,,,\empty}

\<tex4ht cross-linking\><<<
%\LinkCommand\DBLink{ulink, url}
\LinkCommand\DBLink{link, xlink:href}
\LinkCommand\Anchor{anchor,, xml:id,,,\empty}
\Odef\Link[#1]#2#3{%
  \global\let\EndLink=\empty
  \if ]#3]\else \Anchor{}{#3}\EndAnchor
            \gdef\M:EndLink{\HCode{<!--end anchor-->}}\fi
  \if ]#1#2]\else
    \EndLink\DBLink[#1]{#2}{}\global\let\EndLink=\EndDBLink\fi
}
|<fix Link for -|>
\Configure{Link}{anchor}{linkend=}{xml:id=}{}
>>>

\<configure docbook-mml tex4ht\><<<
\Odef\M:Link[#1]#2#3{%
  \global\let\M:EndLink=\empty
  \if ]#3]\else \Anchor{}{#3}\EndAnchor
                  \gdef\M:EndLink{\HCode{<!--end anchor-->}}\fi
  \if ]#1#2]\else
    \EndLink\DBLink[#1]{#2}{}\global\let\M:EndLink=\EndDBLink\fi
}
|<fix M:Link for -|>
>>>



\<fix Link for -\><<<
\let\do:Link=\Link
\def\Link{\Protect\p:Link}
\def\p:Link{\futurelet\:next\choose:Link}
\def\choose:Link{\ifx -\:next \expandafter\minus:Link
                \else\expandafter\do:Link\fi}
\def\minus:Link#1{\do:Link}
>>>

The protection is required for cases like the following one.

\begin{verbatim}
\documentclass{article}
  \begin{document}
\section{Introduction}

\begin{figure*} \caption{fig  \ref{fig}} \end{figure*}

\label{fig}

\end{document}
\end{verbatim}




\<fix M:Link for -\><<<
\let\do:M:Link=\M:Link
\def\M:Link{\Protect\p:M:Link}
\def\p:M:Link{\futurelet\:next\choose:M:Link}
\def\choose:M:Link{\ifx -\:next \expandafter\minus:M:Link
                \else\expandafter\do:M:Link\fi}
\def\minus:M:Link#1{\do:M:Link}
>>>

%%%%%%%%%%%%%%%
\section{Bibliography}
%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%
\subsection{Shared}
%%%%%%%%%%%%%%%%%%%



\<article,report,book lists\><<<
\ConfigureList{thebibliography}%
  {\IgnorePar\EndP
     \HCode{<simplelist role="bibliography">}\let\en:bib=\empty}
  {\en:bib\HCode{</simplelist>}}
  {\en:bib\def\en:bib{\HCode{</member>}}%
   \HCode{<member><!--l.
       \the\inputlineno--><abbrev role="biblioentry">}%
   |<para within bib|>}
  {\HCode{</abbrev>}}
>>>





\<para within bib\><<<
\Configure{HtmlPar}{}{}{}{}
>>>



\<latex lists\><<<
\Configure{cite}{\HCode{<citation>}}{\HCode{</citation>}}{\LinkCite}{}
\Configure{bibitem}{\Link}{\EndLink}
\LinkCommand\LinkCite{xref, linkend,,,/,\empty}
>>>


%%%%%%%%%%%%%%%%%%%
\subsection{Jurabib}
%%%%%%%%%%%%%%%%%%%


\<configure docbook jurabib\><<<
\Configure{jblink}{\Link}{\EndLink}
\Configure{jbanchor}{\Link}{\EndLink}
>>>

%%%%%%%%%%%%%%%%%%%%%
\subsection{Biblatex}
%%%%%%%%%%%%%%%%%%%%%


\<configure docbook biblatex\><<<
   \def\bibConfigure{%
 \ConfigureList{thebibliography}
 {\ifvmode \IgnorePar \fi \EndP \EndP
   \HCode {<bibliolist>}%
%
% This is for linking citations with biblist items which
% are in a different file when output is split into different
% chunks. [CVR 2012-09-27]
%
%
% <biblatex-2.2>
%
 \immediate\write\@auxout{%
     \string\BibFileName[\therefsection]{\FileName}}%
%
% </biblatex-2.2>
%
   \PushMacro \end:itm \global \let \end:itm =\empty}%
 {\ifvmode \IgnorePar \fi \EndP
   \PopMacro \end:itm \global \let \end:itm \end:itm \EndP
   \HCode {</bibliomisc></bibliomixed></bibliolist>}\ShowPar}%
 {\ifvmode \IgnorePar \fi \EndP \gHAdvance \bibN by 1
   \end:itm \global \def \end:itm {\EndP \HCode{</bibliomisc></bibliomixed>}}%
   \HCode {<bibliomixed xml:id="X\therefsection-\abx@field@entrykey"><bibliomisc>}\bgroup \bf}%
 {\ifvmode \IgnorePar \fi \EndP
   \egroup
   \HCode {</bibliomisc><bibliomisc\Hnewline xml:id="bib-\bibN">}%
   \par \ShowPar}%
}

\def\hyper:natanchorstart#1{\Link{}{#1}\EndLink}%
\def\hyper:natlinkstart#1{\Link{#1}{}}%
>>>



%%%%%%%%%%%%%%%%
\section{Tables and Arrays}
%%%%%%%%%%%%%%%%

\<<article, report, book\><<<
\ConfigureEnv{table}
  {\ifvmode \IgnorePar\fi \EndP
   \HCode{<para role="table"><blockquote>}}
  {\ifvmode \IgnorePar\fi \EndP
   \HCode{</blockquote></para>}}
  {}{}
>>>

%%%%%%%%%%%%%
\subsection{Tabular and Array}
%%%%%%%%%%%%%



\<configure docbook Preamble\><<<
\:CheckOption{debug-} \if:Option
   \def\IgnoreDebug#1{}
\else
   \def\IgnoreDebug#1{#1}
\fi
>>>

\<latex tables\><<<
\Configure{tabular}
  {\IgnorePar\EndP \halignTB{tabular}%
   \HCode{<informaltable><tgroup cols="\ar:cnt">}%
   |<tabular colspec width|>%
   \HCode{<tbody>}}
  {\HCode{</tbody></tgroup></informaltable>}\ShowPar}
  {\HCode{<row>}}
  {\HCode{</row>}}
  {\HCode{<entry\Hnewline}\halignTD
   \ifnum \HMultispan>1
      \tmp:cnt=\HCol \advance\tmp:cnt by \HMultispan
      \advance\tmp:cnt by -1
      \HCode{ namest="c\HCol"  \IgnoreDebug{nameend="c\the\tmp:cnt"}}\fi
   \HCode{>}\par\ShowPar}
  {\ifvmode\IgnorePar\fi \EndP \HCode{</entry>}}
>>>

[\HPage{test data}
\<\><<<
\documentclass{report}
\begin{document}

\begin{tabular}{p{13cm}}

\begin{verbatim}
foo
\end{verbatim}\\
abc
\end{tabular}

\end{document}
>>>
\EndHPage{}]

\<latex tables\><<<
\HAssign\tabularN=0
\Configure{halignTB<>}{tabular}{<>\HAlign}
\Configure{halignTB}
  {\halignTBL}
  {}
>>>


\<configure docbook-mml latex\><<<
\Configure{halignTB}
  {\ifmathml \HCode{<\:MT table }\fi \halignTBL}
  {\ifmathml \HCode{>}\fi}
>>>


\<configure docbook-mml array\><<<
\Configure{halignTB}
  {\ifmathml \HCode{<\:MT table }\fi \halignTBL}
  {\ifmathml \HCode{>}\fi}
>>>

\<tabular colspec width\><<<
\tmp:cnt = 0
\loop
\ifnum \tmp:cnt < \ar:cnt
  \advance\tmp:cnt by 1
  {\HAssign\HCol=\tmp:cnt
  \HCode{<colspec colname="c\HCol"
            \expandafter\expandafter\expandafter\ifx
                                      \HColWidth\relax\else
                colwidth="\HColWidth"
            \fi
         />}}%
\repeat
>>>



\<latex tables\><<<
\Configure{halignTD} {}{}
  {<}{\HCode{ align="left"}}
  {-}{\HCode{ align="center"}}
  {>}{\HCode{ align="right"}}
  {^}{\HCode{ valign="top"}}
  {=}{\HCode{ valign="middle"}}
  {||}{\HCode{ valign="middle"}}
  {_}{\HCode{ valign="bottom"}}
  {p}{\HCode{ align="char"}}
  {m}{\HCode{ align="left" valign="middle"}}
  {b}{\HCode{ align="left" valign="middle"}}
  {}
>>>






\<configure docbook-mml latex\><<<
\Configure{halignTD} {}{}
  {<}{\ifmathml \HCode{ \a:mathml columnalign="left"}\else
       \HCode{ align="left" }\fi}
  {-}{\ifmathml \HCode{ \a:mathml columnalign="center"}\else
       \HCode{ align="center" }\fi}
  {>}{\ifmathml \HCode{ \a:mathml columnalign="right"}\else
       \HCode{ align="right" }\fi}
  {^}{\ifmathml \HCode{ \a:mathml rowalign="top"}\else
       \HCode{ valign="top" }\fi}
  {=}{\ifmathml \HCode{ \a:mathml rowalign="baseline"}\else
       \HCode{ valign="baseline" }\fi}
  {||}{\ifmathml \HCode{ \a:mathml rowalign="center"}\else
       \HCode{ valign="middle" }\fi}
  {_}{\ifmathml \HCode{ \a:mathml rowalign="bottom"}\else
       \HCode{ valign="bottom" }\fi}
  {p}{\ifmathml \HCode{ \a:mathml columnalign="left"}\else
       \HCode{ align="left"}\fi}
  {}
>>>


















\<latex tables\><<<
\Configure{hline}{}
\Configure{//[]}{}
>>>


%%%%%%%%%%%%%
\subsection{Horizontal Borders}
%%%%%%%%%%%%%




\<latex tables\><<<
\Configure{HBorder}
  {<row\Hnewline role="hline">}
     {<entry rowsep="1"></entry>}
  {</row>}
  {<row\Hnewline role="cline">}
     {<entry rowsep="0"></entry>}
     {<entry rowsep="1"></entry>}
  {</row>}
  {<row\Hnewline role="vspace">}
      {<entry rowsep="1"\Hnewline></entry>}
  {</row>}
\Configure{putHBorder}{\HCode{\HBorder}}
>>>




\<configure docbook-mml latex\><<<
\def\:MM{\ifmathml \a:mathml m\fi}
\Configure{HBorder}
  {<\ifmathml \a:mathml mtr class\else row role\fi ="hline">}
  {\ifmathml  <\a:mathml mtd><mo> \string&\#x0332; </mo></\a:mathml mtd>\else
              <entry rowsep="1"></entry>\fi}
  {</\ifmathml \a:mathml mtr\else row\fi>}
  {<\ifmathml \a:mathml mtr class\else row role\fi ="cline">}
  {\ifmathml <\a:mathml mtd></\a:mathml mtd>\else
            <entry rowsep="0"></entry>\fi}
  {\ifmathml<\a:mathml mtd><mo> \string&\#x0332; </mo></\a:mathml mtd>\else
            <entry rowsep="1"></entry>\fi}
  {</\ifmathml \a:mathml mtr\else row\fi>}
  {<\ifmathml \a:mathml mtr class\else row role\fi ="vspace">}
  {\ifmathml <\a:mathml mtd></\a:mathml mtd>\else
          <entry rowsep="1"\Hnewline>\string&\#x00A0;</entry>\fi}
  {</\ifmathml \a:mathml mtr\else row\fi>}
>>>

\<configure docbook latex\><<<
\Configure{xcline}{\ht:special{t4ht=<!--dirt-->}}
>>>

\<mml hline\><<<

>>>



\<\><<<
 \let\VBorder=\empty   \let\AllColMargins=\empty
 \Configure{VBorder}
    {\let\VBorder=\empty \let\AllColMargins=\empty
     \global\let\GROUPS=\empty \HAssign\NewGroup = 0
     \gHAdvance\Next:TableNo by 1 \global\let\TableNo=\Next:TableNo }
    {\xdef\VBorder{\VBorder\ifnum \NewGroup> 0 </colgroup>\fi}
     \HAssign\NewGroup = 0  \gdef\GROUPS{rules="groups"}}
    {\Advance:\NewGroup by 1
     \ifnum \NewGroup=1 \xdef\VBorder{\VBorder<colgroup
         xml:id="TBL-\TableNo-\ar:cnt g">}\fi
     \xdef\VBorder{\VBorder<col\Hnewline xml:id="TBL-\TableNo
        -\ar:cnt"\xml:empty>}\xdef\AllColMargins{\AllColMargins1}}
    {\xdef\AllColMargins{\AllColMargins 0}}
>>>


\<latex tables\><<<
\HAssign\Next:TableNo=0 \global\let\TableNo=\Next:TableNo
>>>


\<latex tables\><<<
\Configure{hline}{\ifx \ar:cnt\:UnDef\else
     \o:noalign:{|<hline body for array/tabular|>}%
     \expandafter\ignoreEndTr
  \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{//[]}{\ifx \ar:cnt\:UnDef
  \else\o:noalign:{|<vspace body for array/tabular|>}\fi}
>>>

\<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
>>>




%%%%%%%%%%%%%
\subsection{Long Tables}
%%%%%%%%%%%%%

\<configure docbook longtable\><<<
\Configure{longtable}
  {\IgnorePar\EndP
   \HCode{<informaltable}\halignTB{longtable}%
   \HCode{><tgroup cols="\ar:cnt"><tbody>}}
  {\HCode{</tbody></tgroup></informaltable>}\ShowPar}
  {\HCode{<row \Hnewline}\halignTR\HCode{>}}
  {\r:HA}
  {\HCode{<entry}%
   \halignTD
   \ifnum \HMultispan>1
      \tmp:cnt=\HCol \advance\tmp:cnt by \HMultispan
      \advance\tmp:cnt by -1
      \HCode{ namest="c\HCol"  \IgnoreDebug{nameend="c\the\tmp:cnt"}}\fi
   \HCode{\Hnewline role="td}|<tabular td align|>%
   \HCode{">}|<td save EndP|>%
   |<start array par box|>\PushStack\Table:Stck\TableNo}
  {\PopStack\Table:Stck\TableNo |<end array par box|>\d:HA}
\Configure{halignTB<>}{longtable}{\HCode{role="longtable"\Hnewline
                                           }<>\HAlign}
\Configure{longtableparbox}{\IgnorePar\leavevmode\ShowPar\par}
>>>

%   {\IgnorePar\EndP
%     \HCode{|<show input line no|><div}%
%     \halignTB{longtable}\HCode{><table>}}
%   {\HCode{</table></div>}}


\<configure docbook longtable\><<<
\def\r:HA{\HCode{</row>}}
\def\d:HA{\ifvmode \IgnorePar \fi \EndP\HCode{</entry>}|<td recall EndP|>}
>>>


\<configure docbook tex4ht\><<<
\newif\ifHCond
>>>


\<show input line no\><<<
<!--l. \the\inputlineno-->%
>>>


\<td save EndP\><<<
\SaveEndP
>>>

\<td recall EndP\><<<
\RecallEndP
>>>

\<start array par box\><<<
\par  \ShowPar
>>>

\<end array par box\><<<
\IgnorePar \EndP
>>>








%%%%%%%%%%%%%
\subsection{Obey Lines and Alignments}
%%%%%%%%%%%%%




\<obey lines\><<<
\Configure{verb}{}{}
>>>

\<latex, plain\><<<
\Configure{obeylines}
  {\ifvmode \IgnorePar \EndP
      \HCode{<blockquote role="obeylines-v">}%
      \gdef\ob:ln{blockquote}%
   \else \HCode{<remark role="obeylines-h">}%
      \gdef\ob:ln{remark}%
   \fi
  }
  {\ht:special{t4ht=</\ob:ln>}\ShowPar} {\hbox{\HCode{<!--br /-->}}}
>>>

\<latex etc\><<<
\ConfigureEnv{center}
  {} {\ShowPar} {}{}
\Configure{centerline}
  {\ifvmode \IgnorePar\fi\HCode{<!--centerline-->}}
  {\HCode{<!--/centerline-->}}
\Configure{leftline}
  {\ifvmode \IgnorePar\fi\HCode{<!--leftline-->}}
  {\HCode{<!--/leftline-->}}
\Configure{rightline}
  {\ifvmode \IgnorePar\fi\HCode{<!--rightline-->}}
  {\HCode{<!--/rightline-->}}
>>>


%%%%%%%%%%%%%
\subsection{multirow}
%%%%%%%%%%%%%

\<configure docbook multirow\><<<
\Configure{multirow}
   {\HCode{<blockquote
       role="multirow"><para role="\the\@tempcnta">}}
   {\HCode{</para></blockquote>}}
>>>



%%%%%%%%%%%%%
\subsection{multirow}
%%%%%%%%%%%%%

\<configure docbook dcolumn\><<<
\Configure{dcolumn}
 {\HCode{<blockquote role="align-char"><para role="\Dpoint">}}
 {\HCode{</para></blockquote>}}
>>>




%%%%%%%%%%%%%%%%%%%%%%%
\subsection{colortbl.sty}
%%%%%%%%%%%%%%%%%%%%%%%

\<configure docbook colortbl WAIT\><<<
\HAssign\Table:No=0
\HAssign\TableNo=0
\HAssign\Prev:Col=0
\HAssign\HRow=0

\Configure{@classz}
  {\let\begin:current@color=\relax
   \let\end:current@color=\relax }
  {%
    \ifx \CT@column@color\relax \else
    \ifx \CT@column@color\empty \else{%
        \def\CT@color{\@ifnextchar[\color:ii\color:i}%
        \CT@column@color|<par del|>%
        \edef\:temp{\noexpand\add:color
           {background-color}{\:temp}{\ar:cnt}}\:temp
    }\fi \fi
  }
  {\begin:current@color}
  {\end:current@color}
\Configure{rowcolor}{\row:clr}
\def\row:clr#1{{%
%  \HAdvance\HRow by 1
 \add:color{background-color}{#1}{\HRow-}}}
\Configure{text-colortbl}
 {\add:color{color}{\current@color}{\HRow-\HCol}}
\Configure{cell-colortbl}
  {\add:color{background-color}{\current@color}{\HRow-\HCol}}
\def\add:color#1#2#3{%
 \Configure{SetHColor}{\Css{ \#TBL-\TableNo-#3{ #1:\HColor }}}{#2}}
>>>




%%%%%%%%%%%%%%%%%
\section{Figures}
%%%%%%%%%%%%%%%%%

\<article,report,book figures\><<<
\ConfigureEnv{figure}
  {\ifvmode \IgnorePar\fi \EndP  \HCode{<figure><title/><blockquote>}}
  {\ifvmode \IgnorePar\fi \EndP  \HCode{</blockquote></figure>}}
  {}{}
\Configure{caption}
  {\HCode{<blockquote role="caption"><title role="caption">}}
  {\HCode{</title><para>}}
  {}
  {\HCode{</para></blockquote>}}
>>>

\<config lists of figures and tables\><<<
\ConfigureToc{lof}
  {\HCode{\Hnewline<tocentry role="lofToc">}}
  {\ }{} {\HCode{</tocentry>}}
\ConfigureToc{lot}
  {\HCode{\Hnewline<tocentry role="lotToc">}}
  {\ }{} {\HCode{</tocentry>}}
>>>



%%%%%%%%%%%%%%
\section{Math}
%%%%%%%%%%%%%%

\<configure docbook-math tex4ht\><<<
\Configure{$$}{\EndP\PicDisplay}{\EndPicDisplay}
  {\everymath{}\everydisplay{}}
\Configure{$}{\PicMath}{\EndPicMath}{}
\Configure{PicMath}
 {\Tg<inlineequation>}{\Tg</inlineequation>}{}{}
\let\MathPar\empty
>>>


\<configure docbook-math tex4ht\><<<
\Configure{PicDisplay}
 {\edef\MathPar{\ifvmode par-\fi}\IgnorePar\EndP\ShowPar\endgraf
  \HCode{<equation role="\MathPar math-display"><mathphrase>}}
 {\HCode{</mathphrase></equation>}\ShowPar}
 {}  {\space role="\MathPar math-display" }
>>>





\<try inline par\><<<
\ShowPar\par{\HCondtrue\noindent}%
>>>



\<configure docbook tex4ht \><<<
\Configure{Picture+}{}{}
\Configure{Picture*}{}{}
\Configure{IMG}
 {\ht:special{t4ht=<graphic\Hnewline fileref="}}
 {\ht:special{t4ht="}}
 {}
 {}
 {\ht:special{t4ht=></graphic>}}
\Configure{pic-halign}{}
>>>



\<configure docbook tex4ht\><<<
\Configure{Picture+}{}{}
\Configure{Picture*}{}{}
\Configure{IMG}
 {\ht:special{t4ht=<inlinemediaobject><imageobject><imagedata\Hnewline
                                                      fileref="}}
 {\ht:special{t4ht="}}
 {}
 {}
 {\ht:special{t4ht=></imagedata></imageobject></inlinemediaobject>}}
\Configure{pic-halign}{}
>>>



\<configure docbook tex4ht\><<<
\Configure{PictureAlt*+}
  {\let\sv:HtmlPar=\HtmlPar   \let\HtmlPar=\empty
    |<postscript for /Picture|>%
    |<tex halign and cr/crcr|>%
    \NoFonts\csname PauseMathClass\endcsname \SUBOff \SUPOff
    \let\HCode=\:gobble     |%\offinterlineskip|%
    \let\EndPicture=\empty
    \ht:special{t4ht@[}%
  }
  {\ht:special{t4ht@]}%
    \let\HCode=\:HCode
    \let\EndPicture=\:UnDef \let\HtmlPar=\sv:HtmlPar \SUBOn \SUPOn
    \csname EndPauseMathClass\endcsname \EndNoFonts
    |<tex4ht halign and cr/crcr|>%
    |<delay postscript|>%
  }
>>>

\<postscript for /Picture\><<<
\def\PsCode##1{{\ht:special{\PsCodeSpecial##1}}}%
>>>

\<tex halign and cr/crcr\><<<
\iffalse{\fi
\let\sv:halign=\halign
\let\sv:cr=\cr
\let\sv:crcr=\crcr
\iffalse}\fi
\RecallTeXcr \let\halign =\TeXhalign
>>>

\<tex4ht halign and cr/crcr\><<<
\iffalse{\fi
\let\halign=\sv:halign
\let\cr=\sv:cr
\let\crcr=\sv:crcr
\iffalse}\fi
>>>

\<delay postscript\><<<
\let\PsCode=\relax
>>>









%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



\<configure docbook-math tex4ht WAIT\><<<

\Configure{halignTR}
  {\HCode{ style="vertical-align:baseline;"}}
\Configure{halignTBL}
% %   {t}{\HCode{ valign="top"}}
% %   {b}{\HCode{ valign="baseline"}}
% %   {c}{\HCode{ valign="middle"}}
   {}

\Configure{halign}
  {\EndP\halignTB{halign}}   {\HCode{</table>}}
  \R:HA\r:HA\D:HA\d:HA
\Configure{pic-halign}{}
\Configure{halignTD} {}{}
  {<}{\HCode{ style="white-space:nowrap; text-align:left;"}}
  {-}{\HCode{ style="white-space:nowrap; text-align:center;"}}
  {>}{\HCode{ style="white-space:nowrap; text-align:right;"}}
  {^}{\HCode{ style="vertical-align:top; white-space:nowrap;"}}
  {=}{\HCode{ style="vertical-align:baseline; white-space:nowrap;"}}
  {||}{\HCode{ style="vertical-align:middle; white-space:nowrap;"}}
  {_}{\HCode{ style="vertical-align:bottom; white-space:nowrap;"}}
  {p}{\HCode{ style="white-space:wrap; text-align:left;"}\Protect\a:HColWidth}
  {m}{\HCode{ style="white-space:nowrap; text-align:left; vertical-align:middle;"}}
  {b}{\HCode{ style="white-space:nowrap; text-align:left; vertical-align:baseline;"}}
  {}



\ifx \a:imgdir\:UnDef
  \let\a:imgdir=\empty
  \catcode`\:=12
     \expandafter
     \def\csname :temp\endcsname#1imgdir:#2,#3!*?: {%
        \if !#2!\else \expandafter
                         \def\csname a:imgdir\endcsname{#2}\fi}
     \expandafter\csname :temp\expandafter\endcsname
        \Preamble ,imgdir:,!*?: %
  \catcode`\:=11
  \Log:Note{for addressing images in
      a subdirectory,  use the command line option `imgdir:.../'}
\fi

>>>

\<configure docbook-math latex WAIT\><<<
  \ConfigureEnv{array}
    {\IgnorePar\EndP\Tg<div class="pic-array">\Picture*{}$$}
    {$$\EndPicture\Tg</div>}{}{}
>>>

\<configure docbook-math array WAIT\><<<
  \ConfigureEnv{array}
    {\IgnorePar\EndP\Tg<div class="pic-array">\Picture*{}$$}
    {$$\EndPicture\Tg</div>}{}{}
>>>









\<configure docbook graphics\><<<
\Configure{graphics}
 {}
 {\HCode{<inlinemediaobject><imageobject><imagedata
                  width="\the\Gin@req@width"
                  fileref="\Gin@base\Gin@ext"
     ></imagedata></imageobject></inlinemediaobject>}%
  }
>>>


\<configure docbook graphics \><<<
\Configure{graphics}
 {}
 {\HCode{<graphic width="\the\Gin@req@width"  fileref="\Gin@base\Gin@ext"
     ></graphic>}%
  }
>>>


\<configure docbook-math latex\><<<
\Configure{[]}
  {\PicDisplay $$\everymath{}\everydisplay{}}
  {$$\EndPicDisplay}
\Configure{()}{\protect\PicMath$}{$\protect\EndPicMath}
>>>




\<configure docbook-mml tex4ht\><<<
\Configure{$$}
  {\Configure{@math}{|<disp math|>}\DviMath}
  {\EndDviMath{\csname HCondtrue\endcsname\noindent}}
  {}
\Configure{@math}{|<disp math|>} \let\math:mode=\a:@math
\Configure{DviMath}
   {\a:DviMathML \mathmltrue
      \mml:htfsym |%\NoFonts|%%
      \IgnoreRule
      \HCode{<!--l. \the\inputlineno--><math\Hnewline
               xmlns="http://www.w3.org/1998/Math/MathML">}\a:math
      |<sv dvimath par|>\IgnorePar}
   {\HCode{</math>} \EndIgnoreRule
    \ext:htfsym |%\EndNoFonts|%%
    \mathmlfalse \b:DviMathML |<recall dvimath par|>}
\Configure{DviMathML}
  {\HCode{<\ifx \math:mode\a:@math \else inline\fi
            equation \Hnewline \expandafter\:rend \a:@math==//>}}
  {\HCode{</\ifx \math:mode\a:@math \else inline\fi equation>}}
\def\:rend#1=#2=#3//{\if !#1!\else role=#2\fi}
>>>


% \ifOption{mml-fonts}{}{|%\mml:htfsym|%\NoFonts}%
% \ifOption{mml-fonts}{}{|%\ext:htfsym|%\EndNoFonts}%

\<disp math\><<<
display="block">>>

\<recall dvimath par\><<<
\sv:ignore
>>>

\<sv dvimath par\><<<
\edef\sv:ignore{\if:nopar
   \noexpand\IgnorePar\else \noexpand\ShowPar\fi}%
>>>







\<configure docbook fontmath\><<<
\Configure{mathit}{\HCode{<emphasis role="it">}}
                 {\HCode{</emphasis>}}
\Configure{mathbf}{\HCode{<emphasis role="bf">}}
                 {\HCode{</emphasis>}}
\Configure{mathtt}{\HCode{<emphasis role="tt">}}
                 {\HCode{</emphasis>}}
\Configure{mathsf}{\HCode{<emphasis role="sf">}}
                 {\HCode{</emphasis>}}
\Configure{mathrm}{\HCode{<emphasis role="rm">}}
                 {\HCode{</emphasis>}}
>>>

\<configure docbook latex\><<<
\Configure{textbf}{|<par within font|>\HCode{<emphasis role="bf">}}
                 {\HCode{</emphasis>}|<end par within font|>}
\Configure{textit}{|<par within font|>\HCode{<emphasis role="it">}}
                 {\HCode{</emphasis>}|<end par within font|>}
\Configure{textrm}{|<par within font|>\HCode{<emphasis role="rm">}}
                 {\HCode{</emphasis>}|<end par within font|>}
\Configure{textup}{|<par within font|>\HCode{<emphasis role="up">}}
                 {\HCode{</emphasis>}|<end par within font|>}
\Configure{textsc}{|<par within font|>\HCode{<emphasis role="sc">}}
                 {\HCode{</emphasis>}|<end par within font|>}
\Configure{textsf}{|<par within font|>\HCode{<emphasis role="sf">}}
                 {\HCode{</emphasis>}|<end par within font|>}
\Configure{textsl}{|<par within font|>\HCode{<emphasis role="sl">}}
                 {\HCode{</emphasis>}|<end par within font|>}
\Configure{texttt}{|<par within font|>\HCode{<emphasis role="tt">}}
                 {\HCode{</emphasis>}|<end par within font|>}
\Configure{emph}{|<par within font|>\HCode{<emphasis>}}
               {\HCode{</emphasis>}|<end par within font|>}
>>>



\<par within font\><<<
\leavevmode\SaveEndP\bgroup
\Configure{HtmlPar}
  {\HCode{<!--br role="newline" /-->}}
  {\HCode{<!--br role="newline" /-->}}
  {}{}%
>>>

\<end par within font\><<<
\egroup \RecallEndP
>>>

%%%%%%%%%%%%%%%%%%%%
\section{Environments}
%%%%%%%%%%%%%%%%%%%%





%%%%%%%%%%%%
\subsection{quote}
%%%%%%%%%%%%

\<latex environments\><<<
\ConfigureEnv{quote}{\ifvmode\IgnorePar\fi\EndP\HCode{<blockquote>}}{\ifvmode\IgnorePar\fi\EndP\HCode{</blockquote>}\par\ShowPar}{}{}
>>>

%%%%%%%%%%%%%
\subsection{Center}
%%%%%%%%%%%%%

\<latex environments\><<<
\ConfigureEnv{center}
 {\EndP}{\par \ShowPar} {}{}
\ConfigureList{center}
  {\IgnorePar\EndP\HCode{<section role="center"><title/>}\par\ShowPar}
  {\IgnorePar\EndP\HCode{</section>}\par\ShowPar}
  {} {\par\ShowPar}
>>>

%%%%%%%%
\subsection{Flusshing}
%%%%%%%%%%%%%

\<latex environments\><<<
\ConfigureEnv{flushleft}
 {\EndP}{\par \ShowPar} {}{}
\ConfigureEnv{flushright}
 {\EndP}{\par \ShowPar} {}{}
\ConfigureList{flushleft}
 {\IgnorePar\EndP\HCode{<blockquote role="flushleft">}\par\ShowPar}
 {\IgnorePar\EndP\HCode{</blockquote>}\par\ShowPar}
 {} {\par\ShowPar}
\ConfigureList{flushright}
 {\IgnorePar\EndP\HCode{<blockquote role="flushright">}\par\ShowPar}
 {\IgnorePar\EndP\HCode{</blockquote>}\par\ShowPar}
 {} {\par\ShowPar}
>>>

%%%%%%%%%%%%%
\subsection{Mini Page}
%%%%%%%%%%%%%

\<latex environments\><<<
\ConfigureEnv{minipage}
  {%\IgnorePar\EndP
   %\HCode{<note><para role="minipage">}%
   {\ifnum 0=`}\fi
  }
  {\ifnum 0=`{\fi}%
%    \EndP\HCode{</para></note>}%
  }
  {}{}
>>>

The extra braces in the minipage configurations are to allow the
compilation of cases similar to the following one.

\begin{verbatim}
\documentclass{article}
\begin{document}
\begin{tabular}{c}
\begin{minipage}{4in}
\begin{eqnarray}
x & = & y
\end{eqnarray}
\end{minipage}
\end{tabular}
\end{document}
\end{verbatim}




\<latex environments\><<<
\ConfigureEnv{section}
  {\IgnorePar\EndP\HCode{<section role="minipage">}}
  {\IgnorePar\EndP\HCode{</section>}\ShowPar}
  {}{}
>>>

%%%%%%%%%%%%%
\subsection{Tabbing}
%%%%%%%%%%%%%

\<latex environments\><<<

>>>

\subsection{Tabular and Array}

\<latex environments\><<<

>>>

\subsection{Verbatim}

\<latex environments\><<<
\ConfigureEnv{verbatim}
 {\ifinner\else \vfill\break\fi
   \IgnorePar\EndP\HCode{<literallayout role="verbatim">}\EndNoFonts}
 {\NoFonts \ht:special{t4ht=</literallayout>}\ShowPar\par}
 {} {}
\ConfigureEnv{verbatim*}
 {\ifinner\else \vfill\break\fi
   \IgnorePar\EndP\HCode{<literallayout role="verbatim-star">}\EndNoFonts}
 {\NoFonts \HCode{</literallayout>}\ShowPar\par}
 {} {}
\Configure{verbatim}{\:nbsp}{\a:sp}
>>>

   array
   tabbing
   tabular


%%%%%%%%%%%%%%%%%%%%%%
\subsection{Listings}
%%%%%%%%%%%%%%%%%%%%%%

\<configure docbook listings\><<<
\Log:Note{to ensure proper alignments use
  fixed size fonts (see listings.dtx)}
\Configure{listings}
  {\ifvmode \IgnorePar\fi \EndP
   {\everypar{}\leavevmode}\HCode{<!--l. \the\inputlineno-->}%
    \HCode{<pre class="listings">}%
  }
  {{\everypar{}\leavevmode}\HCode{</pre>}}
  {}{}
\Configure{lstinline}
  {\HCode{<remark role="lstinline">}}
  {\HCode{</remark>}}
>>>

\<configure docbook listings\><<<
\ConfigureEnv{lstlisting}
  {\ifvmode \IgnorePar\fi \EndP
   \HCode{<!--l. \the\inputlineno-->}%
   \HCode{<div class="lstlisting">}%
   \bgroup
      \Configure{listings}
        {{\everypar{}\leavevmode}}
        {{\everypar{}\leavevmode}}
        {\HCode{<br/>}}{}%
  }
  {\egroup \ifvmode \IgnorePar\fi \EndP   \HCode{</div>}}
  {} {}
>>>


%%%%%%%%%%%%%%%%%%%%
\section{Paragraphs}
%%%%%%%%%%%%%%%%%%%%


\<tex4ht paragraphs\><<<
\Configure{HtmlPar}
  {\EndP\HCode{<!--l. \the\inputlineno--><para>}}
  {\EndP\HCode{<!--l. \the\inputlineno--><para>}}
  {\HCode{</para>}}     {\HCode{</para>}}
>>>


%%%%%%%%%%%%%%%%%%%%
\section{TOCs}
%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%
\subsection{Shared}
%%%%%%%%%%%%%%%%%%%%




\<configure docbook tex4ht\><<<
\Configure{TocLink}{\Link{#2}{#3}\EndLink#4}
>>>




\<article tocs\><<<
\Configure{tableofcontents}
 {\ifvmode \IgnorePar\fi \EndP\HCode{<toc><tocpart>}}
 {\ifvmode \IgnorePar\fi \EndP\HCode{</tocpart></toc><para></para>}}
 {}{}{}
>>>


\<report,book tocs\><<<
|<article tocs|>
\ConfigureToc{appendix}
  {\HCode{\Hnewline<tocentry role="appendixToc">}}
  {\ }{} {\HCode{</tocentry>}}
\ConfigureToc{chapter}
  {\HCode{\Hnewline<tocentry role="chapterToc">}}
  {\ }{} {\HCode{</tocentry>}}
\ConfigureToc{likechapter}
  {} {\HCode{\Hnewline<tocentry role="likechapterToc">}}
  {} {\HCode{</tocentry>}}
>>>

\<article tocs\><<<
\ConfigureToc{likeparagraph}
  {} {\HCode{\Hnewline<tocentry role="likeparagraphToc">}}
  {} {\HCode{</tocentry>}}
\ConfigureToc{likepart}
 {} {\HCode{\Hnewline<tocentry role="likepartToc">}}
 {} {\HCode{</tocentry>}}
\ConfigureToc{likesection}
  {} {\HCode{\Hnewline<tocentry role="likesectionToc">}}
  {} {\HCode{</tocentry>}}
\ConfigureToc{likesubparagraph}
  {} {\HCode{\Hnewline<tocentry role="likesubparagraphToc">}}
  {} {\HCode{</tocentry>}}
\ConfigureToc{likesubsection}
  {} {\HCode{\Hnewline<tocentry role="likesubsectionToc">}}
  {} {\HCode{</tocentry>}}
\ConfigureToc{likesubsubsection}
  {} {\HCode{\Hnewline<tocentry role="likesubsubsectionToc">}}
  {} {\HCode{</tocentry>}}
\ConfigureToc{paragraph}
  {\HCode{\Hnewline<tocentry role="paragraphToc">}}
  {\ }{} {\HCode{</tocentry>}}
\ConfigureToc{part}
  {\HCode{\Hnewline<tocentry role="partToc">}}
  {\ }{} {\HCode{</tocentry>}}
\ConfigureToc{section}
  {\HCode{\Hnewline<tocentry role="sectionToc">}}
  {\ }{} {\HCode{</tocentry>}}
\ConfigureToc{subparagraph}
  {\HCode{\Hnewline<tocentry role="subparagraphToc">}}
  {\ }{} {\HCode{</tocentry>}}
\ConfigureToc{subsection}
  {\HCode{\Hnewline<tocentry role="subsectionToc">}}
  {\ }{} {\HCode{</tocentry>}}
\ConfigureToc{subsubsection}
  {\HCode{\Hnewline<tocentry role="subsubsectionToc">}}
  {\ }{} {\HCode{</tocentry>}}
>>>


%%%%%%%%%%%%%%%%%%%%
\subsection{Scr}
%%%%%%%%%%%%%%%%%%%%

\<scrbook tocs\><<<
\ConfigureToc{addchap}
  {}
  {\HCode{\Hnewline<tocentry role="addchapToc">}}
  {}
  {\HCode{</tocentry>}}
>>>

%%%%%%%%%%%%%%%%%%%%
\section{Texinfo}
%%%%%%%%%%%%%%%%%%%%



\<configure docbook texinfo\><<<
\ConfigureToc{chapter}
  {\HCode{\Hnewline<tocentry role="chapter">}}
  {\ }{} {\HCode{</tocentry>}}
\ConfigureToc{appendix}
  {\HCode{\Hnewline<tocentry role="appendix">}}
  {\ }{} {\HCode{</tocentry>}}
\ConfigureToc{unnumbered}
  {\HCode{\Hnewline<tocentry role="unnumbered">}}
  {\ }{} {\HCode{</tocentry>}}
\ConfigureToc{numberedsec}
  {\HCode{\Hnewline<tocentry role="numberedsec">}}
  {\ }{} {\HCode{</tocentry>}}
\ConfigureToc{appendixsec}
  {\HCode{\Hnewline<tocentry role="appendixsec">}}
  {\ }{} {\HCode{</tocentry>}}
\ConfigureToc{unnumberedsec}
  {\HCode{\Hnewline<tocentry role="unnumberedsec">}}
  {\ }{} {\HCode{</tocentry>}}
\ConfigureToc{numberedsubsec}
  {\HCode{\Hnewline<tocentry role="numberedsubsec">}}
  {\ }{} {\HCode{</tocentry>}}
\ConfigureToc{appendixsubsec}
  {\HCode{\Hnewline<tocentry role="appendixsubsec">}}
  {\ }{} {\HCode{</tocentry>}}
\ConfigureToc{appendixsubsec}
  {\HCode{\Hnewline<tocentry role="appendixsubsec">}}
  {\ }{} {\HCode{</tocentry>}}
\ConfigureToc{unnumberedsubsec}
  {\HCode{\Hnewline<tocentry role="unnumberedsubsec">}}
  {\ }{} {\HCode{</tocentry>}}
\ConfigureToc{numberedsubsubsec}
  {\HCode{\Hnewline<tocentry role="numberedsubsubse">}}
  {\ }{} {\HCode{</tocentry>}}
\ConfigureToc{appendixsubsubsec}
  {\HCode{\Hnewline<tocentry role="appendixsubsubse">}}
  {\ }{} {\HCode{</tocentry>}}
\ConfigureToc{appendixsubsubsec}
  {\HCode{\Hnewline<tocentry role="appendixsubsubse">}}
  {\ }{} {\HCode{</tocentry>}}
\ConfigureToc{unnumberedsubsubsec}
  {\HCode{\Hnewline<tocentry role="unnumberedsubsub">}}
  {\ }{} {\HCode{</tocentry>}}
\Configure{toTocLink}{\Title:Link}{}
>>>



%%%%%%%%%%%%%%%%%%%%
\section{Indexes}
%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%
\subsection{Article, Report, Book}
%%%%%%%%%%%%%

\<index entry\><<<
\Configure{theindex}
  {\let\end:theidx=\empty \HCode{<indexterm>}}
  {\HCode{</indexterm>}}
  {|<primary index|>%
   \def\end:cur{|<end primary index|>\let\end:cur=\empty}%
   \DB:index
  }
   {\end:cur \let\chain:subitem=\empty}
  {\chain:subitem |<secondary index|>%
   \def\end:cur{|<end secondary index|>\let\end:cur=\empty}%
  }
   {\end:cur \def\chain:subitem{%
    |<new index entry|>|<primary index|>|<end primary index|>}%
    \let\chain:subsubitem=\empty
  }
  {\chain:subsubitem|<tertiary index|>%
   \def\end:cur{|<end tertiary index|>\let\end:cur=\empty}%
  }
  {\end:cur \def\chain:subsubitem{%
      |<new index entry|>|<primary index|>|<end primary index|>%
      |<secondary index|>|<end secondary index|>}%
  }
  {}
>>>



\<article, report, book\><<<
\def\DB:index#1\indNum#2{%
  \ifnum  #2=\index:N
     \let\DB:index=\relax  #1\long\def\item##1\end{\end}%
  \else \expandafter\gob:item \fi
}
\long\def\gob:item#1\item{\DB:index}
\let\indNum=\:gobble
>>>




\<article, report, book\><<<
\HAssign\index:N = 0
\def\comNum#1{\tmp:cnt=}
\let\db:index=\index
\def\index{%
  \immediate\openin15=\jobname.ind
  \ifeof15 \else
     \immediate\closein15
     \bgroup
      \def\gobble##1{}%
      \gHAdvance\index:N by 1
      |<index entry|>%
      \leavevmode \let\par=\empty
      \input{\jobname.ind}%
     \egroup
   \fi
   \db:index}
>>>


%%%%%%%%%%%%%%%%%%%%
\subsection{index}
%%%%%%%%%%%%%%%%%%%%


\<configure docbook latex\><<<
\Configure{idxmake}{\Beforeentry}
>>>


\<ams art,proc,book\><<<
|<index throug printindex|>
>>>


\<configure docbook amsmidx\><<<
|<index throug printindex|>
>>>

\<configure docbook makeidx\><<<
|<index throug printindex|>
>>>


\<configure docbook index\><<<
|<index throug printindex|>
>>>

\<configure docbook multind\><<<
|<index throug printindex|>
>>>


\<index throug printindex\><<<
\def\:temp{\HCode{<indexterm role="printindex" />}}
\HLet\printindex\:temp
\expandafter\ifx \csname db:index\endcsname\realx
  \let\db:index=\index
\fi
\def\index{\bgroup
   \HRestore\printindex
   \def\gobble##1{}%
   \gHAdvance\index:N by 1
   |<index entry|>%
   \leavevmode \let\par=\empty
   \printindex
  \egroup \db:index}
\def\comNum#1{\tmp:cnt=}
\def\brange#1{\HCode{<remark role="start">}\Link{to-#1}{from-#1}\EndLink
  \HCode{</remark>}}
\def\erange#1{\HCode{<remark role="to">}\Link{from-#1}{to-#1}\EndLink
  \HCode{</remark>}}
>>>



\<\><<<
\def\comNum{%
  \def\:tempa{%
     \ifx ,\:temp        \def\:tempa####1{\tmp:cnt=}%
     \else \ifx {\:temp  \def\:tempa####1{\tmp:cnt=####1}%
           \iffalse }\fi
     \else               \def\:tempa{\tmp:cnt=}%
     \fi\fi \:tempa}%
  \futurelet\:temp\:tempa}
>>>


%%%%%%%%%%%%%%%%%%%%
\subsection{theindex}
%%%%%%%%%%%%%%%%%%%%


\<article, report, book\><<<
\Configure{theindex}
   {\special{t4ht@[}}
   {\special{t4ht@]}}
   {}{}{}{}{}{}{}
>>>



\<configure docbook makeidx\><<<
\Configure{see}
 {\csname end:cur\endcsname \HCode{<seealso role="see">}}
 {\HCode{</seealso>}%
  \futurelet\:next\remove:comma}
\def\remove:comma{\ifx ,\:next \expandafter\:gobble\fi}
>>>



\<primary index\><<<
\HCode{<primary>}%
>>>

\<end primary index\><<<
\HCode{</primary>}\hfil\break
>>>

\<secondary index\><<<
\HCode{<secondary>}%
>>>

\<end secondary index\><<<
\HCode{</secondary>}\hfil\break
>>>

\<tertiary index\><<<
\HCode{<tertiary>}%
>>>

\<end tertiary index\><<<
\HCode{</tertiary>}\hfil\break
>>>





%%%%%%%%%%%%%%%%%%%%
\subsection{splitindex}
%%%%%%%%%%%%%%%%%%%%

\<configure docbook splitidx\><<<
\let\db:sindex=\sindex
\def\:sindex{\bgroup
   \HRestore\printindex
   \def\gobble##1{}%
   \gHAdvance\index:N by 1
   \leavevmode \let\par=\empty
   \edef\:temp{\LikeRef{printindex}}\expandafter\printindex\:temp
  \egroup \db:sindex}
>>>

\<configure docbook splitidx\><<<
\def\:temp{%
 \def\:tempa{%
    \HCode{<indexterm role="printindex\ifx *\:temp -star\fi" />}%
    \ifx *\:temp \Tag{printindex}{*}\expandafter\:gobble\fi
 }%
 \futurelet\:temp\:tempa
}
\HLet\printindex\:temp
>>>

\<configure docbook splitidx\><<<
\def\sindex{%
  \def\:tempa{%
     \ifx [\:temp
           \def\:temp[####1]{\def\ind:ext{####1}\:sindex[####1]}%
           \expandafter\:temp
     \else \expandafter\:sindex \fi
  }%
  \futurelet\:temp\:tempa
}
\let\o:@@printindex:=\@@printindex
\def\@@printindex[#1][#2]{%
  \def\:temp{#1}%
  \ifx \:temp\ind:ext \o:@@printindex:[#1][#2]\fi}
>>>




%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Color}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\<configure docbook color\><<<
\Configure{color}{\:gobble}
\Configure{HColor:gray}{%
  \int:of\:tempa{255}{#1}%
  \Configure{HColor}{}{rgb(\:tempa,\:tempa,\:tempa)}%
}
\Configure{HColor:rgb}{%
  \int:of\:tempa{255}{#1}%
  \int:of\:tempb{255}{#2}%
  \int:of\:tempc{255}{#3}%
  \Configure{HColor}{}{rgb(\:tempa,\:tempb,\:tempc)}%
}
\Configure{HColor:cmyk}{%
  \int:of\:Cyan{255}{#1}%
  \int:of\:Magenta{255}{#2}%
  \int:of\:Yellow{255}{#3}%
  \int:of\:Black{255}{#4}%
  \:cmyk\:tempa\:Cyan
  \:cmyk\:tempb\:Magenta
  \:cmyk\:tempc\:Yellow
  \Configure{HColor}{}{rgb(\:tempa,\:tempb,\:tempc)}%
}
|<HColor util|>
>>>


\<HColor util\><<<
\def\int:of#1#2#3{%
  \tmp:dim=#3pt \tmp:dim=#2\tmp:dim
  \edef\:temp{\tmp:cnt\the\tmp:dim//}%
  \def#1##1//{}\afterassignment#1\:temp
  \edef#1{\the\tmp:cnt}%
}
>>>


\begin{verbatim}
cmyk -> gray
(1 - 0.299c - 0.587m - 0.114y)(1 - k)

cmyk -> rgb
Red   = 1-minimum(1,Cyan   *(1-Black)+Black)
Green = 1-minimum(1,Magenta*(1-Black)+Black)
Blue  = 1-minimum(1,Yellow *(1-Black)+Black)
\end{verbatim}



\<HColor util\><<<
\def\:cmyk#1#2{%
  \tmp:cnt=255 \advance\tmp:cnt by -\:Black
  \multiply\tmp:cnt by#2 \advance\tmp:cnt by \:Black
  \advance\tmp:cnt by -255 \tmp:cnt=-\tmp:cnt
  \ifnum \tmp:cnt<0 \tmp:cnt=0 \fi
  \edef#1{\the\tmp:cnt}%
}
>>>






%%%%%%%%%%%%%%%%%%%%
\section{Other}
%%%%%%%%%%%%%%%%%%%%


\<latex ltoutenc\><<<
\Configure{textcircled}
  {\@use@text@encoding \@curr@enc c}
  {\leavevmode \special{t4ht@+\string&\#x00A9;}c}
  {\@use@text@encoding \@curr@enc \scshape r}
  {\leavevmode \special{t4ht@+\string&\#x00AE;}r}
  {}
>>>


\<configure docbook latex\><<<
|<latex ltoutenc|>
\def\:temp{LaTeX}
\HLet\LaTeX\:temp
>>>

\<configure docbook amsmath\><<<
\def\:temp{{\protect\AmSfont AMS}}
\HLet\AmS\:temp
>>>


\<latex, plain\><<<
|<unicode space|>
>>>

\<unicode space\><<<
\def\:nbsp{\HCode{\string&}\HChar{-35}\HCode{x00A0;}}%
>>>


\<configure docbook latex\><<<
\Configure{footnotetext}
   {\HCode{<footnote><para>}\setbox\tmp:bx=\hbox\bgroup\let\@makefnmark\relax}
   {\egroup}%
   {\HCode{</para></footnote>}}
\Configure{footnotemark}
  {\setbox\tmp:bx=\hbox\bgroup}
  {\egroup}
\ifx \tmp:bx\:UnDef \csname newbox\endcsname \tmp:bx \fi
>>>


Sub and super scripts


\<configure docbook latex\><<<
\Configure{textsuperscript}
 {\HCode{<superscript>}}
 {\HCode{</superscript>}}

\Configure{textsubscript}
 {\HCode{<subscript>}}
 {\HCode{</subscript>}}
>>>



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Underline and Overline}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



\<configure docbook latex\><<<
\Configure{underline}
  {\HCode{<emphasis role="underline">}\:gobble}
  {\HCode{</emphasis>}}
\Configure{overline}
  {\HCode{<emphasis role="overline">}}
  {\HCode{</emphasis>}}
>>>

\<configure docbook plain\><<<
\Configure{underline}
  {\HCode{<emphasis role="underline">}\hbox\bgroup \:gobble}
  {\egroup \HCode{</emphasis>}}
\Configure{overline}
  {\HCode{<emphasis role="overline">}}
  {\HCode{</emphasis>}}
>>>







\<configure docbook-mml latex\><<<
\Configure{overline}
  {\bgroup\ifmathml |<mathml overline|>\else
        \HCode{<emphasis role="overline">}\fi}
  {\ifmathml |<end mathml overline|>\else \HCode{</emphasis>}\fi\egroup}
\Configure{underline}
  {\bgroup
   \ifmathml |<mathml underline|>%
   \else |<nomath underline|>\HCode{<emphasis role="underline">}\fi}
  {\ifmathml |<end mathml underline|>\else \HCode{</emphasis>}\fi \egroup}
>>>


\<mathml latex\><<<
|<und/ov-erline|>
>>>

\<mathml plain\><<<
|<und/ov-erline|>
>>>


\<und/ov-erline\><<<
\Configure{overline}
  {\bgroup |<mathml overline|>}
  {|<end mathml overline|>\egroup}
\Configure{underline}
  {\bgroup \ifmmode |<mathml underline|>\else
    |<nomath underline|>\fi}
  {|<end mathml underline|>\egroup}
>>>

\<nomath underline\><<<
\expandafter\everymath
\expandafter{\expandafter\everymath
            \expandafter{\the\everymath}}%
\let\o::@underline:\o:@@underline:
\def\o:@@underline:{\let\o:@@underline:\o::@underline:}%
>>>


\<mathml overline\><<<
\HCode{<\a:mathml mover  accent="false"\Hnewline
\mml:class="mml-overline"><\a:mathml mrow>}%
>>>

\<end mathml overline\><<<
\HCode{</\a:mathml mrow><\a:mathml mo\Hnewline
accent="true">&\#x00AF;</\a:mathml mo>%
</\a:mathml mover>}%
>>>

\verb'&#x00AF;' is the code of \verb'&OverBar;'


\<mathml underline\><<<
\HCode{<\a:mathml munder \a:mathml accentunder="false"\Hnewline
\mml:class="mml-underline"><\a:mathml mrow>}%
>>>

\<end mathml underline\><<<
\HCode{</\a:mathml mrow><\a:mathml mo\Hnewline
accent="true">&\#x0332;</\a:mathml mo></\a:mathml munder>}%
>>>


\verb'&#x0332;' is the code of \verb'&UnderBar;'


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Ulem}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\<configure docbook ulem\><<<
\Configure{uline}{\HCode{<emphasis role="underline">}}{\HCode{</emphasis>}}
\Configure{uuline}{\HCode{<emphasis role="underline">}}{\HCode{</emphasis>}}
\Configure{sout}{\HCode{<emphasis role="underline">}}{\HCode{</emphasis>}}
\Configure{xout}{\HCode{<emphasis role="underline">}}{\HCode{</emphasis>}}
\Configure{uwave}{\HCode{<emphasis role="underline">}}{\HCode{</emphasis>}}
\Configure{dashuline}{\HCode{<emphasis role="underline">}}{\HCode{</emphasis>}}
\Configure{dotuline}{\HCode{<emphasis role="underline">}}{\HCode{</emphasis>}}
>>>

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{AMS}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%
\section{Root}
%%%%%%%%%%%%%%%%%%%%


\<configure docbook amsart\><<<
|<article prologue|>
|<sectioning utilities|>
|<ams maketitle|>
|<ams article,report maketitle|>
|<ams art,proc,book|>
|<ams art,proc|>
>>>

\<configure docbook amsbook\><<<
|<article prologue|>
|<sectioning utilities|>
|<ams maketitle|>
|<ams article,report maketitle|>
|<ams art,proc,book|>
|<ams book|>
>>>

\<configure docbook amsproc\><<<
|<article prologue|>
|<sectioning utilities|>
|<ams maketitle|>
|<ams article,report maketitle|>
|<ams art,proc,book|>
|<ams art,proc|>
>>>

\<configure docbook-mml amsart\><<<
|<ams dtd|>
>>>

\<ams dtd\><<<
\:CheckOption{css} \if:Option
  \:CheckOption{dtd} \if:Option
     \Configure{VERSION}
        {\HCode{<?xml version="1.0"?>\Hnewline}}
     \Configure{DOCTYPE}
       {\HCode{<!DOCTYPE article |<doctype 5.0|> >}}
     \Configure{XML-STYLESHEET}
       {\HCode{<?xml-stylesheet type="text/css" href="\jobname.css"?>
           \Hnewline}}
  \else
     \Configure{VERSION}
        {\HCode{<?xml version="1.0"?>\Hnewline}}
     \Configure{DOCTYPE}
     {\HCode{<!DOCTYPE article |<doctype 5.0|> >}}
     \Configure{XML-STYLESHEET}
       {\HCode{<?xml-stylesheet type="text/css" href="\jobname.css"?>
           \Hnewline}}
  \fi
\else
  \Configure{VERSION}
     {\HCode{<?xml version="1.0"?>\Hnewline}}
  \Configure{DOCTYPE}
    {\HCode{<!DOCTYPE article |<doctype 5.0|> >\Hnewline }}
\fi
>>>



\<configure docbook Preamble\><<<
\Configure{PROLOG}{VERSION,DOCTYPE,*XML-STYLESHEET}
\:CheckOption{no-DOCTYPE} \if:Option
  \Configure{PROLOG}{VERSION,*XML-STYLESHEET}
\fi
>>>



\<configure docbook-mml amsbook\><<<
|<ams dtd|>
>>>

\<configure docbook-mml amsproc\><<<
|<ams dtd|>
>>>



%%%%%%%%%%%%%%%%%%%%
\section{Css}
%%%%%%%%%%%%%%%%%%%%

\<configure docbook tex4ht\><<<
|<cascade style sheets|>
\Configure{Preamble}
  {|<default cascade style sheets|>} {}
\Configure{CssFile}{\jobname.css}
 {/* \aa:CssFile\space from \jobname.tex (TeX4ht) */}
\Configure{Needs}{l.
  \the\inputlineno\space--- needs --- #1 ---}
\Configure{Needs-}{l.
  \the\inputlineno\space--- needs --- #1 ---}
>>>

\<default cascade style sheets\><<<
{\ifdim \lastskip>\z@ \unskip\fi  \IgnorePar\parindent\z@
\leavevmode}%
\immediate\write-1{--- file \aa:CssFile\space ---}%
\ht:special{t4ht>\aa:CssFile}\ht:special{t4ht=\Hnewline /* css.sty */}%
\ht:special{t4ht<\aa:CssFile}%
>>>


\<cascade style sheets\><<<
\ScriptCommand{\CssFile}{%
 \immediate\write-1{--- file \aa:CssFile\space ---}%
 \def\FontSize##1##2{\:Context{##1}\ht:special{t4ht;\%##2}\%}%
 \def\FontName##1{\:Context{##1}\ht:special{t4ht;=}}%
 \def\:Context##1{\ht:special{t4ht>\jobname.tmp}##1\ht:special
    {t4ht>\aa:CssFile}}%
 \ht:special{t4ht>\jobname.tmp}\ht:special{t4ht>\aa:CssFile}\bb:CssFile
 \hfil\break\NoFonts}{\EndNoFonts
 \ht:special{t4ht<\aa:CssFile}\ht:special{t4ht<\jobname.tmp}}
\let\Css:File|=\CssFile
\def\CssFile{\futurelet\:temp\Css:Fl}
\def\Css:Fl{\ifx [\:temp  \expandafter\Css:fl
  \else \expand:after{\Css:File \space}\fi}
\def\Css:fl[#1]{\Css:File\space \css:files #1,,|<par del|>}
\def\css:files#1,#2|<par del|>{\def\:temp{#1}\ifx \:temp\empty
  \else \def\:temp{\in:css#1.|<par del|>\css:files#2,,|<par del|>}\fi
  \:temp }
\def\in:css#1.#2|<par del|>{\def\:temp{#2}\ifx \:temp\empty \input #1.css
  \else \inc:ss#1.#2|<par del|>\fi}
\def\inc:ss#1.|<par del|>{\input #1 }
\NewConfigure{CssFile}[2]{\def\aa:CssFile{#1}\def\bb:CssFile{#2}}
>>>



\<cascade style sheets\><<<
\def\Css#1{{\def\:temp{\Configure{Needs}}%
  \expandafter\:temp\expandafter{\aa:Css}\Needs{#1}}}
>>>


\<configure docbook tex4ht\><<<
\ifx \a:FontCss:\:UnDef
  \Configure{FontCss}{Font\string_Css##1}
                  {Font\string_Css\string_Plus\space##1}
\fi
\expandafter\ifx \csname aa:Css\endcsname\relax
  \Configure{Css}{Css: ##1}
\fi
>>>

%%%%%%%%%%%%%%%%%%%%
\section{Theorem}
%%%%%%%%%%%%%%%%%%%%


\<ams art,proc,book\><<<
\ifx \deferred@thm@head\:UnDef\else
  |<shared ams thm/cls|>
\fi
>>>

\<configure docbook amsthm\><<<
|<shared ams thm/cls|>
>>>

\<shared ams thm/cls\><<<
\Configure{proof}
  {\IgnorePar\EndP\HCode{<blockquote role="proof"><title>}\IgnorePar}
  {\ifvmode \IgnorePar\fi\EndP\HCode{</title>}\ShowPar\par}
  {\IgnorePar\EndP\HCode{</blockquote>}\ShowPar\par}
>>>




%%%%%%%%%%%%%%%%%%%%
\section{Title Page}
%%%%%%%%%%%%%%%%%%%%

\<ams maketitle\><<<
\Configure{maketitle}
  {\HCode{<articleinfo>}}
  {\HCode{</articleinfo>}}
  {\HCode{<title>}}{\HCode{</title>}}
\Configure{thanks author date and} {}{}
  {\HCode{<author><othername>}}
  {\HCode{</othername></author>}}
  {\HCode{<date>}}
  {\HCode{</date>}}
  {}{}
>>>


\<ams article,report maketitle\><<<
\Configure{maketitle}
  {\ifvmode \IgnorePar\fi\EndP
   \HCode{<section role="maketitle"><title />}%
   \ConfigureEnv{center}
      {\ifvmode \IgnorePar\fi} {\ifvmode \IgnorePar\fi}
      {\ifvmode \IgnorePar\fi} {\ifvmode \IgnorePar\fi}%
  }
  {\ifvmode \IgnorePar\fi\EndP \HCode{</section>}}
  {\ifvmode \IgnorePar\fi\EndP \HCode{<para role="title">}}
  {\ifvmode \IgnorePar\fi\HCode{</para>}}
\Configure{thanks author date and}
  {\par\IgnorePar\EndP \HCode{<note role="thanks">}\par\ShowPar}
  {\ifvmode \IgnorePar\fi\EndP \HCode{</note>}}
  {\ifvmode \IgnorePar\fi\EndP
    |<para role|>\HCode{<para role="authorgroup"><author><personname><othername>}}
  {\ifvmode \IgnorePar\fi
   \HCode{</othername></personname></author><!--/author--></para><!--/authorgroup-->}}
  {\ifvmode \IgnorePar\fi\EndP \HCode{<para role="date">}}
  {\ifvmode \IgnorePar\fi \HCode{</para><!--/date-->}}
  {\ifvmode \IgnorePar\fi\lowercase{\HCode{</othername></personname></author>
        <!--/author--><!--author--><author><personname><othername>}}}
  {}
>>>

\<ams article,report maketitle\><<<
\Configure{addresses}
  {\ifvmode \IgnorePar\fi \EndP
    \HCode{<note role="addresses">}\ShowPar}
  {\ifvmode \IgnorePar\fi \EndP
    \HCode{</note><!--addresses-->}}
\Configure{address}
  {\HCode{<note role="address-title"><para>}}
  {\ifvmode \IgnorePar\fi
     \HCode{</para></note><!--address-title--><note role="address"><para>}}
  {\HCode{</para></note><!--address-->}}
\Configure{curraddr}
  {\HCode{<para role="curraddr-title">}}
  {\ifvmode \IgnorePar\fi
    \HCode{</para><!--curraddr-title--><para role="curraddr">}}
  {\HCode{</para><!--curraddr-->}}
\Configure{email}
  {\HCode{<note role="email-title"><para>}}
  {\ifvmode \IgnorePar\fi
   \HCode{</para></note><!--email-title--><note role="email"><para>}}
  {\HCode{</para></note><!--email-->}}
\Configure{urladdr}
  {\HCode{<para role="urladdr-title">}}
  {\ifvmode \IgnorePar\fi
     \HCode{</para><!--urladdr-title--><para role="urladdr">}}
  {\HCode{</para><!--urladdr-->}}
>>>

\<ams art,proc,book\><<<
\ConfigureEnv{abstract}
  {\ifvmode \IgnorePar\fi \EndP}
  {\ifvmode \IgnorePar\fi \EndP}
  {}{}
\ConfigureList{abstract}
  {\ifvmode \IgnorePar\fi \EndP
      \HCode{<note role="abstract">}\IgnorePar}
  {\ifvmode \IgnorePar\fi \EndP
      \HCode{</note><!--abstract-->}\ShowPar}
  {\IgnorePar\par\HCode{<title>}}
  {\HCode{</title>}\ShowPar\par}
\Configure{setabstract}
  {\ifvmode \IgnorePar \fi \EndP}
  {\ifvmode \IgnorePar \fi \EndP}
>>>

\<ams art,proc,book\><<<
\Configure{subjclass}
  {\par\IgnorePar\HCode{<note role="subjclass">}\par\ShowPar}
  {\ifvmode \IgnorePar \fi\EndP\HCode{</note><!--subjclass-->}}
\Configure{keywords}
  {\par\IgnorePar\EndP \HCode{<note role="keywords">}\par\ShowPar}
  {\ifvmode \IgnorePar \fi\EndP\HCode{</note>}}
>>>



\<ams book\><<<
\Configure{translators}
 {\par\IgnorePar\EndP  \HCode{<note role="translators">}\par\ShowPar}
 {\ifvmode \IgnorePar \fi\EndP \HCode{</note>}}
 {\HCode{<note role="translator"><para>}}
 {\HCode{</para></note>}}
>>>

\<ams art,proc\><<<
\Configure{translators}
 {\par\IgnorePar\EndP  \HCode{<para role="translators">}\par\ShowPar}
 {\ifvmode \IgnorePar \fi\EndP \HCode{</para>}}
 {\HCode{<note role="translator"><para>}}
 {\HCode{</para></note>}}
>>>

%%%%%%%%%%%%%%%%%%
\section{Sections}
%%%%%%%%%%%%%%%%%%





\<configure docbook amsart\><<<
|<amsart + article sec|>
>>>

\<configure docbook amsbook\><<<
|<amsart + article sec|>
>>>


\<configure docbook amsproc\><<<
|<amsart + article sec|>
>>>




\<amsart + article sec\><<<
\Configure{part}
  {\OpenDiv{part}}   {\CloseDiv{part}}
  {\HCode{<title>}|<TitleMark|>} {\HCode{</title>}\par\ShowPar}
\Configure{section}
  {\OpenDiv{section}}   {\CloseDiv{section}}
  {\HCode{<title>}|<TitleMark|>}   {\HCode{</title>}\par\ShowPar}
\Configure{subsection}
  {\OpenDiv{subsection}}   {\CloseDiv{subsection}}
  {\HCode{<title>}|<TitleMark|>}   {\HCode{</title>}\par\ShowPar}
\Configure{subsubsection}
  {\OpenDiv{subsubsection}}   {\CloseDiv{subsubsection}}
  {\HCode{<title>}|<TitleMark|>}   {\HCode{</title>}\par\ShowPar}
\Configure{paragraph}
  {\OpenDiv{paragraph}}   {\CloseDiv{paragraph}}
  {\HCode{<title>}|<TitleMark|>}   {\HCode{</title>}\par\ShowPar}
\Configure{subparagraph}
  {\OpenDiv{subparagraph}}   {\CloseDiv{subparagraph}}
  {\HCode{<title>}|<TitleMark|>}   {\HCode{</title>}\par\ShowPar}
|<sectioning utilities|>
>>>


\<amsart + article sec\><<<
\ConfigureMark{section}
  {\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
   \else \HCode{<abbrev role="title-mark">}\thesection
         \HCode{</abbrev>}\fi }
\ConfigureMark{subsection}
  {\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
   \else \HCode{<abbrev role="title-mark">}\thesubsection
         \HCode{</abbrev>}\fi }
\ConfigureMark{subsubsection}
  {\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
   \else \HCode{<abbrev role="title-mark">}\thesubsubsection
         \HCode{</abbrev>}\fi }
>>>

%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{End Points}
%%%%%%%%%%%%%%%%%%%%%%%%%



\<amsart + article sec\><<<
\Configure{endsection}
    {likesection,chapter,likechapter,appendix,part,likepart}
\Configure{endsubsection}
  {likesubsection,section,likesection,chapter,%
     likechapter,appendix,part,likpart}
\Configure{endsubsubsection}
  {likesubsubsection,subsection,likesubsection,section,%
     likesection,chapter,likechapter,appendix,part,likpart}
\Configure{endparagraph}
  {likeparagraph,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}
\ifx \part\:UnDef \else
  \Configure{endpart}{likepart}
\fi
>>>

%%%%%%%%%%%%%%%%%%%%
\section{amsmath}
%%%%%%%%%%%%%%%%%%%%



\<configure docbook-mml amsmath\><<<
\Configure{equation}
 {\ifvmode \IgnorePar\fi   \EndP
  \HCode{<blockquote role="equation">}%
  \Configure{gather}
    {\HCode{<mtable\Hnewline
        class="equation"><mtr><mtd>}\IgnorePar }
    {\HCode{</mtd></mtr></mtable>}}
    {}
    {}
    {\ifnum\HCol=2 \IgnorePar
        \HCode{</mtd><mtd>}\fi }
    {}
 }
 {\ifvmode \IgnorePar\fi\EndP \HCode{<note role="equation"><para>}}
 {\ifvmode \IgnorePar\fi\EndP \HCode{</para></note></blockquote>}\par
  \ShowPar}

% Mar 18, 2013 at 9:28 PM, Matteo Gamboz <[email protected]>
% wrote that starred equation caused an forgotten endgroup error, hence
% the following fix. CVR Mar 22, 2013.

\Configure{equation*}
 {\ifvmode \IgnorePar\fi   \EndP
  \HCode{<blockquote role="equation">}%
  \Configure{gather}
    {\HCode{<mtable\Hnewline
        class="equation"><mtr><mtd>}\IgnorePar }
    {\HCode{</mtd></mtr></mtable>}}
    {}
    {}
    {}
    {}
 }
 {\ifvmode \IgnorePar\fi\EndP \HCode{</blockquote>}\par
  \ShowPar}
>>>


\<configure docbook-mml amsmath\><<<
\ConfigureEnv{align*}
  {\ifmmode\else \ifvmode\else \IgnorePar\fi \EndP\fi}
  {\ifmmode\else \par\ShowPar\fi} {}{}
\ConfigureEnv{alignat*}
  {\ifmmode\else \ifvmode\else \IgnorePar\fi \EndP\fi}
  {\ifmmode\else \par\ShowPar\fi}{}{}
\ConfigureEnv{alignat}
  {\ifmmode\else \ifvmode\else \IgnorePar\fi \EndP\fi}
  {\ifmmode\else \par\ShowPar\fi}{}{}
\ConfigureEnv{align}
  {\ifmmode\else \ifvmode\else \IgnorePar\fi \EndP\fi}
  {\ifmmode\else \par\ShowPar\fi}{}{}
\ConfigureEnv{eqxample}
  {\ifmmode\else \ifvmode\else \IgnorePar\fi \EndP\fi}
  {\ifmmode\else \par\ShowPar\fi}{}{}
\ConfigureEnv{flalign*}
  {\ifmmode\else \ifvmode\else \IgnorePar\fi \EndP\fi}
  {\ifmmode\else \par\ShowPar\fi}{}{}
\ConfigureEnv{flalign}
  {\ifmmode\else \ifvmode\else \IgnorePar\fi \EndP\fi}
  {\ifmmode\else \par\ShowPar\fi}{}{}
\ConfigureEnv{gather}
  {\ifmmode\else \ifvmode\else \IgnorePar\fi \EndP\fi}
  {\ifmmode\else \par\ShowPar\fi}{}{}
\ConfigureEnv{gather*}
  {\ifmmode\else \ifvmode\else \IgnorePar\fi \EndP\fi}
  {\ifmmode\else \par\ShowPar\fi}{}{}
\ConfigureEnv{gathered}
  {\ifmmode\else \ifvmode\else \IgnorePar\fi \EndP\fi}
  {\ifmmode\else \par\ShowPar\fi}{}{}
\ConfigureEnv{matrix}
  {\ifmmode\else \ifvmode\else \IgnorePar\fi \EndP\fi}
  {\ifmmode\else \par\ShowPar\fi}{}{}
\ConfigureEnv{xalignat*}
  {\ifmmode\else \ifvmode\else \IgnorePar\fi \EndP\fi}
  {\ifmmode\else \par\ShowPar\fi}{}{}
\ConfigureEnv{xalignat}
  {\ifmmode\else \ifvmode\else \IgnorePar\fi \EndP\fi}
  {\ifmmode\else \par\ShowPar\fi}{}{}
\ConfigureEnv{xxalignat}
  {\ifmmode\else \ifvmode\else \IgnorePar\fi \EndP\fi}
  {\ifmmode\else \par\ShowPar\fi}{}{}
>>>




\<configure docbook amsmath\><<<
\ConfigureEnv{subequations}
 {\ifvmode \IgnorePar\fi   \EndP
  \HCode{<blockquote role="subequations">}%
 }
 {\ifvmode \IgnorePar\fi\EndP \HCode{</blockquote>}\par
  \ShowPar}
 {}{}
>>>

\<configure docbook-math amsmath\><<<
\Configure{equation}
 {\ifmmode\else\par \IgnorePar\fi \EndP
          \HCode{<blockquote role="equation">}\IgnorePar
 }
 {\ifvmode \IgnorePar\fi\EndP\HCode{<note role="equation"><para>}}
 {\HCode{</para></note></blockquote>}}
\Configure{equation*}
 {\ifmmode\else\par \IgnorePar\fi \EndP
  \HCode{<blockquote role="equation-star">}\IgnorePar
 }
 {\ifmmode\else\par \IgnorePar\fi \EndP
  \HCode{</blockquote>}}
>>>


\<configure docbook-math amsmath\><<<
\def\:tempc#1#2{%
  \ConfigureEnv{#1}
    {\par\IgnorePar\EndP\HCode{<equation
           role="#1"><mathphrase>}\Picture*[]{}}
    {\EndPicture\EndP\HCode{</mathphrase></equation>}\par}
    {} {}}
\: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}
>>>

%%%%%%%%%%%%%%%%%
\chapter{Plain}
%%%%%%%%%%%%%%%%%


\<latex, plain\><<<
\Configure{centerline}
  {\IgnorePar\EndP\HCode{<blockquote
       role="centerline"><title></title>}\ShowPar\par}
  {\IgnorePar\EndP\HCode{</blockquote>}\ShowPar\par}
\Configure{leftline}
  {\IgnorePar\EndP\HCode{<blockquote
       role="leftline"><title></title>}\ShowPar\par}
  {\IgnorePar\EndP\HCode{</blockquote>}\ShowPar\par}
\Configure{rightline}
  {\ifvmode \IgnorePar \fi \EndP \HCode{<blockquote
       role="rightline"><title></title>}\ShowPar\par}
  {\ifvmode \IgnorePar \fi \EndP \HCode{</blockquote>}\ShowPar\par}
>>>


%%%%%%%%%%%%%%%%%
\chapter{TeXinfo}
%%%%%%%%%%%%%%%%%




\<configure docbook texinfo\><<<
|<sectioning utilities|>
\Configure{pdfurl}
  {\let\sv:Link=\Link \let\sv:EndLink=\EndLink
   \let\Link=\U:Link
   \def\EndLink{\EndU:Link\let\Link=\sv:Link \let\EndLink=\sv:EndLink}}
%\LinkCommand\U:Link{ulink, url,,,,}
\LinkCommand\U:Link{link, xlink:href,,,,}
>>>




\<configure docbook texinfo\><<<
\Configure{group}
  {\IgnorePar\EndP\HCode{<blockquote
       role="group"><title></title>}\ShowPar\par}
  {\IgnorePar\EndP\HCode{</blockquote>}\ShowPar\par}
\Configure{multitable}
  {\IgnorePar \EndP\HCode{<informaltable\Hnewline
       role="multitable">}\IgnorePar }
  {\HCode{</tbody></tgroup></informaltable>}}
  {\HCode{\ifnum \HRow=1 <tgroup cols="\HCols"><tbody>\fi
          <row><!-- cols="\HRow"-->}}
  {\HCode{</row>}}
  {\HCode{<entry\Hnewline><!-- cols="\the\colcount"--><para>}}
  {\IgnorePar \EndP\HCode{</para></entry>}}
>>>


\<configure docbook texinfo\><<<
\Configure{example}
  {\IgnorePar\EndP\HCode{<example
       role="example"><title></title><para>}\bgroup
    \Configure{obeylines}{}{}{\hbox{\HCode{</para><para>}}}}
  {\egroup\IgnorePar\EndP\HCode{</para></example>}\ShowPar\par}
\Configure{smallexample}
  {\IgnorePar\EndP\HCode{<example
       role="smallexample"><title></title><para>}\bgroup
    \Configure{obeylines}{}{}{\hbox{\HCode{</para><para>}}}}
  {\egroup\IgnorePar\EndP\HCode{</para></example>}\ShowPar\par}
>>>





\<configure docbook texinfo\><<<
\ConfigureMark{chapter}{\the\chapno}
\Configure{chapter}
  {\OpenDiv{chapter}}   {\CloseDiv{chapter}}
  {\HCode{<title>}|<TitleMark|>} {\HCode{</title>}\par\ShowPar}
\ConfigureMark{appendix}{\appendixletter}
\Configure{appendix}
  {\AppOpenDiv{appendix}}   {\AppCloseDiv{appendix}}
  {\HCode{<title>}|<TitleMark|>} {\HCode{</title>}\par\ShowPar}
\Configure{unnumbered}
  {\OpenDiv{unnumbered}}   {\CloseDiv{unnumbered}}
  {\HCode{<title>}} {\HCode{</title>}\par\ShowPar}
\ConfigureMark{numberedsec}{\the\chapno.\the\secno}
\Configure{numberedsec}
  {\OpenDiv{numberedsec}}   {\CloseDiv{numberedsec}}
  {\HCode{<title>}|<TitleMark|>} {\HCode{</title>}\par\ShowPar}
\ConfigureMark{appendixsec}{\appendixletter.\the\secno}
\Configure{appendixsec}
  {\OpenDiv{appendixsec}}   {\CloseDiv{appendixsec}}
  {\HCode{<title>}|<TitleMark|>} {\HCode{</title>}\par\ShowPar}
\Configure{unnumberedsec}
  {\OpenDiv{unnumberedsec}}   {\CloseDiv{unnumberedsec}}
  {\HCode{<title>}} {\HCode{</title>}\par\ShowPar}
\ConfigureMark{numberedsubsec}{\the\chapno.\the\secno .\the\subsecno}
\Configure{numberedsubsec}
  {\OpenDiv{numberedsubsec}}   {\CloseDiv{numberedsubsec}}
  {\HCode{<title>}|<TitleMark|>} {\HCode{</title>}\par\ShowPar}
\ConfigureMark{appendixsubsec}{\appendixletter .\the\secno.\the\subsecno}
\Configure{appendixsubsec}
  {\OpenDiv{appendixsubsec}}   {\CloseDiv{appendixsubsec}}
  {\HCode{<title>}|<TitleMark|>} {\HCode{</title>}\par\ShowPar}
\ConfigureMark{appendixsubsec}{\appendixletter.\the\secno
                                       .\the\subsecno}
\Configure{appendixsubsec}
  {\OpenDiv{appendixsubsec}}   {\CloseDiv{appendixsubsec}}
  {\HCode{<title>}|<TitleMark|>} {\HCode{</title>}\par\ShowPar}
\Configure{unnumberedsubsec}
  {\OpenDiv{unnumberedsubsec}}   {\CloseDiv{unnumberedsubsec}}
  {\HCode{<title>}} {\HCode{</title>}\par\ShowPar}
\ConfigureMark{numberedsubsubsec}{\the\chapno.\the\secno
                     .\the\subsecno.\the\subsubsecno}
\Configure{numberedsubsubsec}
  {\OpenDiv{numberedsubsubsec}}   {\CloseDiv{numberedsubsubsec}}
  {\HCode{<title>}|<TitleMark|>} {\HCode{</title>}\par\ShowPar}
\ConfigureMark{appendixsubsubsec}{\appendixletter
            .\the\secno.\the\subsecno.\the\subsubsecno}
\Configure{appendixsubsubsec}
  {\OpenDiv{appendixsubsubsec}}   {\CloseDiv{appendixsubsubsec}}
  {\HCode{<title>}|<TitleMark|>} {\HCode{</title>}\par\ShowPar}
\ConfigureMark{appendixsubsubsec}{\appendixletter.\the\secno
                                 .\the\subsecno.\the\subsubsecno}
\Configure{appendixsubsubsec}
  {\OpenDiv{appendixsubsubsec}}   {\CloseDiv{appendixsubsubsec}}
  {\HCode{<title>}|<TitleMark|>} {\HCode{</title>}\par\ShowPar}
\Configure{unnumberedsubsubsec}
  {\OpenDiv{unnumberedsubsubsec}}   {\CloseDiv{unnumberedsubsubsec}}
  {\HCode{<title>}} {\HCode{</title>}\par\ShowPar}
>>>








\<configure docbook texinfo\><<<
\Configure{enumerate}%
  {\ifvmode\IgnorePar\fi \EndP \HCode{<orderedlist\Hnewline>}}
  {\EndP\HCode{</listitem></orderedlist>}\ShowPar}
  {\ifnum \itemno>1
      \ifvmode\IgnorePar\fi \EndP \Tg</listitem>\fi \DeleteMark}
  {\ifvmode\IgnorePar\fi \EndP \HCode{<listitem>}\par\ShowPar}
\Configure{itemize}%
  {\ifvmode\IgnorePar\fi \EndP \HCode{<itemizedlist>}}
  {\EndP\HCode{</listitem></itemizedlist>}\ShowPar}
  {\ifnum \itemno>1 \ifvmode\IgnorePar\fi \EndP
     \Tg</listitem>\fi \DeleteMark}
  {\ifvmode\IgnorePar\fi \EndP \HCode{<listitem>}\par\ShowPar}
\Configure{table}%
  {\EndP\HCode{<glosslist>}\let\end:itm=\empty}
  {\EndP\HCode{</glossdef></glossentry></glosslist>}\ShowPar}
  {\end:itm\def\end:itm{\EndP\HCode{</glossdef></glossentry>}}%
     \HCode{<glossentry><glossterm><remark>}\bgroup \bf}
  {\egroup\HCode{</remark></glossterm><glossdef\Hnewline>}\par\ShowPar}
>>>

\<configure docbook texinfo\><<<
\Configure{titlepage}
  {\ifvmode \IgnorePar \fi \EndP \HCode{<articleinfo>}\bgroup
    \Configure{flushleft}
       {\ifvmode \IgnorePar \fi \EndP \HCode{<abstract>}\bgroup
         \Configure{obeylines}{}{}{\hbox{\HCode{<!--br /-->}}}\ShowPar\par
        \leavevmode }
       {\ifvmode \IgnorePar \fi \EndP \egroup\HCode{</abstract>}}
  }
  {\egroup\ifvmode \IgnorePar \fi \EndP \HCode{</articleinfo>}}
\Configure{title}
  {\ifvmode \IgnorePar \fi \EndP \HCode{<title>}\bgroup
   \Configure{leftline}{}{}}
  {\egroup\ifvmode \IgnorePar \fi \EndP \HCode{</title>}}
\Configure{subtitle}
  {\IgnorePar\EndP\HCode{<subtitle \Hnewline>}\bgroup
   \Configure{rightline}{}{}}
  {\egroup \IgnorePar\EndP\HCode{</subtitle>}}
\Configure{author}
  {\ifvmode \IgnorePar \fi \EndP \HCode{<author><othername>}\bgroup
   \Configure{leftline}{}{}}
  {\egroup \ifvmode \IgnorePar \fi \EndP \HCode{</othername></author>}}
>>>




\<configure docbook texinfo\><<<
|<unicode space|>
>>>




% \HCode{\string&\#x00A0;}}


\<configure docbook texinfo\><<<
\Configure{contents}
 {\b:titlepage   \let\b:titlepage=\empty
  \ifvmode \IgnorePar \fi \EndP \HCode{<tocchap>}}
 {\ifvmode \IgnorePar \fi \EndP \HCode{</tocchap>}}
>>>




\<configure docbook texinfo\><<<
\Configure{endchapter}{appendix}
\Configure{endappendix}{chapter}
\Configure{endnumberedsec}
  {chapter,appendix,appendixsec,unnumberedsec,unnumbered}
\Configure{endappendixsec}
  {chapter,appendix,umberedsec,unnumberedsec,unnumbered}
\Configure{endunnumberedsec}
  {chapter,appendix,umberedsec,appendixsec,unnumbered}
\Configure{endunnumbered}
  {chapter,appendix,umberedsec,appendixsec,unnumberedsec}
\Configure{endnumberedsubsec}
  {chapter,appendix,umberedsec,appendixsec,unnumberedsec,%
   unnumbered,appendixsubsec,appendixsubsec,unnumberedsubsec}
\Configure{endappendixsubsec}
  {chapter,appendix,umberedsec,appendixsec,unnumberedsec,%
   unnumbered,numberedsubsec,appendixsubsec,unnumberedsubsec}
\Configure{endappendixsubsec}
  {chapter,appendix,umberedsec,appendixsec,unnumberedsec,%
   unnumbered,numberedsubsec,appendixsubsec,unnumberedsubsec}
\Configure{endunnumberedsubsec}
  {chapter,appendix,umberedsec,appendixsec,unnumberedsec,%
   unnumbered,numberedsubsec,appendixsubsec,appendixsubsec}
\Configure{endnumberedsubsubsec}{chapter,appendix,umberedsec,%
   appendixsec,unnumberedsec,unnumbered,numberedsubsec,%
   appendixsubsec,appendixsubsec,unnumberedsubsec,appendixsubsubsec,%
   appendixsubsubsec,unnumberedsubsubsec}
\Configure{endappendixsubsubsec}
  {chapter,appendix,umberedsec,appendixsec,unnumberedsec,%
   unnumbered,numberedsubsec,appendixsubsec,appendixsubsec,%
   unnumberedsubsec,numberedsubsubsec,appendixsubsubsec,%
   unnumberedsubsubsec}
\Configure{endappendixsubsubsec}
  {chapter,appendix,umberedsec,appendixsec,unnumberedsec,%
   unnumbered,numberedsubsec,appendixsubsec,appendixsubsec,%
   unnumberedsubsec,numberedsubsubsec,appendixsubsubsec,%
   unnumberedsubsubsec}
\Configure{endunnumberedsubsubsec}
  {chapter,appendix,umberedsec,appendixsec,unnumberedsec,%
   unnumbered,numberedsubsec,appendixsubsec,appendixsubsec,%
   unnumberedsubsec,numberedsubsubsec,appendixsubsubsec,appendixsubsubsec}
>>>









\<configure docbook texinfo\><<<
\Configure{index}
 {\IgnorePar\leavevmode\EndP\Tg<div class="index">}
 {\IgnorePar\EndP\Tg</div>}
 {\leavevmode\Tg<span class="entry">}
 {\Tg</span>\Tg<br />\IgnorePar}
>>>


%%%%%%%%%%%%%%%%%
\chapter{Packages}
%%%%%%%%%%%%%%%%%






%%%%%%%%%%%%%%%%%%%
\section{Verbatim}
%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{fancyvrb}
%%%%%%%%%%%%%%%%%%%%%%%%

\<configure docbook fancyvrb\><<<
\Configure{fancyvrb}
  {\ifvmode \IgnorePar \fi \EndP
   \HCode{<literallayout role="fancyvrb" >}}
  {\EndP\HCode{</literallayout>}}
  {\HCode{<literal>}} {\HCode{</literal>}}
  {\HCode{<literal>}} {\HCode{</literal>}}
>>>


\<fancyvrb.sty config 4.0t\><<<
\Configure{fancyvrbcolor}
 {\Css{div\#fancyvrb\fancyvrbNo { color: \HColor; }}}
 {\Css{div\#fancyvrb\fancyvrbNo { background-color: \HColor;}}}
 {\Css{div\#fancyvrb\fancyvrbNo { border-color: \HColor;}}}
>>>

\<fancyvrb.sty config 4.0t\><<<
\Configure{fancyvrbframe}
  {\Css{div\#fancyvrb\fancyvrbNo { border-top: solid \HSize; }}}
  {\Css{div\#fancyvrb\fancyvrbNo { border-left: solid \HSize; }}}
  {\Css{div\#fancyvrb\fancyvrbNo { border-bottom: solid \HSize; }}}
  {\Css{div\#fancyvrb\fancyvrbNo { border-right: solid \HSize; }}}
  {\Css{div\#fancyvrb\fancyvrbNo {border-width:\HSize;}}}
  {\Css{div\#fancyvrb\fancyvrbNo {padding:\HSize;}}}
>>>

\<fancyvrb.sty config 4.0t\><<<
\Configure{BVerbatimInput}
  {\ifvmode \IgnorePar \fi \EndP
   \gHAssign\HRow=0
   \HCode{<div class="BVerbatimInput">}}
  {\ifvmode \IgnorePar \fi \EndP \HCode{</div>}}
  {\gHAdvance\HRow by 1 \ifnum \HRow>1 \HCode{<br />}\fi}{}
>>>




%%%%%%%%%%%%%%%%%%%
\section{Drawing Utilitis}
%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%
\subsection{pgf}
%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%
\subsection{pgf}
%%%%%%%%%%%%%%%%%%%

\<configure docbook pgf\><<<
\ConfigureEnv{pgfpicture}
  {\hbox\bgroup\Picture+[ ]{}}
  {\EndPicture\egroup}
  {}{}
>>>



%%%%%%%%%%%%%%%%%%%
\section{beamer}
%%%%%%%%%%%%%%%%%%%




\<configure docbook beamer\><<<
|<article prologue|>
|<beamer title page|>
|<beamer toc|>
|<beamer sections|>
|<beamer slides|>
|<beamer slide titles|>
|<beamer environments|>
|<beamer bib|>
|<beamer other|>
>>>

\<beamer titlepage par\><<<
\Configure{HtmlPar}
  {\EndP\HCode{<!--l. \the\inputlineno--><note><para>}}
  {\EndP\HCode{<!--l. \the\inputlineno--><note><para>}}
  {\HCode{</para></note>}}     {\HCode{</para></note>}}
>>>

\<beamer title page\><<<
\Configure{titlepage}
  {\ifvmode \IgnorePar\fi \EndP \HCode{<para role="titlepage">}%
   \bgroup |<beamer titlepage par|>}
  {\egroup \ifvmode \IgnorePar\fi \EndP \HCode{</para>}}
\Configure{title}
  {\ifvmode \IgnorePar\fi \EndP \HCode{<note role="title"><para>}}
  {\ifvmode \IgnorePar\fi \EndP \HCode{</para></note>}}
\Configure{author}
  {\ifvmode \IgnorePar\fi \EndP \HCode{<note role="author"><para><personname><othername>}}
  {\ifvmode \IgnorePar\fi \EndP \HCode{</othername></personname></para></note>}}
\Configure{institute}
  {\ifvmode \IgnorePar\fi \EndP \HCode{<note role="institute"><para>}}
  {\ifvmode \IgnorePar\fi \EndP \HCode{</para></note>}}
\Configure{date}
  {\ifvmode \IgnorePar\fi \EndP \HCode{<note role="date"><para>}}
  {\ifvmode \IgnorePar\fi \EndP \HCode{</para></note>}}
\Configure{inst}
  {\HCode{<superscript role="inst">}\bgroup \everymath{}\let\sp=\empty}
  {\egroup\HCode{</superscript>}}
\Configure{andtitle}{\HCode{<remark role="and"/>}}
>>>



\<beamer toc\><<<
\Configure{tableofcontents}
 {\ifvmode \IgnorePar\fi \EndP \HCode{<toc><tocpart>}}
 {\ifvmode \IgnorePar\fi \EndP\HCode{</tocpart></toc>}}
 {}{}{}
\ConfigureToc{toc}
  {} {\HCode{\Hnewline<tocentry>}}
  {} {\HCode{</tocentry>}}
\Configure{sectionshadedintoc}
  {\HCode{<phrase role="sectionshaded">}}
  {\ifvmode \IgnorePar\fi \HCode{</phrase>}}
\Configure{sectionintoc}
  {\HCode{<phrase role="section">}}
  {\ifvmode \IgnorePar\fi \HCode{</phrase>}}
\Configure{subsectionshadedintoc}
  {\HCode{<phrase role="subsectionshaded">}}
  {\ifvmode \IgnorePar\fi \HCode{</phrase>}}
\Configure{subsectionintoc}
  {\HCode{<phrase role="subsection">}}
  {\ifvmode \IgnorePar\fi \HCode{</phrase>}}
>>>


\<beamer slides\><<<
\ConfigureEnv{slide}
  {\ifvmode \IgnorePar\fi \EndP
   \HCode{<section role="slide"><title></title>}\par
  }
  {\ifvmode \IgnorePar\fi \EndP \HCode{</section>}}
  {} {}
>>>



\<beamer sections\><<<
\let\no:section\section
\Def:Section\section{\thesection}{#1}
\let\no::section\section
\let\section\no:section
\let\no:section\@section
\def\@section[#1]#2{\no::section{#2}%
  \ifvmode \IgnorePar\fi \EndP
  \HCode{<subtitle>}#1%
  \ifvmode \IgnorePar\fi \EndP \HCode{</subtitle>}%
  \no:section[#1]{#2}}

\let\no:subsection\subsection
\Def:Section\subsection{\thesubsection}{#1}
\let\no::subsection\subsection
\def\subsection#1{\no::subsection{#1}\no:subsection{#1}}

\Configure{section}
  {\IgnorePar\EndP \HCode{<!--l.
      \the\inputlineno--><section\Hnewline role="section">}}
  {\IgnorePar\EndP\HCode{</section><!--end section-->}}
  {\HCode{<title>}\TitleMark}
  {\HCode{</title>}\par\ShowPar}
\Configure{subsection}
  {\IgnorePar\EndP \HCode{<!--l.
      \the\inputlineno--><section\Hnewline role="subsection">}}
  {\IgnorePar\EndP\HCode{</section><!--end subsection-->}}
  {\HCode{<title>}\TitleMark}
  {\HCode{</title>}\par\ShowPar}
\Configure{endsubsection}{section}
>>>




\<beamer environments\><<<
\let\block:Name=\empty
\ConfigureEnv{block}
  {\par\IgnorePar\EndP
   \ifx \block:Name\empty \def\block:Name{block}\fi
   \HCode{<blockquote
           role="\block:Name">}\global\let\block:Name=\empty}
  {\ifvmode \IgnorePar\fi \EndP \HCode{</blockquote>}}
  {} {}
\ConfigureEnv{alertblock}
  {\par\IgnorePar\EndP
   \ifx \block:Name\empty \def\block:Name{alertblock}\fi
   \HCode{<blockquote
           role="\block:Name">}\global\let\block:Name=\empty}
  {\ifvmode \IgnorePar\fi \EndP \HCode{</blockquote>}}
  {} {}
\ConfigureEnv{exampleblock}
  {\par\IgnorePar\EndP
   \ifx \block:Name\empty \def\block:Name{exampleblock}\fi
   \HCode{<blockquote
           role="\block:Name">}\global\let\block:Name=\empty}
  {\ifvmode \IgnorePar\fi \EndP \HCode{</blockquote>}}
  {} {}
\Configure{blocktitle}
  {\ifvmode \IgnorePar\fi \EndP \HCode{<title>}\par\IgnorePar}
  {\ifvmode \IgnorePar\fi \EndP \HCode{</title>}\par}
>>>

\<beamer environments\><<<
\ConfigureEnv{Problem}
  {\def\block:Name{Problem}} {} {} {}
\ConfigureEnv{Loesung}
  {\def\block:Name{Loesung}} {} {} {}
\ConfigureEnv{Definition}
  {\def\block:Name{Definition}} {} {} {}
\ConfigureEnv{Satz}
  {\def\block:Name{Satz}} {} {} {}
\ConfigureEnv{Beweis}
  {\def\block:Name{Beweis}} {} {} {}
\ConfigureEnv{Folgerung}
  {\def\block:Name{Folgerung}} {} {} {}
\ConfigureEnv{Lemma}
  {\def\block:Name{Lemma}} {} {} {}
\ConfigureEnv{Fakt}
  {\def\block:Name{Fakt}} {} {} {}
\ConfigureEnv{Theorem}
  {\def\block:Name{Theorem}} {} {} {}
\ConfigureEnv{Proof}
  {\def\block:Name{Proof}} {} {} {}
\ConfigureEnv{Corollary}
  {\def\block:Name{Corollary}} {} {} {}
\ConfigureEnv{Fact}
  {\def\block:Name{Fact}} {} {} {}
\ConfigureEnv{definition}
  {\def\block:Name{definition}} {} {} {}
\ConfigureEnv{definitions}
  {\def\block:Name{definitions}} {} {} {}
\ConfigureEnv{theorem}
  {\def\block:Name{theorem}} {} {} {}
\ConfigureEnv{proof}
  {\def\block:Name{proof}} {} {} {}
\ConfigureEnv{corollary}
  {\def\block:Name{corollary}} {} {} {}
\ConfigureEnv{fact}
  {\def\block:Name{fact}} {} {} {}
\ConfigureEnv{Beispiel}
  {\def\block:Name{Beispiel}} {} {} {}
\ConfigureEnv{Beispiele}
  {\def\block:Name{Beispiele}} {} {} {}
\ConfigureEnv{Example}
  {\def\block:Name{Example}} {} {} {}
\ConfigureEnv{Examples}
  {\def\block:Name{Examples}} {} {} {}
\ConfigureEnv{example}
  {\def\block:Name{example}} {} {} {}
\ConfigureEnv{examples}
  {\def\block:Name{examples}} {} {} {}
>>>



\<beamer slide titles\><<<
\Configure{frametitle}
  {\ifvmode \IgnorePar\fi \EndP
   \HCode{<para role="frametitle">}\bgroup
   \Configure{HtmlPar}{ }{ }{}{}%
  }
  {\egroup \ifvmode \IgnorePar\fi \EndP \HCode{</para>}}
>>>


\<beamer environments\><<<
\ConfigureEnv{columns}
 {\ifvmode \IgnorePar\fi \EndP
  \HCode{<blockquote role="columns">}}
 {\ifvmode \IgnorePar\fi \EndP \HCode{</blockquote>}\par}
 {}{}
\ConfigureEnv{column}
 {\ifvmode \IgnorePar\fi \EndP
  \HCode{<blockquote role="column">}}
 {\ifvmode \IgnorePar\fi \EndP \HCode{</blockquote>}}
 {}{}
>>>


\<beamer other\><<<
\Configure{alert}
  {\HCode{<note role="alert"><para>}\bgroup
   \Configure{HtmlPar}{\HCode{<!--br/-->}}{\HCode{<!--br/-->}}{}{}%
  }
  {\egroup\HCode{</para></note>}}
>>>





\<beamer bib\><<<
\ConfigureList{thebibliography}%
  {\IgnorePar\EndP
     \HCode{<simplelist role="bibliography">}\let\en:bib=\empty}
  {\en:bib\HCode{</simplelist>}}
  {\en:bib\def\en:bib{\HCode{</member>}}%
   \HCode{<member><!--l.
       \the\inputlineno--><abbrev role="biblioentry">}%
   |<para within bib|>}
  {\HCode{</abbrev>}}
>>>



%%%%%%%%%%%%%%%%%%%
\section{prosper}
%%%%%%%%%%%%%%%%%%%



\<configure docbook prosper\><<<
\ConfigureEnv{slide}
 {\ifvmode \IgnorePar\fi \EndP
  \HCode{<blockquote role="slide">}\par}
 {\HCode{</blockquote>}}
 {}{}
\Configure{slidetitle}
 {\HCode{<note role="title"><para>}}
 {\HCode{</para></note>}}
>>>


%%%%%%%%%%%%%%%%%%%
\section{algorithmic}
%%%%%%%%%%%%%%%%%%%



\<configure docbook algorithmic\><<<
\ConfigureEnv{algorithmic}
  {\ifvmode\IgnorePar\fi \EndP
   \HCode{<blockquote role="algorithmic"><para>}%
   \bgroup
     \Configure{HtmlPar}{}{}{}{}}
  {\egroup \ifvmode \IgnorePar\fi
   \HCode{</para></blockquote>}\par\ShowPar}
  {}{}
\Configure{ALCitem}
  {\HCode{\ifnum \c@ALC@line>1 </para><para>\fi
          <remark role="line-number">}}
  {\HCode{</remark>}}
\Configure{algorithmiccomment}
  {\HCode{<blockquote role="comment"><para>}}
  {\HCode{</para></blockquote>}}
  {}{}
>>>

%%%%%%%%%%%%%%%%%%%
\section{llncs}
%%%%%%%%%%%%%%%%%%%



\<configure docbook llncs\><<<
\Configure{email}
  {\HCode{<email>}}
  {\HCode{</email>}}
\Configure{institute}
  {\HCode{<note><para role="institute">}}
  {\HCode{</para></note>}}
>>>

\<configure docbook llncs\><<<
\ConfigureEnv{abstract}
  {\ifvmode \IgnorePar\fi \EndP}
  {\ifvmode \IgnorePar\fi \EndP}
  {}{}
\ConfigureList{abstract}
  {\ifvmode \IgnorePar\fi \EndP
      \HCode{<abstract>}\IgnorePar}
  {\ifvmode \IgnorePar\fi \EndP
      \HCode{</abstract>}\ShowPar}
  {\IgnorePar\par\HCode{<title>}}
  {\HCode{</title>}\ShowPar\par}
>>>


%%%%%%%%%%%%%%%%%%
\section{array}
%%%%%%%%%%%%%%%%%%



\<configure docbook array\><<<
|<html latex array/tabular Config 4.0t|>
|<latex tables|>
>>>


\<configure html4-math array\><<<
|<math html latex array/tabular|>
>>>





%%%%%%%%%%%%%
\subsection{subeqnarray}
%%%%%%%%%%%%%


\<configure docbook subeqnarray\><<<
\ConfigureEnv{subeqnarray}
  {\ifvmode \IgnorePar\fi \EndP
   \HCode{<blockquote role="subeqnarray">}}
  {\ifvmode \IgnorePar\fi \EndP \HCode{</blockquote>}}
  {}{}
>>>

\begin{thebibliography}{9}
\bibitem{home}
\url{http://www.docbook.org/}
\bibitem{specs}
Norman Walsh
(With contributions from Leonard Muellner),
DocBook 5.0: The Definitive Guide,
3 March 2008,
O'Reilly,
\url{http://www.docbook.org/tdg5/en/html/}
(\Link[http://www.docbook.org/tdg5/en/html/pt02.html]{}{}element references\EndLink, \Link[http://docbook.org/schemas/5x]{}{}relax ng\EndLink

\bibitem{wiki}
\url{http://en.wikipedia.org/wiki/DocBook}
\end{thebibliography}


%%%%%%%%%%%%%%%%%%
\section{Bitmaps}
%%%%%%%%%%%%%%%%%%



\<configure docbook graphics\><<<
\Configure{graphics*}
  {gif}
  {{\Configure{Needs}{File: \[email protected]}\Needs{}}%
   \Picture[\a:GraphicsAlt]{\[email protected] |<graphics dim|>}}
\Configure{graphics*}
  {png}
  {{\Configure{Needs}{File: \[email protected]}\Needs{}}%
   \Picture[\a:GraphicsAlt]{\[email protected] |<graphics dim|>}}
\Configure{graphics*}
  {jpg}
  {{\Configure{Needs}{File: \[email protected]}\Needs{}}%
   \Picture[\a:GraphicsAlt]{\[email protected] |<graphics dim|>}}
\Configure{graphics*}
  {jpeg}
  {{\Configure{Needs}{File: \[email protected]}\Needs{}}%
   \Picture[\a:GraphicsAlt]{\[email protected] |<graphics dim|>}}
>>>

\<graphics dim\><<<
\csname a:Gin-dim\endcsname
>>>

\<includegraphics dim\><<<
\NewConfigure{Gin-dim}{1}
>>>

\<configure docbook tex4ht\><<<
\:CheckOption{jpg} \if:Option
  \Configure{Picture}{.jpg}
\else
  \Log:Note{for jpg bitmaps of pictures, use the `jpg'
      command line option. |<ch bitmaps|>}
\fi
\:CheckOption{gif} \if:Option
  \Configure{Picture}{.gif}
\else
  \Log:Note{for gif bitmaps of pictures, use the `gif'
      command line option. |<ch bitmaps|>}
\fi
>>>

\<ch bitmaps\><<<
(Character bitmaps are controled only by `g' records of tex4ht.env and `-g'
switches of tex4ht.c)
>>>

\endinput