一种公式处理方法与系统 【技术领域】
本发明涉及排版技术领域, 尤其涉及一种应用于公式排版过程的公式处理方法与系统。 背景技术 在科技类排版中, 公式排版在排版内容中占有比较大的比例, 占有很重要的地位。 对于传统的科技类排版软件, 公式的编辑、 插入以及正确显示一直是软件价值的体现之处, 而对于初次排版之后的版面, 往往存在着错误校对的问题, 而公式的校对尤为重要。
在现有的排版类软件中, 对于公式的查找、 校对以及替换功能普遍存在着较大的 欠缺。这是由于公式有着和流式排版完全不同的数据结构, 这使得在公式中进行查找替换
变得非常困难。排版人员进行对公式的校对时, 可能会发现所有的公式片断 该是 这时就需对整个实际上应这个公式片断进行查找替换, 而传统的公式编辑软件, 一般都没有提供这种对公式片断的查找替换功能。
因此, 现有排版技术存在着不能对整体公式进行查找以找出其所包含的特定公式 片断, 从而不能有效地对待编辑版面中的公式进行再编辑的问题, 使得在公式插入版面之 后的再编辑变得不方便, 影响了科技类排版的效率。 发明内容
本发明实施例提供了一种公式处理方法与系统, 以解决现有排版技术中不能在版 面所包含公式中查找公式片段的问题。
一种公式处理方法, 应用于公式排版过程, 包括以下步骤 :
接收输入的第一公式片段, 建立所述第一公式片段对应的第一树形结构数据 ;
通过将所述第一树形结构数据与待编辑版面中的公式所对应的树形结构数据进 行比较, 确定所述公式对应的树形结构数据中是否包含与所述第一树形结构数据相匹配的 部分。
上述方法中, 以与所述公式的树形结构数据相同的建立方式, 建立所述第一公式 片断对应的第一树形结构数据。
上述方法中, 按照深度优先的中序遍历的顺序, 将所述第一树形结构数据中的节 点与所述公式对应的树形结构数据中的节点进行比较。
上述方法中, 确定出所述公式对应的树形结构数据中包含与所述第一树形结构数 据相匹配的部分后, 还包括 : 将所述公式中该匹配部分所对应的公式片断设为选中状态。
上述方法中, 确定出所述公式对应的树形结构数据中包含与所述第一树形结构数 据相匹配的部分后, 还包括 : 将所述公式对应的树形结构数据中该匹配部分的树形结构数 据删除。
上述方法中, 还包括 :
接收输入的第二公式片段, 建立所述第二公式片段对应的第二树形结构数据 ;当确定出所述公式对应的树形结构数据中包含与所述第一树形结构数据相匹配 的部分后, 还包括 : 利用所述第二树形结构数据, 对所述公式对应的树形结构数据中该匹配 部分的树形结构数据进行替换处理。
上述方法中, 以与所述公式的树形结构数据相同的建立方式, 建立所述第二公式 片断对应的第二树形结构数据。
本发明实施例还提供了一种公式处理系统, 应用于公式排版过程, 包括接口模块、 公式转换模块和查找模块, 其中 :
接口模块, 用于接收输入的第一公式片段 ;
公式转换模块, 用于建立所述第一公式片段对应的第一树形结构数据 ;
查找模块, 用于通过将所述第一树形结构数据与所述公式所对应的树形结构数据 进行比较, 确定所述公式对应的树形结构数据中是否包含与所述第一树形结构数据相匹配 的部分。
上述系统中, 所述查找模块按照深度优先的中序遍历的顺序, 将所述第一树形结 构数据中的节点与所述公式对应的树形结构数据中的节点进行比较。
上述系统中, 所述查找模块在确定出所述公式对应的树形结构数据中包含与所述 第一树形结构数据相匹配的部分后, 还用于将所述公式中该匹配部分所对应的公式片断设 为选中状态。
上述系统中, 还包括 :
编辑模块, 用于在所述查找模块确定出所述公式对应的树形结构数据中包含与所 述第一树形结构数据相匹配的部分后, 对所述公式对应的树形结构数据中该匹配部分的树 形结构数据进行处理。
上述系统中, 所述编辑模块对所述公式对应的树形结构数据中该匹配部分的树形 结构数据进行处理具体为, 将所述公式对应的树形结构数据中该匹配部分的树形结构数据 删除。
上述系统中, 所述接口模块还用于接收输入的第二公式片段 ;
所述公式转换模块还用于建立所述第二公式片段对应的第二树形结构数据 ;
所述编辑模块对所述公式对应的树形结构数据中该匹配部分的树形结构数据进 行处理具体为, 利用所述第二树形结构数据, 对所述公式对应的树形结构数据中该匹配部 分的树形结构数据进行替换处理。
本发明实施例的上述技术方案, 通过对输入的第一公式片断建立对应的树形结构 数据, 然后将该公式片段所对应树形结构数据与待编辑版面中的公式所对应的树形结构数 据进行比较, 从而实现了对待编辑版面中所含有的公式进行公式片段的查找, 进而可以通 过对所述版面中公式对应的树形结构数据中与所述第一公式片断相匹配的部分数据的进 行处理, 从而可实现对所述版面所包含的公式中相应的公式片段的编辑, 方便了用户对公 式的再编辑过程, 提高了公式处理的效率和精确性。 附图说明
图 1 为本发明实施例提供的公式 [1] 所对应的树形结构数据示意图 ;
图 2 为本发明实施例提供的 “公式查找替换” 界面示意图 ;图 3 为本发明实施例提供的用户所做操作流程示意图 ; 图 4 为本发明实施例提供的应用于公式编辑的版面编辑系统结构示意图 ; 图 5 为本发明实施例提供的系统进行的在公式 [1] 中查找公式 图 6A 为本发明实施例提供的公式 图 6B 为本发明实施例提供的公式 的操作流程示意图 ;
所对应的树形结构数据示意图 ; 所对应的树形结构数据示意图 ;图 7 为本发明实施例提供的查找模块所进行的操作流程示意图。具体实施方式
下面结合附图对本发明的具体实施方式作进一步的详细描述。
在现有排版软件所编辑生成的版面中, 公式的数据存储结构一般是树形结构。下 面以公式 [1] 所对应的树形结构数据为例, 描述现有排版技术中公式所对应的数据结构, 公式 [1] 如下式所示 :
参见图 1, 为公式 [1] 所对应的树形结构图, 图中带有 1 至 11 的数字编号的圆圈分 别代表该树中的根节点和中间节点, 圆圈中数字为节点编号, 叶节点以其所代表的实际数 据标示, 其中, 中间节点可对应特定的运算符号。节点 1 直接包含四个子节点, 其中, 字母 a 和运算符号 + 所分别对应的节点为叶子节点, 节点 2 和节点 4 为节点 1 的子节点 ; 节点 2 对
应运算符号该运算符号附带一个可编辑区域, 即该根号下的开方数可编辑区域, 因此节点 2 下包含一个代表可编辑区域的节点即节点 3 ; 节点 3 包含两个叶节点, 分别对应数字 2 和字母 a ; 节点 4 对应分式运算符号, 该运算符号附带了分子、 分母两个可编辑区域, 因此 节点 4 包含了两个代表可编辑区域的节点, 即节点 5 和节点 9 ; 节点 5 的子节点 6 所对应运 算符号 该运算符号附带两个可编辑区域 ( 一个是开方数区域, 一个是开方幂次区域 ),因此节点 6 包含两个代表可编辑区域的节点, 即节点 7 和节点 8 ; 节点 7 包含三个叶节点, 分 别对应字母 x、 运算符号 +、 字母 y ; 节点 8 下的叶节点对应数字 2 ; 节点 9 包含一个叶节点, 其对应数字 2, 还包含一个子节点 10 ; 节点 10 对应包含有一个可编辑区域的运算符号 因此节点 10 包含一个节点即节点 11, 节点 11 包含两个叶节点, 分别对应数字 2 和字母 a。
上述树形结构中的以下节点分别对应公式 [1] 中特定的可编辑公式片断, 其中 : 节点 10 对应 : 节点 6 对应 : 节点 4 对应 : 节点 2 对应 : 节点 1 对应 : 上述公式只包含了含有二次根式 ( 两种形式的二次根式 )、 分式、 加法运算的情形, 实际应用中, 还可能包括其他运算形式, 如多次根式、 幂运算、 积分、 行列式、 方程组等多 种形式的运算, 其树形结构的建立方法与图 1 所示树形结构的建立方法和原理基本相同, 具体地, 不同的运算符号所附带的可编辑区域数目可能不同, 如幂运算的指数、 积分运算的 积分上、 下限都是公式的可编辑区域。
本发明实施例根据上述公式的树形结构数据的生成原理, 以及公式所对应的树形 结构数据, 提供一种公式处理方法和系统。 该系统可为用户提供公式编辑界面, 用户可在该 界面中输入所要查找的公式片断 ; 系统采用上述公式树形结构数据的建立原理, 根据该公 式片段建立其所对应的树形结构数据, 并将该树形结构数据与版面中所含有的公式对应的 树形结构数据相比较, 以确定该公式对应树形结构数据中是否有与所要查找的公式片断所 对应的树形结构数据相匹配的部分, 即, 该公式中是否包含与所要查找的公式片段完全相 同的公式片段, 如果有, 则用户可根据不同需要对该相匹配的部分进行相应的处理, 即, 对 在公式中查找到的公式片段进行处理。
上述所述的对在公式中查找到的公式片段进行处理, 可包括 : 对查找出的公式片 段进行选中、 删除或替换。系统可将查找到的公式片断以选中状态呈现给用户, 然后根据 用户的操作对选中状态的公式片断进行相应处理, 如根据用户提交的删除命令删除公式片 断, 或者根据用户提交的替换命令用其他公式片断进行替换。 当然, 系统也可根据用户提交 的替换命令, 首先执行公式片断的查找流程, 然后直接用替换公式片断替换查找到的公式 片断, 而不需要将查找到的公式片断呈现给用户。 本发明实施例提供的用户界面可以如图 2 所示, 为 “公式查找替换” 界面, 其中 “查 找内容” 右侧对应用户所要查找的公式片断的编辑区域 ; “替换为” 右侧对应用户对所查找 出的公式片断进行替换所需的替换公式片断的编辑区域 ; “查找” 按钮用于触发公式片断的 查找操作 ; “删除” 按钮用于触发对所查找出的公式片断的删除操作 ; “替换” 按钮用于触发 对所查找出的公式片断进行替换操作。
利用图 2 所示界面, 假设用户在版面所包含的公式中查找并将其替换为 在操作流程如图 3 所示, 具体步骤为 :
步骤 301、 在图 2 所示界面中的 “查找内容” 对应区域输入将要查找的公式“替换为” 对应区域输入所要替换成的公式
步骤 302、 点击 “查找” 按钮, 以提交公式查找命令使版面编辑系统执行公式查找操 该步骤中, 版面编辑系统从光标在文档中当前所在位置开始执行公式查找操作, 的公式, 以及这些公式中所有包含作;
从而可以查找出光标位置之后的文档中所有包含 的公式中查找
的区域。如果在点击 “查找” 按钮前已经选择了文档中的某个或某些公式, 则在所选择 步骤 303、 查找结束后, 点击 “替换” 按钮, 以提交公式片断替换命令, 使版面编辑系 替换为统将查找出的
上述流程中, 替换公式片断的输入也可在步骤 303 中进行, 即, 进行完查找操作 后, 再输入替换公式片断, 再点击 “替换” 按钮, 对所查找出的公式片断进行替换。
上述流程描述了用户先进行公式片断查找操作、 再进行公式片断替换操作的过程, 如果用户仅仅需要对公式片断进行查找, 不进行后续操作, 则进行到步骤 302 即可 ; 如 果用户需对查找出的 进行删除, 则可在进行完步骤 302 后点击 “删除” 按钮, 或者在进行 替换为 则进行 完步骤 301 后直接点击 “删除” 即可 ; 如果用户需对版面中所含有的 后直接用
完步骤 301 后, 直接点击 “替换” 按钮, 则系统首先进行上述公式片断查找操作, 在查找结束 替换查找到的 如图 4 所示, 为本发明实施例提供的公式处理系统, 包括 : 接口模块 401、 公式转换 模块 402 和查找模块 403, 其中 :
接口模块 401, 用于接收用户输入的所要查找的公式片段 ;
公式转换模块 402, 用于根据接口模块 401 所接收的公式片段, 以与待编辑版面中 的公式对应的树形结构数据相同的建立方式, 建立该公式片段对应的树形结构数据 ;
查找模块 403, 用于将该公式片断对应的树形结构数据与待编辑版面中的公式所 对应的树形结构数据进行比较, 以确定出版面中的公式对应的树形结构数据中是否包含与 该公式片断对应的树形结构数据相匹配的部分, 从而确定出版面中的公式是否包含所要查 找的公式片断。 进一步地, 在查找到该公式片断后, 可将查找到的公式片断以选中状态呈现 给用户。 进一步地, 根据不同的处理需要, 本系统还可以包含一编辑模块 404, 用于在查找 模块 403 确定出公式对应的树形结构数据中包含与要查找的公式片段对应树形结构数据 相匹配的部分后, 对该匹配的部分进行处理, 该处理具体可包括 :
将该公式对应的树形结构数据中所包含的所述匹配部分数据删除 ; 或者, 将该公 式对应的树形结构数据中所包含的所述匹配部分数据替换为其他公式片断所对应的树形 结构数据。
若要实现公式片断替换, 则还需要接口模块 401 能够接收输入的替换公式片段, 用来替换所查找出的公式片段 ; 以及, 需要公式转换模块 402 能够根据接口模块 401 所接收 的替换公式片段, 以与所述公式的树形结构数据相同的建立方式, 建立所述替换公式片断 对应的树形结构数据。
现以在公式 [1] 中查找然后将查找到的替换为为例, 描述图 4 所示 和替换公式片段 所对 的总可 下的系统所执行的操作流程, 如图 5 所示, 具体执行步骤为 :
步骤 501、 接口模块 401 接收用户输入的所要查找的公式片段 步骤 502、 公式转换模块 402 建立公式片段 其中,
所对应的树形结构数据和应的树形结构数据 ;
对应的树形结构数据如图 6A 所示, 节点 601 对应公式片段 节点 603 对应运算符号编辑区域, 节点 602 对应附带一个可编辑区的运算符号 6B 所示 ;
可编辑区域, 其两个叶节点分别对应数字 2 和字母 a ; 类似地,对应的树形结构数据如图 对应的树形结构步骤 503、 查找模块 403 按照深度优先的中序遍历的顺序, 将( 图 6A 所示 ) 与公式 [1] 对应的树形结构 ( 图 1 所示 ) 中的节点相比较, 确定公式 [1] 对 应的树形结构数据中是否含有与 对应的树形结构数据相匹配的树形结构数据。比较结果为 : 公式 [1] 对应的树形结构中, 节点 2 及其所有子节点组成的树形结构数据, 和节点 10 及其所有子节点组成的树形结构数据分别与 [1] 中查找到上述两处可编辑区域中都包含
对应的树形结构数据相匹配, 表明在公式步骤 504、 编辑模块 404 接收到用户提交的 “替换” 命令, 并根据该命令将公式 [1] 替换为 即, 将图 1 所示的树形结构中的节点 2 及其所有子节点删除, 在中所含有的原节点 2 处插入图 6B 所示的树形结构中节点 602’ 及其所有子节点, 将图 1 所示的树形结 构中的节点 10 及其所有子节点删除, 在原节点 10 处插入图 6B 所示的树形结构中节点 602’ 及其所有子节点。
上述流程中, 建立公式片段 之后再执行。对应的树形结构数据的过程也可以在在查找模块403 查找到公式片段
上述流程描述了用户先执行查找操作, 再执行替换操作的流程, 而实际应用中, 本 系统还可根据用户的不同需求执行不同的处理流程, 即对上述流程作出相应的调整, 具体 可包括 : 如用户只需对 进行查找 ( 通过在 “公式查找替换” 界面中输入 和仅提交 有关
“查找” 命令 ), 而不进行后续操作, 则进行到步骤 503 即流程结束, 并且与公式片段 式片段
的操作也无需进行 ; 如需对查找结果进行呈现, 则在步骤 503 中, 查找模块 403 在查找到公 之后将该 设为选中状态 ; 直接进行删除 ( 通过在 “公式查找替换” 界面中输入 如果用户需对查找出的和仅提交 “删除” 命令 ), 则在步骤 503 执行完之后, 编辑模块 404 立即将查找模块 403 所查找到的公式片断删除, 本流程结束 ;
如果用户需对查找出的有选择地进行删除操作 ( 通过在 “公式查找替换” 界面 都设为选中状态呈现给用户, 然后编辑 删除, 本流程结束 ;中输入和提交 “查找” 命令, 并在查找到公式片断后提交 “删除” 命令 ), 则还需查找模块 后将公式 [1] 中所含有的两个 以及提交的删除命令 ( 用户可通过鼠标选择公式 [1] 有选择地进行替换操作, 则还需查找模块 403 在查找 都设为选中状态呈现给用户, 然后编辑模块 404 根 替换所选择的403 在查找到 中的两个
模块 404 再根据用户从中选择的 如果用户需对查找出的 后将公式 [1] 中所含有的两个中的一个, 然后提交删除命令 ) 将所选择的到
据用户从中选择的以及提交的 “替换” 命令, 用下面结合图 1 和图 6A, 详细描述图 5 所示流程的步骤 503 中查找模块 503 的查找 过程。如图 7 所示, 该流程包括步骤 :
步骤 701、 将图 6A 所示树形结构中的节点 601 与图 1 所述树形结构中的节点 1 进 行比较, 都为可编辑区域, 则两节点匹配, 按照深度优先的中序遍历顺序, 将节点 601 的子 节点节点 602 作为当前节点, 将节点 1 的左子节点作为当前节点, 进入步骤 702 ;
步骤 702、 将两当前节点进行比较, 节点 602 对应的运算符号为附带有一个可编辑 区的
而节点 1 的左子节点对应字母 a, 则当前两节点不匹配, 将节点 1 的子节点节点 2 对应的当前节点不变, 仍为节点 602, 进入步骤 703 ; 步骤 703、 将两当前节点进行比较, 节点 2 对应的运算符号为附带有一个可编辑区9作为当前节点,102033863 A CN 102033866说明书7/7 页的与节点 602 匹配, 因此将节点 602 的子节点节点 603 作为当前节点, 将节点 2 的子节点节点 3 作为当前节点, 进入步骤 704 ;
步骤 704、 将节点 603 和节点 3 进行比较, 都表示可编辑区域, 两当前节点匹配, 将 节点 602 的左子节点作为当前节点, 将节点 3 的左子节点作为当前节点, 进入步骤 705 ;
步骤 705、 将两当前节点进行比较, 两当前节点所对应的运算符号相同, 则两当前 节点匹配, 将节点 602 的右子节点作为当前节点, 将节点 3 的右子节点作为当前节点, 进入 步骤 706 ;
步骤 706、 将两当前节点进行比较, 两当前节点匹配 ;对应树形数据结构的所 重新将其有节点比较完毕, 可确定出公式 [1] 对应的树形结构数据中, 节点 2 及其所有子节点组成的 树形结构数据与 所对应的树形结构数据相匹配, 即公式 [1] 中含有一个 根节点作为当前节点, 将节点 1 下的 + 所对应的子节点作为当前节点, 重复与上述流程类似 的比较过程, 以确定公式 [1] 中是否还含有更多个 上述步骤 706 中, 重新选定当前节点的操作也可在用户对所确定出的树形结构数 据 ( 即查找到的公式片断 ) 进行处理之后再执行。
上述流程以按照深度优先的中序遍历的顺序为例进行描述, 但本领域技术人员应 该能够理解, 还可以采用其他遍历顺序对树形结构中的节点进行遍历。
综上所述, 本发明所提供的技术方案, 可实现对排版类软件所生成的公式进行公 式片段的查找, 并可根据用户的不同需要, 进一步对所查找出的公式片段进行选中、 删除或 替换处理 ; 所述技术方案建立在对公式或公式片段所对应的树形结构数据进行操作的基础 上, 不仅能够实现对公式中包含的单个数字、 字母或符号进行处理, 还可实现对公式中所包 含的由多个数字、 字母或符号构成的公式片断进行的整体处理, 从而完善了排版类软件的 功能, 提高了公式处理系统的效率和准确性。
显然, 本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样, 倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内, 则本发明也意图包含这些改动和变型在内。