我使用以下命令将 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">⋅</mo> <mn>2</mn></math> </inlineequation>
您可以看到⋅
实体在那里。运行xmllint
告诉我们这个实体未定义:
sample.xml:16: parser error : Entity 'sdot' not defined
class="MathClass-bin">⋅</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">⋅</mo> <mn>2</mn></math> </inlineequation>