आइटम का उपयोग करते समय आइटम स्टेटमेंट में htlatex कोष्ठक में मूल्य की उपेक्षा करता है

Dec 14 2020

लेटेक्स में मेरे पास निम्नलिखित कथन हैं:

\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 निम्नलिखित सही उत्पादन का उत्पादन करता है:

htlatex (HTML आउटपुट) आइटम स्टेटमेंट के कोष्ठक में परिभाषित मूल्यों के बजाय बुलेट उत्पन्न करता है:

क्या किसी को इस बात का अंदाजा है कि मैं HTML में कैसे आउटपुट प्राप्त कर सकता हूं जैसा कि पीडीएफ में दिखाया गया है?

जवाब

1 michal.h21 Dec 14 2020 at 20:35

TeX4ht के लिए आइटम लेबल को हटा enumerateऔर itemizeडिफ़ॉल्ट रूप से, क्योंकि HTML तत्वों कि डिफ़ॉल्ट रूप से प्रदर्शन सूचियों के लिए उपयोग किया जाता है में कस्टम लेबल का समर्थन नहीं करता।

यह itemizeपर्यावरण के लिए डिफ़ॉल्ट कॉन्फ़िगरेशन है:

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

यह थोड़ा घना है, लेकिन महत्वपूर्ण हिस्सा यह है:

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

\DeleteMarkआदेश लेबल निकाल दिया जाता है, तो हम इसे हटा सकते हैं अगर हम लेबल रखना चाहते हैं। हम यह भी की तुलना में विभिन्न तत्वों का उत्पादन करने की आवश्यकता है <ul>और <li>के रूप में वे कस्टम लेबल का समर्थन नहीं करते। इसके बजाय, हम <div>सही प्रतिपादन के लिए सिर्फ सादे तत्वों और कुछ CSS का उपयोग कर सकते हैं ।

इस कॉन्फ़िगरेशन फ़ाइल mycfg.cfgमें विभिन्न HTML टैग्स और संबंधित CSS के साथ इस कमांड का संशोधित संस्करण है:

\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

संकलन का उपयोग करें

make4ht -c myconfig.cfg filename.tex

यह प्रदान किया गया HTML दस्तावेज़ है: