转换文档时htlatex
,强调和粗体将转换为随附 CSS 文件中定义的特定样式的跨度。
输入:
\documentclass{scrartcl}
\begin{document}
Normal text
\em{Emphasized text}
\textbf{Bold-faced text}
\end{document}
输出(删除页眉和页脚):
<!--l. 4--><p class="noindent" >Normal text
<!--l. 6--><p class="indent" > <span
class="cmti-10x-x-109">Emphasized text</span>
<!--l. 8--><p class="indent" > <span
class="cmbxti-10x-x-109">Bold-faced text </span>
是否可以生成不使用外部 CSS 文件的“纯” HTML?类似这样的内容:
<!--l. 4--><p class="noindent" >Normal text
<!--l. 6--><p class="indent" > <em>Emphasized text</em>
<!--l. 8--><p class="indent" > <b>Bold-faced text </b>
这是用于将引用粘贴到另一个已经有 CSS 的网站。
答案1
你必须做两件事:
您可以禁用 css 和丑陋元素的生成,例如
<span
class="cmti-10x-x-109">Emphasized text</span>
使用一些命令行选项:
htlatex filename "xhtml,NoFonts,-css"
然后,您必须提供em
和的配置textit
,因为它们默认仅由 css 处理。
这应该通过自定义配置文件来完成,例如myfonts.cfg
\Preamble{xhtml}
\Configure{emph}{\ifvmode\ShowPar\fi\HCode{<em>}}{\HCode{</em>}}
\Configure{textbf}{\ifvmode\ShowPar\fi\HCode{<b>}}{\HCode{</b>}}
\begin{document}
\EndPreamble
现在你的 htlatex 调用将是
htlatex filename "myfonts,-css,NoFonts"
生成的 HTML
<body
>
<!--l. 4--><p class="noindent" >Normal text
</p><!--l. 6--><p class="indent" > <em>Emphasized text</em>
</p><!--l. 8--><p class="indent" > <b>Bold-faced text</b> </p>
</body></html>
所有命令行选项tex4ht
均在本文。还有其他关于此系统配置的有趣的文章。
为了摆脱<p class="indent">
,您可以将以下内容放入配置文件中:
\Configure{HtmlPar}
{\EndP\Tg<p>}
{\EndP\Tg<p>}
{\HCode{</p>\Hnewline}}
{\HCode{</p>\Hnewline}}
答案2
您可以使用
htlatex myfile.tex "html,css-in"
这会将 css 嵌入到 html 文件中。
请注意,您可能需要执行该命令两次,因为“css-in”选项使用了上一次调用中生成的.css 文件。