使用 tex4ht 时,会获得格式化的 html 文件。它使用 css 文件和多个类,例如
<span class="ec-lmbx-10x-x-109">toto</span>
但是,当使用内容管理系统 (CMS)(例如 Joomla)时,不需要这样的格式化类,因为所有格式化都由 CMS 处理。最好使用干净的 html 文件,其中包含 html 标签(例如 < H3>、< H4> 等),但不要为每个标签设置格式化类。
使用 tex4ht 是否能获得这样一个干净的 html 文件,其中没有格式化类,只有格式化的 html 标签?
答案1
编辑:如何产生tex4ht
尽可能干净的输出在另一篇文章中描述回答。这个答案是关于进一步清理输出。
有些东西在 中很难修改tex4ht
。有时使用xslt
样式来修改输出会比较容易。
此片段:
<h3 class="sectionHead"><span class="titlemark">1</span> <a
id="x1-10001"></a>hello world</h3>
可以搭配这种风格
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
>
<xsl:output omit-xml-declaration = "yes" method="xml" />
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="xhtml:h3|xhtml:h4|xhtml:h5">
<xsl:copy>
<xsl:attribute name="id"><xsl:value-of select="xhtml:a/@id" /></xsl:attribute>
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
<xsl:template match="xhtml:h3/xhtml:a|xhtml:h4/xhtml:a|xhtml:h5/xhtml:a" />
<xsl:template match="xhtml:h3/xhtml:span|xhtml:h4/xhtml:span|xhtml:h5/xhtml:span">
<xsl:apply-templates />
</xsl:template>
</xsl:stylesheet>
翻译为
<h3 id="x1-10001">1 hello world</h3>
我使用了id
参数,以便可以轻松链接到该部分,