% $Id: tex4ht-html4.tex 1728 2025-08-14 19:03:26Z michal_h21 $
% Compile 4 times: latex tex4ht-html4
% Copy html4.4ht into the work directory before all but the last compilation.
%
% Copyright 2009-2025 TeX Users Group
% Copyright 1996-2009 Eitan M. Gurari
% Released under LPPL 1.3c+.
% See tex4ht-cpright.tex for license text.
\ifx \HTML\UnDef
\def\HTML{html4,html4-math,html4-l2-url,html4-russian-accents}
\def\CONFIG{\jobname}
\def\MAKETITLE{\author{Eitan M. Gurari}}
\def\next{\input mktex4ht.4ht \endinput}
\def\OPTIONS{xhtml,3,sections+}
\expandafter\next
\fi
\input{common-code}
\input{common}
\input{tex4ht-cpright}
\def\.{\string\a:mathml:\space}
\TocAt{section,subsection,likesubsection}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Needs{"ls -l tex4ht-*.tex > ls-links.log"}
\openin15=ls-links.log
\ifeof15 \else \closein15
\bgroup
\catcode`\-=13
\def-#1tex4ht-{\bgroup \catcode`\-=12
\def-##1.tex{\egroup
[\Link[tex4ht\string-##1.html]{}{}##1\EndLink]}
-}
\input ls\string-links.log
\egroup
\fi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{The Calling Tree for 4ht Files}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<config tex4ht\><<<
\if:latex |<Hinclude latex|>
\else |<Hinclude plain|> \fi
>>>
\<0,32,4 plain\><<<
|<Hinclude plain lib|>
|<Hinclude plain + latex lib|>
>>>
\<0,32,4 latex\><<<
|<Hinclude latex lib|>
|<Hinclude plain + latex lib|>
>>>
\<html4\><<<
% html4.4ht (|version), generated from |jobname.tex
% Copyright 2009-2025 TeX Users Group
% Copyright |CopyYear.1997. Eitan M. Gurari
|<TeX4ht copywrite|>
>>>
\<html4-math\><<<
% html4-math.4ht (|version), generated from |jobname.tex
% Copyright 2009-2024 TeX Users Group
% Copyright |CopyYear.1999. Eitan M. Gurari
|<TeX4ht copywrite|>
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Front part}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%
\section{HTML}
%%%%%%%%%%%%%%%%
\<tex4ht HTML\><<<
\ifx \a:HTML\:UnDef
\Configure{HTML}
{\IgnorePar\HCode{<html \a:@HTML
\:xhtml{|<xmlns|>\Hnewline}>\Hnewline}}
{\ifvmode\IgnorePar\fi\HCode{</html>\Hnewline}}
\fi
\ifx \a:HEAD\:UnDef
\Configure{HEAD}
{\IgnorePar\NoFonts\HCode {<head>}}
{\HCode{</head>}\EndNoFonts}
\fi
\ifx \a:BODY\:UnDef
\:CheckOption{frames} \if:Option
|<frames BODY|>
\else
\Log:Note{for content and toc
in 2 frames, use the command line option `frames'}
\Log:Note{for content, toc, and footnotes
in 3 frames, use the command line option `frames-fn'}
|<no frame BODY|>
\fi\fi
\ifx \a:TITLE\:UnDef
\Configure{TITLE}{\Protect\IgnorePar
\HCode{<title>}}{\HCode{</title>\Hnewline}}
\fi
\ifx \a:@HEAD\relax \let\a:@HEAD=\empty\fi
\ifx \a:@HEAD\empty
|<meta tags|>
|<import css|>
|<HEAD charset|>
\fi
\:CheckOption{mouseover} \if:Option
|<onmouseover @HEAD|>
\else
\Log:Note{for pop ups on mouse over,
use the command line option `mouseover'}
\fi
>>>
\<css inline\><<<
\openin15=\jobname .css
\ifeof15 \:warning{Missing file: \jobname .css }%
\else
\bgroup
\catcode`\{=12 \catcode`\}=12 \catcode`\%=12 \catcode`\#=12
\HCode{\Hnewline<style type="text/css">\Hnewline <!-- \Hnewline}%
\loop
\read15 to \:temp
\def\:tempa{\par}\ifx \:temp\:tempa \let\:temp\empty \fi
\ifeof15\else
\expandafter\tmp:toks\expandafter{\:temp}%
\HCode{\the\tmp:toks \Hnewline}%
\repeat
\HCode{\Hnewline-->\Hnewline</style>\Hnewline}%
\egroup
\fi
\closein15
>>>
Should we go for
\begin{verbatim}
<style type="text/css"><!--/*--><![CDATA[/*><!--*/
...
/*]]>*/--></style>
\end{verbatim}
\Link[
http://www.hixie.ch/advocacy/xhtml]{}{}
http://www.hixie.ch/advocacy/xhtml\EndLink
\<HEAD charset\><<<
\:CheckOption{uni-html4} \if:Option
\def\A:charset{charset=utf-8}
\def\a:charset{charset=utf-8}
\else
\def\A:charset{charset=iso-8859-1}
\fi
>>>
\verb'\a:charset' can come from a private configuration file, and from
a poackage option. It takes precedence over \verb'\A:charset'.
%%%%%%%%%%%%%%%%
\section{XML Version}
%%%%%%%%%%%%%%%%
\<xhtml dtd xml-version\><<<
|<xml encoding utility|>
\Configure{VERSION}
{\HCode{<?xml version="1.0" |<xml encoding|> ?>\Hnewline}}
>>>
%%%%%%%%%%%%%%%%
\section{DOCTYPE}
%%%%%%%%%%%%%%%%
\<tex4ht doctype\><<<
\ifx \a:DOCTYPE\relax
\:CheckOption{frames} \if:Option
|<frames dtd|>
\else
|<no frames xhtml DOCTYPE|>
|<no frames DOCTYPE|>
\fi
\fi
>>>
\<no frames xhtml DOCTYPE\><<<
\:CheckOption{xhtml} \if:Option
\NewConfigure{@DOCTYPE}[1]{\def\:temp{#1}%
\ifx \:temp\empty \let\a:@DOCTYPE|=\empty
\else \ifx \a:@DOCTYPE\relax \let\a:@DOCTYPE|=\empty\fi
\pend:def\a:@DOCTYPE{#1}\fi}
\let\a:@DOCTYPE|=\relax
\fi
>>>
\<configure html4 Preamble\><<<
|<pre definitions|>
\Configure{PROLOG}{VERSION,DOCTYPE,*XML-STYLESHEET}
\:CheckOption{mouseover} \if:Option
|<DOCTYPE in PROLOG under mouseover|>
\fi
\:CheckOption{no-DOCTYPE} \if:Option
\:CheckOption{no-VERSION} \if:Option
\Configure{PROLOG}{*XML-STYLESHEET}
\else
\Configure{PROLOG}{VERSION,*XML-STYLESHEET}
|<no-version note|>
\fi
\else
\:CheckOption{no-VERSION} \if:Option
\Configure{PROLOG}{DOCTYPE,*XML-STYLESHEET}
\else
|<no-version note|>
\fi
\Log:Note{to remove the DOCTYPE declaration
use the command line option `no-DOCTYPE'}
\fi
>>>
\<no-version note\><<<
\Log:Note{to remove the <?xml version=...?> processing instruction
use the command line option `no-VERSION'}
>>>
\<no frames DOCTYPE\><<<
\:CheckOption{xhtml} \if:Option
|<xhtml dtd|>%
\def\:DTD{xhtml}
\else
|<html dtd|>%
\fi
>>>
\<frames no frames DOCTYPE\><<<
\csname a:frames-altDOCTYPE\endcsname
>>>
\<configure html4 tex4ht\><<<
\NewConfigure{frames-altDOCTYPE}{1}
\Configure{frames-altDOCTYPE}
{|<no frames DOCTYPE|>}
>>>
Don't place the full address
\''
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'
within DOCTYPE. It can stop tools like xt when the server doesn't respond
\<xhtml dtd\><<<
|<xhtml dtd xml-version|>%
\Configure{DOCTYPE}
{\HCode{<!DOCTYPE html \xhtml:DOCTYPE> \Hnewline
<!--
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
\Hnewline}}
\def\xhtml:DOCTYPE{PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//|<dtd lang|>"\Hnewline
\space\space
"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"}
>>>
\<dtd lang\><<<
\expandafter
\ifx \csname a:dtd-lang\endcsname\relax EN\else
\csname a:dtd-lang\endcsname
\fi
>>>
\<xhtml dtd\><<<
\Configure{@DOCTYPE}
{<!ENTITY \% xhtml.dtd \xhtml:DOCTYPE>\Hnewline\%xhtml.dtd; \Hnewline}
>>>
\<html dtd\><<<
\Configure{DOCTYPE}{\IgnorePar\HCode
{<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//|<dtd lang|>"
\Hnewline\space\space "
http://www.w3.org/TR/html4/loose.dtd">
\Hnewline}}
>>>
\<frames dtd\><<<
\:CheckOption{xhtml} \if:Option
|<xhtml dtd xml-version|>%
\Configure{DOCTYPE}
{\HCode{<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Frameset//|<dtd lang|>"
\Hnewline
"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">\Hnewline}}
\else
\Configure{DOCTYPE}
{\HCode{<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Frameset//|<dtd lang|>"
\Hnewline "
http://www.w3.org/TR/html4/frameset.dtd">\Hnewline}}
\fi
>>>
Xerces reqires the following encoding.
\<tex4ht doctype\><<<
\def\:encoding#1={}
>>>
\<xml encoding\><<<
encoding="\expandafter\ifx \csname a:charset\endcsname\relax
\expandafter\:encoding\A:charset
\else \expandafter\:encoding\a:charset\fi"
>>>
%%%%%%%%%%%%%%%%
\section{BODY}
%%%%%%%%%%%%%%%%
\<no frame BODY\><<<
\:CheckOption{mouseover} \if:Option
\Configure{BODY}
{\:xhtml{\SaveEndP}\IgnorePar\HCode{<body\Hnewline
\csname a:!BODY\endcsname >}|<overDiv|>\ShowPar\par}
{\IgnorePar\:xhtml{\EndP}\HCode{\Hnewline
</body>}\:xhtml{\RecallEndP}}%
\else
\Configure{BODY}
{\:xhtml{\SaveEndP}\IgnorePar\HCode{<body\Hnewline
\csname a:!BODY\endcsname >}\ShowPar\par }
{\IgnorePar\:xhtml{\EndP}\HCode{\Hnewline
</body>}\:xhtml{\RecallEndP}}%
\fi
>>>
\<frames BODY\><<<
\def\Frame:Name{menu}
|<no frames xhtml DOCTYPE|>%
\Configure{BODY}
{%
\a:frames \NoFrames \PushStack\BODY:stack{}
|<sub frames BODY|>%
|<frames no frames DOCTYPE|>%
\HPage[tex4ht-p1]{table of contents}%
\par \ShowPar \Link{}{|<tex4ht-toc|>}\EndLink
\bgroup
\Configure{Link}{a}{target="|<tex4ht-main|>" href=}{ id=}{}
\b:frames
\egroup
\def\Frame:Name{main}
\EndHPage{tex4ht-p1} \expandafter\Tg<br />
\HPage[tex4ht-p2]{text}\par\ShowPar
\Link{}{|<tex4ht-body|>}\EndLink
}
{\EndHPage{tex4ht-p2}}
\NewConfigure{frames}{2}
\Css{body\#|<tex4ht-menu|> {white-space: nowrap; }}
>>>
\<sub frames BODY\><<<
\:CheckOption{mouseover} \if:Option
\Configure{BODY}
{\PushStack\BODY:stack{x}%
\:xhtml{\SaveEndP}\IgnorePar\HCode{<body\Hnewline
\ifx\Frame:Name\empty\else id="tex4ht-\Frame:Name"\fi
\csname a:!BODY\endcsname
>}|<overDiv|>\ShowPar\par \let\Frame:Name=\empty}
{\IgnorePar\:xhtml{\EndP}\PopStack\BODY:stack\:temp
\ifx \:temp\empty \EndFrames \else
\HCode{\Hnewline </body>}\fi
\:xhtml{\RecallEndP}}%
\else
\Configure{BODY}
{\PushStack\BODY:stack{x}%
\:xhtml{\SaveEndP}\IgnorePar\HCode{<body\Hnewline
\ifx\Frame:Name\empty\else id="tex4ht-\Frame:Name"\fi
\csname a:!BODY\endcsname >}\ShowPar\par \let\Frame:Name\empty}
{\IgnorePar\:xhtml{\EndP}\PopStack\BODY:stack\:temp
\ifx \:temp\empty \EndFrames
\else \HCode{\Hnewline </body>}\fi
\:xhtml{\RecallEndP}}%
\fi
>>>
\<tex4ht-main\><<<
tex4ht-main>>>
\<tex4ht-fn\><<<
tex4ht-fn>>>
\<tex4ht-menu\><<<
tex4ht-menu>>>
%%%%%%%%%%%%%%%%
\section{Meta}
%%%%%%%%%%%%%%%%
\<meta tags\><<<
\:CheckOption{xht} \if:Option
\:CheckOption{xhtml}\if:Option \else \:CheckOption{xml}\fi
\fi
\if:Option |<xht extension file name|>
\else |<html extension file name|>\fi
\def\:gobbleM#1->{}
|<meta generator / originator|>
\immediate\write-1{TeX4ht package options:
\expandafter\:gobbleM\meaning\Preamble}
\Configure{@HEAD}
{\HCode{<meta name="src"
content="\jobname.tex"\xml:empty>\Hnewline}}
\:CheckOption{timestamp}\if:Option
\Configure{@HEAD}
{\HCode{<meta name="date"
content="\:today"\xml:empty>\Hnewline}}
\else
\Log:Note{To print a timestamp, use the command line option timestamp}
\fi
>>>
\<xht extension file name\><<<
\:CheckOption{mathplayer} \if:Option
\Configure{@HEAD}{\HCode{<!--\Hnewline
<meta
http-equiv="Content-Type" content="application/xhtml+xml;
\expandafter\ifx \csname a:charset\endcsname\relax\A:charset
\else \a:charset\fi"\xml:empty>\Hnewline
see
http://lists.w3.org/Archives/Public/www-math/2007May/0056.html \Hnewline
-->\Hnewline}}
\else
\Configure{@HEAD}{\HCode{<meta
http-equiv="Content-Type" content="application/xhtml+xml;
\expandafter\ifx \csname a:charset\endcsname\relax\A:charset
\else \a:charset\fi"\xml:empty>\Hnewline}}
\fi
\Configure{ext}{xht}
>>>
\<html extension file name\><<<
\Log:Note{for file extension name xht, use the command line option `xht'}%
\Configure{@HEAD}{\HCode{<meta
http-equiv="Content-Type" content="text/html;
\expandafter\ifx \csname a:charset\endcsname\relax\A:charset
\else \a:charset\fi"\xml:empty>\Hnewline}}
>>>
\verb'\Hnewline' is needed at end of file to avoid loosing the
last line under some applications.
Tex4ht pages published through FrontPage loose the generator metas,
but not the originator-metas.
%
% 'generator' attribute changed from Eitan's Url to TUG/tex4ht.
% CVR 2010/10/02
% \item
\<meta generator / originator\><<<
\Configure{@HEAD}{\HCode{<meta
name="generator" content="TeX4ht
(
https://tug.org/tex4ht/)"\xml:empty>\Hnewline}}
\Configure{@HEAD}{\HCode{<meta
name="originator" content="TeX4ht
(
https://tug.org/tex4ht/)"\xml:empty>\Hnewline
<!--\space\expandafter\:gobbleM\meaning
\Preamble\space-->\Hnewline}}
>>>
%%%%%%%%%%%%%%%%
\section{Frames}
%%%%%%%%%%%%%%%%
\<tex4ht-toc\><<<
tex4ht-toc>>>
\<tex4ht-body\><<<
tex4ht-body>>>
\<4 latex\><<<
\:CheckOption{frames} \if:Option
\:CheckOption{frames-fn} \if:Option
\Configure{frames}
{\HorFrames[rows="*"]{*,3*}
\VerFrames[cols="*"]{3*,*}
\Frame[ name="|<tex4ht-menu|>"
frameborder="0" ]{|<tex4ht-toc|>}
\Frame[ name="|<tex4ht-fn|>"
frameborder="0" ]{}
\EndFrames
\Frame[ name="|<tex4ht-main|>"
frameborder="0" ]{|<tex4ht-body|>}}
{\let\contentsname=\empty \tableofcontents}
\else
\Configure{frames}
{\HorFrames[rows="*"]{*,3*}
\Frame[ name="|<tex4ht-menu|>"
frameborder="0" ]{|<tex4ht-toc|>}
\Frame[ name="|<tex4ht-main|>"
frameborder="0" ]{|<tex4ht-body|>}}
{\let\contentsname=\empty \tableofcontents}
\fi
\fi
>>>
% frameborder="no"
% border="0"
% framespacing="0"
\<configure html4 Preamble\><<<
\:CheckOption{frames-fn} \if:Option
\edef\Preamble{\Preamble,frames}
\fi
>>>
\<beamer ver frames\><<<
\Configure{frames}
{\VerFrames[ cols="*"]{4*,*}
\Frame[ name="|<tex4ht-main|>"
frameborder="1" ]{|<tex4ht-body|>}
\Frame[ name="|<tex4ht-menu|>"
frameborder="1" ]{|<tex4ht-toc|>}}
{\beamer:bookmarks \tableofcontents}
>>>
\<beamer hor frames\><<<
\Configure{frames}
{\HorFrames[ rows="*"]{*,3*}
\Frame[ name="|<tex4ht-menu|>"
frameborder="1" ]{|<tex4ht-toc|>}
\Frame[ name="|<tex4ht-main|>"
frameborder="1" ]{|<tex4ht-body|>}}
{\beamer:bookmarks \tableofcontents}
>>>
%%%%%%%%%%%%%%%%%%
\section{Object Tocs}
%%%%%%%%%%%%%%%%%%
\<object tocs\><<<
\:CheckOption{obj-toc} \if:Option
\Css{object.toc { float: left;
width: 25\%;
height: 100\%;
border: 1px solid \#888888;
margin-left:0em;
margin-top:0em;
margin-bottom:1em;
margin-right:1em;
padding-right:1em;
}}
\Css{body\#jobname-toc{margin:0em;}}
\Css{body\#jobname-toc .tableofcontents{ white-space: nowrap; }}
\Configure{@BODY}
{\edef\:temp{\jobname-toc.\:html}
\edef\:tempa{\FileName}
\edef\:temp{\expandafter\string\csname\:temp\endcsname}
\edef\:tempa{\expandafter\string\csname\:tempa\endcsname}
\ifx\:temp\:tempa\else
\hbox{
\HCode{<object class="toc" data="\jobname-toc.\:html">}
[\Link[\jobname-toc.\:html]{}{}table of contents\EndLink]
\HCode{</object>}}
\fi
}
{}
\pend:defI\Auto:ent{%
\bgroup
\let\contentsname=\empty
\Configure{!BODY}{ id="jobname-toc"}%
\Configure{Link}{a}{target="\string _top" href=}{id=}{}%
\NextFile{\jobname-toc.\csname :html\endcsname}%
\HPage{}%
}
\append:defI\Auto:ent{%
\EndHPage{}%
\egroup
}
\else
\Log:Note{for frames-like object-based table of contents,
use the command line option `obj-toc'}
\fi
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Structures}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Sectioning}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Sub Sections}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<shared h4 subsection\><<<
\ConfigureMark{subsection}
{\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
\else
\HCode{<span class="titlemark">}\@seccntformat{subsection}%
\HCode{</span>}\fi }
|<subsection TITLE+|>
\Configure{subsection}{}{}
{\ifvmode \IgnorePar\fi
\EndP\bgroup \IgnorePar\HCode{<h4 class="subsectionHead"\a:LRdir>}%
\TitleMark\space \HtmlParOff}
{\HCode{</h4>}\HtmlParOn \IgnoreIndent\egroup\par\ShowPar}
\Configure{likesubsection}{}{}{\EndP\bgroup
\ifvmode \IgnorePar\fi
\HCode{<h4 class="likesubsectionHead"\a:LRdir>}\HtmlParOff }
{\HCode{</h4>}\HtmlParOn \IgnoreIndent\egroup\par\ShowPar}
\Configure{likesubsectionTITLE+}{#1}
>>>
\<configure html4 emulateapj\><<<
\ConfigureMark{subsection}
{\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
\else
\HCode{<span class="titlemark">}\@seccntformat{section}%
\thesubsection\HCode{</span>}\fi}
\Configure{subsection}{}{}
{\EndP\bgroup \IgnorePar\HCode{<h4 class="subsectionHead"\a:LRdir>}%
\TitleMark{. \space}}
{\HCode{</h4>}\IgnoreIndent\egroup}
>>>
\<pre 2005 titlesec\><<<
\ConfigureMark{subsection}
{\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble \else
\csname thetitlesubsection\endcsname\fi}
\Configure{subsection}{}{}
{\EndP\bgroup \IgnorePar\HCode{<h4 class="subsectionHead"\a:LRdir>}%
\TitleMark\space}
{\HCode{</h4>}\IgnoreIndent\egroup\par\ShowPar}
\Configure{likesubsection}{}{}
{\EndP\bgroup \IgnorePar\HCode{<h4 class="likesubsectionHead"\a:LRdir>}}
{\HCode{</h4>}\IgnoreIndent\egroup\par\ShowPar}
>>>
\<mwcls divs\><<<
\ConfigureMark{subsection}
{\ifHeadingNumbered \HCode{<span class="titlemark">}\mw@seccntformat
\HeadingNumber \HCode{</span>}\fi}
\Configure{subsection}{}{}
{\NoFonts \ifvmode \IgnorePar\fi
\EndP\bgroup \IgnorePar\HCode{<h4 class="subsectionHead"\a:LRdir>}%
\TitleMark \HtmlParOff}
{\HCode{</h4>}\HtmlParOn \EndNoFonts \IgnoreIndent\egroup\par\ShowPar}
\Configure{subsectionTITLE+}{\thesubsection \space#1}
>>>
\<mwcls divs\><<<
\Configure{likesubsection}{}{}{\EndP\bgroup
\ifvmode \IgnorePar\fi
\HCode{<h4 class="likesubsectionHead"\a:LRdir>}\HtmlParOff }
{\HCode{</h4>}\HtmlParOn \IgnoreIndent\egroup\par\ShowPar}
\Configure{likesubsectionTITLE+}{#1}
>>>
\<ams art,proc,book div\><<<
\ConfigureMark{subsection}
{\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
\else
\HCode{<span class="titlemark">}%
\@ifundefined{subsectionname}{}{%
\ignorespaces\subsectionname\space}%
\@seccntformat{subsection}%
\HCode{</span>}\fi }
|<subsection TITLE+|>
>>>
\<ams proc,book\><<<
\Configure{subsection}{}{}
{\ifvmode \IgnorePar\fi
\EndP\bgroup \IgnorePar\HCode{<h4 class="subsectionHead"\a:LRdir>}%
\TitleMark\space \HtmlParOff}
{\HCode{</h4>}\HtmlParOn \IgnoreIndent\egroup\par\ShowPar}
>>>
\<ams art\><<<
\Configure{subsection}{}{}
{\ShowPar\noindent
\HCode{<span class="subsectionHead"\a:LRdir>}\begingroup\bf
\TitleMark\space}
{.\endgroup\HCode{</span>}\IgnorePar}
>>>
\<scr report,book\><<<
\ConfigureMark{subsection}
{\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
\else
\HCode{<span class="titlemark">}\thesubsection
\HCode{</span>}\fi }
|<subsection TITLE+|>
\Configure{subsection}{}{}
{\ifvmode \IgnorePar\fi
\EndP\bgroup \IgnorePar\HCode{<h4 class="subsectionHead"\a:LRdir>}%
\TitleMark\ \ \HtmlParOff}
{\HCode{</h4>}\HtmlParOn \IgnoreIndent\egroup\par\ShowPar}
\Configure{likesubsection}{}{}{\EndP\bgroup
\ifvmode \IgnorePar\fi
\HCode{<h4 class="likesubsectionHead"\a:LRdir>}\HtmlParOff }
{\HCode{</h4>}\HtmlParOn \IgnoreIndent\egroup\par\ShowPar}
\Configure{likesubsectionTITLE+}{#1}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Sub Sub Sections}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<ams art,proc,book div\><<<
\ConfigureMark{subsubsection}
{\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
\else
\HCode{<span class="titlemark">}%
\@ifundefined{subsubsectionname}{}{%
\ignorespaces\subsubsectionname\space}%
\@seccntformat{subsubsection}%
\HCode{</span>}\fi}
|<subsubsection TITLE+|>
>>>
\<ams proc,book\><<<
\Configure{subsubsection}{}{}
{\ifvmode \IgnorePar \fi \EndP
\bgroup \IgnorePar\HCode{<h5 class="subsubsectionHead"\a:LRdir>}%
\TitleMark\space \HtmlParOff}
{\HCode{</h5>}\HtmlParOn \IgnoreIndent\egroup\par\ShowPar}
>>>
\<ams art\><<<
\Configure{subsubsection}{}{}
{\ShowPar\noindent
\HCode{<span class="subsubsectionHead"\a:LRdir>}\begingroup\it
\TitleMark\space}
{.\endgroup\HCode{</span>}\IgnorePar}
>>>
\<shared h5 subsubsection\><<<
\ConfigureMark{subsubsection}
{\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
\else
\HCode{<span class="titlemark">}\@seccntformat{subsubsection}%
\HCode{</span>}\fi}
|<subsubsection TITLE+|>
\Configure{subsubsection}{}{}
{\ifvmode \IgnorePar \fi \EndP
\bgroup \IgnorePar\HCode{<h5 class="subsubsectionHead"\a:LRdir>}%
\TitleMark\space \HtmlParOff}
{\HCode{</h5>}\HtmlParOn \IgnoreIndent\egroup\par\ShowPar}
\Configure{likesubsubsection}{}{}
{\ifvmode \IgnorePar\fi \EndP\bgroup\IgnorePar
\HCode{<h5 class="likesubsubsectionHead"\a:LRdir>}\HtmlParOff}
{\HCode{</h5>}\HtmlParOn \IgnoreIndent\egroup\par\ShowPar}
>>>
This CSS fixes issue that browsers by default render the H5 element in smaller size than
is the default font size.
\<shared h5 subsubsection\><<<
\Css{.subsubsectionHead, .likesubsubsectionHead { font-size: 1em; }}
>>>
\<mwcls divs\><<<
\ConfigureMark{subsubsection}
{\ifHeadingNumbered \HCode{<span class="titlemark">}\mw@seccntformat
\HeadingNumber \HCode{</span>}\fi}
\Configure{subsubsection}{}{}
{\NoFonts \ifvmode \IgnorePar \fi \EndP
\bgroup \IgnorePar\HCode{<h5 class="subsubsectionHead"\a:LRdir>}%
\TitleMark \HtmlParOff}
{\HCode{</h5>}\HtmlParOn \EndNoFonts \IgnoreIndent\egroup
\par\ShowPar}
\Configure{subsubsectionTITLE+}{\thesubsubsection \space#1}
>>>
\<mwcls divs\><<<
\Configure{likesubsubsection}{}{}
{\ifvmode \IgnorePar\fi \EndP\bgroup\IgnorePar
\HCode{<h5 class="likesubsubsectionHead"\a:LRdir>}\HtmlParOff}
{\HCode{</h5>}\HtmlParOn \IgnoreIndent\egroup \par\ShowPar}
>>>
\<pre 2005 titlesec\><<<
\ConfigureMark{subsubsection}
{\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble \else
\csname thetitlesubsubsection\endcsname\fi}
\Configure{subsubsection}{}{}
{\EndP\bgroup \IgnorePar\HCode{<h5 class="subsubsectionHead"\a:LRdir>}%
\TitleMark\space}
{\HCode{</h5>}\IgnoreIndent\egroup \par\ShowPar}
\Configure{likesubsubsection}{}{}
{\EndP\bgroup \IgnorePar\HCode{<h5 class="likesubsubsectionHead"\a:LRdir>}%
\TitleMark\space}
{\HCode{</h5>}\IgnoreIndent\egroup \par\ShowPar}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Sectioning Pagination}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{article,report,book}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<article,report,book options 1, 2, 3\><<<
|<html latex tocs|> |%should appear before TocAt|%
|<cut and toc at for options 1, 2, 3|>
>>>
\<cut and toc at for options 1, 2, 3\><<<
\:CheckOption{7} \if:Option
\expandafter\ifx \csname @chapter\endcsname\relax
|<cut toc: part|> |%cut toc before cutat|%
|<cutat: part|>
|<cut toc: sec|>
|<cutat: sec (no ch)|>
|<cut toc: subsec|>
|<cutat: subsection (no ch)|>
|<cut toc: subsubsec|>
|<cutat: subsubsection (no ch)|>
|<cut toc: paragraph|>
|<cutat: paragraph (no ch)|>
|<cut toc: subparagraph|>
|<cutat: subparagraph (no ch)|>
|<tocat: part, no chapter|>
|<tocat: section|>
|<tocat: subsection|>
|<tocat: subsubsection|>
|<tocat: paragraph|>
\else
|<cut toc: part|> |%cut toc before cutat|%
|<cutat: part|>
|<cut toc: ch|>
|<cutat: chapter|>
|<cut toc: sec|>
|<cutat: sec|>
|<cut toc: subsec|>
|<cutat: subsection|>
|<cut toc: subsubsec|>
|<cutat: subsubsection|>
|<cut toc: paragraph|>
|<cutat: paragraph|>
|<cut toc: subparagraph|>
|<cutat: subparagraph|>
|<tocat: part|>
|<tocat: ch|>
|<tocat: section|>
|<tocat: subsection|>
|<tocat: subsubsection|>
|<tocat: paragraph|>
\fi
|<object tocs|>
\else\:CheckOption{6} \if:Option
\expandafter\ifx \csname @chapter\endcsname\relax
|<cut toc: part|> |%cut toc before cutat|%
|<cutat: part|>
|<cut toc: sec|>
|<cutat: sec (no ch)|>
|<cut toc: subsec|>
|<cutat: subsection (no ch)|>
|<cut toc: subsubsec|>
|<cutat: subsubsection (no ch)|>
|<cut toc: paragraph|>
|<cutat: paragraph (no ch)|>
|<tocat: part, no chapter|>
|<tocat: section|>
|<tocat: subsection|>
|<tocat: subsubsection|>
\else
|<cut toc: part|> |%cut toc before cutat|%
|<cutat: part|>
|<cut toc: ch|>
|<cutat: chapter|>
|<cut toc: sec|>
|<cutat: sec|>
|<cut toc: subsec|>
|<cutat: subsection|>
|<cut toc: subsubsec|>
|<cutat: subsubsection|>
|<cut toc: paragraph|>
|<cutat: paragraph|>
|<tocat: part|>
|<tocat: ch|>
|<tocat: section|>
|<tocat: subsection|>
|<tocat: subsubsection|>
\fi
|<object tocs|>
\else \:CheckOption{5} \if:Option
\expandafter\ifx \csname @chapter\endcsname\relax
|<cut toc: part|> |%cut toc before cutat|%
|<cutat: part|>
|<cut toc: sec|>
|<cutat: sec (no ch)|>
|<cut toc: subsec|>
|<cutat: subsection (no ch)|>
|<cut toc: subsubsec|>
|<cutat: subsubsection (no ch)|>
|<tocat: part, no chapter|>
|<tocat: section|>
|<tocat: subsection|>
\else
|<cut toc: part|> |%cut toc before cutat|%
|<cutat: part|>
|<cut toc: ch|>
|<cutat: chapter|>
|<cut toc: sec|>
|<cutat: sec|>
|<cut toc: subsec|>
|<cutat: subsection|>
|<cut toc: subsubsec|>
|<cutat: subsubsection|>
|<tocat: part|>
|<tocat: ch|>
|<tocat: section|>
|<tocat: subsection|>
\fi
|<object tocs|>
\else\:CheckOption{4} \if:Option
\expandafter\ifx \csname @chapter\endcsname\relax
|<cut toc: part|> |%cut toc before cutat|%
|<cutat: part|>
|<cut toc: sec|>
|<cutat: sec (no ch)|>
|<cut toc: subsec|>
|<cutat: subsection (no ch)|>
|<tocat: part, no chapter|>
|<tocat: section|>
\else
|<cut toc: part|> |%cut toc before cutat|%
|<cutat: part|>
|<cut toc: ch|>
|<cutat: chapter|>
|<cut toc: sec|>
|<cutat: sec|>
|<cut toc: subsec|>
|<cutat: subsection|>
|<tocat: part|>
|<tocat: ch|>
|<tocat: section|>
\fi
|<object tocs|>
\else\:CheckOption{3} \if:Option
\expandafter\ifx \csname @chapter\endcsname\relax
|<cut toc: part|> |%cut toc before cutat|%
|<cutat: part|>
|<cut toc: sec|>
|<cut toc: subsec|>
|<cutat: subsection (no ch)|>
|<tocat: part, no chapter|>
|<tocat: section|>
|<cutat: sec (no ch)|>
\else
|<cut toc: part|> |%cut toc before cutat|%
|<cutat: part|>
|<cut toc: ch|>
|<cutat: chapter|>
|<cut toc: sec|>
|<cutat: sec|>
|<tocat: part|>
|<tocat: ch|>
\fi
|<object tocs|>
\else\:CheckOption{2} \if:Option
\expandafter\ifx \csname @chapter\endcsname\relax
|<cut toc: part|> |%cut toc before cutat|%
|<cutat: part|>
|<cut toc: sec|>
|<cutat: sec (no ch)|>
|<tocat: part, no chapter|>
\else
|<cut toc: part|> |%cut toc before cutat|%
|<cutat: part|>
|<cut toc: ch|>
|<cutat: chapter|>
|<tocat: part|>
\fi
|<object tocs|>
\else\:CheckOption{1} \if:Option
|<cut toc: part|> |%cut toc before cutat|%
|<cutat: part|>
|<object tocs|>
\else
% This should prevent duplication of TOC when document is not split into subpages
\pend:def\tableofcontents{%
\ifx \au:StartSec\:UnDef\else%
\gdef\:StartSec{\au:StartSec}%
\fi%
}%
\Log:Note{for automatic sectioning
pagination, use the command line option
`1', `2', `3', '4', '5', '6', or '7'}%
\fi \fi \fi \fi \fi \fi \fi
>>>
%
\<cutat: part\><<<
\CutAt{part}
\CutAt{likepart}
>>>
\<cutat: chapter\><<<
\CutAt{chapter,likechapter,appendix,part}
\CutAt{likechapter,appendix,part}
\CutAt{appendix,chapter,likechapter,part}
>>>
\<cutat: sec\><<<
\CutAt{section,likesection,chapter,likechapter,appendix,part}
\CutAt{likesection,chapter,likechapter,appendix,part}
>>>
\<cutat: sec (no ch)\><<<
\CutAt{section,likesection,part}
\CutAt{likesection,part}
>>>
\<cutat: subsection\><<<
\CutAt{subsection,section,likesection,%
chapter,likechapter,appendix,part}
\CutAt{likesubsection,section,likesection,%
chapter,likechapter,appendix,part}
>>>
\<cutat: subsection (no ch)\><<<
\CutAt{subsection,section,likesection,part}
\CutAt{likesubsection,section,likesection,part}
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{AMS}
%%%%%%%%%%%%%%%%%%%
\<ams options 1, 2, 3\><<<
|<cut and toc at for options 1, 2, 3|>
>>>
%%%%%%%%%%%%%
\subsection{File Naming}
%%%%%%%%%%%%%
\<cut and toc at for options 1, 2, 3\><<<
\:CheckOption{sec-filename} \if:Option \else
\Log:Note{for files named derived from section
titles, use the command line option `sec-filename'}%
\fi
>>>
\<configure html4 tex4ht\><<<
\:CheckOption{7}
\if:Option \else \:CheckOption{6}\fi
\if:Option \else \:CheckOption{5}\fi
\if:Option \else \:CheckOption{4}\fi
\if:Option \else \:CheckOption{3}\fi
\if:Option \else \:CheckOption{2}\fi
\if:Option \else \:CheckOption{1}\fi
\if:Option
\:CheckOption{sec-filename}
\if:Option
|<section names for cutat files|>
\else
\Log:Note{For section filenames that reflect on
their titles use the command line
option `sec-filename'}
\:CheckOption{cut-fullname}
\if:Option
|<section type names for cutat files|>
\else
\Log:Note{For section filenames that use full
jobname and section type use the command line
option `cut-fullname'}
\:CheckOption{sec-slugname}
\if:Option
|<section slug names for cutat files|>
\else
\Log:Note{For section filenames based on slugified
titles use the command line option `sec-slugname'}
\fi
\fi
\fi
\fi
>>>
This redefines internal macro from tex4ht.sty to use a full
section type name instead of just first two characters.
This can be usefull especially when you cut at level that cuts both
subsections and subsubsections, as these will produce the same filenames.
See \Link[
https://tex.stackexchange.com/a/644072/2891]{}{} this answer for more
details\EndLink.
\<section type names for cutat files\><<<
\let\j:bname\jobname
\def\fx:pt#1xxx!*?: {%
\expandafter\ifx \csname big:#1:\endcsname\relax%
\expandafter\gHAssign\csname big:#1:\endcsname 0 \fi%
\expandafter\gHAdvance\csname big:#1:\endcsname 1%
\edef\big:fn{#1\csname big:#1:\endcsname}}
>>>
\<section names for cutat files\><<<
\Configure{CutAt-filename}{%
\ifx \:NxtNwFN\:Undef
|<temp := clear non-brace characters|>%
|<temp := clear brace characters|>%
\tmp:cnt=0 \uniq:fn
\fi
}
\def\uniq:fn{%
\expandafter\ifx
\csname ct:fn\:temp
\ifnum \tmp:cnt>0 \the\tmp:cnt\fi\endcsname\relax
\expandafter\global\expandafter\let
\csname ct:fn\:temp
\ifnum\tmp:cnt>0 \the\tmp:cnt\fi
\endcsname=\def
\ifx \:temp\empty \else
\NextFile{\:temp
\ifnum \tmp:cnt>0 \the\tmp:cnt\fi .\:html}%
\fi
\else
\advance\tmp:cnt by 1 \expandafter\uniq:fn
\fi
}
\NewConfigure{sec-filename*}{1}
>>>
\<temp := clear non-brace characters\><<<
\tmp:toks={#2}%
\immediate\openout15=\jobname .tmp
\immediate\write15{\string\next{\the\tmp:toks}}%
\immediate\closeout15
\bgroup
\def\next{\csname no:catcodes\endcsname{92}{92}{9}%
\xdef\:temp}%
\csname no:catcodes\endcsname{32}{47}{9}%
\csname no:catcodes\endcsname{58}{64}{9}%
\csname no:catcodes\endcsname{91}{91}{9}%
\csname no:catcodes\endcsname{93}{96}{9}%
\csname no:catcodes\endcsname{126}{126}{9}%
\csname a:sec-filename*\endcsname
\input \jobname .tmp
\egroup
>>>
\<temp := clear brace characters\><<<
\immediate\openout15=\jobname .tmp
\immediate\write15{\string\next[\:temp]}%
\immediate\closeout15
\bgroup
\def\next{\xdef\:temp}%
\csname no:catcodes\endcsname{91}{91}{1}%
\csname no:catcodes\endcsname{93}{93}{2}%
\csname no:catcodes\endcsname{123}{123}{9}%
\csname no:catcodes\endcsname{125}{125}{9}%
\input \jobname .tmp
\egroup
>>>
The sec-slugname option generates separate output files for each section, where
the filenames are derived from a slugified version of the section titles.
Slugification involves converting the title to lowercase, removing diacritics,
replacing spaces with hyphens, and stripping out characters that are not
alphanumeric or hyphens. This ensures clean, URL-friendly filenames that
reflect the content structure while avoiding problematic characters.
\<section slug names for cutat files\><<<
\ifdefined\directlua
|<slugname lua function|>
|<slugname EXPL3 function|>
\else
\:warning{The `sec-slugname' option requires LuaTeX. Try `sec-filename' with other engines.}%
\fi
>>>
This code reuses make4ht library with Unicode data to generate slugified names.
\<slugname lua function\><<<
\directlua{
local chardata = require "make4ht-char-def"
local uchar = utf8.char
local function is_letter(info)
%-- test if character is letter
local category = info.category or ""
return category:match("^l")
end
local function is_number(char)
return char >= 48 and char <= 57
end
local function is_space(info)
local category = info.category or ""
return category == "zs"
end
% this code is reused from make4ht sectionid DOM filter
% it will convert accented characters to ASCII
local function normalize_letter(char, result)
local info = chardata[char] or {}
% -- first get lower case of the letter
local lowercase = info.lccode or char
%-- remove accents. the base letter is in the shcode field
local lowerinfo = chardata[lowercase] or {}
%-- when no shcode, use the current lowercase char
local shcode = lowerinfo.shcode or lowercase
%-- shcode can be table if it contains multiple characters
%-- normaliz it to a table, so we can add all letters to
%-- the resulting string
shcode = type(shcode) == "table" and shcode or {shcode}
for _, x in ipairs(shcode) do
table.insert(result, uchar(x))
end
end
local used_names = {}
function tex4ht_sanitize_section_name(filename)
% name = unicode.utf8.lower(name)
local result = {}
% create table with slugified characters
for _,char in utf8.codes(filename) do
local info = chardata[char] or {}
if is_space(info) then
%-- replace spaces with underscores
table.insert(result, "_")
elseif is_letter(info) then
normalize_letter(char, result)
elseif is_number(char) then
% the make4ht char library doesn't contain Unicode data for numbers, so we need to check them manually
table.insert(result, uchar(char))
end
end
% -- convert table with normalized characters to string
local name = table.concat(result)
% -- handle multiple names with the same name
local count = used_names[name] or 0
used_names[name] = count + 1
% add numeric suffix to the name if there are duplicates
% we need to use a different separator before the number, to prevent clashes
% with sections that contains numbers at the end
name = count > 0 and name .. "-" .. count or name
% register also the name with the suffix, to prevent filename clashes
return name
end
}
>>>
Configure the cutat filename to use the slugified version of the section name.
\<slugname EXPL3 function\><<<
\ExplSyntaxOn
\Configure{CutAt-filename}{\expandafter\NextFile\expandafter{\directlua{
% remove commands from the section name and pass it to the slugify function
tex.print(tex4ht_sanitize_section_name("\luaescapestring{\text_purify:n{#2}}"))
}.html}}
\ExplSyntaxOff
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Tables of Contents: Choice of Entries}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<toc article,report options 1\><<<
\:CheckOption{notoc*} \if:Option
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{part,/likepart,section,subsection}
\fi
\Configure{tableofcontents*}{part,section}
\else
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{part,/likepart,section,likesection,%
subsection,likesubsection}
\fi
|<notoc* note|>
\Configure{tableofcontents*}{part,likepart,section,likesection}
\fi
>>>
\<toc book options 1\><<<
\:CheckOption{notoc*} \if:Option
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{part,/likepart,chapter,appendix,section}
\fi
\else
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{part,/likepart,chapter,likechapter,appendix,%
section,likesection}
\fi
\fi
>>>
\<cut toc: part\><<<
\:CheckOption{notoc*} \if:Option
\Configure{tableofcontents*}
{part,chapter,appendix}
\else
|<notoc* note|>
\Configure{tableofcontents*}
{part,likepart,chapter,likechapter,appendix}
\fi
>>>
\<tocat: part\><<<
\:CheckOption{notoc*} \if:Option
\else
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{part,/likepart,chapter,likechapter,appendix,%
section,likesection}
\MiniToc:At{likepart,/part,chapter,likechapter,appendix,%
section,likesection}
\fi
\fi
>>>
\<tocat: part, no chapter\><<<
\:CheckOption{notoc*} \if:Option
\else
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{part,/likepart,chapter,%
section,likesection,subsection,likesubsection}
\MiniToc:At{likepart,/part,%
section,likesection,subsection,likesubsection}
\fi
\fi
>>>
\<cut toc: ch\><<<
\:CheckOption{notoc*} \if:Option
\Configure{tableofcontents*}{part,chapter,%
appendix,section\expandafter\ifx
\csname @chapter\endcsname\relax ,subsection\fi}
\else
|<notoc* note|>
\Configure{tableofcontents*}{part,likepart,chapter,likechapter,%
appendix,section,likesection\expandafter\ifx
\csname @chapter\endcsname\relax ,subsection,likesubsection\fi}
\fi
>>>
\<tocat: ch\><<<
\:CheckOption{notoc*} \if:Option
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{chapter,/likechapter,/appendix,/part,%
section,subsection}
\MiniToc:At{likechapter,/appendix,/chapter,/part,%
section,subsection}
\MiniToc:At{appendix,/chapter,/likechapter,/part,%
section,subsection}
\fi
\else
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{chapter,/likechapter,/appendix,/part,%
section,likesection,subsection,likesubsection}
\MiniToc:At{likechapter,/appendix,/chapter,/part,%
section,likesection,subsection,likesubsection}
\MiniToc:At{appendix,/chapter,/likechapter,/part,%
section,likesection,subsection,likesubsection}
\fi
\fi
>>>
\<cut toc: sec\><<<
\:CheckOption{notoc*} \if:Option
\Configure{tableofcontents*}{part,chapter,appendix,section%
\expandafter\ifx \csname @chapter\endcsname\relax
,subsection\fi}
\else
|<notoc* note|>
\Configure{tableofcontents*}{part,likepart,chapter,likechapter,%
appendix,section,likesection%
\expandafter\ifx \csname @chapter\endcsname\relax
,subsection,likesubsection\fi}
\fi
>>>
\<tocat: section\><<<
\:CheckOption{notoc*} \if:Option
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{section,/likesection,/chapter,/likechapter,/appendix,/part,%
subsection,subsubsection}
\MiniToc:At{likesection,/section,/chapter,/likechapter,/appendix,/part,%
subsection,subsubsection}
\fi
\else
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{section,/likesection,/chapter,/likechapter,/appendix,/part,%
subsection,likesubsection,subsubsection,likesubsubsection}
\MiniToc:At{likesection,/section,/chapter,/likechapter,/appendix,/part,%
subsection,likesubsection,subsubsection,likesubsubsection}
\fi
\fi
>>>
\<cut toc: subsec\><<<
\:CheckOption{notoc*} \if:Option
\Configure{tableofcontents*}{part,chapter,%
appendix,section,subsection}
\else
|<notoc* note|>
\Configure{tableofcontents*}{part,likepart,chapter,likechapter,%
appendix,section,likesection,likesubsection,subsection}
\fi
>>>
\<tocat: subsection\><<<
\:CheckOption{notoc*} \if:Option
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{subsection,/likesubsection,/section,/likesection,%
/chapter,/likechapter,%
/appendix,/part,%
subsubsection,paragraph}
\MiniToc:At{likesubsection,/subsection,/likesection,%
/section,/chapter,/likechapter,/appendix,/part,%
subsubsection,paragraph}
\fi
\else
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{subsection,/likesubsection,/section,/likesection,%
/chapter,/likechapter,/appendix,/part,%
subsubsection,likesubsubsection,%
paragraph}
\MiniToc:At{likesubsection,/subsection,%
/likesection,/section,/chapter,/likechapter,/appendix,/part,%
subsubsection,likesubsubsection,%
paragraph}
\fi
\fi
>>>
\<cut toc: subsubsec\><<<
\:CheckOption{notoc*} \if:Option
\Configure{tableofcontents*}{part,chapter,%
appendix,section,subsection,subsubsection}
\else
|<notoc* note|>
\Configure{tableofcontents*}{part,likepart,chapter,likechapter,%
appendix,section,likesection,%
likesubsection,subsection,likesubsubsection,subsubsection}
\fi
>>>
\<tocat: subsubsection\><<<
\:CheckOption{notoc*} \if:Option
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{subsubsection,/likesubsubsection,/subsection,%
/likesubsection,/section,/likesection,%
/chapter,/likechapter,%
/appendix,/part,%
paragraph,subparagraph}
\MiniToc:At{likesubsubsection,/subsubsection,/likesubsection,%
/subsection,/likesection,%
/section,/chapter,/likechapter,/appendix,/part,%
paragraph,subparagraph}
\fi
\else
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{subsubsection,/likesubsubsection,%
/subsection,/likesubsection,/section,/likesection,%
/chapter,/likechapter,/appendix,/part,%
paragraph,subparagraph}
\MiniToc:At{likesubsubsection,/subsubsection,/likesubsection,/subsection,%
/likesection,/section,/chapter,/likechapter,/appendix,/part,%
paragraph,subparagraph}
\fi
\fi
>>>
\<cut toc: paragraph\><<<
\:CheckOption{notoc*} \if:Option
\Configure{tableofcontents*}{part,chapter,%
appendix,section,subsection,subsubsection,paragraph}
\else
|<notoc* note|>
\Configure{tableofcontents*}{part,likepart,chapter,likechapter,%
appendix,section,likesection,%
likesubsection,subsection,likesubsubsection,subsubsection,%
paragraph}
\fi
>>>
\<tocat: paragraph\><<<
\:CheckOption{notoc*} \if:Option
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{paragraph,/subsubsection,/likesubsubsection,/subsection,%
/likesubsection,/section,/likesection,%
/chapter,/likechapter,%
/appendix,/part,%
subparagraph}
\fi
\else
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{paragraph,/subsubsection,/likesubsubsection,%
/subsection,/likesubsection,/section,/likesection,%
/chapter,/likechapter,/appendix,/part,%
subparagraph}
\fi
\fi
>>>
\<cut toc: subparagraph\><<<
\:CheckOption{notoc*} \if:Option
\Configure{tableofcontents*}{part,chapter,%
appendix,section,subsection,subsubsection,%
paragraph,subparagraph}
\else
|<notoc* note|>
\Configure{tableofcontents*}{part,likepart,chapter,likechapter,%
appendix,section,likesection,%
likesubsection,subsection,likesubsubsection,subsubsection,%
paragraph,subparagraph}
\fi
>>>
\<cutat: subsubsection\><<<
\CutAt{subsubsection,subsection,likesubsection,section,likesection,%
chapter,likechapter,appendix,part}
\CutAt{likesubsubsection,subsection,likesubsection,section,likesection,%
chapter,likechapter,appendix,part}
>>>
\<cutat: subsubsection (no ch)\><<<
\CutAt{subsubsection,subsection,likesubsection,section,likesection,part}
\CutAt{likesubsubsection,subsection,likesubsection,section,likesection,part}
>>>
\<cutat: paragraph\><<<
\CutAt{paragraph,subsubsection,likesubsubsection,subsection,likesubsection,%
section,likesection,chapter,likechapter,appendix,part}
>>>
\<cutat: paragraph (no ch)\><<<
\CutAt{paragraph,subsubsection,likesubsubsection,subsection,likesubsection,%
section,likesection,part}
>>>
\<cutat: subparagraph\><<<
\CutAt{subparagraph,paragraph,subsubsection,likesubsubsection,%
subsection,likesubsection,%
section,likesection,chapter,likechapter,appendix,part}
>>>
\<cutat: subparagraph (no ch)\><<<
\CutAt{subparagraph,paragraph,subsubsection,likesubsubsection,%
subsection,likesubsection,%
section,likesection,part}
>>>
\<toc scrbook options 1\><<<
\:CheckOption{notoc*} \if:Option
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{part,/likepart,chapter,addchap,appendix,section}
\fi
\else
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{part,/likepart,chapter,likechapter,addchap,appendix,%
section,likesection}
\fi
\fi
>>>
\<cut toc scr: part\><<<
\:CheckOption{notoc*} \if:Option
\Configure{tableofcontents*}
{part,chapter,addchap,appendix}
\else
|<notoc* note|>
\Configure{tableofcontents*}
{part,likepart,chapter,likechapter,addchap,appendix}
\fi
>>>
\<tocat scr: part\><<<
\:CheckOption{notoc*} \if:Option
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{part,/likepart,chapter,addchap,appendix,section}
\MiniToc:At{likepart,/part,chapter,addchap,appendix,section}
\fi
\else
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{part,/likepart,chapter,likechapter,addchap,appendix,%
section,likesection}
\MiniToc:At{likepart,/part,chapter,likechapter,addchap,appendix,%
section,likesection}
\fi
\fi
>>>
\<tocat scr: ch\><<<
\:CheckOption{notoc*} \if:Option
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{chapter,/likechapter,/addchap,/appendix,/part,%
section,subsection}
\MiniToc:At{likechapter,/addchap,/appendix,/chapter,/part,%
section,subsection}
\MiniToc:At{addchap,/likechapter,/appendix,/chapter,/part,%
section,subsection}
\MiniToc:At{appendix,/chapter,/likechapter,/addchap,/part,%
section,subsection}
\fi
\else
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{chapter,/likechapter,/addchap,/appendix,/part,%
section,likesection,subsection,likesubsection}
\MiniToc:At{likechapter,/addchap,/appendix,/chapter,/part,%
section,likesection,subsection,likesubsection}
\MiniToc:At{addchap,/likechapter,/appendix,/chapter,/part,%
section,likesection,subsection,likesubsection}
\MiniToc:At{appendix,/chapter,/likechapter,/addchap,/part,%
section,likesection,subsection,likesubsection}
\fi
\fi
>>>
\<tocat scr: section\><<<
\:CheckOption{notoc*} \if:Option
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{section,/likesection,/chapter,/likechapter,%
/addchap,/appendix,/part,%
subsection,subsubsection}
\MiniToc:At{likesection,/section,/chapter,/likechapter,%
/addchap,/appendix,/part,%
subsection,subsubsection}
\fi
\else
\:CheckOption{nominitoc} \if:Option
\else
|<note nominitoc|>
\MiniToc:At{section,/likesection,/chapter,/likechapter,%
/addchap,/appendix,/part,%
subsection,likesubsection,subsubsection,likesubsubsection}
\MiniToc:At{likesection,/section,/chapter,/likechapter,%
/addchap,/appendix,/part,%
subsection,likesubsection,subsubsection,likesubsubsection}
\fi
\fi
>>>
\<tocat scr: subsection\><<<
\:CheckOption{notoc*} \if:Option
\CutAt{subsection,section,chapter,addchap,appendix,part}
\CutAt{likesubsection,section,chapter,addchap,appendix,part}
\else
\CutAt{subsection,section,likesection,%
chapter,likechapter,addchap,appendix,part}
\CutAt{likesubsection,section,likesection,%
chapter,likechapter,addchap,appendix,part}
\fi
>>>
\<foils toc 1\><<<
\ConfigureToc{foilhead}{}{ *\ }{}{}
\Configure{tableofcontents*}{foilhead}
\Css{div.tableofcontents{margin-top:2em;}}
>>>
The `notoc*' is applicable only to pages that are automatically
decomposed into separate web pages along section divides. It
should be used whe addcontentline instructions are present.
\begin{verbatim}
\section*{....}
\addcontentsline{toc}{section}{....}
\end{verbatim}
\<notoc* note\><<<
\Log:Note{for tocs without * entries, use
command line option `notoc*'}
>>>
\<toc for multind\><<<
\:CheckOption{1} \if:Option
\:CheckOption{notoc*} \if:Option
\addcontentsline{toc}{section}{\indexname}%
\fi
\else \:CheckOption{2} \if:Option
\:CheckOption{notoc*} \if:Option
\addcontentsline{toc}{section}{\indexname}%
\fi
\else \:CheckOption{3} \if:Option
\:CheckOption{notoc*} \if:Option
\addcontentsline{toc}{section}{\indexname}%
\fi
\else \:CheckOption{4} \if:Option
\:CheckOption{notoc*} \if:Option
\addcontentsline{toc}{section}{\indexname}%
\fi
\else
\addcontentsline{toc}{section}{\indexname}%
\fi \fi \fi \fi
>>>
\<note nominitoc\><<<
\Log:Note{to eliminate mini tables of
contents, use the command line option `nominitoc'}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Tables of Contents: Configurations}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 latex\><<<
\Configure{TocAt}
{|<save configure tableofcontents|>%
\Configure{tableofcontents}
{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="\sec:typ TOCS">}\IgnorePar}
{}{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}\par\ShowPar}{\HCode{<br />}}{}%
\ifvmode \IgnorePar\fi \EndP
}
{|<recall configure tableofcontents|>\par\ShowPar}
\Configure{TocAt*}
{|<save configure tableofcontents|>%
\Configure{tableofcontents}
{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="\sec:typ TOCS">}\IgnorePar}
{}{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}\par\HCode{}\ShowPar}{\HCode{<br />}}{}%
\ifvmode \IgnorePar\fi \EndP
}
{|<recall configure tableofcontents|>\par\ShowPar}
\:CheckOption{minitoc<} \if:Option
\def\MiniToc:At{\TocAt}
\else
\Log:Note{For mini tocs immediately aftter the header use the
command line option `minitoc<'}
\def\MiniToc:At{\TocAt*}
\fi
>>>
\<configure html4 latex\><<<
\Configure{tableofcontents}
{\IgnorePar\EndP\HCode{<div class="tableofcontents"\a:LRdir>}\IgnorePar}
{\ifTag{tex4ht-body}{\HCode{<br />}\Link{tex4ht-body}{}Home\EndLink}{}}
{\IgnorePar\EndP\HCode{</div>}\ShowPar}
{\HCode{<br />}} {}
>>>
\<save configure tableofcontents\><<<
\let\sv:atoc|=\a:tableofcontents
\let\sv:btoc|=\b:tableofcontents
\let\sv:ctoc|=\c:tableofcontents
\let\sv:dtoc|=\d:tableofcontents
\let\sv:etoc|=\e:tableofcontents
>>>
\<recall configure tableofcontents\><<<
\let\a:tableofcontents|=\sv:atoc
\let\b:tableofcontents|=\sv:btoc
\let\c:tableofcontents|=\sv:ctoc
\let\d:tableofcontents|=\sv:dtoc
\let\e:tableofcontents|=\sv:etoc
>>>
\<configure html4 latex\><<<
|<fulltoc option|>
>>>
This configuration is for the full table of contents shown on each section page.
It is indented for use with the `collapsetoc' DOM filter, or with JS code that will
make collapsible dynamic menu.
\<fulltoc option\><<<
\:CheckOption{fulltoc} \if:Option
% this configures list of sectioning types that should be included in the full TOC
\NewConfigure{fulltocsections}{1}
\Configure{fulltocsections}{chapter,likechapter,section,likesection,subsection,likesubsection}
\NewConfigure{sitetitle}{1}
\Configure{sitetitle}{\LikeRef{TITLE+}}
% print site header and the hamburger menu button
\NewConfigure{siteheader}{1}
\Configure{siteheader}{\ifvmode\IgnorePar\fi\EndP\HCode{<header class="header-bar">\Hnewline
<h1>\a:sitetitle</h1><button class="hamburger">\string≡</button>\Hnewline
</header>}}
\Configure{@BODY}{\a:siteheader}
% put full TOC on each page
\Configure{crosslinks+}{%
\bgroup
% container for the page toc
\Configure{tableofcontents}{\IgnorePar\EndP\HCode{<nav class="TOC">}\IgnorePar%
% force section numbers to be included in TOC links
\:tocsectionnumberlinks}%
{\HCode{\Hnewline}}{\IgnorePar\HCode{</nav>\Hnewline}\ShowPar}{}{}%
\expandafter\TableOfContents\expandafter[\a:fulltocsections]% Print table of contents before crosslinks
\egroup
\ifvmode\IgnorePar\fi\EndP%
\HCode{<main class="main-content"><article>\Hnewline<nav class="crosslinks-top">} }
{\HCode{</nav>\Hnewline}}%
{\ifvmode\IgnorePar\fi\EndP%
\HCode{<nav class="crosslinks-bottom">}}{\HCode{</nav>}}{}{}
% configuration for TOC on the main page, it is not configured by the previous command
% we added also the bookTOC class, so that we can style it differently than minitocs on subpages
\Configure{tableofcontents}{\IgnorePar\EndP\HCode{<nav class="TOC bookTOC">}\IgnorePar}
{}{\IgnorePar\HCode{</nav>\Hnewline<main class="main-content"><article>\Hnewline}\ShowPar}{}{}%
% close the <main> element started in \Configure{crosslinks+} and \Configure{tableofcontents}
\Configure{@/BODY}{\ifvmode\IgnorePar\fi\EndP\HCode{</article></main>}}
\Css{nav.TOC > span{display:block;}}
\def\:declaresectionnumberlink#1{%
% these configurations are inspired by this post:
https://tex.stackexchange.com/a/523739/2891
\expandafter\def\csname toc#1\endcsname##1##2##3{%
% configure the toclink so that the number is within the link
\Configure{TocLink}{\Link{####2}{####3}##1 ####4\EndLink}%
\HCode{<span class="#1Toc">}##2\HCode{</span>}}%
\expandafter\def\csname toclike#1\endcsname##1##2##3{%
% configure the toclink so that the number is within the link
\Configure{TocLink}{\Link{####2}{####3}##1 ####4\EndLink}%
\HCode{<span class="#1Toc">}##2\HCode{</span>}}%
}
\def\:tocsectionnumberlinks{%
\:declaresectionnumberlink{part}%
\:declaresectionnumberlink{chapter}%
\:declaresectionnumberlink{section}%
\:declaresectionnumberlink{subsection}%
\:declaresectionnumberlink{subsubsection}%
}
|<fulltoc css|>
\else
\Log:Note{For full TOC on each page compatible with the collapsetoc DOM filter,
use the `fulltoc' command line option.}
\fi
>>>
CSS configuration for the full TOC, it is used by the `fulltoc' command line option.
\<fulltoc css\><<<
\NewConfigure{body:width}{2}
\NewConfigure{body:padding}{2}
\NewConfigure{maintoc:width}{2}
\NewConfigure{maintoc:padding}{2}
\NewConfigure{header:height}{2}
\NewConfigure{header:padding}{2}
\NewConfigure{footer:height}{2}
\Configure{body:width}{80}{ch}
\Configure{body:padding}{2}{ch}
\Configure{maintoc:width}{30}{ch}
\Configure{maintoc:padding}{2}{ch}
\Configure{header:height}{3}{rem}
\Configure{header:padding}{1}{ch}
\Configure{footer:height}{2}{ch}
\NewConfigure{maintoc:background}{1}
\NewConfigure{maintoc:color}{1}
\NewConfigure{maintoc:hover}{1}
\NewConfigure{header:background}{1}
\NewConfigure{header:color}{1}
\NewConfigure{footer:background}{1}
\Configure{maintoc:background}{\#2E3A3F}
\Configure{maintoc:color}{\#E6F0EF}
\Configure{maintoc:hover}{\#00AFA0}
\Configure{header:background}{\#B8D8D5}
\Configure{header:color}{\#2C3E50}
\Configure{footer:background}{\#DDD}
\AtBeginDocument{%
% execute it in
\Css{:root{
--maintoc-width: \csname a:maintoc:width\endcsname\csname b:maintoc:width\endcsname;
--maintoc-background: \csname a:maintoc:background\endcsname;
--maintoc-padding: \csname a:maintoc:padding\endcsname\csname b:maintoc:padding\endcsname;
--maintoc-color: \csname a:maintoc:color\endcsname;
--maintoc-hover: \csname a:maintoc:hover\endcsname;
--body-width: \csname a:body:width\endcsname\csname b:body:width\endcsname;
--body-padding: \csname a:body:padding\endcsname\csname b:body:padding\endcsname;
--header-background: \csname a:header:background\endcsname;
--header-color: \csname a:header:color\endcsname;
--header-height: \csname a:header:height\endcsname\csname b:header:height\endcsname;
--header-padding: \csname a:header:padding\endcsname\csname b:header:padding\endcsname;
--footer-height: \csname a:footer:height\endcsname\csname b:footer:height\endcsname;
--footer-background: \csname a:footer:background\endcsname;
}}
}
\Css{*, *::before, *::after {
box-sizing: border-box;
}}
\Css{* {
margin: 0;
}}
\Css{nav.TOC,main.main-content,header.header-bar, .maketitle {
box-sizing: border-box;
}}
\Css{nav.TOC {
position: fixed;
top: var(--header-height);
left: 0;
width: var(--maintoc-width);
height: 100vh;
overflow-y: auto;
background-color: var(--maintoc-background);
color: var(--maintoc-color);
overflow-y: scroll;
scrollbar-color: \#888 var(--maintoc-background);
scrollbar-width: thin;
padding: var(--maintoc-padding);
}}
\Css{nav.TOC a {
color: var(--maintoc-color);
text-decoration: none;
}}
\Css{nav.TOC a:hover, nav.TOC a:focus {
color: var(--maintoc-hover);
text-decoration: underline;
}}
% reset the default styling of body
\Css{body{margin:0;width: auto; max-width: 100\%;}}
\Css{main.main-content, .maketitle {
margin: 1ch;
margin-top: var(--header-height);
padding: var(--body-padding);
margin-left: var(--maintoc-width);
max-width: var(--body-width);
}}
\Css{[id]{
scroll-margin-top: var(--header-height);
}}
\Css{.hamburger {
display: none;
margin-left: auto;
background-color: var(--maintoc-background);
}}
\Css{header.header-bar {
position: fixed;
width: 100vw;
top: 0;
left: 0;
align-items: center;
justify-content: space-between;
background-color: var(--header-background);
color: var(--header-color);
height: var(--header-height);
padding: var(--header-padding) ;
margin: 0;
}}
\Css{header.header-bar h1 {
font-size: 1rem;
}}
\Css{footer.footer-bar {
display: none;
position: fixed;
bottom: 0;
left: 0;
right: 0;
height: var(--footer-height);
background-color: var(--footer-background);
z-index: 1000;
display: flex;
align-items: center;
justify-content: center;
}}
\Css{.sectionTOCS{
padding: var(--content-padding);
position: fixed;
top: var(--header-height);
left: var(--sectiontoc-padding);
max-width: var(--sectiontoc-width);
}}
\Css{nav.TOC, .sectionTOCS{
transition: transform 0.3s ease;
transform: translateY(0); /* default state */
}}
\Css{.sectionTOCS .likesectionToc, .sectionTOCS .sectionToc,
.sectionTOCS .likesubsectionToc, .sectionTOCS .subsectionToc,
.sectionTOCS .likesubsectionToc, .sectionTOCS .subsectionToc,
.sectionTOCS .likesubsubsectionToc, .sectionTOCS .subsubsectionToc {margin-left:0em;}}
\Css{.hamburger {
display: none;
flex-direction: column;
justify-content: center;
align-items: center;
width: 40px;
height: 40px;
cursor: pointer;
gap: 6px;
}}
\Css{.hamburger span {
display: inline-flex;
width: 24px;
height: 3px;
background-color: black;
border-radius: 2px;
}}
\Css{body.no-scroll {
overflow: hidden;
}}
\CssMediaQueryStart{}{max-width: 768px}
\Css{
nav.TOC {
width: 100vw;
height: auto;
position: relative;
top: auto;
left: 0;
}
}
\Css{
main.main-content, .maketitle {
margin-left: 0;
padding-top: var(--header-height);
}
}
\Css{
.hamburger {
display: block;
cursor: pointer;
}
}
\CssMediaQueryEnd
>>>
\<html latex tocs\><<<
\def\tocpart#1#2#3{\par
\HCode{<span class="partToc" \a:LRdir>}\if !#1!\else #1\ \ \fi #2\HCode{</span>}\par}%
\def\toclikepart#1#2#3{\par
\HCode{<span class="likepartToc" \a:LRdir>}#2\HCode{</span>}\par}%
|<part toc css|>%
\expandafter\ifx \csname @chapter\endcsname\relax
\def\tocsection#1#2#3{\par
\HCode{<span class="sectionToc" \a:LRdir>}\def\:temp{#1}\ifx \:temp\empty\else
#1 \fi #2\HCode{</span>}\par}
\def\toclikesection#1#2#3{\par
\HCode{<span class="likesectionToc" \a:LRdir>}#2\HCode{</span>}\par}%
\def\tocsubsection#1#2#3{\par\toc:num{subsection}{#1}{#2}\par}
\def\toclikesubsection#1#2#3{\par\HCode{<span class="likesubsectionToc" \a:LRdir>}#2\HCode{</span>}\par}
\def\tocsubsubsection#1#2#3{\par\toc:num{subsubsection}{#1}{#2}\par}
\def\toclikesubsubsection#1#2#3{\par\HCode{<span class="likesubsubsectionToc" \a:LRdir>}#2\HCode{</span>}\par}
\def\tocparagraph#1#2#3{\par\toc:num{paragraph}{#1}{#2}\par}
\def\toclikeparagraph#1#2#3{\par\HCode{<span class="likeparagraphToc" \a:LRdir>}#2\HCode{</span>}\par}
\def\tocsubparagraph#1#2#3{\par\toc:num{subparagraph}{#1}{#2}\par}
\def\toclikesubparagraph#1#2#3{\par\HCode{<span class="likesubparagraphToc" \a:LRdir>}#2\HCode{</span>}\par}
\else
|<chapter toc css|>%
\def\tocchapter#1#2#3{\par
\HCode{<span class="chapterToc" \a:LRdir>}\ifnum \c@secnumdepth >\m@ne
#1 \fi #2\HCode{</span>}\par}
\def\toclikechapter#1#2#3{\par
\HCode{<span class="likechapterToc" \a:LRdir>}#2\HCode{</span>}\par}%
\def\tocappendix#1#2#3{\par
\HCode{<span class="appendixToc" \a:LRdir>}#1 #2\HCode{</span>}\par}
\def\tocsection#1#2#3{\par\toc:num{section}{#1}{#2}\par}
\def\toclikesection#1#2#3{\par\HCode{<span class="likesectionToc" \a:LRdir>}#2\HCode{</span>}\par}
\def\tocsubsection#1#2#3{\par\toc:num{subsection}{#1}{#2}\par}
\def\toclikesubsection#1#2#3{\par\HCode{<span class="likesubsectionToc" \a:LRdir>}#2\HCode{</span>}\par}
\def\tocsubsubsection#1#2#3{\par\toc:num{subsubsection}{#1}{#2}\par}
\def\toclikesubsubsection#1#2#3{\par\HCode{<span class="likesubsubsectionToc" \a:LRdir>}#2\HCode{</span>}\par}
\def\tocparagraph#1#2#3{\par\toc:num{paragraph}{#1}{#2}\par}
\def\toclikeparagraph#1#2#3{\par\HCode{<span class="likeparagraphToc" \a:LRdir>}#2\HCode{</span>}\par}
\def\tocsubparagraph#1#2#3{\par\toc:num{subparagraph}{#1}{#2}\par}
\def\toclikesubparagraph#1#2#3{\par\HCode{<span class="likesubparagraphToc" \a:LRdir>}#2\HCode{</span>}\par}
\fi
\def\toc:num#1#2#3{\def\:temp{#1#2}%
\HCode{<span class="#1Toc" \a:LRdir>}\ifx \:temp\empty
\else \def\:temp{#2}\ifx\:temp\empty\else #2 \fi \fi #3\HCode{</span>}}
>>>
\<scr report,book\><<<
\def\tocpart#1#2#3{\par
\HCode{<span class="partToc" \a:LRdir>}\if !#1!\else
#1\ \ \fi #2\HCode{</span>}\par}%
\def\toclikepart#1#2#3{\par
\HCode{<span class="likepartToc" \a:LRdir>}#2\HCode{</span>}\par}%
\Css{.partToc a, .partToc, .likepartToc a, .likepartToc
{line-height: 200\%; font-weight:bold; font-size:110\%;}}
\Css{.chapterToc a, .chapterToc, .likechapterToc a, .likechapterToc,
.appendixToc a, .appendixToc, .addchapToc a
{line-height: 200\%; font-weight:bold;}}
\def\tocchapter#1#2#3{\par
\HCode{<span class="chapterToc" \a:LRdir>}#1\ #2\HCode{</span>}\par}
\def\toclikechapter#1#2#3{\par
\HCode{<span class="likechapterToc" \a:LRdir>}#2\HCode{</span>}\par}%
\def\tocaddchap#1#2#3{\par
\HCode{<span class="addchapToc" \a:LRdir>}#2\HCode{</span>}\par}%
\def\tocappendix#1#2#3{\par
\HCode{<span class="appendixToc" \a:LRdir>}#1\ #2\HCode{</span>}\par}
\def\tocsection#1#2#3{\par\toc:num{section}{#1}{#2}\par}
\def\toclikesection#1#2#3{\par\HCode{<span class="likesectionToc" \a:LRdir>}#2\HCode{</span>}\par}
\def\tocsubsection#1#2#3{\par\toc:num{subsection}{#1}{#2}\par}
\def\toclikesubsection#1#2#3{\par\HCode{<span class="likesubsectionToc" \a:LRdir>}#2\HCode{</span>}\par}
\def\tocsubsubsection#1#2#3{\par\toc:num{subsubsection}{#1}{#2}\par}
\def\toclikesubsubsection#1#2#3{\par\HCode{<span class="likesubsubsectionToc" \a:LRdir>}#2\HCode{</span>}\par}
\def\tocparagraph#1#2#3{\par\toc:num{paragraph}{#1}{#2}\par}
\def\toclikeparagraph#1#2#3{\par\HCode{<span class="likeparagraphToc" \a:LRdir>}#2\HCode{</span>}\par}
\def\tocsubparagraph#1#2#3{\par\toc:num{subparagraph}{#1}{#2}\par}
\def\toclikesubparagraph#1#2#3{\par
\HCode{<span class="likesubparagraphToc" \a:LRdir>}#2\HCode{</span>}\par}
\def\toc:num#1#2#3{\def\:temp{#1#2}%
\HCode{<span class="#1Toc" \a:LRdir>}\ifx \:temp\empty
\else \def\:temp{#2}\ifx\:temp\empty\else #2\ \ \fi\fi #3\HCode{</span>}}
>>>
\<revtex sections\><<<
\def\tocpart#1#2#3{\par
\HCode{<span class="partToc" \a:LRdir>}\if !#1!\else #1\ \ \fi #2\HCode{</span>}\par}%
\def\toclikepart#1#2#3{\\HCode{<span class="parlikepartToc" \a:LRdir>}#2\HCode{</span>}\par}%
\Css{.partToc a, .partToc, .likepartToc a, .likepartToc
{line-height: 200\%; font-weight:bold; font-size:110\%;}}
%
\expandafter\ifx \csname @chapter\endcsname\relax
\def\tocsection#1#2#3{\par
\HCode{<span class="sectionToc" \a:LRdir>}\def\:temp{#1}\ifx \:temp\empty\else
#1 \fi #2\HCode{</span>}\par}
\def\toclikesection#1#2#3{\par
\HCode{<span class="likesectionToc" \a:LRdir>}#2\HCode{</span>}\par}%
\def\tocsubsection#1#2#3{\par\ \toc:num{subsection}{#1}{#2}\par}
\def\toclikesubsection#1#2#3{\par\
\HCode{<span class="likesubsectionToc" \a:LRdir>}#2\HCode{</span>}\par}
\def\tocsubsubsection#1#2#3{\par
\toc:num{subsubsection}{#1}{#2}\par}
\def\toclikesubsubsection#1#2#3{\par
\HCode{<span class="likesubsubsectionToc" \a:LRdir>}#2\HCode{</span>}\par}
\def\tocparagraph#1#2#3{\par\ \ \toc:num{paragraph}{#1}{#2}\par}
\def\toclikeparagraph#1#2#3{\par\ \
\HCode{<span class="likeparagraphToc" \a:LRdir>}#2\HCode{</span>}\par}
\def\tocsubparagraph#1#2#3{\par
\toc:num{subparagraph}{#1}{#2}\par}
\def\toclikesubparagraph#1#2#3{\par
\HCode{<span class="likesubparagraphToc" \a:LRdir>}#2\HCode{</span>}\par}
\else
\Css{.chapterToc a, .chapterToc, .likechapterToc a, .likechapterToc,
.appendixToc a, .appendixToc
{line-height: 200\%; font-weight:bold;}}
%
\def\tocchapter#1#2#3{\par
\HCode{<span class="chapterToc" \a:LRdir>}#1 #2\HCode{</span>}\par}
\def\toclikechapter#1#2#3{\par
\HCode{<span class="likechapterToc" \a:LRdir>}#2\HCode{</span>}\par}%
\def\tocappendix#1#2#3{\par
\HCode{<span class="appendixToc" \a:LRdir>}#1 #2\HCode{</span>}\par}
\def\tocsection#1#2#3{\par\ \toc:num{section}{#1}{#2}\par}
\def\toclikesection#1#2#3{\par\
\HCode{<span class="likesectionToc" \a:LRdir>}#2\HCode{</span>}\par}
\def\tocsubsection#1#2#3{\par\ \ \toc:num{subsection}{#1}{#2}\par}
\def\toclikesubsection#1#2#3{\par
\HCode{<span class="likesubsectionToc" \a:LRdir>}#2\HCode{</span>}\par}
\def\tocsubsubsection#1#2#3{\par
\toc:num{subsubsection}{#1}{#2}\par}
\def\toclikesubsubsection#1#2#3{\par
\HCode{<span class="likesubsubsectionToc" \a:LRdir>}#2\HCode{</span>}\par}
\def\tocparagraph#1#2#3{\par\ \ \ \toc:num{paragraph}{#1}{#2}\par}
\def\toclikeparagraph#1#2#3{\par
\HCode{<span class="likeparagraphToc" \a:LRdir>}#2\HCode{</span>}\par}
\def\tocsubparagraph#1#2#3{\par
\toc:num{subparagraph}{#1}{#2}\par}
\def\toclikesubparagraph#1#2#3{\par
\HCode{<span class="likesubparagraphToc" \a:LRdir>}#2\HCode{</span>}\par}
\fi
\def\toc:num#1#2#3{\def\:temp{#1#2}%
\HCode{<span class="#1Toc" \a:LRdir>}\ifx \:temp\empty
\else \def\:temp{#2}\ifx\:temp\empty\else #2 \fi \fi #3\HCode{</span>}}
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{Tables of Contents}
%%%%%%%%%%%%%%%%%%%
\<ams art,proc,book toc\><<<
\ConfigureToc{part}
{\HCode{<span class="partToc" \a:LRdir>}\toc:Mark{part}}
{\End:Mark}
{}
{\HCode{</span><br />}}
\ConfigureToc{section}
{\HCode{<span class="sectionToc" \a:LRdir>}\toc:Mark{section}}
{\End:Mark}
{}
{\HCode{</span><br />}}
\ConfigureToc{subsection}
{\HCode{<span class="subsectionToc" \a:LRdir>}\toc:Mark{subsection}}
{\End:Mark}
{}
{\HCode{</span><br />}}
\ConfigureToc{subsubsection}
{\HCode{<span
class="subsubsectionToc" \a:LRdir>}\toc:Mark{subsubsection}}
{\End:Mark}
{}
{\HCode{</span><br />}}
\def\toc:Mark#1#2\End:Mark{\if !#2!\else
\expandafter\ifx \csname #1name\endcsname\relax\else
\csname #1name\endcsname\ \fi #2.\ \ \fi}
>>>
\<ams book\><<<
\ConfigureToc{likepart}
{\HCode{<span class="likepartToc" \a:LRdir>}}
{\empty}
{}
{\HCode{</span><br />}}
\ConfigureToc{chapter}
{\HCode{<span class="chapterToc" \a:LRdir>}%
\ifx \chaptername\:UnDef\else \chaptername\ \fi}
{.\ \ }
{}
{\HCode{</span><br />}}
\ConfigureToc{likechapter}
{\HCode{<span class="likechapterToc" \a:LRdir>}}
{\ \ }
{}
{\HCode{</span><br />}}
\ConfigureToc{appendix}
{\HCode{<span class="appendixToc" \a:LRdir>}%
\ifx \appendixname\:UnDef\else \appendixname\ \fi}
{.\ \ }
{}
{\HCode{</span><br />}}
>>>
\<ams book\><<<
\Css{.chapterToc a, .chapterToc, .appendixToc a, .appendixToc
{line-height: 200\%; font-weight:bold;}}
>>>
\<ams art,proc,book toc\><<<
\Css{.partToc a, .partToc, .likepartToc a, .likepartToc
{line-height: 200\%; font-weight:bold; font-size:110\%;}}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Tables and Arrays}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{LaTeX Tabular and Array}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<32,4 latex\><<<
\:CheckOption{pic-tabular} \if:Option
\ConfigureEnv{tabular}
{\IgnorePar\EndP\Tg<div class="pic-tabular">\Picture*{}}
{\EndPicture\Tg</div>}{}{}
\Css{div.pic-tabular {text-align:center;}}
\else
\Log:Note{for pictorial tabular,
use the command line option `pic-tabular'}
\fi
>>>
\<math html latex array/tabular\><<<
\:CheckOption{pic-array} \if:Option \else
\Log:Note{for pictorial array,
use the command line option `pic-array'}
\ConfigureEnv{array}
{\IgnorePar\EndP\PushStack\Col:Marg\AllColMargins
\HCode{<div class="array">}}
{\HCode{</div>}\PopStack\Col:Marg\AllColMargins\ShowPar}{}{}
\Css{div.array {text-align:center;}}
\fi
>>>
\<html latex array/tabular Config 4.0t\><<<
\:CheckOption{pic-tabular} \if:Option \else
\ConfigureEnv{tabular}
{|<configure tabular noalign|>%
\IgnorePar|<inline comment|>\EndP\HCode{<div class="tabular">}%
\PushStack\Col:Marg\AllColMargins
}
{\HCode{</div>}\PopStack\Col:Marg\AllColMargins\ShowPar
|<configure clear noalign|>%
|<try env inline par|>%
}{}{}
\Css{div.tabular, div.center div.tabular {text-align: center;
margin-top:0.5em; margin-bottom:0.5em; }}
\Css{table.tabular td p{margin-top:0em;}}
\Css{table.tabular {margin-left: auto;
margin-right: auto;}} |% centering |%
\fi
\Css{td p:first-child{ margin-top:0em; }}
\Css{td p:last-child{ margin-bottom:0em; }}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{LaTeX Tabule}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<article,report,book\><<<
\ConfigureEnv{table}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="table">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par\ShowPar}
{}{}
>>>
%%%%%%%%%%%%%
\subsection{multirow}
%%%%%%%%%%%%%
\<configure html4 multirow\><<<
\Configure{multirow}
{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="multirow"><!-- rows=\the\@tempcnta\space -->}}
{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}}
>>>
%%%%%%%%%%%%%
\subsection{tabularx}
%%%%%%%%%%%%%
\<configure html4 tabularx\><<<
\ConfigureEnv{tabularx}{\ifvmode\IgnorePar\fi\EndP}{}{}{}
>>>
%%%%%%%%%%%%%
\subsection{tabulary}
%%%%%%%%%%%%%
\<configure html4 tabulary\><<<
\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;"}}
{l}{\HCode{ style="white-space:nowrap; text-align:left;"}}
{c}{\HCode{ style="white-space:nowrap; text-align:center;"}}
{r}{\HCode{ style="white-space:nowrap; text-align:right;"}}
{^}{\HCode{ style="white-space:nowrap; vertical-align:top";}}
{=}{\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:normal; text-align:left;"}\Protect\a:HColWidth}
{m}{\HCode{ style="white-space:normal; text-align:left; vertical-align:middle;"}\Protect\a:HColWidth}
{b}{\HCode{ style="white-space:normal; text-align:left; vertical-align:bottom;"}\Protect\a:HColWidth}
{L}{\HCode{ style="white-space:normal; text-align:left;"}}
{R}{\HCode{ style="white-space:normal; text-align:right;"}}
{C}{\HCode{ style="white-space:normal; text-align:center;"}}
{J}{\HCode{ style="white-space:normal;"}}
{}
>>>
\<configure html4 tabulary\><<<
\ConfigureEnv{tabulary}
{|<configure tabular noalign|>%
\IgnorePar|<inline comment|>\EndP\HCode{<div class="tabular">}%
\PushStack\Col:Marg\AllColMargins
}
{\HCode{</div>}\PopStack\Col:Marg\AllColMargins\ShowPar
|<configure clear noalign|>%
|<try env inline par|>%
}{}{}
>>>
\<configure html4 tabulary\><<<
\Configure{tabulary}
{\ifvmode \IgnorePar\fi \EndP \halignTB{tabulary}\putVBorder }
{|<insert Clr|>\HCode{</table>}}
{\HCode{<tr \Hnewline}\halignTR
\HCode{ id="TBL-\TableNo-\HRow-">}}
{\r:HA}
{\HCode{<td \ifnum \HMultispan>1 colspan="\HMultispan"\fi}%
\halignTD \HCode{ id="TBL-\TableNo-\HRow-\HCol"
\Hnewline class="td}|<tabular td align|>%
\HCode{">}|<start array par box|>\PushStack\Table:Stck\TableNo}
{|<end array par box|>\PopStack\Table:Stck\TableNo \d:HA}
>>>
\<tabular td align\><<<
\NoFonts
\bgroup
\ifx \ttfamily\:UnDef \else \ttfamily\fi
\ColMargins
\egroup
\EndNoFonts
>>>
\<configure html4 tabulary\><<<
\Configure{halignTB<>}{tabulary}{\HCode{id="TBL-\TableNo" class="tabulary"\Hnewline
\GROUPS\Hnewline
}<>\HAlign}
\Css{table[rules] {border-left:solid black 0.4pt;
border-right:solid black 0.4pt; }}
>>>
%%%%%%%%%%%%%
\subsection{threeparttable}
We mainly need to handle paragraphs.
\<configure html4 threeparttable\><<<
\ConfigureList{tablenotes}
{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="tablenotes">}\par\ShowPar}
{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}}{\par\ShowPar}{}
\ConfigureEnv{threeparttable}
{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="threeparttable">}}
{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}\par\ShowPar}{}{}
>>>
%%%%%%%%%%%%%
\subsection{Tabularray}
The following code shuld allow the support or the rowhead property for Tabularray.
Thanks to this, we can semantically mark table headers. This is good for the
accessibility.
\<configure html4 tabularray\><<<
\ExplSyntaxOn
% Get the value of rowhead key and save it in the \lTblrRowHeadInt for later use
\def\tblr:setrowhead{
\int_set:Nn \lTblrRowHeadInt
{ \__tblr_prop_item:ne { inner } { rowhead } + 0 }
}
% print either th or td, depending on the value of \lTblrRowHeadInt
\def\tblr:celltype{\int_compare:nTF{\int_value:w\lTblrRowHeadInt>=\HRow}{th}{td}}
\ExplSyntaxOff
>>>
\<configure html4 tabularray\><<<
\Configure{tabularray}{
\ifvmode\IgnorePar\fi\EndP
\gHAdvance\Next:TableNo by 1 \global\let\TableNo=\Next:TableNo%
\HCode{<table class="tabularray \@currenvir" id="tbl-\TableNo">}
}{\ifvmode\IgnorePar\fi\EndP\HCode{</table>}}
{\tblr:setrowhead\HCode{<tr id="row-\TableNo-\HRow-">}}{\HCode{</tr>}}
{\HCode{<\tblr:celltype\space id="cell\TableNo-\HRow-\HCol" style="\CellStyle" \CellAttributes>}}{\HCode{</\tblr:celltype>}}
{\Configure{tabularrayattributes}{rowspan="\HRowspan"}}
{\Configure{tabularrayattributes}{colspan="\HMultispan"}}{}
% cells hidden by cell and row spans. they shouldn't be included in HTML, so we hide them using comments
\Configure{tabularrayignoredcell}{\HCode{<!-- ignored cell: }}{\HCode{ -->}}
% this is a default alignment, so we can ignore it, to save some space in the generated files
% \Configure{tabularrayhalign}{l}{\Configure{tabularraystyles}{text-align:left;}}
\Configure{tabularrayhalign}{r}{\Configure{tabularraystyles}{text-align:right;}}
\Configure{tabularrayhalign}{c}{\Configure{tabularraystyles}{text-align:center;}}
\Configure{tabularrayhalign}{j}{\Configure{tabularraystyles}{text-align:justify;}}
% this is a default alignment, so we can ignore it, to save some space in the generated files
% \Configure{tabularrayvalign}{m}{\Configure{tabularraystyles}{vertical-align:middle;}}
\Configure{tabularrayvalign}{h}{\Configure{tabularraystyles}{vertical-align:top;}}
\Configure{tabularrayvalign}{p}{\Configure{tabularraystyles}{vertical-align:top;}}
\Configure{tabularrayvalign}{f}{\Configure{tabularraystyles}{vertical-align:bottom;}}
% the vertical alignment of the following two is not correct, but CSS doesn't support the correct one
\Configure{tabularrayvalign}{t}{\Configure{tabularraystyles}{vertical-align:top;}}
\Configure{tabularrayvalign}{b}{\Configure{tabularraystyles}{vertical-align:bottom;}}
% Save column width only on the first row
\Configure{tabularraycolumnwidth}{\ifnum\HRow=1\Css{\#tbl-\TableNo\space td:nth-child(\HCol){width:\HColWidth;}}\fi}
\Css{table.tabularray{table-layout: fixed;border-collapse:collapse;margin:0.3em 0;}}
\Configure{tabularraycaption}{\ifvmode\IgnorePar\fi\EndP\HCode{<caption>}}{\HCode{</caption>}}
>>>
%%%%%%%%%%%%%
\subsection{Mdwtab}
%%%%%%%%%%%%%
\<configure html4 mdwtab\><<<
\Configure{smarray}
{\ifvmode \IgnorePar\fi \EndP\halignTB{smarray}\putVBorder}
{|<insert Clr|>\HCode{</table>}}
{\R:HA}
{\r:HA}
{\D:HA\HCode{<div class="td}|<tabular td align|>%
\HCode{">}|<start array par box|>\pic:env}
{|<end array par box|>\HCode{</div>}\d:HA}
\Configure{halignTB<>}
{smarray}
{\HCode{id="TBL-\TableNo" class="smarray"\Hnewline
\GROUPS\Hnewline
}<>\HAlign
}
>>>
\<configure html4 mdwtab\><<<
\Configure{tabular*}
{\a:tabular}
{\b:tabular}
{\c:tabular}
{\d:tabular}
{\e:tabular}
{\f:tabular}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{tabto}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
HTML doesn't support concept of tabbing, so we will just
insert fixed-length space. I am not sure if it is better
than nothing.
\<configure html4 tabto\><<<
\Configure{tabto}{\HCode{<span class="tabto" style="width:\Htabsize;"> </span>}}
\Configure{tabtos}{\HCode{<span class="tabto" style="width:\Htabsize;"> </span>}}
\Css{.tabto{display: inline-block;}}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Bibliography}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Cite}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<onmouseover cite\><<<
\Configure{cite}
{\HCode{<span class="cite">}}
{\HCode{</span>}}
{\Link[ |<mouseover-cite arguments|>]}
{\EndLink }
\expandafter\def\csname c:mouseover-cite:\endcsname{%
\def\:tempb{cite}\csname c:mouseover-?:\endcsname}
\Configure{mouseover-cite}{tex4ht.body,FULLHTML}
>>>
\<mouseover-cite arguments\><<<
\mo:args{cite}{\@citeb}{\expandafter
\jsHash\expandafter{\expandafter X\@citeb}}%
>>>
\<default cite\><<<
\Configure{cite}
{\HCode{<span class="cite">}} {\HCode{</span>}}
{\Link} {\EndLink}
>>>
\<cite in TocLink\><<<
\Configure{cite}{}{}{}{}%
>>>
\<mouseover cite config\><<<
\string\Configure{mouseover-vars}{cite}{Author,Title}%
>>>
\<mouseover cite css\><<<
\string\Configure {mouseover-cite}
{tex4ht.body,CAPTION,tex4ht.caption+tex4ht.var,FULLHTML}%
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Bib Item}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<default bibitem\><<<
\Configure{bibitem}{\Link}{\EndLink}
>>>
\<onmouseover bibitem\><<<
\Configure{bibitem}
{\bibitem:link}
{\EndLink|<js end skip bib|>}
\def\bibitem:link#1#2{|<js skip bib|>\HCode
{<!--}|<js mark 1 bib|>\HCode{#2=}|<js mark 2 bib|>\HCode
{-->}\Link{#1}{#2}}
>>>
\<config bib-p HtmlPar\><<<
\Configure{HtmlPar}
{\EndP\HCode{<p class="bibitem-p" \a:LRdir>}}
{\EndP\HCode{<p class="bibitem-p" \a:LRdir>}}
{\Tg</p>} {\Tg</p>}%
>>>
\<config bib HtmlPar\><<<
\Configure{HtmlPar}
{\EndP\HCode{<p class="bibitem" \a:LRdir>}}
{\EndP\HCode{<p class="bibitem" \a:LRdir>}}
{\Tg</p>} {\Tg</p>}%
>>>
\<config bib-p HtmlParNO\><<<
\Configure{HtmlPar}
{\HCode{</p><p class="bibitem-p">}}
{\HCode{</p><p class="bibitem-p">}}
{} {}%
>>>
\<bibitem css\><<<
\Css{p.bibitem { text-indent: -2em; margin-left: 2em;
margin-top:0.6em; margin-bottom:0.6em; }}
\Css{p.bibitem-p { text-indent: 0em; margin-left: 2em;
margin-top:0.6em; margin-bottom:0.6em; }}
>>>
\<bibitem 2\><<<
\Configure{bibitem2}
{|<config bib HtmlPar|>\par\ShowPar
\HCode{<span class="biblabel">}%
|<config bib-p HtmlPar|>%
}
{\EndP}
{\HCode{<span class="bibsp">}\ \ \ \HCode{</span></span>}}
>>>
\<js bibitem\><<<
\HCode{<!--}%
|<js from bib|>%
\HCode{<bibitem>}%
|<js skip bib|>%
|<js Set1 bib|>%
|<js end skip bib|>%
|<js Set2 bib|>%
|<js skip bib|>%
|<js end skip bib|>%
\HCode{<div class="js">}%
|<js skip bib|>%
\HCode{-->}%
|<js end skip bib|>%
>>>
\<js /bibitem\><<<
|<js skip bib|>%
\HCode{<!--}%
|<js end skip bib|>%
\HCode{</div></bibitem>\Hnewline}%
|<js Until bib|>%
\HCode{-->}
>>>
\<js p.bibitem-p css\><<<
js p.bibitem-p
>>>
\<js p.bibitem css\><<<
js p.bibitem
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{The Bibliography}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The bibliography environment is prooblematic because
it carries a definition that implies an environment similar
to
\begin{verbatim}
\begin{....}
\section*{...}
...
\end{....}
\end{verbatim}
The \verb+\begin{...}+ has a \verb+\SaveEverypar+, and
\verb+\end{...}+ has a \verb+\RecallEverypar+. In the case of
paginations across sectioning commands, we have also the saving and
recalling also at the start and end of each section (each page). In
such a case, we don't have proper nestings of environments.
\<shared bib env\><<<
\ConfigureEnv{thebibliography}{\IgnorePar}{\ShowPar\par}{}{}
>>>
\<foils bib\><<<
\ConfigureEnv{thebibliography}{\par\leavevmode}{\ShowPar}{}{}
>>>
\<default thebibliography\><<<
\ConfigureList{thebibliography}%
{\ifvmode\IgnorePar\fi \EndP \HCode{<div
class="thebibliography">}\let\en:bib=\empty}
{\en:bib \ifvmode\IgnorePar\fi \EndP \HCode{</div>}}
{\en:bib\def\en:bib{|<bibliography2|>\EndP}%
|<config bib HtmlPar|>\par\ShowPar
\HCode{<span class="biblabel">}|<config bib-p HtmlPar|>}
{\HCode{<span class="bibsp">}\:nbsp
\:nbsp\:nbsp\HCode{</span></span>}}
>>>
\<onmouseover thebibliography\><<<
\ConfigureList{thebibliography}%
{\ifvmode\IgnorePar\fi\EndP |<start js|>\HCode{<div
class="thebibliography">}\let\en:bib=\empty}
{\en:bib \ifvmode\IgnorePar\fi\EndP \HCode{</div>}}
{\en:bib\def\en:bib{|<js bibliography2|>%
\EndP|<js /bibitem|>}|<js bibitem|>%
|<config bib HtmlPar|>\par\ShowPar
\leavevmode |<js skip bib|>\HCode{<span
class="biblabel">}|<config bib-p HtmlPar|>}
{\HCode{<span class="bibsp">}\:nbsp
\:nbsp\:nbsp\HCode{</span></span>}|<js end skip bib|>}
>>>
\<latex ltbibl\><<<
\:CheckOption{bibtex2} \if:Option
\Configure{bibliography2}
{~~[} {more} {]}
|<bibitem 2|>%
\fi
>>>
\<config bibitem\><<<
\:CheckOption{no-bib} \if:Option\else
\:CheckOption{mouseover} \if:Option
|<onmouseover cite|>
|<onmouseover bibitem|>
\else
|<default cite|>
|<default bibitem|>
\fi
\fi
>>>
\<thebib config\><<<
\:CheckOption{no-bib} \if:Option\else
\:CheckOption{mouseover} \if:Option
|<onmouseover thebibliography|>
\else
|<default thebibliography|>
\fi
|<bibitem css|>
\fi
>>>
\<bibliography2\><<<
\csname bibliography2\endcsname
>>>
\<js bibliography2\><<<
|<js skip bib|>\csname bibliography2\endcsname
|<js end skip bib|>%
>>>
% \HCode{\Hnewline\string\jselement{footnote}%
% \string\jselement{bibitem}\Hnewline}%
\<bib in amsppt.sty\><<<
\Configure{vol}{\HCode{<strong>}}{\HCode{</strong>}}
\Configure{book}{\HCode{<em>}}{\HCode{</em>}}
\Configure{paper}{\HCode{<em>}}{\HCode{</em>}}
\Configure{Refs}{\IgnorePar\EndP\HCode{<table class="Refs">}}
{\HCode{</table>}}
\Configure{ref}{\HCode{<tr style="vertical-align:top;"><td style="text-align:right;">}}
{\EndP\HCode{</td></tr>}}{}
\Configure{keyformat}{}{\EndP\HCode{</td><td>}}
>>>
\<configure html4 biblatex\><<<
\HAssign\bibN=0
\Configure{thebibliography}%
{\ifvmode \IgnorePar\fi \EndP
\EndP\HCode{<dl \a:LRdir class="thebibliography">}%
\PushMacro\end:itm
\global\let\end:itm=\empty}
{\ifvmode \IgnorePar\fi \EndP
\PopMacro\end:itm \global\let\end:itm \end:itm
\EndP\HCode{</dd></dl>}\ShowPar}
{\ifvmode \IgnorePar\fi \EndP
\gHAdvance\bibN by 1
\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
id="bib-\bibN"
class="thebibliography">}\bgroup \bf}
{\ifvmode \IgnorePar\fi \EndP
\gHAdvance\bibN by 1
\egroup\HCode{</dt><dd\Hnewline
id="bib-\bibN" class="thebibliography">}\par\ShowPar}
>>>
\<configure html4 biblatex\><<<
\Configure{printshorthands}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<dl class="printshorthands"><dt class="printshorthands">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</dd></dl>}}
{\ifvmode \IgnorePar\fi \EndP
\HCode{</dd><dt class="printshorthands">}}
{\HCode{</dt><dd class="printshorthands">}\par\ShowPar}
\Css{dt.printshorthands{float:left; clear:left; margin-right:1em;}}
>>>
\<configure html4 biblatex\><<<
\Configure{finentry}
{\hbox{\HCode{<!--finentry-->}}}
{\hbox{\HCode{<!--/finentry-->}}}
>>>
\<configure html4 biblatex \><<<
\NewConfigure{printfield-annotation}{2}
\NewConfigure{printfield-file}{2}
\Configure{printfield-annotation}
{\HCode{<br class="annotation"/><span class="annotation">}}
{\HCode{<!--/annotation--></span>}}
\Configure{printfield-file}
{\HCode{<br class="file" /><span class="file">}}
{\HCode{<!--/annotation--></span>}}
\Css{div.bibitem br.annotation,
div.bibitem br.file
{margin-bottom:0.5em}}
>>>
\<configure html4 biblatex\><<<
\NewConfigure{printfield-entrykey}{2}
\Configure{printfield-entrykey}
{\HCode{<span class="entrykey">}}
{\HCode{</span>}}
>>>
\<configure html4 reading\><<<
\Configure{entryhead:name}
{\hbox{\HCode{<!--entryhead:name-->}%
\Css{dd\#bib-\bibN\space p:last-child
{border-bottom:solid black 1px}}%
}}
{\hbox{\HCode{<!--/entryhead:name-->}}}
\Configure{entryhead:full}
{\hbox{\HCode{<!--entryhead:full-->}%
\Css{dd\#bib-\bibN\space p:last-child
{border-bottom:solid black 1px}}%
}}
{\hbox{\HCode{<!--/entryhead:full-->}}}
>>>
\<configure html4 biblatex\><<<
\Configure{biblatex-style}
{authortitle}
{|<indented dd biblatex style|>}
\Configure{biblatex-style}
{authortitle-comp}
{|<indented dd biblatex style|>}
\Configure{biblatex-style}
{authortitle-tcomp}
{|<indented dd biblatex style|>}
\Configure{biblatex-style}
{authortitle-icomp}
{|<indented dd biblatex style|>}
\Configure{biblatex-style}
{authortitle-ibid}
{|<indented dd biblatex style|>}
\Configure{biblatex-style}
{authoryear}
{|<indented dd biblatex style|>}
\Configure{biblatex-style}
{authoryear-ibid}
{|<indented dd biblatex style|>}
\Configure{biblatex-style}
{authoryear-comp}
{|<indented dd biblatex style|>}
\Configure{biblatex-style}
{verbose}
{|<indented dd biblatex style|>}
\Configure{biblatex-style}
{verbose-ibid}
{|<indented dd biblatex style|>}
\Configure{biblatex-style}
{verbose-note}
{|<indented dd biblatex style|>}
\Configure{biblatex-style}
{alphabetic-verb}
{|<dt biblatex style|>}
\Configure{biblatex-style}
{alphabetic}
{|<dt biblatex style|>}
\Configure{biblatex-style}
{numeric}
{|<dt numeric biblatex style|>}
\Configure{biblatex-style}
{numeric-verb}
{|<dt numeric biblatex style|>}
\Configure{biblatex-style}
{numeric-comp}
{|<dt numeric biblatex style|>}
\Configure{biblatex-style}
{authortitle-ticomp}
{|<indented dd biblatex style|>}
\Configure{biblatex-style}
{iso-authoryear}
{|<indented dd biblatex style|>}
\Configure{biblatex-style}
{iso-numeric}
{|<dt numeric biblatex style|>}
\Configure{biblatex-style}
{draft}
{
\Css{dd.thebibliography {margin-left: 2.5em;}}
\Css{dt.thebibliography {float:left; clear:left; margin-right:1em;}}
}
\Configure{biblatex-style}
{reading}
{
\Css{.entrykey {float:right; margin-top:-1.25em;}}
}
\Configure{biblatex-style}{verbose-trad1}{}
\Configure{biblatex-style}{verbose-trad2}{}
>>>
\<indented dd biblatex style\><<<
\Css{dd.thebibliography { text-indent: -2em; margin-left: 2em;}}
\Css{dd.thebibliography p:first-child{ text-indent: -2em; }}
\Css{dt.thebibliography{float:left; clear:left; margin-right:1em;}}
>>>
\<dt biblatex style\><<<
\Css{dd.thebibliography {margin-left: 5em;}}
\Css{dt.thebibliography {float:left; clear:left; margin-right:1em;}}
>>>
\<dt numeric biblatex style\><<<
\Css{dd.thebibliography {margin-left: 2.5em;}}
\Css{dt.thebibliography {float:left; clear:left; margin-right:1em;}}
>>>
\<configure html4 debug\><<<
\Css{dd.thebibliography {margin-left: 7em;}}
\Css{dt.thebibliography {float:left; clear:left; margin-right:1em;}}
\Configure{subfieldlabel}
{\HCode{<span class="subfieldlabel">}}
{\HCode{</span>}}
>>>
%%%%%%%%%%%%%%%%
\subsection{acm-proc-article-sp}
%%%%%%%%%%%%%%%%
\<acm-proc-article-sp thebib config\><<<
\:CheckOption{no-bib} \if:Option\else
\:CheckOption{mouseover} \if:Option
|<acm-proc-article-sp onmouseover thebibliography|>
\else
|<acm-proc-article-sp default thebibliography|>
\fi
|<bibitem css|>
\fi
>>>
\<acm-proc-article-sp default thebibliography\><<<
\ConfigureEnv{thebibliography}%
{\ifvmode\IgnorePar\fi \EndP \HCode{<div
class="thebibliography">}\let\en:bib=\empty}
{\en:bib \ifvmode\IgnorePar\fi \EndP \HCode{</div>}}
{}{}
\ConfigureList{thebibliography}%
{}{}
{\en:bib\def\en:bib{|<bibliography2|>\EndP}%
|<config bib HtmlPar|>\par\ShowPar
\HCode{<span class="biblabel">}|<config bib-p HtmlPar|>}
{\HCode{<span class="bibsp">}\:nbsp
\:nbsp\:nbsp\HCode{</span></span>}}
>>>
\<acm-proc-article-sp onmouseover thebibliography\><<<
\ConfigureEnv{thebibliography}%
{\ifvmode\IgnorePar\fi\EndP |<start js|>\HCode{<div
class="thebibliography">}\let\en:bib=\empty}
{\en:bib \ifvmode\IgnorePar\fi\EndP \HCode{</div>}}
{}{}
\ConfigureList{thebibliography}%
{}{}
{\en:bib\def\en:bib{|<js bibliography2|>%
\EndP}|<js /bibitem|>|<js bibitem|>%
|<config bib HtmlPar|>\par\ShowPar
\leavevmode |<js skip bib|>\HCode{<span
class="biblabel">}|<config bib-p HtmlPar|>}
{\HCode{<span class="bibsp">}\:nbsp
\:nbsp\:nbsp\HCode{</span></span>}|<js end skip bib|>}
>>>
%%%%%%%%%%%%%%%%
\subsection{JS Contributions}
%%%%%%%%%%%%%%%%
\<js from bib\><<<
\ht:special {t4ht@DCopyTo: \jobname-js.tex From bib }%
>>>
\<js skip bib\><<<
\ht:special {t4ht@DCopyTo: \jobname-js.tex Skip bib }%
>>>
\<js end skip bib\><<<
\ht:special {t4ht@DCopyTo: \jobname-js.tex Cont bib }%
>>>
\<js Until bib\><<<
\ht:special {t4ht@DCopyTo: \jobname-js.tex Until bib }%
>>>
\<js Set1 bib\><<<
\ht:special {t4ht@DCopyTo: \jobname-js.tex Set1 bib }%
>>>
\<js Set2 bib\><<<
\ht:special {t4ht@DCopyTo: \jobname-js.tex Set2 bib }%
>>>
\<js mark 1 bib\><<<
\ht:special {t4ht@DCopyTo: \jobname-js.tex Addr1 bib }%
>>>
\<js mark 2 bib\><<<
\ht:special {t4ht@DCopyTo: \jobname-js.tex Addr2 bib }%
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Lists}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{LaTeX}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 latex\><<<
\Css{li p.indent { text-indent: 0em }}
\Css{li p:first-child{ margin-top:0em; }}
\Css{li p:last-child, li div:last-child { margin-bottom:0.5em; }}
% fix for <li> with only one paragraph
\Css{li p:first-child{ margin-bottom:0; }}
\Css{li p\string ~ul:last-child,
li p\string ~ol:last-child{ margin-bottom:0.5em; }}
>>>
\<list par\><<<
\par\ShowPar
>>>
\<configure html4 latex\><<<
\ConfigureEnv{trivlist}
{}{|<try env inline par|>}{}{}
\ConfigureList{trivlist}%
{\EndP\HCode{<dl \a:LRdir class="trivlist">}%
|<save end:itm|>\global\let\end:itm=\empty}
{|<recall end:itm|>\EndP\HCode{</dd></dl>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
class="trivlist">}\bgroup \bf}
{\egroup\HCode{</dt><dd\Hnewline class="trivlist">}|<list par|>}
\ConfigureEnv{list}
{}{|<try env inline par|>}{}{}
\ConfigureList{list}%
{\EndP\HCode{<dl \a:LRdir class="list\expandafter\the
\csname @listdepth\endcsname">}%
|<save end:itm|>\global\let\end:itm=\empty}
{|<recall end:itm|>\EndP\HCode{</dd></dl>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
class="list">}\bgroup \bf}
{\egroup\HCode{</dt><dd\Hnewline class="list">}\par\ShowPar}
\ConfigureEnv{itemize}
{\ifvmode \IgnorePar\fi \EndP}{|<try env inline par|>}
{}{}
\ConfigureList{itemize}%
{\EndP\HCode{<ul \a:LRdir
class="\getClass{itemize}itemize\expandafter\the
\csname @itemdepth\endcsname">}%
\afterGetClass{itemize}%
|<save end:itm|>\global\let\end:itm=\empty}
{|<recall end:itm|>\ifvmode \IgnorePar\fi
\EndP\HCode{</li></ul>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</li>}\DeleteMark}
{\HCode{<li class="\getClass{li}itemize">}\afterGetClass{li}|<list par|>}
\:CheckOption{itemize+}\if:Option
\ConfigureList{itemize}%
{\EndP\HCode{<ul \a:LRdir
class="\getClass{itemize}itemize\expandafter\the
\csname @itemdepth\endcsname">}%
\afterGetClass{itemize}%
|<save end:itm|>\global\let\end:itm=\empty}
{|<recall end:itm|>\ifvmode \IgnorePar\fi
\EndP\HCode{</li></ul>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</li>}\HCode{<li class="\getClass{li}itemize">}|<list par|>\HCode{<span class="itemizeHead" aria-hidden="true">}\afterGetClass{li}}
{\HCode{</span>}}
\Css{.itemizeHead{float: left; margin-left: -1em; width: 1em;}}
\Css{li.itemize{list-style: none;}}
\fi
\NewConfigure{itemizeClass}{2}
\Configure{itemizeClass}{}{}
\NewConfigure{liClass}{2}
\Configure{liClass}{}{}
\Css{ul.itemize1,ol.enumerate1{padding-left: 0;}}
\Css{ul li.itemize,ol li.enumerate{margin-left: 1rem;}}
>>>
\<configure html4 latex\><<<
\ConfigureEnv{enumerate}
{}{|<try env inline par|>}{}{}
\:CheckOption{enumerate-} \if:Option
\ConfigureList{enumerate}%
{|<enumerate I|>}
{|<enumerate II|>}
{|<enumerate III|>}
{|<enumerate IV|>}
\else
\:CheckOption{enumerate+} \if:Option
|<description-based enumerate list|>
\else
\ConfigureList{enumerate}%
{|<enumerate I|>}
{|<enumerate II|>}
{|<enumerate III|>}
{|<enumerate IV-|>}
|<description-based enumerate list note|>
\fi
\Log:Note{for enumerated list elements li's with value attributes,
use the command line option `enumerate-'}
\fi
\:CheckOption{css2} \if:Option
|<css2 itemize|>
\else
\Log:Note{for CSS2 code, use the command line option `css2'}
\fi
>>>
\<configure html4 enumerate\><<<
|<description-based enumerate list|>
>>>
\<description-based enumerate list\><<<
\ConfigureList{enumerate}%
{\EndP\HCode{<dl \a:LRdir class="enumerate">}%
\PushMacro\end:itm
\global\let\end:itm=\empty}
{\PopMacro\end:itm \global\let\end:itm \end:itm
\EndP\HCode{</dd></dl>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
class="enumerate">}\bgroup \bf}
{\egroup\EndP\HCode{</dt><dd\Hnewline class="enumerate">}|<list par|>}
\Css{dl.enumerate {display:grid; grid-template-columns: min-content 1fr; align-items: top; row-gap:0ch;}}
\Css{dd.enumerate {margin-left: 0;}}
\Css{dd.enumerate {margin-left:1ch;}}
% \Css{dt.enumerate {float:left;
% clear:left;
% margin-right:0.5em;
% margin-left:0.5em;
% text-align:right; }}
>>>
\<description-based enumerate list note\><<<
\Log:Note{for enumerated list elements with valued data,
use the command line option `enumerate+'}
>>>
\<css2 itemize\><<<
\bgroup
\def\textbullet{&\#x2219;}
\def\textasteriskcentered{&\#x2217;}
\Css{ul.itemize1 {list-style-type: none;}}
\Css{ul.itemize1 li.itemize:before { display: marker;
marker-offset: 0.5em;
content: "\labelitemi\space" }}
\Css{ul.itemize2 {list-style-type: none;}}
\Css{ul.itemize2 li.itemize:before { display: marker;
marker-offset: 0.5em;
content: "\labelitemii\space" }}
\Css{ul.itemize3 {list-style-type: none;}}
\Css{ul.itemize3 li.itemize:before { display: marker;
marker-offset: 0.5em;
content: "\labelitemiii\space" }}
\egroup
>>>
\<enumerate I\><<<
\EndP\HCode{<ol \a:enumerate:\space
class="enumerate\expandafter\the\csname @enumdepth\endcsname"
\a:LRdir
>}|<save end:itm|>\global\let\end:itm=\empty
>>>
\<enumerate II\><<<
|<recall end:itm|>%
\EndP\HCode{</li></ol>}\ShowPar
>>>
\<enumerate III\><<<
\end:itm \gdef\end:itm{\EndP\Tg</li>}\DeleteMark
>>>
\<enumerate IV\><<<
\HCode{<li class="enumerate" value="\expandafter\the\csname
c@enum\romannumeral\the\@enumdepth\endcsname"\Hnewline>}|<list par|>\AnchorLabel
>>>
\<enumerate IV-\><<<
{\Configure{Link}{li}{}{ class="enumerate" id=}{}%
\let\EndLink=\empty|<list par|>\AnchorLabel }%
>>>
% \HCode{<li class="enumerate">}\AnchorLabel
It is better to put the LI in the third field to avoid extra space
to the following text.
\<configure html4 latex\><<<
\def\c:enumerate:#1{\c:enu #1|<par del|>}
\def\c:enu#1#2#3#4#5|<par del|>{%
\def\a:enumerate:{\ifcase \@enumdepth \or
#1\or #2\or #3\or #4\else\fi #5}}
>>>
\<configure html4 latex\><<<
\Configure{enumerate}{{}{}{}{}}
\Css{.enumerate1 {list-style-type:decimal;}}
\Css{.enumerate2 {list-style-type:lower-alpha;}}
\Css{.enumerate3 {list-style-type:lower-roman;}}
\Css{.enumerate4 {list-style-type:upper-alpha;}}
>>>
\<\><<<
\:CheckOption{html+} \if:Option
\Configure{enumerate}
{%
{style="list-style-type:decimal"}%
{style="list-style-type:lower-alpha"}%
{style="list-style-type:lower-roman"}%
{style="list-style-type:upper-alpha"}%
}
\else
\Log:Note{for stricter html code,
use the command line option `html+'}
\Configure{enumerate}{%
{type="\theenumi"}%
{type="\theenumii"}%
{type="\theenumiii"}%
{type="\theenumiv"}}
\fi
>>>
% \Configure{enumerate}{{type="1"}{type="a"}{type="i"}{type="A"}}
\<roman enumeiii\><<<
\Configure{enumiii}
{\HCode{<span class="roman-numeral">}}
{\HCode{</span>}}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Prosper}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<prosper lists\><<<
\ConfigureEnv{Itemize}
{\ifvmode \IgnorePar\fi \EndP}{|<try env inline par|>}
{}{}
\ConfigureList{Itemize}%
{\EndP\HCode{<ul \a:LRdir class="itemize\expandafter\the
\csname @itemdepth\endcsname">}%
|<save end:itm|>\global\let\end:itm=\empty}
{|<recall end:itm|>\EndP\HCode{</li></ul>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</li>}\DeleteMark}
{\HCode{<li class="itemize">}|<list par|>}
>>>
\<prosper lists\><<<
\ConfigureEnv{itemstep}
{\ifvmode \IgnorePar\fi
\EndP\HCode{<ul \a:LRdir class="itemstep\expandafter\the
\csname @itemdepth\endcsname">}%
|<save end:itm|>\global\let\end:itm=\empty}
{|<recall end:itm|>\ifvmode \IgnorePar\fi\EndP
\HCode{</li></ul>}\ShowPar}
{}
{}
\ConfigureList{itemstep}
{}
{}
{\end:itm \global\def\end:itm{\EndP\Tg</li>}\DeleteMark}
{\HCode{<li class="itemize\ifnum
\c@item@step>\c@overlaysCount -hide\fi">}|<list par|>}
\Css{li.itemize-hide {visibility:hidden;}}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Jeep}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 jeep\><<<
\ConfigureEnv{outline}
{}{|<try env inline par|>}{}{}
\ConfigureList{outline}%
{|<enumerate I jeep|>}
{|<enumerate II|>}
{|<enumerate III|>}
{|<enumerate IV|>}
>>>
\<enumerate I jeep\><<<
\EndP\HCode{<ol type="1"
class="enumerate\expandafter\the\csname @enumdepth\endcsname"
\a:LRdir
>}|<save end:itm|>\global\let\end:itm=\empty
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Description}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<description 4\><<<
\ConfigureList{description}%
{\EndP\HCode{<dl \a:LRdir class="description">}%
|<save end:itm|>\global\let\end:itm=\empty}
{|<recall end:itm|>\EndP\HCode{</dd></dl>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
class="description">}\AnchorLabel\bgroup}
{\egroup\EndP\HCode{</dt><dd\Hnewline class="description">}|<list par|>}
>>>
\<32,4 report,book\><<<
\ConfigureEnv{description}{\IgnorePar}{}{}{}
>>>
\<configure html4 scrbook\><<<
\ConfigureEnv{description}{\IgnorePar}{}{}{}
>>>
\<configure html4 scrreprt\><<<
\ConfigureEnv{description}{\IgnorePar}{}{}{}
>>>
\<ams art,proc,book\><<<
|<description 4|>
\ConfigureEnv{description}{\IgnorePar}{}{}{}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{List Utilities}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Latex allows groups like the following, so we need global \verb+\end:itm+
\begin{verbatim}
\begin{enumerate}
{\item Line 1}
{\item Line 2}
\end{enumerate}
\end{verbatim}
\<save end:itm\><<<
\PushMacro\end:itm
>>>
\<recall end:itm\><<<
\PopMacro\end:itm \global\let\end:itm \end:itm
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{mdwlist}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 mdwlist\><<<
\ConfigureEnv{itemize*}
{\ifvmode \IgnorePar\fi \EndP}{|<try env inline par|>}
{}{}
\ConfigureList{itemize*}%
{\EndP\HCode{<ul \a:LRdir class="itemize\expandafter\the
\csname @itemdepth\endcsname">}%
|<save end:itm|>\global\let\end:itm=\empty}
{|<recall end:itm|>\EndP\HCode{</li></ul>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</li>}\DeleteMark}
{\HCode{<li class="itemize">}|<list par|>}
\ConfigureEnv{enumerate*}
{}{|<try env inline par|>}{}{}
\ConfigureList{enumerate*}%
{|<enumerate I|>}
{|<enumerate II|>}
{|<enumerate III|>}
{|<enumerate IV|>}
\ConfigureList{description*}%
{\EndP\HCode{<dl \a:LRdir class="description">}%
|<save end:itm|>\global\let\end:itm=\empty}
{|<recall end:itm|>\EndP\HCode{</dd></dl>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
class="description">}\AnchorLabel\bgroup \bf}
{\egroup\EndP\HCode{</dt><dd\Hnewline class="description">}|<list par|>}
\ConfigureList{basedescript}
{\EndP\HCode{<dl \a:LRdir class="basedescript">}%
\PushMacro\end:itm \global\let\end:itm=\empty}
{\PopMacro\end:itm \global\let\end:itm \end:itm
\EndP\HCode{</dd></dl>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
class="basedescript">}\bgroup \bf}
{\egroup\EndP\HCode{</dt><dd\Hnewline class="basedescript">}}
>>>
%%%%%%%%%%%%%
\subsection{nomencl}
%%%%%%%%%%%%%
\<configure html4 nomencl\><<<
\ConfigureList{thenomenclature}%
{\EndP\HCode{<dl \a:LRdir class="thenomenclature">}%
\PushMacro\end:itm
\global\let\end:itm=\empty}
{\PopMacro\end:itm \global\let\end:itm \end:itm
\EndP\HCode{</dd></dl>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
class="thenomenclature">}\bgroup \bf}
{\egroup\EndP\HCode{</dt><dd\Hnewline class="thenomenclature">}}
\Css{dt.thenomenclature{float:left; clear:left;}}
>>>
\<configure html4 nomencl\><<<
\:CheckOption{2} \if:Option \else
\:CheckOption{3} \if:Option \else
\:CheckOption{4} \if:Option \else
\:CheckOption{5} \if:Option \else
\:CheckOption{6} \if:Option \else
\:CheckOption{7}
\fi
\fi
\fi
\fi
\fi
\if:Option
\pend:def\thenomenclature{%
\if@intoc
|<ignore addcontentsline in thenomenclature|>%
\fi
|<sectioning statement within begin-end env|>%
}
\fi
>>>
\<ignore addcontentsline in thenomenclature\><<<
\expandafter\let\csname if:intoc\expandafter\endcsname\csname if@intoc\endcsname
\expandafter\edef\csname if@intoc\endcsname{%
\expandafter\noexpand\csname iftrue\endcsname
\let\expandafter\noexpand \csname if@intoc\endcsname
\expandafter\noexpand \csname if:intoc\endcsname
\expandafter\noexpand\csname else\endcsname}%
>>>
\<sectioning statement within begin-end env\><<<
\def\:temp{thenomenclature}\ifx\:temp\@currenvir
\RecallEverypar
\fi
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Index}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{LaTeX}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<config book-report-article\><<<
|<book-report-article index|>
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Scr}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<32,4 report,book\><<<
\Configure{@begin}{theindex}{\ifx \indexname\empty \else
\chapter*{\indexname}\fi}
>>>
\<configure html4 article\><<<
\Configure{@begin}{theindex}{\ifx \indexname\empty \else
\section*{\indexname}\fi}
>>>
\<scr report,book\><<<
\Configure{@begin}{theindex}{\ifx \indexname\empty \else
\chapter*{\indexname}\fi}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{multiind}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 multind\><<<
\Configure{@begin}{theindex}
{\ifx \indexname\empty \else|<toc for multind|>\fi}
>>>
% \ifx \indexname\empty \else
% \ifx\chapter\:Undef \section*{\indexname}\else
% \chapter*{\indexname}\fi
% \let\indexname=\empty
% \fi
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Index}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 index\><<<
\Configure{NoSection}
{\let\sv:index|=\p@index \let\sv:label|=\label
\let\sv:newline|=\newline \def\newline{ }%
\def\p@index[##1]{\@gobble}\let\label|=\@gobble
|<nolink ref|>%
}
{\let\p@index|=\sv:index \let\label|=\sv:label
|<restore ref|>%
\let\newline|=\sv:newline
}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{texinfo}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 texinfo\><<<
\Configure{index}
{\IgnorePar\leavevmode\EndP\Tg<div class="index">}
{\IgnorePar\EndP\Tg</div>}
{\leavevmode\Tg<span class="entry">}
{\Tg</span>\expandafter\Tg<br />\IgnorePar}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{ConTeXt}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 context\><<<
\catcode`\!=11
|<context core-int|>
|<context core-lst|>
|<context etc|>
|<context sectioning|>
|<context system|>
|<context toc|>
|<context description|>
|<context item group|>
|<context core-ver|>
|<context spacing|>
|<context floats|>
|<context tabs|>
|<context tables|>
|<context core-ntb|>
|<context index|>
|<context core-spa|>
|<context core-ref|>
|<context core-rul|>
|<context core-not|>
|<context core-mat|>
|<context cont-log|>
|<context supp-mps|>
\catcode`\!=12
>>>
\<context core-mat\><<<
\Configure{-@@fm}
{\ifvmode
\IgnorePar\EndP\HCode{<div class="formula-no">}%
\def\end:margp{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}%
\par
\else
\SaveEndP
\HCode{<span class="formula-no">}%
\bgroup
\Configure{HtmlPar}{\HCode{<br />}}{\HCode{<br />}}{}{}%
\def\end:margp{\egroup\HCode{</span>}\RecallEndP}%
\fi
}
{\end:margp}
\Css{.formula-no {width:5\%; float:right; text-align:right;
margin-right:auto; }}
>>>
\<context core-mat\><<<
\Configure{mtable}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<table class="mtable">}}
{\HCode{</table>}}
{\HCode{<tr>}}
{\HCode{</tr>}}
{\HCode{<td>}}
{\HCode{</td>}}
\Configure{mathalignment}
{\ifvmode \IgnorePar\fi \EndP
\Css{table.\currentmathalignment { margin-left:5\%; }}%
\Css{td.\currentmathalignment { text-align:left; }}%
\HCode{<table class="\currentmathalignment">}}
{\HCode{</table>}}
{\HCode{<tr class="\currentmathalignment">}}
{\HCode{</tr>}}
{\HCode{<td class="\currentmathalignment">}}
{\HCode{</td>}}
\NewConfigure{align}{6}
\Configure{align}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<table class="align">}}
{\HCode{</table>}}
{\HCode{<tr class="align">}}
{\HCode{</tr>}}
{\HCode{<td class="align">}}
{\HCode{</td>}}
\Css{table.align { margin-left:5\%; }}
\Css{td.align { text-align:left; }}
>>>
\<context core-mat\><<<
\Configure{intertext}
{\f:mtable\d:mtable\c:mtable\HCode{<td colspan="10"
class="intertext">}}
{\f:mtable\d:mtable\c:mtable\e:mtable}
\Css{.intertext {text-align:left;}}
>>>
\<context core-mat\><<<
\Configure{frac}
{\Picture+{ class="frac"}\bgroup}
{}{}
{\egroup\EndPicture}
\Css{.frac {vertical-align:middle;}}
>>>
\<context supp-mps\><<<
\Configure{MPcode}
{\Picture*[pic]{}}
{\EndPicture}
>>>
\<context cont-log\><<<
\def\:temp{LaTeX}
\HLet\LaTeX\:temp
>>>
\<context core-int\><<<
{
\def\:tempc{%
\catcode`\.=12
\gdef\:tempc}
\:tempc#1.#2.{#1}
}
{\Configure{Needs}{Font\string_Size: #1}%
\Needs{\expandafter\:tempc\the\bodyfontsize .}}
>>>
\<context core-spa\><<<
\Configure{crlf}{\HCode{<br />}}
>>>
\<context core-ref\><<<
\Configure{externaldocument}{\Link}{\EndLink}
\Configure{-@@ur}
{\HCode{<span class="url">}}
{\HCode{</span>}}
>>>
\<context core-rul\><<<
\Configure{framed}
{\ifvmode
\def\end:framed{\ifvmode \IgnorePar\fi\EndP\HCode{</div>}}%
\IgnorePar \EndP
\HCode{<div |<framed deco|>>}%
\else
\def\end:framed{\HCode{</span>}}%
\HCode{<span |<framed deco|>>}%
\fi
}
{\end:framed}
\Css{.framed-border{border: solid black 1px; }}
\Css{.framed-background{background-color: \#CCCCCC; }}
>>>
\<framed deco\><<<
class="framed-\ifdim\ruledlinewidth>0em
border%
\else
background%
\fi
"
>>>
% \hshow{x-\framedparameter\c!framecolor}%
% \hshow{x-\the\ruledlinewidth}%
% \hshow{x-\framedparameter\c!bottomframe}%
% \hshow{x-\framedparameter\c!topframe}%
% \hshow{x-\framedparameter\c!leftframe}%
% \hshow{x-\framedparameter\c!rightframe}%
% \hshow{x-\framedparameter\c!backgroundcolor}%
% \hshow{x-\framedparameter\c!foregroundcolor}
% \hshow{\framedparameter\c!backgroundcolor}
\<context etc\><<<
\NewConfigure{-@@ly}{2}
>>>
\<context chapter name\><<<
\v!chapter
>>>
\<context section name\><<<
\v!section
>>>
\<context subsection name\><<<
\v!subsection
>>>
\<context subsubsection name\><<<
\v!subsubsection
>>>
\<context subsubsubsection name\><<<
\v!subsubsubsection
>>>
\<context subsubsubsubsection name\><<<
\v!subsubsubsubsection
>>>
\<context chapter name pre 2006\><<<
\v!hoofdstuk
>>>
\<context section name pre 2006\><<<
\v!paragraaf
>>>
\<context subsection name pre 2006\><<<
\v!sub \v!paragraaf
>>>
\<context subsubsection name pre 2006\><<<
\v!sub \v!sub \v!paragraaf
>>>
\<context subsubsubsection name pre 2006\><<<
\v!sub \v!sub \v!sub \v!paragraaf
>>>
\<context subsubsubsubsection name pre 2006\><<<
\v!sub \v!sub \v!sub \v!sub \v!paragraaf
>>>
\<context sectioning\><<<
\Configure{sectie}
{\gHAdvance \sec:Level by 1\relax
\ifnum \sec:Level=1
\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="\cur:Name">}%
\else
\ifvmode \IgnorePar\fi
\HCode{<span class="\cur:Name">}%
\fi
}
{\ifnum \sec:Level=1
\ifvmode \IgnorePar\fi \EndP
\HCode{</div>}%
\else
\ifvmode \IgnorePar\fi
\HCode{</span>}%
\fi
\gHAdvance \sec:Level by -1\relax
}
\HAssign\sec:Level=0
>>>
\<context sectioning\><<<
\def\:tmp#1#2{%
\ConfigureMark{#1}
{\HCode{<span class="titlemark">}\finalsectionnumber
\HCode{</span>}}
\Configure{#1}%
{}{}
{\ifvmode \IgnorePar\fi \EndP\IgnorePar
\HCode{<#2 class="#1Head"\a:LRdir>}\NoFonts
\TitleMark\space\HtmlParOff
\bgroup
\let\setstrut=\empty
\let\begstrut=\empty
\let\endstrut=\empty
}
{\egroup
\EndNoFonts \HCode{</#2>}\HtmlParOn
\IgnoreIndent \par \ShowPar}
\Configure{#1TITLE+}{\finalsectionnumber\space##1}
\ifx \end:secs\empty \else
\edef\:temp{\noexpand\Configure{end#1}{\end:secs}}\:temp
\fi
\edef\end:secs{\end:secs,#1}%
\NewConfigure{#1-ko}{2}
}
\def\end:secs{}
\def\:tempd#1{\edef\:temp{\noexpand\:tmp{#1}}\:temp}
\:tempd{|<context chapter name|>}{h1}
\:tempd{|<context section name|>}{h2}
\:tempd{|<context subsection name|>}{h3}
\:tempd{|<context subsubsection name|>}{h4}
\:tempd{|<context subsubsubsection name|>}{h5}
\:tempd{|<context subsubsubsubsection name|>}{h5}
>>>
\<context toc\><<<
\Configure{placecontent}
{\ifvmode \IgnorePar\fi \EndP
\def\toc:br{\def\toc:br{\HCode{<br />}}}%
\HCode{<div class="tableofcontents"\a:LRdir>}\IgnorePar}
{}
{\IgnorePar\EndP\HCode{</div>}\ShowPar}
{} {}
\Configure{contenthead}
{\ifvmode \IgnorePar\fi \EndP \HCode{<h2>}\NoFonts}
{\ifvmode \IgnorePar\fi \EndNoFonts \HCode{</h2>}\par}
>>>
\<context toc\><<<
\ConfigureToc{part}
{\toc:br
\HCode{<span class="partToc" \a:LRdir><span class="toc-mark">}}
{\HCode{</span>}\ }
{}
{\HCode{</span>}}
>>>
\<context toc\><<<
\ConfigureToc{chapter}
{\toc:br
\HCode{<span class="chapterToc" \a:LRdir><span class="toc-mark">}}
{\HCode{</span>}\ }
{}
{\HCode{</span>}}
>>>
\<context toc\><<<
\ConfigureToc{section}
{\toc:br
\HCode{<span class="sectionToc" \a:LRdir><span class="toc-mark">}}
{\HCode{</span>}\ }
{}
{\HCode{</span>}}
>>>
\<context toc\><<<
\ConfigureToc{subsection}
{\toc:br
\HCode{<span class="subsectionToc" \a:LRdir><span class="toc-mark">}}
{\HCode{</span>}\ }
{}
{\HCode{</span>}}
>>>
\<context toc\><<<
\ConfigureToc{subsubsection}
{\toc:br
\HCode{<span class="subsubsectionToc" \a:LRdir><span class="toc-mark">}}
{\HCode{</span>}\ }
{}
{\HCode{</span>}}
>>>
\<context toc\><<<
\ConfigureToc{subsubsubsection}
{\toc:br
\HCode{<span class="subsubsubsectionToc" \a:LRdir><span class="toc-mark">}}
{\HCode{</span>}\ }
{}
{\HCode{</span>}}
>>>
\<context toc\><<<
\ConfigureToc{subsubsubsubsection}
{\toc:br
\HCode{<span class="subsubsubsubsectionToc" \a:LRdir><span class="toc-mark">}}
{\HCode{</span>}\ }
{}
{\HCode{</span>}}
>>>
\<context spacing\><<<
\Configure{narrower}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="narrower">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Css{div.narrower {margin-left:2em; margin-right:2em;}}
>>>
\<context spacing\><<<
\Configure{midaligned}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="midaligned">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par}
\Configure{leftaligned}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="leftaligned">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par}
\Configure{rightaligned}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="rightaligned">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par}
\Css{div.midaligned {text-align:center;}}
\Css{div.leftaligned {text-align:left;}}
\Css{div.rightaligned {text-align:right;}}
>>>
\<context system\><<<
\Configure{startstop}
{\ifvmode \IgnorePar \EndP
\HCode{<div class="startstop">}\par
\def\end:startstop{\ifvmode \IgnorePar \EndP \fi
\HCode{</div>}\par}%
\else
\HCode{<span class="startstop">}%
\def\end:startstop{\ifvmode \IgnorePar \HCode{</span>}\par
\else \HCode{</span>}\fi}%
\fi}
{\end:startstop}
>>>
\<context description\><<<
\Configure{description-item}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<dl class="description-item">
<dt class="description-dt">}\everypar{}}
{\HCode{</dt><dd class="description-dd">}\everypar{\HtmlPar}\par}
{\ifvmode \IgnorePar\fi \EndP
\HCode{</dd></dl>}}
>>>
\<context description\><<<
\Configure{description-word}
{\HCode{<span class="description-word">}}
{\ifvmode \IgnorePar \HCode{</span>}\par
\else \HCode{</span>}\fi}
>>>
\<context core-lst\><<<
\Configure{dolist}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="dolist">}}
{\ifvmode \IgnorePar\fi \EndP
\HCode{</div>}}
>>>
\<context item group\><<<
\Configure{itemgroup}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<dl class="\currentitemgroup">}\let\end:dd=\empty}
{\ifvmode\IgnorePar\fi \EndP \end:dd \HCode{</dl>}}
\Configure{head-listitem}
{\ifvmode\IgnorePar\fi \EndP
\end:dd \HCode{<dt class="\currentitemgroup
-head">}}
{\ifvmode\IgnorePar\fi \EndP
\HCode{</dt><dd class="\currentitemgroup -head%
">}\def\end:dd{\HCode{</dd>}}}
\Configure{symbol-listitem}
{\ifvmode\IgnorePar\fi \EndP
\end:dd \HCode{<dt class="\currentitemgroup
-symbol">}}
{\ifvmode\IgnorePar\fi \EndP
\HCode{</dt><dd class="\currentitemgroup -symbol%
">}\def\end:dd{\HCode{</dd>}}}
\Configure{other-listitem}
{\ifvmode\IgnorePar\fi \EndP
\end:dd \HCode{<dt class="\currentitemgroup
-other">}}
{\ifvmode\IgnorePar\fi \EndP
\HCode{</dt><dd class="\currentitemgroup -other%
">}\def\end:dd{\HCode{</dd>}}}
>>>
\<context item group\><<<
\Configure{itemize-group}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<dl class="dd-\itemlevel">}\global\let\end:dd=\empty}
{\ifvmode \IgnorePar\fi \EndP \HCode{</dd></dl>}}
\Configure{itemize-other-item}
{\ifvmode \IgnorePar\fi \EndP
\HCode{\ifx\end:dd\empty\else </dd>\fi<dt>}\global\let\end:dd=\relax}
{\ifvmode \IgnorePar\fi \EndP \HCode{</dt><dd>}\par}
\Css{dd p{margin-top:-1.2em; margin-bottom:1.7em;}}
>>>
\<context core-not\><<<
\HAssign\fn:c=0
\Configure{footnote}
{\HPage{}}
{\EndHPage{}}
{\HCode{<sup>}\Link{}{fnc-\fn:c}}
{\EndLink\HCode{</sup>}}
\Configure{footnotemark}
{\HCode{<sup>}\gHAdvance\fn:c by 1 \Link{fnc-\fn:c}{}}
{\ifvmode\IgnorePar\fi \EndLink\HCode{</sup>}}
>>>
\<context core-ver\><<<
\Configure{typing}
{\ifvmode \IgnorePar\fi \EndP \par \ShowPar
\def\verb:par{%
\HCode{|<show input line no|><div class="typing">}%
\gdef\verb:par{\HCode{<br />}}}%
}
{\ifvmode \IgnorePar\fi \HCode{</div>}\par}
{\verb:par}
{\HCode{\string&}\HChar{-35}\HCode{x00A0;}}
\Css{div.typing
{font-family: monospace,monospace; white-space: nowrap; }}
>>>
\<context floats\><<<
\Configure{plaatsblok}
{\ifvmode \IgnorePar\fi \EndP\HCode{<div class="float">}}
{\ifvmode \IgnorePar\fi \EndP\HCode{</div>}}
\Configure{caption}
{\HCode{<span class="caption-label">}} {\HCode{</span>}}
{\HCode{<span class="caption-text">}} {\HCode{</span>}}
>>>
Q. Where placefigure is declared?
\<context floats\><<<
\NewConfigure{figure}{2}
\Configure{figure}
{\ifvmode \IgnorePar\fi \EndP\HCode{<div class="figure">}}
{\ifvmode \IgnorePar\fi \EndP\HCode{</div>}}
\Css{div.figure {border-top:solid black 1px; border-bottom:solid black 1px;}}
>>>
\<context floats\><<<
\Configure{externalfigure}{\Picture[fig]}
\Configure{placefloat}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="place-float">}\IgnorePar }
{\ifvmode\IgnorePar\fi \EndP\HCode{</div>}}
\Css{.place-float .framed-border{ border:0px;}}
\Css{.place-float .framed-border .framed-border{ border:1px solid black;}}
\Css{.place-float { border-top:1px black solid;
border-bottom:1px black solid;
margin: 1em;
padding-top: 5px;
padding-bottom: 5px;
}}
>>>
\<context floats\><<<
\Configure{figure-li}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="entry"><span class="num">}\par\IgnorePar}
{\HCode{</span><span class="title">}}
{\HCode{</span><span class="page"><!--}}
{\HCode{--></span></div>}}
>>>
% \Configure{-@@kjfigure}
% {\HCode{<span class="figure-caption">}}
% {\HCode{</span>}}
\<context toc NO\><<<
\Configure{title-ko}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="toc-title">}%
\def\end:ko{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}\bgroup
\aftergroup\end:ko
\Configure{title-ko}{\bgroup}{\egroup}%
}
{\egroup }
>>>
%%%%%%%%%%%%%
\subsection{Tables}
%%%%%%%%%%%%%
\<context tabs\><<<
\Configure{\v!tabulate}
{\ifvmode \IgnorePar\fi
\EndP \HCode{<table class="\v!tabulate">}}
{\ifvmode\IgnorePar\fi\HCode{</table>}\par}
{\HCode{<tr>}}
{\ifvmode \IgnorePar\fi \HCode{</tr>}}
{\HCode{<td }\ifx \csname \HAlign :T:D\endcsname\relax \else
\csname \HAlign :T:D\endcsname \fi\HCode{>}}
{\HCode{</td>}}
\Css{table.tabulate td {padding-left:0.4em; padding-right:0.4em;}}
>>>
\<context core-ntb\><<<
\Configure{bTABLE}
{\ifvmode \IgnorePar \fi \EndP
\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
\HCode{<!--table \TableNo--><table class="bTABLE">}}
{\ifvmode \IgnorePar \fi
\HCode{</table>}\PopStack\Table:Stck\TableNo }
{\ifvmode \IgnorePar \fi \HCode{<!--row \rowTBL--><tr>}}
{\ifvmode \IgnorePar \fi \HCode{</tr>}}
{\expandafter\ifx \csname bTBL\rowTBL,\colTBL\endcsname\relax
\let\need:endTD\relax
\ifvmode \IgnorePar \fi \HCode{<!--}%
\else
\let\need:endTD\def
\HCode{<!--cell \rowTBL,\colTBL--><td id="TBL-\TableNo-\rowTBL-\colTBL"
\expandafter\expandafter\expandafter\bTBL:sty
\csname bTBL\rowTBL,\colTBL\endcsname
>}%
\Configure{framed}
{\Css{td\#TBL-\TableNo-\rowTBL-\colTBL{
padding-left:5pt; padding-right:5pt; border:solid black 1px;
}}}%
{}%
\fi
}
{\ifvmode \IgnorePar \fi \EndP
\ifx \need:endTD\def
\HCode{</td>}
\else
\HCode{-->}
\fi
}
\def\bTBL:sty#1#2{%
\ifnum #1>1 \space rowspan="#1"\fi
\ifnum #2>1 \space colspan="#2" style="text-align:center;"\fi
}
\Css{table.bTABLE p{margin-top:0em; margin-bottom:0em;}}
\Css{table.bTABLE{margin-left:10\%; margin-right:10\%;
margin-top:1em; margin-bottom:1em;
}}
\Css{table.bTABLE {border-spacing:0px;
border-top: solid black 1px;
border-bottom: solid black 1px; }}
>>>
\<\><<<
\Configure{bTABLE}
{\ifvmode \IgnorePar \fi \EndP
\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
\HCode{<!--table \TableNo--><table class="bTABLE">}}
{\ifvmode \IgnorePar \fi
\HCode{</table>}\PopStack\Table:Stck\TableNo }
{\ifvmode \IgnorePar \fi \HCode{<!--row \rowTBL--><tr>}}
{\ifvmode \IgnorePar \fi \HCode{</tr>}}
{\ifTag{cell-\TableNo-\rowTBL-\colTBL}%
{\tmp:cnt=\LikeRef{cell-\TableNo-\rowTBL-\colTBL}}{\tmp:cnt=1}%
\HCode{<!--cell \rowTBL,\colTBL--><td id="TBL-\TableNo-\rowTBL-\colTBL"
\ifnum \tmp:cnt>1
colspan="\the\tmp:cnt"
style="text-align:center;"
\fi>}%
\let\col:TBL\colTBL
\Configure{framed}
{\Css{td\#TBL-\TableNo-\rowTBL-\colTBL{
padding-left:5pt; padding-right:5pt; border:solid black 1px;
}}}%
{}%
}
{\tmp:cnt=\colTBL
\advance\tmp:cnt by - \col:TBL
\ifnum \tmp:cnt>1
\Tag{cell-\TableNo-\rowTBL-\col:TBL}{\the\tmp:cnt}%
\fi
\ifvmode \IgnorePar \fi \EndP
\HCode{</td>}}
\Css{table.bTABLE {border-spacing:0px;
border-top: solid black 1px;
border-bottom: solid black 1px; }}
>>>
\<context tables\><<<
\Configure{table}
{\PushStack\Table:Stck\TableNo
\PushStack\Row:Stck\HRow \HAssign\HRow=0\relax
\PushStack\Col:Stck\Prev:Col
\gHAdvance\Table:No by 1\relax
\HAssign\TableNo=\Table:No\relax
\ifvmode \IgnorePar\fi \EndP\halignTB{table}\putVBorder
}
{\HCode{</table>}%
\PopStack\Table:Stck\TableNo
\PopStack\Row:Stck\HRow
\PopStack\Col:Stck\Prev:Col
}
{\gHAdvance\HRow by 1
\HCode{<tr class="TBL-\TableNo-\HRow">}%
\currentTABLEcolumn=0 \gHAssign\Prev:Col=0 }
{\HCode{</tr>}}
{\HAssign\HCol=\the\currentTABLEcolumn\relax
\HAssign\HMultispan=\HCol\relax
\HAdvance\HMultispan by -\Prev:Col\relax
\gHAssign\Prev:Col=\HCol\relax
\HAdvance\HCol by 1\relax
\ifnum \HMultispan>1 \HAdvance\HCol by 1
\HAdvance\HCol by -\HMultispan\relax \fi
\HCode{\Hnewline<td class="TBL-\TableNo-\HRow-\HCol" }%
\halignTD
\HCode{ \ifnum \HMultispan>1 colspan="\HMultispan" \fi >}%
\gdef\dd:table{%
\gdef\dd:table{}%
\x:tableCell
\d:table}%
\def\x:tableCell{\e:tableCell \global\let\x:tableCell=\empty}%
}
{\HCode{</td>}}
\HAssign\Table:No=0
\HAssign\TableNo=0
\HAssign\Prev:Col=0
\HAssign\HRow=0
>>>
\<context tables\><<<
\Configure{tableCell}
{\e:table\HCode{<div class="cell-1">}\ShowPar\par}
{\e:table\HCode{<div class="cell-2">}\ShowPar\par}
{\e:table\HCode{<div class="cell-3">}\ShowPar\par}
{\e:table\HCode{<div class="cell-4">}\ShowPar\par}
{\ifvmode \IgnorePar\fi \EndP\HCode{</div>}\f:table}
>>>
\<context tables\><<<
\let\VBorder\empty \let\AllColMargins\empty
\Configure{VBorder}
{\let\VBorder\empty
\let\AllColMargins\empty
\global\let\GROUPS\empty
\HAssign\NewGroup = 0
}
{%
\let\:temp\TableNo \let\TableNo=\relax
\edef\VBorder{\VBorder\ifnum \NewGroup> 0 </colgroup>\fi}%
\let\TableNo\:temp
\HAssign\NewGroup = 0
\gdef\GROUPS{rules="groups"}%
}
{\Advance:\NewGroup by 1
\let\:temp\TableNo \let\TableNo=\relax
\ifnum \NewGroup=1 \edef\VBorder{\VBorder<colgroup
id="TBL-\TableNo-\ar:cnt g">}\fi
\edef\VBorder{\VBorder<col\Hnewline id="TBL-\TableNo
-\ar:cnt"\xml:empty>}\xdef\AllColMargins{\AllColMargins1}%
\let\TableNo\:temp
}
{%
\let\:temp\TableNo \let\TableNo=\relax
\edef\AllColMargins{\AllColMargins 0}%
\let\TableNo\:temp
}
\Css{table.table td {vertical-align:top;}}
>>>
\<context tables\><<<
\Css{table.table td { padding-left:3pt; padding-right:3pt; }}
\Configure{halignTB}{\HCode{<table }}{\HCode{>}}
\Configure{halignTB<>}{table}{\HCode{id="TBL-\TableNo" class="table"\Hnewline
\GROUPS\Hnewline
}<>\HAlign}
\Css{table[rules] {border-left:solid black 0.4pt;
border-right:solid black 0.4pt; }}
>>>
\<context tables\><<<
\Configure{TABLElongrule}{\HCode{<hr />}}
\Configure{TableHL}
{\TABLEnoalign{%
\HCode{<tr>}%
\tmp:cnt=\maxTABLEcolumn
\advance\tmp:cnt by 2
\HCode{<td colspan="\the\tmp:cnt"><hr /></td>}%
\HCode{</tr>}}%
}
>>>
\<context tables\><<<
\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;"}}
{l}{\HCode{ style="white-space:nowrap; text-align:left;"}}
{c}{\HCode{ style="white-space:nowrap; text-align:center;"}}
{r}{\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:normal; text-align:left;"}%
\Protect\a:HColWidth}
{m}{\HCode{ style="white-space:nowrap;
text-align:left; vertical-align:middle;"}\Protect\a:HColWidth}
{b}{\HCode{ style="white-space:nowrap; text-align:left;
vertical-align:baseline;"}\Protect\a:HColWidth}
{}
>>>
\<context index\><<<
\Configure{index}
{\Link{}{in-\nextinternalreference}\EndLink}
\Configure{indexpage}{%
\gHAdvance\Idx:No by 1 #1%
{#2}%
{#3}%
{#4}%
{\Link{in-#3}{}\Idx:No\EndLink}}
\HAssign\Idx:No = 0
>>>
\<context index\><<<
\Configure{indexchar}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="indexchar">}}
{\HCode{</div>}\par}
\Css{div.indexchar{margin-top:0.2em; margin-bottom:0.1pt;}}
>>>
\<context index\><<<
\Configure{index-env}
{\ifvmode \IgnorePar\fi \EndP\HCode{<div class="index-env">}\par}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par}
\Css{div.index-env p{margin-top:0em; margin-bottom:0em;}}
\NewConfigure{-@@idindex}{2}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{letters}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 g-brief\><<<
\Configure{g-brief}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="g-brief">}%
\let\sv:@imakebox\@imakebox
\let\sv:br=\\ \def\\{\HCode{</tr><tr>}}%
\let\:clearpage\clearpage
\def\clearpage{\let\clearpage\:clearpage
\ifvmode \IgnorePar\fi \EndP
\HCode{<table class="date"><tr>}%
\IgnorePar
}%
\let\brf:par\par
\def\@imakebox[##1][##2]##3{%
\HCode{<td class="makebox-##2">}%
\bgroup \let\\=\sv:br \let\@imakebox\sv:@imakebox
\let\par\sv:par
##3%
\egroup
\HCode{</td>}%
\def\par{\let\par\brf:par
\ifvmode \IgnorePar\fi \EndP
\HCode{</tr></table>}}%
}%
}
{\let\\=\sv:br \let\@imakebox\sv:@imakebox
\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="end-g-brief">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Css{table.date {width:100\%; margin-top:2em;}}
\Css{table.date td{white-space: nowrap;}}
>>>
\<configure html4 g-brief\><<<
\Configure{letterfoot}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="letterfoot">}}
{}
{\HCode{</div>}}
\Configure{letterhead}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="letterhead"><table
class="from"><tr><td class="name">}}
{\HCode{</td><td class="address">}}
{\ifvmode \IgnorePar\fi \EndP
\HCode{</td></tr></table><div class="retouradresse">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div><div class="postage">}}
{\HCode{</div></div>}}
\Css{.letterfoot .tabular {text-align: left; margin-top:4em; }}
\Css{table.from {width:100\%; margin-bottom:2em;}}
\Css{table.from .address table {width:100\%;}}
\Css{.makebox-r {text-align:right;}}
>>>
\<configure html4 g-brief\><<<
\Configure{datumtext}
{\HCode{<span class="datumtext">}}
{\HCode{</span>}}
\Configure{datum}
{\HCode{<span class="datum">}}
{\HCode{</span>}\IgnorePar}
\Configure{anrede}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="anrede">}}
{\HCode{</div>}}
\Configure{betreff}
{\ifvmode \IgnorePar\fi \EndP\HCode{<div class="betreff">}}
{\HCode{</div>}}
\Css{.betreff{margin-top:2em; margin-bottom:1em;}}
\Configure{gruss}
{\HCode{<span class="gruss">}}
{\HCode{</span>}}
\Configure{unterschrift}
{\HCode{<span class="unterschrift">}}
{\HCode{</span>}}
\Configure{anlagen}
{\HCode{<span class="anlagen">}}
{\HCode{</span>}}
\Configure{verteiler}
{\HCode{<span class="verteiler">}}
{\HCode{</span>}}
\Configure{sprache}
{\HCode{<span class="sprache">}}
{\HCode{</span>}}
\Configure{telefontex}
{\HCode{<span class="telefontex">}}
{\HCode{</span>}}
\Configure{telefaxtext}
{\HCode{<span class="telefaxtext">}}
{\HCode{</span>}}
\Configure{telextext}
{\HCode{<span class="telextext">}}
{\HCode{</span>}}
\Configure{emailtext}
{\HCode{<span class="emailtext">}}
{\HCode{</span>}}
\Configure{httptext}
{\HCode{<span class="httptext">}}
{\HCode{</span>}}
\Configure{banktext}
{\HCode{<span class="banktext">}}
{\HCode{</span>}}
\Configure{blztext}
{\HCode{<span class="blztext">}}
{\HCode{</span>}}
\Configure{betrefftext}
{\HCode{<span class="betrefftext">}}
{\HCode{</span>}}
\Configure{ihrzeichentext}
{\HCode{<span class="ihrzeichentext">}}
{\HCode{</span>}}
\Configure{ihrschreibentext}
{\HCode{<span class="ihrschreibentext">}}
{\HCode{</span>}}
\Configure{meinzeichentext}
{\HCode{<span class="meinzeichentext">}}
{\HCode{</span>}}
\Configure{unserzeichentext}
{\HCode{<span class="unserzeichentext">}}
{\HCode{</span>}}
\Configure{anlagen}
{\HCode{<span class="anlagen">}}
{\HCode{</span>}}
\Configure{adresse}
{\HCode{<span class="adresse">}}
{\HCode{</span>}}
\Configure{bank}
{\HCode{<span class="bank">}}
{\HCode{</span>}}
\Configure{blz}
{\HCode{<span class="blz">}}
{\HCode{</span>}}
\Configure{email}
{\HCode{<span class="email">}}
{\HCode{</span>}}
\Configure{gruss}
{\HCode{<span class="gruss">}}
{\HCode{</span>}}
\Configure{grussskip}
{\HCode{<span class="grussskip">}}
{\HCode{</span>}}
\Configure{http}
{\HCode{<span class="http">}}
{\HCode{</span>}}
\Configure{ihrschreiben}
{\HCode{<span class="ihrschreiben">}}
{\HCode{</span>}}
\Configure{ihrzeichen}
{\HCode{<span class="ihrzeichen">}}
{\HCode{</span>}}
\Configure{konto}
{\HCode{<span class="konto">}}
{\HCode{</span>}}
\Configure{land}
{\HCode{<span class="land">}}
{\HCode{</span>}}
\Configure{meinzeichen}
{\HCode{<span class="meinzeichen">}}
{\HCode{</span>}}
\Configure{name}
{\HCode{<span class="name">}}
{\HCode{</span>}}
\Configure{ort}
{\HCode{<span class="ort">}}
{\HCode{</span>}}
\Configure{postvermerk}
{\HCode{<span class="postvermerk">}}
{\HCode{</span>}}
\Configure{retouradresse}
{\HCode{<span class="retouradresse">}}
{\HCode{</span>}}
\Css{div.retouradresse { margin-bottom:2em; }}
\Configure{strasse}
{\HCode{<span class="strasse">}}
{\HCode{</span>}}
\Configure{telefax}
{\HCode{<span class="telefax">}}
{\HCode{</span>}}
\Configure{telefon}
{\HCode{<span class="telefon">}}
{\HCode{</span>}}
\Configure{telex}
{\HCode{<span class="telex">}}
{\HCode{</span>}}
\Configure{unterschrift}
{\HCode{<span class="unterschrift">}}
{\HCode{</span>}}
\Configure{verteiler}
{\HCode{<span class="verteiler">}}
{\HCode{</span>}}
\Configure{zusatz}
{\HCode{<span class="zusatz">}}
{\HCode{</span>}}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{mwcls}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<mwcls index\><<<
\Configure{@begin}{theindex}{\section*{\indexname}}
\Configure{theindex}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="theindex">}\HCode{<p class="theindex">}\def\end:theidx{\HCode{</p>}}}
{\end:theidx\HCode{</div>}}
{} {\HCode{<br />}\hfil\break}
{\ \ \ \ } {\HCode{<br />}\hfil\break}
{\ \ \ \ \ \ \ \ } {\HCode{<br />}\hfil\break}
{\hbox{\end:theidx\HCode{<p class="theindex">}}}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Into Columns}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<book-report-article index\><<<
\def\:temp#1index=#2,#3|<par del|>{%
\ifnum #2>1 |<conf multi cols|>\fi
\def\:temp{#2}%
}
\expandafter\:temp\Preamble,index=0,|<par del|>
\ifnum \:temp<2
|<one-col index|>
\else
|<mult-col index|>
\fi
\Css{.theindex-letter{ margin-top: 1em;}}
\Css{.index-subitem{ margin-left: 2ch;}}
\Css{.index-subsubitem{ margin-left: 4ch;}}
>>>
The \verb=\Configure{IndexColumns}= instruction is to allow documents
that have more than one index to employ different number of columns.
The `index=i' provides the initial setting.
\<one-col index\><<<
\Log:Note{for i-columns index,
use the command line option `index=i' (e.g., index=2)}
\Configure{theindex}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="theindex">}\HCode{<div class="theindex-letter">}\def\end:theidx{\HCode{</div>}}}
{\end:theidx\HCode{</div>}}
{\hbox\bgroup\HCode{<div class="index-item">}}
{\HCode{</div>}\egroup\hfill\break}
{\hbox\bgroup\HCode{<div class="index-subitem">}}
{\HCode{</div>}\egroup\hfill\break}
{\hbox\bgroup\HCode{<div class="index-subsubitem">}}
{\HCode{</div>}\egroup\hfill\break}
{\hbox{\end:theidx\HCode{<div class="theindex-letter">}}}
>>>
\<one-col index old\><<<
\Configure{theindex}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="theindex">}\HCode{<p class="theindex">}\def\end:theidx{\HCode{</p>}}}
{\end:theidx\HCode{</div>}}
{\hbox\bgroup\HCode{<span class="index-item">}}
{\HCode{<br /></span>}\egroup\hfill\break}
{\hbox\bgroup\HCode{<span class="index-subitem">}\ \ \ \ }
{\HCode{<br /></span>}\egroup\hfill\break}
{\hbox\bgroup\HCode{<span class="index-subsubitem">}\ \ \ \ \ \ \ \ }
{\HCode{<br /></span>}\egroup\hfill\break}
{\hbox{\end:theidx\HCode{<p class="theindex">}}}
\Css{.index-item, .index-subitem, .index-subsubitem {display:block}}
>>>
\<one-col indexOLD\><<<
\Log:Note{for i-columns index,
use the command line option `index=i' (e.g., index=2)}
\Configure{theindex}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="theindex">}\HCode{<p class="theindex">}\def\end:theidx{\HCode{</p>}}}
{\end:theidx\HCode{</div>}}
{} {\hfil\break\HCode{<br />}}
{\ \ \ \ } {\hfil\break\HCode{<br />}}
{\ \ \ \ \ \ \ \ } {\hfil\break\HCode{<br />}}
{\hbox{\end:theidx\HCode{<p class="theindex">}}}
>>>
\<conf multi cols\><<<
\NewConfigure{IndexColumns}{1}
\Configure{IndexColumns}{#2}
>>>
\<mult-col index\><<<
\Log:Note{the number of columns
requested by the option `index=\a:IndexColumns' can
be modified through the command \string\Configure{IndexColumns}{i}}
\Configure{theindex}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="theindex" style="columns:\a:IndexColumns">}\HCode{<div class="theindex-letter">}\def\end:theidx{\HCode{</div>}}}
{\end:theidx\HCode{</div>}}
{\hbox\bgroup\HCode{<div class="index-item">}}
{\HCode{</div>}\egroup\hfill\break}
{\hbox\bgroup\HCode{<div class="index-subitem">}}
{\HCode{</div>}\egroup\hfill\break}
{\hbox\bgroup\HCode{<div class="index-subsubitem">}}
{\HCode{</div>}\egroup\hfill\break}
{\hbox{\end:theidx\HCode{<div class="theindex-letter">}}}
>>>
\<mult-col indexOLD\><<<
\Configure{theindex}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="theindex">}%
|<index mult cols|>\let\end:theidx|=\empty}
{\end:theidx
|<end index mult cols|>\HCode{</div>}}
{\hbox\bgroup\HCode{<span class="index-item">}}
{\HCode{<br /></span>}\egroup\hfill\break}
{\hbox\bgroup\HCode{<span class="index-subitem">}\ \ \ \ }
{\HCode{<br /></span>}\egroup\hfill\break}
{\hbox\bgroup\HCode{<span class="index-subsubitem">}\ \ \ \ \ \ \ \ }
{\HCode{<br /></span>}\egroup\hfill\break}
{%\ifvmode \EndP\fi
% \hbox{\end:theidx\HCode{<p class="theindex">}}%
% \def\end:theidx{\HCode{</p>}}
\parindent=0pt
}%
\Css{.index-item, .index-subitem, .index-subsubitem {display:block}}
\Css{br.index-segment:first-child {display:none}}
\Css{.index-item br,
.index-subitem br,
.index-subsubitem br {display:none}}
>>>
\<mult-col indexOLD\><<<
\Log:Note{the number of columns
requested by the option `index=\a:IndexColumns' can
be modified through the command \string\Configure{IndexColumns}{i}}
\Configure{theindex}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="theindex">}%
|<index mult cols|>\let\end:theidx|=\empty}
{\end:theidx
|<end index mult cols|>\HCode{</div>}}
{} {\hfil\break\HCode{<br />}}
{\ \ \ \ } {\hfil\break\HCode{<br />}}
{\ \ \ \ \ \ \ \ } {\hfil\break\HCode{<br />}}
{%\ifvmode \EndP\fi
% \hbox{\end:theidx\HCode{<p class="theindex">}}%
% \def\end:theidx{\HCode{</p>}}
\parindent=0pt
}%
>>>
\<index mult cols\><<<
\Configure{HColumns}
{\IgnorePar\EndP
\HCode{<table \Hnewline class="index" width="100\%"
cellspacing="15"><tr style="vertical-align:top;">}}
{\HCode{</tr></table>}}
{\HCode{<td>}\ColMag{1.1}}
{\IgnorePar\EndP\HCode{</td>}}
\HColumns{\a:IndexColumns}%
\everypar{\HtmlPar}%
\Configure{HtmlPar}{}{\HCode{<br class="index-segment" />}}{}{}%
\par\ShowPar
>>>
\<end index mult cols\><<<
\ifvmode\IgnorePar\fi \EndP\EndHColumns
>>>
\<mult-col index\><<<
\def\add:col{\Advance:\:cols -1 \HAdvance\HCol 1\relax
\ifnum \:cols>0
\c:Cols \vsplit0 to \tmp:dim \d:Cols \expandafter\add:col
\fi}
\NewConfigure{HColumns}{4}
\def\c:Cols{\edef\sv:dim{\the\tmp:dim}\c:HColumns}
\def\d:Cols{\d:HColumns \tmp:dim\sv:dim }
\def\ColMag#1{\tmp:dim #1\tmp:dim}
\def\HColumns#1{%
\a:HColumns
\HAssign\:cols#1 \setbox0=\vbox\bgroup
\divide\hsize #1 }
\def\EndHColumns{\egroup \HAssign\HCol0
\tmp:dim\ht0 \advance\tmp:dim \dp0 \divide\tmp:dim \:cols
\add:col \c:Cols \box0 \d:Cols \b:HColumns}
>>>
%%%%%%%%%%%%%
\section{Glossary}
%%%%%%%%%%%%%
\<configure html4 glossary\><<<
\Configure{gloskip}{list}{\item[]\HCode{<p class="gloskip"></p>}}
\Configure{gloskip}{altlist}{\item[]\HCode{<p class="gloskip"></p>}}
\Configure{gloskip}{super}{\cr\HCode{<p class="gloskip"></p>}}
\Configure{gloskip}{long}{\cr\HCode{<p class="gloskip"></p>}}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Glossaries}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 glossaries\><<<
\Configure{glossentry}
{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="glossary">}}
{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}}
\Configure{glsgroupskip}{\ifvmode\Ignore\Par\fi\EndP\HCode{<div class="glsgroupskip"></div>\Hnewline}}
\Css{.glsgroupskip{margin-bottom:1rem;}}
\Css{.glsgroupskip + .glsgroupskip{margin-bottom: 0;}}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Captions}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<config captions\><<<
\Configure{caption}{\HCode{\if:nopar \else <br />\fi}
\:xhtml{\IgnorePar\EndP}\HCode{<div class="caption"\Hnewline
><span class="id">}}
{: } {\HCode{</span><span \Hnewline class="content">}}
{\HCode{</span></div>}\HCode{<!--tex4ht:label?:
\cur:th\:currentlabel\space-->}%
}
\Css{div.caption {text-indent:-2em; margin-left:3em; margin-right:1em;
text-align:center; margin-top: 0.5rem;}}
\Css{div.caption span.id{font-weight: bold; white-space: nowrap; }}
>>>
\<\><<<
\Configure{caption}{\HCode{\if:nopar \else <br />\fi}
\:xhtml{\IgnorePar\EndP}\HCode{<table class="caption"\Hnewline><tr
style="vertical-align:baseline;" class="caption"><td class="id">}}
{: } {\HCode{</td><td \Hnewline class="content">}}
{\HCode{</td></tr></table>}|<caption label comment|>}
\Css{.caption td.id{font-weight: bold; white-space: nowrap; }}
\Css{table.caption {text-align:center;}}
>>>
\<apa captions\><<<
\Configure{caption}{\HCode{\if:nopar \else <br />\fi}
\:xhtml{\IgnorePar\EndP}\HCode{<table class="caption"\Hnewline><tr
style="vertical-align:baseline;" class="caption"><td class="id">}}
{ } {\HCode{</td><td \Hnewline class="content">}}
{\HCode{</td></tr></table>}|<caption label comment|>}
\Css{table.caption {text-align:left;}}
>>>
\<scr reprt/book captions\><<<
\Configure{caption}{\HCode{\if:nopar \else <br />\fi}
\:xhtml{\IgnorePar\EndP}\HCode{<div
class="caption"><table class="caption"\Hnewline><tr
style="vertical-align:baseline;" class="caption"><td class="id">}}
{: } {\HCode{</td><td \Hnewline class="content">}}
{\HCode{</td></tr></table></div>}|<caption label comment|>%
}
\Css{.caption td.id{font-weight: bold; white-space: nowrap; }}
\Css{div.caption {text-align:center;}}
>>>
\<amsppt captions\><<<
\Configure{caption}
{\:xhtml{\IgnorePar\EndP}\HCode{<div class="caption">}}{}{\HCode{</div>}}
\Css{div.caption {text-align:center;}}
>>>
\<config span caption\><<<
\Configure{caption}
{\HCode{<br /><span class="caption"><span class="id">}}
{\HCode{</span>}: }{}{\HCode{</span><br />}}%
>>>
\<caption label comment\><<<
\HCode{<!--tex4ht:label?:
\cur:th\:currentlabel\space-->}%
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Footnotes}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Originating Packages}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<latex ltfloat (footnotes)\><<<
|<shared config footnotes|>
\:CheckOption{fn-in}\if:Option
|<inline footnote latex|>
\else
\Log:Note{for inline footnotes use
command line option `fn-in'}
|<offline footnote latex|>
\fi
>>>
\<configure html4 plain\><<<
\:CheckOption{fn-in}\if:Option
|<inline footnote plain|>
\else
\Log:Note{for inline footnotes, use
the command line option `fn-in'}
|<offline footnote plain|>
\fi
>>>
\<maketitle footnote\><<<
\:CheckOption{fn-in}\if:Option
|<end-thanks author date and|>
\else
|<config thanks author date and|>
\fi
>>>
\<revtex maketitle footnote\><<<
\:CheckOption{fn-in}\if:Option
|<revtex end-thanks author date and|>
\else
|<revtex config thanks author date and|>
\fi
>>>
\<JHEP maketitle footnote\><<<
\:CheckOption{fn-in}\if:Option
|<JHEP end-thanks author date and|>
\else
|<JHEP thanks author date and|>
\fi
>>>
%%%%%%%%%%%%%%%%
\subsection{In-Line LaTeX}
%%%%%%%%%%%%%%%%
\<inline footnote latex\><<<
\:CheckOption{mouseover} \if:Option
|<mouseover inline footnote mark|>
|<mouseover inline footnote text|>
|<mouseover inline footnote|>
|<onmouseover footnote css|>
\else
|<inline footnote mark|>
|<inline footnote text|>
|<inline footnote|>
\fi
>>>
\<inline footnote text\><<<
\Configure{footnotetext}
{|<open inline footnote box|>%
\AnchorLabel%
|<fn mark sup|>|<inline fn text /Link|>%
\NoFonts
\Tag{|<footnote id|>-bk}{}%
\special{t4ht@(}%
}
{\special{t4ht@)}\EndNoFonts
|<end inline fn text /Link|>|<fn mark end sup|>}
{\expandafter\global\expandafter
\let\csname (|<footnote id|>)\endcsname\def
|<close inline footnote box|>}
>>>
\<inline footnote mark\><<<
\Configure{footnotemark}
{|<fn mark sup|>|<inline fn mark /Link|>%
\NoFonts
\Tag{|<footnote id|>}{}}
{\EndNoFonts
|<end inline fn mark /Link|>|<fn mark end sup|>%
\expandafter\global\expandafter
\let\csname (|<footnote id|>-bk)\endcsname\def}
>>>
\<mouseover inline footnote text\><<<
\Configure{footnotetext}
{|<open inline footnote box|>%
|<js footnote|>%
|<fn mark sup|>|<inline fn text /Link|>%
\NoFonts \Tag{|<footnote id|>-bk}{}%
}
{\EndNoFonts |<end inline fn text /Link|>|<fn mark end sup|>}
{\expandafter\global\expandafter
\let\csname (|<footnote id|>)\endcsname\def
|<js /footnote|>%
|<close inline footnote box|>}
>>>
\<mouseover inline footnote mark\><<<
\Configure{footnotemark}
{|<fn mark sup|>|<mouseover inline fn mark /Link|>%
\NoFonts
\Tag{|<footnote id|>}{}}
{\EndNoFonts
|<end inline fn mark /Link|>|<fn mark end sup|>%
\expandafter\global\expandafter
\let\csname (|<footnote id|>-bk)\endcsname\def}
>>>
\<inline fn text /Link\><<<
\ifTag{|<footnote id|>}
{\expandafter\ifx\csname (|<footnote id|>)\endcsname\def
\Link{|<footnote id|>-bk}{}%
\else
\Link{|<footnote id|>-bk}{|<footnote id|>}%
\fi
}
{\expandafter\ifx\csname (|<footnote id|>)\endcsname\def
\else \Link{}{|<footnote id|>}\fi
}%
>>>
\<end inline fn text /Link\><<<
\ifTag{|<footnote id|>}
{\EndLink}
{\expandafter\ifx\csname (|<footnote id|>)\endcsname\def
\else \EndLink\fi
}%
>>>
\<mouseover inline fn mark /Link\><<<
|<start js|>%
\ifTag{|<footnote id|>-bk}
{\expandafter\ifx\csname (|<footnote id|>-bk)\endcsname\def
\Link[ |<mouseover-footnote arguments|>\Hnewline
]{|<footnote id|>}{}%
\else
\Link[ |<mouseover-footnote arguments|>\Hnewline
]{|<footnote id|>}{|<footnote id|>-bk}%
\fi
}
{\expandafter\ifx\csname (|<footnote id|>-bk)\endcsname\def
\else \Link[ |<mouseover-footnote arguments|>\Hnewline
]{}{|<footnote id|>-bk}\fi
}%
>>>
\<inline fn mark /Link\><<<
\ifTag{|<footnote id|>-bk}
{\expandafter\ifx\csname (|<footnote id|>-bk)\endcsname\def
\Link{|<footnote id|>}{}%
\else
\Link{|<footnote id|>}{|<footnote id|>-bk}%
\fi
}
{\expandafter\ifx\csname (|<footnote id|>-bk)\endcsname\def
\else \Link{}{|<footnote id|>-bk}\fi
}%
>>>
\<end inline fn mark /Link\><<<
\ifTag{|<footnote id|>-bk}
{\EndLink}
{\expandafter\ifx\csname (|<footnote id|>-bk)\endcsname\def
\else \EndLink\fi
}%
>>>
\<open inline footnote box\><<<
\SaveEndP\global\setbox\fn:box=\vtop\bgroup\ShowPar
\ifvoid\fn:box\else \csname unvbox\endcsname\fn:box\fi
\ifvmode\IgnorePar\fi\EndP\HCode{<aside role="doc-footnote" class="footnotetext">}\par\noindent\ShowPar
>>>
\<close inline footnote box\><<<
\ifvmode\IgnorePar\fi\EndP\HCode{</aside>\Hnewline}\egroup\RecallEndP\ShowPar
>>>
\<save inline footnotes\><<<
\ifvoid \fn:box \else
\expandafter \ifx \csname fn:box\body:level\endcsname\relax
\csname newbox\expandafter\endcsname
\csname fn:box\body:level\endcsname
\fi
\global\expandafter\setbox\csname fn:box\body:level\endcsname=
\vbox{\csname unvbox\endcsname\fn:box}%
\fi
\gHAdvance\body:level by 1
>>>
\<recall inline footnotes\><<<
\gHAdvance\body:level by -1
\expandafter \ifx \csname fn:box\body:level\endcsname\relax \else
\global\setbox\fn:box=
\vbox{\expandafter\ifvoid \csname fn:box\body:level\endcsname \else
\csname unvbox\expandafter\endcsname
\csname fn:box\body:level\endcsname\fi}%
\fi
>>>
\<insert inline footnotes\><<<
\ifvmode \IgnorePar\fi\EndP
\ifvoid \fn:box\else
\HCode{<div class="footnotes">}\box\fn:box\HCode{</div>}
\IgnorePar\EndP
\fi
>>>
\<file tag into footnote\><<<
(L >>>
\<link tag to footnotetext\><<<
)Q>>>
\<mouseover inline footnote\><<<
\Configure{BODY}
{|<save inline footnotes|>\:xhtml{\SaveEndP}\IgnorePar
\HCode{<body\Hnewline\csname a:!BODY\endcsname
>}|<overDiv|>\ShowPar\par}
{|<insert inline footnotes|>%
\relax \ifnum \FileNumber=1
|<ol-hauto mouseover-script|>%
\fi
\HCode{\Hnewline
</body>}\:xhtml{\RecallEndP}|<recall inline footnotes|>}%
>>>
\<inline footnote\><<<
\Configure{BODY}
{|<save inline footnotes|>\:xhtml{\SaveEndP}\IgnorePar
\HCode{<body\Hnewline\csname a:!BODY\endcsname >}\ShowPar\par}
{|<insert inline footnotes|>\HCode{\Hnewline
</body>}\:xhtml{\RecallEndP}|<recall inline footnotes|>}%
>>>
\<inline footnote latex\><<<
\Configure{crosslinks+}
{\ifvmode\IgnorePar\fi\EndP\HCode{|<show input line no|>%
<div class="crosslinks"><p class="noindent">}}
{\HCode{</p></div>}\par\ShowPar}
{|<insert inline footnotes|>%
\ifvmode \IgnorePar\fi \EndP
\HCode{|<show input line no|>%
<div class="crosslinks"><p class="noindent">}}
{\HCode{</p></div>}\par\ShowPar}
>>>
\<inline footnote latex\><<<
\Css{div.footnotes{border-top:solid 1px black;
border-bottom:solid 1px black;
padding-bottom:1ex;
padding-top:0.5ex;
margin-right:15\%; margin-top:2ex;
font-style:italic; font-size:85\%;}}
\Css{div.footnotes p{margin-top:0; margin-bottom:0; text-indent:0;}}
\ifx \fn:box\:UnDef \csname newbox\endcsname\fn:box \fi
\HAssign\body:level=0
>>>
%%%%%%%%%%%%%%%%
\subsection{Off-Line in latex}
%%%%%%%%%%%%%%%%
\<offline footnote latex\><<<
\:CheckOption{mouseover} \if:Option
|<onmouseover offline footnote mark|>
|<onmouseover offline footnote text|>
|<onmouseover footnote css|>
\AtEndDocument{|<ol-hauto mouseover-script|>}
\else \:CheckOption{frames-fn} \if:Option
|<frames footnote mark|>
|<frames footnote text|>
\else
|<default offline footnote mark|>
|<default offline footnote text|>
\fi \fi
>>>
\<default offline footnote text\><<<
\Configure{footnotetext}
{|<open footnote page|>%
|<fn mark sup|>\AnchorLabel\Link{}{|<footnote id|>}%
\NoFonts%
}
{\EndNoFonts \EndLink|<fn mark end sup|>}
{|<close footnote page|>}
>>>
\<default offline footnote mark\><<<
\Configure{footnotemark}
{|<fn mark sup|>|<footnotemark link|>\NoFonts
\Tag{|<footnote id|>}{}}
{\EndNoFonts |<end footnotemark link|>|<fn mark end sup|>}
>>>
\<onmouseover offline footnote text\><<<
\Configure{footnotetext}
{|<js open footnote page|>%
|<fn mark sup|>\Link{}{|<footnote id|>}%
\NoFonts
}
{\EndNoFonts \EndLink|<fn mark end sup|>}
{|<js close footnote page|>}
>>>
\<onmouseover offline footnote mark\><<<
\Configure{footnotemark}
{|<fn mark sup|>|<js footnotemark link|>\NoFonts
\Tag{|<footnote id|>}{}}
{\EndNoFonts
|<end js footnotemark link|>|<fn mark end sup|>}
>>>
\<frames footnote text\><<<
\Configure{footnotetext}
{|<open frames footnote page|>%
|<fn mark sup|>\Link{}{|<footnote id|>}\NoFonts
}
{\EndNoFonts\EndLink|<fn mark end sup|>}
{|<close frames footnote page|>}
>>>
\<frames footnote mark\><<<
\Configure{footnotemark}
{|<fn mark sup|>|<frames footnotemark link|>\NoFonts
\Tag{|<footnote id|>}{}}
{\EndNoFonts
|<end frames footnotemark link|>|<fn mark end sup|>}
>>>
\<open footnote page\><<<
\ifTag{|<footnote id|>}
{\expandafter\ifx\csname (|<footnote id|>)\endcsname\def
\:warning{Multiple footnote texts for mark \FNnum}%
\else \csname a:footnote-text\endcsname\fi
}
{}%
>>>
\<close footnote page\><<<
\ifTag{|<footnote id|>}
{\expandafter\ifx\csname (|<footnote id|>)\endcsname\def
\else \csname b:footnote-text\endcsname\fi
}
{}%
\expandafter\global\expandafter
\let\csname (|<footnote id|>)\endcsname\def
>>>
\<js open footnote page\><<<
\ifTag{|<footnote id|>}
{\expandafter\ifx\csname (|<footnote id|>)\endcsname\def
\:warning{Multiple footnote texts for mark \FNnum}%
\else \csname a:footnote-text\endcsname\fi
}
{}%
>>>
\<js close footnote page\><<<
\ifTag{|<footnote id|>}
{\expandafter\ifx\csname (|<footnote id|>)\endcsname\def
\else \csname b:footnote-text\endcsname\fi
}
{}%
\expandafter\global\expandafter
\let\csname (|<footnote id|>)\endcsname\def
>>>
\<footnotemark link\><<<
\ifTag{|<link tag to footnotetext|>|<footnote id|>}
{\Link[ role="doc-noteref"]{|<footnote id|>}{}}
{}%
>>>
\<end footnotemark link\><<<
\ifTag{|<link tag to footnotetext|>|<footnote id|>}
{\EndLink}
{}%
>>>
\<js footnotemark link\><<<
\ifTag{|<link tag to footnotetext|>|<footnote id|>}
{|<start js|>%
\leavevmode \Link[ |<mouseover-footnote arguments|>%
\Hnewline]{|<footnote id|>}{}}
{}%
>>>
\<end js footnotemark link\><<<
\ifTag{|<link tag to footnotetext|>|<footnote id|>}
{\EndLink}
{}%
>>>
\<open frames footnote page\><<<
\ifTag{|<footnote id|>}
{\expandafter\ifx\csname (|<footnote id|>)\endcsname\def
\:warning{Multiple footnote texts for mark \FNnum}%
\else
\Configure{!BODY}{id="|<tex4ht-fn|>" }%
\BeginHPage[|<footnote id|>]{ }%
\Configure{!BODY}{}%
\fi
}
{}%
>>>
\<close frames footnote page\><<<
\ifTag{|<footnote id|>}
{\expandafter\ifx\csname (|<footnote id|>)\endcsname\def
\else
\close:fn\EndHPage{}
\fi
}
{}%
\expandafter\global\expandafter
\let\csname (|<footnote id|>)\endcsname\def
>>>
\<frames footnote text\><<<
\def\close:fn{\HPage{}\Link{}{hide-fn}\EndLink\EndHPage{}%
\gdef\close:fn{\rightline{\Link{hide-fn}{}@\EndLink}}\close:fn}
>>>
% \Css{body\#|<tex4ht-fn|>{font-size:80\%;}}%
\<frames footnotemark link\><<<
\ifTag{|<footnote id|>|<file tag into footnote|>}
{\Link[\RefFile{|<footnote id|>}
target="|<tex4ht-fn|>"]{}{}}
{}%
>>>
\<end frames footnotemark link\><<<
\ifTag{|<footnote id|>|<file tag into footnote|>}
{\EndLink}
{}%
>>>
\<footnote id\><<<
fn\FNnum x\minipageNum
>>>
\<fn mark sup\><<<
\csname a:footnote-mark\endcsname
>>>
\<fn mark end sup\><<<
\ShowPar\csname b:footnote-mark\endcsname
>>>
\<thank mark sup\><<<
\csname a:thank-mark\endcsname
>>>
\<thank mark end sup\><<<
\csname b:thank-mark\endcsname
>>>
\<shared config footnotes\><<<
\NewConfigure{footnote-mark}{2}
\NewConfigure{thank-mark}{2}
\Configure{footnote-mark}
{\HCode{<span class="footnote-mark">}}
{\HCode{</span>}}
\Configure{thank-mark}
{\HCode{<span class="thank-mark">}}
{\HCode{</span>}}
\Css{span.thank-mark{ vertical-align: super }}
>>>
\<shared config footnotes\><<<
\NewConfigure{footnote-text}{2}
>>>
\<default offline footnote text\><<<
\Configure{footnote-text}
{\HPage{}\HCode{<aside role="doc-footnote" class="footnote-text">}\par}
{\ifvmode \IgnorePar\fi \EndP
\HCode{</aside>}\EndHPage{}}
\Css{aside.footnote-text p{margin-top:0; margin-bottom:0;text-indent: 0;}}
>>>
\<onmouseover offline footnote text\><<<
\Configure{footnote-text}
{\HPage{}\HCode{<div>}|<js footnote|>}
{\ifvmode \IgnorePar\fi \EndP
|<js /footnote|>\HCode{</div>}\EndHPage{}}
>>>
\<shared config footnotes\><<<
% \Css{span.footnote-mark{ vertical-align: super }}
\Css{span.footnote-mark sup.textsuperscript,
span.footnote-mark a sup.textsuperscript{ font-size:80\%; }}
>>>
%%%%%%%%%%%%%%%%
\subsection{AMS}
%%%%%%%%%%%%%%%%
\<footnote for ams title\><<<
\:CheckOption{fn-in}\if:Option
\:CheckOption{mouseover}\if:Option
|<mouseover inline ams title fn text|>%
\else
|<inline ams title fn text|>%
\fi
\else
\:CheckOption{mouseover}\if:Option
|<mouseover ams title fn text|>%
\else \:CheckOption{frames-fn}\if:Option
|<frames ams title fn text|>%
\else
|<offline ams title fn text|>%
\fi \fi
\fi
>>>
\<offline ams title fn text\><<<
\Configure{footnotetext}
{|<fn mark sup|>\HPage{\FNnum}\HCode{<div>}\NoFonts}
{\EndNoFonts}
{\HCode{</div>}\EndHPage{}|<fn mark end sup|>}%
>>>
\<frames ams title fn text\><<<
|<offline ams title fn text|>%
>>>
\<mouseover ams title fn text\><<<
|<offline ams title fn text|>%
>>>
\<mouseover inline ams title fn text\><<<
|<offline ams title fn text|>%
>>>
\<inline ams title fn text\><<<
|<offline ams title fn text|>%
>>>
\<ams art,proc,book\><<<
\Css{span.footnote-mark{ vertical-align: super; font-size:80\%; }}
% \Css{span.footnote-mark sup.textsuperscript,
% span.footnote-mark a sup.textsuperscript{ font-size:80\%; }}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{SCR *}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<scrbook maketitle footnote\><<<
\:CheckOption{fn-in}\if:Option
|<scrbook end-thanks author date and|>
\else
|<scrbook thanks author date and|>
\fi
>>>
\<scrreprt maketitle footnote\><<<
\:CheckOption{fn-in}\if:Option
|<scrreprt end-thanks author date and|>
\else
|<scrreprt thanks author date and|>
\fi
>>>
\<scr article,report,book\><<<
% \Css{span.footnote-mark{ vertical-align: super }}
\Css{span.footnote-mark sup.textsuperscript,
span.footnote-mark a sup.textsuperscript{ font-size:80\%; }}
>>>
%%%%%%%%%%%%%%%%
\subsection{Plain}
%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<inline footnote plain\><<<
\Configure{vfootnote}
{|<mark inline vfootnote|>}
{|<open inline vfootnote|>}
{|<close inline vfootnote|>}
>>>
\<mark inline vfootnote\><<<
\HCode{<sup>}\Link{fn\FNnum}{fn\FNnum-bk}%
\ifx \FNmark\empty +\else \FNmark\fi\EndLink
\HCode{</sup>}%
>>>
\<open inline vfootnote\><<<
|<open inline footnote box|>%
\HCode{<sup>}\Link{fn\FNnum-bk}{fn\FNnum}%
\ifx \FNmark\empty +\else \FNmark\fi
\EndLink\space\HCode{</sup>}%
>>>
\<close inline vfootnote\><<<
|<close inline footnote box|>
>>>
\<offline footnote plain\><<<
\Configure{vfootnote}
{\HPageButton[fn\FNnum]{\FNmark}}
{\BeginHPage[fn\FNnum]{ }}
{\EndHPage{}}
>>>
%%%%%%%%%%%%%%%%
\subsection{On Mouse Over}
%%%%%%%%%%%%%%%%
\<onmouseover footnote css\><<<
\expandafter\def\csname c:mouseover-footnote:\endcsname{%
\def\:tempb{footnote}\csname c:mouseover-?:\endcsname}
\Configure{mouseover-footnote} {tex4ht.body,FULLHTML}
>>>
\<onmouseover footnote mark\><<<
|<start js|>\let\sv:link=\Link
\def\Link[##1]{\let\Link=\sv:link
\Link[##1 |<mouseover-footnote arguments|>\Hnewline]}%
>>>
\<mouseover-footnote arguments\><<<
\mo:args{footnote}{\FNnum}{|<footnote id|>}%
>>>
\<js footnote\><<<
|<start js|>%
\HCode{<!--}%
|<js From fn|>%
\HCode{<footnote>|<footnote id|>=<div class="js">}%
|<js Skip fn|>%
\HCode{-->}%
|<js Cont fn|>%
>>>
\<js /footnote\><<<
|<js Skip fn|>%
\HCode{<!--}%
|<js Cont fn|>%
\HCode{</div></footnote>\Hnewline}%
|<js Until fn|>%
\HCode{-->}%
>>>
An alternative css-based approach:
\begin{verbatim}
\Configure{tableofcontents}
{\IgnorePar\EndP\HCode{<div class="tableofcontents">}\IgnorePar}
{}
{\IgnorePar\EndP\HCode{</div>}\ShowPar}
{\HCode{<br />}} {}
\ConfigureToc{section}
{\HCode{<div class="sectionToc" \a:LRdir><span class="mark">}}
{ \HCode{</span>}}
{}
{\HCode{</div>}}
\ConfigureToc{subsection}
{\HCode{<div class="subsectionToc" \a:LRdir><span class="mark">}}
{ \HCode{</span>}}
{}
{\HCode{</div>}}
\ConfigureToc{subsubsection}
{\HCode{<div class="subsubsectionToc" \a:LRdir><span class="mark">}}
{ \HCode{</span>}}
{}
{\HCode{</div>}}
\ConfigureToc{likesection}
{}
{\HCode{<div class="likesectionToc" \a:LRdir>}}
{}
{\HCode{</div>}}
\ConfigureToc{likesubsection}
{}
{\HCode{<div class="likesubsectionToc" \a:LRdir>}}
{}
{\HCode{</div>}}
\ConfigureToc{likesubsubsection}
{}
{\HCode{<div class="likesubsubsectionToc" \a:LRdir>}}
{}
{\HCode{</div>}}
\Css{div.sectionToc { margin-left: 1em; text-indent: -1em; }}
\Css{div.sectionToc span.mark { text-align:right; width: 1em;
padding-right:0.25em; }}
\Css{div.subsectionToc { margin-left:2.5em; text-indent: -2.5em; }}
\Css{div.subsectionToc span.mark { text-align:right; width: 2.5em;
padding-right:0.25em; }}
\Css{div.likesubsectionToc { margin-left: 2.5em; text-indent: -1.5em; }}
\Css{div.subsubsectionToc { margin-left: 4.5em; text-indent: -4.5em; }}
\Css{div.subsubsectionToc span.mark { text-align:right; width: 4.5em;
padding-right:0.25em; }}
\Css{div.likesubsubsectionToc { margin-left: 4.5em; text-indent: -2em; }}
\end{verbatim}
%%%%%%%%%%%%%
\subsection{Other}
%%%%%%%%%%%%%
\<latex ltfloat (footnotes)\><<<
\Configure{textsuperscript}
{\HCode{<sup class="textsuperscript">}\bgroup \small}
{\egroup \HCode{</sup>}}
\Configure{textsubscript}
{\HCode{<sub class="textsubscript">}\bgroup\small}
{\egroup \HCode{</sub>}}
>>>
\<configure html4 subscript\><<<
\Configure{textsubscript}
{\HCode{<sub class="textsubscript">}\bgroup\small}
{\egroup \HCode{</sub>}}
>>>
%%%%%%%%%%%%%%%%
\subsection{marginnote}
%%%%%%%%%%%%%%%%
This configuration will put marginnote into right margin if there is sufficient ammount of space.
Otherwise, it will display it as a italic text.
\<configure html4 marginnote\><<<
\Configure{marginnote}{\HCode{<span class="marginnote">}}{\HCode{</span>}}
\Css{.marginnote{
font-style: italic;}
}
\Css{
@media (min-width: 104ch){
.marginnote{
display: block;
float: right;
width: 12ch;
margin-right: -14ch;
font-style: normal;
}}
}
>>>
%%%%%%%%%%%%%%%%
\section{Floats}
%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%
\subsection{subfigure}
%%%%%%%%%%%%%%%%%%%
\<configure html4 subfigure\><<<
\Configure{subfigure}
{\ifvmode \IgnorePar \fi \EndP
\HCode{<div class="subfigure"><table><tr><td style="text-align:left">}}
{\ifvmode \IgnorePar \fi \EndP \HCode{</td></tr></table></div>}}
\Configure{subfigurecaption}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="subfigcaption">}}
{}{}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Css{.subfigcaption {margin-top:1em;
margin-left:1em; text-align:center;}}
\Css{div.subfigure {text-align:center;display:inline-block;}}
>>>
\subsection{subcaption}
\<configure html4 subcaption\><<<
\Configure{subfigure}
{\ifvmode\IgnorePar\fi\EndP%
\HCode{<div class="subfigure">}\par\ShowPar%
\Configure{caption}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="caption" ><span class="id">}}%
{:} {\HCode{</span><span \Hnewline class="content">}}%
{\HCode{</span></div>}}%
}%
{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}}%
\Css{div.subfigure {text-align:center;display:inline-block; max-width:45\%; margin-right: 2rem;}}
>>>
%%%%%%%%%%%%%%%%%%%%%
\subsection{pagenote}
%%%%%%%%%%%%%%%%%%%%%
Add links and backlinks to pagenotes
\<configure html4 pagenote\><<<
\Configure{notenumintext}{\Link{pagenote\thepagenote}{pagenote-bk\thepagenote}}{\EndLink}
\Configure{notenuminnotes}{\Link{pagenote-bk\:currentnoteid}{pagenote\:currentnoteid}}{\EndLink}
>>>
If \verb|\pagenote| is used in chapter titles, it may cause them to appear
duplicated in the notes list when separate pages are generated for chapters.
This happens because the title is used both in the page header and the chapter
heading, resulting in a duplicate entry. That's why we need to disable \verb|\pagenote|
in page headers.
\<configure html4 pagenote\><<<
\Configure{@TITLE}{\let\pagenote\@gobble}
>>>
%%%%%%%%%%%%%%%%%%%%%
\subsection{enotez}
%%%%%%%%%%%%%%%%%%%%%
Add links and backlinks to pagenotes with the Enotez package
\<configure html4 enotez\><<<
\Configure{enotezmark}{\Link{enotez\:currentnoteid}{enotez-bk\:currentnoteid}}{\EndLink}
\Configure{enotezback}{\Link{enotez-bk\:currentnoteid}{enotez\:currentnoteid}}{\EndLink}
\Configure{enmark}{}{\HCode{. }}
>>>
%%%%%%%%%%%%%%%%%%%%%
\subsection{Wrapfig}
%%%%%%%%%%%%%%%%%%%
\begin{itemize}
\item
r R - the right side of the text
\item
l L - the left side of the text
\item
i I - the inside edge--near the binding (if ``[twoside]'' document)
\item
o O - the outside edge--far from the binding
\end{itemize}
\<configure html4 wrapfig\><<<
\Configure{wrapfloat}
{\ifvmode\IgnorePar\EndP
\HCode{<div class="wrapfig-\WFplace">}%
\def\endWrap{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}\par}%
\else
\HCode{<span class="wrapfig-\WFplace">}\bgroup
|<config span caption|>%
\def\endWrap{\egroup\HCode{</span>}}%
\fi
}
{\endWrap}
\Css{.caption span.id{font-weight: bold;}}
\Css{
.wrapfig-r,
.wrapfig-ri,
.wrapfig-ir,
.wrapfig-ro,
.wrapfig-or
{float:right; text-align:left;
margin-left:auto; margin-top:0.5em;}
}
\Css{
.wrapfig-l,
.wrapfig-li,
.wrapfig-il,
.wrapfig-lo,
.wrapfig-ol
{float:left; text-align:left;
margin-right:auto; margin-top:0.5em;}
}
\Css{.wrapfig-r .caption td.content,
.wrapfig-ri .caption td.content,
.wrapfig-ir .caption td.content,
.wrapfig-ro .caption td.content,
.wrapfig-or .caption td.content,
.wrapfig-l .caption td.content,
.wrapfig-li .caption td.content,
.wrapfig-il .caption td.content,
.wrapfig-lo .caption td.content,
.wrapfig-ol .caption td.content
{white-space: normal; }}
\Css{.wrapfig-r .caption,
.wrapfig-ri .caption,
.wrapfig-ir .caption,
.wrapfig-ro .caption,
.wrapfig-or .caption,
.wrapfig-l .caption,
.wrapfig-li .caption,
.wrapfig-il .caption,
.wrapfig-lo .caption,
.wrapfig-ol .caption
{width:30\%; }}
>>>
%%%%%%%%%%%%%%%%%%%%%%%
\subsection{endfloat}
%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 endfloat\><<<
\ConfigureEnv{figure}{}{}{}{}
>>>
\<configure html4 floatflt\><<<
\Configure{floatingfigure}
{\HCode{<span class="floatingfigure-\ifoddpages r\else l\fi"
style="width:\the\floatfltwidth">}%
\bgroup \Configure{HtmlPar}{}{}{}{}%
\ConfigureEnv{minipage}{\IgnorePar}{}{\IgnorePar}{}%
|<config span caption|>%
}
{\egroup \HCode{</span>}}
\Css{.floatingfigure-r { float:right; text-align:left;
margin-top:0.5em; margin-bottom:0.5em; margin-left:0em;}}
\Css{.floatingfigure-l { float:left; text-align:left;
margin-top:0.5em; margin-bottom:0.5em; margin-right:0em; }}
\Css{.caption span.id{font-weight: bold;}}
>>>
%%%%%%%%%%%%%%%%
\section{Make Title}
%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{book-report-article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<thanks author date and\><<<
thanks author date and>>>
\<maketitle 4\><<<
\Configure{maketitle}
{\ifvmode \IgnorePar\fi \EndP |<title for TITLE|>%
\HCode{<div class="maketitle">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{\NoFonts\IgnorePar\HCode{<h2 class="titleHead"\a:LRdir>}\IgnorePar}
{\HCode{</h2>}\IgnoreIndent\EndNoFonts}
\Css{div.maketitle {text-align:center;}}
\Css{h2.titleHead{text-align:center;}}
\Css{div.maketitle{ margin-bottom: 2em; }}
|<maketitle footnote|>
>>>
\<config thanks author date and\><<<
\Configure{|<thanks author date and|>}
{\ifvmode \IgnorePar\fi\EndP \HCode{<div class="thanks" \a:LRdir>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{<div class="author" \a:LRdir>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{<div class="date" \a:LRdir>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
{\HCode{<br class="and" />}}
{\HCode{<br />}}
|<thank for thanks|>
\Css{div.author, div.date {text-align:center;}}
\Css{div.thanks{text-align:left; margin-left:10\%; font-size:85\%;
font-style:italic; }}
\Css{div.author{white-space: nowrap;}}
>>>
\<thank for thanks\><<<
\Configure{thank}
{|<thank mark sup|>\Link{tk-\the\c@footnote}{}}
{\EndLink |<thank mark end sup|>}
{\HCode{<br />}\protect\Link{}{tk-\the\c@footnote}\protect
\EndLink |<thank mark sup|>}
{|<thank mark end sup|>} {}
>>>
\<thanks for thanks p\><<<
\Configure{thank}
{|<thank mark sup|>\Link{tk-\the\c@footnote}{\ifx
\footnote\thanks kt-\the\c@footnote\fi}}
{\EndLink |<thank mark end sup|>}
{\HCode{<p>}\protect\Link{\ifx \footnote\thanks kt-\the\c@footnote
\fi}{tk-\the\c@footnote}|<thank mark sup|>}
{|<thank mark end sup|>\protect\EndLink}
{\HCode{</p>}}
>>>
\<thanks for thanks EndP\><<<
\Configure{thank}
{\HCode{<sup>}\Link{tk-\the\c@footnote}{\ifx
\footnote\thanks kt-\the\c@footnote\fi}}
{\EndLink\HCode{</sup>}}
{\protect\Link{\ifx \footnote\thanks kt-\the\c@footnote
\fi}{tk-\the\c@footnote}\HCode{<sup>}}
{\HCode{</sup>}\protect\EndLink}
{\ifvmode\IgnorePar\fi\EndP}
>>>
\<end-thanks author date and\><<<
\Configure{|<thanks author date and|>}
{\SaveEndP\global\setbox\fn:box=\vtop\bgroup\ShowPar
\ifvoid\fn:box\else \csname unvbox\endcsname\fn:box\fi}
{\EndP\egroup\RecallEndP }
{\HCode{<div class="author" \a:LRdir>}}{\HCode{</div>}}
{\HCode{<div class="date" \a:LRdir>}}{\HCode{</div>}}
{\HCode{<br class="and" />}}
{\HCode{<br />}}
|<thanks for thanks p|>
\Css{div.author, div.date {text-align:center;}}
\Css{div.thanks{text-align:left; margin-left:10\%; font-size:85\%;
font-style:italic; }}
>>>
%%%%%%%%%%%%%%%%%%%%
\subsection{RevTeX}
%%%%%%%%%%%%%%%%%%%%
\<revtex title page\><<<
\ConfigureEnv{abstract}{\:xhtml{\IgnorePar\EndP}\HCode
{<table\Hnewline class="abstract"><tr><td\Hnewline>}}
{\ifvmode \IgnorePar\fi \EndP\HCode{</td></tr></table>}}{}{}
\Css{.abstract p {margin-left:5\%; margin-right:5\%;}}
\Css{table.abstrac {width:100\%;}}
|<revtex maketitle footnote|>
\Configure{address}
{\ifvmode \IgnorePar\fi\EndP \HCode{<div class="address">}}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
>>>
\<revtex end-thanks author date and\><<<
\Configure{thanks author date and}
{\SaveEndP\global\setbox\fn:box=\vtop\bgroup\ShowPar
\ifvoid\fn:box\else \csname unvbox\endcsname\fn:box\fi}
{\EndP\egroup\RecallEndP }
{\HCode{<div class="author" \a:LRdir>}}{\HCode{</div>}}
{\HCode{<div class="date" \a:LRdir>}}{\HCode{</div>}}
{\HCode{<br class="and" \a:LRdir/>}}
{\HCode{<br />}}
|<thanks for thanks p|>
\Css{div.author, div.date {text-align:center;}}
\Css{div.thanks{text-align:left; margin-left:10\%; font-size:85\%;
font-style:italic; }}
>>>
\<revtex config thanks author date and\><<<
\Configure{thanks author date and}
{\ifvmode \IgnorePar\fi\EndP \HCode{<div class="thanks" \a:LRdir>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{<div class="author" \a:LRdir>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
{\HCode{<div class="date" \a:LRdir>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
{\HCode{<br class="and" />}}
{\HCode{<br />}}
|<thank for thanks|>
\Css{div.author, div.date {text-align:center;}}
\Css{div.thanks{text-align:left; margin-left:10\%; font-size:85\%;
font-style:italic; }}
\Css{div.author{white-space: nowrap;}}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{TUG LaTeX}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<tug proc maketitle\><<<
\Configure{maketitle}
{\ifvmode \IgnorePar\fi \EndP |<title for TITLE|>%
|<global HtmlPar|>%
\HCode{<div class="maketitle">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{\NoFonts\IgnorePar\EndP
\HCode{<h2 class="titleHead"\a:LRdir>}\IgnorePar}
{\HCode{</h2>}\IgnoreIndent\EndNoFonts}
>>>
\<tug boat maketitle\><<<
\@ifclassloaded{ltugproc}{}{%
\@ifpackageloaded{ltugproc}{}{\Configure{@BODY}{\@ifundefined{:rtitlexused}{\rtitlex}{}\def\:rtitlexused{}}}
}
\Configure{maketitle}
{\ifvmode \IgnorePar\fi \EndP
\def\textSMC##1{##1}%
|<title for TITLE|>%
|<global HtmlPar|>%
\HCode{<div class="maketitle">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{\NoFonts\IgnorePar\EndP
\HCode{<h2 class="titleHead"\a:LRdir>}\IgnorePar}
{\HCode{</h2>}\IgnoreIndent\EndNoFonts}
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{lncse}
%%%%%%%%%%%%%%%%%%%
\<configure html4 lncse\><<<
\Configure{institute}{}{}{\HCode{<br />}}
\Configure{maketitle}
{\ifvmode \IgnorePar\fi \EndP |<title for TITLE|>%
\HCode{<div class="maketitle">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{\NoFonts\IgnorePar\HCode{<h2 class="titleHead"\a:LRdir>}\IgnorePar}
{\HCode{</h2>}\IgnoreIndent\EndNoFonts}
\Css{h2.titleHead{text-align:left;}}
\:CheckOption{fn-in}\if:Option
\Configure{thanks author date and}
{\SaveEndP\global\setbox\fn:box=\vtop\bgroup\ShowPar
\ifvoid\fn:box\else \csname unvbox\endcsname\fn:box\fi}
{\EndP\egroup\RecallEndP }
{\HCode{<div class="author" \a:LRdir>}}{\HCode{</div>}}
{\HCode{<div class="date" \a:LRdir>}}{\HCode{</div>}}
{\HCode{<brclass="and" />}}
{\HCode{<br />}}
\else
\Configure{thanks author date and}
{\ifvmode \IgnorePar\fi\EndP \HCode{<div class="thanks" \a:LRdir>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{<div class="author" \a:LRdir>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
{\HCode{<div class="date" \a:LRdir>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
{\HCode{<br class="and" />}}
{\HCode{<br />}}
\fi
>>>
%%%%%%%%%%%%%%%%%%%%
\subsection{Prosper}
%%%%%%%%%%%%%%%%%%%%
\<prosper maketitle\><<<
\Configure{maketitle}
{\ifvmode \IgnorePar\fi \EndP
{\def\@title{\@Title}|<title for TITLE|>}%
\HCode{<div class="maketitle">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par}
{\NoFonts\IgnorePar \EndP
\HCode{<h2 class="titleHead"\a:LRdir>}\IgnorePar}
{\HCode{</h2>}\IgnoreIndent\EndNoFonts}
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{AMS}
%%%%%%%%%%%%%%%%%%%
\<ams art,proc,book\><<<
\Configure{translators}
{\par\IgnorePar\EndP \HCode{<div class="translators">}\par\ShowPar}
{\ifvmode \IgnorePar \fi\EndP \HCode{</div>}}
{\HCode{<span class="translator">}}
{\HCode{</span>}}
>>>
\<ams art,proc\><<<
\Css{div.translators {text-align:right; margin-bottom:0.7em;}}
>>>
\<ams art,proc,book\><<<
\Configure{keywords}
{\par\IgnorePar\EndP \HCode{<div class="keywords">}\par\ShowPar}
{\ifvmode \IgnorePar \fi\EndP\HCode{</div>}}
\Configure{subjclass}
{\par\IgnorePar\HCode{<div class="subjclass">}\par\ShowPar}
{\ifvmode \IgnorePar \fi\EndP\HCode{</div>}}
\Configure{@maketitle}
{\ifvmode \IgnorePar\fi \EndP
\Tg<div class="submaketitle">\IgnoreIndent}
{\ifvmode \IgnorePar \fi\EndP\Tg</div>}
\Css{div.submaketitle{ text-align:left; margin-top:2em;
border-top: 1px solid black;
border-bottom: 1px solid black;
margin-left:5\%; margin-right:5\%;
font-size:85\%; line-height: 95\%;}}
\Css{div.submaketitle div {margin-top:0.5em; margin-bottom:0.5em; }}
\Css{div.submaketitle p { margin-top:0em; margin-bottom:0em; }}
>>>
\<ams art,proc,book\><<<
\ConfigureEnv{abstract}
{\ifvmode \IgnorePar\fi \EndP}
{\ifvmode \IgnorePar\fi \EndP}
{}{}
\ConfigureList{abstract}
{\ifvmode \IgnorePar\fi \EndP \Tg<div class="abstract">\ShowPar}
{\ifvmode \IgnorePar\fi \EndP\Tg</div>}
{\ShowPar\par\HCode{<span class="title">}}
{\HCode{</span>}}
\Configure{setabstract}
{\ifvmode \IgnorePar \fi \EndP}
{\ifvmode \IgnorePar \fi \EndP}
\Css{div.abstract{ margin-top: 2em; text-align:left;
margin-right:15pt; margin-left:15pt; }}
>>>
\<ams art,proc,book\><<<
\Configure{addresses}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="addresses">}\ShowPar}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{address}
{\HCode{<span class="address-title">}}
{\ifvmode \IgnorePar\fi \HCode{</span><span class="address">}}
{\HCode{</span>}}
\Configure{curraddr}
{\HCode{<span class="curraddr-title">}}
{\ifvmode \IgnorePar\fi \HCode{</span><span class="curraddr">}}
{\HCode{</span>}}
\Configure{email}
{\HCode{<span class="email-title">}}
{\ifvmode \IgnorePar\fi \HCode{</span><span class="email">}}
{\HCode{</span>}}
\Configure{urladdr}
{\HCode{<span class="urladdr-title">}}
{\ifvmode \IgnorePar\fi \HCode{</span><span class="urladdr">}}
{\HCode{</span>}}
\Css{div.addresses p {margin-top:0em; margin-bottom:0em; }}
>>>
\<ams art,proc,book\><<<
\Configure{maketitle}
{\ifvmode \IgnorePar\fi \EndP |<ams title for TITLE|>%
\HCode{<div class="maketitle">}%
\ConfigureEnv{center}
{\ifvmode \IgnorePar\fi} {\ifvmode \IgnorePar\fi}
{\ifvmode \IgnorePar\fi} {\ifvmode \IgnorePar\fi}%
|<footnote for ams title|>%
}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{\NoFonts\IgnorePar \EndP
\HCode{<h2 class="titleHead"\a:LRdir>}\IgnorePar
\bgroup \Configure{HtmlPar}{}{}{}{}}
{\egroup \HCode{</h2>}\IgnoreIndent\EndNoFonts}
\Css{h2.titleHead{text-align:center;}}
\Css{div.maketitle{ margin-bottom: 2em; text-align:center; }}
>>>
\<ams art,proc\><<<
\Configure{|<thanks author date and|>}
{\par\IgnorePar\EndP \HCode{<div class="thanks" \a:LRdir>}\par\ShowPar}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
{\ifvmode \IgnorePar\fi\EndP
\HCode{<div class="authors"><span class="author" \a:LRdir>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{</span></div>}}
{\par\IgnorePar\EndP \HCode{<div class="date" \a:LRdir>}\par\ShowPar}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
{\lowercase{\HCode{</span><span class="and">}}and~%
\lowercase{\HCode{</span><span>}}}
{\HCode{<br />}}
>>>
\<ams book\><<<
\Configure{|<thanks author date and|>}
{\par\IgnorePar\EndP \HCode{<div class="thanks" \a:LRdir>}\par\ShowPar}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
{\ifvmode \IgnorePar\fi\EndP
\HCode{<div class="authors"><div class="author" \a:LRdir>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div></div>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{<div class="date" \a:LRdir>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
{\lowercase{\HCode{</div><div>}}}
{\HCode{<br />}}
\Css{div.addresses{ margin-top:0.5em; }}
>>>
\<amsdtx maketitle\><<<
\Configure{maketitle}
{\ifvmode \IgnorePar\fi \EndP |<title for TITLE|>%
\HCode{<div class="maketitle">}}
{\HCode{</div>}}
{\NoFonts\HCode{<h2 class="titleHead"\a:LRdir>}}
{\HCode{</h2>}\EndNoFonts}
\Css{div.maketitle {text-align:center;}}
>>>
%%%%%%%%%%%%%%%%
\subsection{llncs}
%%%%%%%%%%%%%%%%
\<configure html4 llncs\><<<
\Configure{email}
{\HCode{<span class="email">}}
{\HCode{</span>}}
\Configure{institute}
{\HCode{<div class="institute">}}
{\HCode{</div>}}
>>>
%%%%%%%%%%%%%%%%
\subsection{aa}
%%%%%%%%%%%%%%%%
\<configure aa 3.2/4.0t\><<<
\Configure{subtitle institute}
{\HCode{<br /><span class="subtitle">}}{\HCode{</span>}}
{\HCode{<div class="institute">}}{\HCode{</div>}}
{\Tg<sup>}{\Tg</sup>}
{\HCode{<br />}}
\Configure{maketitle}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div style="text-align:center;" >}}
{\HCode{</div>}}
{\NoFonts\IgnorePar \HCode{<h2 class="maketitleHead"\a:LRdir>}\IgnorePar}
{\HCode{</h2>}\IgnoreIndent\EndNoFonts}
\Configure{|<thanks author date and|>} {}{}
{\HCode{<div class="author" style="text-align:center;" \a:LRdir>}}{\HCode{</div>}}
{\HCode{<div class="date" style="text-align:center;" \a:LRdir>}}{\HCode{</div>}}
{\SPAN:{and}and\EndSPAN:}
{\HCode{<br />}}
\Css{div.maketitle {text-align:center;}}
>>>
\<configure aa 3.2/4.0t\><<<
\ConfigureEnv{abstract}
{\:xhtml{\IgnorePar\EndP}\HCode {<div class="abstract">}}
{\HCode{</div>}}{}{}
\Css{div.abstract{text-align:center;}}
\Configure{makeheadbox}
{\HCode{<table class="makeheadbox"
width="100\%"><tr><td><table><tr><td>}}
{\HCode{</td></tr><tr><td>}}
{\HCode{</td></tr><tr><td>}}
{\HCode{</td></tr></table></td><td class="AALogo" width="10\%">}}
{\HCode{</td></tr></table>}}
\Css{.AALogo{font-size:120\%;font-weight: bold; text-align:right;}}
>>>
%%%%%%%%%%%%%%%%
\subsection{MWC}
%%%%%%%%%%%%%%%%
\<mwcls configs\><<<
\Configure{maketitle}
{\ifvmode \IgnorePar\fi \EndP |<title for TITLE 2|>%
\HCode{<div class="maketitle">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{\NoFonts\IgnorePar\HCode{<h2 class="titleHead"\a:LRdir>}\IgnorePar}
{\HCode{</h2>}\IgnoreIndent\EndNoFonts}
\Css{div.maketitle {text-align:center;}}
\Css{h2.titleHead{text-align:center;}}
\Css{div.maketitle{ margin-bottom: 2em; }}
\:CheckOption{fn-in}\if:Option
\Configure{thanks author date and}
{\SaveEndP\global\setbox\fn:box=\vtop\bgroup\ShowPar
\ifvoid\fn:box\else \csname unvbox\endcsname\fn:box\fi}
{\EndP\egroup\RecallEndP }
{\HCode{<div class="author" \a:LRdir>}}{\HCode{</div>}}
{\HCode{<div class="date" \a:LRdir>}}{\HCode{</div>}}
{\HCode{<br class="and" />}}
{\HCode{<br />}}
|<thanks for thanks p|>
\Css{div.author, div.date {text-align:center;}}
\Css{div.thanks{text-align:left; margin-left:10\%; font-size:85\%;
font-style:italic; }}
\else
\Configure{thanks author date and}
{\ifvmode \IgnorePar\fi\EndP \HCode{<div class="thanks" \a:LRdir>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{<div class="author" \a:LRdir>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{<div class="date" \a:LRdir>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
{\HCode{<br class="and" />}}
{\HCode{<br />}}
|<thank for thanks|>
\Css{div.author, div.date {text-align:center;}}
\Css{div.thanks{text-align:left; margin-left:10\%; font-size:85\%;
font-style:italic; }}
\Css{div.author{white-space: nowrap;}}
\fi
>>>
%%%%%%%%%%%%%%%%
\subsection{scr}
%%%%%%%%%%%%%%%%
\<configure html4 scrbook\><<<
\Configure{maketitle}
{\ifvmode \IgnorePar\fi \EndP |<title for TITLE 3|>%
\HCode{<div class="maketitle">}}
{\HCode{</div>}}
{\IgnorePar \EndP
\NoFonts\HCode{<h2 class="titleHead"\a:LRdir>}\IgnorePar}
{\HCode{</h2>}\IgnoreIndent\EndNoFonts}
\Css{h2.titleHead{text-align:center;}}
\Css{div.maketitle{ margin-bottom: 2em; text-align:center; }}
|<maketitle footnote|>
|<scr title page|>
>>>
\<configure html4 scrreprt\><<<
\Configure{maketitle}
{\ifvmode \IgnorePar\fi \EndP |<title for TITLE 3|>%%
\HCode{<div class="maketitle">}}
{\HCode{</div>}}
{\IgnorePar \EndP
\NoFonts\HCode{<h2 class="titleHead"\a:LRdir>}\IgnorePar}
{\HCode{</h2>}\IgnoreIndent\EndNoFonts}
\Css{h2.titleHead{text-align:center;}}
\Css{div.maketitle{ margin-bottom: 2em; text-align:center; }}
|<scrreprt maketitle footnote|>
|<scr title page|>
>>>
\<scr title page\><<<
\ConfigureEnv{titlepage}
{\bgroup |<title for TITLE 3|>%
\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="titlepage">}%
\ConfigureEnv{center}{}{}{}{}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}%
\egroup}
{} {}
\Configure{dedication}
{\ifvmode \IgnorePar\fi\EndP \HCode{<div class="dedication" >}}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
\Css{div.dedication {text-align:center;}}
\Css{div.titlepage{ margin-bottom: 2em; text-align:center; }}
>>>
%%%%%%%%%%%%%%%%
\subsection{ACM}
%%%%%%%%%%%%%%%%
\<configure html4 acm-proc-article-sp\><<<
\Configure{toappear}
{\ifvmode \IgnorePar \fi \EndP \HCode{<div class="toappear">}}
{\ifvmode \IgnorePar \fi \EndP \HCode{</div>}}
\Configure{boilerplate}
{\HCode{<div class="boilerplate">}} {\HCode{</div>}}
\Configure{conf}
{\HCode{<div class="conf">}} {\HCode{</div>}}
\Configure{confinfo}
{\HCode{<div class="confinfo">}} {\HCode{</div>}}
\Configure{copyrightetc}
{\HCode{<div class="copyrightetc">}} {\HCode{</div>}}
>>>
\<configure html4 acm-proc-article-sp\><<<
\Configure{thanks}
{\IgnorePar\HCode{<div class="thanks">}\IgnorePar}
{\ifvmode \IgnorePar \fi \EndP \HCode{</div>}\IgnoreIndent}
\Css{div.thanks{text-align:left; margin-top:1em; margin-bottom:1em;}}
\Configure{subtitle}
{\ifvmode \IgnorePar \fi \EndP
\HCode{<h4 class="subtitleHead"\a:LRdir>}\IgnorePar}
{\ifvmode \IgnorePar \fi \EndP \HCode{</h4>}\IgnoreIndent}
\Css{.subtitleHead{text-align:center;}}
\Configure{title}
{\ifvmode \IgnorePar \fi \EndP
\HCode{<h3 class="titleHead"\a:LRdir>}\IgnorePar}
{\ifvmode \IgnorePar \fi \EndP \HCode{</h3>}\IgnoreIndent}
\Css{.titleHead{text-align:center;}}
\Configure{email}{\HCode{<span class="email">}\IgnorePar\o:email:{#1}\HCode{</span>}}
\Configure{@TITLE}{\let\titlenote=\:gobble}
\Configure{maketitle}
{\ifvmode \IgnorePar\fi \EndP |<title for TITLE|>}
{}
\Configure{author}
{\ifvmode \IgnorePar \fi \EndP
\HCode{<div class="author">}\ShowPar\par}
{\ifvmode \IgnorePar \fi \EndP \HCode{</div>}\IgnoreIndent}
\Css{div.author{text-align:center; margin-top:1em; margin-bottom:1em;}}
>>>
\begin{verbatim}
\documentclass{sig-alternate}
\begin{document}
\title{My Title}
\numberofauthors{1}
\author{\alignauthor Alice Smith and Robert Lu\\
\email{"Alice Smith" <
[email protected]>}\\
\email{\{alice, bob\}@somewhere.com}\\
\email{
[email protected],
[email protected]}
}
\maketitle
\end{document}
\end{verbatim}
%%%%%%%%%%%%%%%%
\subsection{APA}
%%%%%%%%%%%%%%%%
\<apa maketitle\><<<
\Configure{affil}
{\HCode{<div class="affil">}\bgroup
|<apa maketitle br cr|>%
}
{\egroup \HCode{</div>}}
\Configure{maketitle}
{\ifvmode \IgnorePar\fi \EndP |<title for TITLE|>%
\HCode{<div class="maketitle">}\bgroup
|<apa maketitle no-br cr|>%
}
{\egroup\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{\apa:title} {\apa:endtitle}
\def\apa:title{\NoFonts\IgnorePar
\HCode{<h2 class="titleHead"\a:LRdir>}\IgnorePar
\global\let\apa:title=\empty }
\def\apa:endtitle{\HCode{</h2>}\IgnoreIndent\EndNoFonts
\global\let\apa:endtitle=\empty }
>>>
\<apa maketitle br cr\><<<
\Configure{centercr}
{\ht:special{t4ht=<br />}}
{\ht:everypar{\ht:everypar{\HtmlPar}}}
>>>
\<apa maketitle no-br cr\><<<
\Configure{centercr}
{} {\ht:everypar{\ht:everypar{\HtmlPar}}}%
>>>
%%%%%%%%%%%%%%%%
\subsection{Shared}
%%%%%%%%%%%%%%%%
\<title for TITLE\><<<
{\Configure{maketitle}{}{}{}{}%
\a:NoSection |<disable latex fonts|>\let\thanks|=\:gobble
\def\TeX{TeX}%
\def\mbox{\hbox}%
\def\gobble:font##1##2{##2}\:TITLE: \no:fonts
\def\footnotemark[##1]{}%
\def\:hashintitle{\protect\symbol{35}}
\let\#\:hashintitle
\Tag{TITLE+}{\@title}}
>>>
Removed \@\let\\\space@ from the above due to cases like the following one.
\begin{verbatim}
\documentclass{article}
\begin{document}
\title{a\\[3ex]b}
\maketitle
\end{document}
\end{verbatim}
Old latex files need \verb'\no:fonts', but not new ones.---wrong, as far as writing to toc in 0.0?
\<ams title for TITLE\><<<
{\Configure{maketitle}{}{}{}{}%
\a:NoSection |<disable latex fonts|>\let\thanks|=\:gobble
\let\\|=\space \def\TeX{TeX}%
\def\mbox{\hbox}%
\def\gobble:font##1##2{##2}\:TITLE: \no:fonts
\def\footnotemark[##1]{}%
\def\:hashintitle{\protect\symbol{35}}
\let\#\:hashintitle
\Tag{TITLE+}{\shorttitle}}
>>>
\<disable latex fonts\><<<
\let\leavevmode|=\empty \let\not@math@alphabet|=\:gobbleII
\def\text@command##1{##1}\let\selectfont|=\empty
\def\check@icl ##1\check@icr{}%
>>>
\<title for TITLE 2\><<<
{\Configure{maketitle}{}{}{}{}%
\a:NoSection \let\leavevmode\empty \let\not@math@alphabet\:gobbleII
\def\text@command##1{##1}\let\selectfont\empty
\def\check@icl ##1\check@icr{}%
\let\thanks\:gobble
\def\mbox{\hbox}%
\let\\\space \def\TeX{TeX}%
\def\gobble:font##1##2{##2}\:TITLE: \no:fonts
\def\footnotemark[##1]{}%
\def\a:ttl##1##2//{##1//}%
\let\large=\empty
\let \bf=\empty
\let \centering=\empty
\def \ignorespaces##1\vskip##2//{##1}%
\def\:hashintitle{\protect\symbol{35}}
\let\#\:hashintitle
\Tag{TITLE+}{\@title//}%
}%
>>>
\<title for TITLE 3\><<<
{\Configure{maketitle}{}{}{}{}%
\a:NoSection \let\leavevmode\empty \let\not@math@alphabet\:gobbleII
\def\text@command##1{##1}\let\selectfont\empty
\def\check@icl ##1\check@icr{}%
\let\thanks\:gobble
\def\mbox{\hbox}%
\let\\\space \def\TeX{TeX}%
\def\gobble:font##1##2{##2}\:TITLE: \no:fonts
\def\:hashintitle{\protect\symbol{35}}
\let\#\:hashintitle
\Tag{TITLE+}{\@title}}%
>>>
%%%%%%%%%%%%%%%%
\section{Abstracts}
%%%%%%%%%%%%%%%%
\<apa abstract\><<<
\Configure{abstract}
{\HCode{<div class="abstract">}\bgroup
|<apa maketitle br cr|>%
}
{\egroup \HCode{</div>}}
\Css{div.abstract{text-align:left; margin-left:10\%; margin-top:1em; }}
>>>
%%%%%%%%%%%%%%%%
\section{Math}
%%%%%%%%%%%%%%%%
Don't put \verb'\:xhtml{\IgnorePar\EndP}' on the following; \verb'\PicDisplay'
should handle it.
\<configure html4-math latex\><<<
\Configure{[]}
{\bgroup
\protect\nested:math
\PicDisplay
$$\everymath{}\everydisplay{}}
{$$\EndPicDisplay \egroup |<try inline par|>}
\Configure{()}{\bgroup
\protect\nested:math
\protect\PicMath
$}
{$ \protect\EndPicMath \egroup}
\def\nested:math{|<nested pic math|>}
>>>
The above should be sensitive to cases like the following one.
\begin{verbatim}
\[ \parbox[t]{2in} { \[.\] }\]
\end{verbatim}
\<nested pic math\><<<
\def\[{\bgroup \def\]{$$\egroup}$$}%
\def\({\bgroup \def\){$\egroup}$}%
>>>
\<configure html4-math latex\><<<
\Configure{@TITLE}{\Configure{()}{$}{$}}
>>>
\<configure html4-math th4\><<<
\:CheckOption{th4}\if:Option
\Configure{[]}
{\PicDisplay $$\everymath{}\everydisplay{}}
{$$\EndPicDisplay |<try inline par|>}
\Configure{()}{\PicMath$}{$\EndPicMath}
\fi
>>>
\<picmath plain,latex\><<<
\Configure{$$}{\:xhtml{\EndP}\PicDisplay}{\EndPicDisplay}
{\everymath{}\everydisplay{}}
|<pic math formulas|>
|<pic math + tex formulas|>
>>>
\<pic math formulas\><<<
\:CheckOption{pic-m} \if:Option
\Configure{$}{\PicMath}{\EndPicMath}{}
\else
\Log:Note{for pictorial $...$ environments,
use the command line option `pic-m' (not recommended!!)}
\fi
>>>
\<pic math + tex formulas\><<<
\:CheckOption{pic-m+} \if:Option
\def\Alt:Math#1${\tmp:toks{$#1$}%
\Picture*[|<pic math alt|>]{ style="text-align:middle"}$#1$\EndPicture$}
\def\Alt:Display#1$${\tmp:toks{$$#1$$}%
\Picture*[|<pic math alt|>]{}$$#1$$\EndPicture$$}
\def\Alt:lMath#1\){\tmp:toks{\(#1\)}%
\Picture*[|<pic math alt|>]{ style="text-align:middle"}$#1$\EndPicture}
\def\Alt:lDisplay#1\]{\tmp:toks{\[#1\]}%
\Picture*[|<pic math alt|>]{}$$#1$$\EndPicture}
\Configure{$}{}{}{\expandafter\Alt:Math}
\Configure{$$}{}{}{\expandafter\Alt:Display}
% \Configure{()}{\Alt:lMath}{}
% \Configure{[]}{\Alt:lDisplay}{}
\else
\Log:Note{for pictorial $...$ and
$$...$$ environments with latex alt,
use the command line option `pic-m+' (not safe!!)}
\fi
>>>
\<configure html4 latex\><<<
\def\PictureAltex{\afterassignment\set:Img\tmp:toks}
\def\set:Img{\Picture*[|<pic math alt|>]{}\the\tmp:toks\EndPicture}
>>>
\<pic math alt\><<<
\special{t4ht*=&&}%
\special{t4ht*=""}%
\special{t4ht*=<<}%
\special{t4ht*=>>}%
\HCode{\the\tmp:toks}%
\special{t4ht*=}%
>>>
This version of PicMath tries to set the correct vertical alignment for inline math.
It typessets the math inside a box, measures depth and height, calculates
the alignment, and outputs it using CSS. It uses Expl3 features, so we need
to use it in LaTeX configuration.
\<configure html4 latex\><<<
\ExplSyntaxOn
\Configure{PicMath}
{\setbox0=}
{\Css{img[src="\PictureFile"]{%
vertical-align:-\fp_eval:n{ \dim_to_fp:n{\dp0}/(\dim_to_fp:n{\ht0}+\dim_to_fp:n{\dp0}) * 100}\%
}}\box0}
{}
{ class="math" }
\ExplSyntaxOff
>>>
%%%%%%%%%%%%%%%%%%
\section{Cross References}
%%%%%%%%%%%%%%%%%%
\<configure html4 latex\><<<
\Configure{pageref}
{\HCode{<span class="pageref">}}
{\HCode{</span>}}
{\S}
>>>
%%%%%%%%%%%%%%%%%%
\section{Theorems}
%%%%%%%%%%%%%%%%%%
\<configure html4 latex\><<<
\Configure{newtheorem}
{\ifvmode\IgnorePar\fi\EndP
\HCode{<div class="newtheorem">}\par\noindent\HCode{<span
class="head">}}
{\HCode{</span>}}
{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}\par\indent\ShowPar}
\Css{div.newtheorem { margin-bottom: 2em; margin-top: 2em;}}
\Css{div.newtheorem .head{font-weight: bold;}}
>>>
\<acm proof\><<<
\Configure{proof}
{\ifvmode\IgnorePar\fi\EndP
\HCode{<div class="proof">}\par\noindent\HCode{<span
class="head">}}
{\HCode{</span>}}
{\:xhtml{\EndP}\IgnorePar\HCode{</div>}\ShowPar\par}
\Css{div.proof { margin-bottom: 2em; margin-top: 2em;}}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Features}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%
\section{Javascript: Pop-ups On Mouse Over}
%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%
\subsection{Background}
%%%%%%%%%%%%%%%%
There are 6 supporting dvi variations of the
`CopyTo to-file op group'
dvi command:
\begin{description}
\item[From] Start copying (at current address)
\item[Until] End copying (at current address)
\item[Skip] Start skipping (from current address)
\item[Cont] End skipping (at current-address)
\item[Addr integer-label] Associate current
address with the integer-label of the given group
\item[Set integer-label]
Replace the `current address' in the following Skip/Cont (and
From/Until ?) commands with the address associated to the
integer-label of the given group by an Addr command
\end{description}
The code
\begin{verbatim}
B0
\ht:special {t4ht@DCopyTo: \jobname-js.tex From bib }
B1
\ht:special {t4ht@DCopyTo: \jobname-js.tex Skip bib }
B2
\ht:special {t4ht@DCopyTo: \jobname-js.tex Addr1 bib }
B3
\ht:special {t4ht@DCopyTo: \jobname-js.tex Addr2 bib }
B4
\ht:special {t4ht@DCopyTo: \jobname-js.tex Set1 bib }
\ht:special {t4ht@DCopyTo: \jobname-js.tex Cont bib }
\ht:special {t4ht@DCopyTo: \jobname-js.tex Set2 bib }
\ht:special {t4ht@DCopyTo: \jobname-js.tex Skip bib }
B5
\ht:special {t4ht@DCopyTo: \jobname-js.tex Until bib }
B6
\end{verbatim}
produces the string ` B1 B3 '.
%%%%%%%%%%%%%%%%
\subsection{End Points of the Jobname-js.tex File}
%%%%%%%%%%%%%%%%
\<start js\><<<
\js:on
>>>
\<onmouseover utilities\><<<
\def\js:on{%
\global\let\js:on=\relax
\HCode{<!--}%
|<js From js|>%
\HCode{\string\def\string\jstoday{\:today} }%
\HCode{\string\input\space onmouseover.4ht }%
\:CheckOption{trace-onmo} \if:Option
\HCode{<js trace="on">}%
\else
\Log:Note{for mouseover tracing of
compilation, use the command line option `trace-onmo'}
\HCode{<js>}%
\fi
|<js Until js|>%
\HCode{-->}%
|<end js|>}
>>>
\<end js\><<<
\csname a:mouseover-Needs\endcsname
\Css{.js {text-indent:0; background-color:aqua; color:black;
border:solid 1px black; margin:2pt; width:99\%;}}
\Css{.js p, .|<js p.bibitem css|>, |<js p.bibitem-p css|> {text-indent:0;
background-color:aqua; color:black; margin:2pt;}}
\AtEndDocument{{\HCode{<!--}%
|<js From js|>%
\HCode{</js>}%
|<js Until js|>%
\HCode{-->}}}%
>>>
Was \verb'\Css{.js p {margin:0; text-indent:0;}}' but javascript under
netscape had problems dealing with 0 left margins.
\<js From js\><<<
\ht:special {t4ht@DCopyTo: \jobname-js.tex From js }%
>>>
\<js Until js\><<<
\ht:special {t4ht@DCopyTo: \jobname-js.tex Until js }%
>>>
%%%%%%%%%%%%%%%%
\subsection{Configuration Commands}
%%%%%%%%%%%%%%%%
\<onmouseover utilities\><<<
\HAssign\MO:script = 0
\NewConfigure{mouseover-script}[1]{\bgroup
\gHAdvance\MO:script by 1
\expandafter\NextFile \expandafter{\jobname\MO:script.tmp}%
\HPage{}\IgnorePar |<js From var|>%
\HCode{<\if !#1!\else mouseover-script\fi>#1\if !#1!\else =\fi}%
\everyvbox{\IgnorePar\everyvbox{}\aftergroup\end:movar}%
\def\end:movar{\everyvbox{}\HCode
{</\if !#1!\else mouseover-script\fi>}%
|<js Until var|>\EndHPage{}%
\egroup}%
\vbox}
>>>
\<ol-hauto mouseover-script\><<<
\Configure {mouseover-script}{}{\HCode{ol\string_hauto = 1;}}%
>>>
\<js From var\><<<
\ht:special {t4ht@DCopyTo: \jobname-js.tex From var }%
>>>
\<js Until var\><<<
\ht:special {t4ht@DCopyTo: \jobname-js.tex Until var }%
>>>
\<onmouseover utilities\><<<
\expandafter\def\csname c:mouseover-vars:\endcsname#1#2{%
\expandafter\def\csname mouseover-#1-init\endcsname##1{}%
\def\:tempc##1{\expandafter\append:defI\csname
mouseover-#1-init\endcsname{tex4ht.##1=tex4ht.\expandafter\jsHash
\expandafter{\expandafter v####1.##1};}}%
\Mo:vars#2,<>}
\def\Mo:vars#1,#2<>{%
\if !#1!\else
\expandafter\def\csname mo#1\endcsname##1{%
\HCode{<!--}%
\ht:special{t4ht@DCopyTo: \jobname-js.tex From #1 }%
\HCode{<#1-var>\jsHash{v##1.#1}=}%
\ht:special{t4ht@DCopyTo: \jobname-js.tex Skip #1 }%
\HCode{-->}%
\ht:special{t4ht@DCopyTo: \jobname-js.tex Cont #1 }%
}%
\expandafter\def\csname endmo#1\endcsname{%
\ht:special{t4ht@DCopyTo: \jobname-js.tex Skip #1 }%
\HCode{<!--}%
\ht:special{t4ht@DCopyTo: \jobname-js.tex Cont #1 }%
\HCode{</#1-var>}%
\ht:special{t4ht@DCopyTo: \jobname-js.tex Until #1 }%
\HCode{-->}%
}%
\:tempc{#1}%
\fi
\if !#2!\else \expand:after{\Mo:vars#2<>}\fi
}
>>>
%%%%%%%%%%%%%%%%
\subsection{Footnotes Contributions}
%%%%%%%%%%%%%%%%
\<js From fn\><<<
\ht:special {t4ht@DCopyTo: \jobname-js.tex From fn }%
>>>
\<js Skip fn\><<<
\ht:special {t4ht@DCopyTo: \jobname-js.tex Skip fn }%
>>>
\<js Cont fn\><<<
\ht:special {t4ht@DCopyTo: \jobname-js.tex Cont fn }%
>>>
\<js Until fn\><<<
\ht:special {t4ht@DCopyTo: \jobname-js.tex Until fn }%
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Overlib}
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Link[
http://www.egroups.com/group/overlib]{}{}egroup for overlib\EndLink,
\Link[
http://www.bosrup.com/web/overlib/]{}{}home over overlib\EndLink
\<overDiv\><<<
\HCode{<div id="overDiv"
style="position:absolute;
visibility:hidden; z-index:1000;"></div>
}%
>>>
\<onmouseover @HEAD\><<<
\Configure{@HEAD}
{\HCode{%|% natural place for <overlib src>, but netscape 4.7...|%
<script type="text/javascript"
src="\jobname-js.js"></script>\Hnewline
|<overlib src|>}}
|<onmouseover utilities|>
\:CheckOption{info} \if:Option
|<overlib info|>
\fi
>>>
\<overlib info\><<<
\Log:Note{Option `mouseover' is powered
by the overlib.js utility of Erik Bosrup
(
http://www.bosrup.com/web/overlib/).}
\immediate\write-1{}
\immediate\write-1{The option requires two compilations of
the source file.}
\immediate\write-1{}
\immediate\write-1{Use \string\Configure
{mouseover-XXX}{...} to introduce extra arguments into the overlib
function call `return overlib(...)'. XXX stands for
`cite', `footnote', or 'gloss'. The default body is at tex4ht.body,
and the default caption at tex4ht.caption. An empty parameter
requests no sensitivity of the mouse for the
specified type of entries.}
\immediate\write-1{}
\immediate\write-1{The variant \string\Configure
{mouseover-XXX}[labels]{...} of the above command restricts the
outcome just to the listed labels (i.e., the values listed
in tex4ht.caption).}
\immediate\write-1{}
\immediate\write-1{The \string\Configure{mouseover-script}{variable-name}
{javascript-code} command may be used to introduce code into the
javascript file, as a content of a global variable when a name is
given and as a bare code when the name is not given. To be referenced,
the name must be prefixed by ``tex4ht.'.}
\immediate\write-1{}
\immediate\write-1{The \string\Configure{mouseover-vars}{XXX}
{variable-list} command introduces local variables, to be referenced
with the prefix ``tex4ht.' on their names. In addition, for each
variable YYY it introduces a construct \string\moYYY
{label}...\string\endmoYYY\space for selecting a value for the variable
at the specified label.}
\immediate\write-1{}
\immediate\write-1{Example:}
\immediate\write-1{
\string\Configure{mouseover-script}{var}{\HCode{<hr />}}}
\immediate\write-1{|<mouseover cite config|>}
\immediate\write-1{|<mouseover cite css|>.}
\immediate\write-1{
\string\moAuthor{bb}A name\string\endmoAuthor }
\immediate\write-1{}
\immediate\write-1{The compilation indirectly invokes the
command 'xhtex \string\jobname-js'. An alternative format for
the command can be requested within a configuration of
the form \string\Configure{mouseover-Needs}{\string\Needs{"..."}}.
The default setting is due to
\string\Configure{mouseover-Needs}{\string\Needs{"xhtex
\string\jobname-js"}}}
\immediate\write-1{In case \string\Configure{mouseover-Needs} is
undefined, introduce the instruction
\string\NewConfigure{mouseover-Needs}{1} before that command.
}
>>>
\<onmouseover utilities\><<<
\expandafter\ifx \csname mouseover-Needs\endcsname\relax
\NewConfigure{mouseover-Needs}{1}
\Configure{mouseover-Needs}{\Needs{"mk4ht xhtex \jobname-js"}}
\fi
\def\mo:args#1#2#3{\expandafter
\ifx \csname a:mouseover-#1-#2\endcsname\empty\else
\expandafter \ifx \csname a:mouseover-#1-#2\endcsname\relax
|<global mouseover-type|>\else
|<private mouseover-type|>\fi\fi}
>>>
\<global mouseover-type\><<<
\expandafter \ifx \csname a:mouseover-#1\endcsname\empty
\else
\Hnewline
onmouseover="tex4ht.body=tex4ht.#3; tex4ht.caption='#2';
|<init mouseover vars|>%
return overlib(\csname a:mouseover-#1\endcsname);"
\Hnewline onmouseout="nd();"\Hnewline\fi
>>>
\<private mouseover-type\><<<
\Hnewline
onmouseover="tex4ht.body=tex4ht.#3; tex4ht.caption='#2';
|<init mouseover vars|>%
return overlib(\csname a:mouseover-#1-#2\endcsname);"
\Hnewline onmouseout="nd();"\Hnewline
>>>
\<init mouseover vars\><<<
\expandafter\ifx \csname mouseover-#1-init\endcsname\relax
\else \csname mouseover-#1-init\endcsname{#2}\fi
>>>
%%%%%%%%%%%%%%%%
\subsection{Boundary Cases for mouseover}
%%%%%%%%%%%%%%%%
\<DOCTYPE in PROLOG under mouseover\><<<
\:CheckOption{xhtml} \if:Option \else
\:CheckOption{DOCTYPE} \if:Option
\Log:Note{to request a DOCTYPE declaration
use the command line option `DOCTYPE'}
\else
\edef\Preamble{\Preamble,no-DOCTYPE}
\fi
\fi
>>>
\<overlib src\><<<
<script type="text/javascript" src="overlib.js"><!-- overLIB (c) Erik Bosrup --></script>
<!--
https://github.com/overlib/overlib-->%
>>>
% <script language="JavaScript" src="overlib.js"
% type="text/javascript" ></script>\Hnewline
\begin{itemize}
\item
\begin{verbatim}
THE DOCUMENT DECLARATION GIVES TROUBLE IN CONNECTION WITH OVERLIB. It
would be hardly noticeable in small pages, requiring no scrolling -
the only symptom then is that the browser suddenly warns about errors
- those ones in overlib, and as a matter of fact, apparently in the
part of the script that ensures compatibility with Netscape. However,
in a large page, the pop-ups seem to disappear - making them STICKY
and scrolling up, one can find them in the upper right corner. One
has only to remove <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd"> however, to
put an end to the browser complaints and get back the pop-ups into
their proper places. \end{verbatim}
\item
\begin{verbatim}
I
have just found a reference to the trouble, together with a very easy
way to go round it: it is enough to add <?xml version="1.1"?> BEFORE
the Document declaration. I have checked it, and it is all right -
both for Explorer6 and Netscape 4.7 and 6.
By the way: for the Mouseover option to work under Netscape4.x, the call to
<script type="text/JavaScript" src="overlib.js"></script>
<!--
http://www.bosrup.com/web/overlib/ (Erik Bosrup)-->
MUST appear in the <BODY> section, NOT in the <HEAD>: absurd, but true (it
is reported in Overlib's page).
\end{verbatim}
\end{itemize}
%%%%%%%%%%%%%%%%
\subsection{The Configuration File onmouseover.4ht}
%%%%%%%%%%%%%%%%
\<onmouseover.4ht\><<<
\ifnum\the\catcode`\%=14\else\expandafter\edef\csname
\string:RestoreCatcodes\endcsname{\catcode`\%|=\the
\catcode`\%}\catcode`\%|=14\fi
% onmouseover.4ht (|version), generated from |jobname.tex
% Copyright 2009-2015 TeX Users Group
% Copyright |CopyYear.2001. Eitan M. Gurari
|<TeX4ht copywrite|>
\hbadness=10000 \vbadness=10000 \hfuzz=99in \vfuzz=\hfuzz
\overfullrule=0pt \let\makefootline\empty
\special{t4ht.js}
\newcount\CodeNumber
\def\NoSpecials#1#2#3{\edef\temp{\the\CodeNumber}%
\global\CodeNumber=#3
\def\next{\catcode\CodeNumber=#1
\ifnum \CodeNumber=#2 \let\next=\relax \fi
\global\advance\CodeNumber by -1 \next}\next
\global\CodeNumber=\temp }%
\expandafter\def\csname js js\endcsname{\egroup \special{t4ht@@}%
tex4ht=new Array() ; //\jstoday}
\expandafter\def\csname js js trace="on"\endcsname{\global
\let\TagTrace=\empty \csname js js\endcsname}
\expandafter\def\csname js /js\endcsname{\egroup \special{t4ht@@}%
\csname bye\endcsname\endinput}
|<hash for onmouseover.4ht|>
|<escape backslashes|>
\catcode`\<=13
\def\jselement#1{\expandafter\def\csname js #1\endcsname##1=##2</#1>{%
\hfill\break tex4ht.\jsHash{##1}=\hbox{"##2";}\egroup}}
|<escape double quotes|>
\expandafter\def\csname js \endcsname#1</>{%
\hfill\break \hbox{#1}\egroup}
\def<#1>{\bgroup
\expandafter \ifx \csname js #1\endcsname \relax \jselement{#1}\fi
\def<##1>{\TagTrace{\def\x{##1}\def\y####1:->{}%
\writesixteen{...\string<\expandafter\y\meaning\x>}}%
\string<\scan ##1"<>>}%
\NoSpecials{12}{0}{255}\NoSpecials{11}{65}{90}\NoSpecials{11}{97}{122}%
\catcode`\ =10 \catcode`\^^M=10 \catcode`\^^I=10 \catcode`\<=13
\catcode`\\=13
\tt \csname js #1\endcsname}
\def\TagTrace#1{}
\catcode`\&=12 \catcode`\#=12
\endinput
>>>
\<escape double quotes\><<<
\def\scan#1"#2<>{#1\if !#2!\expandafter\done\else
\string\"\expandafter\scan
\fi#2<>}
\def\done#1>{}
>>>
\<escape backslashes\><<<
\catcode`/=0 \catcode`\\=13
/def\{/string\/string\}
/catcode`/\=0 \catcode`\/=12
>>>
\<onmouseover utilities\><<<
\def\jsHash#1{\jsHash:a #1<>}
\def\jsHash:a#1#2<>{%
\ifnum `#1<`0 JjV\else
\ifnum `#1>`z jJv\else
\ifnum `#1>`9
\ifnum `#1<`A jJV\else
\ifnum `#1>`Z
\ifnum `#1<`a jVV\else #1\fi
\else #1\fi\fi
\else #1\fi\fi\fi
\if !#2!\expandafter\done:hash
\else\expandafter\jsHash:a\fi#2<>}
\def\done:hash#1>{}
>>>
\<hash for onmouseover.4ht\><<<
\def\jsHash#1{\jsHasha #1<>}
\def\jsHasha#1#2<>{%
\ifnum `#1<`0 JjV\else
\ifnum `#1>`z jJv\else
\ifnum `#1>`9
\ifnum `#1<`A jJV\else
\ifnum `#1>`Z
\ifnum `#1<`a jVV\else #1\fi
\else #1\fi\fi
\else #1\fi\fi\fi
\if !#2!\expandafter\done
\else\expandafter\jsHasha\fi#2<>}
>>>
\<onmouseover utilities\><<<
\expandafter\Odef\csname c:mouseover-?:\endcsname[#1]#2{%
\def\:temp{#2}%
\if !#1!\expandafter\let\csname a:mouseover-\:tempb\endcsname=\:temp
\else \om:type#1,|<par del|>\fi}
\def\om:type#1,#2|<par del|>{%
\if !#1!\else\expandafter
\let\csname a:mouseover-\:tempb-#1\endcsname=\:temp\fi
\ifx !#2!\else \def\:tempa{\om:type#2|<par del|>}\expandafter\:tempa \fi
}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Formats}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%
\section{latex.ltx}
%%%%%%%%%%%%%%%%%%%%%
\<configure html4 latex\><<<
|<0,32,4 plain,latex|>
|<32,4 plain,latex|>
|<config plain,latex|>
|<32,4 latex|>
|<4 latex|>
|<0,32,4 latex|>
|<latex ltsec|>
|<latex lttab|>
|<latex ltbibl|>
|<latex ltoutenc|>
|<latex ltfloat (footnotes)|>
% \:CheckOption{javahelp} \if:Option
% \input javahelp.4ht
% \else
% \Log:Note{for a JavaHelp output format,
% use the command line option `javahelp'}
% \fi
>>>
\<latex lttab\><<<
\Configure{extracolsep}
{~\tmp:dim=#1\relax\ifdim \tmp:dim>1em ~\fi}
>>>
\<configure html4-math amsmath\><<<
\Configure{tmspace}
{\ifdim \textspace>0.2em
\HCode{<span style="margin-left:\textspace" class="tmspace">}%
\else \HCode{<span style="margin-left:0.3em" class="thinspace">}\fi
\HCode{</span>}%
}
>>>
%%%%%%%%%%%%%%%%%%%%%%%
% ltplain.dtx
%%%%%%%%%%%%%%%%%%%%%%%
\subsection{obeylines}
\<config plain,latex\><<<
\Configure{obeylines}
{\ifvmode \:xhtml{\IgnorePar\EndP}\IgnoreIndent
\HCode{<div class="obeylines-v">}%
\gdef\ob:ln{\ht:special{t4ht=</div>}}%
\else
\SaveEndP \HCode{<span class="obeylines-h">}%
\gdef\ob:ln{\ht:special{t4ht=</span>}\RecallEndP}%
\fi
}
{\EndP\ob:ln\ShowPar}
{\hbox{\HCode{<br />}}}
\Css{.obeylines-h,.obeylines-v {white-space: nowrap; }}
\Css{div.obeylines-v p { margin-top:0; margin-bottom:0; }}
>>>
%%%%%%%%%%%%%%%%%%%%%%%
% ltspace.dtx
%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Spaces}
\<32,4 latex\><<<
\Configure{hspace}{}{}{\:nbsp}
>>>
%%%%%%%%%%%%%%%%%%%%%%%
% ltlogos.dtx
%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Logos}
\<config plain\><<<
|</TeX for 4.0t|>
>>>
\</TeX for 4.0t\><<<
\:CheckOption{fancylogo}\if:Option
\def\TeX{\HCode{<span class="TEX">}T\HCode{<span\Hnewline
class="E">}E\HCode{</span>}X\HCode{</span>}}
\Css{span.TEX {letter-spacing: -0.125em; margin-right:0.125em;}}
\Css{span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;}}
\Css{a span.TEX span.E {text-decoration: none; }}
\else
\def\TeX{TeX}
\fi
>>>
\verb'\def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX\@}'
%%%%%%%%%%%%%%%%%%%%%%%
% ltfssini.dtx
%%%%%%%%%%%%%%%%%%%%%%%
\subsection{tt Font}
\<0,32,4 latex\><<<
\ifx \ttfamily\:UnDef \else \Configure{tt}{\ttfamily} \fi
>>>
%%%%%%%%%%%%%%%%%%%%%%%
% ltxref.dtx
%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Cross References}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<32,4 latex\><<<
\Configure{ref}
{\Link}
{\ifx \RefArg\:UnDef\else
\Tg<!--tex4ht:ref: \RefArg\space-->\fi\EndLink}
{}
>>>
The comments lets us relate the automatically created label with that
offered by the user. The space is needed for cases that the label ends with a dash.
\begin{itemize}
\item
LaTeX allows labels almost everywhere.
\item
Different labels may be associated to a common object in LaTex.
\item
There are almost no restrictions on the kind of characters
allowed within the labels of LaTeX.
\end{itemize}
%%%%%%%%%%%%%%%%%%%%%%%
% ltmiscen.dtx
%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Miscellaneous Environments}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<32,4 plain,latex\><<<
\def\end:TTT{\ifvmode\IgnorePar\fi \EndP\HCode{</td></tr></table>}}
>>>
\<4 latex\><<<
\append:def\center{\par}
\ConfigureEnv{center}
{\ifvmode \IgnorePar\fi \EndP}{|<try env inline par|>}
{\EndP\IgnorePar
\HCode{<div class="\getClass{center}"\Hnewline>}\ShowPar\endgraf
\afterGetClass{center}}
{\IgnorePar\EndP\HCode{</div>}}
\ConfigureEnv{flushleft}
{\ifvmode \IgnorePar\fi \EndP}{|<try env inline par|>}
{\EndP\IgnorePar
\HCode{<div class="flushleft"\Hnewline>}\ShowPar\endgraf}
{\IgnorePar\EndP\HCode{</div>}}
\ConfigureEnv{flushright}
{\ifvmode \IgnorePar\fi \EndP}{|<try env inline par|>}
{\EndP\IgnorePar
\HCode{<div class="flushright"\Hnewline>}\ShowPar\endgraf}
{\IgnorePar\EndP\HCode{</div>}}
\Css{div.center,
div.center div.center {text-align: center;
margin-left:1em; margin-right:1em;}}
\NewConfigure{centerClass}{2}
\Configure{centerClass}{center}{}
\Css{div.center div {text-align: left;}}
\Css{div.flushright,
div.flushright div.flushright {text-align: right;}}
\Css{div.flushright div {text-align: left;}}
\Css{div.flushleft {text-align: left;}}
>>>
\<32,4 latex\><<<
\ConfigureEnv{verbatim}{\env:verb{verbatim}}{\endenv:verb}{}{}
\ConfigureEnv{verbatim*}{\env:verb{verbatim}}{\endenv:verb}{}{}
\HAssign\verbatimN 0
\def\env:verb#1{\ifinner\else \vfill\break\fi
\IgnorePar\EndP \HAssign\Verb:N=0
\gHAdvance\verbatimN by 1
\HCode{<pre class="#1" id="verbatim-\verbatimN"\a:LRdir>}\EndNoFonts}
\def\endenv:verb{\NoFonts
\EndP \ht:special{t4ht=</pre>}|<try inline par|>}
\HAssign\Verb:N=0
\Css{pre.verbatim {font-family: monospace,monospace;
text-align:left;
clear:both;
}}
>>>
\<configure html4 latex\><<<
\Configure{verbatim}
{\HCode{}}
{\a:sp}
\Configure{verb}
{\HCode{<code class="verb"\a:LRdir>}\NoFonts}
{\EndNoFonts\HCode{</code>}}
\Css{code.verb{font-family:monospace,monospace;}}
>>>
The \verb+\:nbsp+ above is because lynx collapses
consecutive \verb+<br />+ tags.
\<configure html4 latex\><<<
\Configure{centercr}{\ht:special{t4ht=<br />}}
{\ht:everypar{\ht:everypar{\HtmlPar}}}
>>>
% ltmath.dtx
%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Math Setup}
\<configure html4-math latex\><<<
\:CheckOption{pic-equation}\if:Option
\Configure{equation}
{\:xhtml{\ifvmode \IgnorePar\fi\EndP}%
\HCode{<table\Hnewline class="equation"><tr><td>}\IgnorePar
\Configure{$$}{\PicDisplay}{\EndPicDisplay}
{\everymath{}\everydisplay{}}
}
{\ifvmode \IgnorePar\fi\HCode{</td><td class="equation-label">}}
{\end:TTT |<try inline par|>} |% was: \IgnorePar\par|%
\else
\Configure{equation}
{\ifmmode\else\par \IgnorePar\fi \EndP
\HCode{<table\Hnewline class="equation"><tr><td>}\IgnorePar
}
{\ifvmode \IgnorePar\fi\EndP\HCode{</td><td class="equation-label">}}
{\end:TTT\ifmmode\else |<try inline par|>\fi}
\fi
\Css{table.equation {width:100\%;}}
\Css{.equation td{text-align:center; }}
\Css{td.equation { margin-top:1em; margin-bottom:1em; } }
\Css{td.equation-label { width:5\%; text-align:center; }}
>>>
\<configure html4-math latex\><<<
|<pic plain/latex math 4.0t|>
\:CheckOption{pic-eqnarray} \if:Option
|<PIC eqnarray Config|>
\else |<TABLE eqnarray Config 4.0t|>\fi
>>>
\<PIC eqnarray Config\><<<
\ConfigureEnv{eqnarray}
{\IgnorePar\EndP\Tg<div class="pic-eqnarray">\Picture*{}}
{\EndPicture\Tg</div>}{}{}
\Css{div.pic-eqnarray {text-align:center;}}
\ConfigureEnv{eqnarray*}
{\IgnorePar\EndP\Tg<div class="pic-eqnarray-star">\Picture*{}}
{\EndPicture\Tg</div>}{}{}
\Css{div.pic-eqnarray-star {text-align:center;}}
>>>
\<TABLE eqnarray Config 4.0t\><<<
\Log:Note{for pictorial eqnarray,
use the command line option `pic-eqnarray'}
\Configure{eqnarray}{\HCode{<table\Hnewline
class="eqnarray\ifx \@seqncr\@eqncr\else-star\fi ">}}
{\HCode{</table>}}
{\HCode{<tr style="vertical-align:middle;"
class="eqnarray\ifx \@seqncr\@eqncr\else-star\fi">}}
{\HCode{</tr>}}
{\HCode{\ifnum \HCol=4 <td\Hnewline width="10"
class="eqnarray4"></td>\fi
<td\Hnewline style="text-align:\ifcase\HCol \or right\or center\or
left\else right\fi ; white-space:nowrap;"\Hnewline
class="eqnarray\HCol">}}
{\EndP\HCode{</td>}}
\Css{td.eqnarray4 { width:5\%; white-space: normal; }}
\Css{td.eqnarray2 { width:5\%; }}
\Css{table.eqnarray-star, table.eqnarray {width:100\%;}}
>>>
\<TABLE eqnarray Config 4.0t\><<<
\ConfigureEnv{eqnarray}
{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="eqnarray">}}
{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}\par}{}{}
\ConfigureEnv{eqnarray*}
{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="eqnarray">}}
{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}\par}{}{}
\Css{div.eqnarray{text-align:center;}}
>>>
%%%%%%%%%%%%%%%%%%%%%%%
% lttab.dtx
%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Tabbing, Tabular and Array Environments}
\<configure html4 latex\><<<
\:CheckOption{no-array}\if:Option \else
|<html latex array/tabular Config 4.0t|>
\fi
>>>
\<configure html4-math latex\><<<
\:CheckOption{no-array}\if:Option \else
|<math html latex array/tabular|>
\fi
>>>
\<32,4 picmath latex\><<<
\:CheckOption{pic-array} \if:Option
\ConfigureEnv{array}
{\IgnorePar\EndP\Tg<div class="pic-array">\Picture*{}$$}
{$$\EndPicture\Tg</div>}{}{}
\Css{div.pic-array {text-align:center;}}
\else
\Log:Note{for pictorial array,
use the command line option `pic-array'}
\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
>>>
\<0,32,4 latex\><<<
\Configure{hline}{\ifx \ar:cnt\:UnDef\else
\o:noalign:{|<hline body for array/tabular|>}%
\expandafter\ignoreEndTr
\fi}
\Configure{//[]}{\ifx \ar:cnt\:UnDef
\else\o:noalign:{|<vspace body for array/tabular|>}\fi}
>>>
\<hline body for array/tabular\><<<
\append:def\hline:s{\a:HBorder}%
\def\:tempb{\ifnum \tmp:cnt<\ar:cnt
\advance\tmp:cnt by 1 \append:def\hline:s{\b:HBorder}%
\expandafter\:tempb
\fi }%
\tmp:cnt|=0 \:tempb
\append:def\hline:s{\c:HBorder}\global\let\hline:s|=\hline:s
>>>
\<inline comment\><<<
\ifvmode\else\HCode{<!--tex4ht:inline-->}\fi
>>>
\<html latex array/tabular Config 4.0t\><<<
\Configure{multicolumn}
{\global\let\col:Css\empty
\Configure{VBorder}
{}
{\xdef\col:Css{\col:Css
border-\ifnum \ar:cnt=0 left\else right\fi
:1px solid \VBorder:color;}%
}{}{}%
}
{\ifx \col:Css\empty \else
\Css{td\#TBL-\TableNo-\HRow-\HCol{\col:Css}}%
\fi
}
{\ifvmode\IgnorePar\fi
\HCode{<div class="multicolumn" }\HColAlign\HCode{>}%
\ifx \col:Css\empty \else
\Css{td\#TBL-\TableNo-\HRow-\HCol{\col:Css}}%
\fi
}
{\ifvmode\IgnorePar\fi \EndP\HCode{</div>}}
>>>
\<configure clear noalign\><<<
\Configure{noalign}{}{}%
>>>
\<configure tabular noalign\><<<
\Configure{noalign}%
{\f:tabular\d:tabular \HCode{<tr><td colspan="\ar:cnt">}}
{\HCode{</td></tr>}\pend:def\TableNo{0}\c:tabular\e:tabular}%
>>>
\<html latex array/tabular Config 4.0t\><<<
\def\pic:env{%
\def\begin##1{\bgroup
\def\end####1{\o:end:{####1}\EndPicture\egroup}%
\ifx \EndPicture\:UnDef
\Picture+{ class="##1" style="text-align:middle"}%
\else \let\EndPicture|=\empty\fi
\o:begin:{##1}}%
}
>>>
\verb'\AllColMargins' Return a binary string in which 1 represents
a column, and 0 represents a `@'. \verb'\ColMargins' retrieves the
zeros before the 1's that represent the current and following 1's.
\<html latex array/tabular Config 4.0t\><<<
\def\ColMargins{%
\ifx \AllColMargins\empty
\:warning{Empty \string\AllColMargins}%
\else
\tmp:cnt|=\HCol\relax
\expandafter\nosp:hbr\AllColMargins 1//%
\fi }
\def\nosp:hbr#11#2//{\ifnum \tmp:cnt>1 \advance\tmp:cnt by -1
\nosp:hbr#2//\else\nosp:gt#11#2//\fi}
\def\nosp:gt#11#21#3//{%
\def\:temp{#1}\ifx \:temp\empty 1\else 0\fi
\def\:temp{#2}\ifx \:temp\empty 1\else 0\fi}
\Css{div.td00{ margin-left:0pt; margin-right:0pt; }}
\Css{div.td01{ margin-left:0pt; margin-right:5pt; }}
\Css{div.td10{ margin-left:5pt; margin-right:0pt; }}
\Css{div.td11{ margin-left:5pt; margin-right:5pt; }}
>>>
\<html latex array/tabular Config 4.0t\><<<
\Configure{halignTB<>}{tabular}{\HCode{id="TBL-\TableNo"
class="tabular"\Hnewline
\GROUPS\Hnewline
}<>\HAlign}
\Css{table[rules] {border-left:solid black 0.4pt;
border-right:solid black 0.4pt; }}
\:CheckOption{pic-tabular} \if:Option \else
\Configure{tabular}
{\ifvmode \IgnorePar\fi \EndP \halignTB{tabular}\putVBorder }
{|<insert Clr|>\HCode{</table>}}
{\HCode{<tr \Hnewline}\halignTR
\HCode{ id="TBL-\TableNo-\HRow-">}}
{\r:HA}
{\HCode{<td \ifnum \HMultispan>1 colspan="\HMultispan"\fi}%
\halignTD \HCode{ id="TBL-\TableNo-\HRow-\HCol"
\Hnewline class="td}|<tabular td align|>%
\HCode{">}|<td save EndP|>%
|<start array par box|>\PushStack\Table:Stck\TableNo}
{|<end array par box|>\PopStack\Table:Stck\TableNo \d:HA}
\fi
|<configuring @()|>
\Css{td.td00{ padding-left:0pt; padding-right:0pt; }}
\Css{td.td01{ padding-left:0pt; padding-right:5pt; }}
\Css{td.td10{ padding-left:5pt; padding-right:0pt; }}
\Css{td.td11{ padding-left:5pt; padding-right:5pt; }}
>>>
\<insert ClrNO\><<<
\expandafter\tmp:toks\expandafter{\Clr}%
\HCode{<!--"\the\tmp:toks"-->}%
>>>
The quotes above hide \verb+>+ from IE within the comment. Otherwise, the
browser inappropriately get confused.
On the other hand, the above doesn't work, for instance on
`\verb+|r||r@{--}l|p{1.25in}|+' due to the extra \verb+--+.
\subsection{The option @()}
\<configuring @()\><<<
\Configure{@{}}{}
>>>
\<html latex array/tabular Config 4.0t\><<<
\Configure{halignTB<>}{array}{\HCode{id="TBL-\TableNo" class="array"\Hnewline
\GROUPS\Hnewline
}<>\HAlign}
\Css{table[rules] {border-left:solid black 0.4pt;
border-right:solid black 0.4pt; }}
\:CheckOption{pic-array} \if:Option \else
\Configure{array}
{\ifvmode \IgnorePar\fi \EndP\halignTB{array}\putVBorder}
{|<insert Clr|>\HCode{</table>}}
{\R:HA}
{\r:HA}
{\D:HA\HCode{<div class="td}|<tabular td align|>%
\HCode{">}|<start array par box|>\pic:env}
{|<end array par box|>\HCode{</div>}\d:HA}
\Configure{arrayparbox}{\ShowPar}
\fi
>>>
\verb|\par| is empty if not in par box.
\<start array par box\><<<
\par \ShowPar
>>>
\<end array par box\><<<
\IgnorePar \EndP
>>>
We force border around the full table whenever a vertical line is
requested, because it makes the tables better looking within the
existing capabilities.
Currently, we either have empty \verb'\VBorder', or one defined to
\verb'\def\VBorder{border="1"}'.
\<html latex array/tabular Config 4.0t\><<<
\let\VBorder|=\empty \let\AllColMargins|=\empty
\def\VBorder:color{black}
\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"}}
% put vertical border for a column
\ifnum\ar:cnt > 0%
% in all other cases, we should put right border
\Css{\#TBL-\TableNo-\ar:cnt {border-right:1px solid \VBorder:color;}}%
\else%
% columns are numbered from 1. if \ar:cnt == 0 then it is the left border
\Css{\#TBL-\TableNo-1{border-left: 1px solid \VBorder:color;}}%
\fi%
}
{\Advance:\NewGroup by 1
\ifnum \NewGroup=1 \xdef\VBorder{\VBorder<colgroup
id="TBL-\TableNo-\ar:cnt g">}\fi
\xdef\VBorder{\VBorder<col\Hnewline id="TBL-\TableNo
-\ar:cnt"\xml:empty>}\xdef\AllColMargins{\AllColMargins1}}
{\xdef\AllColMargins{\AllColMargins 0}}
\Configure{HBorder}
{<tr\Hnewline class="hline">} {<td><hr\xml:empty></td>} {</tr>}
{<tr\Hnewline class="cline">}
{<td></td>} {<td style="border-top:1px solid \#\hline:color;"></td>} {</tr>}
{<tr\Hnewline class="vspace" style="font-size:\HBorderspace">}
{<td\Hnewline>\string </td>}
{</tr>}
\Configure{putHBorder}{\HCode{\HBorder}}
\HAssign\Next:TableNo|=0 \global\let\TableNo=\Next:TableNo
\Css{.hline hr, .cline hr{ height : 0px; margin:0px; }}
\Css{.hline td, .cline td{ padding: 0; }}
\Css{.hline hr, .cline hr{border:none;border-top:1px solid black;}}
\Css{.hline {border-top: 1px solid black;}}
\Css{.hline + .vspace:last-child{display:none;}}
% why was there this rule? it adds unnecessary extra rule at the top of tables
% \Css{.hline:first-child{border-bottom:1px solid black;border-top:none;}}
>>>
When \verb'\putVBorder' is call in \verb'\VBorder'
we have a sequence of the form
\verb'<COLGROUP><COL ...">...</COLGROUP>...' with the last
tag possibly missing.
\<html latex array/tabular Config 4.0t\><<<
\def\putVBorder{\expandafter\put:VBorder\VBorder</>|<par del|>}
\def\put:VBorder#1</#2>#3|<par del|>{\def\:temp{#2}\ifx\:temp\empty
\HCode{\VBorder}%
\def\:temp{#1}\ifx\:temp\empty \else\HCode{</colgroup>}\fi
\else \def\:temp{\put:VBorder#3|<par del|>}\expandafter\:temp\fi
}
>>>
\<configure html4 latex\><<<
\:CheckOption{pic-tabbing} \if:Option
\ConfigureEnv{tabbing}{\Picture*{}}{\EndPicture}{}{}
\else
|<TABLE tabbing Config 4.0t|>
\:CheckOption{pic-tabbing'} \if:Option
|<PICT dot tabbing|>
\fi
\fi
>>>
\<TABLE tabbing Config 4.0t\><<<
\Configure{tabbing}[1.5]{%
\ifvmode \IgnorePar\fi\EndP \leavevmode\ht:special{t4ht=<table
\Hnewline\:zbsp{tabbing}><tr \Hnewline style="vertical-align:baseline;"
class="tabbing">}}
{\ht:special{t4ht=</tr></table>}\ShowPar \csname par\endcsname
|<global HtmlPar|>%
}
{\ht:special{t4ht=<td \ifx \TabWidth\empty \else
style="width:\TabWidth;"\fi \Hnewline
class="tabbing\ifx \`\TabType -right\fi">}}
{\ht:special{t4ht=</td>}}
\ConfigureEnv{tabbing}{\IgnorePar\EndP}{}{}{}
\Css{.tabbing-right {text-align:right;}}
>>>
%%%%%%%%%%%%%%%%%%%%%% to be placed %%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{to be placed}
%%%%%%%%%%%%%%%%%%%
\<4 latex\><<<
\Configure{underline}
{\HCode{<span class="underline">}\:gobble}
{\HCode{</span>}}
\Css{.underline{ text-decoration:underline; }}
\Css{.underline img{ border-bottom: 1px solid black;
margin-bottom:1pt; }}
>>>
\<config plain\><<<
\Configure{underline}
{\HCode{<span class="underline">}\hbox\bgroup \:gobble}
{\egroup \HCode{</span>}}
\Css{.underline{ text-decoration:underline; }}
\Css{.underline img{ border-bottom: 1px solid black;
margin-bottom:1pt; }}
>>>
\<config plain,latex\><<<
\Configure{overline}
{\HCode{<span class="overline">}}
{\HCode{</span>}}
\Css{.overline{ text-decoration:overline; }}
\Css{.overline img{ border-top: 1px solid black; }}
>>>
\<0,32,4 plain,latex\><<<
\Configure{ }{\:nbsp}
>>>
\<0,32,4 latex\><<<
\:CheckOption{pic-framebox} \if:Option
\Configure{framebox}
{\Picture+[]{ \a:@Picture{framebox}}} {\EndPicture}
\else
\Log:Note{for bitmap framebox'es, use
the command line option `pic-framebox'}
\Configure{framebox}
{\HCode{<span class="framebox-\frameboxAlign"\Hnewline
style="width:\frameboxWidth;">}}
{\HCode{</span>}}
|<shared framebox style|>
\fi
>>>
% \bgroup
% \fboxrule=0pt \fboxsep=0pt
% \HAssign\frameboxN=0
% \gHAdvance\frameboxN by 1
% id="framebox-\frameboxN"
\<shared framebox style\><<<
\Css{.framebox-c, .framebox-l, .framebox-r {
padding-left:\the\fboxsep;
padding-right:\the\fboxsep;
text-indent:0pt;
border:solid black \the\fboxrule;
}}
\Css{.framebox-c {text-align:center;}}
\Css{.framebox-l {text-align:left;}}
\Css{.framebox-r {text-align:right;}}
>>>
\<32,4 latex\><<<
\:CheckOption{pic-fbox} \if:Option
\Configure{fbox}
{\leavevmode\Picture+[]{ \a:@Picture{fbox}}} {\EndPicture}
\else
\Log:Note{for bitmap fbox'es, use
the command line option `pic-fbox'}
\Configure{fbox}
{\ifvmode \IgnorePar\EndP
\HCode{<div class="fbox">}%
\def\end:bx{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}\par}%
\else
\HCode{<span class="fbox">}%
\def\end:bx{\HCode{</span>}}%
\fi}
{\end:bx}
\Css{.fbox {padding-left:\the\fboxsep;
padding-right:\the\fboxsep;
text-indent:0pt;
border:solid black \the\fboxrule;
}}
\Css{div.fbox {display:table}}
\Css{div.center div.fbox {text-align:center; clear:both;
padding-left:3.0pt; padding-right:3.0pt;
text-indent:0pt; border:solid black 0.4pt; }}
\fi
>>>
The property 'display:table' is introduced so borders will be tight on
the content instead of expanding to the surrounding box size.
\<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
>>>
\<0,32,4 latex\><<<
\Configure{oalign}{\Picture+{ \a:@Picture{oalign}}}{\EndPicture}
\Configure{TocLink}
{\expandafter\ifx \csname #3-def\endcsname\relax
\global\expandafter\let \csname #3-def\endcsname\def
\Link{#2}{#3}%
\else
\Link{#2}{}%
\fi
{|<config TocLink anchor|>#4}\ifvmode\IgnorePar\fi\EndLink}
>>>
\<config TocLink anchor\><<<
\Configure{ref}{}{}{}%
\let\EndLink=\empty
\let\H:Tag:attr\:gobbleII
\let\:::HRef\empty
\def\::hRef[##1]##2{}%
\def\::hRefTag[##1]##2##3{}%
\def\:::HRefTag##1##2{}%
|<cite in TocLink|>%
>>>
\<configure html4-math latex\><<<
\Configure{stackrel}{\Picture+{ class="stackrel"}\mathrel}
{\limits ^}{\EndPicture}
>>>
\<0,32,4 latex\><<<
\Configure{picture}
{\Picture+[PICT]{}}
{\EndPicture}
>>>
\<32,4 latex\><<<
\ConfigureEnv{minipage}
{\IgnorePar\EndP
\HCode{<div class="minipage">}%
{\ifnum 0=`}\fi
}
{\ifnum 0=`{\fi}%
\EndP\HCode{</div>}}
{}{}
\Css{div.minipage{width:100\%;}}
>>>
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}
Tried the following for minipage
\begin{verbatim}
\ConfigureEnv{minipage}
{\IgnorePar\EndP\HCode{<div class="minipage">}}
{\EndP\HCode{</div>}}
{\IgnoreIndent\HtmlEnv}{}
\end{verbatim}
but was not able to find an appropriate css code for centered pages
\begin{verbatim}
Es ist ganz einfach:
\begin{center}
\raisebox{0cm}{\begin{minipage}{10cm}\sc Jesus Christus\\
erbarme dich meiner!\end{minipage}}
\end{center}
Varianten sind:
\end{verbatim}
\<32,4 latex\><<<
\:CheckOption{minipage-width} \if:Option
\ExplSyntaxOn
\ConfigureEnv{minipage}{}{}{}{}
\Configure{minipage}
{
\ifvmode\IgnorePar\fi\EndP%
\HCode{<div~class="minipage"~style="max-width:%
\fp_eval:n{round(\@tempdima/\textwidth*100,2)}% calculate minipage width as a percentage of the total page width
\char_generate:nn { `\% } { 12 };% trick to insert a percent sign
display:inline-block;vertical-align:top">
}
}
{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}}%
\ExplSyntaxOff
\Css{div.minipage{width: auto; display: inline-block;}}
\else
\Log:Note{for minipage with width, use the command line option `minipage-width'}
\fi
>>>
\<latex shared section config\><<<
\Configure{endsection}
{likesection,chapter,likechapter,appendix,part,likepart}
\Configure{endlikesection}
{section,chapter,likechapter,appendix,part,likepart}
>>>
\<latex shared subsection config\><<<
\Configure{endsubsection}
{likesubsection,section,likesection,chapter,%
likechapter,appendix,part,likepart}
\Configure{endlikesubsection}
{subsection,section,likesection,chapter,%
likechapter,appendix,part,likepart}
>>>
\<latex shared subsubsection config\><<<
\Configure{endsubsubsection}
{likesubsubsection,subsection,likesubsection,section,%
likesection,chapter,likechapter,appendix,part,likepart}
\Configure{endlikesubsubsection}
{subsubsection,subsection,likesubsection,section,%
likesection,chapter,likechapter,appendix,part,likepart}
>>>
\<latex shared div config\><<<
\Configure{endlikeparagraph}
{paragraph,subsubsection,likesubsubsection,subsection,%
likesubsection,section,%
likesection,chapter,likechapter,appendix,part,likepart}
\Configure{endsubparagraph}
{likesubparagraph,likeparagraph,subsubsection,likesubsubsection,%
subsection,likesubsection,section,%
likesection,chapter,likechapter,appendix,part,likepart}
\Configure{endlikesubparagraph}
{subparagraph,likeparagraph,subsubsection,likesubsubsection,%
subsection,likesubsection,section,%
likesection,chapter,likechapter,appendix,part,likepart}
>>>
\<latex shared paragraph config\><<<
\Configure{endparagraph}
{likeparagraph,subsubsection,likesubsubsection,subsection,%
likesubsection,section,%
likesection,chapter,likechapter,appendix,part,likepart}
>>>
\<latex shared part config\><<<
\Configure{endpart}{likepart}
\Configure{endlikepart}{endpart}
>>>
\<latex shared part config\><<<
\Configure{part}{}{}
{\IgnorePar \EndP\HCode{<h1 class="partHead"\a:LRdir>}%
\HCode{<span class="titlemark">}\partname \ \thepart
\HCode{<br /></span>}}
{\HCode{</h1>}\IgnoreIndent\par}
\Configure{likepart}{}{}
{\IgnorePar\EndP\HCode{<h1 class="likepartHead"\a:LRdir>}}
{\HCode{</h1>}\IgnoreIndent\par}
\Configure{partTITLE+}{\thepart\space #1}
\Configure{likepartTITLE+}{#1}
\Css{h1.partHead{text-align: center}}
>>>
\<configure html4 latex\><<<
\ifx\bf\:UnDef
\def\bf{\normalfont\bfseries}
\fi
>>>
Earlier we had
\verb'\:CheckOption{no-halign} \if:Option \else |<pic array|> \fi',
and the same for pic tabular. Why?
\<config plain,latex\><<<
\Configure{displaylines}
{\IgnorePar \EndP
\HCode{<table \Hnewline border="0" width="100\%"
class="displaylines">}\IgnorePar}
{\HCode{</table>}}
{\HCode{<tr class="displaylines"><td \Hnewline
style="vertical-align:baseline;" class="displaylines"
>}}{\HCode{</td></tr>}}
\Css{td.displaylines {text-align:center; white-space:nowrap;}}
>>>
\<picmath plain,latex\><<<
\let\A:displaylines|=\a:displaylines
\let\B:displaylines|=\b:displaylines
\let\C:displaylines|=\c:displaylines
\let\D:displaylines|=\d:displaylines
\Configure{displaylines}
{\ifmmode
\def\A:displaylines{\Picture*{}}%
\def\B:displaylines{\EndPicture}%
\fi
\A:displaylines}
{\B:displaylines} {\C:displaylines}{\D:displaylines}
>>>
\<show input line no\><<<
<!--l. \the\inputlineno-->%
>>>
\<configure html4 latex\><<<
|</TeX for 4.0t|>
\:CheckOption{fancylogo}\if:Option
\def\:temp{\HCode{<span class="LATEX">}L\HCode{<span
class="A">}A\HCode{</span>}\TeX\HCode{</span>}}
\HLet\LaTeX|=\:temp
\def\:temp{\mbox{%
\if b\expandafter\@car\f@series\@nil\boldmath\fi
\LaTeX2$_{\textstyle\varepsilon}$}}
\expandafter\HLet\csname LaTeXe\endcsname|=\:temp
\Css{span.LATEX span.A{ position:relative; top:-0.5ex;
left:-0.4em; font-size:85\%;}}
\Css{span.LATEX span.TEX{ position:relative; margin-left: -0.4em; margin-right:0.125em; }}
\else
\def\LaTeX{LaTeX}
\def\LaTeXe{LaTeX2e}
\fi
\Configure{@TITLE}{\def\LaTeX{LaTeX}\let\fontencoding|=\:gobble
\let\fontfamily|=\:gobble \let\fontseries|=\:gobble
\let\fontshape|=\:gobble \let\usefont|=\:gobbleIV }
>>>
\<configure html4 latex\><<<
\Configure{newline}{\HCode{<br\Hnewline class="newline" />}}
>>>
\<configure html4 supertabular\><<<
\Configure{SpBorder}
{<tr\Hnewline class="vspace"><!--\SpBorder-->}
{<td>\string </td>}
{</tr>}
\ConfigureEnv{supertabular}
{\par \IgnorePar \EndP \HCode{<div class="supertabular">}}
{\ifvmode \IgnorePar \fi \EndP \HCode{</div>}\par}
{} {}
\Css{.supertabular {text-align:center}}
>>>
\<configure html4 longtable\><<<
\:CheckOption{old-longtable}\if:Option
|<config old longtable|>
\else
|<config new longtable|>
\fi
>>>
\<configure html4 longtable\><<<
\:CheckOption{pic-longtable} \if:Option
\ConfigureEnv{longtable}
{\IgnorePar\EndP\Tg<div class="pic-longtable">\Picture*{}}
{\EndPicture\Tg</div>}{}{}
\Css{div.pic-longtable {text-align:center;}}
\else
\Log:Note{for pictorial longtable,
use the command line option `pic-longtable'}
\fi
>>>
\<config new longtable\><<<
\Configure{halignTB<>}{longtable}{\HCode{id="TBL-\TableNo" class="longtable"\Hnewline
\GROUPS\Hnewline
}<>\HAlign}
\Css{table[rules] {border-left:solid black 0.4pt;
border-right:solid black 0.4pt; }}
\Css{table.longtable{border-collapse: collapse; border-spacing: 0;}}
\Configure{longtable}
{\IgnorePar\EndP
\HCode{|<show input line no|><div class="longtable">}%
\halignTB{longtable}\putVBorder }
{|<insert Clr|>\HCode{</table></div>}}
{\HCode{<tr \Hnewline}\halignTR\HCode{ id="TBL-\TableNo-\HRow-">}}
{\r:HA}
{\HCode{<td \ifnum \HMultispan>1 colspan="\HMultispan"\fi}%
\halignTD \HCode{ id="TBL-\TableNo-\HRow-\HCol"
\Hnewline class="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}
\Css{div.longtable{text-align:center;}}
\Css{table.longtable{margin-left:auto; margin-right: auto;}}
\Css{table.longtable p{margin-top: 0; margin-bottom: 0;}}
\Configure{longtableparbox}{\IgnorePar\leavevmode\ShowPar\par}
\Configure{longtablecaption}{\ifvmode\IgnorePar\fi\EndP\HCode{<caption class="longtable">}\par\ShowPar\HCode{<span class="id">}}{:\ }{\HCode{</span><span class="content">}}{\HCode{</span>}\ifvmode\IgnorePar\fi\EndP\HCode{</caption>}}
\Css{caption.longtable .id{font-weight:bold;}}
>>>
\<config old longtable\><<<
\let\a:longtable=\a:tabular
\let\b:longtable=\b:tabular
\let\c:longtable=\c:tabular
\let\d:longtable=\d:tabular
\let\e:longtable=\e:tabular
\let\f:longtable=\f:tabular
>>>
\<configure html4 latex\><<<
\Configure{float}
{\ifOption{refcaption}{}{\csname par\endcsname\ShowPar \leavevmode}}
{\:xhtml{\IgnorePar\EndP}\HCode{<hr class="float"\xml:empty><div
class="float"\Hnewline>}}
{\ifvmode \IgnorePar \fi\EndP
\HCode{</div><hr
class="endfloat" />}\csname par\endcsname\ShowPar}
\ConfigureEnv{figure}
{\:xhtml{\IgnorePar\EndP}\HCode{<hr class="figure"\xml:empty><div
class="figure"\Hnewline>}%
\bgroup \Configure{float}{\ShowPar}{}{}%
}
{\egroup
\:xhtml{\IgnorePar\EndP}\HCode{</div><hr
class="endfigure"\xml:empty>}|<try env inline par|>\par}
{}{}
\Css{div.float, div.figure {margin-left: auto; margin-right: auto;}}
\Css{div.float img {text-align:center;}}
\Css{div.figure img {text-align:center;}}
>>>
The \verb'<TABLE>' is needed as a grouping mechanism for \verb'<CENTER>'.
%%%%%%%%%%%%%%%%%%%%%%
\section{Plain}
%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{General}
%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 plain\><<<
|<config plain,latex|>
|<0,32,4 plain|>
|<0,32,4 plain,latex|>
|<32,4 plain,latex|>
|<32,4 plain|>
|<config plain|>
|<plain items|> |%keep last in html mode?|%
>>>
\<config plain\><<<
\def\plain:indent{\ShowIndent \global\let\plain:indent\empty}
\Configure{@BODY}{\plain:indent}
>>>
\<plain items\><<<
\Configure{item}
{}{}
{\par\Configure{items}{\item:class}\HCode{<span class="item">}}
{\HCode{</span>}\Configure{items}{}}
\Configure{itemitem}
{}{}
{\par\Configure{items}{\itemitem:class}\HCode{<span class="itemitem">}}
{\HCode{</span>}\Configure{items}{}}
\Css{p.item {text-indent:-2em; margin-left:2em;}}
\Css{p.itemitem {text-indent:-2em; margin-left:4em;}}
\Css{span.item, span.itemitem {width:2em; margin-right:0.4em;}}
\Configure{!P}{\a:items}
\NewConfigure{items}{1}
\Configure{items}{}
\def\item:class#1class#2"#3"{#1class="item"}
\def\itemitem:class#1class#2"#3"{#1class="itemitem"}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Math}
%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 plain\><<<
|<TABLE eqalign shared Configure 4.0t|>
>>>
\<TABLE eqalign shared Configure 4.0t\><<<
\Configure{eqalign}
{\:xhtml{\IgnorePar\EndP}\HCode
{<div class="eqalign"><table class="eqalign">}}
{\HCode{</table></div>}}
{\HCode{<tr \Hnewline class="eqalign"
style="vertical-align:middle;">}}{\IgnorePar\HCode{</tr>}}
{\HCode{<td style="white-space:nowrap;text-align:\ifnum \HCol=2
left\else right\fi"\Hnewline class="eqalign\HCol"
>}}
{\HCode{</td>}}
\def\:eqalign:{\Configure{noalign}
{\HCode{<tr><td class="noalign" colspan="2">}}%
{\HCode{</td></tr>}}}
\Css{td.eqalign3 { text-align:right; margin-left:10em;}}
\Css{.eqalign td { white-space: nowrap; }}
\Css{div.eqalign {text-align:center;}}
>>>
\<TABLE eqalign shared Configure 4.0t\><<<
\Configure{eqalignno}
{\:xhtml{\IgnorePar\EndP}\HCode{<table class="eqalignno">}}
{\HCode{</table>}}
{\HCode{<tr\Hnewline class="eqalignno">}}{\IgnorePar\HCode{</tr>}}
{\HCode{\ifnum \HCol=3 <td\Hnewline width="10"
class="eqalignno-sp"></td>\fi
<td style="text-align:\ifnum \HCol=2 left\else right\fi"\Hnewline
class="eqalignno\HCol">}}
{\HCode{</td>}}
\def\:eqalignno:{\Configure{noalign}
{\HCode{<tr><td class="noalign" colspan="2">}}%
{\HCode{</td></tr>}}}
\Css{td.eqalignno3, td.leqalignno3
{ text-align:right; margin-left:10em;}}
\Css{.leqalignno td, .eqalignno td
{ white-space: nowrap; }}
\Css{.leqalignno td.noalign, .eqalignno td.noalign
{ width:5\%; white-space: normal; }}
\Css{table.leqalignno, table.eqalignno {width:100\%;}}
>>>
\<TABLE eqalign shared Configure 4.0t\><<<
\Configure{leqalignno}
{\:xhtml{\IgnorePar\EndP}\HCode{<table class="leqalignno">}}
{\HCode{</table>}}
{\HCode{<tr \Hnewline
class="leqalignno">}}{\IgnorePar\HCode{</tr>}}
{\HCode{\ifnum \HCol=3 <td\Hnewline width="30"
class="eqalignno-sp"></td>\fi
<td style="text-align:\ifnum \HCol=2 left\else right\fi"\Hnewline
class="leqalignno\HCol">}}
{\HCode{</td>}}
\def\:leqalignno:{\Configure{noalign}
{\HCode{<tr><td class="noalign" colspan="2">}}%
{\HCode{</td></tr>}}}
>>>
\<shared plain/latex pmatrix 4.0t\><<<
\Configure{pmatrix}
{\ifvmode
\def\end:pmatrix{\IgnorePar\HCode{</div>}\end:TTT}%
\:xhtml{\IgnorePar\EndP}\HCode
{<table\Hnewline class="pmatrix"><tr><td><div
class="pmatrix"\Hnewline>}%
\else \HCode{<span class="pmatrix">}%
\def \end:pmatrix{\HCode{</span>}}%
\fi}
{\end:pmatrix}
\Css{span.pmatrix img{vertical-align:middle;}}
\Css{div.pmatrix {text-align:center;}}
\Css{table.pmatrix {width:100\%;}}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Environments}
%%%%%%%%%%%%%%%%%%%%%%%%%
\<config plain\><<<
\Configure{settabs}[1.5]{\IgnorePar\EndP\leavevmode
\ht:special{t4ht=<table
\Hnewline\:zbsp{settabs}><tr \Hnewline style="vertical-align:baseline;"
class="settabs">}}
{\ht:special{t4ht=</tr></table>}}
{\ht:special{t4ht=<td \ifx \TabWidth\empty \else
width="\TabWidth"\fi \Hnewline class="settabs">}}
{\ht:special{t4ht=</td>}}
>>>
\<config plain\><<<
\Configure{narrower}{\ifvmode \IgnorePar\fi \EndP%
\HCode{<table cellpadding="15" class="narrower"><tr
class="narrower"><td class="narrower">}\ifvmode \IgnorePar\fi}
{\ifvmode \IgnorePar\fi \EndP
\HCode{</td></tr></table>}\ifvmode \IgnorePar\fi}
>>>
\<0,32,4 plain\><<<
\Configure{settabs}[1.5]{}{}{}{}{}
\Configure{line}{\HCode{<br />}}
>>>
\<config plain\><<<
\Configure{proclaim}
{\IgnorePar\EndP\HCode{<div class="proclaim"><span class="proclaim">}}
{\HCode{</span>}} {\IgnorePar\EndP\HCode{</div>}}
\Css{div.proclaim { margin-top: 1em; margin-bottom: 1em; }}
>>>
\<config plain\><<<
\Configure{beginsection}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="beginsection">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{\ifvmode \IgnorePar\fi \EndP \HCode{<h3 class="beginsection">}}
{\HCode{</h3>}\par\ShowPar}
\ConfigureToc{beginsection}
{} {\relax} {} { }
>>>
% \Css{div.beginsection { margin-top: 1em; margin-bottom: 1em; }}
\<config plain\><<<
\Configure{TableOfContents}
{\IgnorePar\EndP \HCode{<div class="TableOfContents"\a:LRdir>}}{}
{\ifvmode \IgnorePar\fi\EndP
\HCode{</div>}\ShowPar}{\HCode{<br />}}{}
>>>
\<config plain\><<<
\:CheckOption{1} \if:Option
\CutAt{beginsection}
\Configure{beginsectionTITLE+}{#1}
\ConfigureToc{beginsection}
{\HCode{<span class="beginsectionToc" \a:LRdir>}}
{\empty}
{}
{\HCode{</span><br />}}
\let\au:StartSec\:StartSec
\def\:StartSec{\TableOfContents[beginsection]%
\global\let\:StartSec\au:StartSec
\:StartSec}%
\else
\Log:Note{for automatic sectioning
pagination, use the command line option `1'}%
\fi
>>>
\<config plain\><<<
\Configure{insert}
{\IgnorePar\EndP\HCode{<hr class="insert"\xml:empty>}\IgnorePar}
{\IgnorePar\EndP\HCode{<hr class="endinsert"\xml:empty>}\IgnorePar}
>>>
\<pic plain/latex math 4.0t\><<<
\NewConfigure{@root}{1}
\Configure{@root}{align="middle" }
>>>
\<html4-math plain,fontmath\><<<
\Configure{big}{\HCode{<span class="big">}}{\HCode{</span>}}{}{}
\Configure{Big}{\HCode{<span class="bbig">}}{\HCode{</span>}}{}{}
\Configure{bigg}{\HCode{<span class="bigg">}}{\HCode{</span>}}{}{}
\Configure{Bigg}{\HCode{<span class="bbigg">}}{\HCode{</span>}}{}{}
>>>
\<pic plain math 4.0t\><<<
\Configure{@underbrace}{align="middle"}
>>>
\<config plain,latex\><<<
\def\:zbsp#1{cellpadding="0" border="0" \Hnewline
class="#1"}
>>>
\<config plain,latex\><<<
\Configure{centerline}{\ifvmode \IgnorePar
\fi \EndP\HCode{<div \Hnewline
class="centerline">}}{\EndP\HCode{</div>}\ShowPar}
\Configure{leftline}{\ifvmode \IgnorePar
\fi \EndP \HCode{<p\Hnewline class="leftline">}}
{\HCode{</p>}\ShowPar}
\Configure{rightline}
{\IgnorePar\EndP\HCode{<p class="rightline">}}
{\HCode{</p>}\ShowPar}
\Css{.centerline {text-align:center;}}
\Css{.rightline {text-align:right;}}
>>>
% \<config plain,latex\><<<
% \def\tbl:XV#1{table width="100\%"\Hnewline class="#1"}
% >>>
The \verb'100%' is to allow centering of stuff on the page.
The table is a grouping mechanism to protect internal stuff
from external centering operations.
The \verb'special{t4ht=' is superior to \verb'\HCode{' because it can
prevent \verb'<p>'s from entering before \verb'<NOBR>'.
The hbox is for avoiding the start of a new paragraph, if in vmode.
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Latex Math}
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4-math latex\><<<
|<picmath plain,latex|>
|<picmath latex|>
|<32,4 picmath latex|>
|<shared plain/latex pmatrix 4.0t|>
|<mathjax|>
>>>
\<picmath plain,latex\><<<
|<pic plain/latex math 3.2|>
\def\A:root#1\b:root#2\c:root{\o:root:#1\of{#2}\c:root}
\Configure{root}
{\Picture+{ \a:@Picture{root}}\A:root}
{}
{\EndPicture}
\Configure{mathpalette}
{\Picture+{ \a:@Picture{mathpalette}}} {\EndPicture}
>>>
\<\><<<
\Configure{choose}{}{}
>>>
\<32,4 picmath latex\><<<
\Configure{pmatrix} {\Picture+{ \a:@Picture{}}} {\EndPicture}
\Configure{bordermatrix} {\Picture+{ \a:@Picture{}}} {\EndPicture}
\Configure{frac}
{\Picture+{ \a:@Picture{frac}}\bgroup}
{} {}
{\egroup\EndPicture}
>>>
\<32,4 picmath latex\><<<
\Configure{sqrtsign}
{\Picture+{ \a:@Picture{sqrt}}}
{\EndPicture}
\Configure{matrix}
{\Picture+{ \a:@Picture{matrix}}} {\EndPicture}
{}{}{}{}
>>>
\<picmath plain,latex\><<<
% \Configure{L} {\pic:sym{L}}
% \Configure{l} {\pic:sym{l}}
\def\pic:sym#1{\Protect\Picture+{ \a:@Picture{#1}}\csname
o:#1:\endcsname\Protect\EndPicture}
>>>
\<picmath plain,fontmath\><<<
\Configure{Longrightarrow} {\pic:sym{Longrightarrow}}
\Configure{Longleftarrow} {\pic:sym{Longleftarrow}}
\Configure{bowtie} {\pic:sym{bowtie}}
\Configure{cong} {\pic:sym{cong}}
\Configure{ddots} {\pic:sym{ddots}}
\Configure{doteq} {\pic:sym{doteq}}
\Configure{hookleftarrow} {\pic:sym{hookleftarrow}}
\Configure{hookrightarrow} {\pic:sym{hookrightarrow}}
\Configure{longmapsto} {\pic:sym{longmapsto}}
\Configure{mapsto} {\pic:sym{mapsto}}
\Configure{models} {\pic:sym{models}}
\Configure{neq} {\ht:special{t4ht@+\string&{35}x2260{59}}x}
\Configure{notin} {\pic:sym{notin}}
\Configure{vdots} {\pic:sym{vdots}}
\Configure{angle} {\pic:sym{angle}}
\Configure{rightleftharpoons} {\pic:sym{rightleftharpoons}}
\Configure{leftrightharpoons} {\pic:sym{leftrightharpoons}}
\Configure{mid} {\ht:special{t4ht@+\string&{35}x2223{59}}||}
>>>
%
\<picmath latex\><<<
\Configure{mathellipsis} {\ht:special{t4ht@+\string&{35}x2026{59}}x}
\Configure{hbar} {\ht:special{t4ht@+\string&{35}x210F{59}}x}
>>>
\<configure html4 latex\><<<
\Configure{textellipsis} {\ht:special{t4ht@+\string&{35}x2026{59}}x}
>>>
\<picmath plain\><<<
\Configure{ldots} {\ht:special{t4ht@+\string&{35}x2026{59}}x}
>>>
\<configure html4-math fontmath\><<<
\Configure{cdots} {\pic:sym{cdots}}
\Css{img.cdots{vertical-align:middle;}}
>>>
\<configure html4-math plain\><<<
\Configure{cdots} {\pic:sym{cdots}}
\Css{img.cdots{vertical-align:middle;}}
>>>
\<configure html4-math amsmath\><<<
\Configure{@cdots} {\pic:sym{@cdots}}
\Configure{iint} {\pic:sym{iint}}
\Configure{iiint} {\pic:sym{iiint}}
\Configure{iiiint} {\pic:sym{iiint}}
\Configure{idotsint} {\pic:sym{tsint}}
\Configure{doteq} {\pic:sym{tsint}}
>>>
% \Configure{overrightarrow} {\Picture+{}}{\EndPicture}
% \Configure{overleftarrow} {\Picture+{}}{\EndPicture}
\<32,4 picmath: plain, fontmath, amsmath, amstex1\><<<
\Configure{overbrace} {}{\Picture+{}}{\EndPicture}
\Configure{underbrace} {}{\Picture+{}}{\EndPicture}
>>>
\<mathjax\><<<
\:CheckOption{mathjax}\if:Option
\input{mathjax-latex-4ht.4ht}
\ifx\a:MathJaxConfig\relax
\Configure{MathJaxConfig}{{
tex: {
tags: "ams",
},
};
}
\fi
\NewConfigure{MathjaxInline}{2}
\NewConfigure{MathjaxBlock}{2}
\Configure{MathjaxInline}{\HCode{<span class="mathjax-inline">}}{\HCode{</span>}}
\Configure{MathjaxBlock}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="mathjax-block">}}{\HCode{</div>}}
\Configure{MathjaxEnv}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="mathjax-env mathjax-\@currenvir">}}{\HCode{</div>}}
\Configure{@HEAD}{\HCode{<script>window.MathJax = \a:MathJaxConfig</script>\Hnewline}}
\Configure{MathjaxSource}{
https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js}
\Configure{@HEAD}{\ifx\a:MathjaxSource\@empty\else\HCode{<script type="text/javascript" async="async" id="MathJax-script" src="\a:MathjaxSource"></script> \Hnewline}\fi}
\edef\:RestoreMathjaxCatcodes{\catcode`\noexpand \&=\the\catcode`\&}
\def\:HandleMathjaxCatcodes{\edef\:RestoreMathjaxCatcodes{\catcode`\noexpand \&=\the\catcode`\&}\catcode`\&=11}
\Configure{$}{\a:MathjaxInline\:HandleMathjaxCatcodes}{\:RestoreMathjaxCatcodes\b:MathjaxInline}{\expandafter\AltMathOne}
\Configure{()}{\a:MathjaxInline\:HandleMathjaxCatcodes\catcode`\&=11\AltlMath}{\:RestoreMathjaxCatcodes\b:MathjaxInline}
\Configure{$$}{\a:MathjaxBlock\:HandleMathjaxCatcodes}{\:RestoreMathjaxCatcodes\b:MathjaxBlock}{\expandafter\AltlDisplayDollars}
\Configure{[]}{\a:MathjaxBlock\:HandleMathjaxCatcodes\catcode`\&=11\AltlDisplay}{\:RestoreMathjaxCatcodes\b:MathjaxBlock}
\fi
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Shared plain latex Math}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<picmath plain,latex\><<<
\Configure{pmatrix}
{\ifvmode
\def\end:pmatrix{\IgnorePar\HCode{</div>}\end:TTT}%
\:xhtml{\IgnorePar\EndP}\HCode
{<table\Hnewline class="pmatrix"><tr><td><div
class="pmatrix"\Hnewline>}%
\else \HCode{<span class="pmatrix">}%
\def \end:pmatrix{\HCode{</span>}}%
\fi}
{\end:pmatrix}
\Css{div.pmatrix {text-align:center;}}
\Css{table.pmatrix {width:100\%;}}
>>>
\<configure html4-math plain\><<<
|<picmath plain,latex|>
|<picmath plain,fontmath|>
|<picmath plain|>
|<pic plain/latex math 4.0t|>
|<32,4 picmath plain|>
|<pic plain math 4.0t|>
|<html4-math plain,fontmath|>
>>>
\<32,4 picmath plain\><<<
\Configure{sqrt}
{\Picture+{ \a:@Picture{sqrt}}}
{\EndPicture}
|<32,4 picmath: plain, fontmath, amsmath, amstex1|>
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Classes}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%
\section{article}
%%%%%%%%%%%%%%%%%
\<configure html4 article\><<<
|<article,report,book options 1, 2, 3|>
\:CheckOption{1} \if:Option
|<toc article,report options 1|>
\fi
|<config book-report-article|>
|<config report / article 4.0t|>
\Css{.subsectionToc, .likesubsectionToc {margin-left:1em;}}
\Css{.subsubsectionToc, .likesubsubsectionToc {margin-left:2em;}}
\Css{.paragraphToc, .likeparagraphToc {margin-left:3em;}}
\Css{.subparagraphToc, .likesubparagraphToc {margin-left:4em;}}
>>>
\<config report / article 4.0t\><<<
|<abstract|>
>>>
\<abstract\><<<
\ConfigureEnv{abstract}
{\IgnorePar\EndP
\HCode{<div\Hnewline class="abstract"\Hnewline>}\par\ShowPar}
{\ifvmode \IgnorePar\fi \EndP\HCode{</div>}\par}{}{}
\Configure{abstracttitle}{\ifvmode\IgnorePar\fi\EndP\HCode{<h3 class="abstracttitle">}\HtmlParOff}
{\HCode{</h3>}\HtmlParOn\par}
\Css{div.abstract p {margin-left:5\%; margin-right:5\%;}}
\Css{div.abstract {width:100\%;}}
\Css{.abstracttitle{text-align:center;margin-bottom:1em;}}
>>>
%%%%%%%%%%%%%%%%
\section{report}
%%%%%%%%%%%%%%%%%
\<configure html4 report\><<<
|<article,report,book options 1, 2, 3|>
\:CheckOption{1} \if:Option
|<toc article,report options 1|>
\fi
|<config book-report-article|>
|<latex shared part config|>
|<config book-report 4.0t|>
|<config report / article 4.0t|>
|<32,4 report,book|>
|<32,4 report|>
|<book: css|>
>>>
\<32,4 report\><<<
\ConfigureMark{chapter}
{\HCode{<span class="titlemark">}\chaptername
\ \thechapter\HCode{</span>}}
\Configure{chapter}{}{}
{\IgnorePar\EndP\HCode{<h2 class="chapterHead"\a:LRdir>}%
\TitleMark{\HCode{<br />}}}
{\HCode{</h2>}\IgnoreIndent\par}
\Configure{chapterTITLE+}{\thechapter\space#1}
\Configure{likechapterTITLE+}{#1}
>>>
\<32,4 report\><<<
\Configure{appendix}{}{}
{\IgnorePar\EndP\HCode{<h2 class="appendixHead"\a:LRdir>}%
\TitleMark{\HCode{<br />}}}
{\HCode{</h2>}\IgnoreIndent\par}
\Configure{likechapter}{}{}
{\IgnorePar\EndP\HCode{<h2 class="likechapterHead"\a:LRdir>}}
{\HCode{</h2>}\IgnoreIndent\par}
>>>
\<32,4 report,book\><<<
\ConfigureMark{appendix}{\HCode{<span class="titlemark">}%
\appendixname \ \thechapter\HCode{</span>}}
\Configure{appendixTITLE+}{\thechapter\space#1}
\Configure{likechapterTITLE+}{#1}
>>>
\<32,4 report,book\><<<
\Configure{endchapter}{likechapter,appendix,part,likepart}
\Configure{endlikechapter}{chapter,appendix,part,likepart}
\Configure{endappendix}{chapter,likechapter,part,likepart}
>>>
%%%%%%%%%%%%%%
\section{book}
%%%%%%%%%%%%%%
\<configure html4 book\><<<
|<article,report,book options 1, 2, 3|>
\:CheckOption{1} \if:Option
|<toc book options 1|>
\fi
|<config book-report-article|>
|<latex shared part config|>
|<config book-report 4.0t|>
|<32,4 report,book|>
|<32,4 book|>
% \:CheckOption{2} \if:Option
% \else
% \:CheckOption{3} \if:Option \else
% \:CheckOption{4} \if:Option \else
% \:CheckOption{5} \if:Option \else
% \:CheckOption{6} \if:Option \else
% \:CheckOption{7} \if:Option \else
% \fi
% \fi
% \fi
% \fi
% \fi
% \if:Option
% \Css{.sectionToc, .likesectionToc {margin-left:2em;}}
% \Css{.subsectionToc, .likesubsectionToc {margin-left:4em;}}
% \Css{.subsubsectionToc, .likesubsubsectionToc {margin-left:6em;}}
% \fi
% \fi
|<book: css|>
>>>
\<book: css\><<<
\Css{
chapterToc,
likechapterToc
{margin-left:0em;}}
\Css{
likesectionToc,
sectionToc
{margin-left:1em;}}
\Css{
likesubsectionToc,
subsectionToc
{margin-left:2em;}}
\Css{
likesubsectionToc,
subsectionToc
{margin-left:2em;}}
\Css{
likesubsubsectionToc,
subsubsectionToc
{margin-left:3em;}}
\Css{.paragraphToc, .likeparagraphToc {margin-left:4em;}}
\Css{.subparagraphToc, .likesubparagraphToc {margin-left:5em;}}
>>>
\<32,4 book\><<<
\ConfigureMark{chapter}
{\if@mainmatter \ifnum \c@secnumdepth >\m@ne
\HCode{<span class="titlemark">}\chaptername
\ \thechapter\HCode{</span>}\fi \fi}
\Configure{chapterTITLE+}{\if@mainmatter\thechapter\space\fi#1}
\renewcommand\thechapter {\if@mainmatter\@arabic\c@chapter\fi}
>>>
\<32,4 book\><<<
\Configure{chapter}{}{}
{\IgnorePar\EndP\HCode{<h2 class="chapterHead"\a:LRdir>}%
\if@mainmatter \TitleMark{\HCode{<br />}}\fi }
{\HCode{</h2>}\IgnoreIndent\par}
\Configure{appendix}{}{}
{\IgnorePar\EndP\HCode{<h2 class="appendixHead"\a:LRdir>}%
\if@mainmatter \TitleMark{\HCode{<br />}}\fi }
{\HCode{</h2>}\IgnoreIndent\par}
\Configure{likechapter}{}{}
{\IgnorePar\EndP\HCode{<h2 class="likechapterHead"\a:LRdir>}}
{\HCode{</h2>}\IgnoreIndent\par}
>>>
\<chapter toc css\><<<
\Css{.chapterToc a, .chapterToc, .likechapterToc a, .likechapterToc,
.appendixToc a, .appendixToc
{line-height: 200\%; font-weight:bold;}}
>>>
\<part toc css\><<<
\Css{.partToc a, .partToc, .likepartToc a, .likepartToc
{line-height: 200\%; font-weight:bold; font-size:110\%;}}
>>>
%%%%%%%%%%%%%%%%%%
\section{juramisc}
%%%%%%%%%%%%%%%%%%
\<configure html4 jurabook\><<<
|<jurabook sections|>
|<jurabook toc|>
>>>
\<configure html4 juraurtl\><<<
>>>
\<configure html4 juraovw\><<<
>>>
\<jurabook sections\><<<
\Configure{subthreesection}
{}{}
{\ifvmode\IgnorePar\fi\EndP\HCode{<h5 class="subthreesection">}\TitleMark\space} {\HCode{</h5>}\par\ShowPar}
\ConfigureMark{subthreesection}{\HCode{<span class="titlemark">}\thesubthreesection\HCode{</span>}}
\Configure{subfoursection}
{}{}
{\ifvmode\IgnorePar\fi\EndP\HCode{<h5 class="subfoursection">}\TitleMark\space} {\HCode{</h5>}\par\ShowPar}
\ConfigureMark{subfoursection}{\HCode{<span class="titlemark">}\thesubfoursection\HCode{</span>}}
\Configure{subfivesection}
{}{}
{\ifvmode\IgnorePar\fi\EndP\HCode{<h5 class="subfivesection">}\TitleMark\space} {\HCode{</h5>}\par\ShowPar}
\ConfigureMark{subfivesection}{\HCode{<span class="titlemark">}\thesubfivesection\HCode{</span>}}
\Configure{subsixsection}
{}{}
{\ifvmode\IgnorePar\fi\EndP\HCode{<h5 class="subsixsection">}\TitleMark\space} {\HCode{</h5>}\par\ShowPar}
\ConfigureMark{subsixsection}{\HCode{<span class="titlemark">}\thesubsixsection\HCode{</span>}}
\Configure{subsevensection}
{}{}
{\ifvmode\IgnorePar\fi\EndP\HCode{<h5 class="subsevensection">}\TitleMark\space} {\HCode{</h5>}\par\ShowPar}
\ConfigureMark{subsevensection}{\HCode{<span class="titlemark">}\thesubsevensection\HCode{</span>}}
\Configure{subeightsection}
{}{}
{\ifvmode\IgnorePar\fi\EndP\HCode{<h5 class="subeightsection">}\TitleMark\space} {\HCode{</h5>}\par\ShowPar}
\ConfigureMark{subeightsection}{\HCode{<span class="titlemark">}\thesubeightsection\HCode{</span>}}
>>>
\<jurabook toc\><<<
\def\tocsubthreesection#1#2#3{\par\toc:num{subthreesection}{#1}{#2}\par}
\def\tocsubfoursection#1#2#3{\par\toc:num{subfoursection}{#1}{#2}\par}
\def\tocsubfivesection#1#2#3{\par\toc:num{subfivesection}{#1}{#2}\par}
\def\tocsubsixsection#1#2#3{\par\toc:num{subsixsection}{#1}{#2}\par}
\def\tocsubsevensection#1#2#3{\par\toc:num{subsevensection}{#1}{#2}\par}
\def\tocsubeightsection#1#2#3{\par\toc:num{subeightsection}{#1}{#2}\par}
>>>
%%%%%%%%%%%%%%%%%%
\section{letter}
%%%%%%%%%%%%%%%%%%
\<configure html4 letter\><<<
|<quote config|>
|<quotations|>
|<description 4|>
|<roman enumeiii|>
|<base font size|>
\ConfigureEnv{verse}
{\ifvmode \IgnorePar\fi\EndP\Tg<div class="verse">}
{\ifvmode \IgnorePar\fi\EndP\Tg</div>\par\ShowPar}
{}{}
\ConfigureList{verse}
{}{}
{\parindent=\z@} {\par}
\Css{.verse{white-space:nowrap; margin-left:2em}}
>>>
\<configure html4 letter\><<<
\Configure{opening}
{\bgroup
\ConfigureEnv{tabular}{}{}{}{}%
\Configure{tabular}
{\EndP\ifvmode \IgnorePar \fi
\HCode{<div class="opening"\a:LRdir>}}
{\HCode{</div><p class="clear-both" />}}
{}
{\HCode{<br />}}
{}{}%
\Configure{HBorder}
{<br class="hline" />} {}{}
{<br class="cline" />} {}{} {}
{<br class="vspace" />} {}{}%
}
{\egroup}
\Configure{closing}
{\EndP\ifvmode \IgnorePar\fi
\HCode{<div class="closing">}}
{\EndP\ifvmode \IgnorePar\fi
\HCode{</div><p class="clear-both" />}}
\longindentation=0pt
\Css{div.opening{float:right;}}
\Css{div.closing {float:right; margin-right:2em;}}
\Css{p.clear-both{clear:both;}}
>>>
\<configure html4 letter\><<<
\Configure{address}
{\ifvmode \IgnorePar\fi \EndP \HCode{<span class="address">}}
{\HCode{</span>}}
\Configure{toaddress}
{\HCode{<div class="toaddress">}}
{\HCode{</div>}}
\Configure{toname}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="toname">}}
{\HCode{</div>}}
\Configure{date}
{\HCode{<span class="date" \a:LRdir>}}
{\HCode{</span>}}
\Configure{dear}
{\HCode{<span class="dear">}}
{\HCode{</span>}}
\Configure{sincerely}
{\HCode{<span class="sincerely">}}
{\HCode{</span>}}
\Configure{signature}
{\HCode{<span class="signature">}}
{\HCode{</span>}}
\Configure{cc}
{\HCode{<div class="cc">}\IgnorePar}
{\ifvmode\IgnorePar\fi\HCode{</div>}}
\Configure{encl}
{\HCode{<div class="encl">}\IgnorePar}
{\ifvmode\IgnorePar\fi\HCode{</div>}}
>>>
%%%%%%%%%%%%%%%%%
\section{AMS Art, Proc, Book}
%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%
\subsection{amsart}
%%%%%%%%%%%%%%%%
\<configure html4 amsart\><<<
|<ams art,proc,book|>
|<ams art,proc|>
|<ams art|>
>>>
\<ams art,proc,book\><<<
|<ams maketitle|>
|<makeketitle config 4.0t|>
|<thebib config|>
>>>
\<makeketitle config 4.0t\><<<
|<config captions|>
>>>
\<ams art,proc,book\><<<
\ifx \deferred@thm@head\:UnDef\else
|<shared ams thm/cls|>
|<ams 2000 art + book + proc|>
\fi
>>>
\<ams 2000 art + book + proc\><<<
\Configure{qed}
{\HCode{<span class="qed">}} {\HCode{</span>}}
\Css{.qed {width:2ex; float:right; text-align:right;}}
>>>
\<shared ams thm/cls\><<<
\Configure{proof}
{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="proof">}\par\ShowPar
\HCode{<span class="head">}\HtmlParOff}
{\HCode{</span>}\HtmlParOn}
{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}\par}
% it seems that paragraphs are not started after the proof environment
% this configuration helps
\ConfigureEnv{proof}{}{\par\ShowPar}{}{}
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{amsproc}
%%%%%%%%%%%%%%%%%%%
\<configure html4 amsproc\><<<
|<ams art,proc,book|>
|<ams proc,book|>
|<ams art,proc|>
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{amsdtx}
%%%%%%%%%%%%%%%%%%%
\<configure html4 amsdtx\><<<
|<amsdtx maketitle|>
>>>
%%%%%%%%%%%%%%%%%%%%%
\subsection{amsbook}
%%%%%%%%%%%%%%%%%%%%%
\<configure html4 amsbook\><<<
|<ams art,proc,book|>
|<ams proc,book|>
|<ams book|>
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{Divisions}
%%%%%%%%%%%%%%%%%%%
\<ams art,proc,book\><<<
|<ams art,proc,book div|>
|<ams art,proc,book toc|> |%should appear before TocAt|%
|<ams options 1, 2, 3|>
>>>
\<ams art,proc,book div\><<<
\ConfigureMark{part}
{\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
\else
\HCode{<span class="titlemark">}\@ifundefined{partname}{}{%
\ignorespaces\partname\space}%
\@seccntformat{part}%
\HCode{</span>}\fi }
\Configure{part}{}{}
{\ifvmode \IgnorePar\fi \EndP\IgnorePar
\HCode{<h1 class="partHead"\a:LRdir>}\TitleMark\space\HtmlParOff}
{\HCode{</h1>}\HtmlParOn \IgnoreIndent \par}
\Configure{partTITLE+}{\thepart\space#1}
>>>
\<ams book\><<<
\Configure{likepart}{}{}
{\IgnorePar\EndP\HCode{<h1 class="likepartHead"\a:LRdir>}}
{\HCode{</h1>}\IgnoreIndent\par}
\Configure{likepartTITLE+}{#1}
>>>
\<ams art,proc,book div\><<<
\ConfigureMark{section}
{\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
\else
\HCode{<span class="titlemark">}\@ifundefined{sectionname}{}{%
\ignorespaces\sectionname\space}%
\@seccntformat{section}%
\HCode{</span>}\fi }
|<section TITLE+|>
\Configure{section}{}{}
{\ifvmode \IgnorePar\fi \EndP\IgnorePar
\HCode{<h3 class="sectionHead"\a:LRdir>}\TitleMark\space\HtmlParOff}
{\HCode{</h3>}\HtmlParOn \IgnoreIndent \ShowPar\par}
>>>
\<section TITLE+\><<<
\Configure{sectionTITLE+}{\ifnum \c:secnumdepth>\c@secnumdepth
\ifnum \c@secnumdepth > 0
\thesection\space
\fi\fi #1}
>>>
\<subsection TITLE+\><<<
\Configure{subsectionTITLE+}{\ifnum \c:secnumdepth>\c@secnumdepth
\ifnum \c@secnumdepth > 0
\thesubsection\space
\fi\fi #1}
>>>
\<subsubsection TITLE+\><<<
\Configure{subsubsectionTITLE+}{\ifnum \c:secnumdepth>\c@secnumdepth
\ifnum \c@secnumdepth > 0
\thesubsubsection\space
\fi\fi #1}
>>>
\<ams art\><<<
\Css{.sectionHead{text-align:center;}}
>>>
\<ams proc,book\><<<
\Configure{paragraph}{}{}
{\ShowPar\IgnoreIndent\HCode{<span class="paragraphHead"\a:LRdir>}\begingroup}
{\endgroup\HCode{</span>}\IgnorePar}
\ConfigureMark{subparagraph}{\thesubparagraph}
\Css{.paragraphHead { margin-top:2em; font-weight: bold;}}
>>>
\<ams art\><<<
\Configure{paragraph}{}{}
{\ShowPar\IgnoreIndent\HCode{<span class="paragraphHead"\a:LRdir>}}
{.\HCode{</span>}\IgnorePar}
\ConfigureMark{subparagraph}{}
>>>
\<ams proc,book\><<<
\Configure{subparagraph}{}{}
{\ShowPar\HCode{<span class="subparagraphHead"\a:LRdir>}\begingroup
\TitleMark\space}
{\endgroup\HCode{</span>}\IgnorePar}
\Css{.subparagraphHead { font-weight: bold;}}
>>>
\<ams art\><<<
\Configure{subparagraph}{}{}
{\ShowPar\noindent\HCode{<span class="subparagraphHead"\a:LRdir>}\begingroup
\TitleMark\space}
{.\endgroup\HCode{</span>}\IgnorePar}
>>>>
\<ams book\><<<
\ConfigureMark{chapter}
{\HCode{<span class="titlemark">}\chaptername
\ \thechapter\HCode{</span>}}
\Configure{chapter}{}{}
{\IgnorePar\EndP\HCode{<h2 class="chapterHead"\a:LRdir>}%
\TitleMark{\HCode{<br />}}}
{\HCode{</h2>}\IgnoreIndent\par}
\Configure{chapterTITLE+}{\thechapter\space#1}
>>>
\<ams book\><<<
\ConfigureMark{appendix}{\HCode{<span class="titlemark">}%
\appendixname \ \thechapter\HCode{</span>}}
\Configure{appendix}{}{}
{\IgnorePar\EndP\HCode{<h2 class="appendixHead"\a:LRdir>}%
\TitleMark{\HCode{<br />}}}
{\HCode{</h2>}\IgnoreIndent\par}
\Configure{appendixTITLE+}{\thechapter\space#1}
\Configure{likechapter}{}{}
{\IgnorePar\EndP\HCode{<h2 class="likechapterHead"\a:LRdir>}}
{\HCode{</h2>}\IgnoreIndent\par}
\Configure{likechapterTITLE+}{#1}
>>>
\<ams art,proc\><<<
\Configure{endsection}
{part}
\Configure{endsubsection}
{section,part}
\Configure{endsubsubsection}
{subsection,section,part}
\Configure{endparagraph}
{subsubsection,subsection,section,part}
>>>
\<ams book\><<<
\Configure{endpart}{likepart}
\Configure{endlikepart}{endpart}
\Configure{endchapter}{likechapter,appendix,part,likepart}
\Configure{endlikechapter}{chapter,appendix,part,likepart}
\Configure{endappendix}{chapter,likechapter,part,likepart}
\Configure{endsection}
{chapter,likechapter,appendix,part,likepart}
\Configure{endsubsection}
{section,chapter,likechapter,appendix,part,likepart}
\Configure{endsubsubsection}
{subsection,section,chapter,likechapter,appendix,part,likepart}
\Configure{endparagraph}
{subsubsection,subsection,section,chapter,likechapter,%
appendix,part,likepart}
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{Tocs at Cut Points}
%%%%%%%%%%%%%%%%%%%
\<ams art,proc\><<<
\:CheckOption{1} \if:Option
|<toc article,report options 1|>
\fi
>>>
\<ams book\><<<
\:CheckOption{1} \if:Option
|<toc book options 1|>
\fi
>>>
%%%%%%%%%%%%%%%%%%%%%%
\section{amsppt.sty}
%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 amsppt\><<<
\ifx \EnditemitemList\:UnDef
\Configure{itemitem}
{}{}
{\par{\Configure{HtmlPar}{\Tg<p class="itemitem" \a:LRdir>}
{\Tg<p class="itemitem" \a:LRdir>} {}{}%
\:xhtml{\Configure{HtmlPar}{\EndP\Tg<div class="itemitem" \a:LRdir>}
{\EndP\Tg<div class="itemitem" \a:LRdir>}
{\Tg</div>}{\Tg</div>}}%
\noindent}}
{}
\Css{.itemitem {margin-left: 5em; text-indent: -2em;
margin-top: 0.5em; margin-bottom: 0.5em;}}
\fi
|<32,4 amsppt|>
|<4 amsppt|>
>>>
\<4 amsppt\><<<
\Configure{title}
{\IgnorePar\par\HCode{<div\Hnewline class="title">}}
{\IgnorePar\EndP\HCode{</div>}\IgnorePar}
\Css{div.title {margin-top: 0.5em;
font-weight: bold; text-align:center;}}
\Configure{author}
{\IgnorePar\par\HCode{<div\Hnewline class="author">}}
{\IgnorePar\EndP\HCode{</div>}\IgnorePar}
\Css{div.author {text-align:center}}
\Configure{affil}
{\IgnorePar\par\HCode{<div\Hnewline class="affil">}}
{\IgnorePar\EndP\HCode{</div>}\IgnorePar}
\Css{.affil {text-align:center}}
\Configure{date}
{\IgnorePar\par\HCode{<div\Hnewline class="date" \a:LRdir>}}
{\IgnorePar\EndP\HCode{</div>}\IgnorePar
\append:def\c:footnote{ }%
}
\Css{.date {text-align:center}}
\Configure{abstract}
{\IgnorePar\par
\HCode{<div\Hnewline class="abstract">}\ShowPar\IgnoreIndent\par}
{}
{}
{\IgnorePar\EndP\HCode{</div>}\IgnorePar}
\Css{.abstract, .subjclass, .thanks, .keywords
{margin-left:5\%; margin-right:5\%;}}
\Configure{subjclass}
{\ifx \m:top\:Undef
\let\m:top|=\relax \Css{.subjclass {margin-top:1em; }}%
\fi \Tg<div class="subjclass">}
{\Tg</div>}
\Configure{thanks}
{\ifx \m:top\:Undef
\let\m:top|=\relax \Css{.thanks {margin-top:1em; }}%
\fi \Tg<div class="thanks">}
{\Tg</div>}
\Configure{keywords}
{\ifx \m:top\:Undef
\let\m:top|=\relax \Css{.keywords {margin-top:1em; }}%
\fi \ifvmode \IgnorePar\fi\EndP\Tg<div class="keywords">}
{\ifvmode \IgnorePar\fi \EndP\Tg</div>}
>>>
\<32 amsppt, 32,4 vanilla\><<<
\Configure{title}
{\IgnorePar\EndP\HCode{<div class="title">}\begingroup\bf}
{\endgroup\IgnorePar\HCode{</div>}}
\Css{div.title {margin-top: 0.5em;}}
\Configure{author}
{\IgnorePar\EndP\HCode{<br /><div class="author">}\IgnorePar\par}
{\IgnorePar\EndP\HCode{</div>}}
\Css{div.author{text-align:center;}}
>>>
\<32,4 amsppt\><<<
\Configure{specialhead}{}{}
{\IgnorePar\EndP\HCode{<h1 class="amsspecialheadHead"\a:LRdir>}}
{\HCode{</h1>}\IgnoreIndent}
\ConfigureToc{specialhead}
{\HCode{<div class="center">}\ignorespaces}{ }
{}{\HCode{</div>}}
\Configure{head}{}{}
{\IgnorePar\EndP\HCode{<h2 class="amsheadHead"\a:LRdir>}}
{\HCode{</h2>}\IgnoreIndent}
\ConfigureToc{head}
{\ignorespaces}{ }{}{\HCode{<br />}}
\Configure{subhead}{}{}
{\IgnorePar\EndP\HCode{<h3 class="amssubheadHead"\a:LRdir>}}
{\HCode{</h3>}\IgnoreIndent}
\ConfigureToc{subhead}
{\:nbsp\:nbsp\:nbsp\:nbsp\ignorespaces} { }
{} {\HCode{<br />}}
\Configure{subsubhead}{}{}
{\IgnorePar\EndP\HCode{<h4 class="amssubsubheadHead"\a:LRdir>}}
{\HCode{</h4>}\IgnoreIndent}
\ConfigureToc{subsubhead}
{\:nbsp\:nbsp\:nbsp\:nbsp\:nbsp%
\:nbsp\:nbsp\:nbsp\ignorespaces} { } {} {\HCode{<br />}}
\Configure{block}
{\IgnorePar\EndP
\HCode{<table cellpadding="15"><tr><td>}\IgnorePar\par}
{\IgnorePar\HCode{</td></tr></table>}\IgnorePar\par}
|<amsppt captions|>
\Configure{roster}
{\IgnorePar\EndP\HCode{<table>}\let\end:item|=\empty}
{\IgnorePar\end:item\HCode{</table>}\IgnorePar\par}
{\IgnorePar\end:item \HCode{<tr style="vertical-align:top;"><td>}
\def\end:item{\EndP\HCode{</td></tr>}}}
{\:nbsp\EndP\HCode{</td><td>}\ShowPar}
{\IgnorePar\EndP\HCode{<table>}\let\end:iitem|=\empty}
{\IgnorePar\end:iitem\HCode{</table>}\IgnorePar\par}
{\IgnorePar\end:iitem\HCode{<tr style="vertical-align:top;"><td>}}
{\HCode{</td><td>}
\def\end:iitem{\EndP\HCode{</td></tr>}}}
|<bib in amsppt.sty|>
>>>
%%%%%%%%%%%%%%%%%%%%%%%%
\section{amstex.tex}
%%%%%%%%%%%%%%%%%%%%%%%%
\<amstex.tex m:env\><<<
|<amsmath / amstex1 m:env|>
>>>
\<NO\><<<
\def\m:env#1{\:xhtml{\IgnorePar\EndP}\HCode{<div class="center"><table class="#1"
border="0" cellpadding="0" cellspacing="15"><tr><td>}}
\def\endm:env{\HCode
{</td></tr></table></div>}\IgnorePar}
\Css{div.center{text-align:center;}}
>>>
\<amsmath / amstex1 m:env\><<<
\def\m:env#1{\relax\ifmmode\else\par\fi\:xhtml{\IgnorePar\EndP}%
\HCode{<div class="center-#1"><table class="#1"\Hnewline
border="0" cellpadding="0" cellspacing="15"><tr><td>}
\Css{div.center-#1{text-align: center;}}
}
\def\endm:env{\:xhtml{\IgnorePar\EndP}%
\HCode{</td></tr></table></div>}\IgnorePar
\ifmmode\else\par\fi}
>>>
\<shared amstex.tex matrix 4.0t\><<<
\Configure{linebreak}{\HCode{<br />}}
|<amstex.tex m:env|>
>>>
\<configure html4-math amstex\><<<
\Configure{pmatrix}
{\bgroup\m:env{pmatrix}}
{\endm:env\egroup}
\Configure{smallmatrix}
{\bgroup\m:env{smallmatrix}\Picture+{}}
{\EndPicture\endm:env\egroup}
{}{} {}{}
\Configure{bmatrix}
{\bgroup\m:env{bmatrix}}
{\endm:env\egroup}
\Configure{vmatrix}{\bgroup\m:env{vmatrix}}{\endm:env\egroup}
\Configure{Vmatrix}{\bgroup\m:env{Vmatrix}}{\endm:env\egroup}
\Configure{aligned}
{\bgroup\m:env{aligned}\Picture+{}}
{\EndPicture\endm:env\egroup}
{}{}{}{}
\Configure{xalignat}
{\bgroup\m:env{xalignat}}
{\endm:env\egroup}
{}{}{}{}
\Configure{xxalignat}
{\bgroup\m:env{xxalignat}}
{\endm:env\egroup}
{}{}{}{}
\Configure{multline}
{\bgroup\m:env{multline}\Picture+{}\vtop\bgroup$$}
{$$\egroup\EndPicture\endm:env\egroup}
{}{}
\Configure{alignedat}
{\bgroup\m:env{alignedat}\Picture+{}}
{\EndPicture\endm:env\egroup}
{}{}{}{}
\Configure{gathered}
{\bgroup\m:env{gathered}\Picture+{}}
{\EndPicture\endm:env\egroup}
{}{}{}{}
>>>
% \Configure{topaligned}{\m:env{topaligned}}{\endm:env}
% \Configure{botaligned}{\m:env{botaligned}}{\endm:env}
\<configure html4-math amstex\><<<
|<shared amstex.tex matrix 4.0t|>
|<tabular amstex.tex matrix 4.0t|>
|<tabular amstex.tex align 4.0t|>
|<nonpic amstex.tex cases 4.0t|>
\:CheckOption{pic-matrix} \if:Option
\Configure{matrix}
{\m:env{matrix}\Picture+{}} {\EndPicture\endm:env}
{}{} {}{}
\else
\Log:Note{for pictorial matrix,
use the command line option `pic-matrix'}
\fi
\:CheckOption{pic-align} \if:Option
\Configure{align}
{\m:env{align}\Picture+{}} \EndPicture{\endm:env}
{} {} {} {}
\else
\Log:Note{for pictorial align,
use the command line option `pic-align'}
\Configure{align}
{\HCode{<table\Hnewline class="align">}} {\HCode{</table>}}
{\HCode{<tr\Hnewline>}} {\HCode{</tr>}}
{\HCode{<td>}} {\HCode{</td>}}
\fi
\:CheckOption{pic-cases} \if:Option
\Configure{cases}
{\m:env{cases}\Picture+{}}{\EndPicture\endm:env}
\else
\Log:Note{for pictorial cases,
use the command line option `pic-cases'}
\fi
\Configure{alignat}
{\bgroup\m:env{alignat}\Picture+{}}
{\EndPicture\endm:env \egroup}
{}{} {}{}
\Configure{gather}
{\bgroup\m:env{gather}\Picture+{}}
{\EndPicture\endm:env\egroup}
{}{} {}{}
|<32,4 picmath amstex.tex|>
>>>
\<32,4 picmath amstex.tex\><<<
\Configure{frac}{\Picture+{ style="text-align:middle"}}{\EndPicture}
\Configure{dfrac}{\Picture+{ style="text-align:middle"}}{\EndPicture}
\Configure{tfrac}{\Picture+{ style="text-align:middle"}}{\EndPicture}
\Configure{binom}{\Picture+{ style="text-align:middle"}}{\EndPicture}
\Configure{dbinom}{\Picture+{ style="text-align:middle"}}{\EndPicture}
\Configure{tbinom}{\Picture+{ style="text-align:middle"}}{\EndPicture}
\Configure{boxed}{\Picture+{ style="text-align:middle"}}{\EndPicture}
>>>
\<tabular amstex.tex matrix 4.0t\><<<
\Configure{matrix}
{\HCode{<table\Hnewline class="matrix">}} {\HCode{</table>}}
{\HCode{<tr\Hnewline>}} {\HCode{</tr>}}
{\HCode{<td>}} {\HCode{</td>}}
\Configure{cases}{\m:env{cases}}{\endm:env}
>>>
\section{amsthm.sty}
\<configure html4 amsthm\><<<
\ConfigureEnv{proof}{\par\leavevmode}{\par\ShowPar}{}{}
|<shared ams thm/cls|>
>>>
%%%%%%%%%%%%%%%%%%%%
\section{amsmath}
%%%%%%%%%%%%%%%%%%%%
AmsMath redefines display math to equation*. We should follow it, but not in the MathJax mode.
\<configure html4-math amsmath\><<<
\ifOption{mathjax}{}{%
\DeclareRobustCommand\[{%
\bgroup%
\mathdisplay@push%
\st@rredtrue \global\@eqnswfalse%
\mathdisplay{equation*}%
\csname st:Math\endcsname
}
\DeclareRobustCommand\]{%
\csname ed:Math\endcsname
\endmathdisplay{equation*}%
\mathdisplay@pop%
\ignorespacesafterend%
\egroup
}
\Configure{[]}{\protect\nested:math}{}
}%
>>>
\<configure html4-math amsmath\><<<
\Configure{equation}
{\ifmmode\else\par \IgnorePar\fi \EndP
\HCode{<table\Hnewline class="equation"><tr><td>}\IgnorePar
}
{\ifvmode \IgnorePar\fi\EndP\HCode{</td><td class="equation-label">}}
{\end:TTT\ifmmode\else |<try inline par|>\fi}
\Configure{equation*}
{\ifmmode\else\par \IgnorePar\fi \EndP
\HCode{<table\Hnewline class="equation-star"><tr><td>}\IgnorePar
}
{\end:TTT\ifmmode\else |<try inline par|>\fi}
\Css{.equation td{text-align:center; }}
\Css{.equation-star td{text-align:center; }}
\Css{table.equation-star { width:100\%; }}
\Css{table.equation { width:100\%; }}
>>>
\<configure html4-math amsmath\><<<
\Configure{equation*}
{\ifmmode\else\par \IgnorePar\fi \EndP
\HCode{<table\Hnewline class="equation-star"><tr><td>}\IgnorePar
}
{\end:TTT\ifmmode\else |<try inline par|>\fi}
>>>
Equations in amsmath.sty are defined in term of gather, and
gather is a one parameter macro. Unlike laktex where the body is
read within the environment, in gather it is read at the \verb'\begin{equation}' point under the conditions that exist there.
\<configure html4-math amsmath\><<<
\Configure{substack}{\Picture+{}}{\EndPicture}
>>>
\<configure html4-math amsmath\><<<
|<amsmath / amstex1 m:env|>
>>>
\<configure html4-math amsmath\><<<
\:CheckOption{pic-align} \if:Option
|<amsmath pic-align css|>
\else
|<amsmath align css|>
\fi
\: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}
>>>
\<amsmath align css\><<<
\def\:tempc#1#2{%
\Configure{#1}
{\IgnorePar\EndP \HCode{<table\Hnewline class="#2">}}
{\HCode{</table>}} {\HCode{<tr>}} {\HCode{</tr>}}
{\HCode{<td\Hnewline
class="align-\ifnum \HCol>\maxfields@ label\else
\ifodd\HCol\space odd\else even\fi
\fi">}}
{\HCode{</td>}}
\ConfigureEnv{#1}{}{\par}{}{}
}
\Css{table.align, table.alignat, table.xalignat, table.xxalignat,
table.flalign
{width:95\%; margin-left:5\%; white-space: nowrap;}}
\Css{table.align-star, table.alignat-star,
table.xalignat-star, table.flalign-star
{margin-left:auto; margin-right:auto; white-space: nowrap;}}
\Css{td.align-label { width:5\%; text-align:center; }}
\Css{td.align-odd { text-align:right; padding-right:0.3em;}}
\Css{td.align-even { text-align:left; padding-right:0.6em;}}
>>>
\<amsmath pic-align css\><<<
\def\:tempc#1#2{%
\ConfigureEnv{#1}
{\par\IgnorePar\EndP\HCode{<div class="align">}\Picture*[pict]{}}
{\EndPicture\EndP\HCode{</div>}\par}
{} {}}
\Css{div.align {text-align: center;}}
>>>
\<configure html4-math amsmath\><<<
\Configure{split}
{\HCode{<table\Hnewline class="split"><tr><td>}}
{\ifvmode \IgnorePar\fi \HCode{</td></tr></table>}}
{\HCode{<br\Hnewline class="split-tr" />}} {}
{\HCode{<br\Hnewline class="split-td" />}} {}
\Configure{smallmatrix}
{\:xhtml{\IgnorePar\EndP}%
\HCode{<table\Hnewline class="smallmatrix">}} {\HCode{</table>}}
{\HCode{<tr>}} {\HCode{</tr>}}
{\HCode{<td\Hnewline>}} {\HCode{</td>}}
>>>
\<configure html4-math amsmath\><<<
\ConfigureEnv{gather*}{\m:env{gather*}}{\endm:env}{}{}
\ConfigureEnv{gathered}{\m:env{gathered}}{\endm:env}{}{}
\ConfigureEnv{matrix}{\m:env{matrix}}{\endm:env}{}{}
\Configure{equations}{*}{}
>>>
A `\verb'\begin{multline}...\end{multline}' is not a standard environment
in the sense that the environment as a whole is read in one piece and
then processed, instead of reading it piecewise and process it as it
goes. That is, we have a behavior similar to that in verbatim
environments. The behavior is due to multline being implemented in
terms of \verb'\gather@#1{..}'. Hence, for the picture environment, we
need to change early the catcodes of `\verb'_' and `\verb'^'.
\<configure html4-math amsmath\><<<
\ConfigureEnv{multline}
{\:xhtml{\IgnorePar\EndP}%
\HCode{<table\Hnewline class="multline"><tr><td>}\Picture*{}\ExtractHLabel
}
{\EndPicture |<put HLabel|>\end:TTT}
{}{}
{}{}
\ConfigureEnv{multline*}
{\:xhtml{\IgnorePar\EndP}%
\HCode{<table\Hnewline class="multline-star"><tr><td>}\Picture*{}%
}
{\EndPicture \end:TTT}
{}{}
|<extract amsmath labels|>
\Css{table.multline, table.multline-star {width:100\%;}}
>>>
\<extract amsmath labels\><<<
\def\ExtractHLabel{%
\def\tagform@##1{{%
\ifx \:HLabel\:UnDef \let\:HLabel=\empty \fi
\def\tagform@####1{\expandafter\let\csname ####1\endcsname\def}%
\:HLabel
\expandafter\ifx\csname ##1\endcsname\relax
\let\tagform@=\relax
\let\HCode=\relax
\edef\:temp{\noexpand\append:def\noexpand
\:HLabel{\HCode{<br />}\tagform@{##1}\HCode{<br />}}}%
\:temp
\global\let\:HLabel=\:HLabel
\fi
}}}
\def\PutHLabel{\:HLabel}
>>>
\<put HLabel\><<<
\ifx \:HLabel\:Undef \else
\HCode{</td><td class="equation-label">}\PutHLabel
\global\let\:HLabel\:Undef
\fi
>>>
\<configure html4-math amsmath\><<<
\ConfigureEnv{gather}
{\:xhtml{\IgnorePar\EndP}%
\HCode{<table\Hnewline class="gather"><tr><td
class="gather1">}\Picture*{}\ExtractHLabel
}
{\EndPicture |<put HLabel|>\end:TTT}
{}{}
\Css{td.gather {text-align:center; }}
\Css{table.gather {width:100\%;}}
\ConfigureEnv{gather*}
{\:xhtml{\IgnorePar\EndP}%
\HCode{<div\Hnewline class="gather-star">}\Picture*{}%
}
{\EndPicture \HCode{</div>}}
{}{}
\Css{div.gather-star {text-align:center;}}
>>>
\<mathml: plain, amsmath, amstex1\><<<
\def\underarrow@#1#2#3{%
\Tg<|.munder>\Tg<|.mrow\Hnewline>#1\Tg</|.mrow>%
\Tg<|.mrow\Hnewline>#2\Tg</|.mrow>%
\Tg</|.munder>}%
\def\overarrow@#1#2#3{%
\Tg<|.mover>\Tg<|.mrow
class="fill">#1\Tg</|.mrow>%
\Tg<|.mrow\Hnewline>{#2#3}\Tg</|.mrow>%
\Tg</|.mover>}%
>>>
\<mathml: plain, fontmath, amsmath, amstex1\><<<
\def\overrightarrow{\mathpalette{\overarrow@\rightarrow}}
\def\overleftarrow{\mathpalette{\overarrow@\leftarrow}}
\def\overleftrightarrow{\mathpalette{\overarrow@\leftrightarrow}}
\def\underrightarrow{\mathpalette{\underarrow@\rightarrow}}
\def\underleftarrow{\mathpalette{\underarrow@\leftarrow}}
\def\underleftrightarrow{\mathpalette{\underarrow@\leftrightarrow}}
>>>
\<mathml: plain, fontmath, amsmath, amstex1NO\><<<
\def\overrightarrow{\mathpalette{\overarrow@\rightarrow}}
\def\overleftarrow{\mathpalette{\overarrow@\leftarrow}}
\def\overleftrightarrow{\mathpalette{\overarrow@\leftrightarrow}}
\def\underrightarrow{\mathpalette{\underarrow@\rightarrow}}
\def\underleftarrow{\mathpalette{\underarrow@\leftarrow}}
\def\underleftrightarrow{\mathpalette{\underarrow@\leftrightarrow}}
>>>
The \verb'\HCode{}' in \verb'\sideset' is for catching superscripts and subscripts
\<32,4 picmath amsmath,amstex1\><<<
|<32,4 picmath: plain, fontmath, amsmath, amstex1|>
>>>
\<configure html4-math amsmath\><<<
|<32,4 picmath amsmath,amstex1|>
>>>
\<configure html4-math amsmath\><<<
\Configure{overset} {\Picture+{ \a:@Picture{}}} {\EndPicture}
\Configure{underset} {\Picture+{ \a:@Picture{}}} {\EndPicture}
>>>
\<configure html4-math amsmath\><<<
\Configure{xrightarrow} {\Picture+{ \a:@Picture{}}} {\EndPicture}
\Configure{xleftarrow} {\Picture+{ \a:@Picture{}}} {\EndPicture}
\Configure{genfrac}
{\Picture+{}\bgroup} {}{}{}{}{\egroup\EndPicture}
>>>
\section{amstex.sty (amstex1)}
\<configure html4 amstex1\><<<
\ConfigureEnv{aligned}{\m:env{aligned}}{\endm:env}{}{}
|<amsmath / amstex1 m:env|>
>>>
\<configure html4-math amstex1\><<<
|<32,4 picmath amsmath,amstex1|>
\ConfigureEnv{equation*}{\m:env{equation*}}{\endm:env}{}{}
\ConfigureEnv{equation}{\m:env{equation}}{\endm:env}{}{}
\Configure{eqn}{\HCode{</td><td>}}
\ConfigureEnv{align}{\m:env{align}}{\endm:env}{}{}
\ConfigureEnv{align*}{\m:env{align*}}{\endm:env}{}{}
\ConfigureEnv{alignat}{\m:env{alignat}}{\endm:env}{}{}
\ConfigureEnv{alignat*}{\m:env{alignat*}}{\endm:env}{}{}
\ConfigureEnv{xalignat}{\m:env{xalignat}}{\endm:env}{}{}
\ConfigureEnv{xxalignat}{\m:env{xxalignat}}{\endm:env}{}{}
\ConfigureEnv{xalignat*}{\m:env{xalignat*}}{\endm:env}{}{}
\ConfigureEnv{aligned}{\m:env{aligned}}{\endm:env}{}{}
\ConfigureEnv{alignedat}{\m:env{alignedat}}{\endm:env}{}{}
\ConfigureEnv{gather}{\m:env{gather}}{\endm:env}{}{}
\ConfigureEnv{gather*}{\m:env{gather*}}{\endm:env}{}{}
\ConfigureEnv{gathered}{\m:env{gathered}}{\endm:env}{}{}
\ConfigureEnv{matrix}{\m:env{matrix}}{\endm:env}{}{}
\ConfigureEnv{multline}{\m:env{multline}}{\endm:env}{}{}
\ConfigureEnv{multline*}{\m:env{multline*}}{\endm:env}{}{}
\ConfigureEnv{pmatrix}{\m:env{pmatrix}}{\endm:env}{}{}
\ConfigureEnv{bmatrix}{\m:env{bmatrix}}{\endm:env}{}{}
\ConfigureEnv{vmatrix}{\m:env{vmatrix}}{\endm:env}{}{}
\ConfigureEnv{Vmatrix}{\m:env{Vmatrix}}{\endm:env}{}{}
\Configure{gather}{\Picture*{}}{\EndPicture}
>>>
\<config amstex1 pic-math utilities\><<<
\Configure{aligned}
{\Picture*{}}{\EndPicture} {}{}{}{}
>>>
\<configure html4-math amstex1\><<<
\Configure{dotsc} {\pic:sym{dotsc}}
\Configure{dotso} {\pic:sym{dotso}}
>>>
\<configure html4-math amsmath\><<<
\Configure{intertext}
{\IgnorePar \ifinalign@
\HCode{\ifnum \HRow>0 </td></tr>\fi<tr><td
colspan="\ifnum \HRow>0 \HCol\else 15\fi"
class="intertext">}%
\else \ifingather@
\HCode{<tr><td colspan="\HCol" class="intertext">}%
\fi\fi
}
{\ifvmode \IgnorePar \fi \EndP\ifinalign@
\HCode{</td></tr>\ifnum \HRow>0 <tr><td>\fi}%
\else \ifingather@
\HCode{</td></tr>}%
\fi\fi
}
>>>
\<configure html4-math amsmath\><<<
\Configure{@begin}
{split}
{\ifx \EndPicture \:UnDef \else \let\tagform@=\:gobble \fi}
>>>
%%%%%%%%%%%%%%%%%
\section{amscd}
%%%%%%%%%%%%%%%%%%
\<configure html4 amscd\><<<
\ConfigureEnv{CD}
{\Picture*{ class="CD"}$} {$\EndPicture} {}{}
\Css{.CD {text-align:center}}
>>>
%%%%%%%%%%%%%%%%
\section{Memoir}
%%%%%%%%%%%%%%%%%
\<configure html4 memoir\><<<
\Configure{poemline}
{\HCode{<span class="poemline">}} {\HCode{</span>}}
\Css{.poemline {text-align:right; width:6em;}}
\Configure{legend}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="legend">}}{\HCode{</div>}}
\Configure{book}
{\ifvmode\IgnorePar\fi\EndP\HCode{<h2 class="bookHead"><span class="booknumber">}%
\bookname\refstepcounter{book}\space\thebook\HtmlParOff\HCode{</span><span class="booktitle">}}
{\HCode{</span></h2>}\HtmlParOn}{}{}
\Css{.booknumber{display:block;}}
\Configure{toToc}{book}{part}
|<abstract|>
>>>
%%%%%%%%%%%%%%%%
\section{Elsvier Articles (elsart)}
%%%%%%%%%%%%%%%%%
\<configure html4 elsart\><<<
\Configure{abstract}
{\HCode{<div\Hnewline class="abstract">}\par\ShowPar}
{}
{\ifvmode\IgnorePar\fi \EndP\HCode{</div>}}
\Configure{keyword}
{\HCode{<div\Hnewline class="keyword">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}}
\ConfigureEnv{abstract}
{\ifvmode \IgnorePar\fi \EndP}
{\ifvmode \IgnorePar\fi \EndP}
{}{}
\ConfigureEnv{keyword}
{\ifvmode \IgnorePar\fi \EndP}
{\ifvmode \IgnorePar\fi \EndP}
{}{}
\Css{div.abstract, div.abstract p, div.keyword {width:100\%;
text-align:left; margin-left:0em; margin-right:0em;
}}
\Css{div.abstract { border-top: 1px solid black; }}
\Css{div.keyword{ border-bottom: 1px solid black;}}
>>>
\<configure html4 elsart\><<<
\ConfigureEnv{frontmatter}
{\EndP\IgnorePar
\HCode{<div class="frontmatter"\Hnewline>}}
{\ifvmode\IgnorePar\fi \EndP\HCode{</div>}\IgnorePar}
{}{}
\Css{div.frontmatter {text-align:center; width:100\%;}}
>>>
\<configure html4 elsart\><<<
\Configure{address}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div\Hnewline class="address">}}
{\ifvmode\IgnorePar\fi \EndP
\HCode{</div>}\ShowPar}
>>>
%%%%%%%%%%%%%%%%%%%%%
\section{American Psychological Association (APA)}
%%%%%%%%%%%%%%%%%%%%%
\<configure html4 apa\><<<
|<apa maketitle|>
|<apa abstract|>
|<apa captions|>
|<apa lists|>
\Configure{note}
{\HCode{<div class="note">}\bgroup
|<apa maketitle br cr|>%
}
{\egroup \HCode{</div>}}
\Css{div.note{text-align:left; margin-top:1em; }}
>>>
\<apa lists\><<<
\ConfigureList{enumerate}%
{|<enumerate I|>}
{|<enumerate II|>}
{|<enumerate III|>}
{|<enumerate IV|>}
\ConfigureList{APAenumerate}%
{|<enumerate I|>}
{|<enumerate II|>}
{|<enumerate III|>}
{|<enumerate IV|>}
\Configure{seriate}
{\HCode{<span class="seriate">}\let\end:seriate=\empty}
{\end:seriate\HCode{</span>}}
{\end:seriate \def\end:seriate{\HCode{</span>}}%
\HCode{<span class="seriate-item">}\HCode{<span class="seriate-label">}}
{\HCode{</span>}}
\ConfigureList{APAitemize}%
{\EndP\HCode{<ul class="itemize" \a:LRdir >}\PushMacro\end:itm
\global\let\end:itm=\empty
}
{\PopMacro\end:itm \global\let\end:itm \end:itm
\EndP\HCode{</li></ul>}\ShowPar
}
{\end:itm \gdef\end:itm{\EndP\Tg</li>}\DeleteMark}
{\HCode{<li class="itemize">}|<list par|>\AnchorLabel }
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{JHEP}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 JHEP\><<<
|<latex shared part config|>
|<latex shared section config|>
|<latex shared subsection config|>
|<latex shared subsubsection config|>
|<acm paragraph config|>
\Css{.sectionHead, .partHead{text-transform:uppercase}}
\Css{.subsubsectionHead, .likesubsubsectionHead {font-style: italic;}}
>>>
\<configure html4 JHEP\><<<
\Configure{abstract}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="abstract">}\IgnoreIndent}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{accepted}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="accepted">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{author}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="author">}\par \ShowPar}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{conference}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="conference">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{dedicated}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="dedicated">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{keywords}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="keywords">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{preprint}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="preprint">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{received}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="received">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{title}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="title">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Css{.abstract{margin-top:1em; margin-bottom:1em;}}
\Css{.accepted{margin-top:1em; margin-bottom:1em; text-align:right;}}
\Css{div.author{margin-top:1em; margin-bottom:1em; margin-left:2em;}}
\Css{.conference{margin-top:1em; margin-bottom:1em;}}
\Css{.dedicated{margin-top:1em; margin-bottom:1em;}}
\Css{.keywords{margin-top:1em; margin-bottom:1em;}}
\Css{.preprint{margin-top:1em; margin-bottom:1em;}}
\Css{.received{margin-top:1em; margin-bottom:1em; text-align:right;}}
\Css{.title{margin-top:1em; margin-bottom:1em;}}
>>>
\<configure html4 JHEP\><<<
|<config bibitem|>
|<thebib config|>
|<JHEP maketitle footnote|>
>>>
\<JHEP thanks author date and\><<<
\Configure{thanks}
{\HCode{<div class="thanks">}}{\HCode{</div>}}
|<thank for thanks|>
\Css{div.thanks{text-align:left; margin-left:10\%; font-size:85\%;
font-style:italic; }}
>>>
\<JHEP end-thanks author date and\><<<
\Configure{thanks}
{\SaveEndP\global\setbox\fn:box=\vtop\bgroup\ShowPar
\ifvoid\fn:box\else \csname unvbox\endcsname\fn:box\fi}
{\ifvmode\IgnorePar\fi\EndP\egroup\RecallEndP }
|<thanks for thanks EndP|>
\Css{div.thanks{text-align:left; margin-left:10\%; font-size:85\%;
font-style:italic; }}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{acm-proc-article-sp}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 acm-proc-article-sp\><<<
|<config bibitem|>
|<acm-proc-article-sp thebib config|>
|<config captions|>
|<acm proof|>
>>>
\<configure html4 acm-proc-article-sp\><<<
\Configure{qed}
{\Picture+[Q.E.D.]{}\o:qed:\EndPicture
\SavePicture\qed:sym[Q.E.D.]}
>>>
\<configure html4 acm-proc-article-sp\><<<
|<latex shared part config|>
|<latex shared section config|>
|<latex shared subsection config|>
|<latex shared subsubsection config|>
|<acm paragraph config|>
\Css{.sectionHead, .partHead{text-transform:uppercase}}
\Css{.subsubsectionHead, .likesubsubsectionHead {font-style: italic;}}
>>>
\<acm paragraph config\><<<
\ConfigureMark{paragraph}
{\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
\else
\HCode{<span class="titlemark">}\theparagraph\space
\HCode{</span>}\fi}
\Configure{paragraph}{}{}
{\ifvmode \IgnorePar \fi \EndP
\bgroup \IgnorePar\HCode{<h5 class="paragraphHead"\a:LRdir>}%
\TitleMark\space \HtmlParOff}
{\HCode{</h5>}\HtmlParOn \IgnoreIndent\egroup}
\Configure{likeparagraph}{}{}
{\ifvmode \IgnorePar \fi \EndP
\bgroup \IgnorePar\HCode{<h5 class="likeparagraphHead"\a:LRdir>}%
\HtmlParOff}
{\HCode{</h5>}\HtmlParOn \IgnoreIndent\egroup}
\Css{.paragraphHead, .likeparagraphHead { font-style:italic; }}
>>>
%%%%%%%%%%%%%%%%%%%%
\section{scrbook}
%%%%%%%%%%%%%%%%%%%%
\<configure html4 scrbook\><<<
|<scr article,report,book|>
|<scr report,book|>
|<shared bib env|>
|<thebib config|>
|<description 4|>
%\def\:SPAN#1#2{\HCode{<span class="#1">}#2\HCode{</span>}}
\def\:tempa{
\CutAt{part}
\CutAt{likepart}
|<cut toc scr: part|>%
}
\def\:tempb{
|<tocat scr: part|>
\CutAt{chapter,likechapter,addchap,appendix,part}
\CutAt{likechapter,addchap,appendix,part}
\CutAt{addchap,chapter,likechapter,appendix,part}
\CutAt{appendix,chapter,likechapter,addchap,part}
|<tocat: ch|>%
}
\def\:tempc{
|<tocat scr: ch|>%
\CutAt{section,likesection,chapter,likechapter,addchap,appendix,part}
\CutAt{likesection,chapter,likechapter,addchap,appendix,part}
|<cut toc: sec|>%
}
\def\:tempd{
|<tocat scr: section|>%
|<tocat scr: subsection|>%
|<cut toc: subsec|>%
}
\:CheckOption{4} \if:Option
\expandafter\ifx \csname @chapter\endcsname\relax
\:tempa \:tempc \:tempd
\else \:tempa \:tempb \:tempc \:tempd \fi
\else\:CheckOption{3} \if:Option
\expandafter\ifx \csname @chapter\endcsname\relax
\:tempa \:tempc \:tempd
\else \:tempa \:tempb \:tempc \fi
\else\:CheckOption{2} \if:Option
\expandafter\ifx \csname @chapter\endcsname\relax \:tempa \:tempc
\else \:tempa \:tempb \fi
\else\:CheckOption{1} \if:Option
\:tempa
\else
\Log:Note{for sectioning pagination,
use the command line option `1', `2', or `3'}%
\fi \fi \fi \fi
\:CheckOption{1} \if:Option
|<toc scrbook options 1|>
\fi
|<scrbook end units|>
\ifx \part\:UnDef \else
|<latex shared part config|>
\fi
|<config lists of figures and tables|>
\Configure{paragraph}{}{}
{\ShowPar\IgnoreIndent\HCode{<span class="paragraphHead"\a:LRdir>}\begingroup}
{\endgroup\HCode{</span>}\IgnorePar}
\Configure{likeparagraph}{}{}
{\ShowPar\IgnoreIndent\HCode{<span class="likeparagraphHead"\a:LRdir>}}
{\HCode{</span>}\IgnorePar}
\Css{.paragraphHead, .likeparagraphHead
{ margin-top:2em; font-weight: bold;}}
\ConfigureMark{subparagraph}{}
\Configure{subparagraph}{}{}
{\ShowPar\HCode{<span class="subparagraphHead"\a:LRdir>}\begingroup
\TitleMark\space}
{\endgroup\HCode{</span>}\IgnorePar}
\Configure{likesubparagraph}{}{}
{\ShowPar\HCode{<span class="likesubparagraphHead"\a:LRdir>}\begingroup}
{\endgroup\HCode{</span>}\IgnorePar}
\Css{.subparagraphHead, .likesubparagraphHead
{ font-weight: bold;}}
\ConfigureEnv{picture}
{\bgroup\ifvmode \Configure{HtmlPar}
{\EndP\HCode{<!--l. \the\inputlineno-->%
}\HCode{<p
class="center" \a:LRdir>}}%
{\EndP\HCode{<!--l. \the\inputlineno-->%
}\HCode{<p
class="center" \a:LRdir>}}%
{\:xhtml{\Tg</p>}}{\:xhtml{\Tg</p>}} \ShowPar\leavevmode
\fi}
{\egroup}{}{}
|<quote config|>
|<book-report-article index|>
|<scr reprt/book captions|>
\ConfigureEnv{verse}
{\ifvmode \IgnorePar\fi\EndP\Tg<div class="verse">}
{\ifvmode \IgnorePar\fi\EndP\Tg</div>\par\ShowPar}
{}{}
\ConfigureList{verse}
{}{}
{\parindent=\z@} {\par}
\Css{.verse{white-space:nowrap; margin-left:2em}}
|<base font size|>
|<quotations|>
\Configure{listof}{}{}{}{\HCode{<br />}}{}{ }
|<latex shared part config|>
>>>
\<scrbook end-thanks author date and\><<<
\Configure{thanks author date and}
{\SaveEndP\global\setbox\fn:box=\vtop\bgroup\ShowPar
\ifvoid\fn:box\else \csname unvbox\endcsname\fn:box\fi}
{\EndP\egroup\RecallEndP }
{\HCode{<div class="author" \a:LRdir>}}{\HCode{</div>}}
{\HCode{<div class="date" \a:LRdir>}}{\HCode{</div>}}
{\HCode{<br class="and" \a:LRdir/>}}
{\HCode{<br />}}
|<thanks for thanks p|>
\Css{div.author, div.date {text-align:center;}}
\Css{div.thanks{text-align:left; margin-left:10\%; font-size:85\%;
font-style:italic; }}
>>>
\<scrbook thanks author date and\><<<
\Configure{thanks author date and}
{\HCode{<div class="thanks" \a:LRdir>}}{\HCode{</div>}}
{\HCode{<div class="author" \a:LRdir>}}{\HCode{</div>}}
{\HCode{<div class="date" \a:LRdir>}}{\HCode{</div>}}
{\HCode{<br class="and" />}}
{\HCode{<br />}}
|<thank for thanks|>
\Css{div.author, div.date {text-align:center;}}
\Css{div.thanks{text-align:left; margin-left:10\%; font-size:85\%;
font-style:italic; }}
>>>
\<scr report,book\><<<
\ConfigureMark{section}
{\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
\else
\HCode{<span class="titlemark">}\thesection\HCode{</span>}\fi }
|<section TITLE+|>
\Configure{section}{}{}
{\ifvmode \IgnorePar\fi \EndP\IgnorePar
\HCode{<h3 class="sectionHead"\a:LRdir>}\TitleMark\ \ \HtmlParOff}
{\HCode{</h3>}\HtmlParOn \IgnoreIndent \ShowPar \par}
\Configure{likesection}{}{}
{\ifvmode \IgnorePar\fi
\EndP\IgnorePar\HCode{<h3 class="likesectionHead"\a:LRdir>}\HtmlParOff}
{\HCode{</h3>}\HtmlParOn \IgnoreIndent \ShowPar\par}
\Configure{likesectionTITLE+}{#1}
>>>
\<scr report,book\><<<
|<shared h5 subsubsection|>
\ConfigureMark{appendix}{\HCode{<span class="titlemark">}%
\thechapter\HCode{</span>}}
\Configure{appendix}{}{}
{\IgnorePar\EndP\HCode{<h2 class="appendixHead"\a:LRdir>}\TitleMark{}.\ \ }
{\HCode{</h2>}\IgnoreIndent\par}
\Configure{appendixTITLE+}{\thechapter\space#1}
\Configure{likechapter}{}{}
{\IgnorePar\EndP\HCode{<h2 class="likechapterHead"\a:LRdir>}}
{\HCode{</h2>}\IgnoreIndent\par}
\Configure{likechapterTITLE+}{#1}
\Configure{addchap}{}{}
{\IgnorePar\EndP\HCode{<h2 class="addchapHead"\a:LRdir>}}
{\HCode{</h2>}\IgnoreIndent\par}
>>>
\<configure html4 scrbook\><<<
\ConfigureMark{chapter}
{\if@mainmatter
\HCode{<span class="titlemark">}\thechapter\HCode{</span>}\ \ \fi}
\Configure{chapter}{}{}
{\IgnorePar\EndP\HCode{<h2 class="chapterHead"\a:LRdir>}\TitleMark{}}
{\HCode{</h2>}\IgnoreIndent\par}
\Configure{chapterTITLE+}{\if@mainmatter\thechapter\space\fi#1}
\renewcommand\thechapter {\if@mainmatter\@arabic\c@chapter\fi}
>>>
\<configure html4 scrreprt\><<<
\ConfigureMark{chapter}
{\HCode{<span class="titlemark">}\thechapter\HCode{</span>}\ \ }
\Configure{chapter}{}{}
{\IgnorePar\EndP\HCode{<h2 class="chapterHead"\a:LRdir>}\TitleMark{}}
{\HCode{</h2>}\IgnoreIndent\par}
\Configure{chapterTITLE+}{\thechapter\space#1}
>>>
\<scr article,report,book\><<<
\ConfigureMark{minisec}{}
\Configure{minisec}{}{}
{\ifvmode \IgnorePar \fi \EndP
\bgroup \IgnorePar\HCode{<h5 class="minisecHead"\a:LRdir>}%
\TitleMark\space \HtmlParOff}
{\HCode{</h5>}\HtmlParOn \IgnoreIndent\egroup\par\ShowPar}
>>>
Support for subtitle
\<scr article,report,book\><<<
\Configure{subtitle}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="subtitle">}}{\HCode{</div>}}
>>>
\<scrbook end units\><<<
\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}
>>>
%%%%%%%%%%%%%%%%%%%
\section{scrreprt}
%%%%%%%%%%%%%%%%%%%
\<configure html4 scrreprt\><<<
%\def\:SPAN#1#2{\HCode{<span class="#1">}#2\HCode{</span>}}
|<shared bib env|>
|<thebib config|>
\ifx \part\:UnDef \else
|<latex shared part config|>
\fi
|<config lists of figures and tables|>
\ConfigureEnv{picture}
{\bgroup\ifvmode \Configure{HtmlPar}
{\EndP\HCode{<!--l. \the\inputlineno-->%
}\HCode{<p
class="center" \a:LRdir>}}%
{\EndP\HCode{<!--l. \the\inputlineno-->%
}\HCode{<p
class="center" \a:LRdir>}}%
{\:xhtml{\Tg</p>}}{\:xhtml{\Tg</p>}} \ShowPar\leavevmode
\fi}
{\egroup}{}{}
|<quote config|>
|<book-report-article index|>
|<scr reprt/book captions|>
\ConfigureEnv{verse}
{\ifvmode \IgnorePar\fi\EndP\Tg<div class="verse">}
{\ifvmode \IgnorePar\fi\EndP\Tg</div>\par\ShowPar}
{}{}
\ConfigureList{verse}
{}{}
{\parindent=\z@} {\par}
\Css{.verse{white-space:nowrap; margin-left:2em}}
|<base font size|>
|<quotations|>
\Configure{listof}{}{}{}{\HCode{<br />}}{}{ }
|<latex shared part config|>
\ConfigureEnv{abstract}{\:xhtml{\IgnorePar\EndP}\HCode
{<table\Hnewline class="abstract"><tr><td\Hnewline>}}
{\EndP\HCode{</td></tr></table>}}{}{}
\Css{.abstract p {margin-left:5\%; margin-right:5\%;}}
\Css{table.abstract {width:100\%;}}
\def\:tempa{
\CutAt{part}
\CutAt{likepart}
|<cut toc scr: part|>%
}
\def\:tempb{
|<tocat scr: part|>%
\CutAt{chapter,likechapter,addchap,appendix,part}
\CutAt{likechapter,addchap,appendix,part}
\CutAt{addchap,chapter,likechapter,appendix,part}
\CutAt{appendix,chapter,likechapter,addchap,part}
|<tocat: ch|>%
}
\def\:tempc{
|<tocat scr: ch|>%
\CutAt{section,likesection,chapter,likechapter,addchap,appendix,part}
\CutAt{likesection,chapter,likechapter,addchap,appendix,part}
|<cut toc: sec|>%
}
\def\:tempd{
|<tocat scr: section|>%
|<tocat scr: subsection|>%
|<cut toc: subsec|>%
}
\:CheckOption{4} \if:Option
\expandafter\ifx \csname @chapter\endcsname\relax
\:tempa \:tempc \:tempd
\else \:tempa \:tempb \:tempc \:tempd \fi
\else\:CheckOption{3} \if:Option
\expandafter\ifx \csname @chapter\endcsname\relax
\:tempa \:tempc \:tempd
\else \:tempa \:tempb \:tempc \fi
\else\:CheckOption{2} \if:Option
\expandafter\ifx \csname @chapter\endcsname\relax \:tempa \:tempc
\else \:tempa \:tempb \fi
\else\:CheckOption{1} \if:Option
\:tempa
\else
\Log:Note{for sectioning pagination,
use the command line option `1', `2', or `3'}%
\fi \fi \fi \fi
\:CheckOption{1} \if:Option
|<toc article,report options 1|>
\fi
|<scrreprt end units|>
\Configure{addchapTITLE+}{#1}
\def\tocaddchap#1#2#3{\par
\HCode{<span class="addchapToc" \a:LRdir>}#2\HCode{</span>}\par}%
>>>
\<scrreprt end-thanks author date and\><<<
\Configure{thanks author date and}
{\SaveEndP\global\setbox\fn:box=\vtop\bgroup\ShowPar
\ifvoid\fn:box\else \csname unvbox\endcsname\fn:box\fi}
{\EndP\egroup\RecallEndP }
{\HCode{<div class="author" \a:LRdir>}}{\HCode{</div>}}
{\HCode{<div class="date" \a:LRdir>}}{\HCode{</div>}}
{\HCode{<br class="and" \a:LRdir/>}}
{\HCode{<br />}}
|<thanks for thanks p|>
\Css{div.author, div.date {text-align:center;}}
\Css{div.thanks{text-align:left; margin-left:10\%; font-size:85\%;
font-style:italic; }}
>>>
\<scrreprt thanks author date and\><<<
\Configure{thanks author date and}
{\HCode{<div class="thanks" \a:LRdir>}}{\HCode{</div>}}
{\HCode{<div class="author" \a:LRdir>}}{\HCode{</div>}}
{\HCode{<div class="date" \a:LRdir>}}{\HCode{</div>}}
{\HCode{<br class="and" />}}
{\HCode{<br />}}
|<thank for thanks|>
\Css{div.author, div.date {text-align:center;}}
\Css{div.thanks{text-align:left; margin-left:10\%; font-size:85\%;
font-style:italic; }}
>>>
\<configure html4 scrartcl\><<<
|<scr article,report,book|>
>>>
\<configure html4 scrreprt\><<<
|<scr article,report,book|>
|<scr report,book|>
|<description 4|>
\Configure{paragraph}{}{}
{\ShowPar\IgnoreIndent\HCode{<span class="paragraphHead"\a:LRdir>}\begingroup\bf}
{\endgroup\HCode{</span>}}
\Configure{likeparagraph}{}{}
{\ShowPar\IgnoreIndent\HCode{<span class="likeparagraphHead"\a:LRdir>}}
{\HCode{</span>}}
\Css{.paragraphHead, .likeparagraphHead
{ margin-top:2em; font-weight: bold;}}
\ConfigureMark{subparagraph}{\thesubparagraph}
\Configure{subparagraph}{}{}
{\ShowPar\HCode{<span class="subparagraphHead"\a:LRdir>}\begingroup\bf
\TitleMark\space}
{\endgroup\HCode{</span>}\IgnorePar}
\Configure{likesubparagraph}{}{}
{\ShowPar\HCode{<span class="likesubparagraphHead"\a:LRdir>}\begingroup\bf}
{\endgroup\HCode{</span>}\IgnorePar}
\Css{.subparagraphHead, .likesubparagraphHead
{ font-weight: bold;}}
>>>
\<scrreprt end units\><<<
\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{endaddchap}{likechapter,appendix,part,likepart,chapter}
\Configure{endchapter}{likechapter,appendix,part,likepart,addchap}
\Configure{endlikechapter}{chapter,appendix,part,likepart,addchap}
\Configure{endappendix}{chapter,likechapter,part,likepart,addchap}
>>>
%%%%%%%%%%%%%%
\section{Europe CV}
%%%%%%%%%%%%%%
%%%%%%%%%%%%%
\subsection{General}
%%%%%%%%%%%%%
The following configuration is for the main page which is typeset as a
longtable
\<configure html4 europecv\><<<
\Css{table.longtable[rules] {border-left:0pt; border-right:0pt; }}
\Css{table.longtable td.td00{ padding-left:5pt; padding-right:5pt; }}
>>>
\<configure html4 europecv\><<<
\Configure{telephone}
{\HCode{<span class="phone">}}
{\HCode{</span>}}
{\HCode{<span class="mobile">}}
{\HCode{</span>}}
\Css{span.phone{margin-right:2em;}}
>>>
%%%%%%%%%%%%%
\subsection{Language}
%%%%%%%%%%%%%
\<configure html4 europecv\><<<
\Configure{languageheader}
{\hbox{\HCode{<div class="languageheader">}}%
\Configure{tabular}
{\ifvmode \IgnorePar\fi \EndP \HCode{<table>}}
{\HCode{</table>}}
{\HCode{<tr class="languageheader-tr-\HRow">}}
{\HCode{</tr>}}
{\HCode{<td class="languageheader-\HCol"
\ifnum \HMultispan>1 colspan="\HMultispan"\fi>}%
\Configure{HtmlPar}{}{}{}{}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</td>}}%
}
{\hbox{\HCode{</div>}}}
\Css{.languageheader-tr-1 .languageheader-1 td,
.languageheader-tr-1 .languageheader-3 td
{ width:40\%; text-align:center; }}
\Css{.languageheader-tr-1 .languageheader-5 td
{ width:20\%; text-align:center; }}
\Css{.languageheader-tr-2 td
{ width:20\%; text-align:center;
white-space:normal; }}
\Css{.languageheader {border-top:solid black 2pt;
border-bottom:solid black 1pt; }}
>>>
\<configure html4 europecv\><<<
\Configure{ecvCEF}
{\hbox{\HCode{<div class="language-cell">}}%
\Configure{tabular}
{\ifvmode \IgnorePar\fi \EndP \HCode{<table>}}
{\HCode{</table>}}
{\HCode{<tr>}}
{\HCode{</tr>}}
{\HCode{<td class="language-cell-\HCol"
\ifnum \HMultispan>1 colspan="\HMultispan"\fi >}%
\Configure{HtmlPar}{}{}{}{}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</td>}}%
}
{\hbox{\HCode{</div>}}}
>>>
\<configure html4 europecv\><<<
\Configure{language}
{\hbox{\HCode{<div class="language">}}%
\Configure{tabular}
{\ifvmode \IgnorePar\fi \EndP \HCode{<table>}}
{\HCode{</table>}}
{\HCode{<tr>}}
{\HCode{</tr>}}
{\HCode{<td class="language-\HCol"
\ifnum \HMultispan>1 colspan="\HMultispan"\fi >}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</td>}}%
}
{\hbox{\HCode{</div>}}}
>>>
\<configure html4 europecv\><<<
\Configure{lastlanguage}
{\hbox{\HCode{<div class="lastlanguage">}}%
\Configure{tabular}
{\ifvmode \IgnorePar\fi \EndP \HCode{<table>}}
{\HCode{</table>}}
{\HCode{<tr>}}
{\HCode{</tr>}}
{\HCode{<td class="lastlanguage-\HCol"
\ifnum \HMultispan>1 colspan="\HMultispan"\fi >}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</td>}}%
}
{\hbox{\HCode{</div>}}}
>>>
\<configure html4 europecv\><<<
\Css{.lastlanguage-1, .lastlanguage-2, .lastlanguage-3,
.lastlanguage-4, .lastlanguage-5,
.language-1, .language-2, .language-3, .language-4, .language-5
{ width: 20\%; white-space:normal; }}
\Css{div.language {border-bottom:solid black 1pt;} }
\Css{div.lastlanguage {border-bottom:solid black 2pt;} }
\Css{.language td{ padding-top:0pt; padding-bottom:0pt; } }
\Css{div.languageheader table,
div.lastlanguage table,
div.language table { width:100\%; }}
\Css{div.language-cell td { text-align:center; }}
\Css{div.language-cell td.language-cell-1 { width:3em; }}
>>>
%%%%%%%%%%%%%%
\section{Res}
%%%%%%%%%%%%%%
\<configure html4 res\><<<
\ConfigureEnv{resume}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="resume">}\let\endHR=\empty}
{\ifvmode \IgnorePar\fi \EndP
\HCode{\endHR</div>}}
{} {}
\def\c:secnumdepth{-1}
\Configure{overlapped-section}
{\ifvmode \IgnorePar\fi \EndP\IgnorePar }
{\ifvmode \IgnorePar\fi \EndP\IgnorePar \HCode{</div>}}
{\ifvmode \IgnorePar\fi \EndP\IgnorePar
\HCode{<h4 class="sectionHead"\a:LRdir>}\HtmlParOff}
{\HCode{</h4>}%
\HCode{<div class="section">}%
\HtmlParOn \ShowPar \IgnoreIndent \csname par\endcsname}
\ConfigureEnv{tabbing}
{\ifvmode \IgnorePar\fi \EndP \HCode{<table class="tabbing">}}
{\ifvmode \IgnorePar\fi \HCode{</table>}\par\ShowPar}
{} {}
\Configure{tabbing}
{\ifvmode \IgnorePar\fi \HCode{<tr>}}
{\HCode{</tr>}}
{\ifvmode \IgnorePar\fi \HCode{<td class="tabbing">}}
{\ifvmode \IgnorePar\fi \HCode{</td>}}
\Css{table.tabbing {width:100\%; margin-top:1em;}}
\Css{td.tabbing {width:33\%;}}
\Css{div.section {margin-left:3em;}}
>>>
\<configure html4 res\><<<
\Configure{centeraddresses}
{} {}
{\HCode{<table class="center-addresses"><tr><td class="first-address">}}
{\HCode{</td><td class="second-address">}}
{\HCode{</td></tr></table>}}
\Css{.center-addresses {width:100\%}}
>>>
\<configure html4 res\><<<
\Configure{linename}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="linename">}}
{\HCode{</div><hr />}\par}
\Configure{lineaddress}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="line-address">}}
{\HCode{<br />}}
{\HCode{</div>}}
\Css{.line-address {text-align:right;}}
>>>
\<configure html4 res\><<<
\Configure{boxed-section}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<table class="section"><tr><td class="section">}\par
}
{\ifvmode \IgnorePar\fi \EndP
\HCode{</td></tr></table>}\par}
{\ifvmode \IgnorePar\fi \HtmlParOff}
{\HCode{</td><td class="section-body">}\HtmlParOn\par\ShowPar}
\Css{table.section td{ vertical-align:top;}}
\Css{td.section {padding-right:2em; width:20\%;}}
\Css{table.section {margin-top:1em;}}
>>>
\<configure html4 res\><<<
\ConfigureEnv{position}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="position">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{}{}
\Css{.position table {width:100\%;}}
>>>
%%%%%%%%%%%%%%
\section{aa}
%%%%%%%%%%%%%%
\<configure html4 aa\><<<
|<makeketitle config 4.0t|>
|<configure aa 3.2/4.0t|>
|<latex shared part config|>
|<latex config div 4.0t|>
|<latex shared div config|>
|<shared bib env|>
\ifx \part\:UnDef \else
|<latex shared part config|>
\fi
>>>
\subsection{Sizes of Fonts}
pages should honor the base font sizes the
readers choose for their browsers. Hence, under this assumption, all
tex4ht should do is just assure appropriate relative dimensions for
fonts of other sizes. To meet this end, I modified latex.4ht to
automatically include
\verb'{\Configure{Needs}{Font\string_Size: #1}\Needs{1...}}'
when options 11pt and 12pt are listed in \verb'\documentclass'.
\<article,report,book\><<<
|<base font size|>
>>>
>
\<base font size\><<<
{\Configure{Needs}{Font\string_Size: #1}\ifcase \@ptsize
\or \Needs{11}\or \Needs{12}\else \fi}
>>>
\<ams art,proc,book\><<<
|<base font size|>
>>>
\<latex config div 4.0t\><<<
|<latex shared section config|>
|<latex shared subsection config|>
|<latex shared subsubsection config|>
|<latex shared paragraph config|>
>>>
% \Css{.titlemark{margin-right:0.7em;}} abuses NS 4.7
\<latex shared section config\><<<
\ConfigureMark{section}
{\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
\else
\HCode{<span class="titlemark">}\@seccntformat{section}%
\HCode{</span>}\fi }
|<section TITLE+|>
\Configure{section}{}{}
{\ifvmode \IgnorePar\fi \EndP\IgnorePar
\HCode{<h3 class="sectionHead"\a:LRdir>}\TitleMark\space\HtmlParOff}
{\HCode{</h3>}\HtmlParOn\ShowPar \IgnoreIndent \par}
\Configure{likesection}{}{}
{\ifvmode \IgnorePar\fi
\EndP\IgnorePar\HCode{<h3 class="likesectionHead"\a:LRdir>}\HtmlParOff}
{\HCode{</h3>}\HtmlParOn \IgnoreIndent \ShowPar \par}
\Configure{likesectionTITLE+}{#1}
>>>
% \def\HCode{<#1>}{\HCode{<#1>}}
The \verb=\ShowPar= is required for examples like below.
\begin{verbatim}
\documentclass{book}
\usepackage{titlesec}
\begin{document}
\section*{foobar}
a \par b
\end{document}
\end{verbatim}
\<latex shared subsection config\><<<
|<shared h5 subsubsection|>
|<shared h4 subsection|>
>>>
\<latex shared paragraph config\><<<
\ConfigureMark{paragraph}
{\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
\else
\HCode{<span class="titlemark">}\@seccntformat{paragraph}%
\HCode{</span>}\fi }
\Configure{paragraph}{}{}
{\ShowPar\IgnoreIndent\HCode{<span class="paragraphHead"\a:LRdir>}\begingroup\bf\TitleMark\space}
{\endgroup\HCode{</span>}\par\IgnorePar}
\Configure{likeparagraph}{}{}
{\ShowPar\IgnoreIndent\HCode{<span class="likeparagraphHead"\a:LRdir>}}
{\HCode{</span>}\par\IgnorePar}
\Css{.paragraphHead, .likeparagraphHead
{ margin-top:2em; font-weight: bold;}}
>>>
\<latex config div 4.0t\><<<
\ConfigureMark{subparagraph}{\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
\else
\HCode{<span class="titlemark">}\@seccntformat{subparagraph}%
\HCode{</span>}\fi }
\Configure{subparagraph}{}{}
{\ShowPar\HCode{<span class="subparagraphHead"\a:LRdir>}\begingroup\bf
\TitleMark\space}
{\endgroup\HCode{</span>}\IgnorePar}
\Configure{likesubparagraph}{}{}
{\ShowPar\HCode{<span class="likesubparagraphHead"\a:LRdir>}\begingroup\bf}
{\endgroup\HCode{</span>}\IgnorePar}
\Css{.subparagraphHead, .likesubparagraphHead
{ font-weight: bold;}}
>>>
\<32,4 latex\><<<
\ConfigureEnv{picture}
{\bgroup\ifvmode \Configure{HtmlPar}
{\EndP\HCode{|<show input line no|>}\HCode{<p
class="center" \a:LRdir>}}%
{\EndP\HCode{|<show input line no|>}\HCode{<p
class="center" \a:LRdir>}}%
{\:xhtml{\Tg</p>}}{\:xhtml{\Tg</p>}} \ShowPar\leavevmode
\fi}
{\egroup}{}{}
>>>
%%%%%%%%%%%%%%%%%%%%%%
\subsection{ltxguide}
%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 ltxguide\><<<
\Configure{m}
{\HCode{\string&\#x2329;}}
{\HCode{\string&\#x232A;}}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Polish: mwart.cls, mwrep.cls, mwbk.cls}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 mwart\><<<
|<mwcls divs|>
|<mwcls tocs|>
|<mwart tocs|>
|<cut and toc at for options 1, 2, 3|> |%should be after mw ... tocs|%
|<mwcls configs|>
>>>
\<configure html4 mwrep\><<<
|<mwcls divs|>
|<mw rep/bk divs|>
|<mwcls tocs|>
|<mw rep/bk tocs|>
|<cut and toc at for options 1, 2, 3|> |%should be after mw ... tocs|%
|<mwcls configs|>
>>>
\<configure html4 mwbk\><<<
|<mwcls divs|>
|<mw rep/bk divs|>
|<mwcls tocs|>
|<mw rep/bk tocs|>
|<cut and toc at for options 1, 2, 3|> |%should be after mw ... tocs|%
|<mwcls configs|>
>>>
\<mwcls configs\><<<
|<mwcls index|>
|<config captions|>
|<shared bib env|>
|<thebib config|>
%\def\:SPAN#1#2{\HCode{<span class="#1">}#2\HCode{</span>}}
|<config lists of figures and tables|>
\ConfigureList{description}%
{\EndP\HCode{<dl \a:LRdir class="description">}%
\PushMacro\end:itm
\global\let\end:itm=\empty}
{\PopMacro\end:itm \global\let\end:itm \end:itm
\EndP\HCode{</dd></dl>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
class="description">}\AnchorLabel\bgroup \bf}
{\egroup\EndP\HCode{</dt><dd\Hnewline class="description">}|<list par|>}
|<quote config|>
\ConfigureEnv{verse}
{\ifvmode \IgnorePar\fi\EndP\Tg<div class="verse">}
{\ifvmode \IgnorePar\fi\EndP\Tg</div>\par\ShowPar}
{}{}
\ConfigureList{verse}
{}{}
{\parindent=\z@} {\par}
\Css{.verse{white-space:nowrap; margin-left:2em}}
{\Configure{Needs}{Font\string_Size: #1}\ifcase \@ptsize
\or \Needs{11}\or \Needs{12}\else \fi}
|<quotations|>
\Configure{listof}{}{}{}{\HCode{<br />}}{}{ }
\ConfigureEnv{abstract}
{\IgnorePar\EndP
\HCode{<table\Hnewline class="abstract"><tr><td\Hnewline>}\par\ShowPar}
{\ifvmode \IgnorePar\fi \EndP\HCode{</td></tr></table>}}{}{}
\Css{.abstract p {margin-left:5\%; margin-right:5\%;}}
\Css{table.abstract {width:100\%;}}
>>>
\<mwcls divs\><<<
\ConfigureMark{part}
{\ifHeadingNumbered \HCode{<span class="titlemark">}\partname
\space \HeadingNumber \HCode{</span>}\fi}
\Configure{part}{}{}
{\NoFonts\ifvmode \IgnorePar\fi \EndP\IgnorePar
\HCode{<h1 class="partHead"\a:LRdir>}\TitleMark
\HCode{<br />}\HtmlParOff}
{\HCode{</h1>}\HtmlParOn \EndNoFonts \IgnoreIndent \par}
\Configure{partTITLE+}{\thepart\space #1}
\Css{h1.partHead{text-align: left}}
>>>
\<mwcls divs\><<<
\Configure{likepart}{}{}
{\IgnorePar\EndP\HCode{<h1 class="likepartHead"\a:LRdir>}}
{\HCode{</h1>}\IgnoreIndent\par}
\Configure{likepartTITLE+}{#1}
>>>
\<mw rep/bk divs\><<<
\ConfigureMark{chapter}
{\ifHeadingNumbered \HCode{<span class="titlemark">}\mw@seccntformat
\HeadingNumber \HCode{</span>}\fi}
\Configure{chapter}{}{}
{\NoFonts \ifvmode \IgnorePar\fi \EndP\IgnorePar
\HCode{<h2 class="chapterHead"\a:LRdir>}\TitleMark\HtmlParOff}
{\HCode{</h2>}\HtmlParOn \EndNoFonts \IgnoreIndent \par}
\Configure{chapterTITLE+}{\thesection\space#1}
>>>
\<mw rep/bk divs\><<<
\Configure{likechapter}{}{}
{\ifvmode \IgnorePar\fi
\EndP\IgnorePar\HCode{<h2 class="likechapterHead"\a:LRdir>}\HtmlParOff}
{\HCode{</h2>}\HtmlParOn \IgnoreIndent \par}
\Configure{likechapterTITLE+}{#1}
>>>
\<mwcls divs\><<<
\ConfigureMark{section}
{\ifHeadingNumbered \HCode{<span class="titlemark">}\mw@seccntformat
\HeadingNumber \HCode{</span>}\fi}
\Configure{section}{}{}
{\NoFonts \ifvmode \IgnorePar\fi \EndP\IgnorePar
\HCode{<h3 class="sectionHead"\a:LRdir>}\TitleMark\HtmlParOff}
{\HCode{</h3>}\HtmlParOn \EndNoFonts \ShowPar \IgnoreIndent \par}
\Configure{sectionTITLE+}{\thesection\space#1}
>>>
\<mwcls divs\><<<
\Configure{likesection}{}{}
{\ifvmode \IgnorePar\fi
\EndP\IgnorePar\HCode{<h3 class="likesectionHead"\a:LRdir>}\HtmlParOff}
{\HCode{</h3>}\HtmlParOn \IgnoreIndent \par}
\Configure{likesectionTITLE+}{#1}
>>>
\<mwcls divs\><<<
\Configure{paragraph}{}{}
{\par\ShowPar\IgnoreIndent\HCode{<span
class="paragraphHead"\a:LRdir>}\begingroup\bf}
{\endgroup\HCode{</span>}\IgnorePar}
\Css{.paragraphHead, .likeparagraphHead
{ margin-top:2em; font-weight: bold;}}
>>>
\<mwcls divs\><<<
\Configure{likeparagraph}{}{}
{\ShowPar\IgnoreIndent\HCode{<span class="likeparagraphHead"\a:LRdir>}}
{\HCode{</span>}\IgnorePar}
>>>
\<mwcls divs\><<<
\ConfigureMark{subparagraph}{}
\Configure{subparagraph}{}{}
{\par\ShowPar\IgnoreIndent
\HCode{<span class="subparagraphHead"\a:LRdir>}\begingroup\bf
\TitleMark\space}
{\endgroup\HCode{</span>}\IgnorePar}
\Css{.subparagraphHead, .likesubparagraphHead
{ font-weight: bold;}}
>>>
\<mwcls divs\><<<
\Configure{likesubparagraph}{}{}
{\par\ShowPar\IgnoreIndent
\HCode{<span class="likesubparagraphHead"\a:LRdir>}\begingroup\bf}
{\endgroup\HCode{</span>}\IgnorePar}
>>>
\<mwcls divs\><<<
\Configure{endpart}{likepart}
\Configure{endlikepart}{endpart}
\Configure{endsection}
{likesection,chapter,likechapter,appendix,part,likepart}
\Configure{endlikesection}
{section,chapter,likechapter,appendix,part,likepart}
\Configure{endsubsection}
{likesubsection,section,likesection,chapter,%
likechapter,appendix,part,likepart}
\Configure{endlikesubsection}
{subsection,section,likesection,chapter,%
likechapter,appendix,part,likepart}
\Configure{endsubsubsection}
{likesubsubsection,subsection,likesubsection,section,%
likesection,chapter,likechapter,appendix,part,likepart}
\Configure{endlikesubsubsection}
{subsubsection,subsection,likesubsection,section,%
likesection,chapter,likechapter,appendix,part,likepart}
\Configure{endparagraph}
{likeparagraph,subsubsection,likesubsubsection,subsection,%
likesubsection,section,%
likesection,chapter,likechapter,appendix,part,likepart}
\Configure{endlikeparagraph}
{paragraph,subsubsection,likesubsubsection,subsection,%
likesubsection,section,%
likesection,chapter,likechapter,appendix,part,likepart}
\Configure{endsubparagraph}
{likesubparagraph,likeparagraph,subsubsection,likesubsubsection,%
subsection,likesubsection,section,%
likesection,chapter,likechapter,appendix,part,likepart}
\Configure{endlikesubparagraph}
{subparagraph,likeparagraph,subsubsection,likesubsubsection,%
subsection,likesubsection,section,%
likesection,chapter,likechapter,appendix,part,likepart}
>>>
\<mwcls tocs\><<<
\ConfigureToc{part}
{\HCode{<div class="partToc" \a:LRdir><span class="mark">}}
{\HCode{</span>}. }
{}
{\HCode{</div>}}
\ConfigureToc{likepart}
{\HCode{<div class="likepartToc" \a:LRdir><span class="mark">}}
{\HCode{</span>}}
{}
{\HCode{</div>}}
\ConfigureToc{section}
{\HCode{<div class="sectionToc" \a:LRdir><span class="mark">}}
{\HCode{</span>}. }
{}
{\HCode{</div>}}
\ConfigureToc{likesection}
{\HCode{<div class="likesectionToc" \a:LRdir><span class="mark">}}
{\HCode{</span>}}
{}
{\HCode{</div>}}
\ConfigureToc{subsection}
{\HCode{<div class="subsectionToc" \a:LRdir><span class="mark">}}
{\HCode{</span>}. }
{}
{\HCode{</div>}}
\ConfigureToc{likesubsection}
{\HCode{<div class="likesubsectionToc" \a:LRdir><span class="mark">}}
{\HCode{</span>}}
{}
{\HCode{</div>}}
\ConfigureToc{subsubsection}
{\HCode{<div class="subsubsectionToc" \a:LRdir><span class="mark">}}
{\HCode{</span>}. }
{}
{\HCode{</div>}}
\ConfigureToc{likesubsubsection}
{\HCode{<div class="likesubsubsectionToc" \a:LRdir><span class="mark">}}
{\HCode{</span>}}
{}
{\HCode{</div>}}
\ConfigureToc{paragraph}
{\HCode{<div class="paragraphToc" \a:LRdir><span class="mark">}}
{\HCode{</span>}. }
{}
{\HCode{</div>}}
\ConfigureToc{likeparagraph}
{\HCode{<div class="likeparagraphToc" \a:LRdir><span class="mark">}}
{\HCode{</span>}}
{}
{\HCode{</div>}}
\ConfigureToc{subparagraph}
{\HCode{<div class="subparagraphToc" \a:LRdir><span class="mark">}}
{\HCode{</span>}. }
{}
{\HCode{</div>}}
\ConfigureToc{likesubparagraph}
{\HCode{<div class="likesubparagraphToc" \a:LRdir><span class="mark">}}
{\HCode{</span>}}
{}
{\HCode{</div>}}
>>>
\<mw rep/bk tocs\><<<
\ConfigureToc{chapter}
{\HCode{<div class="chapterToc" \a:LRdir><span class="mark">}}
{\HCode{</span>}. }
{}
{\HCode{</div>}}
\ConfigureToc{likechapter}
{\HCode{<div class="likechapterToc" \a:LRdir><span class="mark">}}
{\HCode{</span>}}
{}
{\HCode{</div>}}
>>>
\<mwcls tocs\><<<
\Css{.partToc a, .partToc, .likepartToc a, .likepartToc
{line-height: 200\%; font-weight:bold; font-size:110\%;}}
\Css{.partToc, .likepartToc{text-align:center;margin-bottom:0.25em;
margin-top:0.25em;}}
>>>
\<mwart tocs\><<<
\Css{.sectionToc, .likesectionToc {white-space: nowrap;}}
\Css{.subsectionToc, .likesubsectionToc
{margin-left:1em; white-space: nowrap;}}
\Css{.subsubsectionToc, .likesubsubsectionToc
{margin-left:2em; white-space: nowrap;}}
\Css{.paragraphToc, .likeparagraphToc
{margin-left:3em; white-space: nowrap;}}
\Css{.subparagraphToc, .likesubparagraphToc
{margin-left:4em; white-space: nowrap;}}
>>>
\<mw rep/bk tocs\><<<
\Css{.chapterToc, .likechapterToc {white-space: nowrap;}}
\Css{.sectionToc, .likesectionToc
{margin-left:1em; white-space: nowrap;}}
\Css{.subsectionToc, .likesubsectionToc
{margin-left:2em; white-space: nowrap;}}
\Css{.subsubsectionToc, .likesubsubsectionToc
{margin-left:3em; white-space: nowrap;}}
\Css{.paragraphToc, .likeparagraphToc
{margin-left:4em; white-space: nowrap;}}
\Css{.subparagraphToc, .likesubparagraphToc
{margin-left:5em; white-space: nowrap;}}
>>>
%%%%%%%%%%%%%%%%%%%%%
\section{texinfo}
%%%%%%%%%%%%%%%%%%%%%
\<configure html4 texinfo\><<<
\Configure{group}
{\IgnorePar\EndP\HCode{<div class="group">}}
{\ifvmode \IgnorePar\fi \EndP\HCode{</div>}}
\Css{div.obeylines-v div.group p { margin-top:0; margin-bottom:0; }}
\Configure{multitable}
{\IgnorePar \EndP\HCode{<table\Hnewline class="multitable">}\IgnorePar}
{\HCode{</table>}}
{\HCode{<tr>}}
{\HCode{</tr>}}
{\HCode{<td \Hnewline class="multitabl\the\colcount">}}
{\IgnorePar \EndP\HCode{</td>}}
\Css{.multitable td{padding-left:1em; padding-right:1em;}}
>>>
\<configure html4 texinfo\><<<
\Configure{example}
{\IgnorePar\EndP\HCode{<div class="example">}}
{\ifvmode \IgnorePar\fi \EndP\HCode{</div>}}
\Css{div.example { margin-left:2em; }}
\Configure{smallexample}
{\IgnorePar\EndP\HCode{<div class="smallexample">}}
{\ifvmode \IgnorePar\fi \EndP\HCode{</div>}}
\Css{div.smallexample { margin-left:2em; }}
>>>
\<configure html4 texinfo\><<<
\ConfigureMark{chapter}{\the\chapno}
\Configure{chapter}{}{}
{\IgnorePar\EndP\HCode{<h2 class="chapterHead"\a:LRdir>}\TitleMark\space}
{\HCode{</h2>}\IgnoreIndent\par}
\ConfigureMark{appendix}{\appendixletter}
\Configure{appendix}{}{}
{\IgnorePar\EndP
\HCode{<h2 class="appendixHead"\a:LRdir>}Appendix \TitleMark\space}
{\HCode{</h2>}\IgnoreIndent\par}
\Configure{unnumbered}{}{}
{\IgnorePar\EndP\HCode{<h2 class="unnumberedHead"\a:LRdir>}}
{\HCode{</h2>}\IgnoreIndent\par}
\ConfigureMark{numberedsec}{\the\chapno.\the\secno}
\Configure{numberedsec}{}{}
{\IgnorePar\EndP\HCode{<h3
class="numberedsecHead"\a:LRdir>}\TitleMark\space}
{\HCode{</h3>}\IgnoreIndent\par}
\ConfigureMark{appendixsec}{\appendixletter.\the\secno}
\Configure{appendixsec}{}{}
{\IgnorePar\EndP\HCode{<h3
class="appendixsecHead"\a:LRdir>}\TitleMark\space}
{\HCode{</h3>}\IgnoreIndent\par}
\Configure{unnumberedsec}{}{}
{\IgnorePar\EndP\HCode{<h3 class="unnumberedsecHead"\a:LRdir>}}
{\HCode{</h3>}\IgnoreIndent\par}
\ConfigureMark{numberedsubsec}{\the\chapno.\the\secno .\the\subsecno}
\Configure{numberedsubsec}{}{}
{\IgnorePar\EndP\HCode{<h4
class="numberedsubsecHead"\a:LRdir>}\TitleMark\space}
{\HCode{</h4>}\IgnoreIndent\par}
\ConfigureMark{appendixsubsec}{\appendixletter .\the\secno.\the\subsecno}
\Configure{appendixsubsec}{}{}
{\IgnorePar\EndP\HCode{<h4
class="appendixsubsecHead"\a:LRdir>}\TitleMark\space}
{\HCode{</h4>}\IgnoreIndent\par}
\ConfigureMark{appendixsubsec}{\appendixletter.\the\secno
.\the\subsecno}
\Configure{appendixsubsec}{}{}
{\IgnorePar\EndP\HCode{<h4
class="appendixsubsecHead"\a:LRdir>}\TitleMark\space}
{\HCode{</h4>}\IgnoreIndent\par}
\Configure{unnumberedsubsec}{}{}
{\IgnorePar\EndP\HCode{<h4 class="unnumberedsubsecHead"\a:LRdir>}}
{\HCode{</h4>}\IgnoreIndent\par}
\ConfigureMark{numberedsubsubsec}{\the\chapno.\the\secno
.\the\subsecno.\the\subsubsecno}
\Configure{numberedsubsubsec}{}{}
{\IgnorePar\EndP\HCode{<h5
class="numberedsubsubsecHead"\a:LRdir>}\TitleMark\space}
{\HCode{</h5>}\IgnoreIndent\par}
\ConfigureMark{appendixsubsubsec}{\appendixletter
.\the\secno.\the\subsecno.\the\subsubsecno}
\Configure{appendixsubsubsec}{}{}
{\IgnorePar\EndP\HCode{<h5
class="appendixsubsubsecHead"\a:LRdir>}\TitleMark\space}
{\HCode{</h5>}\IgnoreIndent\par}
\ConfigureMark{appendixsubsubsec}{\appendixletter.\the\secno
.\the\subsecno.\the\subsubsecno}
\Configure{appendixsubsubsec}{}{}
{\IgnorePar\EndP\HCode{<h5
class="appendixsubsubsecHead"\a:LRdir>}\TitleMark\space}
{\HCode{</h5>}\IgnoreIndent\par}
\Configure{unnumberedsubsubsec}{}{}
{\IgnorePar\EndP\HCode{<h5 class="unnumberedsubsubsecHead"\a:LRdir>}}
{\HCode{</h5>}\IgnoreIndent\par}
>>>
\<configure html4 texinfo\><<<
\ConfigureToc{chapter}
{\Tg<span class="chapterToc" \a:LRdir>}{ }{}{\Tg</span>\expandafter\Tg<br />}
\ConfigureToc{appendix}
{\Tg<span class="appendixToc" \a:LRdir>}{ }{}{\Tg</span>\expandafter\Tg<br />}
\ConfigureToc{unnumbered}
{\Tg<span class="unnumberedToc" \a:LRdir>}{ }{}{\Tg</span>\expandafter\Tg<br />}
\ConfigureToc{numberedsec}
{\Tg<span class="numberedsecToc" \a:LRdir>}{ }{}{\Tg</span>\expandafter\Tg<br />}
\ConfigureToc{appendixsec}
{\Tg<span class="appendixsecToc" \a:LRdir>}{ }{}{\Tg</span>\expandafter\Tg<br />}
\ConfigureToc{unnumberedsec}
{\Tg<span class="unnumberedsecToc" \a:LRdir>}{ }{}{\Tg</span>\expandafter\Tg<br />}
\ConfigureToc{numberedsubsec}
{\Tg<span class="numberedsubsecToc" \a:LRdir>}{ }{}{\Tg</span>\expandafter\Tg<br />}
\ConfigureToc{appendixsubsec}
{\Tg<span class="appendixsubsecToc" \a:LRdir>}{ }{}{\Tg</span>\expandafter\Tg<br />}
\ConfigureToc{appendixsubsec}
{\Tg<span class="appendixsubsecToc" \a:LRdir>}{ }{}{\Tg</span>\expandafter\Tg<br />}
\ConfigureToc{unnumberedsubsec}
{\Tg<span class="unnumberedsubsecToc" \a:LRdir>}{ }{}{\Tg</span>\expandafter\Tg<br />}
\ConfigureToc{numberedsubsubsec}
{\Tg<span class="numberedsubsubsecToc" \a:LRdir>}{ }{}{\Tg</span>\expandafter\Tg<br />}
\ConfigureToc{appendixsubsubsec}
{\Tg<span class="appendixsubsubsecToc" \a:LRdir>}{ }{}{\Tg</span>\expandafter\Tg<br />}
\ConfigureToc{appendixsubsubsec}
{\Tg<span class="appendixsubsubsecToc" \a:LRdir>}{ }{}{\Tg</span>\expandafter\Tg<br />}
\ConfigureToc{unnumberedsubsubsec}
{\Tg<span class="unnumberedsubsubsecToc" \a:LRdir>}{ }{}{\Tg</span>\expandafter\Tg<br />}
>>>
\<configure html4 texinfo\><<<
\Configure{enumerate}
{\IgnorePar\EndP\HCode{<ol\space class="enumerate"\Hnewline>}}
{\IgnorePar\EndP\HCode{</li></ol>}\ShowPar}
{\IgnorePar\EndP\ifnum \itemno>1 \Tg</li>\fi\DeleteMark}
{\HCode{<li class="enumerate">}|<list par|>}
\Configure{itemize}
{\IgnorePar\EndP\HCode{<ul\space\a:LRdir class="itemize"\Hnewline>}}
{\IgnorePar\EndP\HCode{</li></ul>}\ShowPar}
{\IgnorePar\EndP\ifnum \itemno>1 \Tg</li>\fi\DeleteMark}
{\HCode{<li class="itemize">}|<list par|>}
\Configure{table}%
{\IgnorePar\EndP\HCode{<dl \a:LRdir class="description">}%
|<save end:itm|>\global\let\end:itm|=\empty}
{|<recall end:itm|>\IgnorePar\EndP\HCode{</dd></dl>}}
{\IgnorePar\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
class="description">}\bgroup \bf}
{\egroup\IgnorePar\EndP\HCode{</dt><dd\Hnewline class="description">}|<list par|>}
>>>
\<configure html4 texinfo\><<<
\Configure{titlepage}
{\IgnorePar\EndP\HCode{<div class="titlepage">}}
{\IgnorePar\EndP\HCode{</div>}}
\Configure{title}
{\IgnorePar\EndP\HCode{<div class="title">}}
{\IgnorePar\EndP\HCode{</div>}}
\Configure{subtitle}
{\IgnorePar\EndP\HCode{<div class="subtitle">}}
{\IgnorePar\EndP\HCode{</div>}}
\Configure{author}
{\IgnorePar\EndP\HCode{<div class="author">}}
{\IgnorePar\EndP\HCode{</div>}}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Accents, encodings, and Languages}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Outline}
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Link[
http://lycos.basistech.com/info/standards/ISO-8859.txt]{}{}iso
text\EndLink,
\Link[
http://titus.uni-frankfurt.de/unicode/iso8859/iso8859.htm]{}{}titus glyphs\EndLink,
satto glyphs:
\Link[
http://www.satto.co.yu/podrska/iso/iso8859-1.htm]{}{}1\EndLink{}
\Link[
http://www.satto.co.yu/podrska/iso/iso8859-2.htm]{}{}2\EndLink{} ...,
microsoft glyphs:
\Link[
http://www.microsoft.com/globaldev/reference/iso/28591.htm]{}{}1\EndLink{}
\Link[
http://www.microsoft.com/globaldev/reference/iso/28592.htm]{}{}2\EndLink{} ...
\<configure html4 latex\><<<
\ifOption{charset=iso-8859-7}
{|<T1 greek ldf iso-8859-7|>}
{}
\:CheckOption{new-accents} \if:Option
\else
|<T1 old iso-8859-1 accents|>
\fi
\let\^^_|=\v
>>>
\<old plain,latex accents\><<<
|<old iso-8859-1 accents|>
|<OT1 old iso-8859-1 accents|>
|<optional iso-8859-2 accents|>
>>>
\<babel accents\><<<
|<optional iso-8859-2 accents|>
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Group Configurations}
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%
\section{8859-1}
%%%%%%%%%%%%%%%%%%%%
\<acute codes\><<<
A{00C1}C{0106}D{010E}E{00C9}G{01F4}I{00CD}L{0139}N{0143}%
O{00D3}R{0154}S{015A}U{00DA}Y{00DD}Z{0179}a{00E1}c{0107}%
d{010F}e{00E9}g{01F5}i{00ED}l{013A}n{0144}o{00F3}r{0155}%
s{015B}u{00FA}y{00FD}z{017A}j{FFFD}J{FFDD}\i{00ED}\j{FFFD}%
>>>
\<add acute codes\><<<
{A}{\add:acc{00C1}}
{C}{\add:acc{0106}}
{D}{\add:acc{010E}}
{E}{\add:acc{00C9}}
{G}{\add:acc{01F4}}
{I}{\add:acc{00CD}}
{L}{\add:acc{0139}}
{N}{\add:acc{0143}}
{O}{\add:acc{00D3}}
{R}{\add:acc{0154}}
{S}{\add:acc{015A}}
{U}{\add:acc{00DA}}
{Y}{\add:acc{00DD}}
{Z}{\add:acc{0179}}
{a}{\add:acc{00E1}}
{c}{\add:acc{0107}}
{d}{\add:acc{010F}}
{e}{\add:acc{00E9}}
{g}{\add:acc{01F5}}
{i}{\add:acc{00ED}}
{l}{\add:acc{013A}}
{n}{\add:acc{0144}}
{o}{\add:acc{00F3}}
{r}{\add:acc{0155}}
{s}{\add:acc{015B}}
{u}{\add:acc{00FA}}
{y}{\add:acc{00FD}}
{z}{\add:acc{017A}}
{j}{\add:acc{FFFD}}
{J}{\add:acc{FFDD}}
{\i}{\add:acc{00ED}}
{\j}{\add:acc{FFFD}}
>>>
\<double acute code\><<<
o{0151}O{0150}U{0170}u{0171}%
>>>
\<add double acute code\><<<
{o}{\add:acc{0151}}
{O}{\add:acc{0150}}
{U}{\add:acc{0170}}
{u}{\add:acc{0171}}
>>>
\<cedilla codes\><<<
K{0136}k{0137}L{013B}l{013C}N{0145}n{0146}%
R{0156}r{0157}S{015E}s{015F}T{0162}t{0163}%
E{0228}e{0229}D{1E10}d{1E11}H{1E28}h{1E29}%
C{00C7}c{00E7}G{0122}g{0123}%
>>>
\<add cedilla codes\><<<
{K}{\add:acc{0136}}
{k}{\add:acc{0137}}
{L}{\add:acc{013B}}
{l}{\add:acc{013C}}
{N}{\add:acc{0145}}
{n}{\add:acc{0146}}
{R}{\add:acc{0156}}
{r}{\add:acc{0157}}
{S}{\add:acc{015E}}
{s}{\add:acc{015F}}
{T}{\add:acc{0162}}
{t}{\add:acc{0163}}
{E}{\add:acc{0228}}
{e}{\add:acc{0229}}
{D}{\add:acc{1E10}}
{d}{\add:acc{1E11}}
{H}{\add:acc{1E28}}
{h}{\add:acc{1E29}}
{C}{\add:acc{00C7}}
{c}{\add:acc{00E7}}
{G}{\add:acc{0122}}
{g}{\add:acc{0123}}
>>>
\<dot above codes\><<<
C{010A}c{010B}E{0116}e{0117}G{0120}g{0121}%
I{0130}Z{017B}z{017C}A{0226}a{0227}O{022E}%
o{022F}B{1E02}b{1E03}D{1E0A}d{1E0B}F{1E1E}%
f{1E1F}H{1E22}h{1E23}M{1E40}m{1E41}N{1E44}%
n{1E45}P{1E56}p{1E57}R{1E58}r{1E59}S{1E60}%
s{1E61}T{1E6A}t{1E6B}W{1E86}w{1E87}X{1E8A}%
x{1E8B}Y{1E8E}y{1E8F}%
>>>
\<add dot above codes\><<<
{C}{\add:acc{010A}}
{c}{\add:acc{010B}}
{E}{\add:acc{0116}}
{e}{\add:acc{0117}}
{G}{\add:acc{0120}}
{g}{\add:acc{0121}}
{I}{\add:acc{0130}}
{Z}{\add:acc{017B}}
{z}{\add:acc{017C}}
{A}{\add:acc{0226}}
{a}{\add:acc{0227}}
{O}{\add:acc{022E}}
{o}{\add:acc{022F}}
{B}{\add:acc{1E02}}
{b}{\add:acc{1E03}}
{D}{\add:acc{1E0A}}
{d}{\add:acc{1E0B}}
{F}{\add:acc{1E1E}}
{f}{\add:acc{1E1F}}
{H}{\add:acc{1E22}}
{h}{\add:acc{1E23}}
{M}{\add:acc{1E40}}
{m}{\add:acc{1E41}}
{N}{\add:acc{1E44}}
{n}{\add:acc{1E45}}
{P}{\add:acc{1E56}}
{p}{\add:acc{1E57}}
{R}{\add:acc{1E58}}
{r}{\add:acc{1E59}}
{S}{\add:acc{1E60}}
{s}{\add:acc{1E61}}
{T}{\add:acc{1E6A}}
{t}{\add:acc{1E6B}}
{W}{\add:acc{1E86}}
{w}{\add:acc{1E87}}
{X}{\add:acc{1E8A}}
{x}{\add:acc{1E8B}}
{Y}{\add:acc{1E8E}}
{y}{\add:acc{1E8F}}
>>>
\<breve codes\><<<
g{011F}I{012C}i{012D}O{014E}o{014F}%
U{016C}u{016D}A{0102}a{0103}E{0114}%
e{0115}G{011E}\i{012D}%
>>>
\<add breve codes\><<<
{g}{\add:acc{011F}}
{I}{\add:acc{012C}}
{i}{\add:acc{012D}}
{O}{\add:acc{014E}}
{o}{\add:acc{014F}}
{U}{\add:acc{016C}}
{u}{\add:acc{016D}}
{A}{\add:acc{0102}}
{a}{\add:acc{0103}}
{E}{\add:acc{0114}}
{e}{\add:acc{0115}}
{G}{\add:acc{011E}}
{\i}{\add:acc{012D}}
{y}{y\add:acc{0306}}
>>>
\<caron codes\><<<
C{010C}c{010D}D{010E}d{010F}%
E{011A}e{011B}L{013D}l{013E}N{0147}n{0148}R{0158}r{0159}%
S{0160}s{0161}T{0164}t{0165}Z{017D}z{017E}A{01CD}a{01CE}I{01CF}%
i{01D0}O{01D1}o{01D2}U{01D3}u{01D4}G{01E6}g{01E7}K{01E8}k{01E9}%
j{01F0}H{021E}h{021F}\i{01D0}\j{01F0}%
>>>
\<add caron codes\><<<
{C}{\add:acc{010C}}
{c}{\add:acc{010D}}
{D}{\add:acc{010E}}
{d}{\add:acc{010F}}
{E}{\add:acc{011A}}
{e}{\add:acc{011B}}
{L}{\add:acc{013D}}
{l}{\add:acc{013E}}
{N}{\add:acc{0147}}
{n}{\add:acc{0148}}
{R}{\add:acc{0158}}
{r}{\add:acc{0159}}
{S}{\add:acc{0160}}
{s}{\add:acc{0161}}
{T}{\add:acc{0164}}
{t}{\add:acc{0165}}
{Z}{\add:acc{017D}}
{z}{\add:acc{017E}}
{A}{\add:acc{01CD}}
{a}{\add:acc{01CE}}
{I}{\add:acc{01CF}}
{i}{\add:acc{01D0}}
{O}{\add:acc{01D1}}
{o}{\add:acc{01D2}}
{U}{\add:acc{01D3}}
{u}{\add:acc{01D4}}
{G}{\add:acc{01E6}}
{g}{\add:acc{01E7}}
{K}{\add:acc{01E8}}
{k}{\add:acc{01E9}}
{j}{\add:acc{01F0}}
{H}{\add:acc{021E}}
{h}{\add:acc{021F}}
{\i}{\add:acc{01D0}}
{\j}{\add:acc{01F0}}
>>>
%
\<ring codes\><<<
A{00C5}a{00E5}U{016E}u{016F}%
>>>
\<add ring codes\><<<
{A}{\add:acc{00C5}}
{a}{\add:acc{00E5}}
{U}{\add:acc{016E}}
{u}{\add:acc{016F}}
>>>
\<diaeresis codes\><<<
H{1E26}h{1E27}W{1E84}w{1E85}X{1E8C}x{1E8D}%
t{1E97}A{00C4}E{00CB}I{00CF}O{00D6}U{00DC}%
a{00E4}e{00EB}i{00EF}o{00F6}u{00FC}y{00FF}%
Y{0178}\i{00EF}%
>>>
\<add diaeresis codes\><<<
{H}{\add:acc{1E26}}
{h}{\add:acc{1E27}}
{W}{\add:acc{1E84}}
{w}{\add:acc{1E85}}
{X}{\add:acc{1E8C}}
{x}{\add:acc{1E8D}}
{t}{\add:acc{1E97}}
{A}{\add:acc{00C4}}
{E}{\add:acc{00CB}}
{I}{\add:acc{00CF}}
{O}{\add:acc{00D6}}
{U}{\add:acc{00DC}}
{a}{\add:acc{00E4}}
{e}{\add:acc{00EB}}
{i}{\add:acc{00EF}}
{o}{\add:acc{00F6}}
{u}{\add:acc{00FC}}
{y}{\add:acc{00FF}}
{Y}{\add:acc{0178}}
{\i}{\add:acc{00EF}}
{m}{m\add:acc{0308}}
>>>
\<circumflex codes\><<<
A{00C2}E{00CA}I{00CE}O{00D4}U{00DB}a{00E2}e{00EA}%
i{00EE}o{00F4}u{00FB}C{0108}c{0109}G{011C}g{011D}%
H{0124}h{0125}J{0134}j{0135}S{015C}s{015D}W{0174}%
w{0175}Y{0176}y{0177}Z{1E90}z{1E91}\i{00EE}\j{0135}%
>>>
\<add circumflex codes\><<<
{A}{\add:acc{00C2}}
{E}{\add:acc{00CA}}
{I}{\add:acc{00CE}}
{O}{\add:acc{00D4}}
{U}{\add:acc{00DB}}
{a}{\add:acc{00E2}}
{e}{\add:acc{00EA}}
{i}{\add:acc{00EE}}
{o}{\add:acc{00F4}}
{u}{\add:acc{00FB}}
{C}{\add:acc{0108}}
{c}{\add:acc{0109}}
{G}{\add:acc{011C}}
{g}{\add:acc{011D}}
{H}{\add:acc{0124}}
{h}{\add:acc{0125}}
{J}{\add:acc{0134}}
{j}{\add:acc{0135}}
{S}{\add:acc{015C}}
{s}{\add:acc{015D}}
{W}{\add:acc{0174}}
{w}{\add:acc{0175}}
{Y}{\add:acc{0176}}
{y}{\add:acc{0177}}
{Z}{\add:acc{1E90}}
{z}{\add:acc{1E91}}
{\i}{\add:acc{00EE}}
{\j}{\add:acc{0135}}
>>>
\<grave codes\><<<
A{00C0}E{00C8}I{00CC}N{01F8}O{00D2}U{00D9}W{1E80}%
Y{1EF2}a{00E0}e{00E8}i{00EC}n{01F9}o{00F2}u{00F9}%
w{1E81}y{1EF3}\i{00EC}%
>>>
\<add grave codes\><<<
{A}{\add:acc{00C0}}
{E}{\add:acc{00C8}}
{I}{\add:acc{00CC}}
{N}{\add:acc{01F8}}
{O}{\add:acc{00D2}}
{U}{\add:acc{00D9}}
{W}{\add:acc{1E80}}
{Y}{\add:acc{1EF2}}
{a}{\add:acc{00E0}}
{e}{\add:acc{00E8}}
{i}{\add:acc{00EC}}
{n}{\add:acc{01F9}}
{o}{\add:acc{00F2}}
{u}{\add:acc{00F9}}
{w}{\add:acc{1E81}}
{y}{\add:acc{1EF3}}
{\i}{\add:acc{00EC}}
>>>
\<tilde codes\><<<
A{00C3}N{00D1}O{00D5}a{00E3}n{00F1}o{00F5}I{0128}%
i{0129}U{0168}u{0169}V{1E7C}v{1E7D}E{1EBC}e{1EBD}%
Y{1EF8}y{1EF9}\i{0129}%
>>>
\<add tilde codes\><<<
{A}{\add:acc{00C3}}
{N}{\add:acc{00D1}}
{O}{\add:acc{00D5}}
{a}{\add:acc{00E3}}
{n}{\add:acc{00F1}}
{o}{\add:acc{00F5}}
{I}{\add:acc{0128}}
{i}{\add:acc{0129}}
{U}{\add:acc{0168}}
{u}{\add:acc{0169}}
{V}{\add:acc{1E7C}}
{v}{\add:acc{1E7D}}
{E}{\add:acc{1EBC}}
{e}{\add:acc{1EBD}}
{Y}{\add:acc{1EF8}}
{y}{\add:acc{1EF9}}
{\i}{\add:acc{0129}}
>>>
\<vec iso-8859-1\><<<
>>>
\<old iso-8859-1 accents\><<<
\Configure{accent}\widetilde\widetilde{{}{}}
{\a:accents{widetilde}{#1}} {\b:accents{widetilde}{#1}{#2}}
\Configure{accent}\widehat\widehat{{}{}}
{\a:accents{widehat}{#1}} {\b:accents{widehat}{#1}{#2}}
>>>
\verb'\vec', \verb'\widetilde', and \verb'\widehat' are for math mode.
\verb'\b', \verb'\c', \verb'\d', \verb'\t', and \verb'\H' are for text mode.
It wasn't used, but why?
\<bar below codes\><<<
B{1E06}b{1E07}%
D{1E0E}d{1E0F}K{1E34}k{1E35}L{1E3A}l{1E3B}N{1E48}n{1E49}%
R{1E5E}r{1E5F}T{1E6E}t{1E6F}Z{1E94}z{1E95}h{1E96}%
>>>
\<dot below codes\><<<
A{1EA0}a{1Ea1}B{1E04}b{1E05}D{1E0C}d{1E0D}%
E{1EB8}e{1EB9}H{1E24}h{1E25}I{1ECA}i{1ECB}%
K{1E32}k{1E33}L{1E36}l{1E37}M{1E42}m{1E43}%
N{1E46}n{1E47}O{1ECC}o{1ECD}R{1E5A}r{1E5B}%
S{1E62}s{1E63}T{1E6C}t{1E6D}U{1EE4}u{1EE5}%
V{1E7E}v{1E7F}W{1E88}w{1E89}Y{1EF4}y{1EF5}%
>>>
\<macron codes \><<<
A{0100}a{0101}E{0112}%
e{0113}I{012A}i{012B}O{014C}o{014D}U{016A}u{016B}Y{0232}%
y{0233}G{1E20}g{1E21}%
>>>
\<hungarian umlaut codes\><<<
O{0150}o{0151}U{0170}u{0171}%
>>>
%%%%%%%%%%%%%%%%%%%%
\section{T1 8859-1}
%%%%%%%%%%%%%%%%%%%%
\<T1 old iso-8859-1 accents\><<<
\expand:after{\Configure{accent}}\csname T1\string\`\expandafter\endcsname
\csname T1\string\`\endcsname{|<grave codes|>{}{}}
{\a:accents{grave}{#1}} {\b:accents{grave}{#1}{#2}}
\expand:after{\Configure{accent}}\csname T1\string\'\expandafter\endcsname
\csname T1\string\'\endcsname{|<acute codes|>{}{}}
{\a:accents{acute}{#1}} {\b:accents{acute}{#1}{#2}}
\expand:after{\Configure{accent}}\csname T1\string\^\expandafter\endcsname
\csname T1\string\^\endcsname{|<circumflex codes|>{}{}}
{\a:accents{circ}{#1}} {\b:accents{circ}{#1}{#2}}
\expand:after{\Configure{accent}}\csname T1\string\~\expandafter\endcsname
\csname T1\string\~\endcsname{|<tilde codes|>{}{}}
{\a:accents{tilde}{#1}} {\b:accents{tilde}{#1}{#2}}
\expand:after{\Configure{accent}}\csname T1\string\"\expandafter\endcsname
\csname T1\string\"\endcsname{|<diaeresis codes|>{}{34}}
{\a:accents{uml}{#1}} {\b:accents{uml}{#1}{#2}}
\expand:after{\Configure{accent}}\csname T1\string\r\endcsname
\mathring{|<ring codes|>{}{}}
{\a:accents{ring}{#1}} {\b:accents{ring}{#1}{#2}}
>>>
\<T1 old iso-8859-1 accents\><<<
\expand:after{\expand:after{\Configure{accent}}%
\csname T1\string\c\endcsname}%
\csname T1\string\c\endcsname{|<cedilla codes|>{}{}}
{\a:accents{cedil}{#1}} {\b:accents{cedil}{#1}{#2}}
\expand:after{\expand:after{\Configure{accent}}%
\csname T1\string\t\endcsname}%
\csname T1\string\t\endcsname{{}{}}
{\a:accents{udot}{#1}} {\b:accents{udot}{#1}{#2}}
\expand:after{\expand:after{\Configure{accent}}%
\csname T1\string\H\endcsname}%
\csname T1\string\H\endcsname{|<double acute code|>{}{}}
{\a:accents{Huml}{#1}} {\b:accents{Huml}{#1}{#2}}
\expand:after{\expand:after{\Configure{accent}}%
\csname T1\string\b\endcsname}%
\csname T1\string\b\endcsname{|<bar below codes|>{}{}}
{\a:accents{b}{#1}} {\b:accents{b}{#1}{#2}}
\expand:after{\expand:after{\Configure{accent}}%
\csname T1\string\d\endcsname}%
\csname T1\string\d\endcsname{|<dot below codes|>{}{}}
{\a:accents{d}{#1}} {\b:accents{d}{#1}{#2}}
>>>
\<T1 old iso-8859-1 accents\><<<
\expand:after{\Configure{accent}}\csname T1\string\.\expandafter\endcsname
\csname T1\string\.\endcsname
{|<dot above codes|>{}{}}
{\a:accents{dot}{#1}} {\b:accents{dot}{#1}{#2}}
\expand:after{\Configure{accent}}\csname T1\string\u\expandafter\endcsname
\csname T1\string\u\endcsname
{|<breve codes|>{}{}}
{\a:accents{breve}{#1}} {\b:accents{breve}{#1}{#2}}
\expand:after{\Configure{accent}}\csname T1\string\vec\expandafter\endcsname
\csname T1\string\vec\endcsname
{|<vec iso-8859-1|>{}{}}
{\a:accents{vec}{#1}} {\b:accents{vec}{#1}{#2}}
\expand:after{\Configure{accent}}\csname T1\string\v\expandafter\endcsname
\csname T1\string\v\endcsname
{|<caron codes|>{}{}}
{\a:accents{check}{#1}} {\b:accents{check}{#1}{#2}}
\expand:after{\Configure{accent}}\csname T1\string\=\expandafter\endcsname
\csname T1\string\=\endcsname
{|<macron codes|>{}{}}
{\a:accents{bar}{#1}} {\b:accents{bar}{#1}{#2}}
>>>
%%%%%%%%%%%%%%%%%%%%
\section{T1 on Empty Base}
%%%%%%%%%%%%%%%%%%%%
\<latex accents\><<<
\Configure{add accent}{T1:2}
{}{\ht:special{t4ht@+\string&\#x005E;}x}
{}{}
>>>
%%%%%%%%%%%%%%%%%%%%
\section{OT1 8859-1}
%%%%%%%%%%%%%%%%%%%%
\<OT1 old iso-8859-1 accents\><<<
\expand:after{\Configure{accent}}\csname OT1\string\`\endcsname
\grave{|<grave codes|>{}{}}
{\a:accents{grave}{#1}} {\b:accents{grave}{#1}{#2}}
\expand:after{\Configure{accent}}\csname OT1\string\'\endcsname
\acute{|<acute codes|>{}{}}
{\a:accents{acute}{#1}} {\b:accents{acute}{#1}{#2}}
\expand:after{\Configure{accent}}\csname OT1\string\^\endcsname
\hat{|<circumflex codes|>{}{}}
{\a:accents{circ}{#1}} {\b:accents{circ}{#1}{#2}}
\expand:after{\Configure{accent}}\csname OT1\string\~\endcsname
\tilde{|<tilde codes|>{}{}}
{\a:accents{tilde}{#1}} {\b:accents{tilde}{#1}{#2}}
\expand:after{\Configure{accent}}\csname
OT1\string\"\expandafter\endcsname
\csname OT1\string\"\endcsname{|<diaeresis codes|>{}{34}}
{\a:accents{uml}{#1}} {\b:accents{uml}{#1}{#2}}
\Configure{accent}\ddot\ddot{|<diaeresis codes|>{}{34}}
{\a:accents{uml}{#1}} {\b:accents{uml}{#1}{#2}}
\expand:after{\Configure{accent}}\csname OT1\string\r\endcsname
\mathring{|<ring codes|>{}{}}
{\a:accents{ring}{#1}} {\b:accents{ring}{#1}{#2}}
>>>
The following are also placed under accents configuration.
\<OT1 old iso-8859-1 accents\><<<
\expand:after{\expand:after{\Configure{accent}}%
\csname OT1\string\c\endcsname}%
\csname OT1\string\c\endcsname{|<cedilla codes|>{}{}}
{\a:accents{cedil}{#1}} {\b:accents{cedil}{#1}{#2}}
\expand:after{\expand:after{\Configure{accent}}%
\csname OT1\string\t\endcsname}%
\csname OT1\string\t\endcsname{{}{}}
{\a:accents{udot}{#1}} {\b:accents{udot}{#1}{#2}}
\expand:after{\expand:after{\Configure{accent}}%
\csname OT1\string\H\endcsname}%
\csname OT1\string\H\endcsname{|<double acute code|>{}{}}
{\a:accents{Huml}{#1}} {\b:accents{Huml}{#1}{#2}}
\expand:after{\expand:after{\Configure{accent}}%
\csname OT1\string\b\endcsname}%
\csname OT1\string\b\endcsname{|<bar below codes|>{}{}}
{\a:accents{b}{#1}} {\b:accents{b}{#1}{#2}}
\expand:after{\expand:after{\Configure{accent}}%
\csname OT1\string\d\endcsname}%
\csname OT1\string\d\endcsname{|<dot below codes|>{}{}}
{\a:accents{d}{#1}} {\b:accents{d}{#1}{#2}}
>>>
The following originally have been defined to be parameter-less.
\<OT1 old iso-8859-1 accents\><<<
\expand:after{\Configure{accent}}\csname OT1\string\.\endcsname
\dot{|<dot above codes|>{}{}}
{\a:accents{dot}{#1}} {\b:accents{dot}{#1}{#2}}
\expand:after{\Configure{accent}}\csname OT1\string\u\endcsname
\breve{|<breve codes|>{}{}}
{\a:accents{breve}{#1}} {\b:accents{breve}{#1}{#2}}
\expand:after{\Configure{accent}}\csname OT1\string\vec\endcsname
\vec{|<vec iso-8859-1|>{}{}}
{\a:accents{vec}{#1}} {\b:accents{vec}{#1}{#2}}
\expand:after{\Configure{accent}}\csname OT1\string\v\endcsname
\check{|<caron codes|>{}{}}
{\a:accents{check}{#1}} {\b:accents{check}{#1}{#2}}
\expand:after{\Configure{accent}}\csname OT1\string\=\endcsname
\bar{|<macron codes|>{}{}}
{\a:accents{bar}{#1}} {\b:accents{bar}{#1}{#2}}
>>>
\<OT1 old iso-8859-1 accents\><<<
|<ot1enc.def unicode|>
>>>
\<ot1enc.def unicode\><<<
\expandafter\def
\csname OT1\string\l\endcsname{\ht:special{t4ht@+\string&{35}x0142{59}}x}
\expandafter\def
\csname OT1\string\L\endcsname{\ht:special{t4ht@+\string&{35}x0141{59}}x}
>>>
\<configure html4 plain\><<<
\Configure{l}{\ht:special{t4ht@+\string&{35}x0142{59}}x}
\Configure{L}{\ht:special{t4ht@+\string&{35}x0141{59}}x}
>>>
%%%%%%%%%%%%%%%%%%%%
\section{8859-2}
%%%%%%%%%%%%%%%%%%%%
\<optional iso-8859-2 accents\><<<
\def\:temp{charset=iso-8859-2}
\ifx \a:charset\:UnDef
\ifx \A:charset\:temp \let\:temp=\def \fi
\else \ifx \a:charset\:temp \let\:temp=\def \fi
\fi
\ifx \:temp\def
\:CheckOption{new-accents} \if:Option \else
|<old iso-8859-2 accents|>
\fi \fi
>>>
\<old iso-8859-2 accents\><<<
|<T1 old iso-8859-2 accents|>
>>>
% d{239}
\<old iso-8859-2 accents\><<<
\Configure{accent}\`\grave{|<grave codes|>{}{}}
{\a:accents{grave}{#1}} {\b:accents{grave}{#1}{#2}}
\Configure{accent}\'\acute{|<acute codes|>{}{}}
{\a:accents{acute}{#1}} {\b:accents{acute}{#1}{#2}}
\Configure{accent}\^\hat{|<circumflex codes|>{}{}}
{\a:accents{hat}{#1}} {\b:accents{hat}{#1}{#2}}
\Configure{accent}\~\tilde{|<tilde codes|>{}{}}
{\a:accents{tilde}{#1}} {\b:accents{tilde}{#1}{#2}}
\Configure{accent}\"\ddot{|<diaeresis codes|>{}{34}}
{\a:accents{uml}{#1}} {\b:accents{uml}{#1}{#2}}
>>>
The following are also placed under accents configuration.
\<old iso-8859-2 accents\><<<
\Configure{accent}\c\c{|<cedilla codes|>{}{}}
{\a:accents{cedil}{#1}} {\b:accents{cedil}{#1}{#2}}
\Configure{accent}\t\t{{}{}}
{\a:accents{udot}{#1}} {\b:accents{udot}{#1}{#2}}
\Configure{accent}\H\H{|<double acute code|>{}{}}
{\a:accents{Huml}{#1}} {\b:accents{Huml}{#1}{#2}}
\Configure{accent}\b\b{{}{}}
{\a:accents{b}{#1}} {\b:accents{b}{#1}{#2}}
\Configure{accent}\d\d{{}{}}
{\a:accents{d}{#1}} {\b:accents{d}{#1}{#2}}
>>>
The following originally have been defined to be parameter-less.
\<old iso-8859-2 accents\><<<
\Configure{accent}\.\.{|<dot above codes|>{}{}}
{\a:accents{dot}{#1}} {\b:accents{dot}{#1}{#2}}
\Configure{accent}\dot\dot{|<dot above codes|>{}{}}
{\a:accents{dot}{#1}} {\b:accents{dot}{#1}{#2}}
\Configure{accent}\u\breve{|<breve codes|>{}{}}
{\a:accents{breve}{#1}} {\b:accents{breve}{#1}{#2}}
\Configure{accent}\vec\vec{{}{}}
{\a:accents{vec}{#1}} {\b:accents{vec}{#1}{#2}}
\Configure{accent}\v\v{|<caron codes|>{}{}}
{\a:accents{check}{#1}} {\b:accents{check}{#1}{#2}}
\Configure{accent}\check\check{|<caron codes|>{}{}}
{\a:accents{check}{#1}} {\b:accents{check}{#1}{#2}}
\Configure{accent}\=\bar{{}{}}
{\a:accents{bar}{#1}} {\b:accents{bar}{#1}{#2}}
>>>
\<old 8859-2 accents\><<<
\Configure{accent}\widetilde\widetilde{{}{}}
{\a:accents{widetilde}{#1}} {\b:accents{widetilde}{#1}{#2}}
\Configure{accent}\widehat\widehat{{}{}}
{\a:accents{widehat}{#1}} {\b:accents{widehat}{#1}{#2}}
>>>
\verb'\vec', \verb'\widetilde', and \verb'\widehat' are for math mode.
\verb'\b', \verb'\c', \verb'\d', \verb'\t', and \verb'\H' are for text mode.
%%%%%%%%%%%%%%%%%%%%
\section{T1 8859-2}
%%%%%%%%%%%%%%%%%%%%
\<T1 old iso-8859-2 accents\><<<
\expand:after{\Configure{accent}}\csname T1\string\`\expandafter\endcsname
\csname T1\string\`\endcsname{|<grave codes|>{}{}}
{\a:accents{grave}{#1}} {\b:accents{grave}{#1}{#2}}
\expand:after{\Configure{accent}}\csname T1\string\'\expandafter\endcsname
\csname T1\string\'\endcsname{|<acute codes|>{}{}}
{\a:accents{acute}{#1}} {\b:accents{acute}{#1}{#2}}
\expand:after{\Configure{accent}}\csname T1\string\^\expandafter\endcsname
\csname T1\string\^\endcsname{|<circumflex codes|>{}{}}
{\a:accents{circ}{#1}} {\b:accents{circ}{#1}{#2}}
\expand:after{\Configure{accent}}\csname T1\string\~\expandafter\endcsname
\csname T1\string\~\endcsname{|<tilde codes|>{}{}}
{\a:accents{tilde}{#1}} {\b:accents{tilde}{#1}{#2}}
\expand:after{\Configure{accent}}\csname T1\string\"\expandafter\endcsname
\csname T1\string\"\endcsname{|<diaeresis codes|>{}{34}}
{\a:accents{uml}{#1}} {\b:accents{uml}{#1}{#2}}
\expand:after{\Configure{accent}}\csname T1\string\r\endcsname
\mathring{|<ring codes|>{}{}}
{\a:accents{ring}{#1}} {\b:accents{ring}{#1}{#2}}
>>>
\<T1 old iso-8859-2 accents\><<<
\expand:after{\expand:after{\Configure{accent}}%
\csname T1\string\c\endcsname}%
\csname T1\string\c\endcsname{|<cedilla codes|>{}{}}
{\a:accents{cedil}{#1}} {\b:accents{cedil}{#1}{#2}}
\expand:after{\expand:after{\Configure{accent}}%
\csname T1\string\t\endcsname}%
\csname T1\string\t\endcsname{{}{}}
{\a:accents{udot}{#1}} {\b:accents{udot}{#1}{#2}}
\expand:after{\expand:after{\Configure{accent}}%
\csname T1\string\H\endcsname}%
\csname T1\string\H\endcsname{|<double acute code|>{}{}}
{\a:accents{Huml}{#1}}{\b:accents{Huml}{#1}{#2}}
\expand:after{\expand:after{\Configure{accent}}%
\csname T1\string\b\endcsname}%
\csname T1\string\b\endcsname{|<bar below codes|>{}{}}
{\a:accents{b}{#1}} {\b:accents{b}{#1}{#2}}
\expand:after{\expand:after{\Configure{accent}}%
\csname T1\string\d\endcsname}%
\csname T1\string\d\endcsname{|<dot below codes|>{}{}}
{\a:accents{d}{#1}} {\b:accents{d}{#1}{#2}}
>>>
\<T1 old iso-8859-2 accents\><<<
\expand:after{\Configure{accent}}\csname T1\string\.\expandafter\endcsname
\csname T1\string\.\endcsname
{|<dot iso-8859-2|>{}{}}
{\a:accents{dot}{#1}}{\b:accents{dot}{#1}{#2}}
\expand:after{\Configure{accent}}\csname T1\string\u\expandafter\endcsname
\csname T1\string\u\endcsname
{|<breve codes|>{}{}}
{\a:accents{breve}{#1}}{\b:accents{breve}{#1}{#2}}
\expand:after{\Configure{accent}}\csname T1\string\vec\expandafter\endcsname
\csname T1\string\vec\endcsname
{|<vec iso-8859-2|>{}{}}
{\a:accents{vec}{#1}}{\b:accents{vec}{#1}{#2}}
\expandafter\let\csname T1\string\v\endcsname\:UnDef
\expand:after{\Configure{accent}}\csname T1\string\v\expandafter\endcsname
\csname T1\string\v\endcsname
{|<caron codes|>{}{}}
{\a:accents{check}{#1}}{\b:accents{check}{#1}{#2}}
\expand:after{\Configure{accent}}\csname T1\string\=\expandafter\endcsname
\csname T1\string\=\endcsname
{|<bar iso-8859-2|>{}{}}
{\a:accents{bar}{#1}}{\b:accents{bar}{#1}{#2}}
>>>
%%%%%%%%%%%%%%%%%%%%
\section{T1, OT1 8859-7}
%%%%%%%%%%%%%%%%%%%%
\<T1 greek ldf iso-8859-7\><<<
\expand:after{\Configure{accent}}\csname T1\string\'\expandafter\endcsname
\csname T1\string\'\endcsname
{|<acute iso-8859-7|>{}{}}
{\a:accents{acute}{#1}} {\b:accents{acute}{#1}{#2}}
>>>
\<greek ldf iso-8859-7\><<<
\expand:after{\Configure{accent}}\csname OT1\string\'\endcsname
\acute{|<acute iso-8859-7|>{}{}}
{\a:accents{acute}{#1}} {\b:accents{acute}{#1}{#2}}
>>>
\<acute iso-8859-7\><<<
A{\ht:special{t4ht@+\string&{35}x00C1{59}}A}%
E{\ht:special{t4ht@+\string&{35}x00C9{59}}E}%
I{\ht:special{t4ht@+\string&{35}x00CD{59}}I}%
O{\ht:special{t4ht@+\string&{35}x00D3{59}}O}%
U{\ht:special{t4ht@+\string&{35}x00DA{59}}U}%
Y{\ht:special{t4ht@+\string&{35}x00DD{59}}Y}%
a{\ht:special{t4ht@+\string&{35}x00E1{59}}a}%
e{\ht:special{t4ht@+\string&{35}x00E9{59}}e}%
i{\ht:special{t4ht@+\string&{35}x00ED{59}}i}%
\i{\ht:special{t4ht@+\string&{35}x00ED{59}}i}%
o{\ht:special{t4ht@+\string&{35}x00F3{59}}o}%
u{\ht:special{t4ht@+\string&{35}x00FA{59}}u}%
y{\ht:special{t4ht@+\string&{35}x00FD{59}}y}%
{\@use@text@encoding \@curr@enc a}{\ht:special{t4ht@220}a}%
{\@use@text@encoding \@curr@enc e}{\ht:special{t4ht@221}e}%
{\@use@text@encoding \@curr@enc h}{\ht:special{t4ht@222}h}%
{\@use@text@encoding \@curr@enc i}{\ht:special{t4ht@223}i}%
{\@use@text@encoding \@curr@enc o}{\ht:special{t4ht@252}o}%
{\@use@text@encoding \@curr@enc u}{\ht:special{t4ht@253}u}%
{\@use@text@encoding \@curr@enc w}{\ht:special{t4ht@254}w}%
>>>
%%%%%%%%%%%%%%%%%%%%%%%
\section{LaTeX Encodings}
%%%%%%%%%%%%%%%%%%%%%%%
\<32,4 plain,latex\><<<
\:CheckOption{new-accents} \if:Option \else
\Configure{accents}
{\expandafter\ifx \csname #1-num\endcsname\relax
\ht:special{t4ht@+\string&{35}x#2{59}}x%
\else
\ht:special{t4ht@+\string&\#x#2;}X%
\fi
}
{\expandafter\ifx \csname a:#1-css\endcsname\relax
\Picture+{ \a:@Picture{#1}}#2{#3}\EndPicture
\else
\csname a:#1-css\endcsname #3\csname b:#1-css\endcsname
\fi
}
\expandafter\let\csname ring-num\endcsname=\def
\fi
>>>
\<configure html4-math latex\><<<
\NewConfigure{bar-css}{2}
\Configure{bar-css}
{\HCode{<span class="bar-css">}}
{\HCode{</span>}}
\Css{span.bar-css {text-decoration:overline;}}
>>>
\<32,4 latexPRE-CSS\><<<
\:CheckOption{new-accents} \if:Option \else
\Configure{textscaccent}
{\Tg<small class="small-caps">}{\Tg</small>}
\fi
>>>
\<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}
{}
>>>
\<latex accents\><<<
\:CheckOption{new-accents} \if:Option
|<new accents|>
\else
|<old plain,latex accents|>
\fi
\let\^^_|=\v
>>>
\<latex accents\><<<
\Configure{@TITLE}{|<env for titles|>}
>>>
\<env for titles\><<<
\let\"=\:same \let\~=\:same \let\^=\:same
\let\v=\:same \let\'=\:same \let\r=\:same
\let\#=\:same
\PictureOff
>>>
\<0,32,4 latex\><<<
|<latex accents|>
\let\@acci|=\' \let\@accii|=\` \let\@acciii|=\=
>>>
\<new accents\><<<
\:CheckOption{accent-} \if:Option
\Configure{HAccent}\acute{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\bar{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\breve{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\check{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\ddot{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\dot{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\grave{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\hat{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\tilde{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\vec{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\widehat{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\widetilde{}{\Picture+{}}{\EndPicture}
\fi
\:CheckOption{mathaccent-} \if:Option
\Configure{HAccent}\"{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\'{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\.{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\={}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\H{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\^{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\`{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\b{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\c{Cc{}}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\d{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\t{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\u{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\v{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\~{}{\Picture+{}}{\EndPicture}
\fi
>>>
\<new accents\><<<
\Configure{accent}{*}
{<!--tex4ht:accent\Hnewline font="}{" char="}{" type="}{"-->}
{<!--tex4ht:end accent-->}
\Configure{mathaccent}{*}
{<!--tex4ht:mathaccent\Hnewline font="}{" char="}{" type="}{"-->}
{<!--tex4ht:end mathaccent-->}
\Configure{accented}{*}
{<!--tex4ht:accented\Hnewline font="}{" char="}{" type="}{"-->}
{<!--tex4ht:end accented-->}
\Configure{accenting}{*}
{<!--tex4ht:accenting\Hnewline-->}
{<!--tex4ht:end accenting-->}
>>>
\<0,32,4 plain\><<<
\:CheckOption{new-accents} \if:Option
|<new plain accents|>
\else
|<old plain accents|>
\Configure{accents}
{\ht:special{t4ht@+\string&{35}x#2{59}}x}
{\Picture+{ \:Picture:{#1}}#2{#3}\EndPicture}
\fi
\let\^^_|=\v
>>>
\<new plain accents\><<<
\:CheckOption{accent-} \if:Option
\Configure{HAccent}\acute{AEIOUYaeiouy{}}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\bar{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\breve{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\check{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\ddot{AEIOUYaeiouy{}}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\dot{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\grave{AEIOUaeiou{}}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\hat{AEIOUaeiou{}}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\tilde{AOaoNn{}}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\vec{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\widehat{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\widetilde{}{\Picture+{}}{\EndPicture}
\fi
\:CheckOption{mathaccent-} \if:Option
\Configure{HAccent}\"{AEIOUYaeiouy{}}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\'{AEIOUYaeiouy{}}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\.{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\={}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\H{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\^{AEIOUaeiou{}}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\`{AEIOUaeiou{}}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\b{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\c{Cc{}}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\d{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\t{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\u{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\v{}{\Picture+{}}{\EndPicture}
\Configure{HAccent}\~{AOaoNn{}}{\Picture+{}}{\EndPicture}
\fi
>>>
\<new plain accents\><<<
\Configure{accent}{*}
{<!--tex4ht:accent\Hnewline font="}{" char="}{" type="}{"-->}
{<!--tex4ht:end accent-->}
\Configure{mathaccent}{*}
{<!--tex4ht:mathaccent\Hnewline font="}{" char="}{" type="}{"-->}
{<!--tex4ht:end mathaccent-->}
\Configure{accented}{*}
{<!--tex4ht:accented\Hnewline font="}{" char="}{" type="}{"-->}
{<!--tex4ht:end accented-->}
\Configure{accenting}{*}
{<!--tex4ht:accenting\Hnewline-->}
{<!--tex4ht:end accenting-->}
>>>
\<old plain accents\><<<
\Configure{accent}\`\grave{|<grave codes|>{}{}}
{\a:accents{grave}{#1}} {\b:accents{grave}{#1}{#2}}
\Configure{accent}\'\acute{|<acute codes|>{}{}}
{\a:accents{acute}{#1}} {\b:accents{acute}{#1}{#2}}
\Configure{accent}\^\hat{|<circumflex codes|>{}{}}
{\a:accents{circ}{#1}} {\b:accents{hat}{#1}{#2}}
\Configure{accent}\~\tilde{|<tilde codes|>{}{}}
{\a:accents{tilde}{#1}} {\b:accents{tilde}{#1}{#2}}
\Configure{accent}\"\ddot{|<diaeresis codes|>{}{34}}
{\a:accents{uml}{#1}} {\b:accents{uml}{#1}{#2}}
>>>
The following are also placed under accents configuration.
\<old plain accents\><<<
\Configure{accent}\c\c{C{C}c{c}{}{}}
{\a:accents{cedil}{#1}} {\b:accents{cedil}{#1}{#2}}
\Configure{accent}\t\t{{}{}}
{\a:accents{udot}{#1}} {\b:accents{udot}{#1}{#2}}
\Configure{accent}\H\H{O{0150}o{0151}U{0170}u{0171}Y{04F2}y{04F3}{}{}}
{\a:accents{Huml}{#1}} {\b:accents{Huml}{#1}{#2}}
\Configure{accent}\b\b{{}{}}
{\a:accents{b}{#1}} {\b:accents{b}{#1}{#2}}
\Configure{accent}\d\d{{}{}}
{\a:accents{d}{#1}} {\b:accents{d}{#1}{#2}}
>>>
The following originally have been defined to be parameter-less.
\<old plain accents\><<<
\Configure{accent}\.\.{{}{}}
{\a:accents{dot}{#1}} {\b:accents{dot}{#1}{#2}}
\Configure{accent}\dot\dot{{}{}}
{\a:accents{dot}{#1}} {\b:accents{dot}{#1}{#2}}
\Configure{accent}\u\breve{{}{}}{\a:accents{breve}{#1}}
{\b:accents{breve}{#1}{#2}}
\Configure{accent}\vec\vec{{}{}}{\a:accents{vec}{#1}}
{\b:accents{vec}{#1}{#2}}
\Configure{accent}\v\v{{}{}}{\a:accents{check}{#1}}
{\b:accents{check}{#1}{#2}}
\Configure{accent}\check\check{{}{}}{\a:accents{check}{#1}}
{\b:accents{check}{#1}{#2}}
\Configure{accent}\=\bar{{}{}}
{\a:accents{bar}{#1}} {\b:accents{bar}{#1}{#2}}
>>>
% \= macron
\<old plain accents\><<<
\Configure{accent}\widetilde\widetilde{{}{}}
{\a:accents{widetilde}{#1}} {\b:accents{widetilde}{#1}{#2}}
\Configure{accent}\widehat\widehat{{}{}}
{\a:accents{widehat}{#1}} {\b:accents{widehat}{#1}{#2}}
>>>
\verb'\vec', \verb'\widetilde', and \verb'\widehat' are for math mode.
\verb'\b', \verb'\c', \verb'\d', \verb'\t', and \verb'\H' are for text mode.
%%%%%%%%%%%%%%%%%%%
\section{AMS Encodings}
%%%%%%%%%%%%%%%%%%%
\<ams 2000 art + book + proc\><<<
\def\:tempc#1#2#3#4#5{%
\expandafter\ifx \csname #1mathaccentV\endcsname\relax
\o:mathaccentV:{#1}{#2}{#3}{#4}{#5}%
\else \csname #1mathaccentV\endcsname{#5}\fi}
\HLet\mathaccentV\:tempc
\:CheckOption{new-accents} \if:Option \else
|<ams 2000 iso-8859-1 accents|>
\fi
\def\:temp{charset=iso-8859-2}
\ifx \a:charset\:UnDef
\ifx \A:charset\:temp \let\:temp=\def \fi
\else \ifx \a:charset\:temp \let\:temp=\def \fi
\fi
\ifx \:temp\def
\:CheckOption{new-accents} \if:Option \else
|<old ams 2000 iso-8859-2 accents|>
\fi \fi
>>>
\<ams 2000 iso-8859-1 accents\><<<
\HRestore\grave
\expandafter\let\csname gravemathaccentV\endcsname=\grave
\expandafter\let\csname GRAVEmathaccentV\endcsname=\grave
\expand:after{\Configure{accent}}\csname
gravemathaccentV\expandafter\endcsname
\csname GRAVEmathaccentV\endcsname{|<grave codes|>{}{}}
{\a:accents{grave}{#1}} {\b:accents{grave}{#1}{#2}}
\HRestore\acute
\expandafter\let\csname acutemathaccentV\endcsname=\acute
\expandafter\let\csname ACUTEmathaccentV\endcsname=\acute
\expand:after{\Configure{accent}}\csname
acutemathaccentV\expandafter\endcsname
\csname ACUTEmathaccentV\endcsname{|<acute codes|>{}{}}
{\a:accents{acute}{#1}} {\b:accents{acute}{#1}{#2}}
\HRestore\hat
\expandafter\let\csname hatmathaccentV\endcsname=\hat
\expandafter\let\csname HATmathaccentV\endcsname=\hat
\expand:after{\Configure{accent}}\csname
hatmathaccentV\expandafter\endcsname
\csname HATmathaccentV\endcsname{|<hat iso-8859-1|>{}{}}
{\a:accents{hat}{#1}} {\b:accents{hat}{#1}{#2}}
\HRestore\tilde
\expandafter\let\csname tildemathaccentV\endcsname=\tilde
\expandafter\let\csname TILDEmathaccentV\endcsname=\tilde
\expand:after{\Configure{accent}}\csname
tildemathaccentV\expandafter\endcsname
\csname TILDEmathaccentV\endcsname{|<tilde codes|>{}{}}
{\a:accents{tilde}{#1}} {\b:accents{tilde}{#1}{#2}}
\HRestore\ddot
\expandafter\let\csname DDOTmathaccentV\endcsname=\ddot
\expand:after{\Configure{accent}}\csname
DDOTmathaccentV\expandafter\endcsname
\csname DDOTmathaccentV\endcsname{|<ddot iso-8859-1|>{}{}}
{\a:accents{ddot}{#1}} {\b:accents{ddot}{#1}{#2}}
\expandafter\let\csname ddotmathaccentV\endcsname=\ddot
\expand:after{\Configure{accent}}\csname
ddotmathaccentV\expandafter\endcsname
\csname ddotmathaccentv\endcsname{|<ddot iso-8859-1|>{}{}}
{\a:accents{ddot}{#1}} {\b:accents{ddot}{#1}{#2}}
\HRestore\check
\expandafter\let\csname checkmathaccentV\endcsname=\check
\expandafter\let\csname CHECKmathaccentV\endcsname=\check
\expand:after{\Configure{accent}}\csname
checkmathaccentV\expandafter\endcsname
\csname CHECKmathaccentV\endcsname{|<caron codes|>{}{}}
{\a:accents{check}{#1}} {\b:accents{check}{#1}{#2}}
\HRestore\dot
\expandafter\let\csname dotmathaccentV\endcsname=\dot
\expandafter\let\csname DOTmathaccentV\endcsname=\dot
\expand:after{\Configure{accent}}\csname
dotmathaccentV\expandafter\endcsname
\csname DOTmathaccentV\endcsname{|<dot above codes|>{}{}}
{\a:accents{dot}{#1}} {\b:accents{dot}{#1}{#2}}
\HRestore\breve
\expandafter\let\csname brevemathaccentV\endcsname=\breve
\expandafter\let\csname BREVEmathaccentV\endcsname=\breve
\expand:after{\Configure{accent}}\csname
brevemathaccentV\expandafter\endcsname
\csname BREVEmathaccentV\endcsname{|<breve codes|>{}{}}
{\a:accents{breve}{#1}} {\b:accents{breve}{#1}{#2}}
\HRestore\bar
\expandafter\let\csname barmathaccentV\endcsname=\bar
\expandafter\let\csname BARmathaccentV\endcsname=\bar
\expand:after{\Configure{accent}}\csname
barmathaccentV\expandafter\endcsname
\csname BARmathaccentV\endcsname{|<macron codes|>{}{}}
{\a:accents{bar}{#1}} {\b:accents{bar}{#1}{#2}}
\HRestore\vec
\expandafter\let\csname vecmathaccentV\endcsname=\vec
\expandafter\let\csname VECmathaccentV\endcsname=\vec
\expand:after{\Configure{accent}}\csname
vecmathaccentV\expandafter\endcsname
\csname VECmathaccentV\endcsname{|<vec iso-8859-1|>{}{}}
{\a:accents{vec}{#1}} {\b:accents{vec}{#1}{#2}}
>>>
\<old ams 2000 iso-8859-2 accents\><<<
\HRestore\acute
\expandafter\let\csname acutemathaccentV\endcsname=\acute
\expandafter\let\csname ACUTEmathaccentV\endcsname=\acute
\expand:after{\Configure{accent}}\csname
acutemathaccentV\expandafter\endcsname
\csname ACUTEmathaccentV\endcsname{|<acute codes|>{}{}}
{\a:accents{acute}{#1}} {\b:accents{acute}{#1}{#2}}
>>>
The upper case is needed for cases like
\begin{verbatim}
\documentclass[12pt]{amsart}
\begin{document}
\title{BUDOWA J''ADER ATOM{O}W PIERWIASTK{O}W}
\author{Rafa''l ``Raba--P{o}''lg''l{o}wek\'o$\acute{o}$}
\def\datename{Wersja z}
\date{\today}
\maketitle
\end{document}
\end{verbatim}
%%%%%%%%%%%%%%%%%%
\section{ot4enc}
%%%%%%%%%%%%%%%%%%
\<configure html4 ot4enc\><<<
\def\add:acc#1{\ht:special{t4ht@+\string&\#x#1;}x}
\Configure{add accent}{OT4:18} %\`
|<add grave codes|> {}{}
\Configure{add accent}{OT4:127} %\"
|<add diaeresis codes|> {}{}
\Configure{add accent}{OT4:19} %\'
|<add acute codes|> {}{}
\Configure{add accent}{OT4:95} %\.
|<add dot above codes|> {}{}
\Configure{add accent}{OT4:22} %\=
{}{}
\Configure{add accent}{OT4:94} %\^
|<add circumflex codes|> {}{}
\Configure{add accent}{OT4:126} %\~
|<add tilde codes|> {}{}
\Configure{add accent}{OT4:125} %\H
|<add double acute code|> {}{}
\Configure{add accent}{OT4:21} %\u
|<add breve codes|> {}{}
\Configure{add accent}{OT4:20} %\v
|<add caron codes|> {}{}
\Configure{add accent}{OT4:23} %\r
|<add ring codes|> {}{}
\Configure{add accent}{OT4:24} %\c
|<add cedilla codes|> {}{}
>>>
%%%%%%%%%%%%%%%%%%
\section{pd1enc}
%%%%%%%%%%%%%%%%%%
\<configure html4 pd1enc\><<<
\def\add:acc#1{\ht:special{t4ht@+\string&\#x#1;}x}
\Configure{add accent}{PD1:96} %\`
|<add grave codes|> {}{}
\Configure{add accent}{PD1:168} %\"
|<add diaeresis codes|> {}{}
\Configure{add accent}{PD1:180} %\'
|<add acute codes|> {}{}
\Configure{add accent}{PD1:27} %\.
|<add dot above codes|> {}{}
\Configure{add accent}{PD1:26} %\^
|<add circumflex codes|> {}{}
\Configure{add accent}{PD1:31} %\~
|<add tilde codes|> {}{}
\Configure{add accent}{PD1:24} %\u
|<add breve codes|> {}{}
\Configure{add accent}{PD1:20} %\v
|<add caron codes|> {}{}
\Configure{add accent}{PD1:21} %\r
|<add ring codes|> {}{}
\Configure{add accent}{PD1:184} %\c
|<add cedilla codes|> {}{}
>>>
% \Configure{add accent}{PD1:22} %\= {}{}
% \Configure{add accent}{PD1:125} %\H
% |<add double acute code|> {}{}
%%%%%%%%%%%%%%%%%%%
\section{Languages}
%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%
\subsection{Babel}
%%%%%%%%%%%%%%%%%%%
\<babel.def\><<<
|<quotedblbase|>
>>>
\<babel macros\><<<
|<babel.def|>
>>>
\<config tex4ht\><<<
\NewConfigure{charset}[1]{\def\a:charset{#1}}
\def\:temp#1charset=#2,#3|<par del|>{%
\if !#2!%
\Log:Note{for alternative charset, use
the command line option `charset=...'}
\else \Configure{charset}{charset=#2}\fi}
\expandafter\:temp\Preamble ,charset=,|<par del|>
>>>
\<configure html4 CJK\><<<
\def\A:charset{charset=utf-8}
|<simplified chinese (mainland)|>
|<traditional chinese (taiwanese)|>
|<japanese charset|>
|<korean charset|>
\Configure{CJKbold}{\HCode{<b>}}{\HCode{</b>}}
>>>
The following are from CJK.enc
\begin{verbatim}
% CEF: CEFX C80
% CEFY C81
\end{verbatim}
\<traditional chinese (taiwanese)\><<<
\Configure{CJK.enc}{Bg5}{\def\A:charset{charset=big5}}
\Configure{CJK.enc}{Bg5pmC}{\def\A:charset{charset=big5}}
\Configure{CJK.enc}{Bg5+}{\def\A:charset{charset=big5}}
>>>
GB2312 (1980) has been superceded by GBK (circa 1993?) and GB18030 (2000).
\<simplified chinese (mainland)\><<<
\Configure{CJK.enc}{GBpmC}{\def\A:charset{charset=gbk}}
\Configure{CJK.enc}{GBK}{\def\A:charset{charset=gbk}}
\Configure{CJK.enc}{GBt}{\def\A:charset{charset=gbk}}
\Configure{CJK.enc}{GBtpmC}{\def\A:charset{charset=gbk}}
\Configure{CJK.enc}{CNS1-7}{\def\A:charset{charset=gbk}}
>>>
\<japanese charset\><<<
\Configure{CJK.enc}{JIS}{\def\A:charset{charset=iso-2022-jp}}
\Configure{CJK.enc}{JISpmC}{\def\A:charset{charset=iso-2022-jp}}
\Configure{CJK.enc}{JISdnp}{\def\A:charset{charset=iso-2022-jp}}
\Configure{CJK.enc}{JISwn}{\def\A:charset{charset=iso-2022-jp}}
\Configure{CJK.enc}{JIS2}{\def\A:charset{charset=iso-2022-jp}}
\Configure{CJK.enc}{JIS2dnp}{\def\A:charset{charset=iso-2022-jp}}
\Configure{CJK.enc}{SJIS}{\def\A:charset{charset=iso-2022-jp}}
>>>
\<korean charset\><<<
\Configure{CJK.enc}{KS}{\def\A:charset{charset=iso-2022-kr}}
\Configure{CJK.enc}{KSpmC}{\def\A:charset{charset=iso-2022-kr}}
\Configure{CJK.enc}{KSHL}{\def\A:charset{charset=iso-2022-kr}}
>>>
\<configure html4 hebtex\><<<
\def\A:charset{charset=iso-8859-8}
\Configure{arabtext}
{\ifhmode \let\end:arabtex=\empty \IgnorePar
\else
\HCode{<div style="text-align:right"><table class="arabtex"><tr><td\Hnewline
style="white-space:nowrap; text-align:right">}%
\def\end:arabtex{\HCode{</td></tr></table></div>}}%
\fi
\global\let\start:arab=\relax}
{\end:arabtex}
{\ifx \start:arab\relax \global\let\start:arab=\empty
\else \expandafter\Tg<br />\fi}
{}
\:CheckOption{nikud} \if:Option
\Configure{chireq}{\char5 }
\Configure{cholem}{\char3 }
\Configure{chpatach}{\char1\char7 }
\Configure{chqames}{\char2\char7 }
\Configure{chsegol}{\char3\char7 }
\Configure{dagesh}{\char46 }
\Configure{meteg}{\char44 }
\Configure{patachf}{\char1 }
\Configure{patach}{\char1 }
\Configure{qameschat}{\char6\char7 }
\Configure{qames}{\char6 }
\Configure{qibbus}{\HCode{<!--qibbus-->}}
\Configure{rdot}{\HCode{<!--rdot-->}}
\Configure{segol}{\char3 }
\Configure{sere}{\char9 }
\Configure{shindot}{\HCode{<!--shindot-->}}
\Configure{shwa}{\char7 }
\Configure{sindot}{\HCode{<!--sindot-->}}
\else
\Log:Note{for hebrew vowels, use
the command line option `nikud'}
\Configure{chireq}{\HCode{<!--chireq-->}}
\Configure{cholem}{\HCode{<!--cholem-->}}
\Configure{chpatach}{\HCode{<!--chpatach-->}}
\Configure{chqames}{\HCode{<!--chqames-->}}
\Configure{chsegol}{\HCode{<!--chsegol-->}}
\Configure{dagesh}{\HCode{<!--dagesh-->}}
\Configure{meteg}{\HCode{<!--meteg-->}}
\Configure{patachf}{\HCode{<!--patachf-->}}
\Configure{patach}{\HCode{<!--patach-->}}
\Configure{qameschat}{\HCode{<!--qameschat-->}}
\Configure{qames}{\HCode{<!--qames-->}}
\Configure{qibbus}{\HCode{<!--qibbus-->}}
\Configure{rdot}{\HCode{<!--rdot-->}}
\Configure{segol}{\HCode{<!--segol-->}}
\Configure{sere}{\HCode{<!--sere-->}}
\Configure{shindot}{\HCode{<!--shindot-->}}
\Configure{shwa}{\HCode{<!--shwa-->}}
\Configure{sindot}{\HCode{<!--sindot-->}}
\fi
>>>
\<configure html4 abidir\><<<
\:CheckOption{pic-RL}\if:Option
\Configure{RL}
{\ifvmode \IgnorePar\EndP \def\RL:tag{div}\else \def\RL:tag{span}\fi
\HCode{<\RL:tag\space class="pic-RL">}\Picture*{}}
{\EndPicture\HCode{</\RL:tag>}}
{} {} {} {}
\Css{div.pic-RL{text-align:right;}}
\else
\Log:Note{for pictorial RL, use
the command line option `pic-RL'}
\Configure{RL}
{\HCode{<span class="RL">}} {\HCode{</span>}}
{} {\HCode{<br />}} {} {}
\fi
>>>
% \:CheckOption{RL2LR}\if:Option
% \Configure{RL}
% {\ifvmode \IgnorePar\fi \EndP \HCode{<div class="RL"
% dir="rtl" >}}
% {\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
% {} {} {} {}
% \else
% \Configure{RL}
% {\ifvmode \IgnorePar\fi \EndP \HCode{<div class="RL"
% dir="rtl" >}}
% {\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
% {} {\HCode{<br />}} {} {}
% \fi
\<configure html4 romanian\><<<
\def\A:charset{charset=iso-8859-2}
\:CheckOption{new-accents} \if:Option \else
|<old iso-8859-2 accents|>
\fi
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{Umlaut}
%%%%%%%%%%%%%%%%%%%
\<configure html4 german\><<<
\:CheckOption{new-accents} \if:Option \else
\Configure{accent}\grmn@OTumlaut
\grmn@OTumlaut{|<diaeresis codes|>{}{34}}
{\a:accents{uml}{#1}} {\b:accents{uml}{#1}{#2}}
\fi
>>>
\<configure html4 ngerman\><<<
\:CheckOption{new-accents} \if:Option \else
\Configure{accent}\grmn@OTumlaut
\grmn@OTumlaut{|<diaeresis codes|>{}{34}}
{\a:accents{uml}{#1}} {\b:accents{uml}{#1}{#2}}
\fi
>>>
\<babel.def\><<<
\:CheckOption{new-accents} \if:Option \else
\Configure{accent}\lower@umlaut\lower@umlaut{|<diaeresis codes|>{}{34}}
{\a:accents{uml}{#1}} {\b:accents{uml}{#1}{#2}}
\fi
>>>
\<u mlaut\><<<
\:CheckOption{new-accents} \if:Option \else
\Configure{accent}\bbl@umlauta
\bbl@umlaute{|<diaeresis codes|>{}{34}}
{\a:accents{uml}{#1}} {\b:accents{uml}{#1}{#2}}
\fi
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{Russian and Cyrillic}
%%%%%%%%%%%%%%%%%%%
\<configure html4 t2benc\><<<
\def\:temp{charset=koi8-r}\ifx \A:charset\:temp \else
\def\A:charset{charset=iso-8859-5}
\fi
>>>
\<configure html4 koi8-r\><<<
\def\A:charset{charset=koi8-r}
>>>
\<set babel charset\><<<
\def\:temp{charset=koi8-r}\ifx \A:charset\:temp \else
\a:temp{russian}{iso-8859-5}{ru}
\fi
>>>
\<configure html4 russianb\><<<
\NewConfigure{dtd-lang}{1} \Configure{dtd-lang}{RU}
\def\:temp{charset=koi8-r}\ifx \A:charset\:temp \else
\def\A:charset{charset=iso-8859-5}
\fi
\ifx \@begindocumenthook\:UnDef\else
\:CheckOption{new-accents} \if:Option \else
% \def\:temp{russian}\ifx \languagename\:temp
|<russian|>
% \fi
\fi\fi
>>>
We had also \verb'\append:def\@begindocumenthook{\HLet\"|=\ddot}' in
babel. It gets russian and brazil into infinite loop. Why it was
inserted.
ERROR: The non ascii characters might translate wrongly in the 4ht
file (e.g., \verb'^^e5' for 00EB below). They also not show in the
documentation since a cmtt10 font is in use and it doesn't covet those
symbols. The problem will probably vanish once the new accent approach
will kick in.
We definitely don't want to use it with XeLaTeX and LuaLaTeX.
\<russian\><<<
\ifdefined\XeTeXrevision\else
\ifdefined\luatexversion\else
\input{html4-russian-accents.4ht}
\fi\fi
>>>
\<html4-russian-accents\><<<
% html4-russian-accents.4ht (|version), generated from |jobname.tex
% Copyright 2009-2015 TeX Users Group
% Copyright |CopyYear.1999. Eitan M. Gurari
%
% Extracted to a separate file so the main file has a consistent
% (and UTF-8 compatible) encoding.
|<TeX4ht copywrite|>
\Configure{accent}\"\ddot{|<diaeresis codes|>�{00EB}%
{\@use@text@encoding \@curr@enc A}{00C4}%
{\@use@text@encoding \@curr@enc E}{00CB}%
{\@use@text@encoding \@curr@enc I}{00CF}%
{\@use@text@encoding \@curr@enc O}{00D6}%
{\@use@text@encoding \@curr@enc U}{00DC}%
{\@use@text@encoding \@curr@enc Y}{0178}%
{\@use@text@encoding \@curr@enc a}{00E4}%
{\@use@text@encoding \@curr@enc e}{00EB}%
{\@use@text@encoding \@curr@enc i}{00EF}%
{\@use@text@encoding \@curr@enc \i}{00EF}%
{\@use@text@encoding \@curr@enc o}{00F6}%
{\@use@text@encoding \@curr@enc u}{00FC}%
{\@use@text@encoding \@curr@enc y}{00FF}%
{\@use@text@encoding \@curr@enc �}{00EB}%
{}{34}}
{\a:accents{uml}{#1}}
{\def\:temp{>}\def\:tempa{#2}\ifx \:temp\:tempa\HCode{�}%
\else \def\:temp{<}\ifx \:temp\:tempa\HCode{�}%
\else \b:accents{uml}{#1}{#2}\fi\fi}
>>>
%%%%%%%%%%%%%%%%%%
\section{Accents Style}
%%%%%%%%%%%%%%%%%%
\<configure html4-math accents\><<<
\Configure{accentset}
{\HCode{<span class="accentset">}}
{\HCode{<span class="accent">}}
{\HCode{</span></span>}}
\Configure{underaccent}
{\HCode{<span class="underaccent">}}
{\HCode{<span class="accent">}}
{\HCode{</span></span>}}
\Css{span.accentset span.accent{font-size:80\%;
position:relative; top:-1.7ex; left:-0.6em;}}
\Css{span.underaccent span.accent{font-size:80\%;
position:relative; top:1.6ex; left:-0.6em;}}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Features}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%
\section{Margin Comments}
%%%%%%%%%%%%%%%%%%
We need to consider cases like
\verb+\marginpar{ Consider: \par *one \par *two}+
for margin pars.
\<configure html4 latex\><<<
\Configure{marginpar}
{%
\def\marginpar:class{marginpar}%
\if@reversemargin\def\marginpar:class{reversemarginpar}\fi%
\ifvmode\IgnorePar\EndP\HCode{<div class="\marginpar:class">}%
\def\end:margp{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}%
\par
\else
\SaveEndP
\HCode{<span class="\marginpar:class">}%
\bgroup
\Configure{HtmlPar}{\HCode{<br />}}{\HCode{<br />}}{}{}%
\def\end:margp{\egroup\HCode{</span>}\RecallEndP}%
\fi
}
{\end:margp}
\Css{.marginpar,.reversemarginpar {width:20\%; float:right; text-align:left;
margin-left:auto; margin-top:0.5em; font-size:85\%;
text-decoration:underline;}}
\Css{.marginpar p,.reversemarginpar p{margin-top:0.4em; margin-bottom:0.4em;}}
\Css{.reversemarginpar{float:left;}}
>>>
\verb'margin-left:auto' instead of \verb'margin-left:1em'
-- this makes margin paragraphs float correctly in Netscape 4.06
browser
%%%%%%%%%%%%%%%%%%
\section{Pictures in Margins}
%%%%%%%%%%%%%%%%%%
\<configure html4 picins\><<<
\Configure{parpic}
{\IgnorePar\EndP\HCode{<div class="picins-\parpicOpt">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
>>>
\<configure html4 picins\><<<
\Css{.picins-dr, .picins-rd { float:right;
padding: 2px; margin-left:5px; margin-bottom:3px;
border: 1px dashed black;
}}
\Css{.picins-dl, .picins-ld, .picins-d { float:left;
padding: 2px; margin-right:5px; margin-bottom:3px;
border: 1px dashed black;
}}
\Css{.picins-fr, .picins-rf { float:right;
padding: 2px; margin-left:5px; margin-bottom:3px;
border: 1px dashed black;
}}
\Css{.picins-fl, .picins-lf, .picins-f { float:left;
padding: 2px; margin-right:5px; margin-bottom:3px;
border: 1px solid black;
}}
\Css{.picins-sr, .picins-rs { float:right;
padding: 2px; margin-left:5px; margin-bottom:3px;
border-left: 1px solid black;
border-top: 1px solid black;
border-right: 4px solid black;
border-bottom: 4px solid black;
}}
\Css{.picins-sl, .picins-ls, .picins-s { float:left;
padding: 2px; margin-right:5px; margin-bottom:3px;
border-left: 1px solid black;
border-top: 1px solid black;
border-right: 4px solid black;
border-bottom: 4px solid black;
}}
\Css{.picins-xr, .picins-rx { float:right;
padding: 2px; margin-left:5px; margin-bottom:3px;
border-left: 1px solid black;
border-top: 1px solid black;
border-right: 1px solid black;
border-bottom: 1px solid black;
}}
\Css{.picins-xl, .picins-lx, .picins-x { float:left;
padding: 2px; margin-right:5px; margin-bottom:3px;
border-left: 1px solid black;
border-top: 1px solid black;
border-right: 1px solid black;
border-bottom: 1px solid black;
}}
\Css{.picins-r { float:right;
padding: 2px; margin-left:5px; margin-bottom:3px;
}}
\Css{.picins-l, .picins- { float:left;
padding: 2px; margin-right:5px; margin-bottom:3px;
}}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Style Files}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%
\subsection{subequations}
%%%%%%%%%%%%%
\<configure html4 amsmath\><<<
\ConfigureEnv{subequations}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="subequations">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par}
{}{}
>>>
%%%%%%%%%%%%%
\subsection{subeqnarray}
%%%%%%%%%%%%%
\<configure html4 subeqnarray\><<<
\ConfigureEnv{subeqnarray}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="subeqnarray">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par\ShowPar}
{}{}
>>>
%%%%%%%%%%%%%
\subsection{Ushort}
%%%%%%%%%%%%%
\<configure html4-math ushort\><<<
\Configure{ushort}
{\HCode{<span class="underline">}\hbox\bgroup \:gobble}
{\egroup \HCode{</span>}}
\Configure{ushortw}
{\HCode{<span class="underline">}\hbox\bgroup \:gobble}
{\egroup \HCode{</span>}}
\Configure{ushortd}
{\HCode{<span class="underline-d">}\hbox\bgroup \:gobble}
{\egroup \HCode{</span>}}
\Configure{ushortdw}
{\HCode{<span class="underline-d">}\hbox\bgroup \:gobble}
{\egroup \HCode{</span>}}
\Configure{ushortdline}
{\HCode{<span class="underline-d">}\hbox\bgroup \:gobble}
{\egroup \HCode{</span>}}
\Css{.underline-d{ border-bottom: 3px double black;
margin-bottom:1pt; }}
>>>
%%%%%%%%%%%%%%%%%%
\subsection{MeX}
%%%%%%%%%%%%%%%%%%
\<configure html4 mex\><<<
\def\MeX{\HCode{<span class="MeX">}MeX\HCode{</span>}}
>>>
%%%%%%%%%%%%%%%%%%
\subsection{eplain}
%%%%%%%%%%%%%%%%%%
\<configure html4 eplain\><<<
\Configure{columns}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="columns"><!--cols=\NumColumns-->}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Css{div.columns { margin-left:2em; margin-right:2em; }}
>>>
\<configure html4 eplain\><<<
\Configure{bibliography}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="bibliography">}\par}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par}
>>>
\<configure html4 eplain\><<<
\Configure{makecolumns}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<table class="makecolumns"><tr><td>}%
\gdef\make:col{\gdef\make:col{\HCode{<br />}}}}
{\HCode{</td></tr></table>}}
{\HCode{</td><td>}%
\gdef\make:col{\gdef\make:col{\HCode{<br />}}}}
{\make:col}
{}
\Css{table.makecolumns{width:100\%;}}
\Css{table.makecolumns td {vertical-align:top;}}
>>>
\<configure html4 eplain\><<<
\Configure{flushleft}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="flushleft">}}
{\ifvmode \IgnorePar\fi \EndP
\HCode{</div>}}
{\HCode{<br />}}
\Configure{flushright}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="flushright">}}
{\ifvmode \IgnorePar\fi \EndP
\HCode{</div>}}
{\HCode{<br />}}
\Configure{center}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="center">}}
{\ifvmode \IgnorePar\fi \EndP
\HCode{</div>}}
{\HCode{<br />}}
\Css{div.center {text-align:center;}}
\Css{div.flushright {text-align:right;}}
\Css{div.flushleft {text-align:left;}}
>>>
\<configure html4 eplain\><<<
|<eplain dates|>
\Configure{numberedlist}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<ol>}\let\end:itm=\empty}
{\ifvmode \IgnorePar\fi \end:itm \HCode{</ol>}}
{\end:itm \def\end:itm{\EndP\Tg</li>}\HCode{<li>}\special{t4ht@[}\IgnorePar}
{\special{t4ht@]}}
\Configure{orderedlist}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<ol>}\let\end:itm=\empty}
{\ifvmode \IgnorePar\fi \end:itm \HCode{</ol>}}
{\end:itm \def\end:itm{\EndP\Tg</li>}\HCode{<li>}\special{t4ht@[}\IgnorePar}
{\special{t4ht@]}}
\Configure{unorderedlist}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<ul>}\let\end:itm=\empty}
{\ifvmode \IgnorePar\fi \end:itm \HCode{</ul>}}
{\ifvmode \IgnorePar\fi \EndP
\end:itm \def\end:itm{\EndP\Tg</li>}%
\HCode{<li>}\special{t4ht@[}\IgnorePar}
{\special{t4ht@]}}
>>>
\<configure html4 eplain\><<<
\Configure{listing}
{\IgnorePar\EndP \HCode{<div class="listing">}\par
\Configure{HtmlPar}
{\EndP}
{\EndP}
{~\HCode{<br />}}
{~\HCode{<br />}}
}
{\HCode{</div>}\par}
>>>
\<configure html4-math eplain\><<<
\Configure{PicDisplay}
{\edef\MathPar{\ifvmode par-\fi}\IgnorePar\endgraf\EndP
\HCode{<div class="\if@leftdisplays leftdisplay\else centereddisplay\fi">}}
{\HCode{</div>}} {} {class="\MathPar math-display" }
\Css{div.lsftdisplay {text-align:left;}}
\Css{div.centereddisplay {text-align:center;}}
>>>
\<configure html4-math eplain\><<<
\Configure{contents}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="contents">}}
{\HCode{</div>}}
\Configure{tocchapterentry}
{\HCode{<span class="tocchapterentry">}}
{\HCode{</span><span class="toc-num">}}
{\HCode{</span>}}
\Configure{tocsectionentry}
{\HCode{<span class="tocsectionentry">}}
{\HCode{</span><span class="toc-num">}}
{\HCode{</span>}}
\Configure{tocsubsectionentry}
{\HCode{<span class="tocsubsectionentry">}}
{\HCode{</span><span class="toc-num">}}
{\HCode{</span>}}
\Css{span.tocchapterentry{width:30em}}
\Css{span.tocsectionentry{width:30em; padding-left:1.5em}}
\Css{span.tocsectionentry{width:30em; padding-left:3em}}
\Css{span.toc-num{width:6em; padding-left:2em}}
>>>
\<eplain dates\><<<
\Configure{monthname}
{\HCode{<span class="month">}}
{\HCode{</span>}}
\Configure{timestring}
{\HCode{<span class="time">}}
{\HCode{</span>}}
\Configure{timestamp}
{\HCode{<span class="timestamp">}}
{\HCode{</span>}}
\Configure{today}
{\HCode{<span class="today">}}
{\HCode{</span>}}
>>>
%%%%%%%%%%%%%%%%%%%
\section{Drawing Utilitis}
%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%
\subsection{Diagrams}
%%%%%%%%%%%%%%%%%%%
\<configure html4 epsf\><<<
\Configure{epsfsetgraph}
{\Picture+[]{}}
{\EndPicture}
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{Diagrams}
%%%%%%%%%%%%%%%%%%%
\<configure html4 diagrams\><<<
\ConfigureEnv{diagram}
{\ifvmode \IgnorePar \EndP
\Tg<div class="diagrams">\def\End:Diagrams{\Tg</div>}%
\else \let\End:Diagrams\empty
\fi }
{\End:Diagrams}
{}{}
\Configure{diagram}
{\Picture*{}$} {$\EndPicture}
\Css{.diagrams {text-align: center;}}
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{dratex}
%%%%%%%%%%%%%%%%%%%
\<configure html4 dratex\><<<
\Css{div.Draw{text-align:center}}
>>>>
%%%%%%%%%%%%%%%%%%%
\subsection{pgf}
%%%%%%%%%%%%%%%%%%%
\<configure html4 pgf\><<<
\ConfigureEnv{pgfpicture}
{\hbox\bgroup\Picture+[picture]{}}
{\EndPicture\egroup}
{}{}
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{pgf}
%%%%%%%%%%%%%%%%%%%
\<configure html4 overpic\><<<
\ConfigureEnv{overpic}
{\Picture*[pic]{}}
{\EndPicture}
{}{}
>>>
%%%%%%%%%%%%%%
\subsection{psfig}
%%%%%%%%%%%%%%
\<configure html4 psfig\><<<
|<0,32,4 psfig|>
>>>
\<0,32,4 psfig\><<<
\Configure{psfig} {\Picture+[psfig]{}}{\EndPicture}
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{graphics}
%%%%%%%%%%%%%%%%%%%
\<configure html4 graphics\><<<
\:CheckOption{graphics-} \if:Option
\Configure{graphics}
{\bgroup
\let\E:IMG=\e:IMG \let\e:IMG=\empty
\Picture+[\a:GraphicsAlt]{ class="graphics"}}
{\EndPicture
\E:IMG\HCode{<!--tex4ht:graphics
\Hnewline name="\PictureFile" src="\Gin@base\Gin@ext"
\Hnewline -->}%
\egroup}
\else
|<graphics quality|>
\Configure{graphics}
{\bgroup
\let\E:IMG=\e:IMG \let\e:IMG=\empty
\Picture+[\a:GraphicsAlt]{ class="graphics"}}
{\EndPicture \ifx\noBoundingBox\UnDefined
|<pixels graphics width/height|>\fi
\E:IMG\HCode{<!--tex4ht:graphics
\Hnewline name="\PictureFile" src="\Gin@base\Gin@ext"
\Hnewline -->}%
\egroup}
\fi
\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|>}}
\Configure{graphics*}
{svg}
{{\Configure{Needs}{File: \
[email protected]}\Needs{}}%
\Picture[\a:GraphicsAlt]{{\
[email protected]} |<graphics dim|>}}
\Configure{graphics*}
{eps}
{\openin15={\csname Gin@base\endcsname\PictExt}\relax%
\ifeof15%
\Needs{\a:EpsConvert}%
\fi%
\closein15%
{\Configure{Needs}{File: \Gin@base\PictExt}\Needs{}}%
\Picture[\a:GraphicsAlt]{{\Gin@base\PictExt} |<graphics dim|>}}
|<graphics default extensions|>
\edef\svg:ext{.svg}
\NewConfigure{ImageMagick}{1}
\NewConfigure{Ghostscript}{1}
\Configure{ImageMagick}{convert}
\Configure{Ghostscript}{rungs}
\ifx\gr:density\empty
\gdef\gr:density{300}
\fi
\NewConfigure{EpsConvert}{1}
\NewConfigure{PdfConvert}{2}
% test the picture output format
\ifx\PictExt\svg:ext
\Configure{PdfConvert}{svg}{"pdf2svg "\
[email protected]" "\Gin@base-\Gin@page.\a:PdfConvert" \Gin@page"}
% the quality of conversion using ImageMagick is quite bad, it rasterizes the vectors and
% the resulting SVG is basically PNG encapsulated in SVG
% \Configure{EpsConvert}{"\a:ImageMagick\space '\
[email protected]' '\
[email protected]'"}
% it is better to use the following command. pdf2svg must be installed separately.
\Configure{EpsConvert}{"epstopdf "\
[email protected]" && pdf2svg "\
[email protected]" "\
[email protected]""}
\else
\Configure{PdfConvert}{png}{"\a:Ghostscript\space -q -dNOPAUSE -dBATCH -dusecropbox -sDEVICE=pngalpha -r\gr:density\space \ifx\Gin@page\@empty\else -dFirstPage="\Gin@page" -dLastPage="\Gin@page"\fi\space -sOutputFile="\Gin@base-\Gin@page.\a:PdfConvert" "\
[email protected]" "}
\Configure{EpsConvert}{"\a:Ghostscript\space -dSAFER -dBATCH -dNOPAUSE -dEPSCrop -r\gr:density\space -sDEVICE=pngalpha -sOutputFile="\Gin@base\PictExt" "\
[email protected]" "}
\fi
\Configure{graphics*}
{pdf}
{\ifdefined\Gin@page\else\def\Gin@page{1}\fi%
\edef\svg:filename{\Gin@base-\Gin@page.\a:PdfConvert}%
% test for existence of the converted file
\openin15={\svg:filename}\relax
\ifeof15
\Needs{\b:PdfConvert}%
\fi
\closein15
{ \Configure{Needs}{File: \svg:filename}\Needs{}}%
\Picture[\a:GraphicsAlt]{{\svg:filename} |<graphics dim|>}}
\NewConfigure{GraphicsAlt}{1}
\Configure{GraphicsAlt}{PIC}
|<includegraphics dim|>
>>>
\<graphics quality\><<<
\def\:temp#1graphics-#2,#3|<par del|>{\def\gr:density{#2}}
\expandafter\:temp\Preamble,graphics-,|<par del|>
\ifx \gr:density\empty
\Log:Note{if included graphics are
of degraded quality, try the command line options
`graphics-num' or `graphics-'. The `num' should provide
the density of pixels in the bitmaps (e.g., 110).
}
\fi
\def\int:pt#1.#2|<par del|>{#1}
>>>
\<graphics dim\><<<
\csname a:Gin-dim\endcsname
>>>
\<includegraphics dim\><<<
\NewConfigure{Gin-dim}{1}
\:CheckOption{Gin-dim} \if:Option
\Configure{Gin-dim}
{\ifx\noBoundingBox\UnDefined
|<graphics width/height|>%
\else
|<graphicx width/height|>%
\fi
class="includegraphics"
}
\else \:CheckOption{Gin-dim+} \if:Option
\Configure{Gin-dim}
{\ifx \Gin:ewidth\Gin@exclamation
\ifx \Gin:eheight\Gin@exclamation
\ifx\noBoundingBox\UnDefined
|<graphics width/height|>%
\fi
\else
height="\expandafter\int:pt\Gin:eheight|<par del|>"
\fi
\else
width="\expandafter\int:pt\Gin:ewidth|<par del|>"
\ifx \Gin:eheight\Gin@exclamation \else
height="\expandafter\int:pt\Gin:eheight|<par del|>"
\fi
\fi
class="includegraphics"
}
\else \:CheckOption{Gin-percent} \if:Option
\ExplSyntaxOn
\Configure{Gin-dim}
{\if:boundingbox{style="max-width:\fp_eval:n{round(\Gin@req@width/\textwidth*100,2)}\char_generate:nn { `\% } { 12 }"}{}}
\ExplSyntaxOff
\else
\Log:Note{for setting image dimensions, try the option
`Gin-dim'; to use percents instead of units, use
`Gin-perecent'; for key dimensions when bounding
box is unavailable try `Gin-dim+';
neither is recommended}
\Configure{Gin-dim}
{\if:boundingbox{|<graphics width/height|>}{}}
\fi \fi \fi
>>>
\<pixels graphics width/height\><<<
\ifx \gr:density\empty
\HCode{
width="\expandafter\int:pt\the\Gin@req@width|<par del|>"
height="\expandafter\int:pt\the\Gin@req@height|<par del|>"
}%
\else
\bgroup
\divide\Gin@req@width by 72
\multiply\Gin@req@width by \gr:density \relax
\divide\Gin@req@height by 72
\multiply\Gin@req@height by \gr:density \relax
\HCode{
width="\expandafter\int:pt\the\Gin@req@width|<par del|>"
height="\expandafter\int:pt\the\Gin@req@height|<par del|>"
}%
\egroup
\fi
>>>
\<graphics width/height\><<<
width="\expandafter\int:pt\the\Gin@req@width|<par del|>"
height="\expandafter\int:pt\the\Gin@req@height|<par del|>"
>>>
\<graphicx width/height\><<<
\ifx \Gin:ewidth\Gin@exclamation \else
width="\expandafter\int:pt\Gin:ewidth|<par del|>"
\fi
\ifx \Gin:eheight\Gin@exclamation \else
height="\expandafter\int:pt\Gin:eheight|<par del|>"
\fi
>>>
Declare default graphics extensions supported in HTML or converted to these
supported formats by tex4ht.
\<graphics default extensions\><<<
\DeclareGraphicsExtensions{.png,.svg,.jpg,.jpeg,.eps,.pdf,.mps}
>>>
%%%%%%%%%%%%%%%%%%
\subsection{graphicx}
\<configure html4 graphicx\><<<
\Configure{rotatebox}{\HCode{<span class="rotatebox" style="transform: rotate(-\Grot@angle deg);">}}{\HCode{</span>}}
\Css{.rotatebox{display: inline-block;}}
>>>
%%%%%%%%%%%%%%%%%%
\subsection{xy}
%%%%%%%%%%%%%%%%%%
\<configure html4 xy\><<<
|<32,4 xy|>
>>>
\<32,4 xy\><<<
\Configure{xypic}
{\Picture*{}} {\EndPicture}
\def\:tempc{\HCode{<span class="Xy">}X\HCode{<span
class="Y">}Y\HCode{</span>}}
\HLet\Xy\:tempc
\Css{span.Xy span.Y{ position:relative; top:0.35ex;left:-0.25em;}}
>>>
%%%%%%%%%%%%%%%%%%
\subsection{pstricks}
%%%%%%%%%%%%%%%%%%
\<configure html4 pst-all\><<<
\ConfigureEnv{psmatrix}
{\Picture*{}}
{\EndPicture}
{}{}
>>>
\<configure html4 pstricks\><<<
\Configure{pspicture}
{\ifvmode \ifinner\else \vfill\break\fi
\leavevmode\fi
\bgroup
\ifdim \pst@dimh<\z@ \pst@dimh=-\pst@dimh \fi
\HCode{<!--width="\ifdim \wd\pst@hbox=\z@ \the\pst@dimg
\else\the\wd\pst@hbox\fi"
height="\ifdim \ht\pst@hbox=\z@ \the\pst@dimh
\else \the\ht\pst@hbox\fi"-->}%
\egroup
\Picture+[\a:pspictureAlt]{ class="pspicture"}}
{\EndPicture}
\NewConfigure{pspictureAlt}{1}
\Configure{pspictureAlt}{PIC}
>>>
%%%%%%%%%%%%%%%%%%
\subsection{pb-diagram}
%%%%%%%%%%%%%%%%%%
\<configure html4 pb-diagram\><<<
\ConfigureEnv{diagram}
{\Picture*{ class="pb-diagram"}$} {$\EndPicture} {}{}
\Css{.pb-diagram {align:center}}
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{pictex}
%%%%%%%%%%%%%%%%%%%
\<configure html4 pictex\><<<
\Configure{pictex}
{\:xhtml{\IgnorePar\EndP}\HCode{<div
class="pictex">}}{\HCode{</div>}}{+[PICT]}
\Css{div.pictex {text-align:center;}}
>>>
%%%%%%%%%%%%%%%%%%%%
\subsection{mfpic}
%%%%%%%%%%%%%%%%%%%%
\<configure html4 mfpic\><<<
\expandafter \ifx\csname if@mfp@latexe\endcsname\relax
|<non 2005 latex mpic|>
\else
|<2005 latex mpic|>
\fi
>>>
\<non 2005 latex mpic\><<<
\Configure{mfpic} {\Picture+{}} {\EndPicture}
>>>
\<2005 latex mpic\><<<
\ConfigureEnv{mfpic} {\Picture+{}} {\EndPicture}{}{}
>>>
%%%%%%%%%%%%%%%%%%%
\section{Slides}
%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%
\subsection{powerdot}
%%%%%%%%%%%%%%%%%%%
\<configure html4 powerdot\><<<
|<powerdot fields|>
\Configure{@HEAD}
{\HCode{\Hnewline<!--
http://www.w3.org/Talks/Tools/Slidy/slidy.js -->\Hnewline
<script src="Slidy/slidy.js"
type="text/javascript"><![CDATA[ \Hnewline
]]></script>\Hnewline}}
\Log:Note{Requires the slidy.js and *.css files from
http://www.w3.org/Talks/Tools/Slidy/slidy.zip
in subdirectory Slidy}
>>>
\<configure html4 powerdot\><<<
\def\:temp#1font=#2,#3|<par del|>{%
\if !#2!%
\Log:Note{for adjusted font size, use
the command line option `font=...' (e.g., font=-2)}
\else
\Configure{@HEAD}
{\HCode{<meta name="font-size-adjustment"
content="#2" />}\Hnewline}
\fi}
\expandafter\:temp\Preamble ,font=,|<par del|>
>>>
\<configure html4 powerdot\><<<
\Configure{maketitle}
{\ifvmode \IgnorePar\fi \EndP |<title for TITLE|>%
\HCode{<div class="slide cover"><div class="maketitle">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div></div>}}
{\NoFonts\IgnorePar\HCode{<h1 class="slideTitle"\a:LRdir>}\IgnorePar}
{\HCode{</h1>}\IgnoreIndent\EndNoFonts}
\Css{div.slide.cover{width:100\%;}}
>>>
\<configure html4 powerdot\><<<
\ConfigureEnv{titleslide}{}{}{}{}
\ConfigureEnv{slide}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="slide">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{} {}
\ConfigureEnv{sectionslide}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="slide">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{} {}
>>>
\<configure html4 powerdot\><<<
\Configure{slidetitle}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<h1 class="slideTitle">}\IgnorePar\bgroup
\ConfigureEnv{minipage}{}{}{}{}}
{\egroup\ifvmode \IgnorePar\fi \EndP \HCode{</h1>}\ShowPar\par}
>>>
\<configure html4 powerdot\><<<
\Css{div.toolbar {
position: fixed; z-index: 200;
top: auto; bottom: 0; left: 0; right: 0;
height: 1.2em; text-align: right;
padding-left: 1em;
padding-right: 1em;
font-size: 60\%;
color: \#FF0000; background: \#EEEEEE;
} }
>>>
\<configure html4 powerdot\><<<
\ConfigureList{itemize}%
{|<start pause region|>%
\EndP\HCode{<ul \a:LRdir
class="|<cond incremental|>itemize\expandafter\the
\csname @itemdepth\endcsname">}%
|<save end:itm|>\global\let\end:itm=\empty}
{|<recall end:itm|>\ifvmode \IgnorePar\fi
\EndP\HCode{</li></ul>}\ShowPar
|<end pause region|>}
{\end:itm \global\def\end:itm{\EndP\Tg</li>}\DeleteMark}
{\HCode{<li class="itemize">}|<list par|>}
>>>
\<configure html4 powerdot\><<<
\ConfigureList{enumerate}%
{|<start pause region|>|<powerdot enumerate I|>}
{|<enumerate II|>}
{|<enumerate III|>}
{|<enumerate IV-|>|<end pause region|>}
>>>
\<powerdot enumerate I\><<<
\EndP\HCode{<ol \a:enumerate:\space
class="|<cond incremental|>enumerate\expandafter
\the\csname @enumdepth\endcsname"
\a:LRdir
>}|<save end:itm|>\global\let\end:itm=\empty
>>>
\<configure html4 powerdot\><<<
\ConfigureList{description}%
{|<start pause region|>\EndP\HCode{<dl \a:LRdir
class="|<cond incremental|>description">}%
|<save end:itm|>\global\let\end:itm=\empty}
{|<recall end:itm|>\EndP\HCode{</dd></dl>}\ShowPar
|<end pause region|>}
{\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
class="description">}\AnchorLabel\bgroup \bf}
{\egroup\EndP\HCode{</dt><dd\Hnewline class="description">}|<list par|>}
>>>
\<configure html4 powerdot\><<<
\def\pause{\hbox{\expandafter\global\expandafter\let\csname
pi-\pauseId\endcsname=\def}}
\let\pd:item\pd@item
\def\pd@item[#1]<#2>{\pd:item[#1]<>\pause}
>>>
\<cond incremental\><<<
\ifTag{pi-\pauseId}{incremental }%
>>>
\<powerdot fields\><<<
\HAssign\PauseId = 0
\HAssign\pauseId = 0
>>>
\<start pause region\><<<
\PushStack\Table:Stck\pauseId
\gHAdvance\PauseId by 1
\global\let\pauseId=\PauseId
>>>
\<end pause region\><<<
\expandafter\ifx\csname pi-\pauseId\endcsname\relax \else
\expandafter\global\expandafter\let\csname
pi-\pauseId\endcsname=\:UnDef
\Tag{pi-\pauseId}{}%
\fi
\PopStack\Table:Stck\pauseId
\global\let\pauseId=\pauseId
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{Beamer}
%%%%%%%%%%%%%%%%%%%
\<configure html4 beamer\><<<
|<beamer slides|>
|<beamer environments|>
\ifx \beamer@version\:UnDef
|<beamer toc 0.8 and 0.3|>
\fi
>>>
\<beamer environments\><<<
\let\block:Name=\empty
\ConfigureEnv{block}
{\par\IgnorePar\EndP
\ifx \block:Name\empty \def\block:Name{block}\fi
\HCode{<div class="\block:Name">}\global\let\block:Name=\empty}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{} {}
\ConfigureEnv{alertblock}
{\par\IgnorePar\EndP
\ifx \block:Name\empty \def\block:Name{alertblock}\fi
\HCode{<div class="\block:Name">}\global\let\block:Name=\empty}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{} {}
\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}} {} {} {}
>>>
\<beamer toc 0.8 and 0.3\><<<
\ConfigureEnv{exampleblock}
{\par\IgnorePar\EndP
\ifx \block:Name\empty \def\block:Name{exampleblock}\fi
\HCode{<div class="\block:Name">}\global\let\block:Name=\empty}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{} {}
>>>
\<beamer environments\><<<
\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}} {} {} {}
\Css{div.Example, div.examplblock, div.Beispiele,
div.Beispiel, div.Examples, div.example, div.examples{color:green;}}
>>>
\<beamer environments\><<<
\Configure{beamerbiblatex}{\HCode{<div class="bibitem"><div class="label">}}
{\HCode{</div><div class="bibcontent">}}{\HCode{</div></div>\Hnewline}}
\Css{.bibitem{display:grid;grid-template-columns:min-content 1fr;}}
>>>
\<beamer slides\><<<
\:CheckOption{1} \if:Option
\ConfigureEnv{slide}
{\ifvmode \IgnorePar\fi \EndP
\ifnum \Slide:cnt>0 \HPage{}\fi
\ifvmode \IgnorePar\fi \EndP
|<beamer header|>%
\HCode{<div class="slide">}\par
}
{\ifvmode \IgnorePar\fi \EndP
\HCode{</div>}\ifnum \Slide:cnt>1\relax \EndHPage{}\fi}
{} {}
\Css{div.slide {border-top:solid black 0.4pt;}}
\else
\Log:Note{for pagination of slides,
use the command line option `1'}
\ConfigureEnv{slide}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<hr class="hidden" />}%
|<beamer header|>%
\HCode{<div class="slide">}\par
}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{} {}
\Css{div.slide {border:solid black 0.4pt;}}
\fi
>>>
This is code for the moder Beamer
\<beamer slides\><<<
\Configure{frame}{\ifvmode\IgnorePar\fi\EndP
\HCode{<div class="slide">}
}{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}}
\Configure{frametitle}{\ifvmode\IgnorePar\fi\EndP\HCode{<h2>}\NoFonts}{\EndNoFonts\ifvmode\IgnorePar\fi\EndP\HCode{</h2>}\par\ShowPar}
\Css{div.slide {border:solid black 0.4pt;margin-bottom:1em;}}
>>>
\<beamer toc 0.8 and 0.3\><<<
\Configure{frametitle}
{\ifvmode \IgnorePar\fi \EndP \HCode{<h2 class="frametitle">}\bgroup
\Configure{HtmlPar}{ }{ }{}{}%
}
{\egroup \ifvmode \IgnorePar\fi \EndP \HCode{</h2>}}
>>>
\<configure html4 beamer\><<<
\Css{h1, h2, span.inst sup{font-size:100\%;}}
\ConfigureEnv{overlayarea}
{\bgroup
\ConfigureEnv{minipage}
{\bgroup \IgnorePar\EndP
\ConfigureEnv{minipage}
{\bgroup \IgnorePar\EndP
\HCode{<table class="minipage"><tr><td>}}
{\EndP\HCode{</td></tr></table>}\egroup }
{}{}%
}
{\EndP\egroup }
{}{}
}
{\egroup} {}{}
>>>
\<configure html4 beamer\><<<
\Configure{sec@slide}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="hidden">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par
|<beamer cross links|>\par}
\Css{.hidden {visibility:hidden;}}
\Css{table.columns {width:100\%;}}
\Css{td.column {vertical-align:top;}}
>>>
\<configure html4 beamer\><<<
\Configure{inst}
{\HCode{<span class="inst">}}
{\HCode{</span>}}
\Configure{titlepage}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="titlepage">}%
\gHAdvance\Slide:cnt by 1
\Link{}{sl1}\EndLink
|<beamer cross links|>%
}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{title}
{\ifvmode \IgnorePar\fi \EndP \HCode{<h1 class="title">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</h1>}}
\Configure{author}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="author">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{institute}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="institute">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{date}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="date" \a:LRdir>}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{andtitle}{\HCode{<br />}}
\Css{div.titlepage {text-align:center;}}
\Css{div.institute { margin-bottom: 1em; margin-top: 1em;}}
>>>
\<configure html4 beamer\><<<
\ConfigureEnv{columns}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<table class="columns"><tr>}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</tr></table>}}
{}{}
\ConfigureEnv{column}
{\bgroup
\ConfigureEnv{minipage}
{\bgroup \IgnorePar\EndP
\ConfigureEnv{minipage}
{\bgroup \IgnorePar\EndP
\HCode{<table class="minipage"><tr><td>}}
{\EndP\HCode{</td></tr></table>}\egroup }
{}{}%
}
{\EndP\egroup }
{}{}%
\HCode{<td class="column">}%
}
{\ifvmode \IgnorePar\fi \EndP \HCode{</td>}\egroup}
{}{}
>>>
\<configure html4 beamer\><<<
\ifx \beamer@version\:UnDef
|<shared conf beamer 0.8 and 0.3|>
\ifx \insertinstituteshort\:UnDef
|<conf beamer 0.8|>
\else
|<conf beamer 0.3|>
\fi
\else
|<conf beamer 3.01|>
\fi
>>>
\<shared conf beamer 0.8 and 0.3\><<<
\Configure{sectionshadedintoc}
{\HCode{<div class="sectionshadedintoc">}}
{\ifvmode \IgnorePar\fi \HCode{</div>}}
\Configure{sectionintoc}
{\HCode{<div class="sectionintoc">}}
{\ifvmode \IgnorePar\fi \HCode{</div>}}
\Configure{subsectionshadedintoc}
{\HCode{<div class="subsectionshadedintoc">}}
{\ifvmode \IgnorePar\fi \HCode{</div>}}
\Configure{subsectionintoc}
{\HCode{<div class="subsectionintoc">}}
{\ifvmode \IgnorePar\fi \HCode{</div>}}
\Css{div.sectionintoc, div.sectionshadedintoc{ margin-top:1em; }}
\Css{div.tableofcontents
{ padding-left:1em; padding-right:1em; padding-bottom:1em; }}
\Css{.tableofcontents div.subsectionintoc,
.tableofcontents div.subsectionshadedintoc{ margin-left:1em; }}
>>>
\<configure html4 beamer\><<<
\ConfigureToc{toc}
{}
{\Configure{TocLink}
{\def\hyperlink########1########2{\Link{####2}{}########2\EndLink}####4}%
\leavevmode}
{}{\par}
\Configure{tableofcontents}
{\IgnorePar\EndP \HCode{<div class="TableOfContents"\a:LRdir>}}{}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\ShowPar}
{}{}
>>>
\<beamer cross links\><<<
\slides:toc
>>>
\<beamer header\><<<
\gHAdvance\Slide:cnt by 1
\ifx \sec:name\empty
\HCode{<div class="hidden">}\Link{}{sl\Slide:cnt}\EndLink
\HCode{</div>}%
\else
\HCode{<div class="header">}\Link{}{sl\Slide:cnt}\EndLink
\sec:name
\ifx \subsec:name\empty \else \HCode{<br />}\subsec:name\fi
\HCode{</div>}%
\fi
>>>
\<configure html4 beamer\><<<
\let\beamer:section=\@section
\def\@section[#1]#2{\beamer:section[#1]{#2}%
\gHAdvance\:bookmarkN by 1
\def\sec:name{#2}\let\subsec:name=\empty}
\append:defI\subsection{%
\gHAdvance\:bookmarkN by 1
\def\subsec:name{#1}}
\HAssign\:bookmarkN=0
\let\sec:name=\empty
\let\subsec:name=\empty
\Css{div.header{ margin:0; text-align:right; font-size:70\%; }}
>>>
\<configure html4 beamer\><<<
\gHAssign\Slide:cnt=0
\def\slides:toc{%
|<beamer bookmarks|>%
|<beamer toc frames|>%
\gdef\slides:toc{\ifvmode \IgnorePar\fi \EndP
\HCode{<p class="links">}|<set beamer cross links|>%
\HCode{</p>}\par}%
\slides:toc
}
\Css{p.links{ margin:0; float:right; text-align:right;
font-size:70\%; }}
>>>
\<set beamer cross links\><<<
\bgroup
\HAdvance\Slide:cnt by 1\relax
\ifTag{)Qsl\Slide:cnt}{\Link{sl\Slide:cnt}{}next\EndLink\HCode{<br />}}{}%
\egroup
\ifnum \Slide:cnt>1
\bgroup
\HAdvance\Slide:cnt by -1
\Link{sl\Slide:cnt}{}prev\EndLink\HCode{<br />}%
\ifnum \:bookmarkN>0\relax
\Link[ target="|<tex4ht-menu|>"
]{tc-\:bookmarkN}{}toc\EndLink\HCode{<br />}%
\fi
\Link{sl1}{}top\EndLink\HCode{<br />}%
{\HAdvance\Slide:cnt by 1\relax \Slide:cnt}%
\egroup
\else
\Link[ target="|<tex4ht-menu|>"]{bookmark}{}toc\EndLink
\fi
>>>
\<beamer bookmarks\><<<
\:CheckOption{frames}\if:Option\else
\bgroup
\HPage{}{\beamer:bookmarks\tableofcontents}\EndHPage{}%
\egroup
\fi
>>>
\<configure html4 beamer\><<<
\:CheckOption{frames}\if:Option
\:CheckOption{ver}\if:Option
|<beamer ver frames|>
\else
\Log:Note{for vertically stacked frames,
use the command line options `frames' and `ver'}
|<beamer hor frames|>
\fi
\Css{body\#tex4ht-menu{ background-color:\#EEEEEE; }}
\fi
\def\beamer:bookmarks{%
\Link{}{bookmark}\EndLink
\HAssign\:bookmarkN=0
|<beamer bookmark config|>%
\Configure{tableofcontents}
{\IgnorePar\EndP \HCode{<div class="bookmarks">}}{}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\ShowPar}
{}{}
\let\std:tableofcontents\tableofcontents
\def\tableofcontents{\std:tableofcontents[section,subsection]}%
}
>>>
\<beamer bookmark config\><<<
\:CheckOption{frames}\if:Option
\Configure{TocLink}
{\HAdvance\:bookmarkN by 1\relax
\Link{##2}{tc-\:bookmarkN}##4\ifvmode
\IgnorePar\fi \EndLink}
\else
\Configure{TocLink}
{\HAdvance\:bookmarkN by 1\relax
\Link[ target="|<tex4ht-main|>"]{##2}{tc-\:bookmarkN}##4\ifvmode
\IgnorePar\fi \EndLink}
\fi
>>>
\<configure html4 beamer\><<<
\ConfigureToc{section}
{}{\HCode{<div class="sectionintoc">}} {\HCode{</div>}} {}{}
\ConfigureToc{subsection}
{}
{\HCode{<div class="subsectionintoc">}}
{\HCode{</div>}} {}{}
\Css{div.bookmarks {white-space: nowrap;}}
\Css{div.bookmarks div.subsectionintoc a { text-decoration: none;
font-size:85\%;}}
>>>
\<configure html4 beamer\><<<
\Configure{alert}
{\HCode{<span class="alert">}}
{\HCode{</span>}}
\Css{span.alert {color:\#FF0000;}}
\Hinclude{%
\Configure{HColor}{alert}{rgb(100\%,0\%,0\%)}%
\Configure{HColor}{blockstructure}{rgb(20\%,20\%,70\%)}%
\Configure{HColor}{darkgreen}{rgb(15\%,60\%,15\%)}%
\Configure{HColor}{lightgray}{rgb(90\%,90\%,90\%)}%
\Configure{HColor}{shaded}{rgb(60\%,60\%,60\%)}%
\Configure{HColor}{structuremedium}{rgb(30\%,30\%,30\%)}%
\Configure{HColor}{structureshaded}{rgb(75\%,75\%,75\%)}%
\Configure{HColor}{structure}{rgb(0\%,0\%,0\%)}%
}{color}
>>>
The following is problematic when used on titles.
\begin{verbatim}
\Configure{structure}
{\HCode{<span class="structure">}}
{\HCode{</span>}}
\Css{span.structure {color:\#000000;}}
\end{verbatim}
%%%%%%%%%%%%%%%
\subsection{foils}
%%%%%%%%%%%%%%%
\<configure html4 foils\><<<
\Configure{foilhead} {}{}
{\IgnorePar\EndP\HCode{<h2 class="foilheadHead" \a:LRdir>}}
{\HCode{</h2>}\par\ShowPar}
\ConfigureEnv{Theorem}{\par\leavevmode}{\ShowPar}{}{}
\ConfigureEnv{Lemma}{\par\leavevmode}{\ShowPar}{}{}
\ConfigureEnv{Corollary}{\par\leavevmode}{\ShowPar}{}{}
\ConfigureEnv{Corollary*}{\par\leavevmode}{\ShowPar}{}{}
\ConfigureEnv{Proposition}{\par\leavevmode}{\ShowPar}{}{}
\ConfigureEnv{Definition}{\par\leavevmode}{\ShowPar}{}{}
\ConfigureEnv{Proof}{\par\leavevmode}{\ShowPar}{}{}
|<foils bib|>
\:CheckOption{1} \if:Option
\CutAt{foilhead}
|<foils toc 1|>%
\else
\Log:Note{for pagination of slides,
use the command line option `1'}
\fi
{\Configure{Needs}{Font\string_Size: #1}\Needs{\@ptsize}}
\Css{h2.foilheadHead{text-align:center;}}
>>>
\<configure html4 foils\><<<
\Configure{maketitle}
{\ifvmode \IgnorePar\fi \EndP |<title for TITLE|>%
\HCode{<div class="maketitle">}%
\bgroup
\Configure{tabular}{}{}{}{}{\ifnum \HRow>1 \HCode{<br />}\fi}{}%
\ConfigureEnv{tabular}{}{}{}{}%
}
{\egroup \ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{\NoFonts
\IgnorePar \EndP
\HCode{<h1 class="titleHead"\a:LRdir>}\IgnorePar}
{\HCode{</h1>}\IgnoreIndent\EndNoFonts}
\Configure{author date}
{\ifvmode \IgnorePar\fi\EndP \HCode{<div class="author" \a:LRdir>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{<div class="date" \a:LRdir>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
\Configure{thank}
{|<thank mark sup|>\Link{tk-\the\c@footnote}{}}
{\EndLink |<thank mark end sup|>}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="thank">}%
\IgnorePar
\protect\Link{}{tk-\the\c@footnote}\protect
\EndLink |<thank mark sup|>}
{|<thank mark end sup|>}
{\ifvmode \IgnorePar\fi \EndP\HCode{</div>}}
\Css{h1.titleHead{text-align:center;}}
\Css{div.author{margin-top:3em;text-align:center;}}
\Css{div.date{margin-top:2em;text-align:center;}}
\Css{div.thank{margin-top:3em;}}
\Css{div.thank + div.thank{margin-top:0em;}}
>>>
\<configure html4 foils\><<<
\Configure{crosslinks+}
{\ifvmode\IgnorePar\fi\EndP \NoFonts
\HCode{|<show input line no|>%
<div class="crosslinks"><p class="noindent">}}
{\HCode{</p></div>}\par\ShowPar \EndNoFonts}
{|<insert inline footnotes |>%
\ifvmode \IgnorePar\fi \EndP
\HCode{|<show input line no|>%
<div class="crosslinks"><p class="noindent">}\NoFonts }
{\EndNoFonts\HCode{</p></div>}\par\ShowPar}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%
\section{epigraph.sty}
%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 epigraph\><<<
\Configure{epigraphhead}
{\IgnorePar\EndP\HCode{<div class="epigraphhead">}}
{\ifvmode \IgnorePar\fi \EndP\HCode{</div>}}
\Configure{epigraph}
{\IgnorePar\EndP\HCode{<div class="epigraph">}}
{\IgnorePar\EndP\HCode{<div class="episource">}}
{\ifvmode \IgnorePar\fi \EndP\HCode{</div></div>}}
\ConfigureEnv{epigraphs}
{\IgnorePar\EndP\HCode{<div class="epigraphs">}}
{\ifvmode \IgnorePar\fi \EndP\HCode{</div>}} {}{}
\Configure{qitem}
{\IgnorePar\EndP\HCode{<div class="qitem">}}
{\IgnorePar\EndP\HCode{<div class="episource">}}
{\ifvmode \IgnorePar\fi \EndP\HCode{</div></div>}}
\Css{.epigraph, .epigraphhead, epigraphs {margin-left:60\%}}
\Css{.epigraphhead .epigraph {margin-left:0\%}}
\Css{.episource {text-align:right}}
\Configure{epirule} {\ifvmode \IgnorePar\fi \EndP\Tg<hr />\par}
\Css{.epigraphs table { width:40\% ;}}
\Css{.epigraphs table div .episource { text-align:right; width:100\%;}}
>>>
%%%%%%%%%%%%%%%%%%
\subsection{slides}
%%%%%%%%%%%%%%%%%%
\<configure html4 slides\><<<
\:CheckOption{1} \if:Option
|<multi slides|>
\else
\Log:Note{for pagination of slides,
use the command line option `1'}
\ConfigureEnv{slide}
{\ifnum \c@slide=0
\IgnorePar\EndP\HCode{<hr />}\fi}
{\rightline{\a:slidename}%
\IgnorePar\EndP\par\HCode{<hr />}}
{}{}
\fi
>>>
\<multi slides\><<<
\ConfigureEnv{slide}
{\ifnum \c@slide=0 \EndP\ShowPar\else\IgnorePar\fi}
{}
{}{}
\CutAt{slide}
\Configure{crosslinks}{[}{] }{next}{prev}{}{}{}{up}
\Configure{crosslinks+}
{}{}
{\IgnorePar\EndP \HCode{<div
class="crosslinks"><p class="noindent">}%
{\advance\c@slide by -1 \the\c@slide}: }
{\HCode{</p></div>}\par}
\Css{.crosslinks{text-align:right;font-size:85\%;}}
>>>
\<configure html4 slides\><<<
|<quote config|>
|<quotations|>
|<description 4|>
|<roman enumeiii|>
\ConfigureEnv{verse}
{\Tg<div class="verse">}
{\Tg</div>}
{}{}
\ConfigureEnv{note}
{\Tg<div class="note">}
{\Tg</div>}
{}{}
\ConfigureEnv{titlepage}
{\Tg<div class="titlepage">}
{\Tg</div>}
{}{}
>>>
\<configure html4 slides\><<<
\Configure{maketitle}
{\ifvmode \IgnorePar\fi \EndP |<title for TITLE|>%
\vtop\bgroup \IgnorePar \EndP \HCode{<div class="maketitle">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\egroup}
{\NoFonts\IgnorePar\HCode{<h2 class="titleHead"\a:LRdir>}\IgnorePar}
{\HCode{</h2>}\IgnoreIndent\EndNoFonts}
\Css{h2.titleHead{text-align:center;}}
\Css{div.maketitle{ margin-bottom: 2em; text-align:center; }}
\Configure{author date}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="author" \a:LRdir>}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="date" \a:LRdir>}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Css{div.author, div.date {text-align:center;}}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Prosper}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 prosper\><<<
|<prosper maketitle|>
|<prosper lists|>
>>>
\<configure html4 prosper\><<<
\Configure{slidetitle}
{\NoFonts \ifvmode \IgnorePar\fi \EndP
\HCode{<h2 class="slidetitle">} }
{\ifvmode \IgnorePar\fi \EndP \HCode{</h2>}\EndNoFonts}
\Css{h2.slidetitle {text-align:center;}}
>>>
\<configure html4 prosper\><<<
\Configure{Subtitle}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="Subtitle">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{email}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="email">}\Link[mailto:\@email]{}{}}
{\EndLink \ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{institution}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="institution">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Css{div.email, div.institution {text-align:center;}}
>>>
\<configure html4 prosper\><<<
\:CheckOption{1} \if:Option
|<paginated prosper|>
\else
\Log:Note{for pagination of slides,
use the command line option `1'}
|<non paginated prosper|>
\fi
\:CheckOption{nolayers} \if:Option
\def\itemstep{\itemize}
\def\enditemstep{\enditemize}
\let\overlays=\:gobble
\else
\Log:Note{to remove overlays of slides,
use the command line option `nolayers'}
\fi
>>>
\<non paginated prosper\><<<
\ConfigureEnv{slide}
{\ifvmode \IgnorePar\fi \EndP\HCode{<hr />}\par}
{\rightline{\bgroup
\ifx \slide\SlideNormal \advance\c@slide by -1 \fi
\ifnum \c@slide>0
\the\c@slide
\ifx \slide\SlideOverlay .\the\c@overlaysCount\fi
\fi
\egroup
}}{}{}
>>>
\<paginated prosper\><<<
\HAssign\Slide:cnt=0
\ConfigureEnv{slide}
{\ifnum \Slide:cnt>0
\ifnum \Slide:cnt>1
\ifvmode\IgnorePar\fi
\fi |<start prosper page|>%
}
{\ifnum \Slide:cnt=1
\else |<end prosper page|>\fi
}
{}{}
>>>
\<start prosper page\><<<
\ifnum \Slide:cnt=1
\IgnorePar \par\EndP \HCode{<hr />}\par
\fi
\noindent
\HPage{\the\c@slide
\ifx \slide\SlideOverlay .\the\c@overlaysCount\fi
}\fi
\gHAdvance\Slide:cnt by 1
\Tag{f-\Slide:cnt}{\FileName}%
>>>
\<end prosper page\><<<
\rightline{|<foot paginated prosper|>}%
\EndHPage{}~~
>>>
\<foot paginated prosper\><<<
\bgroup
\ifx \slide\SlideNormal \advance\c@slide by -1 \fi
\the\c@slide
\egroup
\ifx \slide\SlideOverlay .\the\c@overlaysCount\fi,
\bgroup
\HAdvance\Slide:cnt by 1
\ifTag{f-\Slide:cnt}{\Link
[\LikeRef{f-\Slide:cnt}]{}{}next\EndLink, }{}%
\egroup
\bgroup
\ifnum \Slide:cnt>1
\HAdvance\Slide:cnt by -1
\Link[\LikeRef{f-\Slide:cnt}]{}{}prev\EndLink,
\fi
\egroup
\Link[\LikeRef{f-1}]{}{}up\EndLink%
\ifTag{prosperTOC}{%
\edef\:temp{\FileName}\edef\:tempa{\LikeRef{prosperTOC}}%
\ifx \:temp\:tempa \else,
\Link[\LikeRef{prosperTOC}]{}{}toc\EndLink}{}\fi
>>>
\<paginated prosper\><<<
\Configure{tableofcontents}
{\ifx \prosperTOCtag\:UnDef
\global\let\prosperTOCtag\def
\Tag{prosperTOC}{\FileName}%
\fi
\IgnorePar\EndP
\HCode{<div class="tableofcontents"\a:LRdir>}\IgnorePar}
{}
{\IgnorePar\EndP\HCode{</div>}\ShowPar}
{\HCode{<br />}} {}
>>>
FROM MANUAL:
When translated into PDF files, \texttt{prosper} slides benefit from
additional possibilities such as transition effects between slides and
incremental display of a slide with several animation effects. The
currently supported transitions are:
\begin{itemize}
\item {Split}: two lines sweep across the screen revealing the
new slide;
\item {Blinds}: multiple lines, evenly distributed across the
screen, appear and synchronously sweep in the same direction to
reveal the new slide;
\item {Box}: a box sweeps from the center, revealing the new slide;
\item {Wipe}: a single line sweeps across the screen from one
edge to the other, revealing the new slide;
\item {Dissolve}: the old page image dissolves to reveal the new slide;
\item {Glitter}: similar to \texttt{Dissolve}, except the
effect sweeps across the image in a wide band moving from one side
of the screen to the other;
\item {Replace}: the effect is simply to replace the old page
with the new page.
\end{itemize}
%%%%%%%%%%%%%%%%%%
\subsection{seminar}
%%%%%%%%%%%%%%%%%%
\<configure html4 seminar\><<<
\ConfigureEnv{slide}
{\ifvmode \IgnorePar\fi \EndP\HCode{<hr />}\par}
{\rightline{\the\c@slide}}{}{}
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{slidesec}
%%%%%%%%%%%%%%%%%%%
\<configure html4 slidesec\><<<
\ConfigureToc{slidesection}
{\HCode{<span class="tocslidesection">}}{\ }{}{\HCode
{</span><br />}}
>>>
%%%%%%%%%%%%%%%%%%%
\section{Lit Prog and Verbatim}
%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%
\subsection{ProTex}
%%%%%%%%%%%%%%%%%%%
\<configure html4 ProTex\><<<
\def\NAME:{ id=}
\:CheckProtexOption{[[]]}\if:Option
|<frame protex code|>
\fi
>>>
\<frame protex code\><<<
\HAssign\ShowCodeN = 0
\Configure{FrameCode}
{\ifvmode \IgnorePar\fi \EndP
\gHAdvance\ShowCodeN by 1
|<lynx separator|>%
\HCode{<div class="ShowCode"
id="ShowCode-\ShowCodeN">\ifx \:test\:minus
\else<div class="head">\fi}\par\IgnorePar}
{\ifvmode \IgnorePar\fi \EndP
\HCode{</div></div>}}
\Configure{ShowCode}
{\HCode{\ifx \:test\:minus \else </div>\fi
\html:src<div class="body"><span class="ShowCode"
style="font-family:monospace,monospace;white-space:nowrap;"
>\html:invisible}%
\nobreak
}
{\special{t4ht=\html:src</span>%
\ifx \:test\:minus \else
</div><div class="tail">\html:BackTitle\fi}}
{\HCode{<br />\html:invisible}}
{\HCode{<i>}}
{\HCode{</i>}}
{|<nbsp|>}
\Css{div.ShowCode{background-color:\#EEEEEE; border: 1px white solid;}}
\Css{div.ShowCode div.head{background-color:\#E0E0E0;}}
\Css{div.ShowCode div.tail{background-color:\#E0E0E0;}}
>>>
\<nbsp\><<<
\:nbsp%
>>>
There used to be this code:
\verb|\leavevmode\special{t4ht@+\string&{35}x00A0{59}}x|
The \verb|\:nbsp| is universal non breaking spacing macro for TeX4ht. It
handles cases when it is used inside pictures, so it should be used instead of
explicit specials.
The `59' stands for semicolon. Explicit character might be problematic
for languages (e.g., French) where the cahacter is active and may be
imported from aux or another file.
\<lynx separator\><<<
\ifx \par:end\empty \HCode{<p></p>}\fi
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{moreverb}
%%%%%%%%%%%%%%%%%%%
\<configure html4 moreverb\><<<
|<moreverb.sty config 4.0t|>
>>>
\<moreverb.sty config 4.0t\><<<
\ConfigureEnv{verbatimtab}
{\env:verb{verbatim}}
{\endenv:verb}{}{}
\Configure{verbatimtab}
{\HAdvance\Verb:N by 1 \ifnum \Verb:N>1 \:nbsp \HCode{<br />}\fi}
{\a:sp}
\ConfigureEnv{boxedverbatim}
{\env:verb{boxedverbatim}}{\endenv:verb}{}{}
\ConfigureEnv{boxedverbatim*}
{\env:verb{boxedverbatim}}{\endenv:verb}{}{}
\Css{table.boxedverbatim {width:100\%;}}
>>>
\<moreverb.sty config 4.0t\><<<
\ConfigureEnv{boxedverbatim}
{\env:verB{boxedverbatim}}{\endenv:verb}{}{}
\ConfigureEnv{boxedverbatim*}
{\env:verB{boxedverbatim}}{\endenv:verb}{}{}
\def\env:verB#1{\IgnorePar\HCode{<table \Hnewline
class="#1"><tr class="#1"><td \Hnewline
class="#1"><pre class="#1">}\EndNoFonts}
\Css{ pre.boxedverbatim{border:solid 1px; padding-right:1em;} }
\Css{table.boxedverbatim {text-align:center;}}
>>>
\<moreverb.sty config 4.0t\><<<
\Configure{listinginput}
{\HCode{<div class="listinginput">}}
{\IgnorePar\HCode{</div>}}
\Css{.listinginput p{ margin-bottom:0em; margin-top:0em; }}
>>>
\<moreverb.sty config 4.0t\><<<
\Configure{verbatimtabinput}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="verbatimtabinput"\a:LRdir>}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{fancyvrb}
%%%%%%%%%%%%%%%%%%%
We need to use special instructions to prevent extra blank lines that
are comming from fancyvrb somehow. "x" before closing tag for "pre"
is necessary because the last newline was not deleted otherwise.
\<configure html4 fancyvrb\><<<
\HAssign\fancyvrbNo|=0
\Configure{fancyvrb}
{\IgnorePar \EndP \gHAdvance\fancyvrbNo by 1
\gHAssign\fancyvrb:cnt0
\HCode{<pre class="fancyvrb" id="fancyvrb\fancyvrbNo">}\ht:special{t4ht@[}}
{x\ht:special{t4ht@]}\EndP\HCode{</pre>}}
{\ht:special{t4ht@]}\gHAdvance\fancyvrb:cnt by 1
\ifnum \fancyvrb:cnt>1
\HCode{\Hnewline}\fi} {}
{}{\ht:special{t4ht@[}}
\Css{pre.fancyvrb {white-space: pre-wrap; margin:0em;font-family:monospace,monospace;}}
>>>
The following is harmful at the start of section 1.1 in
listings.dtx.
\begin{verbatim}
\ConfigureEnv{verbatim}{\HAssign\Verb:N=0\relax}{\empty}{}{}
\ConfigureEnv{verbatim*}{\HAssign\Verb:N=0\relax}{\empty}{}{}
\end{verbatim}
\<configure html4 fancyvrb\><<<
\Configure{fancyvrbcolor}
{\Css{pre\#fancyvrb\fancyvrbNo { color: \HColor; }}}
{\Css{pre\#fancyvrb\fancyvrbNo { background-color: \HColor;}}}
{\Css{pre\#fancyvrb\fancyvrbNo { border-color: \HColor;}}}
>>>
\<configure html4 fancyvrb\><<<
\Configure{fancyvrbframe}
{\Css{pre\#fancyvrb\fancyvrbNo { border-top: solid \HSize; }}}
{\Css{pre\#fancyvrb\fancyvrbNo { border-left: solid \HSize; }}}
{\Css{pre\#fancyvrb\fancyvrbNo { border-bottom: solid \HSize; }}}
{\Css{pre\#fancyvrb\fancyvrbNo { border-right: solid \HSize; }}}
{\Css{pre\#fancyvrb\fancyvrbNo {border-width:\HSize;}}}
{\Css{pre\#fancyvrb\fancyvrbNo {padding:\HSize;}}}
>>>
\<configure html4 fancyvrb\><<<
\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}{}
>>>
%%%%%%%%%%%%%%%%%%%%
\subsection{minted}
%%%%%%%%%%%%%%%%%%%%
Configuration for the inline code
\<configure html4 minted\><<<
\Configure{InlineCode}{\HCode{<code class="minted-inline">}\NoFonts}{\EndNoFonts\HCode{</code>}}
\Css{code.minted-inline{font-family:monospace,monospace;}}
>>>
Configuration for listings with colored backgrounds
\<configure html4 minted\><<<
\Configure{MintedColorbg}
{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="minted-color-box" style="background-color:\#\minted:bgcolor">}}
{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}}
>>>
%%%%%%%%%%%%%%%%%%%%
\subsection{piton}
%%%%%%%%%%%%%%%%%%%%
\<configure html4 piton\><<<
% handle \color commands
% piton already uses hexadecimal colors, so we don't need to convert them for use in CSS
\def\:endundeclaredcolor{\HCode{</span>}}
\def\:undeclaredcolor[#1]#2{\o:@undeclaredcolor:[#1]{#2}
\HCode{<span style="color:\##2">}\aftergroup\:endundeclaredcolor
}
\Configure{piton}{%
\ifvmode\IgnorePar\fi\EndP\HCode{<pre class="piton">}\HtmlParOff\NoFonts%
\Configure{newline}{\HCode{\Hnewline}}% don't insert any special tags for newlines, only newline characters
}
{\EndNoFonts\HCode{</pre>}\HtmlParOn}
\Configure{pitonline}{\HLet\@undeclaredcolor\:undeclaredcolor}{\HCode{<code style="white-space:pre">}}{\HCode{</code>}}
\Configure{pitonnumber}{\HCode{<span class="linenumber">}}{\HCode{</span>}}
\Css{pre.piton{font-family: monospace,monospace; font-size:1rem; text-align:left; clear:both; }}
\Css{.piton .linenumber{font-size: small; margin-right: 1em;}}
>>>
%%%%%%%%%%%%%%%%%%%%
\subsection{pythontex}
%%%%%%%%%%%%%%%%%%%%
Configuration for the inline code
\<configure html4 pythontex\><<<
\Configure{InlineCode}{\HCode{<code>}}{\HCode{</code>}}
>>>
%%%%%%%%%%%%%%%%%%%%%
\subsection{Listings}
%%%%%%%%%%%%%%%%%%%%%
Inline listings snippets. We need to suppress fonts and spurious paragraphs,
which are inserted inside tables.
\<configure html4 listings\><<<
\Configure{lstinline}
{\HCode{<code class="lstinline">}\HtmlParOff\NoFonts}
{\EndNoFonts\HtmlParOn\HCode{</code>}}
\Css{code.lstinline{font-family:monospace,monospace;}}
>>>
\<configure html4 listings\><<<
\Log:Note{to ensure proper alignments use
fixed size fonts (see listings.dtx)}
>>>
This configuration is used mainly when user defines new environment using \verb|lstnewenvironment|.
\<configure html4 listings\><<<
\HAssign\listingN=0
\HAssign\listings:Depth = 0
\Configure{listings}
{\ifvmode \IgnorePar\fi \EndP%
{\everypar{}\leavevmode}\HCode{<!--l. \the\inputlineno-->}%
\ifnum \listings:Depth<0 \HAssign\listings:Depth = 0\fi
\setbox0=\hbox{\listings:Depth}% this forces the assignment to have an effect
\ifnum \listings:Depth=0 \HtmlParOff\HCode{<pre class="listings" id="listing-\listingN">}\else%
\HCode{<span class="listings-nested" id="listing-\listingN">}\fi%
\gHAdvance\listings:Depth by 1%
\gdef\start:LstLn{}%
}
{\gHAdvance\listings:Depth by -1%
\setbox0=\hbox{\listings:Depth}% this forces the assignment to have an effect
\ifnum\listings:Depth>-1%
\ifnum \listings:Depth=0 \HCode{</pre>}\HtmlParOn\else
\HCode{</span>}\fi\fi
}
{\start:LstLn\HCode{<span class="label">}%
\gdef\start:LstLn{\HCode{\Hnewline}}}%
{\HCode{</span>}}%
\Css{pre.listings{font-family: monospace,monospace; white-space: pre-wrap;
margin-top:0.5em; margin-bottom:0.5em;
}}
>>>
\<configure html4 listings\><<<
\Configure{listings-init}{\ttfamily\ht:special{t4ht@(}}{\ht:special{t4ht@)}}
>>>
% \start:LstLn <---added
% \bgroup
% \Configure{listings}
% {{\everypar{}\leavevmode}}
% {{\everypar{}\leavevmode}}
% %{\start:LstLn \HCode{<span class=''label''>}} <---- removed
% {\HCode{<br /><span class=''label''>}} <---- added
% {\HCode{</span>}}%
% }
%
%
% \bgroup
% \Configure{listings}
% {{\everypar{}\leavevmode}}
% {{\everypar{}\leavevmode}}
% {\start:LstLn \HCode{<span class=''label''>}} <---- removed
% {\HCode{</span>}}%
% }
\<configure html4 listings\><<<
\ConfigureEnv{lstlisting}
{\ifvmode \IgnorePar\fi \EndP\HtmlParOff
\HCode{<!--l. \the\inputlineno-->}%
\gdef\start:LstLn{%
\HCode{<pre class="lstlisting" id="listing-\listingN">}%
\gdef\start:LstLn{\HCode{\Hnewline}}}
\bgroup%
% we put the closing </div> here in order to support floating listings
%
https://tex.stackexchange.com/a/615703/2891
\pend:def\lst@DeInit{\ifvmode\IgnorePar\fi\EndP\HCode{</pre>}}%
\Configure{listings}
{{\everypar{}\leavevmode}}
{{\everypar{}\leavevmode}}
{\start:LstLn \HCode{<span class="label">}}
{\HCode{</span>}}%
}
{\egroup\HtmlParOn\par}
{} {}
\Css{.lstlisting .label{margin-right:0.5em; }}
\Css{pre.lstlisting{font-family: monospace,monospace; white-space: pre-wrap;
margin-top:0.5em; margin-bottom:0.5em; text-align: left;
}}
>>>
\<configure html4 listings\><<<
\Configure{lstinputlisting}
{\ifvmode \IgnorePar\fi \EndP\HtmlParOff
\HCode{<!--l. \the\inputlineno-->}%
\gdef\start:LstLn{\HCode{<pre class="lstinputlisting" id="listing-\listingN">}\gdef\start:LstLn{\HCode{\Hnewline}}}% ignore first newline, to prevent spurious line
\bgroup\ttfamily%\special{t4ht@(}%
\Configure{listings}%
{{\everypar{}\leavevmode}}%
{{\everypar{}\leavevmode}}%
{\start:LstLn\HCode{<span class="label">}}%
{\HCode{</span>}}%
}
{%\special{t4ht@)}
\egroup%
\ifvmode \IgnorePar\fi \EndP \HCode{</pre>}\HtmlParOn\par}%
\Css{pre.lstinputlisting{
font-family: monospace,monospace;
white-space: pre-wrap;
text-align: left;
}}
\Css{.lstinputlisting .label{margin-right:0.5em;}}
>>>
% \Configure{lstinputlisting}
% {\ifvmode \IgnorePar\fi \EndP
% \HCode{<!--l. \the\inputlineno-->}%
% \HCode{<div class="lstinputlisting">}%
% \bgroup \tt \special{t4ht@(}%
% \Configure{listings}
% {{\everypar{}\leavevmode}}
% {{\everypar{}\leavevmode}}
% {|<nbsp|>\HCode{<br /><span class="label">}}
% {\HCode{</span>}}%
% }
% {\special{t4ht@)}\egroup
% \ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par}
Support for colors in listings
\<configure html4 listings\><<<
\lst@AddToHook{PostOutput}{\HCode{</span>}}%
\lst@AddToHook{OutputBox}{%
% get current color in the CSS form
\extractcolorspec{.}\html@color%
\expandafter\convertcolorspec\html@color{HTML}\html@color%
\HCode{<span style="color:\#\html@color">}}% init
>>>
Support for background and border color
\<configure html4 listings\><<<
\lst@AddToHook{Init}{%
\gHAdvance\listingN by 1% increase the ID before we save colors.
\bgroup%
% handle backround color and border in listings
\ifx\lst@fillcolor\@empty\else%
\lst@fillcolor%
\extractcolorspec{.}\html@fillcolor%
\expandafter\convertcolorspec\html@fillcolor{HTML}\html@fillcolor%
\Css{\#listing-\listingN{background-color:\#\html@fillcolor;}}%
\fi%
\ifx\lst@rulecolor\@empty\else%
\lst@rulecolor%
\extractcolorspec{.}\html@rulecolor%
\expandafter\convertcolorspec\html@rulecolor{HTML}\html@rulecolor%
\Css{\#listing-\listingN{border: 1px solid \#\html@rulecolor;}}%
\fi%
\egroup%
}
>>>
%%%%%%%%%%%%%%%%%%%%%
\subsection{Verbatim}
%%%%%%%%%%%%%%%%%%%%%
\<configure html4 verbatim\><<<
\Configure{verbatiminput}
{\HAssign\Verb:N=0 \ifvmode \IgnorePar\fi \EndP
\HCode{<div class="verbatiminput"\a:LRdir>}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Css{div.verbatiminput
{font-family: monospace,monospace; white-space: nowrap; }}
>>>
%%%%%%%%%%%%%%%%%%%%
\subsection{tasks}
%%%%%%%%%%%%%%%%%%%%
\<configure html4 tasks\><<<
\ConfigureList{tasks}
{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="tasks">}\def\end:task{}}
{\ifvmode\IgnorePar\fi\EndP\end:task\HCode{</div>}}
{\ifvmode\IgnorePar\fi\EndP\end:task\HCode{<div class="task">}\par\ShowPar\HCode{<span class="label">}\def\end:task{\HCode{</div>}}}
{\HCode{</span>}}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{mdwlist}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 sverb\><<<
\HAssign\demoN=0
\Configure{demo}
{\HAdvance\demoN by 1
\ifvmode \IgnorePar \fi \EndP
\ifnum \demoN=1
\HCode{<table class="demo"><tr>}%
\fi
\HCode{<td>}%
}
{\ifvmode \IgnorePar \fi \EndP
\HCode{</td>}
\ifnum \demoN=2
\HAssign\demoN=0
\HCode{</tr></table>}%
\fi
}
>>>
%%%%%%%%%%%%%%%%%%%%%
\subsection{verbatimlisting}
%%%%%%%%%%%%%%%%%%%%%
\<configure html4 verbatimlisting\><<<
\Configure{verbatimlisting}
{\ifvmode \EndP\fi \EndP\HCode{<div class="verbatimlisting"\a:LRdir>}}
{\HCode{</div>}}
{\ifnum \c@lineno > 1 \HCode{<br />}\fi
\ifnum \c@lineno<10 ~\fi
\ifnum \c@lineno<100 ~\fi
\ifnum \c@lineno<1000 ~\fi
}
{}
>>>
%%%%%%%%%%%%%%%%%%%%%
\subsection{doc}
%%%%%%%%%%%%%%%%%%%%%
\<configure html4 doc\><<<
\ConfigureEnv{macrocode}
{\ifvmode \IgnorePar\fi\EndP\HCode{<pre class="macrocode">}}
{\ifvmode \IgnorePar \HCode{</pre>}\par\else \HCode{</pre>}\fi}
{}{}
>>>
%%%%%%%%%%%%%%%%%%%
\section{Boxes and Multiple columns}
%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%
\subsection{fancybox}
%%%%%%%%%%%%%%%%%%%
\<configure html4 fancybox\><<<
\Configure{ovalbox}
{\ifvmode \IgnorePar\EndP
\HCode{<div class="ovalbox">}%
\def\end:bx{\HCode{</div>}\par}%
\else
\HCode{<span class="ovalbox">}%
\def\end:bx{\HCode{</span>}}%
\fi}
{\end:bx}
\Css{.ovalbox {
padding-left:3pt;
padding-right:3pt;
border:solid thin;
}}
>>>
\<configure html4 fancybox\><<<
\Configure{Ovalbox}
{\ifvmode \IgnorePar\EndP
\HCode{<div class="Ovalbox-thick">}%
\def\end:bx{\HCode{</div>}\par}%
\else
\HCode{<span class="Ovalbox-thick">}%
\def\end:bx{\HCode{</span>}}%
\fi}
{\end:bx}
\Css{.Ovalbox-thick {
padding-left:3pt;
padding-right:3pt;
border:solid thick;
}}
>>>
IE doesn't distinguish between upper and lower case characters in css
\<configure html4 fancybox\><<<
\Configure{shadowbox}
{\ifvmode \IgnorePar\EndP
\HCode{<div class="shadowbox">}%
\def\end:bx{\HCode{</div>}\par}%
\else
\HCode{<span class="shadowbox">}%
\def\end:bx{\HCode{</span>}}%
\fi}
{\end:bx}
\Css{.shadowbox {
padding-left:3pt;
padding-right:3pt;
border:solid thin;
border-right:solid thick;
border-bottom:solid thick;
}}
>>>
\<configure html4 fancybox\><<<
\Configure{doublebox}
{\ifvmode \IgnorePar\EndP
\HCode{<div class="doublebox">}%
\def\end:bx{\HCode{</div>}\par}%
\else
\HCode{<span class="doublebox">}%
\def\end:bx{\HCode{</span>}}%
\fi}
{\end:bx}
\Css{.doublebox {
padding-left:3pt;
padding-right:3pt;
border-style:double;
border:solid thick;
}}
>>>
\<configure html4 fancybox\><<<
\Configure{Btrivlist}
{\ifvmode \IgnorePar\fi \EndP \HCode{<table>}}
{\HCode{</table>}}
{\HCode{<tr><td \csname Btrivlist-dir\endcsname>}}
{\HCode{</td></tr>}}
\Configure{Btrivlist-dir}
{l}{style="white-space:normal; text-align:left;" }
{c}{style="white-space:normal; text-align:center;" }
{r}{style="white-space:normal; text-align:right;" }
{}
\Configure{Blist}
{\ifvmode \IgnorePar\fi \EndP \HCode{<table>}}
{\HCode{</table>}}
{\HCode{<tr>}}
{\HCode{</tr>}}
{\HCode{<td>}}
{\HCode{</td>}}
>>>
%%%%%%%%%%%%%%%%%%
\subsection{adjustbox}
%%%%%%%%%%%%%%%%%%
\<configure html4 adjustbox\><<<
% add support for vertical alignment of table rows
\Configure{halignTR}{}
\Configure{AdjustboxValignTop}{\Css{\#TBL-\TableNo-\HRow-{vertical-align:top;}}}
\Configure{AdjustboxValignMiddle}{\Css{\#TBL-\TableNo-\HRow-{vertical-align:middle;}}}
\Configure{AdjustboxValignCenter}{\Css{\#TBL-\TableNo-\HRow-{vertical-align:middle;}}}
\Configure{AdjustboxValignBottom}{\Css{\#TBL-\TableNo-\HRow-{vertical-align:bottom;}}}
% convert size in pt to em, based on the current font size
\def\pt:to:em#1{\strip@pt\dimexpr#1/\f@size em}
\Configure{Adjustbox}
{\IgnorePar\EndP\IgnorePar\HCode{<div class="adjustbox" id="\AdjustboxId">}}
{\Css{\#\AdjustboxId{border: \pt:to:em{\fboxrule} solid black;padding: \pt:to:em{\fboxsep};}}%
\ifvmode\IgnorePar\fi\EndP\HCode{</div>}}
>>>
%%%%%%%%%%%%%%%%%
\subsection{awesomebox}
%%%%%%%%%%%%%%%%%
\<configure html4 awesomebox\><<<
\Configure{awesomebox}{%
\Css{\#\awesomebox@id\space .icon{border-right:4px solid \#\awesomebox@rule@color;}}
\ifvmode\IgnorePar\fi\EndP%
\HCode{<div class="awesomebox" id="\awesomebox@id"><div class="icon">}%
\Picture+{}%
}{\EndPicture%
\HCode{</div><div class="boxcontent">}%
\par%
}{%
\ifvmode\IgnorePar\fi\EndP%
\HCode{</div></div>}%
}
\Css{.awesomebox{display:grid; grid-template-columns: 90px auto;margin-top:1rem;margin-bottom:1rem;}}
\Css{.awesomebox .icon{padding-right:0.5rem;margin-right:0.5rem;text-align:center;}}
\Css{.awesomebox .boxcontent{vertical-align:top;}}
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{boxedminipage}
%%%%%%%%%%%%%%%%%%%
\<configure html4 boxedminipage\><<<
\ConfigureEnv{boxedminipage}
{\ifvmode \IgnorePar \EndP
\def\after:bmp{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par\ShowPar}%
\HCode{<div class="boxedminipage">}%
\expandafter\everymath\expandafter{\expandafter
\everymath\expandafter{\the\everymath}}%
\else \def\after:bmp{\HCode{</span>}}%
\HCode{<span class="boxedminipage">}%
\fi
\bgroup \fboxrule=\z@}
{\egroup \after:bmp}
{}{}
\Css{div.boxedminipage{border : 1px solid;
margin-top:1pt; margin-bottom:1pt;}}
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{Multicol}
%%%%%%%%%%%%%%%%%%%
\<configure html4 multicol\><<<
\HAssign\MultiCols=0
\ConfigureEnv{multicols}{\empty}{\empty}{}{}
\Configure{multicolscolumn}
{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="\a:multicols-\mcolnum">}}
{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}}
\Configure{multicolscss}{%
\Css{.\a:multicols-\mcolnum\space :first-child { margin-top: 0em; }}%
\Css{.\a:multicols-\mcolnum {%
-moz-column-count:\mcolnum;
-webkit-column-count:\mcolnum;
column-count:\mcolnum;
-moz-column-gap: \a:columngap;
-webkit-column-gap: \a:columngap;
column-gap: \a:columngap;
-moz-column-rule-width: \a:columnrulewidth;
-webkit-column-rule-width: \a:columnrulewidth;
column-rule-rule-width: \a:columnrulewidth;
-moz-column-rule-color: \a:columnrulecolor;
-webkit-column-rule-color: \a:columnrulecolor;
column-rule-color: \a:columnrulecolor;
-moz-column-rule-style: \a:columnrulestyle;
-webkit-column-rule-style: \a:columnrulestyle;
column-rule-style: \a:columnrulestyle;
-moz-column-fill: \a:columnfill;
-webkit-column-fill: \a:columnfill;
column-fill: \a:columnfill;
}%
}%
}
% {\par\IgnorePar\EndP
% \gHAdvance\MultiCols by 1\relax
% \HCode{<table class="multicols"
% id="multicols-\MultiCols"><tr><td class="multicol-1">}%
% \let\sv:HCol=\HCol
% \bgroup \gHAssign\HCol=1\relax
% }
% {\egroup
% \global\let\HCol=\sv:HCol
% \ifvmode\IgnorePar\fi\EndP
% \HCode{</td></tr></table>}\par
% }
% {}{}
% \Configure{columnbreak}
% {\gHAdvance\HCol by 1\relax
% \par \IgnorePar \EndP
% \HCode{</td><td class="multicol-\HCol">}}
% \Css{table.multicols {
% width:100\%; margin-left:1em; margin-top:1em; margin-bottom:1em;
% }}
>>>
\section{lettrine.sty}
\<configure html4 lettrine\><<<
%
% a: before lettrine
% b: after lettrine
% c: before letter
% d: between letter and string
% e: after string
% f: before ante
% g: after ante
%
\Configure{lettrine}
{\HCode{<span class="lettrine">}}
{\HCode{</span>}}
%
{\HCode{<span class="lettrine-letter">}}
{\HCode{</span><span class="lettrine-line">}}
{\HCode{</span>}}
%
{\HCode{<span class="lettrine-ante">}}
{\HCode{</span>}}
\Configure{lettrinechar}{\HCode{<span class="lettrine-\HlettrineChar">}}{\HCode{</span>}}
%
% Define default Css
%
\Css{.lettrine{float: left;
line-height: 0.7; margin-left: -0.1em;
margin-bottom: -.5em; margin-right: 0.2em;
}}
\Css{.lettrine-ante{vertical-align: top;}}
\Css{.lettrine-letter{font-style: normal;
font-size: 4em; color: gray;}}
%
\Css{.lettrine-A{margin-right: 0em;}}
\Css{.lettrine-A + .lettrine-line{margin-left: -0.4em;}}
\Css{.lettrine-J{line-height: 0.9; margin-right: 0;}}
\Css{.lettrine-H, .lettrine-I, .lettrine-N, .lettrine-U{margin-right: 0;}}
\Css{.lettrine-V{margin-right: -0.0em;}}
\Css{.lettrine-V + .lettrine-line{margin-left: 0.3em;}}
\Css{.lettrine-Q{line-height: 0.9;padding-bottom: 1em;margin-top: -0.6em;}}
\Css{.lettrine-line{font-variant: small-caps;}}
>>>
%%%%%%%%%%%%%%%%%%
\section{gmatrix.sty}
%%%%%%%%%%%%%%%%%%
\<configure html4-math gauss\><<<
\ConfigureEnv{gmatrix}
{\IgnorePar\EndP
\Tg<div class="gmatix">\Picture*{}$$}
{$$\EndPicture\Tg</div>}{}{}
\Css{div.gmatrix {text-align:center;}}
>>>
%%%%%%%%%%%%%%%%
\section{array.sty}
%%%%%%%%%%%%%%%%
\<configure html4 array\><<<
|<html latex array/tabular Config 4.0t|>
>>>
\<configure html4-math array\><<<
|<math html latex array/tabular|>
>>>
%%%%%%%%%%%%%%%%%%%
\section{algorithmic}
%%%%%%%%%%%%%%%%%%%
\<configure html4 algorithmic\><<<
\ConfigureEnv{algorithmic}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="algorithmic">}%
\bgroup
\Configure{HtmlPar}{}{}{}{}}
{\egroup \ifvmode \IgnorePar\fi \HCode{</div>}}
{}{}
\Configure{ALCitem}
{\NoFonts\HCode{\ifnum \c@ALC@line>1 <br />\fi <span class="ALCitem">}}
{\HCode{</span><span class="ALIndent" style="width:\the\ALC@tlm ;"> </span>}\EndNoFonts}
\Css{.ALCitem {width:2em; text-align:right;display:inline-block;font-size:0.8em;}}
\Css{.ALIndent{display:inline-block;}}
>>>
\<configure html4 algorithmic\><<<
\ConfigureEnv{ALC@for}
{\HCode{<span class="for-body">}}
{\HCode{</span>}}
{}{}
\ConfigureEnv{ALC@whl}
{\HCode{<span class="while-body">}}
{\HCode{</span>}}
{}{}
\ConfigureEnv{ALC@loop}
{\HCode{<span class="loop-body">}}
{\HCode{</span>}}
{}{}
\ConfigureEnv{ALC@rpt}
{\HCode{<span class="repeat-body">}}
{\HCode{</span>}}
{}{}
\Configure{ALCif}
{\HCode{<span class="if-body">}}
{\HCode{</span>}}
{\HCode{<span class="else-body">}}
{\HCode{</span>}}
\Configure{algorithmiccomment}
{\HCode{<span class="ALC-comment">}}
{\HCode{</span>}}
{}{}
>>>
%%%%%%%%%%%%%%%%%%%
\section{algorithmicx}
%%%%%%%%%%%%%%%%%%%
\<configure html4 algorithmicx\><<<
\ConfigureEnv{algorithmic}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div \a:LRdir class="algorithmic">}%
\bgroup
\Configure{HtmlPar}
{\EndP}
{\EndP}
{}
{}%
}
{\egroup
\ifvmode\IgnorePar\fi\EndP\HCode{</div>}\par\ShowPar
}
{}{}
>>>
\<configure html4 algorithmicx\><<<
\ConfigureList{algorithmic}%
{\EndP
\PushMacro\end:itm
\global\let\end:itm=\empty}
{\PopMacro\end:itm \global\let\end:itm \end:itm
\EndP
\special{t4ht@.}%
\HCode{</span>}%
}
{\end:itm
\HCode{\ifx \end:itm\empty\else <br class="algorithmic"/>\fi
<span class="label-\the\labelwidth">}%
\global\def\end:itm{\EndP\special{t4ht@,}\Tg</span>}%
\ifnum \c@ALG@line=10
\Css{.algorithmic span.label{width:3em; text-align:right;}}\fi
}
{\HCode{</span>&\#xA0;<span\Hnewline class="algorithmic">}~%
\special{t4ht@. }}
\Css{div.algorithmic span.algorithmic{white-space:pre}}
>>>
%%%%%%%%%%%%%%%%%%%
\section{algorithm}
%%%%%%%%%%%%%%%%%%%
\<configure html4 algorithm\><<<
\ConfigureEnv{algorithm}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div \a:LRdir class="algorithm">}%
\par\ShowPar
}
{\ifvmode \IgnorePar\fi \EndP
\HCode{</div>}\par\ShowPar
}
{}{}
\Css{div.algorithm table.caption {
border-bottom: 1px solid black; margin-bottom:1pt; }}
>>>
%%%%%%%%%%%%%%%%%%
\section{scrjura}
%%%%%%%%%%%%%%%%%%
\<configure html4 scrjura\><<<
\ConfigureEnv{contract}
{\ifvmode\IgnorePar\fi\EndP\HCode{<div class=\:qtchr contract\:qtchr>}}
{\ifvmode\IgnorePar\fi\end:prevpara\HCode{</div>}}
{}{}
\Configure{contract@paragraph@font}
{\ifvmode\IgnorePar\fi\end:prevpara\HCode{<div class=\:qtchr paragraph\:qtchr>}}
{\Tg</div>}
\Configure{parformat}
{\EndP\HCode{<p class=\:qtchr para\:qtchr>\Hnewline
<span class=\:qtchr sentence\:qtchr>}}
{\Tg</span>}{\Tg</p>}
>>>
%%%%%%%%%%%%%%%%%%%
\section{Bibliography}
%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%
\subsection{jurabib}
%%%%%%%%%%%%%%%%%%%
\<configure html4 jurabib\><<<
\HAssign\jbancorDepth=0
\Configure{jblink}
{\HAdvance\jbancorDepth by 1 \Link}
{\EndLink \HAdvance\jbancorDepth by -1 }
\Configure{jbanchor}
{\bgroup
\ifnum \jbancorDepth=0
\Configure{Link}{a}{href=}{id=}{}%
\else
\Configure{Link}{span}{}{id=}{}%
\fi
\Link}
{\EndLink \egroup}
>>>
The code \verb+\Configure{jbanchor}{\Link}{\EndLink}+ doen't work
because anchors can in jurabib reside within links.
\begin{verbatim}
Definition of \@citex
---------------------
\hyper@jblinkstart{\@citeb}
\jb@firstcitefull
\hyper@jblinkend
Definiton of \jb@firstcitefull
------------------------------
\hyper@jbanchorstart{look@\@citeb:\jb@reset@look@label@for}\hyper@jbanchorend
\jbincollcrossref
Definition of \jbincollcrossref
-------------------------------
\hyper@jblinkstart{#1}%
\hyper@jblinkend
\end{verbatim}
%%%%%%%%%%%%%%%%%%%
\subsection{Harvard}
%%%%%%%%%%%%%%%%%%%
\<configure html4 harvard\><<<
\Configure{harvardyear}
{\HCode{<span class="bib-year">}}
{\HCode{</span>}}
>>>
%%%%%%%%%%%%%%%%%%
\section{Text Decoration}
%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%
\subsection{color}
%%%%%%%%%%%%%%%%%%%
\<configure html4 color\><<<
\Configure{HColor}{red}{\#FF0000}
\Configure{HColor}{rgb 1 0 0}{\#FF0000}
\Configure{HColor}{blue}{\#0000FF}
\Configure{HColor}{rgb 0 0 1}{\#0000FF}
\Configure{HColor}{green}{\#00FF00}
\Configure{HColor}{rgb 0 1 0}{\#00FF00}
\Configure{HColor}{white}{\#FFFFFF}
\Configure{HColor}{gray 1}{\#FFFFFF}
\Configure{HColor}{rgb 1 1 1}{\#FFFFFF}
\Configure{HColor}{black}{\#000000}
\Configure{HColor}{gray 0}{\#000000}
\Configure{HColor}{rgb 0 0 0}{\#000000}
\Configure{HColor}{cyan}{\#00FFFF}
\Configure{HColor}{cmyk 1 0 0 0}{\#00FFFF}
\Configure{HColor}{magenta}{\#FF00FF}
\Configure{HColor}{cmyk 0 1 0 0}{\#FF00FF}
\Configure{HColor}{yellow}{\#FFFF00}
\Configure{HColor}{cmyk 0 0 1 0}{\#FFFF00}
\Configure{color}{\:gobble}
|<color.sty config 4.0t|>
>>>
% \Configure{pagecolor}
% {\Configure{color}
% {\Configure{SetHColor}{\Css{body {background-color:\HColor}}}}}
Configurations for saving colors to CSS. When the color declaration specified
by the user contains spaces, the parameter for the last color is empty and
we may get compilation errors. This is why it is necessary to test the
argument for content. If it is empty, then the next argument contains the
actual color.
\<configure html4 color\><<<
\Configure{HColor:gray}{%
\if :#1:%
\int:of\:tempa{255}{#2}%
\else%
\int:of\:tempa{255}{#1}%
\fi%
\Configure{HColor}{}{rgb(\:tempa,\:tempa,\:tempa)}%
}
\Configure{HColor:rgb}{%
\int:of\:tempa{255}{#1}%
\int:of\:tempb{255}{#2}%
\if :#3:
\int:of\:tempc{255}{#4}%
\else%
\int:of\:tempc{255}{#3}%
\fi%
\Configure{HColor}{}{rgb(\:tempa,\:tempb,\:tempc)}%
}
\Configure{HColor:cmyk}{%
\int:of\:Cyan{255}{#1}%
\int:of\:Magenta{255}{#2}%
\int:of\:Yellow{255}{#3}%
\if :#4:%
\int:of\:Black{255}{#5}%
\else%
\int:of\:Black{255}{#4}%
\fi%
\: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}%
}
>>>
\<color.sty config 4.0t\><<<
\HAssign\textcolorN=0
\Configure{textcolor}
{\ifx\:textcolor\@empty\HCode{<span class="textcolor">}\else\HCode{<span style="color:\:currentcolor;">}\fi}%
{\HCode{</span>}}
>>>
\<color.sty config 4.0t\><<<
\Configure{colorbox}
{\bgroup
\gHAdvance\textcolorN by 1
\ifvmode \let\v:colorbox\def \IgnorePar \EndP
\else \let\v:colorbox=\relax \fi
|<colorbox background|>%
\HCode{<\ifx \v:colorbox\def div\else span\fi \Hnewline
class="colorbox" id="colorbox\textcolorN">}}%
{\ifx \v:colorbox\def \EndP\HCode{</div>}\par
\else \HCode{</span>}\fi
\egroup
}
>>>
\<colorbox background\><<<
\let\A:color=\a:color
\Configure{color}%
{\let\a:color=\A:color
\Configure{SetHColor}
{\Css{\ifx \v:colorbox\def div\else span\fi
\#colorbox\textcolorN{background-color:\HColor;}}}}%
>>>
\<\><<<
\Configure{fcolorbox}
{\gHAdvance\textcolorN by 1
\let\A:color=\a:color
\Configure{color}%
{\Configure{SetHColor}{\Css{\#colorbox\textcolorN{border:
solid 1px \HColor;}}}}%
\Configure{fbox}{\leavevmode
\gHAdvance\textcolorN by -1 \let\a:color=\A:color}{}}
{}
>>>
\<color.sty config 4.0t\><<<
\Configure{fcolorbox}
{\bgroup\gHAdvance\textcolorN by 1
\ifvmode \let\v:colorbox\def \IgnorePar \EndP
\else \let\v:colorbox=\relax \fi
\HCode{<\ifx \v:colorbox\def div\else span\fi \Hnewline
class="colorbox" id="colorbox\textcolorN">}%
|<fcolorbox border|>%
\Configure{fbox}{\leavevmode }{}%
}
{\ifx \v:colorbox\def \EndP\HCode{</div>}\par
\else \HCode{</span>}\fi \egroup}
>>>
\<fcolorbox border\><<<
\let\A:color=\a:color
\Configure{color}%
{|<fcolor background|>%
\Configure{SetHColor}{%
\Css{\#colorbox\textcolorN{border: solid 1px \HColor;}}}%
}%
>>>
\<fcolor background\><<<
\Configure{color}%
{\let\a:color=\A:color
\Configure{SetHColor}{%
\Css{\#colorbox\textcolorN{background-color: \HColor;}}%
}}%
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{xcolor}
%%%%%%%%%%%%%%%%%%%
\<configure html4 xcolor\><<<
\Configure{rowcolors}
{\Configure{SetHColor}{%
\expandafter\ifx \csname HColor\endcsname\relax \else
\Css{tr\#TBL-\TableNo-\the\rownum-{background-color:\HColor}}%
\fi
}}
>>>
\<configure html4 xcolor\><<<
\Configure{HColor!gray}{%
\get:xcolorcss{gray!#1}{\HColor}
}
>>>
%%%%%%%%%%%%%%%%%%%%%%%
\subsection{colortbl.sty}
%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 colortbl\><<<
\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- td}}}
\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}}
% redefine default table configuration and put the color rule
\def\a:HBorder{<tr class="hline" style="border-top:1px solid \#\hline:color">}
% use the hline color also for vertial lines
\def\VBorder:color{\#\hline:color}
% don't display <hr> elements in colored \hline
\Css{tr.hline td hr{display:none}}
>>>
[\HPage{test file}
\begin{verbatim}
\documentclass{article}
\usepackage{colortbl}
\usepackage{color}
\definecolor {tablehead}{rgb}{0.4,0.569,0.929}
\definecolor {aliceblue}{rgb}{0.94,0.97,1}
\begin{document}
\begin{tabular}{p{2cm}|p{2.25cm}}
\rowcolor{tablehead}
\color{white}\textbf{A} &
\color{white}\textbf{B}\\
\hline
\rowcolor{aliceblue}
C &
D\\
\end{tabular}
\end{document}
\end{verbatim}
\EndHPage{}]
%%%%%%%%%%%%%
\subsection{Soul}
%%%%%%%%%%%%%
\<configure html4 soul\><<<
\Configure{textcaps}
{\HCode{<span class="textcaps">}}
{\HCode{</span>}}
\Configure{texthl}
{\HCode{<span class="texthl">}\bgroup
\ifx\sethlcolor\:gobble\else |<soul color|>\fi}
{\egroup \HCode{</span>}}
\Configure{textso}
{\HCode{<span class="textso">}}
{\HCode{</span>}}
\Configure{textst}
{\HCode{<span class="textst">}\bgroup
\ifx\setstcolor\:gobble\else |<soul color|>\fi}
{\egroup \HCode{</span>}}
\Configure{textul}
{\HCode{<span class="textul">}\bgroup
\ifx\setulcolor\:gobble\else |<soul color|>\fi}
{\egroup \HCode{</span>}}
\Css{span.textso{letter-spacing: 0.3em; word-spacing: 0.3em}}
\Css{span.textul{text-decoration:underline}}
\Css{span.textst{text-decoration:line-through}}
\Css{span.textcaps{font-variant:small-caps}}
>>>
\<soul color\><<<
\Configure{textcolor}
{\gHAdvance\textcolorN by 1
\Configure{color}%
{\Configure{SetHColor}
{\Css{span\#textcolor\textcolorN{background-color:\HColor}}}}%
\HCode{<span id="textcolor\textcolorN">}}%
{\HCode{</span>}}%
>>>
%%%%%%%%%%%%%%%%
\section{lua-ul}
%%%%%%%%%%%%%%%%
\<configure html4 lua-ul\><<<
\Configure{highLight}{\HCode{<span class="highLight" style="background-color:\:highLightColor;">}}{\HCode{</span>}}
\Configure{strikeThrough}{\HCode{<span class="strikeThrough" style="text-decoration-color:\:strikeThroughColor;" >}}{\HCode{</span>}}
\Css{.strikeThrough{text-decoration: line-through;}}
\Configure{underLine}{\HCode{<span class="underLine" style="text-decoration-color:\:underLineColor;">}}{\HCode{</span>}}
\Css{.underLine{text-decoration: underline;}}
>>>
%%%%%%%%%%%%%%%%
\section{framed}
\<configure html4 framed\><<<
\newcount\framed:cnt
\Configure{makeframed}{\advance\framed:cnt by 1\relax\def\framed@id{\@currenvir-\the\framed:cnt}\ifvmode\IgnorePar\fi\EndP\HCode{<div class="framedenv" id="\framed@id">}\par}
{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}}
\Css{.framedenv{border: 1px solid black;}}
>>>
%%%%%%%%%%%%%%%%
\section{mdframed}
%%%%%%%%%%%%%%%%
\<configure html4 mdframed\><<<
\Configure{mdframed}{%
\ifvmode\IgnorePar\fi\EndP\HCode{<div class="mdframed" id="\mdf:id">}\par
}{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}\par}
\Css{.mdframed{margin-top:1em;margin-bottom:1em;}}
% use fallback macro when xcolor package haven't been loaded
\ifdefined\get:xcolorcss\else\def\get:xcolorcss#1#2{\def#2{#1}}\fi
\Configure{mdframedstyle}{%
\get:xcolorcss{\mdf@backgroundcolor}\mdf:bgcolor
\get:xcolorcss{\mdf@linecolor}\mdf:bordercolor
\get:xcolorcss{\mdf@fontcolor}\mdf:fontcolor
\def\mdf:border{\ifdefined\mdfl@linewidth\mdfl@linewidth\else 1px\fi\space solid \mdf:bordercolor}
\Css{\#\mdf:id{border:\mdf:border; background-color: \mdf:bgcolor; color:\mdf:fontcolor;}}
\global\let\mdfl@linewidth\relax
}
>>>
%%%%%%%%%%%%%%%%%
\section{tcolorbox}
%%%%%%%%%%%%%%%%%
\<configure html4 tcolorbox\><<<
% support macro for correct calculation of padding in Tcolorbox
\def\calc:tcbpadding#1{\strip@pt\dimexpr \kvtcb@boxsep+#1\relax px}
\Configure{tcolorbox}
{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="tcolorbox \@currenvir" id="\:tcbcolid">}
% \tcbcolid and colors are defined in tcolorbox.4ht
\Css{\#\:tcbcolid\space .tcolorbox-title{color: \:tcbcoltitle; background-color: \:tcbcolframe;}}
\Css{\#\:tcbcolid\space .tcolorbox-content{color: \:tcbcolupper; background-color: \:tcbcolback; border: 1px solid \:tcbcolframe;}}
% calculate paddings
\Css{\#\:tcbcolid\space div{
padding-top:\calc:tcbpadding{\kvtcb@top};
padding-bottom:\calc:tcbpadding{\kvtcb@bottom};
padding-left:\calc:tcbpadding{\kvtcb@leftupper};
padding-right:\calc:tcbpadding{\kvtcb@rightupper};
}}
}
{\ifx\kvtcb@title\@empty\else\HCode{\Hnewline<div class="tcolorbox-title">}\par\fi}
{\ifx\kvtcb@title\@empty\else\ifvmode\IgnorePar\fi\EndP\HCode{</div>}\fi\HCode{\Hnewline<div class="tcolorbox-content">}}
{\ifvmode\IgnorePar\fi\EndP\HCode{\Hnewline</div>\Hnewline</div>}\par\ShowPar}%
\Css{.tcolorbox{margin-top:0.5em;margin-bottom: 0.5em;}}
\Configure{tcolorlowerbox}{\ifvmode\IgnorePar\fi\EndP\HCode{\Hnewline<div class="lowerbox">}
\Css{\#\:tcbcolid\space .lowerbox{border-top: 1px dashed \:tcbcolframe;}}
}
{\ifvmode\IgnorePar\fi\EndP\HCode{\Hnewline</div>}}
% there is rule p + div elsewhere in TeX4ht. we want to nullify it.
\Css{.tcolorbox .lowerbox{margin-top:0pt;}}
% remove unwanted margins and border from listings inside tcolorbox
%
https://puszcza.gnu.org.ua/bugs/?312
\Configure{tcblisting}{\Css{\#\:tcbcolid\space.lstinputlisting{margin-bottom:0em;margin-top:0em;border: none;}}}
>>>
%%%%%%%%%%%%%%%%
\section{verse}
%%%%%%%%%%%%%%%%%
\<configure html4 verse\><<<
\Configure{poemtitle}
{\par\IgnorePar\EndP
\HCode{<div class="poemtitle"><span class="poemtitlemark">}}
{\HCode{</span>}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par}
\Configure{likepoemtitle}
{\par\IgnorePar\EndP \HCode{<div class="likepoemtitle">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par}
\Css{.poemtitle, likepoemtitle {margin-left:2em; margin-bottom:0.5em;}}
>>>
\<configure html4 verse\><<<
\ConfigureEnv{verse}
{\ifvmode \IgnorePar\fi\EndP
\HCode{<div class="verse">}%
\bgroup
\Configure{hspace}
{\HCode{<span style="margin-right:\the\tmp:dim">}\:nbsp}
{\HCode{</span>}} {}
\let\end:verseln\empty
}
{\egroup \ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par\ShowPar}
{}{}
\ConfigureList{verse}
{} {\ifvmode \IgnorePar\fi \EndP \end:verseln}
{\parindent=\z@} {}
\Configure{verseline}
{\ifvmode \IgnorePar\fi \EndP \end:verseln
\HCode{<div class="verseline">}\def\end:verseln{\HCode{</div>}}\par\ShowPar}
{\ifvmode \IgnorePar\fi \EndP \end:verseln
\HCode{<div class="skip-verseline">}%
\def\end:verseln{\HCode{</div>}}\par\ShowPar}
\Configure{flagverse}
{\HCode{<span class="flagverse">}\bgroup \setlength{\vleftskip}{0em}}
{\egroup \HCode{</span>}\ignorespaces}
\Css{.skip-verseline {margin-top: 1em;}}
\Css{.skip-verseline, .verseline {white-space: nowrap;}}
\Css{.flagverse {float:right; font-size:85\%;
text-decoration:underline;}}
\Css{.verse p{margin-bottom:0;}}
>>>
%%%%%%%%%%%%%%%%
\section{OpenOffice writer}
%%%%%%%%%%%%%%%%
\<configure html4 writer\><<<
\Configure{WriterEnv}
{%
\ConfigureEnv{#1}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="#1">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{}{}%
}
{%
\tmp:dim=\parindent
\divide\tmp:dim by \ten:Em\relax
\tmp:dim=10\tmp:dim
\Css{div.#1 {text-indent:\expandafter\x:Em \the\tmp:dim em;}}%
\tmp:dim=\leftskip
\divide\tmp:dim by \ten:Em\relax
\tmp:dim=10\tmp:dim
\Css{div.#1 {margin-left:\expandafter\x:Em \the\tmp:dim em;}}%
\tmp:dim=\rightskip
\divide\tmp:dim by \ten:Em\relax
\tmp:dim=10\tmp:dim
\Css{div.#1 {margin-right:\expandafter\x:Em \the\tmp:dim em;}}%
\Css{div.#1 {margin-top:0.75em;
margin-bottom:0.75em;
}}%
}
|<10 em constant|>
>>>
\<10 em constant\><<<
{
\def\x:Em{%
\catcode`\p=12
\catcode`\t=12
\gdef\x:Em}
\x:Em#1pt{#1}
}
\tmp:dim=10em
\edef\ten:Em#1.#2//{#1}
\edef\ten:Em{\expandafter\ten:Em \the\tmp:dim//}
>>>
%%%%%%%%%%%%%%%%%%
\section{manmac}
%%%%%%%%%%%%%%%%%%
\<configure html4 manmac\><<<
\Configure{chapter}
{\IgnorePar\EndP
\HCode{<!--l. \the\inputlineno--><div class="chapter">}\IgnorePar }
{\IgnorePar\EndP\HCode{</div><!--end chapter-->}\par\ShowPar}
{\HCode{<div class="chapterTitle">}\par \ShowPar \noindent
\let\sv:rightline=\rightline \let\rightline=\hbox }
{\IgnorePar\EndP \let\rightline=\sv:rightline
\HCode{</div><!--end chapter title-->}\par\ShowPar}
\Configure{titlepage}
{\ifvmode \IgnorePar\fi\EndP
\HCode{<!--l. \the\inputlineno--><div class="titlepage">}\par}
{\IgnorePar\EndP\HCode{</div><!--end titlepage-->}\par\ShowPar}
>>>
\<configure html4 manmac\><<<
\Configure{mathdemo}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<!--l. \the\inputlineno--><table class="mathdemo">}}
{\HCode{</table>}\par\ShowPar}
{\HCode{<tr>}}
{\HCode{</tr>}}
{\HCode{<td>}}
{\HCode{</td>}}
\Css{table.mathdemo{margin-left:2em}}
\Configure{longdisplaymathdemo}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<!--l. \the\inputlineno--><table class="longdisplaymathdemo">}}
{\HCode{</table>}\par\ShowPar}
{\HCode{<tr>}}
{\HCode{</tr>}}
{\HCode{<td>}}
{\HCode{</td>}}
\Css{table.longdisplaymathdemo{margin-left:2em}}
\Configure{longmathdemo}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<!--l. \the\inputlineno--><table class="longmathdemo">}}
{\HCode{</table>}\par\ShowPar}
{\HCode{<tr>}}
{\HCode{</tr>}}
{\HCode{<td>}}
{\HCode{</td>}}
\Css{table.longmathdemo{margin-left:2em}}
\Configure{displaymathdemo}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<!--l. \the\inputlineno--><table class="displaymathdemo">}}
{\HCode{</table>}\par\ShowPar}
{\HCode{<tr>}}
{\HCode{</tr>}}
{\HCode{<td>}}
{\HCode{</td>}}
\Css{table.displaymathdemo{margin-left:2em}}
>>>
\<configure html4 manmac\><<<
\Configure{exercise}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<!--l. \the\inputlineno--><h5 class="exercise">}%
\bgroup \Configure{HtmlPar}{}{}{}{}}
{\egroup\HCode{</h5>}\IgnoreIndent\par}
\Configure{manmac-display}
{\ifvmode \IgnorePar\fi \EndP
\HCode{|<show input line no|><table class="manmac-display">}}
{\HCode{</table>}\IgnoreIndent\par}
{\HCode{<tr>}}
{\HCode{</tr>}}
{\HCode{<td>}\ShowPar}
{\ifvmode \IgnorePar\fi\EndP \HCode{</td>}}
\Configure{ttenv}
{\ifvmode \IgnorePar\fi \EndP
\HCode{|<show input line no|><div class="ttenv">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par\noindent}
>>>
\<configure html4 manmac\><<<
\Configure{sampleglue}
{\HCode{<table class="sampleglue">}}
{\HCode{</table>}}
{\HCode{<tr>}}
{\HCode{</tr>}}
{\HCode{<td>}}
{\HCode{</td>}}
>>>
\<configure html4 manmac\><<<
\Configure{danger}
{\HCode{|<show input line no|><!--danger-->}}
{\HCode{<!--end danger-->}}
\Configure{ddanger}
{\HCode{|<show input line no|><!--ddanger-->}}
{\HCode{<!--end ddanger-->}}
>>>
%%%%%%%%%%%%%%%%
\section{Small Packages}
%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%
\subsection{vowel}
%%%%%%%%%%%%%
\<configure html4 vowel\><<<
\ConfigureEnv{vowel}
{\Picture*[vowel]{}}
{\EndPicture}
{}{}
>>>
%%%%%%%%%%%%%
\subsection{enumitem}
%%%%%%%%%%%%%
\<configure html4 enumitem\><<<
\ConfigureList{enumerate}%
{\EndP\HCode{<dl \a:LRdir class="enumerate-enumitem">}%
|<save end:itm|>\global\let\end:itm=\empty}
{|<recall end:itm|>\EndP\HCode{</dd></dl>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
class="enumerate-enumitem">}\bgroup \bf}
{\egroup\EndP\HCode{</dt><dd\Hnewline class="enumerate-enumitem">}}
\Css{dl.enumerate-enumitem{display:grid; grid-template-columns: min-content 1fr; align-items: top; row-gap:0ch;}}
\Css{dt.enumerate-enumitem{text-align: right;}}
\Css{dd.enumerate-enumitem{margin-left:1ch;}}
>>>
Configurations for new list environments.
\<configure html4 enumitem\><<<
\Configure{enumitemnewlist}{%
\ConfigureList{\a:enumitemenv}%
{\EndP\HCode{<dl \a:LRdir class="enumerate-enumitem enumitem-\a:enumitemenv">}%
|<save end:itm|>\global\let\end:itm=\empty}
{|<recall end:itm|>\EndP\HCode{</dd></dl>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
class="enumerate-enumitem enumitem-\a:enumitemenv">}\bgroup \bf}
{\egroup\EndP\HCode{</dt><dd\Hnewline class="enumerate-enumitem">}}
}
>>>
%%%%%%%%%%%%%
\subsection{IEEEtran}
%%%%%%%%%%%%%
\<configure html4 IEEEtran\><<<
|<default thebibliography|>
|<bibitem css|>
>>>
%%%%%%%%%%%%%
\subsection{Linguisics}
%%%%%%%%%%%%%
\<configure html4 linguex\><<<
\Configure{ex}
{\ifvmode\IgnorePar\fi \EndP \HCode{<div class="ex">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}}
\Configure{a.list}
{\ConfigureList{list}%
{\EndP\HCode{<dl \a:LRdir class="alist\expandafter\the
\csname @listdepth\endcsname">}%
|<save end:itm|>\global\let\end:itm=\empty}
{|<recall end:itm|>\EndP\HCode{</dd></dl>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
class="alist">}\bgroup \bf}
{\egroup\HCode{</dt><dd\Hnewline class="alist">}\par\ShowPar}%
}
\Css{div.ex dt, dt.alist{float:left;clear:left}}
>>>
\<configure html4 cgloss4e\><<<
\Configure{tsent}
{\HCode{<span class="tsent">}}
{\HCode{</span>}}
{\HCode{<br />}}
\Css{.tsent {display:table-cell;
display:inline-block;
padding-right:0.2em;
padding-top:0em;
padding-bottom:0em;
padding-left:0em;
margin:0em; }}
>>>
\<configure html4 cgloss4e\><<<
\Configure{gll}
{\ifvmode \IgnorePar\fi \EndP
\bgroup
\ConfigureEnv{flushleft}
{\ifvmode \IgnorePar\fi \EndP}
{\ShowPar}
{\EndP\IgnorePar
\HCode{<div class="gll"\Hnewline>}\IgnorePar}
{\IgnorePar\EndP\HCode{</div>}}%
\Configure{HtmlPar}{}{}{}{}%
}
{}
{\egroup}
\Css{dd.alist p{margin-top:0.2em}}
>>>
\<configure html4 covington\><<<
|<configure html4 cgloss4e|>
>>>
\<configure html4 covington\><<<
\ConfigureEnv{exercise}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="Exercise">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureList{reflist}%
{\EndP\HCode{<dl \a:LRdir class="reflist">}%
\PushMacro\end:itm
\global\let\end:itm=\empty}
{\PopMacro\end:itm \global\let\end:itm \end:itm
\EndP\HCode{</dd></dl>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
class="reflist">}\bgroup \bf}
{\egroup\HCode{</dt><dd\Hnewline class="reflist">}\par\ShowPar}
\Css{dd.reflist p.indent { text-indent: -2em; }}
>>>
\<configure html4 covington\><<<
\Configure{sentence}
{\bgroup
\ConfigureEnv{flushleft}
{\ifvmode \IgnorePar\fi \EndP}{|<try env inline par|>}
{\EndP\IgnorePar
\HCode{<div class="sentence"\Hnewline>}\ShowPar\endgraf}
{\IgnorePar\EndP\HCode{</div>}}%
}
{\egroup}
\Css{div.sentence {text-align:left;}}
>>>
\<configure html4 covington\><<<
\Configure{glt}{\newline}
>>>
%%%%%%%%%%%%%
\subsection{diagram (chess)}
%%%%%%%%%%%%%
\<configure html4 diagram\><<<
\let\:EndIgnore\relax
\def\:Ignore{\bgroup
\catcode`\\=12
\long\def\:temp##1:EndIgnore{\egroup}\:temp
}
\ifx \setboardwidth\:UnDef \expandafter\:Ignore\fi
|<config diagram 08|>
\:EndIgnore
\ifx \setboardwidth\:UnDef \else \expandafter\:Ignore\fi
|<config diagram 95|>
\:EndIgnore
>>>
\<config diagram 95\><<<
\Configure{diagram}
{\gHAdvance\chessNo by 1\relax
\ifvmode \IgnorePar\fi \EndP
\HCode{<table class="chess" id="chess-\chessNo">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</table>}}
{\HCode{<tr class="chess-\chessNo-\HRow">}}
{\HCode{</tr>}}
{\tmp:cnt=\HCol
\advance \tmp:cnt by \HRow \relax
\HCode{<td id="chess-\chessNo-\HRow-\HCol"
class="\ifodd \tmp:cnt white\else
\ifnum \count\help@b=144 ch-\fi
black\fi -square">}}
{\HCode{</td>}}
>>>
\<config diagram 08\><<<
\Configure{diagram}
{\gHAdvance\chessNo by 1\relax
\ifvmode \IgnorePar\fi \EndP
\HCode{<table class="chess" id="chess-\chessNo">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</table>}}
{\HCode{<tr class="chess-\chessNo-\HRow">}}
{\HCode{</tr>}}
{\tmp:cnt=\HCol
\advance \tmp:cnt by \HRow \relax
\HCode{<td id="chess-\chessNo-\HRow-\HCol"
class="\ifodd \tmp:cnt white\else
\ifnum
144=\csname cpd@square@\roman{cpd@current@square@index}\endcsname
ch-\fi
black\fi -square">}}
{\HCode{</td>}}
>>>
\<configure html4 diagram\><<<
\HAssign\chessNo=0
\Css{td.black-square{background-color:\#B0B0B0;
% width:12.5\%;
width:1.5em; height:1.5em;
}}
\Css{td.ch-black-square{background-color:\#B0B0B0;
color:\#B0B0B0;
% width:12.5\%;
width:1.5em; height:1.5em;
}}
\Css{td.white-square{background-color:\#FFFFFF;
% width:12.5\%;
width:1.5em; height:1.5em;
}}
\Css{table.chess{% margin-left: 0em; margin-right: 0em;
margin-left: auto; margin-right: auto;
border: solid black 1px;
% width:100\%;
text-align:center;}}
\Configure{stipulation}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="stipulation">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<span class="stipulation">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</span>}}
\Configure{piececounter}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="piececounter">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Css{div.piececounter{ float:right; clear:left; margin-top:1em;}}
\Configure{authors}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="authors">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{condition}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="condition">}\bgroup
\Configure{newline}{}}
{\egroup\ifvmode \IgnorePar\fi \EndP
\HCode{</div>}}
\Configure{solution}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="solution">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{award}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="award">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{dedic}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="dedic">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{twins}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="twins">}\bgroup
\Configure{newline}{}}
{\egroup \ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Css{div.twins{text-align:left;width:100\%;}}
\Configure{remark}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="remark">}\bgroup
\Configure{newline}{}}
{\egroup\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{above}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="above">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div><!--end above-->}}
\Css{div.above{margin-bottom:0.3em;}}
\Configure{below}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="below">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Css{div.below{text-align:center;margin-top:1em;}}
\ConfigureEnv{diagram}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="diagram">}\bgroup
\Configure{HtmlPar}{}{}{}{}%
}
{\egroup\ifvmode \IgnorePar\fi \EndP
\HCode{</div><!--end diagram-->}}
{}{}
\Css{div.diagram{width:12em;
display: inline-block;
margin-right:0.5em;
margin-left:0.5em;
vertical-align:top;
}}
\Configure{correction}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="correction">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{showlabel}
{\ifvmode \IgnorePar\fi \EndP \HCode{<sup class="showlabel">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</sup>}}
\Configure{judgement}
{\ifvmode \IgnorePar\fi \EndP \HCode{<span class="judgement">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</span>}}
\HAssign\solNum= 0
\Configure{number}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="number">}%
\gHAdvance\solNum by 1\relax
\Link{sol-\solNum}{prob-\solNum}}
{\EndLink\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{sol-number}
{\ifvmode \IgnorePar\fi \EndP \HCode{<span class="sol-number">}%
\gHAdvance\solNum by 1\relax
\Link{prob-\solNum}{sol-\solNum}}
{\EndLink\ifvmode \IgnorePar\fi \EndP \HCode{</span>}}
\Configure{sol-author}
{\ifvmode \IgnorePar\fi \EndP \HCode{<span class="sol-author">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</span>}}
\Configure{sol-title}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="sol-title">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{source}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="source">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{source}
{\ifvmode \IgnorePar\fi \EndP \HCode{<span class="source">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</span>}}
\Configure{date}
{\ifvmode \IgnorePar\fi \EndP \HCode{<span class="date">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</span>}}
\Configure{issue}
{\ifvmode \IgnorePar\fi \EndP \HCode{<span class="issue">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</span>}}
\Configure{pages}
{\ifvmode \IgnorePar\fi \EndP \HCode{<span class="pages">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</span>}}
\Css{div.condition{text-align:left;width:100\%;}}
\Css{div.stipulation{
text-align:justify; text-align-last:justify; width:100\%;
}}
\Css{span.stipulation{ margin-right:1em; }}
>>>
%%%%%%%%%%%%%
\subsection{eurosym}
%%%%%%%%%%%%%
\<configure html4 eurosym\><<<
\Configure{geneuro}{\ht:special{t4ht@+\string&{35}x20AC{59}}x}
\Configure{geneuronarrow}{\ht:special{t4ht@+\string&{35}x20AC{59}}x}
\Configure{geneurowide}{\ht:special{t4ht@+\string&{35}x20AC{59}}x}
>>>
%%%%%%%%%%%%%
\subsection{Sistyle}
%%%%%%%%%%%%%
\<configure html4 sistyle\><<<
\Configure{thousandsep}
{\HCode{<span class="thousandsep">\string&\#x00A0;</span>}}
\Css{span.thousandsep{font-size:80\%}}
>>>
\<configure html4 sistyle\><<<
\Configure{degC}{\leavevmode\ht:special{t4ht@+&{35}x00B0;}xC}
\Configure{degF}{\leavevmode\ht:special{t4ht@+&{35}x00B0;}xF}
\Configure{arcdeg}{\leavevmode\ht:special{t4ht@+&{35}x00B0;}x}
\Configure{arcmin}{\leavevmode\ht:special{t4ht@+&{35}x2032;}x}
\Configure{arcsec}{\leavevmode\ht:special{t4ht@+&{35}x2033;}x}
\Configure{ohm}{\leavevmode\ht:special{t4ht@+&{35}x2126;}x}
\Configure{micro}{\leavevmode\ht:special{t4ht@+&{35}x00B5;}x}
\Configure{angstrom}{\leavevmode\ht:special{t4ht@+&{35}x212B;}x}
>>>
%%%%%%%%%%%%%
\subsection{chapterbib}
%%%%%%%%%%%%%
\<configure html4 chapterbib\><<<
\:CheckOption{2}
\if:Option\else \:CheckOption{3} \fi
\if:Option\else \:CheckOption{4} \fi
\if:Option\else \:CheckOption{5} \fi
\if:Option
\AtBeginDocument{%
\let\cb:sectionbib=\cb@sectionbib
\def\cb@sectionbib{%
\let\addcontentsline\:gobbleIII
\cb:sectionbib}}
\fi
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{lineno.sty}
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 lineno\><<<
\:warning{The line numbers are commented out. To reintroduce them, use
the \string\Configure{lineno}{...}{...} command}
\Configure{lineno}
{\bgroup \let\LineNumber=\empty}
{\egroup}
>>>
%%%%%%%%%%%%%%
\subsection{revtex (aps)}
%%%%%%%%%%%%%%
\<configure html4 revtex4\><<<
|<preprint revtex4|>
|<default revtex4|>
>>>
\<preprint revtex4\><<<
\ConfigureSec{section}
{\ifvmode \IgnorePar \fi \EndP
\HCode{<h3 class="sectionHead"\a:LRdir>}\IgnorePar}
{\lowercase{\HCode{</h3>}}}
{}{}
>>>
% {\HCode{<span class="sectionmark"\a:LRdir>}}
% {\lowercase{\HCode{</span>}}}
\<preprint revtex4\><<<
\ConfigureSec{subsection}
{\ifvmode \IgnorePar \fi \EndP
\HCode{<h4 class="subsectionHead"\a:LRdir>}\IgnorePar}
{\lowercase{\HCode{</h4>}}}
{}{}
>>>
\<preprint revtex4\><<<
\ConfigureSec{subsubsection}
{\ifvmode \IgnorePar \fi \EndP
\HCode{<h5 class="subsubsectionHead"\a:LRdir>}\IgnorePar}
{\lowercase{\HCode{</h5>}}}
{}{}
>>>
\<preprint revtex4\><<<
\ConfigureSec{paragraph}
{\ifvmode \IgnorePar \fi \EndP
\HCode{<h5 class="paragraphHead"\a:LRdir>}\IgnorePar}
{\lowercase{\HCode{</h5>}}}
{}{}
>>>
\<preprint revtex4\><<<
\ConfigureSec{subparagraph}
{\ifvmode \IgnorePar \fi \EndP
\HCode{<h5 class="subparagraphHead"\a:LRdir>}\IgnorePar}
{\lowercase{\HCode{</h5>}}}
{}{}
>>>
\<default revtex4\><<<
\Configure{maketitle}
{\ifvmode \IgnorePar\fi \EndP |<title for TITLE 2|>%
\HCode{<div class="maketitle">}\par\ShowPar}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{\NoFonts\IgnorePar\HCode{<h2 class="titleHead"\a:LRdir>}\IgnorePar}
{\ifvmode \IgnorePar\fi \EndP
\HCode{</h2>}\IgnoreIndent\EndNoFonts}
\Css{h2.titleHead{text-align:center;}}
\Css{div.maketitle{ margin-bottom: 2em;}}
>>>
\<default revtex4\><<<
\Configure{|<thanks author date and|>}
{\ifvmode \IgnorePar\fi\EndP \HCode{<div class="thanks" \a:LRdir>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{<div class="author" \a:LRdir>}}
{\ifvmode \IgnorePar\fi\EndP \HCode{</div>}}
{\lowercase{\HCode{<span class="date" \a:LRdir>}}}
{\HCode{</span>}}
{\HCode{<br class="and" />}}
{\HCode{<br />}}
\Configure{doauthor}
{\HCode{<span class="author" \a:LRdir>}}
{\HCode{</span>}}
\Css{div.author{margin-top:2em;text-align:center;}}
\Configure{affil}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div\Hnewline class="affil">}}
{\ifvmode \IgnorePar\fi \EndP
\HCode{</div>}\IgnorePar}
\Css{.affil {text-align:center}}
>>>
\<default revtex4\><<<
\Configure{RRAPformat}
{\ifvmode\IgnorePar\fi \EndP \HCode{<div class="RRAP">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}}
\Configure{received}
{\lowercase{\HCode{<span class="received" \a:LRdir>}}}
{\HCode{</span>}}
\Configure{revised}
{\lowercase{\HCode{<span class="revised" \a:LRdir>}}}
{\HCode{</span>}}
\Configure{accepted}
{\lowercase{\HCode{<span class="accepted" \a:LRdir>}}}
{\HCode{</span>}}
\Configure{published}
{\lowercase{\HCode{<span class="published" \a:LRdir>}}}
{\HCode{</span>}}
\Css{div.RRAP{margin-top:1em;margin-bottom:1em;text-align:center;}}
>>>
\<default revtex4\><<<
\Configure{abstract}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="abstract">}\par \ShowPar}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Css{.abstract{margin:1em;}}
>>>
\<default revtex4\><<<
\Configure{pacs}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="pacs">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Css{.pacs{margin-left:1em;}}
\Configure{keywords}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="keywords">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Css{.keywords{margin-left:1em;}}
>>>
\<default revtex4\><<<
\ConfigureEnv{thebibliography}{\par\leavevmode}{\ShowPar}{}{}
|<default thebibliography|>
\Configure{endnote}
{\HCode{<span class="endnote">}}
{\HCode{</span>}}
>>>
\<default revtex4\><<<
\Configure{footnotebody}
{\HCode{<span class="footnote-body" \a:LRdir>}}
{\HCode{</span>}}
\Configure{frontpagefootnote}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="frontpagefootnotes">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{\HCode{<div class="frontpagefootnote">}}
{\HCode{</div>}}
\Css{.frontpagefootnote{margin-left:1em;}}
>>>
\<default revtex4\><<<
|<latex shared part config|>
|<latex shared section config|>
|<latex shared subsection config|>
|<latex shared subsubsection config|>
|<latex shared paragraph config|>
\Configure{subparagraph}{}{}
{\ShowPar\HCode{<span class="subparagraphHead"\a:LRdir>}\begingroup\bf
\TitleMark\space}
{\endgroup\HCode{</span>}\IgnorePar}
\Css{.subparagraphHead { font-weight: bold;}}
>>>
\<default revtex4\><<<
\ConfigureEnv{widetext}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="widetext">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par}
{}{}
>>>
\<default revtex4\><<<
\ConfigureEnv{ruledtabular}
{\ifvmode \IgnorePar\fi \HCode{<div class="ruledtabular">}}
{\ifvmode \IgnorePar\fi \HCode{</div>}}
{}{}
\Css{div.ruledtabular table {
border-top: black 1px double;
border-bottom: black 1px double}}
|<config captions|>
>>>
\<default revtex4\><<<
\Configure{abstractheading}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="abstractheading">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par}
\Css{div.abstractheading{text-align:center}}
>>>
\<default revtex4\><<<
\Configure{preprint}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="preprint">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par}
\Css{div.preprint{text-align:right}}
>>>
%\<configure html4 aps\><<<
% >>>
\<revtex3 aps.sty\><<<
|<revtex sections|>
|<revtex title page|>
|<shared bib env|>
|<thebib config|>
>>>
\<revtex sections\><<<
% \def\:SPAN#1#2{\HCode{<span class="#1">}#2\HCode{</span>}}
>>>
\<revtex sections\><<<
\:CheckOption{4} \if:Option
\expandafter\ifx \csname @chapter\endcsname\relax
\CutAt{part}
\CutAt{likepart}
|<cut toc: part|>
\CutAt{section,likesection,chapter,likechapter,appendix,part}
\CutAt{likesection,chapter,likechapter,appendix,part}
|<cut toc: sec|>%
\CutAt{subsection,section,likesection,%
chapter,likechapter,appendix,part}
\CutAt{likesubsection,section,likesection,%
chapter,likechapter,appendix,part}
|<cut toc: subsec|>%
|<tocat: part|>%
|<tocat: section|>%
\else
\CutAt{part}
\CutAt{likepart}
|<cut toc: part|>
\CutAt{chapter,likechapter,appendix,part}
\CutAt{likechapter,appendix,part}
\CutAt{appendix,chapter,likechapter,part}
|<tocat: ch|>%
\CutAt{section,likesection,chapter,likechapter,appendix,part}
\CutAt{likesection,chapter,likechapter,appendix,part}
|<cut toc: sec|>%
\CutAt{subsection,section,likesection,%
chapter,likechapter,appendix,part}
\CutAt{likesubsection,section,likesection,%
chapter,likechapter,appendix,part}
|<cut toc: subsec|>%
|<tocat: part|>%
|<tocat: ch|>%
|<tocat: section|>%
\fi
\else\:CheckOption{3} \if:Option
\expandafter\ifx \csname @chapter\endcsname\relax
\CutAt{part}
\CutAt{likepart}
|<cut toc: part|>
\CutAt{section,likesection,chapter,likechapter,appendix,part}
\CutAt{likesection,chapter,likechapter,appendix,part}
|<cut toc: sec|>%
\CutAt{subsection,section,likesection,%
chapter,likechapter,appendix,part}
\CutAt{likesubsection,section,likesection,%
chapter,likechapter,appendix,part}
|<cut toc: subsec|>%
|<tocat: part|>%
|<tocat: section|>%
\else
\CutAt{part}
\CutAt{likepart}
|<cut toc: part|>
\CutAt{chapter,likechapter,appendix,part}
\CutAt{likechapter,appendix,part}
\CutAt{appendix,chapter,likechapter,part}
|<tocat: ch|>%
\CutAt{section,likesection,chapter,likechapter,appendix,part}
\CutAt{likesection,chapter,likechapter,appendix,part}
|<cut toc: sec|>%
|<tocat: part|>%
|<tocat: ch|>%
\fi
\else\:CheckOption{2} \if:Option
\expandafter\ifx \csname @chapter\endcsname\relax
\CutAt{part}
\CutAt{likepart}
|<cut toc: part|>
\CutAt{section,likesection,chapter,likechapter,appendix,part}
\CutAt{likesection,chapter,likechapter,appendix,part}
|<cut toc: sec|>%
|<tocat: part|>%
\else
\CutAt{part}
\CutAt{likepart}
|<cut toc: part|>
\CutAt{chapter,likechapter,appendix,part}
\CutAt{likechapter,appendix,part}
\CutAt{appendix,chapter,likechapter,part}
|<tocat: ch|>%
|<tocat: part|>%
\fi
\else\:CheckOption{1} \if:Option
\CutAt{part}
\CutAt{likepart}
|<cut toc: part|>
\else
\Log:Note{for automatic sectioning pagination,
use the command line option `1', `2', or `3'}%
\fi \fi \fi \fi
\:CheckOption{1} \if:Option
|<toc article,report options 1|>
\fi
|<shared h5 subsubsection|>
\Configure{endlikesubsubsection}
{subsubsection,subsection,likesubsection,section,%
likesection,chapter,likechapter,appendix,part,likepart}
\Configure{endlikeparagraph}
{paragraph,subsubsection,likesubsubsection,subsection,%
likesubsection,section,%
likesection,chapter,likechapter,appendix,part,likepart}
\Configure{endsubparagraph}
{likesubparagraph,likeparagraph,subsubsection,likesubsubsection,%
subsection,likesubsection,section,%
likesection,chapter,likechapter,appendix,part,likepart}
\Configure{endlikesubparagraph}
{subparagraph,likeparagraph,subsubsection,likesubsubsection,%
subsection,likesubsection,section,%
likesection,chapter,likechapter,appendix,part,likepart}
\ifx \part\:UnDef \else
|<latex shared part config|>
\fi
\Configure{endsection}
{likesection,chapter,likechapter,appendix,part,likepart}
\Configure{endlikesection}
{section,chapter,likechapter,appendix,part,likepart}
\ConfigureMark{section}
{\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
\else
\HCode{<span class="titlemark">}\thesection\HCode{</span>}\fi }
|<section TITLE+|>
\Configure{section}{}{}
{\ifvmode \IgnorePar\fi \EndP\IgnorePar
\HCode{<h3 class="sectionHead"\a:LRdir>}\TitleMark.\space\HtmlParOff}
{\HCode{</h3>}\HtmlParOn \ShowPar\par}
\Configure{likesection}{}{}
{\ifvmode \IgnorePar\fi
\EndP\IgnorePar\HCode{<h3 class="likesectionHead"\a:LRdir>}\HtmlParOff}
{\HCode{</h3>}\HtmlParOn \IgnoreIndent \ShowPar\par}
\Configure{likesectionTITLE+}{#1}
\Css{h3.sectionHead, h3.likesectionHead {text-align:center;}}
\Configure{endsubsection}
{likesubsection,section,likesection,chapter,%
likechapter,appendix,part,likepart}
\Configure{endlikesubsection}
{subsection,section,likesection,chapter,%
likechapter,appendix,part,likepart}
|<shared h4 subsection|>
\Css{h4.subsectionHead {text-align:center;}}
\Configure{endsubsubsection}
{likesubsubsection,subsection,likesubsection,section,%
likesection,chapter,likechapter,appendix,part,likepart}
\Configure{endparagraph}
{likeparagraph,subsubsection,likesubsubsection,subsection,%
likesubsection,section,%
likesection,chapter,likechapter,appendix,part,likepart}
\Configure{paragraph}{}{}
{\ShowPar\IgnoreIndent\HCode{<span class="paragraphHead"\a:LRdir>}\begingroup\bf}
{\endgroup\HCode{</span>}\IgnorePar}
\Configure{likeparagraph}{}{}
{\ShowPar\IgnoreIndent\HCode{<span class="likeparagraphHead"\a:LRdir>}}
{\HCode{</span>}\IgnorePar}
\Css{.paragraphHead, .likeparagraphHead
{ margin-top:2em; font-weight: bold;}}
\ConfigureMark{subparagraph}{}
\Configure{subparagraph}{}{}
{\ShowPar\HCode{<span class="subparagraphHead"\a:LRdir>}\begingroup\bf
\TitleMark\space}
{\endgroup\HCode{</span>}\IgnorePar}
\Configure{likesubparagraph}{}{}
{\ShowPar\HCode{<span class="likesubparagraphHead"\a:LRdir>}\begingroup\bf}
{\endgroup\HCode{</span>}\IgnorePar}
\Css{.subparagraphHead, .likesubparagraphHead
{ font-weight: bold;}}
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{Spatial Math}
%%%%%%%%%%%%%%%%%%%
\<configure html4 longdiv\><<<
\Configure{longdiv}
{\Configure{halign}
{\HCode{<table class="longdiv">}}
{\HCode{</table>}}
{\HCode{<tr>}}
{\HCode{</tr>\Hnewline}}
{\tmp:cnt=\HRow \divide\tmp:cnt by 2 \multiply\tmp:cnt by 2
\advance\tmp:cnt by -\HRow
\HCode{<td \ifnum\HCol=2 \ifnum\HRow=2 class="longdiv"\fi \fi>%
<span \ifnum \tmp:cnt=-1
\ifnum \HRow>2 class="longdiv"\fi\fi >}%
}
{\HCode{</span></td>}}%
}
{}
\Css{table.longdiv {text-align: right;}}
\Css{td.longdiv {border-top:solid 1px black;
border-left:solid 1px black;}}
\Css{span.longdiv {text-decoration:underline;}}
>>>
%%%%%%%%%%%%%%%%%%%
\subsection{lncse}
%%%%%%%%%%%%%%%%%%%
\<configure html4 lncse\><<<
|<lncse chapter|>
\Configure{paragraph}{}{}
{\ShowPar\IgnoreIndent
\HCode{<span class="paragraphHead"\a:LRdir>}\begingroup\it}
{\endgroup\HCode{</span>}\IgnorePar}
>>>
\<lncse chapter\><<<
\ConfigureMark{chapter}
{\if@mainmatter
\HCode{<span class="titlemark">}\chaptername
\ \thechapter\HCode{</span>}\fi}
\Configure{chapter}{}{}
{\IgnorePar\EndP\HCode{<h2 class="chapterHead"\a:LRdir>}%
\TitleMark{\HCode{<br />}}}
{\HCode{</h2>}\IgnoreIndent\par}
\Configure{chapterTITLE+}{\if@mainmatter\thechapter\space\fi#1}
\renewcommand\thechapter {\if@mainmatter\@arabic\c@chapter\fi}
\ConfigureMark{appendix}{\HCode{<span class="titlemark">}%
\appendixname \ \thechapter\HCode{</span>}}
\Configure{appendix}{}{}
{\IgnorePar\EndP\HCode{<h2 class="appendixHead"\a:LRdir>}%
\TitleMark{\HCode{<br />}}}
{\HCode{</h2>}\IgnoreIndent\par}
\Configure{appendixTITLE+}{\thechapter\space#1}
\Configure{likechapter}{}{}
{\IgnorePar\EndP\HCode{<h2 class="likechapterHead"\a:LRdir>}}
{\HCode{</h2>}\IgnoreIndent\par}
>>>
%%%%%%%%%%%%%%%%%%
\section{Resume}
%%%%%%%%%%%%%%%%%%
\<configure html4 resume\><<<
\Css{body{margin:4em;}}
\Css{td{vertical-align:top;}}
\Configure{name}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="name">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par}
\Css{div.name{text-align:center;}}
>>>
\<configure html4 resume\><<<
\Configure{addresses}
{\ifvmode \IgnorePar\fi \EndP
\bgroup
\Configure{tabular}
{\HCode{<div>}} {\HCode{</div>}}
{}{}
{\ifnum \HRow>1 \HCode{<br />}\fi} {}%
\HCode{<table class="addresses"><tr><td class="addresses-left">}%
}
{\ifvmode \IgnorePar\fi \EndP \HCode{</td><td class="addresses-right">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</td></tr></table>}\par
\egroup}
\Css{table.addresses{width:100\%;}}
\Css{td.addresses-left{float:left;}}
\Css{td.addresses-right{float:right;}}
\Css{table.addresses div{text-align:left;}}
>>>
\<configure html4 resume\><<<
\ConfigureList{llist}
{\HAssign\HRow=0 \ifvmode \IgnorePar\fi \EndP
\HCode{<table class="llist">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</td></tr></table>}}
{\ifvmode \IgnorePar\fi \EndP \HAdvance\HRow by 1
\HCode{\ifnum \HRow>1 </td></tr>\fi
<tr><td class="llist-title">}\par}
{\ifvmode \IgnorePar\fi \EndP \HCode{</td><td class="llist-body">}\par}
>>>
\<configure html4 resume\><<<
\Configure{location}
{\HCode{<span class="location">}}
{\HCode{</span><br />}}
\Css{span.location{margin-left:2em;}}
>>>
\<configure html4 resume\><<<
\ConfigureList{items}
{\ifvmode \IgnorePar\fi \EndP \HAssign\HRow=0
\HCode{<table class="items">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</td></tr></table>}}
{\ifvmode \IgnorePar\fi \EndP \HAdvance\HRow by 1
\HCode{\ifnum \HRow>1 </td></tr>\fi <tr><td>&\#x2022;}\DeleteMark}
{\ifvmode \IgnorePar\fi \EndP \HCode{</td><td class="items">}}
>>>
%%%%%%%%%%%%%%%%%%
\section{Curve}
%%%%%%%%%%%%%%%%%%
\<configure html4 curve\><<<
\Configure{key}
{\HCode{<span class="key">}}
{\HCode{</span>}}
\Configure{key}
{\HCode{<span class="prefix">}}
{\HCode{</span>}}
\ConfigureEnv{rubric}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="rubric">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{} {}
\Configure{rubrichead}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="rubrichead">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{subrubric}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="subrubric">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{maketitle}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="maketitle">}\bgroup
\ConfigureEnv{center}{}{}{}{}%
}
{\egroup\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="title">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="subtitle">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{makeheaders}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<table class="makeheaders"><tr><td class="leftheader">}}
{\HCode{</td><td class="rightheader">}}
{\ifvmode \IgnorePar\fi \EndP \HCode{</td></tr></table>}}
\Css{td.leftheader {text-align:left}}
\Css{td.rightheader {text-align:right}}
\Css{table.makeheaders {width:100\%}}
\Css{div.maketitle {text-align:center;}}
\Css{div.rubrichead {margin-top:1em; margin-bottom:1em;}}
>>>
%%%%%%%%%%%%%%%%%%
\section{moderncv}
%%%%%%%%%%%%%%%%%%
\<configure html4 moderncv\><<<
\Configure{cvhead}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvhead">}}{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}}
\Configure{cvphoto}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvphoto">}}{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}}
\Configure{section}{\ifvmode\IgnorePar\fi\EndP\HCode{<h2>}}{\HCode{</h2>}}
\Configure{subsection}{\ifvmode\IgnorePar\fi\EndP\HCode{<h3>}}{\HCode{</h3>}}
\Configure{cvitem}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvitem"><span class="cvitemhead">}}{\HCode{</span><span class="cvitembody">}}{\HCode{</span></div>}}
\Configure{cvdoubleitem}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvdoubleitem">}}{\HCode{</div>}}
\Configure{cvlistitem}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvlistitem">}}{\HCode{</div>}}
\Configure{cvlistdoubleitem}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvlistdoubleitem">}}{\HCode{</div>}}
\Configure{cvskillhead}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvskillhead">}}{\HCode{</div>}}
\Configure{cvskillentry}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="cvskillentry">}}{\HCode{</div>}}
\Configure{cvskill}{\Picture*[skill level: \:cvskillamount]{}}{\EndPicture}
\Css{.cvskillentry .tabular, .cvskillhead .tabular {margin:0pt;}}
\Css{.cvskillentry .tabular td:nth-child(1), .cvskillhead .tabular td:nth-child(1){width: 8ch}}
\Css{.cvskillentry .tabular td:nth-child(2), .cvskillhead .tabular td:nth-child(2){width: 12ch}}
\Css{.cvskillentry .tabular td:nth-child(3), .cvskillhead .tabular td:nth-child(3){width: 6ch}}
\Css{.cvskillentry .tabular td:nth-child(4), .cvskillhead .tabular td:nth-child(4){width: 54ch}}
\Css{.cvitemhead{margin-right: 1em;}}
\Css{
@media (min-width:94ch) {
cvitemhead{
margin-left: -14ch;
width: 12ch;
float: left;
text-align: right;
}
}}
>>>
%%%%%%%%%%%%%%%%%%
\section{CSS}
%%%%%%%%%%%%%%%%%%
\<import css\><<<
\:CheckOption{-css} \if:Option \else
\Log:Note{to ignore CSS code, use the command line option `-css}
\:CheckOption{css-in} \if:Option
\Log:Note{the inline CSS code is extracted from the input of the
previous compilation, so an extra compilation might be needed}
\Configure{@HEAD}{|<css inline|>}
\else
\Log:Note{for inline CSS code, use the command line option `css-in'}
\Configure{@HEAD}{\HCode{<link
rel="stylesheet" type="text/css"
href="\aa:CssFile"\xml:empty>\Hnewline}}
\fi
\fi
>>>
\<0,32,4 preambles\><<<
|<hook utility|>
\:CheckOption{-css} \if:Option
\def\Css#1{}
\NewConfigure{CssFile}{2}
\else
|<cascade style sheets|>
\Configure{Preamble}
{|<default cascade style sheets|>} {}
\fi
>>>
\<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}%
>>>
\verb'\special' are like \verb'\hbox', and they so they may introduve empty lines in
vertical mode. That might be a problem if we don't want empty lines at
the start of the files. Hence, in latex we give them special treatment.
\<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}%
\bgroup \everypar{}\NoFonts \bb:CssFile \hfil\break}
{\egroup \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
\inc:ss#1.css|<par del|>
\else \inc:ss#1.#2|<par del|>\fi}
\def\inc:ss#1.|<par del|>{|<input css file|> }
\NewConfigure{CssFile}[2]{\def\aa:CssFile{#1}\def\bb:CssFile{#2}}
>>>
\<input css file\><<<
\immediate\openin15=#1
\ifeof15 \immediate\closein15
\:warning{Missing file: #1}%
\else \immediate\closein15 \input #1 \fi
>>>
\verb'\CssFile[file-name,filename.ext,..]...\EndCssFile'.
Default file, just in case the user doesn't provide one. If
the user does, the following file will be overwritten.
Can't use below \verb'\a:CssFile' and \verb'\b:CssFile', because
\verb'\ScriptFile{\CssFile}' also needs them.
\verb'\Css' changes its definition upon reachin \verb'\CssFile'. The
first definition is needed within the sty files, and the info is
sent to the lg file (where else it can be sent?).
\<cascade style sheets\><<<
\def\Css#1{{\def\:temp{\Configure{Needs}}%
\let\%\prcnt:ch%
\expandafter\:temp\expandafter{\aa:Css}\Needs{#1}}}
>>>
The following code can be used to enclose the CSS code in a media query.
\<cascade style sheets\><<<
\begingroup
\catcode`\{ = 12 \catcode`\} = 12
\catcode`\[ = 1 \catcode`\] = 2
\gdef\:lbracechar[{]%
\gdef\:rbracechar[}]%
\endgroup
% #1 media query, such as screen. Leave blank if the media query is universal
% #2 condition, such as min-width: 600px
\def\CssMediaQueryStart#1#2{\Css{@media\ifx\relax#1\relax\else\space#1 and \fi(#2)\:lbracechar}}
\def\CssMediaQueryEnd{\Css{\:rbracechar}}
>>>
\section{External scripts and styles}
\<external scripts and styles\><<<
\NewConfigure{AddCss}[1]{%
{\Configure{Needs}{File: #1}\Needs{}}
\Configure{@HEAD}{\HCode{<link rel="stylesheet" type="text/css" href="#1" />\Hnewline}}
}
\NewConfigure{AddJs}[1]{%
{\Configure{Needs}{File: #1}\Needs{}}
\Configure{@HEAD}{\HCode{\Hnewline<script type="text/javascript" src="#1"></script>\Hnewline}}
}
>>>
\section{Web fonts support}
These commands declare new font family in the CSS file
The default font family name which should be used in the Css
\textit{font-family} command for a declared font is \textit{rmfamily}.
It use the Latin Modern font installed on the viewer's system.
The Css font family and the local font name can be changed using
\verb|\Configure{FontFamily}{cssfamilyname}{LocalFontName}| command.
\begin{verbatim}
\Configure{FontFamily}{rmfamily}{Latin Modern}
\end{verbatim}
The font shapes can be configure using \verb|\Configure{NormalFont}|,
\verb|\Configure{ItalicFont}|, \verb|\Configure{BoldItalicFont}| and
\verb|Configure{BoldFont}|. The argument should be font file in the format
supported by browsers, such as \textit{woff} or \textit{otf}.
\begin{verbatim}
\Configure{NormalFont}{normal-font-file.otf}
\Configure{BoldFont}{bold-font-file.otf}
\Configure{BoldItalicFont}{bold-italic-font-file.otf}
\Configure{ItalicFont}{italic-font-file.otf}
% Add another font family
\Configure{FontFamily}{hello}{Linux Libertine O}
\Configure{NormalFont}{hello-font-file.otf}
\Css{body{font-family: rmfamily, "AnotherFontFamilyName", serif;}}
\Css{span.hello{font-family: hello, sans-serif;}}
\end{verbatim}
\<external web fonts\><<<
% \newcommand\AddFontFace[4]{%
\def\AddFontFace#1#2#3#4{%
\Css{@font-face {
font-family: #1;
src: local("#2"),
url('#3');
#4
}}
{\Configure{Needs}{File: #3}\Needs{}}
}
% If more font families are used, they need to have different names
\NewConfigure{FontFamily}{2}
\Configure{FontFamily}{rmfamily}{Latin Modern}
% Declarations for common font styles, just local family name and font file name are needed to be provided
\NewConfigure{NormalFont}[1]{\AddFontFace{\a:FontFamily}{\b:FontFamily}{#1}{font-weight: normal;font-style: normal;}}
\NewConfigure{BoldFont}[1]{\AddFontFace{\a:FontFamily}{\b:FontFamily}{#1}{font-weight: bold;font-style: normal;}}
\NewConfigure{ItalicFont}[1]{\AddFontFace{\a:FontFamily}{\b:FontFamily}{#1}{font-weight: normal;font-style: italic;}}
\NewConfigure{BoldItalicFont}[1]{\AddFontFace{\a:FontFamily}{\b:FontFamily}{#1}{font-weight: bold;font-style: italic;}}
>>>
%%%%%%%%%%%%%%%%
\section{?????}
%%%%%%%%%%%%%%%%
\<hook utility\><<<
\:CheckOption{hooks++} \if:Option
\else \:CheckOption{hooks+}
\if:Option \else \:CheckOption{hooks}\fi
\fi
\if:Option
\Configure{hooks}
{\HCode{<strong class="hooks"><}}{\HCode{></strong>}}{}{}
\fi
>>>
The following provides a faster version
than \verb'\LinkCommand\Link{a,href,name,}' for the \verb'\Link'
command
\<config tex4ht\><<<
\Configure{Link}{a}{href=}{id=}{}
>>>
\section{Shared}
%%%%%%%%%%%%%%%%%%
\<config book-report-article\><<<
|<makeketitle config 4.0t|>
>>>
\<config book-report-article\><<<
|<latex shared div config|>
|<shared bib env|>
\ifx \part\:UnDef \else
|<latex shared part config|>
\fi
|<config lists of figures and tables|>
|<description 4|>
|<roman enumeiii|>
>>>
\<config lists of figures and tables\><<<
\ConfigureToc{lof}
{\HCode{<span class="lofToc" \a:LRdir>}}{\ }{}{\HCode{</span><br />}}
\ConfigureToc{lot}
{\HCode{<span class="lotToc" \a:LRdir>}}{\ }{}{\HCode{</span><br />}}
>>>
\<config book-report-article\><<<
|<thebib config|>
|<latex config div 4.0t|>
>>>
\<32,4 latex\><<<
|<config bibitem|>
>>>
\<config book-report-article\><<<
|<quote config|>
>>>
\<quote config\><<<
\ConfigureEnv{quote}
{}{}
{\IgnorePar\EndP
\HCode{<blockquote class="\getClass{quote}">}\afterGetClass{quote}}
{\IgnorePar\EndP\HCode{</blockquote>}\ShowPar\ShowIndent}
\NewConfigure{quoteClass}{2}
\Configure{quoteClass}{quote}{}
>>>
% let browser handle quotation formatting
% \Css{.quote {margin-bottom:0.25em; margin-top:0.25em;
% margin-left:1em; margin-right:1em; text-align:justify;}}
\<configure html4 tex4ht\><<<
\def\getClass#1{\expandafter
\ifx \csname a:#1Class\endcsname\relax\else
\csname a:#1Class\endcsname
\fi}
\def\afterGetClass#1{\csname b:#1Class\endcsname}
>>>
\<quote noindent config\><<<
\ConfigureEnv{quote}
{}{}
{\IgnorePar\EndP\HCode{<blockquote class="quote">}\IgnoreIndent}
{\IgnorePar\EndP\HCode{</blockquote>}\ShowPar\ShowIndent}
>>>
% maybe we should let browsers to use the default formatting for quotes
% \Css{.quote {margin-bottom:0.25em; margin-top:0.25em;
% margin-left:1em; margin-right:1em; text-align:justify;}}
\<config book-report-article\><<<
\ConfigureEnv{verse}
{\ifvmode \IgnorePar\fi\EndP\Tg<div class="verse">}
{\ifvmode \IgnorePar\fi\EndP\Tg</div>\par\ShowPar}
{}{}
\ConfigureList{verse}
{}{}
{\parindent=\z@} {\par}
\Css{.verse{white-space:nowrap; margin-left:2em}}
>>>
\<config book-report-article\><<<
|<maketitle 4|>
>>>
\<config book-report-article\><<<
|<article,report,book|>
>>>
%%%%%%%%%%%%%%%%%%%
\section{babel.sty}
%%%%%%%%%%%%%%%%%%%
\<configure html4 babel\><<<
|<babel macros|>
|<babel char set|>
|<babel accents|>
|<u mlaut|>
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Character Set}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<babel char set\><<<
\def\a:temp#1#2#3{%
\ifOption{charset=#2}{\def\a:charset{charset=#2}}{}%
\def\:tempa{#1}\ifx \languagename\:tempa
\ifx\A:charset\empty%
\def\A:charset{#2}\ifx \A:charset\empty\else%
\def\A:charset{charset=#2}%%
\fi\fi%
\if !#3!\else
\Configure{@HTML}{%
\iflanguage{#1}{xml:lang="#3" }{}%
}
\fi
\fi}
\a:temp{afrikaans}{iso-8859-1}{af}
\a:temp{arabic}{iso-8859-6}{ar}
\a:temp{austrian}{iso-8859-1}{ge}
\a:temp{brazilian}{iso-8859-1}{pt}
\a:temp{brazil}{iso-8859-1}{pt}
\a:temp{catalan}{iso-8859-1}{ca}
\a:temp{croatian}{iso-8859-2}{hr}
\a:temp{czech}{iso-8859-2}{cs}
\a:temp{danish}{iso-8859-1}{da}
\a:temp{dutch}{iso-8859-1}{nl}
\a:temp{esperanto}{iso-8859-3}{eo}
\a:temp{estonian}{iso-8859-5}{et}
\a:temp{finnish}{iso-8859-1}{fi}
\a:temp{francais}{iso-8859-1}{fr}
\a:temp{frenchb}{iso-8859-1}{fr}
\a:temp{french}{iso-8859-1}{fr}
\a:temp{galician}{iso-8859-1}{gl}
\a:temp{germanb}{iso-8859-1}{de}
\a:temp{german}{iso-8859-1}{de}
\a:temp{greek}{iso-8859-7}{el}
\a:temp{hebrew}{iso-8859-8}{he}
\a:temp{hungarian}{iso-8859-2}{hu}
\a:temp{ngerman}{iso-8859-1}{de}
\a:temp{norsk}{iso-8859-1}{no}
\a:temp{nynorsk}{iso-8859-1}{no}
\a:temp{polish}{iso-8859-2}{pl}
\a:temp{polski}{iso-8859-2}{pl}
\a:temp{polutonikogreek}{iso-8859-7}{el}
\a:temp{portuges}{iso-8859-1}{pt}
\a:temp{portuguese}{iso-8859-1}{pt}
\a:temp{romanian}{iso-8859-2}{ro}
\a:temp{scottish}{iso-8859-1}{gd}
\a:temp{slovak}{iso-8859-2}{sk}
\a:temp{slovene}{iso-8859-2}{sl}
\a:temp{spanish}{iso-8859-1}{es}
\a:temp{swedish}{iso-8859-1}{sv}
\a:temp{turkish}{iso-8859-9}{tr}
\a:temp{ukrainian}{iso-8859-5}{uk}
\a:temp{uppersorbian}{iso-8859-2}{}
\a:temp{welsh}{iso-8859-1}{cy}
|<set babel charset|>
>>>
\<configure html4 german\><<<
|<quotedblbase|>
>>>
\<configure html4 ngerman\><<<
|<quotedblbase|>
>>>
\<quotedblbase\><<<
\Configure{quotedblbase}{\leavevmode\ht:special{t4ht@+&{35}x201E;}x}
\Configure{quotesinglbase}{\leavevmode\ht:special{t4ht@+&{35}x201A;}x}
>>>
\<configure html4 austrian\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-1}
\fi
>>>
\<configure html4 catalan\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-1}
\fi
>>>
\<configure html4 croatian\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-2}
\fi
\:CheckOption{new-accents} \if:Option \else
|<old iso-8859-2 accents|>
\fi
>>>
\<configure html4 latin2\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-2}
\fi
>>>
\<configure html4 czech\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-2}
\fi
>>>
\<configure html4 danish\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-1}
\fi
>>>
\<configure html4 dutch\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-1}
\fi
>>>
\<configure html4 english\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-1}
\fi
>>>
\<configure html4 esperant\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-3}
\fi
>>>
\<configure html4 estonian\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-5}
\fi
>>>
\<configure html4 finnish\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-1}
\fi
>>>
\<configure html4 francais\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-1}
\fi
>>>
\<configure html4 frenchb\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-1}
\fi
\Configure{@TITLE}{\Configure{frenchb-thinspace}{}{}}
>>>
\<configure html4 frenchb\><<<
\Configure{system-nbsp}
{\ht:special{t4ht@[unhskip}}
{\ht:special{t4ht@]unhskip}}
>>>
Patch submitted by Michal Hoftich:
html entity \verb= = is inserted before colon. This causes validation
error in some xml environments, where this entity is not defined, for
example in epub3. macro \verb=\:nbsp= should be used instead. Patch for the
file tex4ht-html4.tex is provided in the attachment.
\<configure html4 frenchb\><<<
\ifx \tmp:bx\:UnDef \csname newbox\endcsname \tmp:bx \fi
\Configure{frenchb-nbsp}
{\ht:special{t4ht@?unhskip}\HCode{<span class="frenchb-nbsp">}%
\:nbsp\setbox\tmp:bx=\hbox\bgroup}
{\egroup \HCode{</span>}}
\Css{.frenchb-nbsp{font-size:75\%;}}
>>>
\<configure html4 frenchb\><<<
\Configure{frenchb-thinspace}
{\ht:special{t4ht@?unhskip}\HCode{<span class="frenchb-thinspace">}%
\:nbsp\setbox\tmp:bx=\hbox\bgroup}
{\egroup \HCode{</span>}}
\Css{.frenchb-thinspace{font-size:75\%;}}
>>>
french babel provides some macros which put some text to the
superscript. standard macros for superscripts aren't used, so these
superscripts doesn't show in the html output.
\<configure html4 frenchb\><<<
\NewConfigure{frenchup}{2}
\Configure{frenchup}{\HCode{<sup class="french">}}{\HCode{</sup>}}
\Css{sup.french{
vertical-align:super;
font-size:70\%;
}}
\renewcommand\fup[1]{\a:frenchup#1\b:frenchup}
>>>
This should remove part number in French Babel, because
the number is a part of the partname.
\Link[
https://github.com/michal-h21/make4ht/issues/155]{}{}Bug report\EndLink.
\<configure html4 french\><<<
\Configure{part}{}{}
{\IgnorePar \EndP\HCode{<h1 class="partHead"\a:LRdir>}%
\HCode{<span class="titlemark">}\partname
\HCode{</span><br />}}
{\HCode{</h1>}\IgnoreIndent\par}
>>>
\<configure html4 galician\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-1}
\fi
>>>
\<configure html4 germanb\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-1}
\fi
>>>
\<configure html4 greek\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-7}
\fi
\ifOption{charset=iso-8859-7}
{|<greek ldf iso-8859-7|>}
{\Log:Note{for iso-8859-7 accents
use the command line option `charset=iso-8859-7'}}
\ifOption{sgreek}
{\:CheckOption{new-accents} \if:Option \else
|<greek ldf sgreek|>
\fi}
{\Log:Note{for Sgreek font
use the command line option `sgreek'}}
\ifOption{oldgreek}
{\:CheckOption{new-accents} \if:Option \else
|<greek ldf Greek Old Face|>
\fi}
{\Log:Note{for Greek Old Face font
use the command line option `oldgreek'}}
>>>
\<greek ldf sgreek\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-1}
\fi
\Configure{htf}{254}{+}{<font \Hnewline
face="}{}{}{}{}{Sgreek">}{</font>}
\Configure{htf}{252}{+}{<font \Hnewline
face="}{}{}{}{}{Sgreek" class="small-caps">}{</font>}
\Configure{htf-css}{252}{.small-caps{font-variant: small-caps; }}
\Configure{accents}
{\ht:special{t4ht@+\string&{35}x#2{59}}x}
{\expandafter \ifx \csname \@curr@enc :#1\endcsname\relax
\Picture+{ \a:@Picture{#1}}#2{#3}\EndPicture
\else
\csname \@curr@enc :#1\endcsname {#3}%
\fi
}
\def\LGR:acute#1{%
\LGR:gobble\ifx #1\i \HChar{237}%
\else #1\HCode{<font face="Sgreek">/</font>}\fi }
\def\LGR:grave#1{%
\LGR:gobble\ifx #1\i \HChar{236}%
\else #1\HCode{<font face="Sgreek">\string\</font>}\fi}
\def\LGR:circ#1{%
\LGR:gobble\ifx #1\i \HChar{238}%
\else #1\HCode{<font face="Sgreek">=</font>}\fi}
\def\LGR:tilde#1{#1\HCode{<font face="Sgreek">@</font>}}
\def\LGR:uml#1{%
\LGR:gobble\ifx #1\i \HChar{239}%
\else #1\HCode{<font face="Sgreek">+</font>}\fi}
\def\LGR:gobble#1#2#3{#1}
>>>
The accented \''\i' arrives in the form of \''\@use@text@encoding
\@curr@enc \i'.
\<greek ldf Greek Old Face\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-1}
\fi
\Configure{htf}{254}{+}{<font \Hnewline
face="}{}{}{}{}{Greek Old Face">}{</font>}
\Configure{htf}{252}{+}{<font \Hnewline
face="}{}{}{}{}{Greek Old Face" class="small-caps">}{</font>}
\Configure{htf-css}{252}{.small-caps{font-variant: small-caps; }}
\Configure{accents}
{\ht:special{t4ht@+\string&{35}x#2{59}}x}
{\expandafter \ifx \csname \@curr@enc :#1\endcsname\relax
\Picture+{ \a:@Picture{#1}}#2{#3}\EndPicture
\else
\csname \@curr@enc :#1\endcsname {#3}%
\fi
}
\def\LGR:acute#1{%
\LGR:gobble\ifx #1\i \HChar{237}%
\else
\edef\:temp{\:gobbleII#1\empty\empty}%
\LGR:ch{i}{133}\LGR:ch{w}{232}\LGR:ch{u}{218}\LGR:ch{o}{210}%
\LGR:ch{h}{187}\LGR:ch{a}{163}\LGR:ch{e}{154}%
\ifx \:temp\empty\else #1\HChar{-180}\fi
\fi }
\def\LGR:grave#1{%
\LGR:gobble\ifx #1\i \HChar{236}%
\else
\edef\:temp{\:gobbleII#1\empty\empty}%
\LGR:ch{i}{136}\LGR:ch{235}{232}\LGR:ch{u}{221}\LGR:ch{o}{213}%
\LGR:ch{h}{190}\LGR:ch{a}{166}\LGR:ch{e}{157}%
\ifx \:temp\empty\else #1`\fi
\fi }
\def\LGR:circ#1{%
\LGR:gobble\ifx #1\i \HChar{238}%
\else
\edef\:temp{\:gobbleII#1\empty\empty}%
\LGR:ch{i}{139}\LGR:ch{w}{238}\LGR:ch{u}{224}\LGR:ch{o}{253}%
\LGR:ch{h}{193}\LGR:ch{a}{169}\LGR:ch{e}{252}%
\ifx \:temp\empty\else #1\string^\fi
\fi}
\def\LGR:tilde#1{#1}
\def\LGR:uml#1{%
\LGR:gobble\ifx #1\i \HChar{239}%
\else
\edef\:temp{\:gobbleII#1\empty\empty}%
\LGR:ch{u}{227}\LGR:ch{i}{142}%
\ifx \:temp\empty\else #1\HChar{168}\fi
\fi}
\def\LGR:gobble#1#2#3{#1}
\def\LGR:ch#1#2{\def\:tempa{#1}\ifx \:temp\:tempa
\HCode{<font face="Greek Old Face">}\HChar{#2}\HCode{</font>}%
\let\:temp=\empty \fi }
>>>
\<configure html4 hebrew\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-8}
\fi
>>>
\<configure html4 ngermanb\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-1}
\fi
>>>
\<configure html4 norsk\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-1}
\fi
>>>
\<configure html4 polish\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-2}
\fi
>>>
\<configure html4 polski\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-2}
\fi
>>>
\<configure html4 portuges\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-1}
\fi
>>>
\<configure html4 scottish\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-1}
\fi
>>>
\<configure html4 slovak\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-2}
\fi
\:CheckOption{new-accents} \if:Option \else
|<old iso-8859-2 accents|>
\fi
>>>
\<configure html4 slovene\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-2}
\fi
\:CheckOption{new-accents} \if:Option \else
|<old iso-8859-2 accents|>
\fi
>>>
\<configure html4 spanish\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-1}
\fi
\Configure{es@accents}{\es:accents}{}
\def\es:accents#1\b:es@accents{\HCode{&\#x#1;}}
|<spanish configs|>
>>>
\<spanish configs\><<<
\Configure{guillemotleft}{\HCode{&\#x00AB;}}
\Configure{guillemotright}{\HCode{&\#x00BB;}}
>>>
\<spanish configs\><<<
\Configure{spanish"a}{\HCode{<span ="underline">&\#x00AA;</span>}}
\Configure{spanish"o}{\HCode{<span ="underline">&\#x00BA;</span>}}
\Configure{spanish"e}{\HCode{<sup class="underline">e</sup>}}
\Configure{spanish"A}{\HCode{<sup class="underline">A</sup>}}
\Configure{spanish"O}{\HCode{<sup class="underline">O</sup>}}
\Configure{spanish"E}{\HCode{<sup class="underline">E</sup>}}
\Configure{spanish'i}{\HCode{&\#x00ED;}}
>>>
\<spanish configs\><<<
\Configure{es@accent}
{\string\OT1\string\'}
{|<acute codes|>}
>>>
\<spanish configs\><<<
\Configure{es@accent}
{\string\OT1\string\"}
{|<diaeresis codes|>{}{34}}
>>>
\<spanish configs\><<<
\Configure{es@accent}
{\string\OT1\string\~}
{|<tilde codes|>}
>>>
\<configure html4 swedish\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-1}
\fi
>>>
\<configure html4 turkish\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-9}
\fi
>>>
\<configure html4 ukraineb\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-5}
\fi
>>>
\<configure html4 usorbian\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-2}
\fi
>>>
\<configure html4 welsh\><<<
\ifx\A:charset\empty
\def\A:charset{charset=iso-8859-1}
\fi
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%
\section{right to left babel}
%%%%%%%%%%%%%%%%%%%%%%%%%
tex4ht.sty indert Rregion and Lregion end hooks within
\verb+\beginL/R+ and \verb+\endL/R+, mainly to void the
inverse produced by the elatex compiler.
\<configure html4 rlbabel\><<<
|<shared rlbabel, arabicore|>
\Configure{!P}{\a:LRdir}
\Configure{!BODY}{\a:LRdir}
>>>
\<shared rlbabel, arabicore\><<<
\Configure{LRdir}{ |<dir ltr/rtl|> }
\Configure{Rregion} {\beginL} {\endL}
\Configure{TITLE+}{\HCode{\jobname}}
>>>
\<dir ltr/rtl\><<<
dir="\if@rl rtl\else ltr\fi"
>>>
\<configure html4 rlbabel\><<<
\Configure{moreL}
{\ifvmode \let\end:moreRL=\empty
\else\HCode{<span dir="ltr" >}\def\end:moreRL{\HCode{</span>}}\fi}
{\end:moreRL}
\Configure{moreR}
{\ifvmode \let\end:moreRL=\empty
\else\HCode{<span dir="rtl" >}\def\end:moreRL{\HCode{</span>}}\fi}
{\end:moreRL}
>>>
\<configure html4-math rlbabel\><<<
\:CheckOption{pic-m} \if:Option
\else
\Configure{$}
{\HCode{<span |<dir ltr/rtl|>>}}
{\HCode{</span>}}{}
\fi
>>>
% \def\HCode{<#1>}{\HCode{<#1 |<dir ltr/rtl|>>}}
\<configure html4-math rlbabel\><<<
\Configure{[]}
{\bgroup
\protect\nested:math
\PicDisplay
$$\everymath{}\everydisplay{}}
{$$\EndPicDisplay \egroup
|<try inline par|>\if@rl \beginL\fi \beginR }
>>>
%%%%%%%%%%%%%
\subsection{Arabi}
%%%%%%%%%%%%%
% \<configure html4 Arabicore\><<<
% |<configure html4 arabicore|>
% >>>
\<configure html4 arabicore\><<<
|<shared rlbabel, arabicore|>
\NewConfigure{dtd-lang}{1}
\Configure{dtd-lang}{AR}
\def\A:charset{charset=utf-8}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%
\section{csquotes}
%%%%%%%%%%%%%%%%%%%%%%%%%
Csquotes provides quoting environment with a citation support
\<configure html4 csquotes\><<<
\Configure{displayquote}
{\ifvmode\IgnorePar\fi\EndP\HCode{<blockquote>}}
{\ifvmode\IgnorePar\fi\EndP\HCode{<footer>}}
{\EndP\HCode{</footer>}}
{\ifvmode\IgnorePar\fi\EndP\HCode{</blockquote>}}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Scientific Word}
%%%%%%%%%%%%%%%%%%%%%%%%%
% When \verb+\BOXEDSPECIAL+ is defined we don't want the
% following configuration, because the frame may enclose
% a graphics-like file that we might not want to translate.
%
% \<configure html4 tcilatex\><<<
% \ifx \BOXEDSPECIAL\:UnDef
% \Configure{BOXTHEFRAME}
% {\Picture+[PICT]{}} {\EndPicture}
% \fi
% >>>
\<configure html4 tcilatex\><<<
\Configure{GRAPHICSPS}
{\Picture+[PICT]{}} {\EndPicture}
\Configure{GRAPHICSHP}
{\Picture+[PICT]{}} {\EndPicture}
\Configure{DFRAME}
{\EndP \IgnorePar\HCode{<div class="FRAME">}}
{\HCode{</div>}\par\ShowPar}
\Configure{FFRAME}
{\EndP \IgnorePar\HCode{<div class="FRAME">}}
{\HCode{</div>}\par\ShowPar}
\Configure{IFRAME}
{\ifvmode \IgnorePar \fi} {}
\Css{div.FRAME {text-align:center;}}
\expandafter\ifx \csname @TCItagstar\endcsname\relax
|<tcilatex 2.5|>
\else
|<tcilatex 3.5|>
\fi
>>>
\<configure html4-math tcilatex\><<<
\expandafter\ifx \csname @TCItagstar\endcsname\relax
|<tcilatex 2.5 math|>
\else
|<tcilatex 3.5 math|>
\ifx \@msidraft\:Undef
|<tcilatex 3.5 not 4.0 math|>
\fi \fi
>>>
\<tcilatex 3.5 not 4.0 math\><<<
\Configure{dfrac}
{\Picture+{ style="text-align:middle"}\bgroup} {}
{} {\egroup\EndPicture}
\Configure{tfrac}
{\Picture+{ style="text-align:middle"}\bgroup} {}
{} {\egroup\EndPicture}
\Configure{binom}
{\Picture+{ style="text-align:middle"}\bgroup} {}
{} {\egroup\EndPicture}
\Configure{tbinom}
{\Picture+{ style="text-align:middle"}\bgroup} {}
{} {\egroup\EndPicture}
\Configure{dbinom}
{\Picture+{ style="text-align:middle"}\bgroup} {}
{} {\egroup\EndPicture}
>>>
\<tcilatex 3.5 math\><<<
\Configure{QATOP}
{\Picture+{ style="text-align:middle"}\bgroup} {}
{} {\egroup\EndPicture}
\Configure{QDATOP}
{\Picture+{ style="text-align:middle"}\bgroup} {}
{} {\egroup\EndPicture}
\Configure{QTATOP}
{\Picture+{ style="text-align:middle"}\bgroup} {}
{} {\egroup\EndPicture}
>>>
\<configure html4 seslideb\><<<
\ConfigureEnv{center}
{\IgnorePar \par \EndP \HCode{<div class="center"\Hnewline>}}
{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}}
{} {}
{\Configure{Needs}{Font\string_Size: #1}%
\expandafter\Needs\expandafter{\csname normalsize@fsize\endcsname}}
>>>
\<configure html4 seslideb\><<<
\ConfigureToc{swSlide}
{} {\relax } {} { }
\:CheckOption{0}
\if:Option \else \:CheckOption{1} \fi
\if:Option
\:CheckOption{1} \if:Option
\CutAt{swSlide}
\Configure{crosslinks}{}{}{}{}{}{}{}{}
\fi
|<seslideb toc|>
|<seslideb page break|>
\else
|<handle my missing sw fonts|>
\Log:Note{pagination may be obtained
through the option `0' or `1', at locations marked with
\noexpand\csname PageBreak\string\endcsname}
\fi
>>>
\<handle my missing sw fonts\><<<
\Configure{swSlide}{}{}{\bgroup\bf}{\egroup}
>>>
\<seslideb toc\><<<
\def\:temp{%
\ifOption{1}{\par\IgnorePar\EndP\HCode{<hr />}\par}{}
\HAssign\TocN=1
\def\swTitle{\gHAdvance\TocN by 1 \TocN}\:TableOfContents[swSlide]
\let\swTitle=\relax
\ifOption{0}{\par\IgnorePar\EndP\HCode{<hr />}\par}{}
\let\swSlide=\o:swSlide: \let\o:swSlide:=\empty \swSlide}
\HLet\swSlide=\:temp
>>>
\<seslideb page break\><<<
\Configure{swSlide}
{\gHAdvance\swSlideN by 1 \Link{}{s-\swSlideN}\EndLink }
{\rightline{
{\HAdvance\swSlideN by -1 \Link{s-\swSlideN}{}\swSlideN\EndLink}
\Link[\jobname.html]{}{}\HCode{<>}\EndLink{}
{\HAdvance\swSlideN by 1
\ifTag{)Qs-\swSlideN}{\Link{s-\swSlideN}{}\swSlideN\EndLink}{}}
}
\ifOption{0}{\par \IgnorePar\EndP\HCode{<hr />}\par}{}
}
{\IgnorePar\bgroup \bf }
{\egroup \ShowPar\IgnoreIndent\par}
\HAssign\swSlideN=1
>>>
%%%%%%%%%%%%%%%%%%
\section{minitoc}
%%%%%%%%%%%%%%%%%%
\<configure html4 minitoc\><<<
|<minitoc.sty Configure 4.0t|>
>>>
\<minitoc.sty Configure 4.0t\><<<
\Configure{minitoc}
{\Configure{tableofcontents}
{\HCode{<div class="minitoc"><hr\xml:empty>}\IgnorePar}{}
{\IgnorePar\HCode{<hr\xml:empty></div>}\ShowPar}
{\HCode{<br />}}{}} {}
{\HCode{<div class="minitoc-\TocOption">}} {\HCode{</div>}}
\Configure{minilof}
{\Configure{tableofcontents}
{\HCode{<div class="minilof"><hr\xml:empty>}\IgnorePar}{}
{\IgnorePar\HCode{<hr\xml:empty></div>}\ShowPar}
{\HCode{<br />}}{}} {}
{\HCode{<div class="minilof-\TocOption">}} {\HCode{</div>}}
\Configure{minilot}
{\Configure{tableofcontents}
{\HCode{<div class="minilot"><hr\xml:empty>}\IgnorePar}{}
{\IgnorePar\HCode{<hr\xml:empty></div>}\ShowPar}
{\HCode{<br />}}{}} {}
{\HCode{<div class="minilot-\TocOption">}} {\HCode{</div>}}
\Css{.minitoc-l,.minilot-l,.minilof-l
{text-align:left;margin-left:3em;}}
\Css{.minitoc-c,.minilot-c,.minilof-c
{text-align:center;margin-left:3em;}}
\Css{.minitoc-r,.minilot-r,.minilof-r
{text-align:right;margin-left:3em;}}
\Css{DIV.minitoc,DIV.minilot,DIV.minilof{margin-left:3em;}}
\Css{.minitoc .sectionToc { font-weight:bold;} }
>>>
Only one of the following is needed for a given document!!!
\<minitoc.sty Configure 4.0t\><<<
\Configure{parttoc}{}{}
{\HCode{<div class="parttoc-\TocOption">}} {\HCode{</div>}}
\Configure{partlof}{}{}
{\HCode{<div class="partlof-\TocOption">}} {\HCode{</div>}}
\Configure{partlot}{}{}
{\HCode{<div class="partlot-\TocOption">}} {\HCode{</div>}}
\Css{.parttoc-l,.partlof-l,.partlot-l{text-align:left;}}
\Css{.parttoc-c,.partlof-c,.partlot-c{text-align:center;}}
\Css{.parttoc-r,.partlof-r,.partlot-r{text-align:right;}}
>>>
\<minitoc.sty Configure 4.0t\><<<
\Configure{secttoc}{}{}
{\HCode{<div class="secttoc-\TocOption">}} {\HCode{</div>}}
\Configure{sectlof}{}{}
{\HCode{<div class="sectlof-\TocOption">}} {\HCode{</div>}}
\Configure{sectlot}{}{}
{\HCode{<div class="sectlot-\TocOption">}} {\HCode{</div>}}
\Css{.secttoc-l,.sectlof-l,.sectlot-l{text-align:left;}}
\Css{.secttoc-c,.sectlof-c,.sectlot-c{text-align:center;}}
\Css{.secttoc-r,.sectlof-r,.sectlot-r{text-align:right;}}
>>>
\<minitoc.sty Configure 4.0t\><<<
\:CheckOption{3} \if:Option
\let\minitoc=\empty
\fi
\Configure{minitoc@}
{\ifx \mtc@rule\relax \else \par \IgnorePar \HCode{<hr/>}\par\fi
\bgroup \let\mtc@rule\relax
}
{\egroup
\ifx \mtc@rule\relax \else \par \IgnorePar \HCode{<hr/>}\par\fi
}
>>>
%%%%%%%%%%%%%%%%%%%
\section{alltt.sty}
%%%%%%%%%%%%%%%%%%%
\<configure html4 alltt\><<<
\ConfigureEnv{alltt}
{\IgnorePar\EndP\HCode{<div class="alltt">}}
{\IgnorePar\EndP\HCode{</div>}} {}{}
\Css{.alltt P { margin-bottom : 0em; margin-top : 0em; }}
\Css{.alltt { margin-bottom : 1em; margin-top : 1em; font-family:monospace,monospace; }}
>>>
%%%%%%%%%%%%%%%%%%%
\section{url.sty}
%%%%%%%%%%%%%%%%%%%
\<configure html4 url\><<<
\:CheckOption{url-il2-pl} \if:Option
\else \:CheckOption{url-enc} \fi
\if:Option
\Configure{string-encoder}{url-encoder}
% \:CheckOption{url-il2-pl} \if:Option
|<il2-pl.tcx url encoder|>
% \else
|<default url encoder WAIT|>
% \Log:Note{for il2-pl url encoding,
% use the command line option 'url-il2-pl'}
% \fi
\Configure{url}%
{|<:temp = url encoded string|>%
\Link[\noexpand\the\tmp:toks \space
class="url"]{}{}{\let\UrlBigBreaks\empty
\let\UrlBreaks\empty #1}\EndLink}
|<url encoded string utilities|>
\else
\Log:Note{for URL encoding within href
use the command line option `url-enc'}
\Configure{url}%
{\tmp:toks{#1}\Link[\noexpand\the\tmp:toks\space
class="url"]{}{}{\let\UrlBigBreaks\empty
\let\UrlBreaks\empty #1}\EndLink}
\fi
|<path config|>
>>>
\<:temp = url encoded string\><<<
\tmp:toks={}\set:spaces#1|<par del|>%
\edef\:temp{\tmp:toks{\csname url-encoder\expandafter\endcsname
\the\tmp:toks |<par del|>}}\:temp
>>>
\<url encoded string utilities\><<<
\def\set:spaces{\futurelet\:temp\set:spacesoo}
\def\set:spacesoo{%
\expandafter\ifx \space\:temp
\tmp:toks\expandafter{\the\tmp:toks{ }}%
\fi
\set:spaceso
}
\def\set:spaceso#1#2|<par del|>{%
\tmp:toks\expandafter{\the\tmp:toks #1}%
\if !#2!\else \set:spaces#2|<par del|>\fi
}
>>>
\<default url encoder\><<<
\Configure{url-encoder}
{%}{%25}
{&}{%26}
{'}{%27}
{<}{%3C}
{>}{%3E}
{_}{_}
{^}{^}
{}{}
\Log:Note{current url encoding setting: \string\Configure{url-encoder}%
{\%}{\%25}%
{&}{\%26}%
{'}{\%27}%
{<}{\%3C}%
{>}{\%3E}%
{\string _}{\string _}%
{\string ^}{\string ^}%
{}{}}
>>>
\<il2-pl.tcx url encoder\><<<
\input{html4-l2-url.4ht}
>>>
\<html4-l2-url\><<<
% html4-l2-url.4ht (|version), generated from |jobname.tex
% Copyright 2009-2015 TeX Users Group
% Copyright |CopyYear.1999. Eitan M. Gurari
%
% Extracted to a separate file so the main file has a consistent
% (and UTF-8 compatible) encoding.
|<TeX4ht copywrite|>
\Configure{url-encoder}
{%}{%25}
{&}{%26}
{'}{%27}
{<}{%3C}
{>}{%3E}
{_}{_}
{^}{^}
{�}{ą}
{�}{ć}
{�}{ę}
{�}{ł}
{�}{ó}
{�}{ń}
{�}{ś}
{�}{ź}
{�}{ż}
{�}{Ą}
{�}{Ć}
{�}{Ę}
{�}{Ł}
{�}{Ó}
{�}{Ń}
{�}{Ś}
{�}{Ź}
{�}{Ż}
{ }{+}
{}{}
>>>
\Link[
http://www.faqs.org/rfcs/rfc2396.html]{}{}
http://www.faqs.org/rfcs/rfc2396.html\EndLink
See issues in:
\begin{verbatim}
\documentclass{article}
\usepackage{url}
\begin{document}
\url{a%b c&d}
\url{a%25b+c&d}
\end{document}
\end{verbatim}
%%%%%%%%%%%%%%%%%%
\section{Path.sty}
%%%%%%%%%%%%%%%%%%
\<path config\><<<
\Configure{path}
{\HCode{<span class="path">}\bgroup
\Configure{obeylines}{}{}{}%
}
{\egroup\HCode{</span>}}
>>>
\<configure html4 path\><<<
|<path config|>
>>>
%%%%%%%%%%%%%%%%%%%%%%%%
\section{fontmath}
%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 latex\><<<
\:CheckOption{fonts} \if:Option
\Configure{textbf}{\Protect\HCode{<span class="textbf">}\NoFonts}
{\EndNoFonts\Protect\HCode{</span>}}
\Configure{textit}{\Protect\HCode{<span class="textit">}\NoFonts}
{\EndNoFonts\Protect\HCode{</span>}}
\Configure{textrm}{\Protect\HCode{<span class="textrm">}\NoFonts}
{\EndNoFonts\Protect\HCode{</span>}}
\Configure{textup}{\Protect\HCode{<span class="textup">}\NoFonts}
{\EndNoFonts\Protect\HCode{</span>}}
\Configure{textsc}{\Protect\HCode{<span class="textsc">}\NoFonts}
{\EndNoFonts\Protect\HCode{</span>}}
\Configure{textsf}{\Protect\HCode{<span class="textsf">}\NoFonts}
{\EndNoFonts\Protect\HCode{</span>}}
\Configure{textsl}{\Protect\HCode{<span class="textsl">}\NoFonts}
{\EndNoFonts\Protect\HCode{</span>}}
\Configure{texttt}{\Protect\HCode{<span class="texttt">}\NoFonts}
{\EndNoFonts\Protect\HCode{</span>}}
\Configure{emph}{\Protect\HCode{<span class="emph">}\NoFonts}
{\EndNoFonts\Protect\HCode{</span>}}
\Css{span.textbf { font-weight: bold; }}
\Css{span.textit { font-style: italic; }}
\Css{span.textrm { font-family: serif; }}
\Css{span.textsc { font-variant: small-caps; }}
\Css{span.textsf { font-family: sans-serif; }}
\Css{span.texttt { font-family: monospace,monospace; }}
\Css{span.emph { font-style: italic;}}
\Css{span.emph span.emph {font-style: normal;}}
\else
\Log:Note{for tracing of latex font commands,
use the command line option `fonts'}
\fi
>>>
\<configure html4-math fontmath\><<<
\:CheckOption{fonts} \if:Option
\Configure{mathit}{\Protect\HCode{<span class="mathit">}}
{\Protect\HCode{</span>}}
\Configure{mathbf}{\Protect\HCode{<span class="mathbf">}}
{\Protect\HCode{</span>}}
\Configure{mathtt}{\Protect\HCode{<span class="mathtt">}}
{\Protect\HCode{</span>}}
\Configure{mathsf}{\Protect\HCode{<span class="mathsf">}}
{\Protect\HCode{</span>}}
\Configure{mathrm}{\Protect\HCode{<span class="mathrm">}}
{\Protect\HCode{</span>}}
\fi
>>>
\<configure html4-math amsfonts\><<<
\:CheckOption{fonts} \if:Option
\Configure{mathbb}{\Protect\HCode{<span class="mathbb">}}
{\Protect\HCode{</span>}}
\Configure{mathfrak}{\Protect\HCode{<span class="mathfrak">}}
{\Protect\HCode{</span>}}
\fi
>>>
\subsection{1: Large Operators}
\begin{verbatim}
\mathchardef\coprod="1360
\mathchardef\bigvee="1357
\mathchardef\bigwedge="1356
\mathchardef\biguplus="1355
\mathchardef\bigcap="1354
\mathchardef\bigcup="1353
\mathchardef\intop="1352 \def\int{\intop\nolimits}
\mathchardef\prod="1351
\mathchardef\sum="1350
\mathchardef\bigotimes="134E
\mathchardef\bigoplus="134C
\mathchardef\bigodot="134A
\mathchardef\ointop="1348 \def\oint{\ointop\nolimits}
\mathchardef\bigsqcup="1346
\mathchardef\smallint="1273
\end{verbatim}
\<plain tex classes\><<<
\Configure{MathClass}{1}{}{}{}{
\mathchar"1360
\mathchar"1357
\mathchar"1356
\mathchar"1355
\mathchar"1354
\mathchar"1353
\mathchar"1352
\mathchar"1351
\mathchar"1350
\mathchar"134E
\mathchar"134C
\mathchar"134A
\mathchar"1348
\mathchar"1346
\mathchar"1273
}
>>>
\subsection{2: Binary Operations}
\begin{verbatim}
\mathchardef\triangleleft="212F
\mathchardef\triangleright="212E
\mathchardef\bigtriangleup="2234
\mathchardef\bigtriangledown="2235
\mathchardef\wedge="225E \let\land=\wedge
\mathchardef\vee="225F \let\lor=\vee
\mathchardef\cap="225C
\mathchardef\cup="225B
\mathchardef\ddagger="227A
\mathchardef\dagger="2279
\mathchardef\sqcap="2275
\mathchardef\sqcup="2274
\mathchardef\uplus="225D
\mathchardef\amalg="2271
\mathchardef\diamond="2205
\mathchardef\bullet="220F
\mathchardef\wr="226F
\mathchardef\div="2204
\mathchardef\odot="220C
\mathchardef\oslash="220B
\mathchardef\otimes="220A
\mathchardef\ominus="2209
\mathchardef\oplus="2208
\mathchardef\mp="2207
\mathchardef\pm="2206
\mathchardef\circ="220E
\mathchardef\bigcirc="220D
\mathchardef\setminus="226E % for set difference A\setminus B
\mathchardef\cdot="2201
\mathchardef\ast="2203
\mathchardef\times="2202
\mathchardef\star="213F
\mathcode`\*="2203 % \ast
\mathcode`\+="202B
\mathcode`\-="2200
\end{verbatim}
\<plain tex classes\><<<
\Configure{MathClass}{2}{}{}{}{
*-+/
\mathchar"212F
\mathchar"212E
\mathchar"2234
\mathchar"2235
\mathchar"225E
\mathchar"225F
\mathchar"225C
\mathchar"225B
\mathchar"227A
\mathchar"2279
\mathchar"2275
\mathchar"2274
\mathchar"225D
\mathchar"2271
\mathchar"2205
\mathchar"220F
\mathchar"226F
\mathchar"2204
\mathchar"220C
\mathchar"220B
\mathchar"220A
\mathchar"2209
\mathchar"2208
\mathchar"2207
\mathchar"2206
\mathchar"220E
\mathchar"220D
\mathchar"226E
\mathchar"2201
\mathchar"2203
\mathchar"2202
\mathchar"213F
}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{3: Relational Operations}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The catcode is needed because 303A is \verb':'.
\<plain tex classes\><<<
\Configure{MathClass}{3}{}{}{}{
\mathchar"3128
\mathchar"3129
\mathchar"312A
\mathchar"312B
\mathchar"315E
\mathchar"315F
\mathchar"3210
\mathchar"3211
\mathchar"3212
\mathchar"3213
\mathchar"3214
\mathchar"3215
\mathchar"3216
\mathchar"3217
\mathchar"3218
\mathchar"3219
\mathchar"321A
\mathchar"321B
\mathchar"321C
\mathchar"321D
\mathchar"321E
\mathchar"321F
\mathchar"3220
\mathchar"3221
\mathchar"3224
\mathchar"3227
\mathchar"3232
\mathchar"3233
\mathchar"3236
\mathchar"3237
\mathchar"323F
:=><
\mathchar"322F
\mathchar"3276
\mathchar"3277
\mathchar"326B
\mathchar"326A
\mathchar"3261
\mathchar"3260
\mathchar"3225
\mathchar"3226
\mathchar"322D
\mathchar"322E
\mathchar"322C
\mathchar"3228
\mathchar"3229
}
>>>
\begin{verbatim}
\mathcode`\>="313E
\mathcode`\<="313C
\mathcode`\=="303D
\mathcode`\:="303A
\mathchardef\leq="3214 \let\le=\leq
\mathchardef\geq="3215 \let\ge=\geq
\mathchardef\succ="321F
\mathchardef\prec="321E
\mathchardef\approx="3219
\mathchardef\succeq="3217
\mathchardef\preceq="3216
\mathchardef\supset="321B
\mathchardef\set="321A
\mathchardef\supseteq="3213
\mathchardef\seteq="3212
\mathchardef\in="3232
\mathchardef\ni="3233 \let\owns=\ni
\mathchardef\gg="321D
\mathchardef\ll="321C
\mathchardef\not="3236
\mathchardef\leftrightarrow="3224
\mathchardef\leftarrow="3220 \let\gets=\leftarrow
\mathchardef\rightarrow="3221 \let\to=\rightarrow
\mathchardef\mapstochar="3237 \def\mapsto{\mapstochar\rightarrow}
\mathchardef\sim="3218
\mathchardef\simeq="3227
\mathchardef\perp="323F
\mathchardef\equiv="3211
\mathchardef\asymp="3210
\mathchardef\smile="315E
\mathchardef\frown="315F
\mathchardef\leftharpoonup="3128
\mathchardef\leftharpoondown="3129
\mathchardef\rightharpoonup="312A
\mathchardef\rightharpoondown="312B
\mathchardef\propto="322F
\mathchardef\sqsubseteq="3276
\mathchardef\sqsupseteq="3277
\mathchardef\parallel="326B
\mathchardef\mid="326A
\mathchardef\dashv="3261
\mathchardef\vdash="3260
\mathchardef\nearrow="3225
\mathchardef\searrow="3226
\mathchardef\nwarrow="322D
\mathchardef\swarrow="322E
\mathchardef\Leftrightarrow="322C
\mathchardef\Leftarrow="3228
\mathchardef\Rightarrow="3229
\end{verbatim}
\subsection{4/5: Delimiters}
\begin{verbatim}
\mathcode`\(="4028
\mathcode`\)="5029
\mathcode`\[="405B
\mathcode`\]="505D
\mathcode`\{="4266
\mathcode`\}="5267
\delcode`\(="028300
\delcode`\)="029301
\delcode`\[="05B302
\delcode`\]="05D303
\def\lmoustache{\delimiter"437A340 } % top from (, bottom from )
\def\rmoustache{\delimiter"537B341 } % top from ), bottom from (
\def\lgroup{\delimiter"462833A } % extensible ( with sharper tips
\def\rgroup{\delimiter"562933B } % extensible ) with sharper tips
\def\backslash{\delimiter"26E30F } % for double coset G\backslash H
\def\rangle{\delimiter"526930B }
\def\langle{\delimiter"426830A }
\def\rbrace{\delimiter"5267309 } \let\}=\rbrace
\def\lbrace{\delimiter"4266308 } \let\{=\lbrace
\def\rceil{\delimiter"5265307 }
\def\lceil{\delimiter"4264306 }
\def\rfloor{\delimiter"5263305 }
\def\lfloor{\delimiter"4262304 }
\def\arrowvert{\delimiter"26A33C } % arrow without arrowheads
\def\Arrowvert{\delimiter"26B33D } % double arrow without arrowheads
\def\bracevert{\delimiter"77C33E } % the vertical bar that extends braces
\def\Vert{\delimiter"26B30D } \let\|=\Vert How should these be treated?
\def\vert{\delimiter"26A30C } " " " " "
\def\uparrow{\delimiter"3222378 }
\def\downarrow{\delimiter"3223379 }
\def\updownarrow{\delimiter"326C33F }
\def\Uparrow{\delimiter"322A37E }
\def\Downarrow{\delimiter"322B37F }
\def\Updownarrow{\delimiter"326D377 }
\end{verbatim}
The comamnds \verb'\Configure{MathClass}{4}...'
and \verb'\Configure{MathClass}{5}...'
are for unmatched delimiters, and the comamnd
\verb'\Configure{MathDelimiters}{(}{)}' is for matched ones.
\<plain tex classes\><<<
\Configure{MathClass}{4}{}{}{}{}
\Configure{MathDelimiters}{(}{)}
\Configure{MathDelimiters}{[}{]}
\Configure{MathDelimiters}{\mathchar"4262}{\mathchar"5263}
\Configure{MathDelimiters}{\mathchar"4264}{\mathchar"5265}
\Configure{MathDelimiters}{\mathchar"4266}{\mathchar"5267}
\Configure{MathDelimiters}{\mathchar"4268}{\mathchar"5269}
\Configure{MathDelimiters}{\mathchar"4300}{\mathchar"5301}
\Configure{MathDelimiters}{\mathchar"4302}{\mathchar"5303}
\Configure{MathDelimiters}{\mathchar"4304}{\mathchar"5305}
\Configure{MathDelimiters}{\mathchar"4306}{\mathchar"5307}
\Configure{MathDelimiters}{\mathchar"4308}{\mathchar"5309}
\Configure{MathDelimiters}{\mathchar"430A}{\mathchar"530B}
>>>
\begin{verbatim}
\mathcode`\?="503F
\end{verbatim}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{6: Punctuation Marks}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{verbatim}
\mathchardef\ldotp="613A % ldot as a punctuation mark
\mathchardef\cdotp="6201 % cdot as a punctuation mark
\mathchardef\colon="603A % colon as a punctuation mark
\mathcode`\;="603B
\mathcode`\,="613B
\end{verbatim}
\<plain tex classes\><<<
\Configure{MathClass}{6}{}{}{}{
\mathchar"613A
\mathchar"6201
\mathchar"603A
?; ,
}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Questions}
%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{verbatim}
\delcode`\<="26830A
\delcode`\>="26930B
\delcode`\|="26A30C
\delcode`\\="26E30F
% N.B. { and } should NOT get delcodes; otherwise parameter grouping fails!
\def\mathhexbox#1#2#3{\leavevmode
\hbox{$\m@th \mathchar"#1#2#3$}}
\def\dag{\mathhexbox279}
\def\ddag{\mathhexbox27A}
\def\S{\mathhexbox278}
\def\P{\mathhexbox27B}
\end{verbatim}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Type 4: Math Open}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
latex.ltx, fontmath.ltx, plain.tex
%%%%%%%%%%%%%
\subsection{Over and Under}
%%%%%%%%%%%%%
\<configure html4-math fontmath\><<<
\Configure{overrightarrow}
{\leavevmode\IgnorePar}
{}
\Configure{overleftarrow}
{\leavevmode\IgnorePar}
{}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{fleqn.sty}
%%%%%%%%%%%%%%%%%%%%
\<configure html4-math fleqn\><<<
\Configure{equation}
{\:xhtml{\IgnorePar\EndP}%
\HCode{<table\Hnewline class="equation"><tr><td>}\IgnorePar
\Configure{$}{\PicMath}{\EndPicMath}{}%
}
{\IgnorePar\HCode{</td><td class="equation-label">}}
{\end:TTT\IgnorePar\par}
>>>
\section{emulateapj.clo}
\<configure html4 emulateapj\><<<
\Configure{slugcomment}
{\HCode{<div class="slugcomment">}}
{\HCode{</div>}}
\Css{.slugcomment{text-align:center;font-size:85\%;
font-style: italic;}}
\Configure{subtitle}{\HCode{<div class="subtitle">}}{\HCode{</div>}}
\Configure{submitted}{}{\expandafter\Tg<br />}
\Configure{title}{\HCode{<h1 class="title">}}{\HCode{</h1>}}
\Css{.title{text-align:center;}}
\Configure{author}
{\IgnorePar\EndP\HCode{<div class="author">}}{\HCode{</div>}}
\Css{div.author{text-align:center;}}
\Configure{affil}{\HCode{<div class="affil"><div>}}{\HCode{</div></div>}}
\Css{.affil{text-align:center;}}
\Css{.affil div{text-align:left;
margin-right:15pt;margin-left:15pt;}}
\Configure{keywords}
{\IgnorePar\EndP\HCode{<div class="keywords"><div>}}
{\HCode{</div></div>}}
\Css{.keywords{text-align:center;}}
\Css{.keywords div{text-align:left; margin-right:15pt;margin-left:30pt;
text-indent:-15pt;}}
\Configure{subjectheadings}
{\HCode{<div class="subjectheadings"><div>}}{\HCode{</div></div>}}
\Css{.subjectheadings{text-align:center;}}
\Css{.subjectheadings div{text-align:left;
margin-right:15pt;margin-left:15pt;}}
\Css{.abstract {margin-right:15pt;margin-left:15pt;}}
\ConfigureMark{section}
{\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
\else
\HCode{<span class="titlemark">}\@seccntformat{section}%
\thesection\HCode{</span>}\fi}
\Configure{section}{}{}
{\IgnorePar \EndP\IgnorePar\HCode{<h3 class="sectionHead"\a:LRdir>}
\TitleMark{. \space}}
{\HCode{</h3>}\IgnoreIndent \ShowPar \par}
\ConfigureEnv{references}
{\IgnorePar\EndP\Tg<div class="references">}
{\IgnorePar\EndP\Tg</div>} {}{}
\Css{.references p { margin: 0.35em; text-indent:-2em;margin-left:2em;}}
>>>
%%%%%%%%%%%%%%%%%
\section{parallel}
\<configure html4 parallel\><<<
\Configure{ParallelLText}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="ltext">}\par}{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}\par}
\Configure{ParallelRText}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="rtext">}\par}{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}\par}
\ConfigureEnv{Parallel}{\ifvmode\IgnorePar\fi\EndP\HCode{<section class="parallel">}}{\ifvmode\IgnorePar\fi\EndP\HCode{</section>}\par}{}{}
\Css{.parallel .ltext{
width: 48\%;
float:left;
}}
\Css{.parallel .rtext{
width: 48\%;
margin-left: 52\%;
}}
>>>
%%%%%%%%%%%%%%%%%
\section{skak}
\<configure html4 skak\><<<
\Configure{SkakBoard}{\Picture+{}}{\EndPicture}
>>>
%%%%%%%%%%%%%%%%%
\section{xskak}
%%%%%%%%%%%%%%%%%
\<configure html4 xskak\><<<
\Configure{mainline}{\Picture*[\:xskakalt]{ style="\:xskakdepth"}}{\EndPicture}
\Configure{xskakget}{\Picture*[\:xskakalt]{ style="\:xskakdepth"}}{\EndPicture}
>>>
%%%%%%%%%%%%%%%%%
\section{chessboard}
%%%%%%%%%%%%%%%%%
If called from Xskak, we can use the xskakget command to get
chess notation as an alt text.
\<configure html4 chessboard\><<<
\def\chessboard:alt{\ifdefined\o:xskakget:\ifcsname Xskak.\xskak@val@gameid.\xskak@val@movenr.\xskak@
[email protected]\endcsname\o:xskakget:{nextfen}\fi\fi}
\Configure{chessboard}{\Picture*[\chessboard:alt]{}}{\EndPicture}
>>>
%%%%%%%%%%%%%%%%%
\section{texmate}
\<configure html4 texmate\><<<
\Configure{makediagramsfix}{\PictureOff}{\PictureOn}
\Configure{makediagrams}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="makediagrams">}}
{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}\par\leavevmode}
>>>
%%%%%%%%%%%%%%%%%
\section{vanilla}
\<configure html4 vanilla\><<<
|<32 amsppt, 32,4 vanilla|>
|<32,4 vanilla|>
|<config vanilla.sty 4.0t|>
>>>
\<32,4 vanilla\><<<
\Configure{matrix}
{\EndP\HCode{<center><table\Hnewline
border="0" cellpadding="0" cellspacing="15" class="matrix">}}
{\HCode{</table></center>}\IgnorePar}
{\HCode{<tr\Hnewline style="vertical-align:top;">}}{\HCode{</tr>}}
{\HCode{<td>}} {\HCode{</td>}}
\Configure{align}
{\EndP\HCode{<center><table\Hnewline
border="0" cellpadding="0" cellspacing="15" class="align">}}
{\HCode{</table></center>}\IgnorePar}
{\HCode{<tr\Hnewline style="vertical-align:top;">}}{\HCode{</tr>}}
{\HCode{<td>}} {\HCode{</td>}}
>>>
\<config vanilla.sty 4.0t\><<<
\Configure{heading}
{}{}{\IgnorePar\EndP\HCode{<h2 class="heading">}}{\HCode{</h2>}}
\ConfigureToc{heading}
{}{\HCode{<span class="heading">}}{}{\HCode{</span><br />}}
\Configure{subheading}
{}{}{\EndP\HCode{<h3 class="subheading">}}{.\HCode{</h3>}}
\ConfigureToc{subheading}
{}{\HCode{<span class="subheading">}}{}{\HCode{</span><br />}}
\Configure{demo}
{\IgnorePar\EndP\HCode{<div class="demo"><span class="demo">}}
{\HCode{</span>}} {\IgnorePar\EndP\HCode{</div>}}
>>>
\<config vanilla.sty 4.0t\><<<
\Configure{aligned}
{\EndP\HCode{<center><table\Hnewline
border="0" cellpadding="0" cellspacing="15" class="aligned">}}
{\HCode{</table></center>}\IgnorePar}
{\HCode{<tr\Hnewline style="vertical-align:top;">}}{\HCode{</tr>}}
{\HCode{<td>}} {\HCode{</td>}}
>>>
%%%%%%%%%%%%%%%%%%%%%%
\section{tugboat}
%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 tugboat\><<<
\Configure{head}{}{}
{\NoFonts \ifvmode \IgnorePar\fi \EndP\IgnorePar
\HCode{<h3 class="headHead"\a:LRdir>}\HtmlParOff}
{\HCode{</h3>}\HtmlParOn \EndNoFonts \IgnoreIndent \ShowPar \par}
\Configure{subhead}{}{}
{\NoFonts \ifvmode \IgnorePar\fi \EndP\IgnorePar
\HCode{<h4 class="subheadHead"\a:LRdir>}\HtmlParOff}
{\HCode{</h4>}\HtmlParOn \EndNoFonts \IgnoreIndent \ShowPar \par}
\Configure{subsubhead}{}{}
{\NoFonts \ifvmode \IgnorePar\fi \EndP\IgnorePar
\HCode{<h5 class="subsubheadHead"\a:LRdir>}\HtmlParOff}
{\HCode{</h5>}\HtmlParOn \EndNoFonts \IgnoreIndent \ShowPar \par}
>>>
\<configure html4 tugboat\><<<
\Configure{figure}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="figure">}\par\ShowPar}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par}
>>>
\<configure html4 tugboat\><<<
\Configure{verbatim}
{{\everypar{}\leavevmode}\EndP
\HCode{<div class="verbatim\:ruled">}\par\ShowPar}
{{\everypar{}\leavevmode}\EndP \HCode{</div>}\par\ShowPar}
\Configure{verb}
{\HCode{<span class="verb">}}
{\HCode{</span>}}
\Css{div.verbatim p, div.verbatim-ruled p {margin:0.2em}}
\Css{div.verbatim-ruled { border-top: 1px solid black;
border-bottom: 1px solid black; }}
>>>
\<configure html4 tugboat\><<<
\Configure{display-list}
{\ifvmode \IgnorePar\fi \EndP \HCode{<div class="list"><!--cols: \the\@cols-->}\par\ShowPar}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\par}
{\HCode{<span class="listitem">}}
{\HCode{</span>}}
\Configure{inline-list}
{\HCode{<span class="list"><!--cols: \the\@cols-->}\par\ShowPar}
{\ifvmode \IgnorePar\fi \EndP \HCode{</span>}\par}
{\HCode{<span class="listitem">}}
{\HCode{</span>}}
\Css{div.list p span.listitem {text-indent:-3em; margin-right:1em;}}
\Css{div.list { margin-left:3em;}}
>>>
\<configure html4 tugboat\><<<
\Configure{rtitle}
{\ifvmode \IgnorePar \fi \EndP
\HCode{<div class="rtitle">}\IgnorePar}
{\HCode{</div>}\ShowPar\par}
\Configure{title}
{\ifvmode \IgnorePar \fi \EndP
\HCode{<h2 class="title">}\IgnorePar}
{\HCode{</h2>}\IgnoreIndent\par}
\Configure{address}
{\ifx\@addressstyle\@inlinestyle
\HCode{<span class="address">}%
\else
\ifvmode \IgnorePar \fi \EndP
\HCode{<div class="address">}%
\fi }
{\ifx\@addressstyle\@inlinestyle
\HCode{</span>}%
\else
\ifvmode \IgnorePar \fi \EndP
\HCode{</div>}%
\fi }
\Configure{netaddress}
{\HCode{<span class="netaddress">}}
{\HCode{</span>}}
\Configure{author}
{\HCode{<span class="author">}}
{\HCode{</span>}}
\Configure{authorlist}
{\ifvmode \IgnorePar \fi \EndP
\HCode{<div class="authorlist">}\IgnorePar}
{\ifvmode \IgnorePar \fi \EndP
\HCode{</div>}\IgnoreIndent\par\ShowPar}
\Css{div.authorlist {margin-left:2em;}}
|<tugboat cmn|>
>>>
\<tugboat cmn\><<<
\Configure{signature}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="signature">}\par\ShowPar}
{\ifvmode \IgnorePar\fi \EndP \HCode{</div>}\ShowPar\par}
\Css{div.signature p{ margin-top:0.3em; margin-bottom:0.3em;}}
\Css{div.signature { white-space:nowrap; margin-left:70\%; }}
\Configure{signaturemark}
{\HCode{<span class="signaturemark">} }
{\HCode{</span>}}
\Css{span.signaturemark {margin-top:1.5em;}}
>>>
\<tugboat cmn\><<<
\Configure{issno}
{\hbox{\HCode{<span class="issno">}}}
{\hbox{\HCode{</span>}}}
\Configure{volyr}
{\hbox{\HCode{<span class="volyr">}}}
{\hbox{\HCode{</span>}}}
\Configure{volno}
{\hbox{\HCode{<span class="volno">}}}
{\hbox{\HCode{</span>}}}
>>>
%%%%%%%%%%%%%%%%%%%%%%
\section{ltug boat/proc}
%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 ltugboat\><<<
|<quote noindent config|>
\ConfigureEnv{verbatim}
{\par}{|<try inline par|>}{}{}
\Configure{author}
{\hbox{\HCode{<span class="author">}}}
{\hbox{\HCode{<br /></span>}}}
\Configure{address}
{\hbox{\HCode{<span class="address">}}}
{\hbox{\HCode{<br /></span>}}}
\Configure{netaddress}
{\hbox{\HCode{<span class="netaddress">}}}
{\hbox{\HCode{<br /></span>}}}
\Configure{PersonalURL}
{\hbox{\HCode{<span class="PersonalURL">}}}
{\hbox{\HCode{<br /></span>}}}
\Configure{signaturemark}
{\hbox{\HCode{<span class="signaturemark">}}}
{\hbox{\HCode{</span> }}}
>>>
\<configure html4 ltugboat\><<<
\Configure{makesignature}
{\ifvmode \IgnorePar\fi \EndP
\HCode{<div class="makesignature">}%
\bgroup \Configure{HtmlPar}{}{}{}{}%
\Configure{rightline}{}{}%
\IgnorePar
}
{\egroup \ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
\Configure{signature}
{\def\||{\HCode{<br />}}%
\Configure{HtmlPar}
{}{\HCode{}}
{}{\HCode{}}%
}
\Css{.makesignature{margin-left:4em;}}
\Css{.signaturemark{display:block-inline;margin-left:-1.33em;}}
>>>
\<configure html4 ltugboat\><<<
|<tug boat maketitle|>
\Configure{titlex}
{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="titlex">}}
{\HCode{</div>}}
\Css{div.titlex p{margin-bottom:1em;}}
\Css{div.titlex {text-align: center;}}
|<ltugboat congif|>
>>>
\<ltugboat congif\><<<
\Configure{sectitle}
{\ifvmode \IgnorePar\fi
\EndP \HCode{<div class="sectitle">}%
\SaveEndP\bgroup\everypar{}}
{\egroup\RecallEndP \ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
>>>
\<configure html4 ltugproc\><<<
|<tug proc maketitle|>
\ConfigureEnv{abstract}
{}{} {}{}
\Configure{abstract}
{\bgroup
\HCode{<div class="abstract">}\IgnoreIndent\par}
{\ifvmode\IgnorePar\fi \EndP\HCode{</div>}\egroup}
\Css{div.abstract {margin-left:1em; margin-right:1em;
text-align:left;}}
\Css{div.maketitle div.centerline {margin-top:1em;}}
>>>
\<configure html4 ltugproc\><<<
\Configure{abstractHead}
{\bgroup
\Configure{centerline}{}{}
\NoFonts
\ifvmode \IgnorePar\fi \EndP \HCode{<h3>}%
}
{\ifvmode \IgnorePar\fi \EndP \HCode{</h3>}%
\EndNoFonts \egroup}
>>>
%%%%%%%%%%%%%%%%%
\section{tex4ht}
%%%%%%%%%%%%%%%%%
\<configure html4 tex4ht\><<<
|<config tex4ht|>
|<title for hypertext page|>
|<tex4ht doctype|>
>>>
\<config tex4ht\><<<
\:CheckOption{NoFonts} \if:Option
\NoFonts
\else
\Log:Note{to ignore CSS font decoration, use the `NoFonts'
command line option}
\fi
>>>
\<config tex4ht\><<<
\Configure{HVerbatim+}{\z@}{\:nbsp}
\: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)
>>>
\<configure html4 tex4ht\><<<
|<tex4ht HTML|>
>>>
\<configure html4 tex4ht\><<<
\newif\ifHCond
|<global HtmlPar|>
\NewConfigure{!P}[1]{\expandafter\concat:config\csname a:!P\endcsname{#1}}
\expandafter\let\csname a:!P\endcsname|=\relax
\Configure{!P}{}
\ifOption{p-indent}{%
\Css{p.noindent { text-indent: 0em }}
\Css{td p.noindent { text-indent: 0em; margin-top:0em; }}
\Css{p.nopar { text-indent: 0em; }}
\Css{p.indent{ text-indent: 1.5em }}
\Css{p{margin-top:0;margin-bottom:0}}
\Css{p.noindent + p.noindent{margin-top:1em;}}
}{%
\Css{p{margin-top:0;margin-bottom:0}}
\Css{p.indent{text-indent:0;}}
\Css{p + p{margin-top:1em;}}
\Css{p + div, p + pre {margin-top:1em;}}
\Css{div + p, pre + p {margin-top:1em;}}
}
>>>
Enable linebreaking in long URLs
\<configure html4 tex4ht\><<<
\Css{a {
overflow-wrap: break-word;
word-wrap: break-word;
word-break: break-word;
hyphens: auto;
}}
>>>
\<global HtmlPar\><<<
\Configure{HtmlPar}
{\EndP\HCode{|<show input line no|><p \csname a:!P\endcsname
class="no\ifHCond par\else indent\fi" \a:LRdir>}}
{\EndP\HCode{|<show input line no|><p \csname a:!P\endcsname
class="\ifdim \parindent=\z@ no\fi indent" \a:LRdir>}}
{\:xhtml{\Tg</p>}}
{\:xhtml{\Tg</p>}}%
>>>
\<configure html4 tex4ht\><<<
\NewConfigure{!BODY}[1]{\expandafter\concat:config
\csname a:!BODY\endcsname{#1}}
\expandafter\let\csname a:!BODY\endcsname|=\relax
\Configure{!BODY}{}
>>>
\<configure html4 tex4ht\><<<
\NewConfigure{LRdir}[1]{\concat:config\a:LRdir{#1}}
\let\a:LRdir|=\relax
\Configure{LRdir}{}
>>>
\<configure html4 tex4ht\><<<
\Configure{crosslinks+}
{\ifvmode\IgnorePar\fi\EndP\HCode{|<show input line no|>%
<div class="crosslinks"><p class="noindent">}}
{\HCode{</p></div>}\par\ShowPar}
{\ifvmode\IgnorePar\fi\EndP\HCode{|<show input line no|>%
<div class="crosslinks"><p class="noindent">}}
{\HCode{</p></div>}\par\ShowPar}
\Css{@media print {div.crosslinks {visibility:hidden;}}}
\Configure{halignTR}
{\HCode{ style="vertical-align:baseline;"}}
\Configure{halignTBL}
% % {t}{\HCode{ valign="top"}}
% % {b}{\HCode{ valign="baseline"}}
% % {c}{\HCode{ valign="middle"}}
{}
\Configure{halign}
{\EndP
\PushStack\Table:Stck\TableNo
\gHAdvance\Next:TableNo by 1
\global\let\TableNo=\Next:TableNo
\halignTB{halign}}
{\HCode{</table>}\PopStack\Table:Stck\TableNo}
{\HCode{<tr \Hnewline}\halignTR\HCode{ id="TBL-\TableNo-\HRow-">}}
{\HCode{</tr>}}
{|<td save EndP|> \HCode{<td \ifnum \HMultispan>1 colspan="\HMultispan"\fi}%
\halignTD \HCode{\Hnewline id="TBL-\TableNo-\HRow-\HCol">}\ShowPar\par}
{\ifvmode \IgnorePar \fi \EndP\HCode{</td>}|<td recall EndP|>}
\Configure{pic-halign}{}
\Configure{halignTB<>}{halign}{\HCode{id="TBL-\TableNo" class="halign"\Hnewline }<>}
\HAssign\Next:TableNo|=0 \global\let\TableNo=\Next:TableNo
\Css{table.tabular{border-collapse: collapse; border-spacing: 0;}}
>>>
The following should be just under LaTeX.
\<configure html4 tex4ht\><<<
\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:normal; text-align:left;"}\Protect\a:HColWidth}
{m}{\HCode{ style="white-space:normal; text-align:left; vertical-align:middle;"}\Protect\a:HColWidth}
{b}{\HCode{ style="white-space:normal; text-align:left; vertical-align:bottom;"}\Protect\a:HColWidth}
{}
\NewConfigure{HColWidth}{1}
\Configure{HColWidth}{}
>>>
The following code allows width specifications of p-columns of tables
through the command line option `p-width'.
The command line option activates a configuration similar to the
following ones.
\Configure{HColWidth}
{\HCode{ style="width:\HColWidth"}}
\Configure{HColWidth}
{\HCode{ style="width:
\ifnum \HCol=1 160\fi
\ifnum \HCol=3 500\fi
"}}
Try the above examples with the following source under different font
sizes in the browser.
\begin{tabular}{p{2cm}cp{3cm}}
1 2 3 1 2 3 & x & 1 2 3 1 2 3
\end{tabular}
The configuration provided through the command line option `p-width'
takes to some degree into account the size of fonts in use within the
HTML displays. Yet, not all browsers react properly to the size
changes.
\<configure html4 latex\><<<
\:CheckOption{p-width} \if:Option
\HAssign\:hcolwidthtbl=0
\gdef\:hcolwidthfirst{1}
\ExplSyntaxOn
\Configure{HColWidth}
{%
% in some cases, the first \HRow is not 1, for example with \multicolumn
% see
https://github.com/michal-h21/make4ht/issues/114
% when we enter a new table, we will save the first row
\ifx\:hcolwidthtbl\TableNo\else
\global\let\:hcolwidthtbl=\TableNo
\global\let\:hcolwidthfirst=\HRow
\fi
\ifx\HRow\:hcolwidthfirst% output CSS only on the first row, to prevent duplication
\tmp:dim=\fp_to_dim:n{\dim_to_fp:n{\HColWidth}/\f@size}
\Css{\#TBL-\TableNo\space td:nth-child(\HCol)% CSS selects ID of the current table column
{width:\strip@pt\tmp:dim em;}}
\fi}
\ExplSyntaxOff
\else
\Log:Note{for width specifications of tabular p entries, use
the `p-width' command line option or a configuration similar
to \string\Configure{HColWidth}{\string\HCode
{ style="width:\string\HColWidth"}}}
\fi
>>>
\<configure html4 tex4ht\><<<
|<img src dir|>
\Configure{IMG}
{\ht:special{t4ht=<img\Hnewline src="|<a:imgdir|> }}
{\ht:special{t4ht=" alt="}}
{" }
{\ht:special{t4ht=" }}
{\ht:special{t4ht=\xml:empty>}}
\Css{a img { border-top: 0; border-left: 0; border-right: 0; }}
>>>
A change from the \verb'-' in the \verb'%' patterns of c to, say \verb'@',
requires a \verb'Font_hyphen: @' in the \verb'.lg' file for a match in the
css output of t4ht.
\<configure html4 tex4ht\><<<
\Configure{htf}{0}{+}{<span\Hnewline
class="}{\%s}{-\%s}{x-x-\%d}{}{">}{</span>}
|<img src dir|>
\Configure{htf}{1}{+}{<img\Hnewline
src="|<a:imgdir|> }{" alt="}{" class="}{\%s}{-\%d}{x-x-\%x}{" />}
\Configure{htf}{3}{+}{<img\Hnewline
src="|<a:imgdir|> }{" alt="}{" class="\%s-}{\%s}{-\%d}{x-x-\%x}%
{" style="text-align:middle" />}
>>>
\<configure html4 tex4ht\><<<
\Configure{htf}{4}{+}{<span\Hnewline
class="}{}{}{}{}{small-caps">}{</span>}
\Configure{htf}{6}{+}{<u\Hnewline
class="}{}{}{}{}{underline">}{</u>}
>>>
% \Configure{htf}{4}{+}{<span\Hnewline
% class="}{}{}{}{}{small-caps">}{</span>}
% \Configure{htf}{6}{+}{<span\Hnewline
% class="}{}{}{}{}{underline">}{</span>}
\<configure html4 tex4ht\><<<
\Configure{htf}{8}{+}
{<sup class="htf">}{}{}{}{}{}{</sup>}
\Configure{htf}{10}{+}
{<span class="htf-cmbx">}{}{}{}{}{}{</span>}
\Configure{htf}{12}{+}
{<span\Hnewline class="htf-calligraphy">}{}{}{}{}{}{</span>}
\Configure{htf}{14}{+}
{<span\Hnewline class="htf-italic">}{}{}{}{}{}{</span>}
\Configure{htf}{16}{+}
{<span\Hnewline class="htf-bold">}{}{}{}{}{}{</span>}
\Configure{htf}{18}{+}
{<span\Hnewline class="htf-calligraphy-bold">}{}{}{}{}{}{</span>}
\Configure{htf}{20}{+}
{<span\Hnewline class="htf-flip-hor">}{}{}{}{}{}{</span>}
\Configure{htf}{22}{+}
{<sub class="htf">}{}{}{}{}{}{</sub>}
\Configure{htf}{24}{+}{<span\Hnewline
class="}{}{}{}{}{small-caps">}{</span>}
\Configure{htf-css}{4}{.small-caps{font-variant: small-caps; }}
\Configure{htf-css}{10}{.htf-cmbx {font-weight: bold; font-style:normal;}}
\Configure{htf-css}{12}{.htf-calligraphy {font-family:cursive}}
\Configure{htf-css}{14}{.htf-italic {font-style: italic;}}
\Configure{htf-css}{16}{.htf-bold {font-weight: bold;}}
\Configure{htf-css}{12}{.htf-calligraphy-bold {font-family:cursive ;
font-weight: bold; }}
>>>
\verb'\Configure{htf}{0}{+}{<!--span class="}{\%s}{-\%s}{--\%d}{}{"-->}{<!--/span-->}' caused netscape to
loose spaces between comments.
\<configure html4 tex4ht\><<<
\Configure{@Picture}{\:class}
\def\:class#1{ class="#1"
\expandafter\ifx\csname a:@#1\endcsname\relax\else
\csname a:@#1\endcsname\fi}
>>>
\<contribute to picmath of 4.0t\><<<
\NewConfigure{@buildrelover}{1}
\Configure{@buildrelover}{align="middle"}
\NewConfigure{@doteq}{1}
\Configure{@doteq}{align="middle"}
\NewConfigure{@underbrace}{1}
\NewConfigure{@frac}{1}
\Configure{@frac}{align="middle"}
\NewConfigure{@left}{1}
\Configure{@left}{align="middle"}
>>>
\<configure html4 tex4ht\><<<
\Css{center { margin-top:1em; margin-bottom:1em; }}
\Css{td center { margin-top:0em; margin-bottom:0em; }}
>>>
\<configure html4 tex4ht\><<<
\NewConfigure{Canvas}[4]{\ht:special{t4ht"%
*<span\Hnewline class="Canvas">%
*X<span style="position:relative;\Hnewline
width:\%.2f#4;"></span></span>%
**<span\Hnewline style="position:absolute; left:\%.2f#4;
top:\%.2f#4;"\Hnewline class="Canvas-xy"><span\Hnewline
class="Canvas-char">%
*</span></span>%
*<span class="Canvas-HR"\Hnewline style="position:absolute;
left:\%.2f#4;top:\%.2f#4;width:\%.2f#4;"
><hr\Hnewline style="height:\%.2f#4;"></span>%
*#1*#2*#1*#2*#3}}
\Configure{Canvas}{0.00000290646}{0.0}{0.5}{ex}
\Css{.Canvas { position:relative; }}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Subdirectories for Images}
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<a:imgdir\><<<
\a:imgdir >>>
\<img src dir\><<<
\ifx \a:imgdir\:UnDef
\let\a:imgdir=\empty
\catcode`\:=12
\expandafter
\def\csname :temp\endcsname#1imgdir:#2,#3|<par del|>{%
\if !#2!\else \expandafter
\def\csname a:imgdir\endcsname{#2}\fi}
\expandafter\csname :temp\expandafter\endcsname
\Preamble ,imgdir:,|<par del|>%
\catcode`\:=11
\Log:Note{for addressing images in
a subdirectory, use the command line option `imgdir:.../'}
\fi
>>>
A = instead of \verb+->+ works well on Windows NT but unfortunately
there's a problem with Windows 98. This OS insists on seeing = as a
delimiter and reports an error.
\<configure html4 tex4ht2\><<<
\ifx \a:imgdir\empty\else
\let\GIF:NAME=\gif:name
\def\gif:name#1{%
\let\:temp=\GIF:NAME
\ifx \gif:nm\cond:imgs
\def\:next{\edef\:tempa{#1}\expandafter\I:images \:tempa/....}%
\else
\def\:next{\GIF:NAME{#1}}%
\fi \:next}
\def\cond:imgs{\edef\gif:nm}
\def\I:images#1/#2....{%
\edef\:next{\noexpand\:temp{\:tempa}}%
\if .#2.\else \edef\:next{\noexpand\no:images{\:tempa}}\fi
\:next}
\def\no:images#1{\let\a:imgdir=\empty \:temp{#1}}
\fi
>>>
Test file:
\begin{verbatim}
\documentclass{article}
\begin{document}
\Picture{xx.png}
\Picture{
http://wwww.foo.goo/xx.png}
With image: $\left( x_{n}\right) \alpha_m$.
\end{document}
\end{verbatim}
%%%%%%%%%%%%%%%%
\section{th4}
%%%%%%%%%%%%%%%%
\<configure html4 th4\><<<
|<th4 for non-private use|>
\:CheckOption{th4}\if:Option \else \expandafter\endinput\fi
|<th4 sections|>
|<th4 tocs|>
|<th4 lists|>
|<th4 tables|>
|<th4 verbatim|>
|<th4 columns|>
|<th4 index|>
>>>
\<th4 for non-private use\><<<
\:CheckOption{javascript}
\if:Option \else\:CheckOption{th4}\fi
\if:Option
\Configure{JavaScript}
{\HCode{<script type="text/JavaScript" ><!--\Hnewline}}
{\HCode{//-->\Hnewline </script>}}
\fi
>>>
Should we go for
\begin{verbatim}
<script type="text/javascript"><!--//--><![CDATA[//><!--
...
//--><!]]></script>
\end{verbatim}
\Link[
http://www.hixie.ch/advocacy/xhtml]{}{}
http://www.hixie.ch/advocacy/xhtml\EndLink
\<th4 for non-private use\><<<
\:CheckOption{draw} \if:Option \:CheckOption{th4} \if:Option
\Configure{Fig}
{\ifx \AltFig\empty \Picture*{ \a:@Picture{Fig}}%
\else \Picture*[\AltFig]{ \a:@Picture{Fig}}\fi}
{\EndPicture}
\fi \fi
>>>
\<th4 columns\><<<
\Configure{Columns}
{\IgnorePar\EndP
\HCode{<table \Hnewline cellspacing="15"><tr style="vertical-align:top;">}}
{\HCode{</tr></table>}}
{\HCode{<td>}\ColMag{1.03}}
{\IgnorePar\EndP\HCode{</td>}}
>>>
\<th4 index\><<<
\:CheckOption{index}\if:Option
\Configure{index}
{\bgroup
\Configure{Columns}
{\IgnorePar\EndP
\HCode{<table \Hnewline class="index" width="100\%"
cellspacing="15"><tr style="vertical-align:top;">}}
{\HCode{</tr></table>}}
{\HCode{<td>}\ColMag{1.1}}
{\IgnorePar\EndP\HCode{</td>}}
\Columns{2}\IndexFonts}
{\EndColumns \egroup}
{\bgroup\IgnorePar\EndP
\expandafter\ifx \csname prev:A\endcsname\relax
\else \hfil\break \expandafter\Tg<br />\par\IgnorePar \fi \IndexSec}
{\egroup~~~~}
{\bgroup\hfil\break\expandafter\Tg<br />~~~}{\egroup~~~~}
{~}{}
\def\Idx:ch{0}
\def\IndexSec#1{%
\tmp:cnt=`#1\relax
\ifnum \tmp:cnt>`Z\advance\tmp:cnt by -32 \fi
\ifnum \tmp:cnt<`A\else \ifnum \tmp:cnt>`Z \else
\ifnum \Idx:ch<\tmp:cnt
\bgroup
\Configure{centerline}
{\HCode{<div\Hnewline class="IndexSec">}}{\HCode{</div>}}
\leftline{\bf \char\tmp:cnt }%
\global\let\prev:A|=\:UnDef
\xdef\Idx:ch{\the\tmp:cnt}%
\egroup
\fi
\fi \fi #1%
}
\Css{.IndexSec {margin-top:1em; margin-bottom:0.5em;}}
\fi
>>>
\<th4 sections\><<<
\Configure{Part}{}{}{%
\html:rightskip
\bgroup
\html:rightskip \ht:everypar{}
\IgnorePar\EndP\HCode{<h1 class="PartHead">}\HtmlParOff}
{\HCode{</h1>}\HtmlParOn\IgnoreIndent \egroup\par\ShowPar \IgnoreIndent}
\Configure{LikeSection}{}{}
{\IgnorePar \EndP\HCode{<h3 class="LikeSectionHead">}}
{\HCode{</h3>}\IgnoreIndent
|<addr for Tag and Ref of Sec|>%
\par \IgnoreIndent
}
\ConfigureMark{Section}
{\theSection}
\Configure{Section}
{}{}
{\IgnorePar\EndP\HCode{<h3 class="SectionHead">}%
\gHAdvance\SectionCounter |by 1 \TitleMark\space
}{\HCode{</h3>}\IgnoreIndent
|<addr for Tag and Ref of Sec|>%
\par \IgnoreIndent
}
\Configure{SubSection}
{}{}
{\par \IgnorePar\EndP\HCode{<h3 class="SubSectionHead">}}
{\HCode{</h3>}\IgnoreIndent \ShowPar}
>>>
\<th4 sections\><<<
\ConfigureMark{Chapter}
{Chapter \theChapterCounter}
\Configure{Chapter}
{}{}
{\IgnorePar\EndP\HCode{<h2 class="ChapterHead"\a:LRdir>}%
\TitleMark{\HCode{<br />}}}
{\HCode{</h2>}\IgnoreIndent\IgnorePar}
\ConfigureMark{Appendix}{Appendix \theChapterCounter}
\Configure{Appendix}
{}{}
{\IgnorePar\EndP\HCode{<h2 class="AppendixHead"\a:LRdir>}%
\TitleMark {\HCode{<br />}}}
{\HCode{</h2>}\IgnoreIndent\IgnorePar}
\Configure{LikeChapter}
{}{}
{\IgnorePar\EndP\HCode{<h2 class="LikeChapterHead"\a:LRdir>}\noindent
\bgroup \def\uppercase##1{##1}}
{\egroup \HCode{</h2>}\IgnoreIndent\IgnorePar }
>>>
\<th4 sections\><<<
\Configure{+CutAt}{Chapter}{[}{] }
\Configure{+CutAt}{Section}{[}{] }
\Configure{+CutAt}{LikeSection}{[}{] }
\Configure{+CutAt}{SubSection}{[}{] }
>>>
\<th4 tocs\><<<
\ConfigureToc{Chapter}
{\HCode{<span class="ChapterToc" \a:LRdir>}}
{~}
{}
{\HCode{</span><br />}}
\ConfigureToc{Section}
{\HCode{<span class="SectionToc" \a:LRdir>}~~~}
{~}
{}
{\HCode{</span><br />}}
\ConfigureToc{LikeSection}
{}
{\HCode{<span class="LikeSectionToc" \a:LRdir>}~~~}
{}
{\HCode{</span><br />}}
\ConfigureToc{SubSection}
{}
{\HCode{<span class="SubSectionToc" \a:LRdir>}~~~~~~}
{}
{\HCode{</span><br />}}
>>>
\<th4 verbatim\><<<
\Configure{Verbatim}
{\ifvmode \IgnorePar\fi
\HAssign\Verb:N = 0
\EndP\HCode{<div class="Verbatim">}}
{\IgnorePar\HCode{</div>}\par\ShowPar}
{\HAdvance\Verb:N by 1 \ifnum \Verb:N>1 \HCode{<br />}\fi}
{\:nbsp}
\Css{div.Verbatim { font-family: monospace,monospace; white-space: nowrap; }}
\Css{body .Verbatim { margin: 1em; }}
>>>
\<th4 lists\><<<
\Configure{buttonList+}
{\ifnum \ListCounter>1 \IgnorePar\EndP\HCode{<hr\xml:empty>}\fi
\ShowPar\par\IgnoreIndent
}
{. #1\ShowPar} {\IgnorePar\EndP} {\ListCounter}
>>>
\<th4 lists\><<<
\Configure{UList}
{\IgnorePar\EndP\def\:tempB{disc}%
\ifx\:tempA\:tempB \else \def\:tempB{square}\fi
\ifx\:tempA\:tempB \else \def\:tempB{circle}\fi
\hbox{\IgnorePar\EndP\HCode{<ul
\ifx\:tempA\:tempB type="\:tempA" \fi \:UL:>}}}
{\ht:everypar{}\EndP\HCode{</li></ul>}\ShowPar\par}
{\ifnum \ListCounter>1 \EndP\HCode{</li>}\fi \hfil\break \HCode{<li>}}
\Configure{OList}
{\IgnorePar\EndP\hbox{\HCode{<ol
\ifx \:temp\empty \else type="\:temp" \fi
\:OL:>}}}
{\ht:everypar{}\EndP
\HCode{\ifnum \ListCounter=0<li>\fi </li></ol>}\ShowPar\par}
{\ifnum \ListCounter>1 \EndP\HCode{</li>}\fi \hfil\break \HCode{<li>}}
>>>
\<th4 lists\><<<
\Configure{Item}{}{\par}%
\Configure{DList}
{\IgnorePar\EndP\HCode{<dl \:DL:>}}
{\ht:everypar{}\EndP\HCode{\End:dd</dl>}%
\ShowPar\par }
{\IgnorePar\EndP\ifnum \ListCounter>1 \HCode{</dd>}\fi
\HCode{<dt>}}
{\HCode{</dt><dd>}\ShowPar \def\End:dd{</dd>}\hfil\break}
\Configure{buttonList}{}{}
{}{.\ #1 }{\ListCounter}
>>>
\<th4 tables\><<<
\HAssign\TableNo=0
\Configure{HTable}
{\gHAdvance\TableNo by 1
\ht:everypar{}\EndP\HCode{<table id="TBL-\TableNo"
\Hnewline\TABLE:\:HTable:>}%
\def\BR{\HCode{<br />}}}
{\HCode{</table>}}
{\HCode{<tr \:TR>}}{\HCode{</tr>}}
{\ht:everypar{}\HCode{<\TD:typ\TD:more\Hnewline>}}
{\EndP\ht:everypar{}\HCode{</\TD:typ>}}
\let\:HTable:|=\empty
\Configure{HTable+}
{B}{ cellspacing="0" cellpadding="3pt" frame="border" }
{<}{ style="text-align:left;" }
{>}{ style="text-align:right;" }
{-}{ style="text-align:center;" }
{^}{ style="vertical-align:top;" }
{||}{ style="vertical-align:middle;" }
{_}{ style="vertical-align:bottom;" }
{=}{ style="vertical-align:baseline;" }
{}{}
\Css{table[rules] {border-left:solid black 0.4pt;
border-right:solid black 0.4pt; }}
>>>
%%%%%%%%%%%%%%%%%%%%%%%
\section{nicefrac}
%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 nicefrac\><<<
\Configure{nicefrac}
{\HCode{<sup class="nicefrac">}}
{\HCode{</sup>}/\HCode{<sub class="nicefrac">}}
{\HCode{</sub>}}
>>>
\<configure html4 bibtopic\><<<
\ConfigureEnv{btSect}
{\ifvmode \IgnorePar\fi \EndP\HCode{<div class="btSect">}}
{\ifvmode \IgnorePar\fi \EndP\HCode{</div>}}
{}{}
>>>
\section{ntheorem}
\<configure html4 ntheorem\><<<
|<32,4 ntheorem|>
>>>
\<32,4 ntheorem\><<<
\ConfigureEnv{Anmerkung}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="Anmerkung">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{Beispiel}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="Beispiel">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{Bemerkung}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="Bemerkung">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{Beweis}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="Beweis">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{Corollary}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="Corollary">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{Definition}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="Definition">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{Example}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="Example">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{Korollar}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="Korollar">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{Lemma}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="Lemma">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{Proof}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="Proof">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{Proposition}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="Proposition">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{Remark}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="Remark">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{Satz}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="Satz">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{Theorem}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="Theorem">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{anmerkung}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="anmerkung">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{beispiel}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="beispiel">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{bemerkung}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="bemerkung">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{beweis}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="beweis">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{corollary}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="corollary">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{definition}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="definition">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{example}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="example">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{korollar}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="korollar">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{lemma}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="lemma">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{proof}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="proof">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{proposition}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="proposition">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{remark}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="remark">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{satz}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="satz">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
\ConfigureEnv{theorem}
{\ifvmode\IgnorePar\fi \EndP
\HCode{<div class="theorem">}}
{\ifvmode\IgnorePar\fi \EndP \HCode{</div>}} {}{}
>>>
\section{bussproofs}
\<configure html4 bussproofs\><<<
\Configure{DisplayProof}{\Picture*{}}{\EndPicture}
>>>
\section{proof}
\<configure html4 proof\><<<
\Configure{infer}{\Picture*{}}{\EndPicture}
>>>
\section{hyperref}
\<config hyperref form 4\><<<
\Configure{Form}
{\IgnorePar\EndP\leavevmode \Tg<form \Hnewline \Attributes>}
{\IgnorePar\EndP\Tg</form>}
>>>
\<configure html4 hyperref\><<<
|<config hyperref form 4|>
|<hyperref shared|>
|<hyperref TextField|>
|<hyperref multiline|>
|<hyperref password|>
|<hyperref radio|>
|<hyperref on...|>
\NewConfigure{::action}{1}
\Configure{::action}
{\edef\Attributes{\Attributes\space action="\AttributeVal"}}
\NewConfigure{::method}{1}
\Configure{::method}
{\edef\Attributes{\Attributes\space method="\AttributeVal"}}
\NewConfigure{PushButton::}{1}
\Configure{PushButton::}
{\leavevmode\Tg<input type="button" \Attributes\space/>}
\NewConfigure{Reset::}{1}
\Configure{Reset::}
{\leavevmode\Tg<input type="reset" \Attributes\space/>}
\NewConfigure{Submit::}{1}
\Configure{Submit::}
{\leavevmode\Tg<input type="submit" \Attributes\space/>}
\NewConfigure{CheckBox::}{2}
\Configure{CheckBox::}
{\leavevmode\Tg<input type="checkbox" \Attributes\space/>}{}
\NewConfigure{CheckBox::checked}{2}
\Configure{CheckBox::checked}
{\leavevmode\Tg<input type="checkbox" checked="checked"
\Attributes\space/>}{}
\HAssign\form:id=0
>>>
\<hyperref shared\><<<
\NewConfigure{::value}{1}
\Configure{::value}
{\edef\Attributes{\Attributes\space value="\AttributeVal"}}
\NewConfigure{::name}{1}
\Configure{::name}
{\edef\Attributes{\Attributes\space name="\AttributeVal"}}
\NewConfigure{::default}{1}
\Configure{::default}
{\let\::default=\AttributeVal}
\def\get:int#1.#2//{\tmp:cnt=#1 }
>>>
\<\><<<
\NewConfigure{::borderwidth}{1}
\Configure{::borderwidth}
{\Css{div\#form-\form:id {border-width: \AttributeVal;
border-style:solid;}}}
\NewConfigure{::bordercolor}{1}
\Configure{::bordercolor}
{\expandafter\get:colors\AttributeVal//%
\Css{div\#form-\form:id {border-color:\AttributeVal}}}
\def\get:colors#1 #2 #3//{%
\get:color{#1}\edef\AttributeVal{\the\tmp:cnt\%}%
\get:color{#2}\edef\AttributeVal{\AttributeVal,
\the\tmp:cnt\%}%
\get:color{#3}\edef\AttributeVal{rgb(\AttributeVal,
\the\tmp:cnt\%)}%
}
\def\get:color#1{%
\tmp:dim=#1pt \multiply\tmp:dim by 100
\expandafter\get:int\the\tmp:dim//}
>>>
\<hyperref on...\><<<
\def\:tempc#1{%
\NewConfigure{::#1}{1}%
\Configure{::#1}%
{\edef\Attributes{\Attributes\space #1="\AttributeVal"}}}
\:tempc{onclick}
\:tempc{onblur}
\:tempc{onchange}
\:tempc{onclick}
\:tempc{ondblclick}
\:tempc{onfocus}
\:tempc{onkeydown}
\:tempc{onkeypress}
\:tempc{onkeyup}
\:tempc{onmousedown}
\:tempc{onmousemove}
\:tempc{onmouseout}
\:tempc{onmouseover}
\:tempc{onmouseup}
\:tempc{onselect}
>>>
\<hyperref TextField\><<<
\NewConfigure{TextField::}{2}
\Configure{TextField::}{}{ \Tg<input type="text" \Attributes />}
\NewConfigure{TextField::width}{1}
\Configure{TextField::width}
{\tmp:dim=\AttributeVal \divide\tmp:dim by 6
\expandafter\get:int\the\tmp:dim//%
\edef\Attributes{\Attributes\space size="\the\tmp:cnt"}}
\NewConfigure{TextField::default}{1}
\Configure{TextField::default}
{\edef\Attributes{\Attributes\space value="\AttributeVal"}}
>>>
\<hyperref multiline\><<<
\NewConfigure{TextField::multiline}{2}
\Configure{TextField::multiline}
{}
{ \Tg<textarea
\Attributes>\expandafter\set:ln\multiline:value,|<par del|>%
\global\let\multiline:value=\empty \Tg</textarea>}
\let\multiline:value=\empty
\def\set:ln#1,#2|<par del|>{#1%
\def\:temp{#2}\ifx \:temp\empty \else
\hfil\break \def\:temp{\set:ln#2|<par del|>}%
\fi \:temp}
\NewConfigure{multiline::value}{1}
\Configure{multiline::value}
{\let\multiline:value=\AttributeVal}
\NewConfigure{multiline::width}{1}
\Configure{multiline::width}
{\tmp:dim=\AttributeVal \divide\tmp:dim by 6
\expandafter\get:int\the\tmp:dim//%
\edef\Attributes{\Attributes\space cols="\the\tmp:cnt"}}
\NewConfigure{multiline::height}{1}
\Configure{multiline::height}
{\tmp:dim=\AttributeVal \divide\tmp:dim by 6
\expandafter\get:int\the\tmp:dim//%
\edef\Attributes{\Attributes\space rows="\the\tmp:cnt"}}
>>>
\<hyperref password\><<<
\NewConfigure{TextField::password}{2}
\Configure{TextField::password}
{}{\Tg<input type="password" \Attributes />}
>>>
\<hyperref shared\><<<
\def\Default:Checked#1{%
\ifx #1\Un:Def \let\:temp=\empty \else
\let\:temp=\relax
\let\:tempa=\relax
\edef\:temp{\def\:temp####1#1#1####2//{\def\:temp{####2}}%
\:temp \AttributeVal #1=#1#1//%
\def\:tempa####1=####2//{\def\noexpand\AttributeVal{####1}}%
\:tempa\AttributeVal=//}%
\:temp
\fi
}
>>>
\<hyperref radio\><<<
\NewConfigure{ChoiceMenu::radio}{5}
\Configure{ChoiceMenu::radio}
{\IgnorePar\EndP\leavevmode
\Tg<div id="form-\form:id">\gHAdvance\form:id by 1 }
{ }{\IgnorePar\EndP\Tg</div>}
{\Default:Checked\radio::default
\Tg<input\Hnewline type="radio"
\ifx \:temp\empty\else checked="checked" \fi
\Attributes\space />}
{}
\NewConfigure{radio::default}{1}
\Configure{radio::default}
{\let\radio::default=\AttributeVal}
>>>
\<hyperref radio\><<<
\NewConfigure{ChoiceMenu::combo}{5}
\Configure{ChoiceMenu::combo}
{}
{~\Tg<select\Hnewline \Attributes \Hnewline size="1">}
{\Tg</select>}
{\Tg<option \ifx\::default\AttributeVal selected="selected"\fi
\Hnewline>}
{\Tg</option>}
\NewConfigure{combo::default}{1}
\Configure{combo::default}
{\let\combo::default=\AttributeVal}
>>>
\<hyperref radio\><<<
\NewConfigure{ChoiceMenu::popdown}{5}
\Configure{ChoiceMenu::popdown}
{}{\HCode{\Hnewline <select \Attributes \Hnewline size="1">}}
{\Tg</select>}
{\Tg<option \ifx\::default\AttributeVal selected="selected"\fi
\Hnewline>} {\Tg</option>}
>>>
The \verb'size="1"' makes the select a popout memnu
\<hyperref radio\><<<
\NewConfigure{ChoiceMenu::}{5}
\Configure{ChoiceMenu::}
{}{\HCode{\Hnewline <select\Hnewline \Attributes>}}{\Tg</select>}
{\Tg<option \ifx\::default\AttributeVal selected="selected"\fi
\Hnewline>} {\Tg</option>}
\NewConfigure{::menulength}{1}
\Configure{::menulength}
{\edef\Attributes{\Attributes\space size="\AttributeVal"}}
>>>
\<configure html4 hyperref\><<<
\ifx \@baseurl\@empty \else
\Configure{@HEAD}
{\HCode{<base href="\:baseurl" />}}
\let\:baseurl\@baseurl
\let\@baseurl=\@empty
\fi
>>>
%%%%%%%%%%%%%%%%%%%%
\section{web}
%%%%%%%%%%%%%%%%%%%%
\<configure html4 web\><<<
\Configure{webversion} {\\} {}
\Configure{webuniversity}
{\Tg<div class="webuniversity">} {\Tg</div>}
\Css{div div.webuniversity {color : rgb(0\%,0\%,80\%);
margin-bottom: 1em; text-align: center;}}
\Configure{maketitle}
{\IgnorePar\EndP\par\Tg<div class="maketitle">}
{\IgnorePar\EndP\par\Tg</div>}
\Css{div.maketitle {text-align: center;
margin-left: 3em; margin-right: 3em; }}
\Configure{HColor}{webgreen}{rgb(0\%,50\%,0\%)}
\Configure{HColor}{webbrown}{rgb(60\%,0\%,0\%)}
\Configure{HColor}{webyellow}{rgb(98\%,92\%,73\%)}
\Configure{HColor}{webgray}{rgb(75.3\%,75.3\%,75.3\%)}
\Configure{HColor}{webblue}{rgb(0\%,0\%,80\%)}
>>>
\section{exerquiz}
\<configure html4 exerquiz\><<<
|<32,4 exerquiz|>
|<4 exerquiz|>
>>>
% Edit 2021: The JavaScript stuff defined in exerqz.4ht
% respective it's HTML configuration below doesn't work
% at all. It even results in fatal compilatio error.
% I've removed the following line that introduces
% this JavaScript code.
%\Configure{@HEAD}{\input exerqz.4ht }
\<32,4 exerquiz\><<<
\Configure{Form}{}{}
\Css{.onClick {color:green;}}
\Configure{TextField::}{}{%
\IgnorePar \EndP
\HCode{<form action="." name="form\quiz@total"><input
type="text"\Hnewline \Attributes /></form>}%
}
\Configure{javascript}{JavaScript:}
>>>
\<32,4 exerquiz\><<<
\ifx \eq@sqrtmsg\:UnDef
\def\eq@sqrtmsg{"Right!"}
\fi
\ifx \eq@sqwgmsg\:UnDef
\def\eq@sqwgmsg{"Wrong!"}
\fi
\Configure{shortquiz}
{(\alph{quizno})}
{alert(\eq@sqrtmsg,3);}
{alert(\eq@sqwgmsg,3);}
\Configure{quiz}
{(\alph{quizno})}
{qthis=this;
ProcessQuestion (\ANS,"\alph{quizno}",\thequestionno,
1,"\eq@bqlabel",\Quiz:N)}
{InitializeQuiz("\quiz@total",
\ifeq@nocorrections0\else1\fi,\Quiz:N,\LikeRef{ans-\Quiz:N},
"(",")")}
{QuizEnd("\:bqlabel",\thequestionno,"\quiz@total",\Quiz:N)}
{Corrections("\eq@RC","\eq@AC",\Quiz:N)}
\Configure{quiz*}
{[]}
{qthis=this;
ProcessQuestion (\ANS,"[]",\thequestionno,
0,"\eq@bqlabel",\Quiz:N)}
{InitializeQuiz("\quiz@total",
\ifeq@nocorrections0\else1\fi,\Quiz:N,
\LikeRef{ans-\Quiz:N},"","")}
>>>
\<-NOPE\><<<
\Configure{quiz*}
{qthis=this;
ProcessQuestion(\ANS,"\alph{quizno}",\thequestionno,
0,"\eq@bqlabel",\Quiz:N)}
>>>
\<32,4 exerquiz\><<<
\ConfigureEnv{shortquiz}
{\IgnorePar\EndP\leavevmode} {} {}{}
\Configure{ReturnTo}{\begin{flushright}}{\end{flushright}}
>>>
\<4 exerquiz\><<<
\ConfigureList{questions}%
{\EndP\HCode{<ol type="1" class="questions"\Hnewline
>}|<save end:itm|>\global\let\end:itm=\empty}
{|<recall end:itm|>\EndP\HCode{</li></ol>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</li>}\DeleteMark}
{\HCode{<li class="questions">}\AnchorLabel}
>>>
\<4 exerquiz\><<<
\def\a:temp#1#2{%
\ifOption{#2}{\def\a:charset{#2}}{}
\def\:tempa{#1}\ifx \eqOutOf\:tempa
\def\A:charset{#2}\ifx \A:charset\empty\else
\def\A:charset{#2}%
\fi\fi}
\a:temp{sur}{charset=iso-8859-2}
\a:temp{von}{charset=iso-8859-2}
>>>
\<exerqz\><<<
% exerqz.4ht (|version), generated from |jobname.tex
% Copyright 2009-2015 TeX Users Group
% Copyright |CopyYear.1999. Eitan M. Gurari, Donald P. Story
|<TeX4ht copywrite|>
|<exerqz's vars|>
|<predefined exerquiz javascript|>
>>>
\<predefined exerquiz javascript\><<<
\JavaScript-$
var QuizInitialized;
var EndQuizPushed;
var CurrentQuizNo;
var Responses;
var ResponsesAddr;
var Cor;
var CorAddr;
var qthis;
var prev_notify;
function InitializeQuiz(qtfield,mark,quizN,ansN,lbrc,rbrc) {
Score=0;
QuizInitialized=1;
CurrentQuizNo=quizN;
eval( 'document.form'+qtfield+'.'+qtfield+'.value="$eqScore";' )
RightWrong=new Array();
|<hide sol|>
Responses=new Array();
ResponsesAddr=new Array();
|<hide cor|>
Cor=new Array();
CorAddr=new Array();
EndQuizPushed=0;
for(var i=1; i<=ansN; i++){
RightWrong[i]=0;
}
}
\EndJavaScript
>>>
\<show sol\><<<
if( ResponsesAddr[probno] != null ){
if (notify == 0 ) {
ResponsesAddr[probno].value=Responses[probno];
} else {
ResponsesAddr[probno].value="("+Responses[probno]+")";
} }
qthis.value = "#"; ResponsesAddr[probno]=qthis;
>>>
\<hide sol\><<<
for(var i in Responses){
if (prev_notify == 0 ) {
ResponsesAddr[i].value=Responses[i];
} else {
ResponsesAddr[i].value="("+Responses[i]+")";
} }
>>>
% if( Responses != null ){
\<record cor\><<<
var k=Cor.length;
eval('Cor[k]=thisform'+quizN+'.ans'+quizN+'x'+i+'.value');
eval('CorAddr[k]=thisform'+quizN+'.ans'+quizN+'x'+i);
>>>
\<hide cor\><<<
for(var i in Cor){
CorAddr[i].value=Cor[i];
}
>>>
% if( Cor != null ){
\<predefined exerquiz javascript\><<<
\JavaScript
function href(addr) { top.location.href=addr; }
\EndJavaScript
>>>
% function href(addr) { window.navigate(addr); }
\<predefined exerquiz javascript\><<<
\JavaScript
function Corrections(lbl1,lbl2,quizN) {
if ( (EndQuizPushed == 1) && ( CurrentQuizNo == quizN ) ){
for(var i in RightWrong){
if( (RightWrong[i]==0) ){
|<record cor|>
eval('thisform'+quizN+'.ans'+quizN+'x'+i+'.value= "*"');
} }
} }
\EndJavaScript
>>>
\<32,4 exerquiz\><<<
\writesixteen{%
***********************************************************\Hnewline
The `\eq@CA' button fails under Netscape, \Hnewline
due to a code of the following form.\Hnewline
\Hnewline
<html><head><title>?</title>\Hnewline
<script\space type="text/JavaScript"\space ><!--\space \Hnewline
\space \space \space function\space f()\space {\Hnewline
\space \space \space \space \space formxx.inputxx.value="BBB";\Hnewline
\space \space \space}\Hnewline
//-->\space \Hnewline
</script>\space \space </head>\space <body>\Hnewline
\Hnewline
<form\space id="formxx">\space \space \Hnewline
\space \space \space <input\space type="text"\space
\space name="foo"\space id="inputxx"\space
\space value="AAA"\space />\Hnewline
\space \space \space <input\space value="\eq@CA"\space
type="button"\space \space \space onClick="f()"\space />\Hnewline
\space \space \space <input\space value="CLEAR"\space
type="reset"\space \space \space onClick="clear()"\space />\Hnewline
</form>\Hnewline
\Hnewline
</body> \Hnewline
</html> \Hnewline
\Hnewline
If you know how to fix the function f() above for Netscape,\Hnewline
without changing the id attribute names, please consider\Hnewline
emailing the fix to
[email protected]. Thanks\Hnewline
***********************************************************}
>>>
\<predefined exerquiz javascript\><<<
\JavaScript
function LinkTo(addr) {
}
\EndJavaScript
>>>
\<exerqz's vars\><<<
\def\eqXInitQuizMsg{\hbox{%
\let\noexpand|=\string
\csname eq@InitQuizMsg\endcsname}}
\expandafter\ifx \csname eq@InitQuizMsg\endcsname\relax
\expandafter\def\csname eq@InitQuizMsg\endcsname{
"You must initialize the Quiz! Click on "+bqlabel}
\fi
\def\eqXQuizTotalMsg{\hbox{%
\let\noexpand|=\string
\def\thequestionno{"+thequestionno+"}%
\csname eq@QuizTotalMsg\endcsname}}
\expandafter\ifx \csname eq@QuizTotalMsg\endcsname\relax
\expandafter\def\csname eq@QuizTotalMsg\endcsname{"Score: '
+Score +' out of '+thequestionno+'"}
\fi
\def\eqXMadeChoice{\hbox{%
\let\noexpand|=\string
\csname eq@MadeChoice\endcsname}}
\expandafter\ifx \csname eq@MadeChoice\endcsname\relax
\expandafter\def\csname eq@MadeChoice\endcsname{
"You have already made a choice. Your choice was ("
+Responses[probno]+")."
+" Do you want to change it?"}
\fi
\expandafter\ifx \csname eqScore\endcsname\relax
\def\eqScore{Score:}
\fi
>>>
The \verb'Wollen Sie dies \noexpand\344ndern?' is a problem because it
takes the \verb'\344' into \verb'44'. A \verb'\string' will properly
produce \verb'\344'; hence, the above dirty trick.
\begin{verbatim}
Doesn't IE escape in the way that Acrobat JavaScript does?
Another possibility is to use String.fromCharCode()
Convert Octal \344 to decimal 228, then use
String.fromCharCode(228)
How to deliver browser specific content using JavaScript
<SCRIPT LANGUAGE="JavaScript">
<!--
if( -1 != navigator.userAgent.
indexOf ("AOL") )
{
// load America Online version
location.href="aol.htm";
}
else
if( -1 != navigator.userAgent.
indexOf ("MSIE") )
{
// load Microsoft Internet
// Explorer version
location.href="msie.htm";
}
else
if( -1 != navigator.userAgent.
indexOf ("Mozilla") )
{
// load Netscape version
location.href="netscape.htm";
}
else
{
// load other version
location.href="other.htm";
}
-->
</SCRIPT>
\end{verbatim}
\<predefined exerquiz javascript\><<<
\JavaScript-$
function QuizEnd(bqlabel,thequestionno,quiztotal,quizN){
if ((QuizInitialized !=1) |||| ( CurrentQuizNo!= quizN )){
alert($eqXInitQuizMsg,3);
} else {
eval( 'document.form'+quiztotal+'.'+quiztotal+
'.value=$eqXQuizTotalMsg');
QuizInitialized=-1;
EndQuizPushed=1;
} }
\EndJavaScript
\JavaScript-$
function ProcessQuestion
(key,letterresp,probno,notify,bqlabel,quizN) {
if ((QuizInitialized !=1) |||| ( CurrentQuizNo!= quizN )){
alert($eqXInitQuizMsg,3);
} else {
|<function ProcUserResp(key,letterresp,probno,notify)|>
prev_notify = notify;
} }
\EndJavaScript
>>>
\<function ProcUserResp(key,letterresp,probno,notify)\><<<
if (Responses[probno] == null) {
if (key==1) {
Score++;
RightWrong[probno]=1;
}
else
RightWrong[probno]=0;
|<show sol|>
Responses[probno]=letterresp;
}
else {
if (notify==0)
User=true;
else
User=confirm($eqXMadeChoice);
if (User) {
if (RightWrong[probno]==1) {
if (key==0) {
Score -= 1;
RightWrong[probno]=0;
|<show sol|>
Responses[probno]=letterresp;
}
}
else {
if (key==1) {
Score++;
RightWrong[probno]=1;
|<show sol|>
Responses[probno]=letterresp;
}
else {
RightWrong[probno]=0;
|<show sol|>
Responses[probno]=letterresp;
}
}
}
}
>>>
\section{tex4ht}
\<title for hypertext page\><<<
\Configure{TITLE+}{\HCode{\jobname.\:html}}
>>>
\<0,32,4 latex\><<<
\ifTag{TITLE+}{\Configure{TITLE+}{\LikeRef{TITLE+}}}{}
>>>
Was \verb'\ifTag{TITLE+}{\Configure{TITLE+}{\HCode{\LikeRef{TITLE+}}}}{}',
but the \verb'\HCode' leaves \verb'\Protect' in for the latter comamnds which arrive
to the title--the original motivation for the \verb'\HCode' was to
protect the title from undesirable tags. Something like \verb+H\`ello+ can
send it. It now sems to be more trouble than help.
\<config tex4ht\><<<
|<0,32,4 preambles|>
\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
\:CheckOption{edit} \if:Option
\Configure{edit}{\HCode{<strong><}}{\HCode{></strong>}}
{<strong><}{></strong>}
\fi
\:CheckOption{hooks++} \if:Option
\else \:CheckOption{hooks+} \if:Option
\else \:CheckOption{hooks} \if:Option
\fi\fi\fi
\if:Option
\Configure{hooks}
{\HCode{<strong class="hooks"><}}{\HCode{></strong>}}{}{}
\fi
\Configure{ExitHPage}{exit}{exit }{}
\Configure{TocLink}{\Link{#2}{#3}#4\ifvmode\IgnorePar\fi\EndLink}
\Configure{MiniHalign}{\hlg:a}{\hlg:b}\hlg:c\hlg:d{\hlg:e}\hlg:f
\:CheckOption{no-halign} \if:Option \else
\Configure{noalign-}{}{}
\fi
\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}
{\let\HCode|=\:HCode
\let\EndPicture|=\:UnDef \let\HtmlPar|=\sv:HtmlPar \SUBOn \SUPOn
\csname EndPauseMathClass\endcsname \EndNoFonts
|<tex4ht halign and cr/crcr|>%
|<delay postscript|>}
|<external scripts and styles|>
|<external web fonts|>
>>>
Was \verb+\SUBOff \SUPOff+. Any problems?
\<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
>>>
\<config tex4ht\><<<
\Configure{writetoc}{}
>>>
\<config tex4ht\><<<
\Configure{CutAtTITLE+}{}
\Configure{HPageTITLE+}{}
\Configure{AtBeginDocument}
{\edef\recallcatcodes{%
\catcode`\noexpand\_|=\the\catcode`\_
\catcode`\noexpand\^|=\the\catcode`\^ }%
\catcode`\_=8\catcode`\^=7}
{\recallcatcodes}
>>>
\<config tex4ht\><<<
\Configure{crosslinks}{[}{]
}{next}{prev}{prev-|<tail|>}{front}{tail}{up}
\:CheckOption{next} \if:Option
\Configure{next+}
{\ShowPar\par\noindent \HCode{<span class="next">}[}
{]\HCode{</span>}}
\Css{@media print {span.next {visibility:hidden;}}}
\fi
\Configure{halignTB}{\HCode{<table }}{\HCode{>}}
\def\R:HA{\HCode{<tr \Hnewline}\halignTR\HCode{>}}
\def\r:HA{\HCode{</tr>}}
\def\D:HA{|<td save EndP|> \HCode{<td
\ifnum \HMultispan>1 colspan="\HMultispan"\fi}%
\halignTD \HCode{\Hnewline>}\ShowPar\par}
\def\d:HA{\ifvmode \IgnorePar \fi \EndP\HCode{</td>}|<td recall EndP|>}
\Configure{HVerbatim+}{\z@}{\:nbsp}
\Configure{CssFile}{\jobname.css}
{/* \aa:CssFile\space from \jobname.tex (TeX4ht) */}
\Configure{Picture+}{}{}
\Configure{Picture*}{}{}
\Configure{Picture-alt}{[Picture]}
\Configure{Needs}{l.
\the\inputlineno\space--- needs --- #1 ---}
\Configure{Needs-}{l.
\the\inputlineno\space--- needs --- #1 ---}
|<yes css|>
>>>
\<td save EndP\><<<
\SaveEndP
>>>
\<td recall EndP\><<<
\RecallEndP
>>>
\<config tex4ht\><<<
\Configure{moveright}{\leavevmode\endgraf }
% print x only outside \Picture+
\Configure{HChar}{\ifx\EndPicture\:UnDef x\fi}
>>>
\<yes css\><<<
\def\SPAN:#1{\HCode{<span class="#1">}}
\def\EndSPAN:{\HCode{</span>}}
\def\DIV:#1{\HCode{<div class="#1">}}
\def\EndDIV:{\HCode{</div>}}
>>>
\section{Interpretation for the Entries}
Use \verb'\ ', and not \verb'~', in style files, because some
users redefine the latter macro.
\<html latex tocs\><<<
%\def\:SPAN#1#2{\HCode{<span class="#1">}#2\HCode{</span>}}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{latin1.def}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 SIunits\><<<
\Configure{degree}{{\leavevmode\ht:special{t4ht@+&{35}x00B0;}x}}
>>>
\<configure html4 cp852\><<<
\Configure{textdegree}{{\leavevmode\ht:special{t4ht@+&{35}x00B0;}x}}
>>>
\<configure html4 cp850\><<<
\Configure{textdegree}{{\leavevmode\ht:special{t4ht@+&{35}x00B0;}x}}
>>>
\<configure html4 cp862\><<<
\Configure{textdegree}{{\leavevmode\ht:special{t4ht@+&{35}x00B0;}x}}
>>>
\<configure html4 cp1250\><<<
\Configure{textdegree}{{\leavevmode\ht:special{t4ht@+&{35}x00B0;}x}}
>>>
\<configure html4 cp1252\><<<
\Configure{textdegree}{{\leavevmode\ht:special{t4ht@+&{35}x00B0;}x}}
>>>
\<configure html4 cp437\><<<
\Configure{textdegree}{{\leavevmode\ht:special{t4ht@+&{35}x00B0;}x}}
>>>
\<configure html4 cp437de\><<<
\Configure{textdegree}{{\leavevmode\ht:special{t4ht@+&{35}x00B0;}x}}
>>>
\<configure html4 cp1256\><<<
\Configure{textdegree}{{\leavevmode\ht:special{t4ht@+&{35}x00B0;}x}}
>>>
\<configure html4 cp865\><<<
\Configure{textdegree}{{\leavevmode\ht:special{t4ht@+&{35}x00B0;}x}}
>>>
\<configure html4 8859-6\><<<
\Configure{textdegree}{{\leavevmode\ht:special{t4ht@+&{35}x00B0;}x}}
>>>
\<configure html4 latin1\><<<
\Configure{textdegree}{{\leavevmode\ht:special{t4ht@+&{35}x00B0;}x}}
\def\HTitleText#1{%
\bgroup
\uccode`\~#1%
\uppercase{%
\egroup
\edef~{\string~}%
}%
}
\Configure{@TITLE}
{\DeclareInputText{168}{"}%
\HTitleText{209}%
\HTitleText{194}%
\HTitleText{210}%
\HTitleText{195}%
\HTitleText{211}%
\HTitleText{196}%
\HTitleText{212}%
\HTitleText{197}%
\HTitleText{213}%
\HTitleText{198}%
\HTitleText{214}%
\HTitleText{199}%
\HTitleText{215}%
\HTitleText{200}%
\HTitleText{216}%
\HTitleText{201}%
\HTitleText{217}%
\HTitleText{202}%
\HTitleText{218}%
\HTitleText{203}%
\HTitleText{219}%
\HTitleText{204}%
\HTitleText{220}%
\HTitleText{205}%
\HTitleText{221}%
\HTitleText{206}%
\HTitleText{222}%
\HTitleText{207}%
\HTitleText{223}%
\HTitleText{224}%
\HTitleText{240}%
\HTitleText{225}%
\HTitleText{241}%
\HTitleText{226}%
\HTitleText{242}%
\HTitleText{227}%
\HTitleText{243}%
\HTitleText{228}%
\HTitleText{244}%
\HTitleText{229}%
\HTitleText{245}%
\HTitleText{230}%
\HTitleText{246}%
\HTitleText{231}%
\HTitleText{247}%
\HTitleText{232}%
\HTitleText{248}%
\HTitleText{233}%
\HTitleText{249}%
\HTitleText{234}%
\HTitleText{250}%
\HTitleText{235}%
\HTitleText{251}%
\HTitleText{236}%
\HTitleText{252}%
\HTitleText{237}%
\HTitleText{253}%
\HTitleText{238}%
\HTitleText{254}%
\HTitleText{239}%
\HTitleText{255}%
}
>>>
\<configure html4 latex\><<<
\def\:tempc{\special{t4ht@+\string&{35}xAE{59}}x}
\HLet\textregistered\:tempc
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{syntax}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 syntax\><<<
\ConfigureEnv{grammar}
{\Picture*{}} {\EndPicture}
{}{}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{???????????}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<article,report,book\><<<
|<quotations|>
\Configure{listof}{}{}{}{\HCode{<br />}}{}{ }
>>>
\<quotations\><<<
\ConfigureEnv{quotation}
{}{}
{\IgnorePar\EndP\HCode{<blockquote class="quotation">}}
{\IgnorePar\EndP\HCode{</blockquote>}\ShowPar}
>>>
% Browsers can handle quotation better
% \Css{.quotation {margin-bottom:0.25em;
% margin-top:0.25em; margin-left:1em; }}
\<PICT dot tabbing\><<<
\:CheckOption{pic-tabbing'} \if:Option
\edef\:temp{\LikeRef{|<tabbing tag|>.}}%
\def\:tempa{.}\ifx \:temp\:tempa
\ConfigureEnv{tabbing}{\Picture*{}}{\EndPicture}{}{}
\fi
\fi
>>>
%%%%%%%%%%%%%%%%%%%%%
\section{titlesec}
%%%%%%%%%%%%%%%%%%%%%
\<configure html4 titlesec\><<<
\ifx \ttl@assign@ii\:Undef
|<pre 2005 titlesec|>
\fi
>>>
\<pre 2005 titlesec\><<<
\ConfigureMark{section}
{\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
\else \csname thetitlesection\endcsname\fi}
\Configure{section}{}{}
{\IgnorePar \EndP\IgnorePar\HCode{<h3 class="sectionHead"\a:LRdir>}
\TitleMark\space}
{\HCode{</h3>}\IgnoreIndent\par \ShowPar}
\Configure{likesection}{}{}
{\IgnorePar \EndP\IgnorePar\HCode{<h3 class="likesectionHead"\a:LRdir>}}
{\HCode{</h3>}\IgnoreIndent\par \ShowPar}
>>>
%%%%%%%%%%%%%%%%%%%%
\section{siunitx}
%%%%%%%%%%%%%%%%%%%%
\<configure html4 siunitx\><<<
\ExplSyntaxOn
\ifdefined\fixmathjaxtoc
\AtBeginDocument{%
\cs_gset_protected:Npn \__siunitx_print_math_auxii:n #1
{
\tl_set:Nn \l__siunitx_print_tmp_tl {#1}
\exp_args:NNne \tl_replace_all:Nnn \l__siunitx_print_tmp_tl
{ ^ } { \token_to_str:N ^ }
% escape special HTML characters
\regex_replace_all:nnN { \x{26} } { & } \l__siunitx_print_tmp_tl
\regex_replace_all:nnN { \x{3C} } { < } \l__siunitx_print_tmp_tl
\regex_replace_all:nnN { \x{3E} } { > } \l__siunitx_print_tmp_tl
\HCode{\detokenize{\(} \tl_to_str:N \l__siunitx_print_tmp_tl \detokenize{\)}}
}
}
\fi
\ExplSyntaxOff
>>>
%%%%%%%%%%%%%%%%%%%%%
\section{microtype}
%%%%%%%%%%%%%%%%%%%%%
\<configure html4 microtype\><<<
\Configure{textls}{\HCode{<span class="textls" \ifdefined\:letterspacing style="letter-spacing:\:letterspacing rem" \fi>}}{\HCode{</span>}}
\Css{.textls{letter-spacing:\:letterspacedefault rem;}} % default letter spacing, if no amount is specified
>>>
%%%%%%%%%%%%%%%%%%%%%
\section{mhchem}
%%%%%%%%%%%%%%%%%%%%%
\<configure html4 mhchem\><<<
\Configure{mhchemcf}{\HCode{<span class="mhchem">}}{\HCode{</span>}}
\Configure{mhchemce}{\HCode{<span class="mhchem">}}{\HCode{</span>}}
\Configure{mhchemisotope}{\HCode{<span class="mhchem-isotope">}}{\HCode{<br />&\#xfeff;}}{\HCode{</span>}}
\Configure{mhchemsub}{\HCode {<sub class="mhchem-sub">}}{\HCode{</sub>} }
\Configure{mhchemsup}{\HCode {<sup class="mhchem-sup">}}{\HCode{</sup>} }
\Configure{mhchemsupsub}{\HCode{<span class="mhchem-supsub">}}{\HCode{<br />&\#xfeff;}}{\HCode{</span>}}
% mhchemoperator is always used inside \HCode, so we need not to use \HCode in it's configuration
\Configure{mhchemoperator}{<span class="mhchem-operator">}{</span>}
\Configure{mhchemarrow}{\HCode {<span class="mhchem-arrow">}}{\HCode{</span>}}
\Configure{mhchemarrowabove}{\HCode {<span class="mhchem-above">}}{\HCode{</span>}}
\Configure{mhchemarrowyields}{\HCode{<span class="mhchem-arrow-normal">&\#x27F6;</span>}}
\Configure{mhchemarrowyieldsLeft}{\HCode{<span class="mhchem-arrow-normal">&\#x27F5;</span>}}
\Configure{mhchemarrowyieldsLeftRight}{\HCode{<span class="mhchem-arrow-normal">&\#x21c4;</span>}} % todo: improve
\Configure{mhchemarrowmesomerism}{\HCode{<span class="mhchem-arrow-normal">&\#x2194;</span>}} % todo: improve
\Configure{mhchemarrowequilibrium}{\HCode{<span class="mhchem-arrow-normal">&\#x21cc;</span>}} % todo: improve
\Configure{mhchemarrowequilibriumRight}{\HCode{<span class="mhchem-arrow-larger">&\#x21c0;</span><span class="mhchem-arrow-complement">&\#x21bd;</span>}} % todo: improve
\Configure{mhchemarrowequilibriumLeft}{\HCode{<span class="mhchem-arrow-complement">&\#x21c0;</span><span class="mhchem-arrow-larger">&\#x21bd;</span>}} % todo: improve
\Configure{mhchembondhalf}{\HCode{<span class="mhchem-bond-half-middle">&\#xfe4d;</span>}}
\Configure{mhchembondoneandhalf}{\HCode{<span class="mhchem-rlap">−</span><span~class="mhchem-bond-half-top">&\#xfe4d;</span>}}
\Configure{mhchembondtwoandhalf}{\HCode{<span class="mhchem-rlap">=</span><span~class="mhchem-bond-half-top">&\#xfe4d;</span>}}
\Configure{mhchembondtwoandhalff}{\HCode{<span class="mhchem-rlap mhchem-bond-top">−</span><span class="mhchem-rlap mhchem-bond-bottom">−</span><span class="mhchem-bond-half-middle">&\#xfe4d;</span>}}
\Css{.mhchem ~ .mhchem-cf { white-space: nowrap; }}
\Css{.mhchem ~ .mhchem-isotope { font-size: 0.65em; line-height: 1; display: inline-block; vertical-align: sub; text-align: right; }}
\Css{.mhchem ~ .mhchem-supsub { font-size: 0.65em; line-height: 1; display: inline-block; vertical-align: sub; }}
\Css{.mhchem ~ .mhchem-sup { font-size: 0.65em; line-height: 1; display: inline-block; vertical-align: 68\%; }}
\Css{.mhchem ~ .mhchem-sub { font-size: 0.65em; line-height: 1; display: inline-block; vertical-align: sub; }}
\Css{.mhchem ~ .mhchem-rlap { display: inline-block; width: 0; }}
\Css{.mhchem ~ .mhchem-bond-half-top { vertical-align: 60\%; }}
\Css{.mhchem ~ .mhchem-bond-half-middle { vertical-align: 35\%; }}
\Css{.mhchem ~ .mhchem-bond-top { vertical-align: 20\%; }}
\Css{.mhchem ~ .mhchem-bond-bottom { vertical-align: -20\%; }}
\Css{.mhchem ~ .mhchem-arrow { display: inline-flex; flex-direction: column; vertical-align: middle; }}
\Css{.mhchem ~ .mhchem-arrow > span { line-height: 80\%; text-align: center; }}
\Css{.mhchem ~ .mhchem-arrow > .mhchem-above { min-height: 1em; font-size: 60\%; }}
\Css{.mhchem ~ .mhchem-arrow > .mhchem-below { min-height: 1em; font-size: 60\%; }}
\Css{.mhchem ~ .mhchem-arrow > span.mhchem-arrow-normal { line-height: 40\%; }}
\Css{.mhchem ~ .mhchem-arrow > span.mhchem-arrow-larger { line-height: 25\%; font-size: 150\%; }}
\Css{.mhchem ~ .mhchem-arrow > span.mhchem-arrow-complement { line-height: 25\%; }}
>>>
%%%%%%%%%%%%%%%%%%%%%%
\section{chemfig}
%%%%%%%%%%%%%%%%%%%%%%
Display chemname as two inline rows
\<configure html4 chemfig\><<<
\Configure{chemname}{\ifvmode\IgnorePar\fi\EndP\HCode{<span class="chemname"><span class="chemnametop">}\IgnorePar}
{\HCode{</span><span class="chemnamebot">}}{\HCode{</span></span>}}
\Css{.chemname {display: inline-grid; text-align:center;}}
\Css{.chemnamebot{font-size: 0.8rem;}}
>>>
%%%%%%%%%%%%%%%%%%%%%%
\section{transparent}
%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 transparent\><<<
\Configure{texttransparent}{\HCode{<span class="texttransparent" style="opacity:\transparent:opacity;">}}{\HCode{</span>}}
>>>
%%%%%%%%%%%%%%%%%%%%%%
\section{changepage}
%%%%%%%%%%%%%%%%%%%%%%
\<configure html4 changepage\><<<
% convert the used dimension to em
\def\pt:to:em#1{\strip@pt\dimexpr#1/\f@size em}
\Configure{adjustwidth}
{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="ajdustwidth"
style="margin-left:\pt:to:em\adjustwidth:left;margin-right:\pt:to:em\adjustwidth:right;">}%
\par\ShowPar}
{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}}
>>>
\section{fontmath.ltx}
\<configure html4-math fontmath\><<<
|<32,4 picmath: plain, fontmath, amsmath, amstex1|>
|<picmath plain,fontmath|>
|<html4-math plain,fontmath|>
>>>
%%%%%%%%%%%%%%%%%%%%%%%
\section{tex4ht}
%%%%%%%%%%%%%%%%%%%%%%%
\<configure html4-math tex4ht\><<<
|<32,4 picmath tex4ht|>
\Configure{PicMath}{}{}{}{ class="math" }
\Css{img.math{vertical-align:middle;}}
|<contribute to picmath of 4.0t|>
>>>
% \Configure{$$}
% {\:xhtml{\IgnorePar\EndP}%
% \HCode{<div class="displaymath">}}
% {\HCode{</div>}|<try env inline par|>} {}
% \Css{div.displaymath{text-align:center;}}
\<try env inline par\><<<
\ShowPar
>>>
\<try inline par\><<<
\ShowPar \par{\HCondtrue\noindent}%
>>>
\<32,4 picmath tex4ht\><<<
\:CheckOption{no_^}
\if:Option \else \:CheckOption{no_}\fi
\if:Option \else
\Configure{SUB}
{\HCode{<sub>}}{\HCode{</sub>}}
\fi
\:CheckOption{no_^}
\if:Option \else \:CheckOption{no^}\fi
\if:Option \else
\Configure{SUP}
{\HCode{<sup>}}{\HCode{</sup>}}
\fi
\:CheckOption{no_^}
\if:Option \else \:CheckOption{no_}\fi
\if:Option \else \:CheckOption{no^}\fi
\if:Option \else
\Configure{SUBSUP}
{\HCode{<sub>}}{\HCode{</sub><sup>}}{\HCode{</sup>}}
\fi
\Configure{left}
{\Picture+{ \a:@Picture{left}}}
{\aftergroup\EndPicture }
\Configure{mathchoice}{\PictureOff}{\PictureOn}
>>>
\verb'\endgraf' is safer than \verb'\par', because the latter may be redefined.
For instance, see p 262 in texbook.
\<configure html4-math tex4ht\><<<
\let\MathPar|=\empty
\Configure{PicDisplay}
{\edef\MathPar{\ifvmode par-\fi}\IgnorePar\endgraf\EndP
\HCode{<div class="\MathPar math-display" \a:LRdir >}}
{\HCode{</div>}\par\ShowPar} {} {class="\MathPar math-display" }
\Css{div.par-math-display, div.math-display{text-align:center;}}
>>>
% \Css{img.mathdisplay, div.displaymath, img.par-mathdisplay,
% div.par-displaymath { margin-top: 1em;
% margin-bottom: 1em; }}
% \Css{center img.mathdisplay, td img.mathdisplay,
% center img.par-mathdisplay,
% td img.par-mathdisplay { margin-top: 0;
% margin-bottom:0 ; }}
%
\<temp hcode accents\><<<
\HCode{&\expandafter \ifx\csname U#2#1\endcsname\relax
#2#1\else \#x\csname U#2#1\endcsname\fi;}%
>>>
\<xmlns\><<<
xmlns="
http://www.w3.org/1999/xhtml"
>>>
\subsection{TeX Engine}
The \verb'\trap:base' is to catch empty bases of exponents like, e.g.,
in \verb'$a^{^b}$'.
\<?\><<<
\def\MathRow#1{%
\Configure{\expandafter\:gobble\string#1*}{*}%
{<|.mrow\Hnewline
class="\expandafter\:gobble\string#1">}{</|.mrow>}%
{\Configure{\expandafter\:gobble\string#1}{}{}{}{}}#1}%
>>>
\<recall dvimath par\><<<
\sv:ignore
>>>
\<sv dvimath par\><<<
\edef\sv:ignore{\if:nopar
\noexpand\IgnorePar\else \noexpand\ShowPar\fi}%
>>>
The \verb'\MathRow' requests a \verb'<|.mrow\Hnewline>...</|.mrow>', instead of the contributions
of \verb'\mathop', \verb'\mathrel',...., for the next parameter.
\subsection{latex.ltx}
Definitions like \verb'\def\mathbf#1{\a:mathbf#1\b:mathbf}'
can't be done on a global level, because \verb'\mathbf' is just
a name of a font. So, for instance, \verb'\bf' expands to \verb'\mathbf',
and so \verb'$\bf R$' indirectly brings up the latter command.
\subsection{Palin + LaTeX}
The default \verb'\left' and \verb'\right' in their default definition
with tex produce multi-part delimiters, from cmex, on large
subformulas. Hence, the `'.' below is needed.
% \def\:tempa{\{}\ifx \:tempa\:DEL \let\:DEL\lbrc: \else
% \def\:tempa{\}}\ifx \:tempa\:DEL \let\:DEL\rbrc: \else
% \def\:tempa{<}\ifx \:tempa\:DEL \def\:DEL{\string<}\else
% \def\:tempa{>}\ifx \:tempa\:DEL \def\:DEL{\string>}%
% \fi\fi\fi\fi }
% \edef\lbrc:{\string{} \edef\rbrc:{\string}}
% \HCode{\string#1;}%
\section{Eqnarray}
Had `BASELINE' before `MIDDLE', but changed to conform with math
in page 252-- in intro to theory book.
\section{Big, BIG, ....}
The
\verb'\special{t4ht@[}...\special{t4ht@]}' gobble the enclosed stuff.
The external pair is provided as grouping mechanism for
sub/super-scripts cases like \verb'\bigl(...\bigr)^x' within dvimath
mode. The \verb'{\HCode{}}' is neded for creating content delimiters
\verb'.' delimiters like in \verb'$\bigl. a_b \bigr)$'; without that mathml
gets something wrong there.
\verb+\bigl{.}+ et al produce empty para,etr , hence the \verb+\:EMPTY+ is a ompensation for such cases.
\section{Exams}
\<configure html4 exam\><<<
\ifx \ps@examheadings\:unDef \else
|<Meers' exam|>
\fi
\ifx \@checkqueslevel\:unDef \else
|<Hirschhorns' exam|>
\fi
\ifx \@OneKeyHook\:unDef \else
|<Alexanders' exam|>
\fi
>>>
\<Hirschhorns' exam\><<<
\Configure{uplevel}
{\ifvmode \IgnorePar \fi \EndP \HCode{<div class="uplevel">}}
{\ifvmode \IgnorePar \fi \EndP \HCode{</div>}}
\Configure{fullwidth}
{\ifvmode \IgnorePar \fi \EndP \HCode{<div class="fullwidth">}}
{\ifvmode \IgnorePar \fi \EndP \HCode{</div>}}
\Css{dl .uplevel, .fullwidth{margin-left:-2.5em;}}
\Css{dl dl .fullwidth {margin-left:-5em;}}
\Css{dl dl dl .fullwidth {margin-left:-7.5em;}}
>>>
\<Hirschhorns' exam\><<<
\ConfigureEnv{questions}
{\ifvmode \IgnorePar \fi \EndP \HCode{<div class="questions">}}
{\ifvmode \IgnorePar \fi \EndP \HCode{</div>}}
{}{}
\ConfigureEnv{parts}
{\ifvmode \IgnorePar \fi \EndP \HCode{<div class="parts">}}
{\ifvmode \IgnorePar \fi \EndP \HCode{</div>}}
{}{}
\ConfigureEnv{subparts}
{\ifvmode \IgnorePar \fi \EndP \HCode{<div class="subparts">}}
{\ifvmode \IgnorePar \fi \EndP \HCode{</div>}}
{}{}
>>>
\<Hirschhorns' exam\><<<
\Configure{setpoints}
{\HCode{<span class="setpoints">}} {\HCode{</span>}}
>>>
\<Meers' exam\><<<
\ConfigureEnv{exam}
{\ifvmode \IgnorePar \fi \EndP \HCode{<div class="exam">}}
{\ifvmode \IgnorePar \fi \EndP \HCode{</div>}}
{}{}
\ConfigureEnv{problem}
{\ifvmode \IgnorePar \fi \EndP \HCode{<div class="problem">}}
{\ifvmode \IgnorePar \fi \EndP \HCode{</div>}}
{}{}
\Css{.problem{border-bottom: 1px solid black;}}
\Configure{scorebox}
{\ifvmode \IgnorePar \fi \EndP \HCode{<div class="scorebox">}
\bgroup\Configure{fbox}{\leavevmode}{}}
{\egroup\ifvmode \IgnorePar \fi \EndP \HCode{</div>}}
\Css{.scorebox{margin-left:90\%; border: 1px solid black;}}
>>>
\<Alexanders' exam\><<<
\Configure{sectiontitle}
{\ifvmode\IgnorePar\fi
\EndP \HCode{<h4 class="sectiontitle">}\IgnorePar}
{\ifvmode \IgnorePar \fi \EndP \HCode{</h4>}}
>>>
\<Alexanders' exam\><<<
\Configure{answer}
{\HCode{<span class="answer">}} {\HCode{</span>}}
\Css{.answer {text-decoration:underline;}}
\Configure{question}
{\HCode{<span class="question">}} {\HCode{</span>}}
>>>
\<Alexanders' exam\><<<
\Configure{instructions}
{\ifvmode \IgnorePar \fi \EndP \HCode{<div class="instructions">}}
{\IgnorePar\EndP \HCode{</div>}}
>>>
\<Alexanders' exam\><<<
\ConfigureEnv{examtop}
{\ifvmode \IgnorePar \fi \EndP \HCode{<table class="examtop"><tr><td>}}
{\ifvmode \IgnorePar \fi \EndP \HCode{</td></tr></table>}}
{}{}
\Configure{namedata}
{\ifvmode \IgnorePar \fi \EndP
\Configure{newline}{\HCode{</td><td\Hnewline
class="namedata-rule"><hr /></td></tr><tr><td>}}%
\HCode{</td><td><div class="namedata"><table><tr><td>}}
{\ifvmode \IgnorePar \fi \EndP
\HCode{</td><td
class="namedata-rule"><hr /></td></tr></table></div>}}
\Css{td.namedata-rule {width:10em; vertical-align:bottom; }}
\Css{div.namedata{text-align:right;}}
\Configure{classdata}
{\ifvmode \IgnorePar \fi \EndP \HCode{<h3 class="classdata">}}
{\ifvmode \IgnorePar \fi \EndP \HCode{</h3>}}
>>>
\<Alexanders' exam\><<<
\ConfigureEnv{keytop}
{\ifvmode \IgnorePar \fi \EndP \HCode{<div class="keytop">}}
{\ifvmode \IgnorePar \fi \EndP \HCode{</div>}}
{}{}
>>>
\<Alexanders' exam\><<<
\Configure{frontmatter}
{\ifvmode \IgnorePar \fi \EndP \HCode{<div class="frontmatter">}}
{\ifvmode \IgnorePar \fi \EndP \HCode{</div>}}
>>>
%%%%%%%%%%%%%%%%%%
\section{Gloss}
%%%%%%%%%%%%%%%%%%
\<configure html4 gloss\><<<
|<2002 gloss|>
\ConfigureList{glosslist}{}{}{}{}
\Css{dl.glosslist {margin-left:2em;}}
>>>
\<2002 gloss\><<<
\:CheckOption{mouseover} \if:Option
|<onmouseover gloss|>
|<onmouseover gloss list|>
\else
\Configure{gloss} {\Link} {\EndLink}
|<default gloss list|>
\fi
>>>
\<default gloss list\><<<
\Configure{glosslist}%
{\IgnorePar\EndP
\HCode{<dl \a:LRdir class="glosslist">}\global\let\end:glitm=\empty}
{\IgnorePar\EndP\HCode{</dd></dl>}\ShowPar}
{\end:glitm\gdef\end:glitm{\EndP\Tg</dd>}\HCode{<dt
class="glosslist">}%
}
{\HCode{</dt><dd\Hnewline class="glosslist">}}
>>>
\<onmouseover gloss list\><<<
\Configure{glosslist}%
{\IgnorePar\EndP
|<start js|>%
\HCode{<dl \a:LRdir class="glosslist">}\global\let\end:glitm=\empty}
{\IgnorePar\EndP |<js Until gl|>%
\HCode{</dd></dl>}\ShowPar}
{\end:glitm
\gdef\end:glitm{\EndP |<js Until gl|>\Tg</dd>}%
\HCode{<dt class="glosslist">}%
}
{\HCode{</dt><dd\Hnewline class="glosslist">}%
|<js From gl|>%
}
\Configure{GlossAnchor} {\g:Link} {\EndLink}
\def\g:Link#1#2{\edef\mog:anchor{#2}\Link{}{#2}}
>>>
\<js From gl\><<<
\HCode{<!--}
\ht:special {t4ht@DCopyTo: \jobname-js.tex From gl }%
\HCode{<gloss>}
\HCode{\expandafter\jsHash
\expandafter{\mog:anchor}=<div class="js">}%
\ht:special {t4ht@DCopyTo: \jobname-js.tex Skip gl }%
\HCode{-->}
\ht:special {t4ht@DCopyTo: \jobname-js.tex Cont gl }%
>>>
\<js Until gl\><<<
\ht:special {t4ht@DCopyTo: \jobname-js.tex Skip gl }%
\HCode{<!--}
\ht:special {t4ht@DCopyTo: \jobname-js.tex Cont gl }%
\HCode{</div></gloss>}
\ht:special {t4ht@DCopyTo: \jobname-js.tex Skip gl }%
\HCode{-->}
\ht:special {t4ht@DCopyTo: \jobname-js.tex Cont gl }%
\ht:special {t4ht@DCopyTo: \jobname-js.tex Until gl }%
>>>
\<onmouseover gloss\><<<
\Configure{gloss}
{\HCode{<span class="gloss">}%
|<start js|>%
|<mouseover-gloss arguments|>%
\expandafter\Link\expandafter[\:temp]}
{\EndLink \HCode{</span>}}
\expandafter\def\csname c:mouseover-gloss:\endcsname{%
\def\:tempb{gloss}\csname c:mouseover-?:\endcsname}
\Configure{mouseover-gloss}{tex4ht.body,FULLHTML}
>>>
\<mouseover-gloss arguments\><<<
\edef\:temp{\noexpand\mo:args
{gloss}%
{\gls@name ::\gls@b}%
{\noexpand\jsHash {\gls@name ::\gls@b}}}%
>>>
\<pre 2002 gloss\><<<
\Configure{gloss} {\Link{\gls@b}{}} {\EndLink}
\Configure{glosslist}%
{\IgnorePar\EndP
\HCode{<dl \a:LRdir class="glosslist">}\global\let\end:glitm=\empty}
{\IgnorePar\EndP\HCode{</dd></dl>}\ShowPar}
{\end:glitm\gdef\end:glitm{\EndP\Tg</dd>}\HCode{<dt
class="glosslist">}\Link{}{\GlossLabel}\EndLink }
{\HCode{</dt><dd\Hnewline class="glosslist">}}
>>>
%%%%%%%%%%%%%%%%%%
\section{Etc}
%%%%%%%%%%%%%%%%%%
\<configure html4 rotating\><<<
\ConfigureEnv{turn}
{\Picture+{}} {\EndPicture}
{}{}
>>>
\<configure html4 manju\><<<
\Configure{@TITLE}{\let\@title=\empty}
>>>
\<configure html4 mls\><<<
\Configure{@TITLE}{\let\@title=\empty}
>>>
\<configure html4 ulem\><<<
\Configure{uline}
{\HCode{<span class="uline">}\NoFonts} {\EndNoFonts\HCode{</span>}}
\Configure{uline-math}
{\HCode{<span class="uline-math">}\NoFonts} {\EndNoFonts\HCode{</span>}}
\Css{.uline,.uline-math{ text-decoration:underline; }}
\Configure{uuline}
{\HCode{<span class="uuline">}\NoFonts} {\EndNoFonts\HCode{</span>}}
\Configure{uuline-math}
{\HCode{<span class="uuline-math">}\NoFonts} {\EndNoFonts\HCode{</span>}}
\Css{.uuline,.uuline-math{ text-decoration:underline double; }}
\Configure{sout}
{\HCode{<span class="sout">}\NoFonts} {\EndNoFonts\HCode{</span>}}
\Configure{sout-math}
{\HCode{<span class="sout-math">}\NoFonts} {\EndNoFonts\HCode{</span>}}
\Css{span.sout, .sout-math {text-decoration: line-through }}
\Configure{xout}
{\HCode{<span class="xout">}\NoFonts}
{\EndNoFonts\HCode{</span>}}
\Configure{xout-math}
{\HCode{<span class="xout-math">}\NoFonts}
{\EndNoFonts\HCode{</span>}}
\Css{span.xout, .xout-math {text-decoration: line-through underline }}
\Configure{uwave}
{\HCode{<span class="uwave">}\NoFonts}
{\EndNoFonts\HCode{</span>}}
\Configure{uwave-math}
{\HCode{<span class="uwave-math">}\NoFonts}
{\EndNoFonts\HCode{</span>}}
\Css{span.uwave, .uwave-math {text-decoration:underline wavy; }}
\Configure{dashuline}
{\HCode{<span class="dashuline">}\NoFonts}
{\EndNoFonts\HCode{</span>}}
\Configure{dashuline-math}
{\HCode{<span class="dashuline-math">}\NoFonts}
{\EndNoFonts\HCode{</span>}}
\Css{span.dashuline, .dashuline-math {text-decoration:underline dashed;}}
\Configure{dotuline}
{\HCode{<span class="dotuline-math">}\NoFonts}
{\EndNoFonts\HCode{</span>}}
\Configure{dotuline-math}
{\HCode{<span class="dotuline-math">}\NoFonts}
{\EndNoFonts\HCode{</span>}}
\Css{span.dotuline, .dotuline-math {text-decoration:underline dotted;}}
>>>
\<configure html4 cancel\><<<
\Configure{cancel}{\HCode{<span class="cancel">}}{\HCode{</span>}}
\Css{.cancel{background: linear-gradient(to left top, transparent 47.75\%, currentColor 49.5\%, currentColor 50.5\%, transparent 52.25\%);}}
\Configure{bcancel}{\HCode{<span class="bcancel">}}{\HCode{</span>}}
\Css{.bcancel{background: linear-gradient(to bottom left, transparent 47.75\%, currentColor 49.5\%, currentColor 50.5\%, transparent 52.25\%);}}
\Configure{xcancel}{\HCode{<span class="xcancel">}}{\HCode{</span>}}
\Css{.xcancel{background: linear-gradient(to bottom left, transparent 47.75\%, currentColor 49.5\%, currentColor 50.5\%, transparent 52.25\%), linear-gradient(to left top, transparent 47.75\%, currentColor 49.5\%, currentColor 50.5\%, transparent 52.25\%);}}
>>>
\<configure html4-math cancel\><<<
\Configure{cancel-math}{\HCode{<span class="cancel">}}{\HCode{</span>}}
\Configure{bcancel-math}{\HCode{<span class="bcancel">}}{\HCode{</span>}}
\Configure{xcancel-math}{\HCode{<span class="xcancel">}}{\HCode{</span>}}
% It doesn't produce arrow unfortunatelly, maybe we could use SVG
\Configure{cancelto}{\HCode{<span class="cancel">}}{\HCode{</span><sup>}}{\HCode{</sup>}}
>>>
\<configure html4 go\><<<
\Configure{showdiagram}
{\Picture*[go]{}} {\EndPicture}
>>>
\<configure html4 pifont\><<<
\ConfigureList{dingautolist}
{\EndP\HCode{<dl \a:LRdir class="dingautolist\expandafter\the
\csname @listdepth\endcsname">}%
|<save end:itm|>\global\let\end:itm=\empty}
{|<recall end:itm|>\EndP\HCode{</dd></dl>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
class="dingautolist">}}
{\HCode{</dt><dd\Hnewline class="dingautolist">}}
\ConfigureList{Piautolist}
{\EndP\HCode{<dl \a:LRdir class="Piautolist\expandafter\the
\csname @listdepth\endcsname">}%
|<save end:itm|>\global\let\end:itm=\empty}
{|<recall end:itm|>\EndP\HCode{</dd></dl>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
class="Piautolist">}}
{\HCode{</dt><dd\Hnewline class="Piautolist">}}
\ConfigureList{Pilist}
{\EndP\HCode{<dl \a:LRdir class="Pilist\expandafter\the
\csname @listdepth\endcsname">}%
|<save end:itm|>\global\let\end:itm=\empty}
{|<recall end:itm|>\EndP\HCode{</dd></dl>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
class="Pilist">}}
{\HCode{</dt><dd\Hnewline class="Pilist">}}
>>>
\<configure html4 paralist\><<<
\ConfigureList{asparaitem}%
{\EndP\HCode{<div class="asparaitem">}\ShowPar\ShowIndent}
{\EndP\HCode{</div>}\ShowPar}
{\par\ShowPar{\parindent=10pt\leavevmode}}
{}
\ConfigureList{asparaenum}%
{\EndP\HCode{<div class="asparaenum">}\ShowPar\ShowIndent}
{\EndP\HCode{</div>}\ShowPar}
{\par\ShowPar{\parindent=10pt\leavevmode}}
{}
\ConfigureList{asparadesc}%
{\EndP\HCode{<div class="asparadesc">}\ShowPar\ShowIndent}
{\EndP\HCode{</div>}\ShowPar}
{\par\ShowPar{\parindent=10pt\leavevmode}}
{}
\ConfigureList{compactenum}%
{\EndP\HCode{<dl \a:LRdir class="compactenum">}%
|<save end:itm|>\global\let\end:itm=\empty}
{|<recall end:itm|>\EndP\HCode{</dd></dl>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
class="compactenum">}\bgroup \bf}
{\egroup\EndP\HCode{</dt><dd\Hnewline class="compactenum">}}
\ConfigureList{compactdesc}%
{\EndP\HCode{<dl \a:LRdir class="compactdesc">}%
|<save end:itm|>\global\let\end:itm=\empty}
{|<recall end:itm|>\EndP\HCode{</dd></dl>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
class="compactdesc">}\bgroup \bf}
{\egroup\EndP\HCode{</dt><dd\Hnewline class="compactdesc">}}
\ConfigureList{compactitem}%
{\EndP\HCode{<ul>}%
|<save end:itm|>\global\let\end:itm=\empty}
{|<recall end:itm|>\EndP\HCode{</li></ul>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</li>}\DeleteMark}
{\HCode{<li class="compactitem">}}
\ConfigureEnv{enumerate}
{}{|<try env inline par|>}{}{}
\expandafter\ifx \csname if@plmylabel\endcsname\relax
|<pre 2002 paralist|>
\else
|<paralist 2002|>
\fi
\Css{dt.enumerate{float:left;
clear:left; margin-right:0.2em; margin-left:2em;}}
\Css{dt.compactenum{float:left;
clear:left; margin-right:0.2em; margin-left:2em;}}
>>>
\<pre 2002 paralist\><<<
\ConfigureList{enumerate}%
{\if@plalwaysadjust
\EndP \HCode{<dl \a:LRdir class="enumerate">}%
|<save end:itm|>\global\let\end:itm=\empty
\def\para:enumII{|<recall end:itm|>\EndP
\HCode{</dd></dl>}\ShowPar}%
\def\para:enumIII{\end:itm \global
\def\end:itm{\EndP
\Tg</dd>}\HCode{<dt class="enumerate">}}%
\def\para:enumIV{\EndP
\HCode{</dt><dd\Hnewline class="enumerate">}}%
\else
|<enumerate I|>%
\def\para:enumII{|<enumerate II|>}%
\def\para:enumIII{|<enumerate III|>}%
\def\para:enumIV{|<enumerate IV|>}%
\fi
}
{\para:enumII} {\para:enumIII} {\para:enumIV}
>>>
\<paralist 2002\><<<
\:CheckOption{enumerate-} \if:Option
\ConfigureList{enumerate}%
{\if@plnewenum
\EndP \HCode{<dl \a:LRdir class="enumerate">}%
|<save end:itm|>\global\let\end:itm=\empty
\def\para:enumII{|<recall end:itm|>\EndP
\HCode{</dd></dl>}\ShowPar}%
\def\para:enumIII{\end:itm \global
\def\end:itm{\EndP
\Tg</dd>}\HCode{<dt class="enumerate">}}%
\def\para:enumIV{\EndP
\HCode{</dt><dd\Hnewline class="enumerate">}}%
\else
|<enumerate I|>%
\def\para:enumII{|<enumerate II|>}%
\def\para:enumIII{|<enumerate III|>}%
\def\para:enumIV{|<enumerate IV|>}%
\fi
}
{\para:enumII} {\para:enumIII} {\para:enumIV}
\else
\ConfigureList{enumerate}%
{\if@plnewenum
\EndP \HCode{<dl \a:LRdir class="enumerate">}%
|<save end:itm|>\global\let\end:itm=\empty
\def\para:enumII{|<recall end:itm|>\EndP
\HCode{</dd></dl>}\ShowPar}%
\def\para:enumIII{\end:itm \global
\def\end:itm{\EndP
\Tg</dd>}\HCode{<dt class="enumerate">}}%
\def\para:enumIV{\EndP
\HCode{</dt><dd\Hnewline class="enumerate">}}%
\else
|<enumerate I|>%
\def\para:enumII{|<enumerate II|>}%
\def\para:enumIII{|<enumerate III|>}%
\def\para:enumIV{|<enumerate IV-|>}%
\fi
}
{\para:enumII} {\para:enumIII} {\para:enumIV}
\fi
>>>
\<configure html4 alphanum\><<<
\def\:tempc#1#2#3#4{%
\ConfigureMark{toclvl#1}
{\HCode{<span class="titlemark">}\csname thelvl#1\endcsname
\HCode{</span>}}%
\Configure{toclvl#1}
{}{}
{\ifvmode \IgnorePar\fi \EndP\IgnorePar
\HCode{<#4 class="toclvl#1Head"\a:LRdir>}\TitleMark\space\HtmlParOff}
{\HCode{</#4>}\HtmlParOn \IgnoreIndent \par}%
\ConfigureToc{toclvl#1}
{|<alphanum toc spaces|>\def\:temp{\J@INumberRoot{#2}{\tmp:cnt}}%
\afterassignment\:temp \tmp:cnt}
{#3 \HCode{<span class="toclvl#1">}}{}
{\HCode{</span><br />}}%
\ConfigureToc{liketoclvl#1}
{} {|<alphanum toc spaces|>\HCode{<span class="liketoclvl#1">}}{}
{\HCode{</span><br />}}%
}
\:tempc a1{.}{h3}
\:tempc b2{.}{h4}
\:tempc c3{.}{h5}
\:tempc d4{)}{h5}
\:tempc e5{)}{h5}
\:tempc f6{)}{h5}
\:tempc g7{)}{h5}
\:tempc h8{)}{h5}
\:tempc i9{)}{h5}
\:tempc j{10}{)}{h5}
\:tempc k{11}{)}{h5}
\:tempc l{12}{)}{h5}
>>>
\<alphanum toc spaces\><<<
\tmp:cnt=0 \loop \advance\tmp:cnt by 1
\ifnum \tmp:cnt<#2 ~~\repeat
>>>
\<\><<<
\ConfigureMark{toc}
{\HCode{<span class="titlemark">}\csname thelvl\alph{tiefe}\endcsname
\HCode{</span>}}
\Configure{toc}
{}{}
{\ifvmode \IgnorePar\fi \EndP\IgnorePar
\HCode{<h5 class="tocHead"\a:LRdir>}\TitleMark\space\HtmlParOff}
{\HCode{</h5>}\HtmlParOn \IgnoreIndent \par}
>>>
\<configure html4 alphanum\><<<
\bgroup
\let\ifx=\relax
\let\:temp=\relax
\let\:tempa=\expandafter
\let\expandafter=\relax
\let\:TableOfContents=\relax
\let\else=\relax
\let\if=\relax
\let\fi=\relax
\def\Auto:ent#1{\noexpand\Auto:ent{#1,toclvla,liketoclvla,toclvlb,%
liketoclvlb,toclvlc,liketoclvlc,toclvld,liketoclvld,toclvle,%
liketoclvle,toclvlf,liketoclvlf,toclvlg,liketoclvlg,toclvlh,%
liketoclvlh,toclvli,liketoclvli,toclvlj,%
liketoclvlj,toclvlk,liketoclvlk,toclvll,liketoclvll}}
\edef\:TOC{\def\noexpand\:TOC{\:TOC}}
\:tempa
\egroup \:TOC
>>>
We can't use styles from .htf files with fontspec, so we must add meaning to
font commands
\<configure html4 fontspec\><<<
\Configure{textit}{\HCode{<i>}\NoFonts}{\EndNoFonts\Tg</i>}
\Configure{textbf}{\HCode{<strong>}\NoFonts}{\EndNoFonts\Tg</strong>}
\Configure{textsc}{\HCode{<span class="small-caps">}\NoFonts}{\EndNoFonts\Tg</span>}
\Css{.small-caps{font-variant: small-caps;}}
>>>
\<configure html4 polyglossia\><<<
\Configure{PolyglossiaRtl}{\Configure{LRdir}{}}{\Configure{LRdir}{ dir="rtl"}}
>>>
\<configure html4 accessibility\><<<
\Configure{accessibilityalt}{\HCode{<span aria-role="note">}}{\HCode{</span>}}
>>>
\<configure html4 animate\><<<
\Configure{animinline}{\Picture+{}}{\EndPicture}
\ConfigureEnv{animateinline}{%
\ifvmode\IgnorePar\fi\EndP\HCode{<div class="animateinline">}%
}{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}}{}{}
>>>
\<configure html4 sectionbreak\><<<
\Configure{sectionbreak}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="sectionbreak">}}{\HCode{</div>}}
\Css{div.sectionbreak{
margin-top:3rem;
margin-bottom:3rem;
text-align:center;
}}
% use the asterism HTML entity
\Configure{asterism}{\ht:special{t4ht@+&{35}x2042;}x}
>>>
\<configure html4 booktabs\><<<
|<booktabs default hline color|>
\Configure{toprule}
{|<booktabs rule mag|>%
\Css{tr\#TBL-\TableNo-\ifnum \HRow=0
1- {border-top:|<booktabs rule height|> solid \#\hline:color;}
\else
\HRow- {border-bottom:|<booktabs rule height|> solid \#\hline:color;}
\fi
}}
\Configure{bottomrule}
{|<booktabs rule mag|>%
\Css{tr\#TBL-\TableNo-\HRow-
{border-bottom:|<booktabs rule height|> solid \#\hline:color}}}
\Configure{midrule}
{|<booktabs rule mag|>%
\Css{tr\#TBL-\TableNo-\HRow-
{border-bottom:|<booktabs rule height|> solid \#\hline:color}}}
\Configure{cmidrule}
{|<booktabs rule mag|>%
\Css{td\#TBL-\TableNo-\HRow-\HCol{border-bottom:|<booktabs rule height|> solid \#\hline:color}}%
\HCode{<span class="cmidrule"><!-- enable post-processing of cmidrule--></span>}}
>>>
The \verb|\hline:color| macro is defined by TeX4ht configuration for colortbl.sty.
We reuse it to support change of rule colors. It is initialized as black.
\<booktabs default hline color\><<<
\ifdefined\hline:color\else
\def\hline:color{000}
\fi
>>>
The cmidrule introduces ruler segments at different rows, instead of all of
them in the same row.
\<booktabs rule height\><<<
\expandafter\x:Em \the\@thisrulewidth em
>>>
\<booktabs rule mag\><<<
\@thisrulewidth=\csname a:rule-mag\endcsname\@thisrulewidth
>>>
\<configure html4 booktabs\><<<
\NewConfigure{rule-mag}{1}
\Configure{rule-mag}{0.14}
{
\def\x:Em{%
\catcode`\p=12
\catcode`\t=12
\gdef\x:Em}
\x:Em#1pt{#1}
}
>>>
%%%%%%%%%%%%%%%%%%
\section{Endnotes.sty}
%%%%%%%%%%%%%%%%%%
\<configure html4 endnotes\><<<
\Configure{makeenmark}
{\Link{ennote-\endnoteN}{enmark-\endnoteN}} {\EndLink}
\Configure{enoteformat}
{\Link{enmark-\endnoteN}{ennote-\endnoteN}} {\EndLink\AnchorLabel}
>>>
%%%%%%%%%%%%%%%%%
\section{appendix}
\<configure html4 appendix\><<<
\ConfigureEnv{appendices}{\ifvmode\IgnorePar\fi\EndP\HCode{<div class="appendices">}}{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}}{}{}
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Shared}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\<par del\><<<
!*?: >>>
\<tag of Tag\><<<
cw:>>>
\<tail\><<<
tail>>>
\<addr for Tag and Ref of Sec\><<<
\xdef\:cursec{|<section html addr|>}%
>>>
\OutputCode[4ht]\<exerqz\>
\OutputCodE\<onmouseover.4ht\>
\endinput