mathml怎么转mathtype:粘贴代码、导入文件与在线转换三条路
更新于
mathml怎么转mathtype,答案取决于两件事:手里是一段复制来的代码,还是一个 .xml 文件;最后要把公式放到哪里。多数读者的最终目的是在 Word 里得到能双击修改的公式,常见的来源是从网页上抓取的公式,或者无障碍文档里的数学内容。下面给三条路,各写步骤、前提和常见的失败原因。那款桌面软件对 MathML 的具体支持情况以厂商说明为准,本文不作陈述。
路一:把代码直接粘贴进支持 MathML 的软件
前提是目标软件能识别剪贴板里的 MathML。部分版本的 Word 在粘贴一段完整、带命名空间声明的 MathML 文本时,会把它转成公式;也有一些公式编辑器提供粘贴 MathML 的能力。具体效果因软件和版本而异,以手里的版本实测为准。
步骤很简单:复制完整的代码,从 <math 开始标签一直到 </math> 结束标签,一个字符都不要漏;在目标位置粘贴;看结果是公式还是一串标记文字。
这条路步骤少,但很依赖目标软件。粘贴后显示为纯文字,先不要反复重试,按本文最后一节检查代码本身,代码没问题再换第三条路。
路二:以文件方式导入
手里是 .xml 文件时,先看目标软件有没有从文件读取 MathML 的入口。有的话,按入口导入即可;导入前用文本编辑器打开文件看一眼,确认内容确实以 math 根元素开头,编码是 UTF-8,没有被别的程序另存成其他编码。

目标软件没有这类入口也不要紧:用文本编辑器打开 .xml 文件,全选复制里面的 MathML 代码,回到第一条路粘贴;或者转到第三条路。
一个文件里如果装了多条公式,导入时要确认每条都完整地包在各自的 math 元素里,否则常常只有第一条能正常显示。

路三:先转成 LaTeX,再导出 Word
当前两条路都走不通时,可以把 MathML 先转换成 LaTeX 源码,再经由公式编辑器导出 Word 文档。转换这一步可以借助支持 MathML 转 LaTeX 的在线工具完成;转出来的 LaTeX 务必对照原公式核对一次,尤其是上下标、分式和矩阵。
本站在这条路上负责后半段:把核对好的 LaTeX 粘进公式编辑器的 LaTeX 模式,右侧同步预览确认结构;切回「可视化」,从顶栏导出 Word(.docx),用 Word 2016 及以上版本打开,公式是原生公式,双击可继续编辑。需要反过来得到 MathML 时,同一处还能导出 MathML(.xml)。帮助中心列出的 MathML 能力是导出,导出需要登录并开通会员。

两类常见失败:命名空间与实体
第一类,命名空间缺失。规范的 MathML 根元素 math 上带有 MathML 的命名空间声明,也就是 xmlns 属性。从网页里复制时,这个声明经常被省略,因为网页环境自己能认出来;到了别的软件里,缺了它就可能被当成普通文本。补上声明再试。
第二类,实体没有转义。MathML 是 XML,小于号、和号在内容里必须写成 <、& 这样的实体;而网页里常见的 这类 HTML 实体在 XML 里并不合法。粘贴失败时,在代码里搜索和号,逐个检查。
另外,MathML 分表现型和内容型两种写法,多数软件对表现型支持得更好。代码里出现大量描述数学含义而不是显示形式的标记时,要考虑换一种转换路线。
延伸阅读
- 公式识别:从取图、框选到导出的完整操作流程
- 图片公式变为mathtype:上传、识别、校对到导出各花多少时间
常见问题
- 粘贴 MathML 代码后显示为纯文本,是什么原因?
- 多半是目标软件没有把剪贴板内容当成 MathML 处理。先检查代码是否完整,从 math 开始标签到结束标签都在,再检查根元素上的命名空间声明;仍然不行,就换成先转 LaTeX 再导出 Word 的路线。
- MathML 里的命名空间声明缺了会怎样?
- 很多软件靠命名空间判断一段代码是不是 MathML。缺了它,整段内容可能被当成普通的标记文本或纯文字,公式显示不出来。补上根元素 math 上的 xmlns 声明,通常就能解决。
- 转出来的公式在 Word 里还能编辑吗?
- 走导出 Word 文档这条路可以。公式写成 Word 原生公式对象,用 Word 2016 及以上版本打开,双击就能继续修改。如果中途转成的是图片,就不能再编辑了。