htlatex ignora el valor entre corchetes en la declaración del elemento cuando se usa itemize
En Latex tengo las siguientes declaraciones:
\begin{itemize}
\item[P)] Lorem ipsum dolor sit amet
\item[E)] Pellentesque interdum eros in erat
\item[Q)] Vestibulum ante ipsum primis
\end{itemize}
pdflatex produce la siguiente salida correcta:

htlatex (salida HTML) genera viñetas en lugar de los valores definidos en los corchetes de la declaración del elemento:

¿Alguien tiene una idea de cómo puedo obtener el mismo resultado en html que se muestra en PDF?
Respuestas
TeX4ht elimina etiquetas de elementos para enumerate
y itemize
por defecto porque HTML no admite etiquetas personalizadas en los elementos que se utilizan para las listas de visualización por defecto.
Esta es la configuración predeterminada para el itemize
entorno:
\ConfigureList{itemize}%
{\EndP\HCode{<ul \a:LRdir
class="\getClass{itemize}itemize\expandafter\the
\csname @itemdepth\endcsname">}%
\afterGetClass{itemize}%
\PushMacro\end:itm
\global\let\end:itm=\empty}
{\PopMacro\end:itm \global\let\end:itm \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}}
Es un poco denso, pero la parte importante es esta:
{\end:itm \global\def\end:itm{\EndP\Tg</li>}\DeleteMark}
El \DeleteMark
comando elimina la etiqueta, por lo que podemos eliminarla si queremos mantener la etiqueta. También necesitamos producir elementos diferentes a <ul>
y <li>
, ya que no admiten etiquetas personalizadas. En su lugar, podemos usar solo <div>
elementos simples y algo de CSS para una representación correcta.
Este archivo de configuración mycfg.cfg
contiene una versión modificada de este comando con diferentes etiquetas HTML y CSS correspondiente:
\Preamble{xhtml}
\catcode`\:=11
\ConfigureList{itemize}%
{\EndP\HCode{<div \a:LRdir
class="custom-itemize"><div class="item-head">}%
\PushMacro\end:itm \global\let\end:itm=\empty}
{\PopMacro\end:itm \global\let\end:itm \end:itm
\ifvmode \IgnorePar\fi
\EndP\HCode{</div></div>}\ShowPar}
{\end:itm \global\def\end:itm{\EndP\Tg</div>\Tg<div class="item-head">}}
{\HCode{</div><div class="item-content">}}
\Css{.item-head{float:left;width:2em;clear:left;}}
\Css{.item-content{margin-left:2em;}}
\catcode`\:=12
\begin{document}
\EndPreamble
Compilar usando
make4ht -c myconfig.cfg filename.tex
Este es el documento HTML renderizado:
