<..html TeX4ht lists..>
\def\List#1{\begingroup {\hfil\break\IgnorePar}%
\HAssign\ListCounter=0
<.set html list type.>%
<.lbls for items.>%
}
-_-_-
<..set html list type..>
\let\:temp=\empty \def\:tempA{#1}%
\def\:tempB{ord}%
\ifx\:tempA\:tempB \else \let\:temp=\:tempA \def\:tempB{1}\fi
\ifx\:tempA\:tempB \else \def\:tempB{a}\fi
\ifx\:tempA\:tempB \else \def\:tempB{A}\fi
\ifx\:tempA\:tempB \else \def\:tempB{i}\fi
\ifx\:tempA\:tempB \else \def\:tempB{I}\fi
\let\item=\:LIitem
\ifx \:tempA\:tempB <.enumerated list.>%
\let\a:List=\c:OList
\else \def\:tempB{}%
\ifx \:tempA\:tempB <.def list.>%
\else \def\:tempB{button}%
\ifx \:tempA\:tempB <.button list.>%
\else <.marked list.>%
\let\a:List=\c:UList
\fi\fi\fi
-_-_-
<..enumerated list..>
{\a:OList}%
\def\EndList{\b:OList\endgroup }%
-_-_-
The ‘hbox’ is for preserving vr mode. The grouping is for preserving ‘ignorepar’.
<..marked list..>
\a:UList \def\EndList{\b:UList\endgroup }%
-_-_-
<..html TeX4ht lists..>+
\NewConfigure{OList}{3}
\NewConfigure{UList}{3}
\NewConfigure{DList}{4}
-_-_-
<..html TeX4ht lists..>+
\let\:UL:=\empty
\def\:LIitem{%
{\parindent=0pt\leavevmode}\:noparfalse \ht:everypar{\Li:Par}%
\Advance:\ListCounter by 1 \a:List
}
-_-_-
<..def list..>
\a:DList \let\item=\:DLitem \let\End:dd=\empty
\def\EndList{\b:DList\endgroup }%
-_-_-
Lynx doesn’t like ‘\leavemode’ alone because vertical mode produces ‘<DD><DT>’ and the empty body of ‘<DD>’ is not handled nicely there. Hence, the ‘{\ht:everypar{\HCode{<P>}}\leavevmode}’.
<..html TeX4ht lists..>+
\def\:DLitem#1{%
\Advance:\ListCounter by 1
\c:DList #1\d:DList \ht:everypar{\Li:Par}%
}
-_-_-
<..set html list type..>+
\let\Li:Par=\:ListParSkip
\ht:everypar{\if:nopar \else \HtmlPar\fi}%
-_-_-