一键告别MathType:Word公式批量转可编辑格式
SKILL GUIDE
一键告别MathType
Word公式批量转可编辑格式
一键告别MathType,原生OMML自由编辑
将Word文档中所有MathType公式批量转换为Word原生可编辑公式(OMML),无需依赖MathType软件。
工具概览
Convert-MathType是一个 Codex Skill,可将Word文档 (.docx)中所有MathType公式一键批量转换为Word原生可编辑公式(OMML 格式)。支持分数、上下标、矩阵、根号、积分等所有复杂公式结构,转换后可直接在 Word中双击编辑,无需再依赖MathType软件。
适用场景
-
论文投稿前 — 需要将MathType公式转为Word原生格式以满足投稿要求
-
接收含MathType公式的文档 — 本机未安装MathType无法编辑,转换后即可直接修改
-
批量编辑公式 —MathType操作繁琐,转换后批量编辑效率更高
-
专利、报告等文档 —公式格式统一化需求,确保长期可编辑性
Skill 链接
(将 skill 文件夹下载到本地即可使用,见附件)
安装前准备
-
Windows系统
-
MathType已安装 — 需要其COM组件(Equation.DSMT4)用于解析公式数据
-
Microsoft Office已安装 — Word 2016/2019/365 均可
-
Python 3.8+环境 — 并安装依赖包:pip install pywin32 olefile lxml
安装方法




使用教程
方式一:通过 Skill 调用
在 Kiro / Claude Code 对话中输入:
方式二:命令行直接运行
执行过程
-
脚本自动检测文档中的 MathType 公式数量
-
逐个提取公式的 MTEF 二进制数据
-
通过 MathType COM 接口转换为 MathML
-
使用 Office 自带的 MML2OMML.XSL 转换为 OMML 格式
-
替换文档 XML 中的 OLE 对象为原生公式
-
保存文档并自动创建 .bak 备份文件
转换效果
转换前:
MathType OLE 对象(需双击打开 MathType 编辑器才能修改)

转换后:
Word 原生公式(直接点击即可编辑,格式与手动插入的公式一致)

技术原理
转换链路:MTEF Binary → MathML → OMML
-
解析docx(本质是 ZIP 压缩包)中的OLE 嵌入对象
-
从OLE 的 “Equation Native” 流中提取MTEF二进制数据
-
调用MathType 的COM 接口 (Equation.DSMT4) 将MTEF 转为 MathML
-
使用Office 自带的MML2OMML.XSL 样式表将MathML转为OMML
-
在文档XML中用OMML节点替换原OLE对象节点
-
自动识别行内公式与独立公式并正确处理显示格式
注意事项
-
备份安全:脚本首次运行会自动创建 .bak 备份文件,如需恢复可直接重命名
-
检查确认:转换后建议打开文档检查公式显示是否正确
-
个别失败:如个别公式转换失败,脚本会报告具体编号,可手动处理
-
文件锁定:确保运行时 Word 未打开目标文档(避免文件锁定)
-
格式限制:仅支持 .docx 格式(不支持 .doc 老格式)
总结
KEY TAKEAWAYS
Convert-MathType 让您彻底告别 MathType 依赖,将历史文档中的公式一键转为 Word 原生可编辑格式。无论投稿、协作还是长期存档,都能显著提升效率。本 Skill 由个人开发并开源分享,自由使用、修改和转发。
-END-
本Skill由个人开发并开源分享,可以自由使用、修改和转发。如有问题或建议欢迎反馈交流。
作者:StephenJohnny
如果觉得有帮助,欢迎分享给身边的研究者 👍
夜雨聆风