乔山办公网我们一直在努力
您的位置:乔山办公网 > word文档 > Word公式的分类和内容研究-word的公式编辑器

Word公式的分类和内容研究-word的公式编辑器

作者:乔山办公网日期:

返回目录:word文档

Word公式的分类和内容研究

1 Word公式主流格式分类

Word文档内的数学公式的格式主要有三种:OMML格式的公式、使用MathType公式编辑器编辑的数学公式和图片类型的公式。

OMML格式的数学公式是使用Word 2007及以上的版本中自带的公式编辑器OfficeMathML录入的,在Word 2003及以下版本的文档中会被转化为图片类型的公式,转化后的图片公式不可以被重新编辑和修改,在转化的过程中也可能出现图像不完整和不清晰的现象。而在Word 2007及以上版本的文档中以对象的形式存在于文档内,可以被重新编辑和修改。

MathType编辑的数学公式是以一个插件的形式存在的,在没有安装MathType软件的Windows系统环境下,数学公式会被转化为OLE对象存储在于文件内容内,是不能被重新编辑和修改的。使用MathType软件或者GrindEQ等转化工具,可以将OLE对象进行重新便利和利用,并根据实际需要指定转化后的公式格式类型,Latex或者MathML等。

图片类型的公式,是在word文本中直接使用带有公式形式内容的图片,以插入图片的方式存在于word文件中。使用OCR有可能提取文本,但是鉴于OCR后的内容不全面或者识别错误的情况,不能将该文本作为公式的格式或者内容,本文不做试验和研究。

2 OMATH类型公式的研究

OMML格式的数学公式是利用Word文档内自带的数学公式编辑器OfficeMathML录入的数学公式。在XML格式的文档内它以一棵DOM树的形式存储。 本文对文档内的XML文件进行解析,并提取文档内的信息,主要是对文件的DOM树进行遍历。

把Word文档的整个文件内容视为一种树结构,可以通过这棵树来访问文档内所有的节点。这棵树展示了文档内的所有节点和节点之间的关系。一个文档内只能有一个根节点,这个根节点是w:body节点,而每个数学公式都是文档中的一棵子树,每棵子树的根节点为m:paragraph节点。节点m:paragraph表示一个数学公式段落的开始,是没有数学语义的。此节点的子节点为m:oMath节点,表示一个数学公式的对象,是有数学语义的。所以在检测和转换文档内OMML格式的数学公式时,把节点m:oMath作为一个完整数学公式的根节点进行处理。利用Open XML SDK 2.0打开含有OMML格式的数学公式的Word文档可以发现,一个OMML格式的数学公式是存储在一棵以m:oMath为根节点的DOM树下。 一棵完整的OMML格式的数学公式的DOM树包含有许多节点,每个节点所表示的数学语义不同,而同一个节点也会因为节点的父节点、子节点、兄弟节点或者节点内容的不同,所表示的数学语义也有所不同。但是每个节点所表达的基本的数学语义是相同的,只是在转换的过程中才会加以区分。几种常见节点所表示的一般数学语义如表2-2所示。

例如公式:

Word公式的分类和内容研究

直接用Open XML打开后的DOM树的代码如下:

<m:oMath>

<m:sSub>

<m:sSubPr>

<m:ctrlPr>

<w:rPr>

<w:i/>

</w:rPr>

</m:ctrlPr>

</m:sSubPr>

<m:e>

<m:r>

<m:t>A</m:t>

</m:r>

</m:e>

<m:sub>

<m:r>

<m:t>ij</m:t>

</m:r>

</m:sub>

</m:sSub>

<m:r>

<m:t>=</m:t>

</m:r>

<m:sSub>

<m:sSubPr>

<m:ctrlPr>

<w:rPr>

<w:i/>

</w:rPr>

</m:ctrlPr>

</m:sSubPr>

<m:e>

<m:r>

<m:t>q</m:t>

</m:r>

</m:e>

<m:sub>

<m:r>

<m:t>j</m:t>

</m:r>

</m:sub>

</m:sSub>

<m:sSup>

<m:sSupPr>

<m:ctrlPr>

<w:rPr>

<w:i/>

</w:rPr>

</m:ctrlPr>

</m:sSupPr>

<m:e>

<m:r>

<m:t>e</m:t>

</m:r>

</m:e>

<m:sup>

<m:r>

<m:t>-β</m:t>

</m:r>

<m:sSub>

<m:sSubPr>

<m:ctrlPr>

<w:rPr>

<w:i/>

<w:iCs/>

</w:rPr>

</m:ctrlPr>

</m:sSubPr>

<m:e>

<m:r>

<m:t>d</m:t>

</m:r>

</m:e>

<m:sub>

<m:r>

<m:t>ij</m:t>

</m:r>

</m:sub>

</m:sSub>

</m:sup>

</m:sSup>

</m:oMath>

