MathType 提示“没有公式被发现”:一次 OMML2MML.XSL 排错记录
最近处理 Word 公式排版时,我一直在用这样一套流程:
1 | 大模型生成公式代码 |
这样处理的好处是,保存到旧版 doc 格式后,公式仍然可以编辑,而不是变成一张张图片。之前这套流程一直能用,直到有一次 MathType 突然识别不到文档里的公式。
问题现象
文档里的公式能被 Word 正常显示,也确实是 Word 原生公式。但在 MathType 的“转换公式”功能中执行批量转换时,程序直接提示:
没有公式被发现和/或更新。


一开始我把注意力放在文档本身,怀疑是文件损坏、公式格式不对,或者 MathType 出了 Bug。让大模型协助排查时,得到的判断也基本围绕这些方向,但重新建立文档和调整常规设置都没有解决问题。
后来看到有人提到 OMML2MML.XSL,再对照 WIRIS 的官方说明,才找到真正值得检查的地方。
OMML2MML.XSL 是做什么的
Word 2007 之后的原生公式使用 OMML,也就是 Office Math Markup Language。MathType 在转换 Word 原生公式时,需要借助 OMML2MML.XSL 把 OMML 转换为 MathML,再继续完成后面的转换。
因此,即使公式本身没有问题,只要这个 XSL 文件缺失、位置不符合 MathType 的预期,或者文件版本异常,MathType 就可能无法识别文档中的 OMML 公式,最后只给出“没有公式被发现”的提示。
这里需要修正我最初的判断:问题不一定是 XSL 文件损坏。按照 WIRIS 的说明,最直接的触发条件通常是文件不存在,或者文件虽然存在,却不在 MathType 查找的位置。
先确认文件在哪里
先彻底关闭 Word 和 MathType,再根据 Office 版本检查安装目录。WIRIS 给出的常见位置如下:
| Word 版本 | 常见目录 |
|---|---|
| Word 2007 | C:\Program Files\Microsoft Office\Office12 |
| Word 2010 | C:\Program Files\Microsoft Office\Office14 |
| Word 2013 | C:\Program Files\Microsoft Office 15\root\office15 |
| Word 2016 及之后版本 | C:\Program Files\Microsoft Office\root\Office16 |
如果对应目录不存在,还要检查 C:\Program Files (x86) 下的同类路径。Office 和 MathType 的位数不同,也可能让 MathType 去另一个 Program Files 目录寻找文件。
可以在 PowerShell 中分别搜索:
1 | Get-ChildItem "C:\Program Files\Microsoft Office" ` |
我的修复过程
我这次的问题在替换为官方原版 OMML2MML.XSL 后恢复了。更稳妥的处理顺序是:
- 关闭 Word、MathType,以及可能占用 Office 文件的其他程序。
- 找到当前 Office 目录里的
OMML2MML.XSL。 - 不要直接删除旧文件,先把它重命名为
OMML2MML.XSL.bak。 - 从 WIRIS 官方技术说明 提供的下载入口取得原版文件。
- 将新文件放入 MathType 实际查找的 Office 目录。写入 Program Files 通常需要管理员权限。
- 重新打开 Word,再执行一次 MathType 的“转换公式”。
如果文件在 C:\Program Files\Microsoft Office\root\Office16 中存在,但 C:\Program Files (x86)\Microsoft Office\root\Office16 中没有,WIRIS 给出的办法是建立后一个目录结构,并把文件复制过去。也就是说,不要一看到文件存在就急着覆盖,先确认是不是单纯放错了位置。
完成这些操作后,MathType 重新识别到了文档中的 Word 原生公式,批量转换也恢复正常。
仍然无效时检查什么
如果替换或补齐文件后还是没有效果,可以继续检查下面几项:
- Office 的实际版本和安装路径是否与自己判断的一致;
- Office 位于
Program Files还是Program Files (x86); - 两个目录中是否存在版本不同的同名 XSL 文件;
- Word 和 MathType 是否已经彻底退出后重新启动;
- Office 更新或修复之后,该文件是否又被移走或覆盖;
- 当前环境是否属于 WIRIS 文档说明的适用范围,即 Windows 上的 MathType 7 和 Word 2007 及之后版本。
排查这类问题时,弹窗里写的是“没有公式”,但真正出错的未必是公式。沿着转换链路继续往下看,检查格式、转换依赖和文件路径,往往比反复重做文档更有效。




