微软 Office 从 2010 版本开始提供公式编辑功能,笔者作为资深软粉近几年一直在尝试使用微软的公式编辑器写作业、报告以及答辩论文。整体来说,Office 经过几个版本的迭代,一般的公式编辑需求基本能得到满足,完全可以输出美观、专业的公式。以下是笔者使用过程中的经验总结,希望以后的数学公式排版能有更加统一的规范。(注:Office 各个版本的功能略有不同,以下内容均以 Office 2019 为准)
内置公式编辑器的优势
从安全的角度来说,内置的公式编辑器比起 MathType、Aurora 等通过嵌入对象实现的公式输入更加安全,可以降低嵌入对象或启用宏的风险。
从排版方便的角度来说,内置的公式编辑器可以很容易地调整公式大小、字体甚至颜色,而 MathType 需要双击进入编辑界面,在 MathType 的编辑界面中修改,修改完成后保存再退出编辑状态,处理起大量公式会异常繁琐。
内置公式可以自由地换行,而 MathType 是以对象模式嵌入的,无法做到这一点。
从编辑便利的角度来说,内置公式支持 LaTeX 语法,可以方便地导入 LaTeX 代码而不用再通过手动输入。不过需要注意的是,目前 Office 仅支持有限的 LaTeX 语法,比如 \begin
、 \end
都是不支持的。
另外,Office 的公式对象实际上遵循 MathML 标准,如果以纯文本的形式复制 MathML 代码,在 Word 中粘贴会直接转换为可编辑的公式。因此,笔者近期准备开发一个将通用的 LaTeX 代码转换为 Office 支持的 MathML 对象的工具。
更多语法的细节可以参考微软官方的文档[1]。
使用中常见的问题
问题一:如何切换字体
公式编辑状态下,在“设计”选项卡中点击“转换”旁边的“↘”图标,可以打开公式选项。
在公式选项中可以选择默认的字体,比如 XITS Math,点击确定。
问题二:导出为 PDF 后公式的某些符号可能会丢失
如下图所示,使用 XITS Math 字体编辑公式,再通过 Word 的“导出->导出为PDF”功能输出 PDF 文件后会发现部分数学符号缺失。
这是因为 Office 本身对 OTF 字体支持不完整[2]。可以删除 OTF 字体,将 OTF 字体转换为 TTF 格式后再重新安装,恢复正常,如下图。
转换后的 TTF 格式的数学公式字体文件:https://gitee.com/cyano/OpenType-MATH-TTF
存在的缺陷
公式编辑区快捷键不够丰富,需要键鼠配合,编辑速度受到很大限制。
在行内的公式会被压缩布局,对于分式、指数的显示不够清晰美观。
公式和普通文本之间无字间距,不够清晰美观。
编辑器中提供的字符有限,不符合排版的标准。比如大于小于号“≥”(
\U+2265
)在绝大多数字体的显示下“等于号”部分是水平的,与常见的样式不同。可以选用补充数学运算符中的“⩾”(U+2A7E
)替代,这个字符的名称就叫做“大于或倾斜等于”,是我们常见的字符样式。
[1]: https://support.microsoft.com/zh-cn/office/word-中使用-unicodemath-和-latex-的线性格式公式-2e00618d-b1fd-49d8-8cb4-8d17f25754f8
[2]: Word中的数学公式导出PDF后缺失符号的原因:https://github.com/alif-type/xits/issues/41