DOM树中,存在着表达数学语义的变量和常数的字体属性节点,也存在着表达字符之间位置关系的<m:sSup>节点,从这棵DOM树中不仅可以获取数学公式的数学语义,也可以获得数学公式中字符的位置关系。所以,可以直接利用数学公式所表达的语义进行格式转换,去除树中表达字符属性等无效节点。 可以得到我们需要的公式格式,然后通过数学模型转换程序将OMath公式转化到MathML格式或者Latex格式。

3 MathType类型公式的研究

MathType是一个由美国Design Science公司开发的强大的数学公式编辑器,能够在各种文档中加入结构复杂的数学公式和符号。MathType要和文字处理工具结合在一起使用,支持OLE对象的链接与嵌入,可以嵌入到任何支持OLE的文字处理系统中被调用。通过MathType等专业的数学公式编辑器编辑的数学公式嵌入到普通文本中会转化成数学公式图像,这个图像型的数学公式是不能被重新编辑和修改的。 在Word文档中调用MathType公式编辑器来输入数学公式,公式会以嵌入式对象的形式存储在Word文档内。当打开文档的系统中安装有MathType数学公式编辑器时,此数学公式是可以被编辑和修改的。当打开文档的系统中没有安装数学公式编辑器时,此公式会被转化成数学公式图像存储在文档内,是不能被编辑和修改的。2007及以上版本的Office软件不再使用二进制默认格式,而使用以XML为标准以ZIP为容器的描述的格式,而MathType公式编辑器编辑的数学公式是以wmf的矢量图存储在Word下。MathType公式编辑器编写的数学公式是在w:object,表示文档内的对象,节点的一个叶子节点o:OLEobject,表示OLE的对象,节点进行标识的,节点中存储着许多不同的信息,其中当节点的Type为Embed时表示该节点为一个嵌入式对象节点,存储着MathType公式编辑器编写的数学公式的DOM树节点。

4 Latex数学公式的特点

LaTeX格式的数学公式是以字符串的形式表达数学公式的,文本简单易懂,可以采用基于文本的检索对数学公式建立索引,所以本文将文档内的数学公式统一转换为LaTeX格式,LaTeX不仅可以对普通文本数据进行高效的排版,还可以对数学和任何形式的文档进行排版。 LaTeX格式的数学公式不仅存在于LaTeX文档内,而且在部分检索系统和网络中也使用LaTeX格式来描述数学公式。数学公式中的大部分数学符号是不能直接通过键盘来进行输入的,LaTeX格式的数学公式中常用输出符号和主要数学结构都是通过前缀符"\\"+字符串的形式来进行输入的,其中字符串主要来自其数学语义。 其中常用数学符号包括,常量,用罗马字体的数学表示,简单变量,用一个斜体的字母表示,希腊字母,如,ε用\\epsilon表示,η用\\eta表示,λ用\\lambda表示,函数名,如,求和函数用\\sum表示,sin函数用\\sin表示,arcsin函数用\\arcsin表示,关系符/二元运算符,如,用\\subseteq表示,用\\geqslant表示,用\\mp表示,箭头/划线,如,用\\to表示,用\\\\updownarrow表示,上划线用\\overline表示,其他符号,如,堆积符号用\\stackrel表示,用\\infty表示。 主要数学结构包括,分式,用\\frac{分子}{分母}表示,根式,用\\sqrt[开方数]{被开方数}表示,上标和指数,用^{数学符号}表示,下标和下限,用_{数学符号}和\\limits_{数学符号}表示。例如Word公式的分类和内容研究的Latex表示为\\[\\sqrt {{a^2} + {b^2}} \\]。

5 MathML数学公式的特点

MathML语言是由W3C下的数学工作组制定的基于XML语言标准的数学标记语言,是XML的一个扩展分支,MathML严格遵守XML的规范要求。MathML有两种标记,一种是直接表示标记,presentation,主要目的是用来表达数学符号的二维结构,例如<mrow></mrow>它表示其中的字符水平显示,一种是内容标记(content),指数学公式的语义表达,例如"+"用<plus/>来描述。使用MathML来表达数学公式主要是因为MathML表达的数学公式可以直接在互联网运行,具有强大的数学公式表达能力,具有很好的扩展性,可以方便地与其它信息进行交换。

MathML标记较多,仅表达格式就约有30个,例如Word公式的分类和内容研究的MathML语言表达形式为,<math> <mrow> <msqrt> <mrow> <msup> <mi>a</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mi>b</mi> <mn>2</mn> </msup </mrow> </msqrt> </mrow> </math> 其中,<mn>表示数值,<mi>表示字符,各个标记代表不同的符号表示,表示内容标记大约有120多个,例如<apply><power/> <apply><sin/> <ci>θ</ci> </apply> <cn>2</cn> </apply> 其中,<apply>表示容器类元素,经常嵌套使用,<power>的第一个参数是sin函数的应用。 Presentation标记和content标记都可以表达一个数学公式,通常是可以混合在一起使用,即可以在Presentation中使用content标记,反之也可以。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网