htlatex mengabaikan nilai dalam tanda kurung di pernyataan item saat menggunakan itemize

Dec 14 2020

Di Latex saya memiliki pernyataan berikut:

\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 menghasilkan keluaran yang benar berikut ini:

htlatex (keluaran HTML) menghasilkan peluru alih-alih nilai yang ditentukan dalam tanda kurung pernyataan item:

Apakah ada yang punya ide bagaimana saya bisa mendapatkan output yang sama di html seperti yang ditunjukkan di PDF?

Jawaban

1 michal.h21 Dec 14 2020 at 20:35

TeX4ht menghapus label item untuk enumeratedan itemizesecara default karena HTML tidak mendukung label kustom dalam elemen yang digunakan untuk menampilkan daftar secara default.

Ini adalah konfigurasi default untuk itemizelingkungan:

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

Ini agak padat, tetapi yang penting adalah ini:

   {\end:itm \global\def\end:itm{\EndP\Tg</li>}\DeleteMark}

The \DeleteMarkperintah menghapus label, sehingga kami dapat menghapusnya jika kita ingin menyimpan label. Kami juga perlu membuat elemen yang berbeda dari <ul>dan <li>, karena tidak mendukung label khusus. Sebagai gantinya, kita dapat menggunakan <div>elemen biasa dan beberapa CSS untuk rendering yang benar.

File konfigurasi ini, mycfg.cfgberisi versi modifikasi dari perintah ini dengan tag HTML berbeda dan CSS yang sesuai:

\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

Kompilasi menggunakan

make4ht -c myconfig.cfg filename.tex

Ini adalah dokumen HTML yang dirender: