为操作员定义 XML 输出

为操作员定义 XML 输出

我使用以下命令将 LaTeX 转换为 docbook

htlatex filename "xhtml,docbook-mml" " -cunihtf" "-cdocbk"

现在,不幸的是,\cdot操作员在翻译过程中迷失了方向。(它只是消失了。)

我如何定义应为\cdot源文件中的每个文件发出的 XML 序列?

答案1

如果你只使用

 htlatex filename "xhtml,docbook-mml"

你会得到这个mathml

<inlineequation  
role="inline" ><!--l. 7--><math 
xmlns="http://www.w3.org/1998/Math/MathML"><mn>2</mn> <mo 
class="MathClass-bin">&sdot;</mo> <mn>2</mn></math> </inlineequation>

您可以看到&sdot;实体在那里。运行xmllint告诉我们这个实体未定义:

sample.xml:16: parser error : Entity 'sdot' not defined
class="MathClass-bin">&sdot;</mo> <mn>2</mn></math> </inlineequation>

xtpipes此实体将使用后处理(由选项调用)从文档中删除-cdocbk。因此,我们需要找到的解决方案是将cdot作为数字实体或直接 unicode 值包含。我们可以尝试使用与由调用的转换表不同的 unicode 转换表-cunihtf。来自tex4ht 手动的

mzlatex 命令是命令 'htlatex filename "xhtml,mozilla" " -cmozhtf" "-cvalidate"' 的快捷方式。它考虑到了浏览器的特殊需求。xhmlatex 命令是命令 'htlatex filename "xhtml,mathml" " -cunihtf" "-cvalidate"' 的快捷方式;它不会对浏览器做出任何妥协。

-cunihtf所以我们可以尝试用以下方法替换-cmozhtf

htlatex filename "xhtml,docbook-mml" " -cmozhtf" "-cdocbk"

结果似乎还不错:

<inlineequation role="inline"><!--l. 7
--><math xmlns="http://www.w3.org/1998/Math/MathML"><mn>2</mn> <mo class="MathClass-bin">&#x22C5;</mo> <mn>2</mn></math> </inlineequation>

相关内容