这是我的 MWE:
\documentclass[]{book}
\input{tex4ht.sty}
\Preamble{xhtml}
\Configure{subsection}{\HCode{<i>}}
{\HCode{</i>}}
{\HCode{<b>}}
{\HCode{</b>}}
\begin{document}
\EndPreamble
\subsection{One}
This is one
\subsection{Two}
This is two
\end{document}
换句话说,整个小节应该用<i>
标签包裹,标题也应该用<b>
标签包裹。
编译后会在标签ht latex test.tex
之间产生以下内容<body>
:
<!--l. 10--><p class="indent" > <i><b><a
id="x1-10000.0.1"></a>One</b> This is one
</p>
<!--l. 12--><p class="indent" > </i><i><b><a
id="x1-20000.0.2"></a>Two</b> This is two </i></p>
请注意,之后<!--l. 12-->
,<p class="indent" >
开始一个新的小节前上一小节以标签结束</i>
。在我的实际示例中,这是一个</idx:entry>
标签,不正确的嵌套会引发错误。
也许有一种明确的方法来结束该小节,以便在开始新的小节</i>
之前刷新标签?<p>
谢谢你的帮助!
答案1
您可以<p>
使用一些tex4ht
内部命令来处理。在这种情况下,您需要:
- 关闭章节开始前的所有段落
<i>
- 抑制
<p>
内部标题 - 在页眉后开始新的不缩进段落
- 在章节结束之前关闭段落
</i>
因此您可以使用这个配置:
\Preamble{xhtml}
\Configure{subsection}{\EndP\IgnorePar\HCode{<i>}}
{\EndP\IgnorePar\HCode{</i>}}
{\HCode{<b>}}
{\HCode{</b>}\par\IgnoreIndent\ShowPar}
\begin{document}
\EndPreamble
\EndP
关闭所有<p>
元素,\IgnorePar
将抑制在页眉内插入段落,页眉结束后,我们需要明确以 结束段落\par
,\IgnoreIndent
要求下一个段落没有缩进并\ShowPar
显示开始<p>
标签:
<i><b><a
id="x1-10000.0.1"></a>One</b>
<!--l. 4--><p class="noindent" >This is one
</p>
</i><i><b><a
id="x1-20000.0.2"></a>Two</b>
<!--l. 6--><p class="noindent" >This is two
</p><!--l. 8--><p class="indent" > Hello world
</p><!--l. 10--><p class="indent" > another paragraph
</p>
</i><i><b><a
id="x1-30000.0.3"></a>Three</b>
<!--l. 13--><p class="noindent" >This is three
</p><!--l. 15--><p class="indent" > Hello, hello
</p>
</i>