科学公式可视化编辑的系统及方法

文档序号:6365613阅读:260来源:国知局
专利名称:科学公式可视化编辑的系统及方法
技术领域
本发明是涉及科学公式,特别涉及科学公式的可视化编辑系统及方法。
背景技术
目前,最常用的公式编辑器是office软件中采用的Microsoft EquationEditor微软公式编辑器。该编辑器方便用户录入公式,但是存在着以下的不足。
(1)在该编辑器中编辑好的公式做为一个OLE(对象链接和嵌入)嵌入对象整合到其他支持OLE标准的应用程序中,以OLE方式嵌入宿主文档,可以任意缩放,带来整篇文档的公式格式不统一,影响了整篇文档的版式。而且运用OLE方式该公式不具有跨平台性。
(2)该编辑器中只能输入固定的一些数学符号,不具有扩展性,而用户需要输入的不仅包括数字公式,还需要化学、物理等方面的公式,需要进一步扩大公式编辑器的应用范围。

发明内容
本发明的主要目的在于提供一种公式可跨平台并且不可任意缩放的科学公式的可视化编辑方法及系统。
本发明的次要目的在于提供科学公式自动排版的科学公式的可视化编辑方法及系统。
本发明提供了一种公式可视化编辑系统,该系统包括输入界面模块,用于提供标准的公式元件和输入公式窗口的用户界面,接收从用户输入的公式,并将所述信息传给数据层模块;数据层模块,用于接收从输入界面模块传送的公式将其转换成相应XML标记存储在文件中,当接收到公式排版显示指令时,将存储在文件中的XML标记转换成对应的对象类的形式;排版显示模块,用于接收从数据层模块传送来的数据进行排版显示。
所述输入界面模块中还包括类创建模块,用于创建所述公式元件的公式元件类和对输入公式进行处理的窗口类。
所述公式元件包括数学公式符号、物理电器符号、化学符号、化学结构式、化学反应式。
一种公式可视化编辑方法,该方法包括(一)提供标准的公式元件和输入公式窗口的用户界面,接收从外设输入的公式,并将所述信息传给数据层模块;(二)数据层模将所述输入的公式转换成相应XML标记存储在文件中,当接收到公式排版显示指令时,将存储在文件中的XML标记转换成对应的对象类的形式;(三)接收从数据层模块传送来的数据进行排版显示。
步骤(一)之前还包括创建公式元件类和对输入公式进行处理的窗口类。
步骤(三)包括排版步骤,(1)当输入新的单式元,计算所述单式元的宽度、高度;(2)扩展所述单式元所在的子式的宽高尺寸、位置;
(3)根据子式的变化,查找所有该子式的其他每一个邻式,调整邻式的位置;(4)调整所述子式的父式的尺寸、位置;(5)将所述的父式作为新输入,重复步骤(1)至(4),直到所述父式为公式体。
所述步骤(三)包括显示步骤,(1)定位,显示本式字符、符号;(2)查找该本式的每个子公式部件,进入子式;(3)重复步骤(1)-(2),直到没有子式可进入为止。
开发跨平台的公式组件,不仅可以运行于开发工具本身环境内,而且可以运行于支持组件技术的开发工具环境内和网络上。比面向单一开发工具开发的组件更有优势。每一个公式输入窗口为一个公式组件对象,并且在系统中内建立这些对象的数据的组织方式,使公式可以做为一个整体来设定,对公式能进行统一的属性设定。例如统一设定字号。从而克服了公式作为OLE对象嵌入宿主文档的缺憾。


