|||
2种办法把MathType公式转换为Word公式
MathType插件提供了把Word自带公式转换为MathType公式的功能,却没有提供把MathType公式转换为Word公式的功能。出于某些特别的要求,需要把MathType公式转换为Word公式,应该怎么做呢?
注意,这里所说的Word公式,是指Word2007及以后版本中所提供的新公式,又叫OMML公式。OMML的全称是Office Math Markup Language,office数学公式标记语言。
一、高版本Word可以直接转换
Word2016及以后版本(不知道Word2013是否可以),可以右击MathType公式,在弹出菜单中单击“Equation”对象,在弹出的二级菜单中单击转换为Office Math,具体操作见如下链接。这个过程应该可以编写vba代码实现一键全文档转换,但本机没有安装Word2016或以后版本,没有办法实验。
二、低版本Word可以间接转换
Word2010及以前版本并没有“转换为Office Math”的功能可用。但可以通过MathType插件把MathType公式变成MathML代码,再把MathML代码粘贴到一个空的Word公式中,即可生成Word公式。
1. MathType公式变成MathML代码
MathType插件可以批量把Word文档中的MathType公式转换成MathML代码。操作路径如下图所示。
单击MathType选项卡,单击Convert Equations(转换公式),弹出Convert Equations对话框。在Equations types to convert(要转换的公式)标签下勾选MathType or Equations Editor equations;在Range(范围)标签下选择Whole document(整个文档);Convert equations to(把公式转换为)标签下选择Text using Math Type translator,然后在下拉框中选择MathML 2.0(namespace attr),下拉框下面的Include translator name as a comment和Include MathType data as a comment最好也勾选;最后单击Convert按钮完成全文档的公式转换。
MathType公式变成MathML代码
转换后的一个MathML代码如图,仅一个公式的代码就很多。
MathML代码
2. 把MathML代码粘贴到一个空的Word公式即可
按Alt+=组合键,插入一个空的公式,如下图。
复制一个公式的代码,把MathML代码粘贴到空公式内即可得到Word公式。如果是第一次粘贴,会出现如下图所示的提示,请选择“创建一个OMML公式”,并勾选“记住我的选择”,下次粘贴就不会出现这样的提示。
创建一个OMML公式
以上是一个手动的过程,如果文档中公式不多,可以采用;如果在大量公式需要转换,则会非常费时。
为了解决这个重复费时的工作,可以写一段vba代码,让其自动执行。代码如下,代码参考了这个文章http://blog.sina.com.cn/s/blog_145cd12f80102wwio.html。代码参考了文章所述的思路,但在后半段作了较大修改,在Word2010和MathType 6.9的环境下运行良好。关于在Word中如何使用vba代码的操作,请百度,有很多教程。
Sub MathML2OMML()
Dim i As Integer
i = 0
'设置查找表达式,查找转换后的MathML代码
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "\<\!-- MathType*5\@ --\>^13"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchWildcards = True
Selection.SetRange 0, 0 '回到文首
Do While .Execute
With Selection
.Cut '剪切MathML代码
.TypeParagraph '插入一个空段
.OMaths.Add Range:=.Range '插入一个空OMML公式。创建时自动选中
.PasteAndFormat (wdFormatPlainText) '无格式粘贴MathML代码
End With
i = i + 1
Loop
End With
MsgBox "共转换" & i & "个公式"
End Sub
2种办法把MathType公式转换为Word公式
MathType插件提供了把Word自带公式转换为MathType公式的功能,却没有提供把MathType公式转换为Word公式的功能。出于某些特别的要求,需要把MathType公式转换为Word公式,应该怎么做呢?
注意,这里所说的Word公式,是指Word2007及以后版本中所提供的新公式,又叫OMML公式。OMML的全称是Office Math Markup Language,office数学公式标记语言。
一、高版本Word可以直接转换
Word2016及以后版本(不知道Word2013是否可以),可以右击MathType公式,在弹出菜单中单击“Equation”对象,在弹出的二级菜单中单击转换为Office Math,具体操作见如下链接。这个过程应该可以编写vba代码实现一键全文档转换,但本机没有安装Word2016或以后版本,没有办法实验。
二、低版本Word可以间接转换
Word2010及以前版本并没有“转换为Office Math”的功能可用。但可以通过MathType插件把MathType公式变成MathML代码,再把MathML代码粘贴到一个空的Word公式中,即可生成Word公式。
1. MathType公式变成MathML代码
MathType插件可以批量把Word文档中的MathType公式转换成MathML代码。操作路径如下图所示。
单击MathType选项卡,单击Convert Equations(转换公式),弹出Convert Equations对话框。在Equations types to convert(要转换的公式)标签下勾选MathType or Equations Editor equations;在Range(范围)标签下选择Whole document(整个文档);Convert equations to(把公式转换为)标签下选择Text using Math Type translator,然后在下拉框中选择MathML 2.0(namespace attr),下拉框下面的Include translator name as a comment和Include MathType data as a comment最好也勾选;最后单击Convert按钮完成全文档的公式转换。
MathType公式变成MathML代码
转换后的一个MathML代码如图,仅一个公式的代码就很多。
MathML代码
2. 把MathML代码粘贴到一个空的Word公式即可
按Alt+=组合键,插入一个空的公式,如下图。
复制一个公式的代码,把MathML代码粘贴到空公式内即可得到Word公式。如果是第一次粘贴,会出现如下图所示的提示,请选择“创建一个OMML公式”,并勾选“记住我的选择”,下次粘贴就不会出现这样的提示。
创建一个OMML公式
以上是一个手动的过程,如果文档中公式不多,可以采用;如果在大量公式需要转换,则会非常费时。
为了解决这个重复费时的工作,可以写一段vba代码,让其自动执行。代码如下,代码参考了这个文章http://blog.sina.com.cn/s/blog_145cd12f80102wwio.html。代码参考了文章所述的思路,但在后半段作了较大修改,在Word2010和MathType 6.9的环境下运行良好。关于在Word中如何使用vba代码的操作,请百度,有很多教程。
Sub MathML2OMML()
Dim i As Integer
i = 0
'设置查找表达式,查找转换后的MathML代码
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "\<\!-- MathType*5\@ --\>^13"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchWildcards = True
Selection.SetRange 0, 0 '回到文首
Do While .Execute
With Selection
.Cut '剪切MathML代码
.TypeParagraph '插入一个空段
.OMaths.Add Range:=.Range '插入一个空OMML公式。创建时自动选中
.PasteAndFormat (wdFormatPlainText) '无格式粘贴MathML代码
End With
i = i + 1
Loop
End With
MsgBox "共转换" & i & "个公式"
End Sub
以上就是在Word中,把MathType公式转换成Word自动公式的方法和步骤,希望对大家有帮助。这里是阿德办公图文,有什么不明白的,可以评论或私信交流。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-23 02:46
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社