图1为本发明的科学公式的可视化编辑系统的组成框图。
具体实施例方式
科学公式的可视化编辑系统5至少包括输入界面模块2,数据层模块3和排版显示模块1。
输入界面模块2,所述输入界面模块2至少提供标准的科学公式元件和输入科学公式窗口的用户界面,接收从键盘、鼠标等外设输入的对该科学公式的可视化编辑系统5进行编辑的信息;数据层模块3,该数据层模块3接收到从输入界面模块2传送来的公式进行格式化和序列化,当接收该科学公式的排版显示命令时,进行将文件4中存储的科学公式的XML格式转换成相应的对象类的形式,即格式转换、排版显示的预处理;该数据层模块3主要实现数据格式的转换、组织、缓存、文件4的输入输出等。
排版显示层模块1,该排版显示模块1用于接收从数据层模块3传送来的数据进行排版显示。
详细介绍该科学公式的可视化编辑的方法,具体步骤如下一、在科学公式输入界面模块2中创建组成科学公式的元件和输入科学公式窗口的用户界面,接收键盘、鼠标等外设输入的编辑科学公式的信息。
该科学公式元件包括数字公式符号、物理电器符号、化学符号、化学结构式、化学反应式。该些元件为公式中标准、通用且比较常见。如数学公式中如分式、根式、上下标式、求和式、求积式、积分式等,化学中常用的化学反应式,物理和化学中常用的符号。用户可根据上述提供的公式元件,输入公式。一个公式包括若干独立的单式;单式包括符号串和子式,组成单式的最小单元是单式元,一个单式元可以是符号串、不可分离的子式中的单式对象。如y=abc+5/b+ab4b23]]>y=a+b该公式包括两个独立单式,5/b是一个子式,该子式的单式对象中包括分子对象5,分母对象b,而 中 子式中两个单式对象,底数对象是4b,根指数对象为2。
具体地说,如采用VC++,VB等面向对象语言来编写。利用组件技术,组件对象模型(COM)是一种代码之间共享组件的二进制标准,组件对象编译成动态链接或可执行文件等形式,它们可以与调用的应用程序在相同的进程空间中运行,利用分布式COM,该组件对象可以运行在不同的机器上。所以,首先在科学公式输入界面模块的类创建模块中创建各种基类和子类,包括的基类有数学元件类主要是定义了关于数学公式中具体逻辑意义的元件;化学元件类,定义有关化学中具体逻辑意义的元件;物理元件类是定义了常见的电气符号,在数学元件类中创建其下属的子类如分式、根式、上下标式、求和式、求积式、积分式、顶底标记式、标注箭头式、大括弧式、层叠式、矩阵式、方程式、集合运算式、逻辑运算式,而化学元件类中创建其下属的子类为原子结构图,链状结构式、环状结构式、化学反应式、化学键符号、联线符号、反应符号。类中定义其数据结构并且其方法,子类继承了基类的特征(数据结构和方法)。数学符号、化学符号采用国际标准MathML和CML;化学实验器皿和物理电器是采用国际标准SVG(可缩入的矢量图形标准)。
除了上述公开的用户根据科学公式输入界面模块中提供的组成科学公式的公式元件外,系统还提供了用户自定义科学公式元件。系统提供用户自定义科学公式元件的界面。用户可以根据各自的工作特点,创建一个新库,或者在原有的库中进行补充,如“矩阵”库内已包含了2阶、3阶、4阶等多种常见的矩阵元件,用户可以在这个矩阵库里添加一些自用的矩阵。
二、数据层模块3接收到从输入界面模块2传送的公式数据进行格式化和序列化,具体地说,将输入的公式对象转换成对应的XML标记,传送至文件4进行保存。通过该数据层模块,可以将所有的公式数据用一种国际标准XML的形式保存或输出,任何可以理解该标准的接受方都可以解释接收到的该公式数据,使数据交流更加通畅,具有很好的跨平台性。
当接收到排版显示命令时,将文件4中存储的科学公式的XML标记转换成相应的对象类的数据形式,进行排版显示的预处理步骤。
三、排版显示模块接收到从数据层模块传送来的数据进行排版显示。
排版显示科学公式时,创建的科学公式的类中定义了该类中对象的字号,如角标类,上标对象为n-1号,本基对象为n号和下标对象为n-1等,这样在排版显示时,公式的每一单式元就会根据预设的字号自动适应字号,而且本系统提供给对象若干供用户选择的字号,并且可将此功能应用到此宿主文档中的所有公式。这样修改显示排版方式能精确到指定字号,便于宿主文档中格式的统一,而且本发明因为采用系统内建对象的数据处理方式,所以宿主文档中所有的公式可以作为一个整体来设定,使对公式进行统一的属性设定。
(1)当输入一个单式元,如一个字符或符号或公式元件时,具体地排版步骤如下。
(a)计算该输入的单式元的宽度、高度;(b)扩展该单式元所在的子式的宽度、高度尺寸、位置;(c)根据子式的变化,查找本子式的其他每一个邻式,调整邻式的位置,达到自动对齐功能,(d)调整本子式的上级,即父式的尺寸、位置。
(e)将父式作为新输入,重复步骤(a)至(d),到父式作为整个公式输入的窗口为止。
(2)根据排版结果更新显示流程,从外到内,从父到子逐一调用子式显示(a)定位,显示本式字符、符号;(b)查找所有本式内的每个子式部件,进入子式(c)重复步骤(b)和步骤(c),直到没有子式可以进入;(d)如果有必要,显示当前光标如y=abc+ab4b23,]]>中输入2时,根据给定的标准字号,确定该上标的宽度和高度,扩展到该单元式 中的其它的单式元的宽度和高度,及调整 该父式的尺寸和位置,直至达到整个公式y=abc+ab4b23,]]>并按照上述步骤进行显示。该排版显示模块会根据该公式的每一个单元式的确定的字体、字号和字间距进行自动排版显示。
每一个公式输入窗口为一个公式组件对象,并且在系统中内建该些对象的数据组织方式,可以做为一个整体来设定,所以对公式能进行统一的属性设定。从而克服了公式作为OLE对象嵌入宿主文档的缺憾。
权利要求
1.一种公式可视化编辑系统,其特征在于,该系统包括输入界面模块,用于提供标准的公式元件和输入公式窗口的用户界面,接收从外设输入的公式,并将所述信息传给数据层模块;数据层模块,用于接收从输入界面模块传送的公式将其转换成相应XML标记存储在文件中,当接收到公式排版显示指令时,将存储在文件中的XML标记转换成对应的对象类的形式;排版显示模块,用于接收从数据层模块传送来的数据进行排版显示。
2.如权利要求1所述的公式可视化编辑系统,其特征在于,所述输入界面模块中还包括类创建模块,用于创建所述公式元件的公式元件类和对输入公式进行处理的窗口类。
3.如权利要求1所述的科学公式可视化编辑系统,其特征在于,所述公式元件包括数学公式符号、物理电器符号、化学符号、化学结构式、化学反应式。
4.一种公式可视化编辑方法,其特征在于,该方法包括(一)提供标准的公式元件和输入公式窗口的用户界面,接收用户输入的公式,并将所述信息传给数据层模块;(二)数据层模将所述输入的公式转换成相应XML标记存储在文件中,当接收到公式排版显示指令时,将存储在文件中的XML标记转换成对应的对象类的形式;(三)接收从数据层模块传送来的数据进行排版显示。
5.如权利要求4所述的公式可视化编辑方法,其特征在于,步骤(1)之前还包括创建公式元件类和对输入公式进行处理的窗口类。
6.如权利要求4所述的科学公式可视化编辑方法,其特征在于,步骤(三)包括排版步骤,(1)当输入新的单式元,计算所述单式元的宽度、高度;(2)扩展所述单式元所在的子式的宽高尺寸、位置;(3)根据子式的变化,查找所有该子式的其他每一个邻式,调整邻式的位置;(4)调整所述子式的父式的尺寸、位置;(5)将所述的父式作为新输入,重复步骤(1)至(4),直到所述父式为公式体。
7.如权利要求4所述的科学公式可视化编辑方法,其特征在于,所述步骤(三)包括显示步骤,(1)定位,显示本式字符、符号;(2)查找该本式的每个子公式部件,进入子式;(3)重复步骤(1)-(2),直到没有子式可进入为止。
全文摘要
本发明提供了一种科学公式可视化编辑系统,该系统包括输入界面模块,用于提供标准的公式元件和输入公式窗口的用户界面,接收用户输入的公式,并将所述信息传给数据层模块;数据层模块,用于接收从输入界面模块传送的公式将其转换成相应XML标记存储在文件中,当接收到公式排版显示指令时,将存储在文件中的XML标记转换成对应的对象类的形式;排版显示模块,用于接收从数据层模块传送来的数据进行排版显示。利用组件技术,将公式作为组件来处理,使得该公式可视化编辑系统能做到可跨平台并且不可任意缩放,达到格式统一。
文档编号G06F17/24GK1553377SQ0313839
公开日2004年12月8日 申请日期2003年5月26日 优先权日2003年5月26日
发明者沈家正 申请人:珠海金山软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1