CN107390978B - 公式的显示方法、装置、终端及计算机可读存储介质 - Google Patents
公式的显示方法、装置、终端及计算机可读存储介质 Download PDFInfo
- Publication number
- CN107390978B CN107390978B CN201710622857.0A CN201710622857A CN107390978B CN 107390978 B CN107390978 B CN 107390978B CN 201710622857 A CN201710622857 A CN 201710622857A CN 107390978 B CN107390978 B CN 107390978B
- Authority
- CN
- China
- Prior art keywords
- elements
- polar
- sub
- displayed
- alignment line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了一种公式的显示方法,包括:获取待显示的公式中多级嵌套的各元素的布局模式和每一嵌套级别中元素与元素之间的位置关系;根据非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的待显示高度或对齐线信息;根据表达式组合的各子元素的对齐线信息排布所述各子元素,使所述各子元素的对齐线信息相同;按照每一嵌套级别中元素与元素之间的位置关系以及各元素的待显示高度,显示排布好所有表达式组合的子元素的公式。相应地,本发明还公开了一种公式的显示装置、终端及计算机可读存储介质。本发明实现了高效美观地显示公式,清楚地向用户展示公式结构的效果。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种公式的显示方法、装置、终端及计算机可读存储介质。
背景技术
教学触屏终端是在常规电教及计算机设备基础上发展起来的多功能装置,兼具教学、学术报告、会议等功能,满足现代教育对各种资源进行演示的要求。
利用教学触屏终端提供的白板软件,教师能像在传统黑板上书写一样,在白板上书写。然而,无论在传统黑板上还是白板软件上,常常会出现因教师字迹潦草而导致公式显示不清楚的问题。虽然现有技术的教学触屏终端能够应用图像处理的手段识别出公式中的字符及布局模式,但却无法对齐排布公式中的各元素,美观地显示公式。
发明内容
本发明提供一种公式的显示方法、装置、终端及计算机可读存储介质,以实现高效美观地显示公式,清楚地向学生用户展示公式结构。
第一方面,本发明实施例一提供了一种公式的显示方法,包括:
获取待显示的公式中多级嵌套的各元素的布局模式和每一嵌套级别中元素与元素之间的位置关系;其中,若第n级嵌套的一个元素下嵌套一个或多个第n+1级嵌套元素,则所述一个或多个第n+1级嵌套元素为该第n级嵌套元素的子元素;没有子元素的元素为极子元素,有子元素的元素为非极子元素;
根据非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的待显示高度或对齐线信息;其中,所述对齐线信息为纵坐标信息;极子元素的对齐线信息为自身最高点纵坐标与最低点纵坐标的算术平均值;极子元素的待显示高度是根据其上级元素的布局模式获得的;
根据表达式组合的各子元素的对齐线信息排布所述各子元素,使所述各子元素的对齐线信息相同;其中,所述表达式组合是布局模式为多个表达式封装成一组的元素;
按照每一嵌套级别中元素与元素之间的位置关系以及各元素的待显示高度,显示排布好所有表达式组合的子元素的公式。
第二方面,本发明实施例还提供一种公式的显示装置,包括:
获取模块,用于获取待显示的公式中多级嵌套的各元素的布局模式和每一嵌套级别中元素与元素之间的位置关系;其中,若第n级嵌套的一个元素下嵌套一个或多个第n+1级嵌套元素,则所述一个或多个第n+1级嵌套元素为该第n级嵌套元素的子元素;没有子元素的元素为极子元素,有子元素的元素为非极子元素;
计算模块,用于根据非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的待显示高度或对齐线信息;其中,所述对齐线信息为纵坐标信息;极子元素的对齐线信息为自身最高点纵坐标与最低点纵坐标的算术平均值;极子元素的待显示高度是根据其上级元素的布局模式获得的;
排布模块,用于根据表达式组合的各子元素的对齐线信息排布所述各子元素,使所述各子元素的对齐线信息相同;其中,所述表达式组合是布局模式为多个表达式封装成一组的元素;
显示模块,用于按照每一嵌套级别中元素与元素之间的位置关系以及各元素的待显示高度,显示排布好所有表达式组合的子元素的公式。
第三方面,本发明实施例还提供一种终端,所述终端包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的公式元素的对齐方法。
第四方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的公式元素的对齐方法。
本发明实施例根据公式中多级嵌套的元素的布局模式,逐级读取子元素的对齐线信息或高度,从而逐级获得对齐线信息或高度,利用对齐线信息对齐表达式组合的各子元素,然后按照元素之间的位置关系和元素的待显示高度显示公式,解决了现有技术无法对齐公式元素的问题,实现高效美观地显示公式,清楚地向用户展示公式结构的效果。
附图说明
图1是本发明实施例一中的公式的显示方法的流程图;
图2是本发明实施例一中的公式信息示意图;
图3是本发明实施例一中的公式元素对齐示意图;
图4是本发明实施例二中的公式的显示装置的结构示意图;
图5是本发明实施例三中的终端的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的公式的显示方法的流程图,本实施例可适用于教学触屏终端在获取了公式的字符和由字符组成的多级元素嵌套的结构(例如,公式中,字符x、=、a和b组成了第一级元素嵌套第二级元素x、=和第二级元素嵌套第三级元素a和b的结构)后绘制公式以显示给用户的情况,该方法可以由计算机程序指令来执行,具体包括如下步骤110、120、130和140。
步骤110、获取待显示的公式中多级嵌套的各元素的布局模式和每一嵌套级别中元素与元素之间的位置关系。
其中,若第n级嵌套的一个元素下嵌套一个或多个第n+1级嵌套元素,则所述一个或多个第n+1级嵌套元素为该第n级嵌套元素的子元素;没有子元素的元素为极子元素,有子元素的元素为非极子元素。
具体可参见图2所示的公式信息示意图;图2使用数学标记语言MathML示出了公式的信息,包括各元素的布局模式,例如标记mfrac、msup等表明元素的布局模式为分数模式、上标模式,在MathML中类似的布局模式还有msqrt、mrow、msubsup、mover、munderover和mmultiscipts等,分别表示根式、多个表达式封装成一组、上下标对、顶部标记、底部标记和顶底部标记等;还包括各元素的嵌套关系,例如第一级嵌套元素的标记<math>表示MathML文档的开始,表示MathML文档结束,中间嵌套了多个子元素;由元素的布局模式,还可获得每一嵌套级别中元素与元素之间的位置关系,比如元素的布局模式为分数,则第一个子元素在分数线上方,第二个子元素在分数线下方。
在图2中,第一级嵌套元素(标记为<Math>)下包含三个元素,分别是标识符元素(代表变量、函数名、常量等,标记为<mi>)x、操作符元素(标记为<mo>)=、以及分数元素(标记为<mfrac>)则这三个第二级嵌套元素为第一级嵌套元素<math>的子元素。
所述极子元素为没有子元素的元素。例如,在公式中,元素<mi>x</mi>、<mo>=</mo>、<mo>-</mo>、<mi>b</mi>、<mo>±<mo>、<mi>b</mi>和<mn>2</mn>都是没有子元素的元素,则定义它们为极子元素,而有子元素的元素则定义为非极子元素;可以理解,该定义名称为解释所用,并非限定本发明的范围。
具体地,步骤110、获取待显示的公式中多级嵌套的各元素的布局模式和每一嵌套级别中元素与元素之间的位置关系,具体包括:
获取待显示的公式的数学标记语言;
从所述数学标记语言中读取所述公式中多级嵌套的各元素的布局模式;
根据所述多级嵌套的各元素的布局模式,获得每一嵌套级别中元素与元素之间的位置关系。
以上公式的信息可从具有计算机处理能力的终端上获取笔迹然后利用图像处理的方法获取得到,显然,上述举例利用了数学标记语言MathML来记载公式信息仅是其中一种具体实施方式,本发明还可以其他语言记载公式信息。
步骤120、根据非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的待显示高度或对齐线信息。
其中,所述对齐线信息为纵坐标信息;极子元素的对齐线信息为自身最高点纵坐标与最低点纵坐标的算术平均值;极子元素的待显示高度是根据其上级元素的布局模式获得的。
具体地,调用一个或多个子元素的待显示高度和/或对齐线信息包括:调用一个或多个子元素的待显示高度和对齐线信息,或者,调用一个或多个子元素的待显示高度或对齐线信息,或者,调用一个或多个子元素的待显示高度以及另外一个或多个子元素的对齐线信息等。可以理解,对于不同布局模式的元素,其对齐线信息和待显示高度跟子元素的关系一般都不同,因此,对于不同布局模式的元素求待显示高度或对齐线信息,调用的子元素可能不同,调用子元素的信息是待显示高度或是对齐线信息也不相同。
具体地,按照步骤120,非极子元素根据子元素的待显示高度和/或对齐线信息获得自身的对齐线信息或高度信息,若子元素为非极子元素,则按照步骤120继续根据下级元素获得自身的对齐线信息或高度信息,返回给上级元素供上级元素计算调用;若子元素为极子元素,则极子元素的对齐线信息为自身最高点纵坐标与最低点纵坐标的算术平均值,待显示高度是根据其上级元素的布局模式获得的;即步骤120、根据非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的待显示高度或对齐线信息,具体包括:
若表达式组合的子元素中存在非极子元素,则根据该非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的对齐线信息;
在需要调用非极子元素的待显示高度时,根据该非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的待显示高度;
在需要调用非极子元素的对齐线信息时,根据该非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的对齐线信息。
步骤130、根据表达式组合的各子元素的对齐线信息排布所述各子元素,使所述各子元素的对齐线信息相同。
其中,所述表达式组合是布局模式为多个表达式封装成一组的元素,即并列的多个表达式的组合。在MathML语言中,表达式组合一般包括标记为<math>(将整个公式封装成一组)和<mrow>(表示将任意数目的子表达式水平的分成一组,起到封装的作用)的元素。在数学公式中,需要对齐的是表达式组合元素,比如<math>元素的三个子元素,x、=和<mrow>元素(图2中第5行)的子元素-、b、±和<mrow>元素(图2中第20行)的子元素2和a。对于这些表达式组合,均需要对齐显示才能清楚展示数据结构,本实施例为其设计对齐线信息,公式的排布以对齐线信息为基准对齐。
步骤140、按照每一嵌套级别中元素与元素之间的位置关系以及各元素的待显示高度,显示排布好所有表达式组合的子元素的公式。
下面具体说明该公式的显示方法的工作原理:
高效美观显示一个公式,使得公式的数据结构清楚需要获得元素的待显示高度和每一嵌套级别中元素与元素之间的位置关系(即同级多个元素分别置于哪个位置,例如,分数元素中的分子置于分母上方),以及对齐表达式组合。本实施例中,对于表达式组合元素,需要按照对齐线信息排布其子元素,则询问自身子元素的对齐线信息,该子元素根据自身布局模式询问下一级子元素的待显示高度和/或对齐线信息,逐级询问,直至极子元素返回自身待显示高度和/或对齐线信息给极子元素的父元素计算自身待显示高度和/或对齐线信息,逐级返回,计算出表达式组合中各子元素的对齐线信息,将各子元素排布,使得对齐线信息相同,即将表达式组合中各元素的对齐线对准。各元素的待显示高度也按照逐级询问和逐级返回的方式获得。结合元素与元素的位置关系可获得显示公式各要素,实现公式的显示。
本实施例根据公式中多级嵌套的元素的布局模式,逐级读取子元素的对齐线信息或高度,从而逐级获得对齐线信息或高度,利用对齐线信息对齐表达式组合的各子元素,然后按照元素之间的位置关系和元素的待显示高度显示公式,解决了现有技术无法对齐公式元素的问题,实现高效美观地显示公式,清楚地向用户展示公式结构的效果。
在上述方案的基础上,极子元素的待显示高度是根据其上级元素的布局模式获得的,包括:极子元素的待显示高度是根据其上一级元素的布局模式获得的,或者,极子元素的待显示高度是根据其上n级元素的布局模式获得的,n≥1;上级元素包括上n级元素。即视上级元素是何种类型的元素决定子元素是否需要变更字体大小,比如极子元素<mn>4</mn>,其父元素为分数元素<msqrt>,分数元素的子元素不需要变更字体大小,可与上一级元素保持同样的大小,则字体与上一级元素一致(在图2中,字体大小以最右一列的数字表示字号,极子元素<mn>4</mn>及其上一级元素字号都为1);而第12行的极子元素<mn>2</mn>,其上一级元素为上标元素<msup>,上标元素的第二个子元素需要设置字体偏小,则极子元素<mn>2</mn>的待显示高度为预设的小一号字体的尺寸(在图2中,体现为字体层级为2)。对于仅需显示简易公式的白板软件,可直接根据极子元素的上一级元素的布局模式,获得极子元素的待显示高度。而本实施例还提供了一种可对具有多层高度变更的公式的极子元素的待显示高度进行计算的具体方案,该具体方案根据公式的嵌套结构,根据上一级元素的布局模式,逐级计算子元素的待显示高度。即极子元素的待显示高度的获取方法包括:
根据非极子元素的布局模式,查询第三关联表,获得该非极子元素的布局模式对应的字号关系;其中,所述第三关联表记载了多个布局模式以及与每一元素布局模式对应的字号关系,所述字号关系为元素及其子元素的字号关系;
按照所述非极子元素的布局模式对应的字号关系,由该非极子元素的字号获得其子元素的字号;其中,第一级嵌套元素的字号为预设值;
根据极子元素的字号,查询第四关联表,获得极子元素的待显示高度;其中,所述第四关联表记载了多个字号以及与每一字号对应的待显示高度。
优选地,在所述第一关联表中,分数模式、根式模式和表达式组合模式对应的字号关系为元素及其子元素的字号相同;上标模式对应的字号关系为元素及其第一个子元素的字号相同,且元素及其第二个子元素的字号相差一个字号级别。
如图2所示的公式的数据结构,第一级嵌套元素<math>为表达式组合,字号为1,其子元素(包括标识符元素<mi>:x;操作符元素<mo>:=;以及分数元素<mfrac>:字号都与其相同,都为1。分数元素<mfrac>自身的两个子元素字号与其相同,也为1。对于<mfrac>元素的第一个子元素<mrow>来说,它又包含4个子元素<mo>、<mi>、<mo>、<msqrt>,每个子元素的字号都与其相同为1;当设置到<msqrt>元素的时候,其又包含5个子元素,<msup>、<mo>、<mn>、<mi>、<mi>,每个子元素的字号为1;当设置到<msup>元素的时候,其又包含2个子元素<mi>、<mn>,由于上标元素对应的字号关系为元素及其第一个子元素的字号相同,且元素及其第二个子元素的字号相差一个字号级别,那么对于<msup>来说第一个子元素与自己字号相同为1,第二个子元素字号+1为2。以此类推,最终得到所有极子元素的字号,如图2中最右一列数字所示。根据极子元素的字号,查询第二关联表,可得到极子元素的待显示高度。例如,对于字号为1的字体待显示高度为64,字号为2的字体尺寸为层级为1的字体尺寸的50%。对于一些有多字号级别的公式,例如:其中包括上标元素和下标元素利用此方式计算极子元素的待显示高度,更能清楚显示数据结构。
在上述技术方案的基础上,步骤120中,根据非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的待显示高度,具体包括:
根据非极子元素的布局模式,查询第一关联表,获得所述非极子元素的布局模式对应的待显示高度计算规则;其中,所述第一关联表记载了多个布局模式以及与每一布局模式对应的待显示高度计算规则;所述待显示高度计算规则涉及一个或多个子元素的待显示高度和/或对齐线信息;
按照所述非极子元素的布局模式对应的待显示高度计算规则,调用其涉及的子元素的待显示高度和/或对齐线信息,计算该非极子元素的待显示高度。
步骤120中,根据非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的对齐线信息,具体包括:
根据非极子元素的布局模式,查询第二关联表,获得所述非极子元素的布局模式对应的对齐线信息计算规则;其中,所述第二关联表记载了多个布局模式以及与每一布局模式对应的对齐线信息计算规则;所述对齐线信息计算规则涉及一个或多个子元素的待显示高度和/或对齐线信息;
按照所述非极子元素的布局模式对应的对齐线信息计算规则,调用其涉及的子元素的待显示高度和/或对齐线信息,计算该非极子元素的对齐线信息。
优选地,在所述第一关联表中,所述分数模式的对齐线计算规则为对齐线信息等于所述分数模式元素的最高点纵坐标、所述分数模式元素的第一个子元素的待显示高度与预设的第一阈值之和;所述根式模式的对齐线计算规则为对齐线信息等于所述根式模式元素的最高点纵坐标、其子元素的二分之一待显示高度与预设的第二阈值之和;所述上标模式的对齐线计算规则为所述上标模式元素的最高点纵坐标与第一个子元素的二分之一高度之和。
上述具体方案,设置了第二关联表存放非极子元素的对齐线计算规则,根据非极子元素的对齐线计算规则调用其涉及的子元素的待显示高度和/或对齐线信息。例如,在第二关联表中,分数模式的对齐线计算规则为对齐线信息等于所述分数模式元素的最高点纵坐标、所述分数模式元素的第一个子元素的待显示高度与预设的第一阈值之和,则在公式计算分数元素的对齐线时,需要调用第一个子元素的待显示高度,即需要计算的待显示高度,而是表达式组合,需要对齐后才能获得自身的高度;其对齐线的计算规则需要调用四个子元素的对齐线,其中,非极子元素的对齐线需要调用其子元素的高度,依次类推,逐级询问子元素的待显示高度和对齐线信息并逐级返回,可计算到分数元素的对齐线信息。需要说明的是,上述分数模式、根式模式或上标模式对应的对齐线计算规则为其中一种优选实施方式,其应用在公式元素显示的纵坐标零点设在屏幕的顶端会比较适用,使得分数元素的对齐线与其分数线位置相近,根式模式的对齐线略高于子元素的一半高度,上标模式的对齐线为第一个子元素的高度的一半,对齐效果更好。
在上述技术方案的基础上,步骤130、根据表达式组合的各子元素的对齐线信息排布所述各子元素,使所述各子元素的对齐线信息相同,具体包括:
计算表达式组合的各子元素的最高点纵坐标与其对齐线信息的差值;
以最高点纵坐标与对齐线信息差值最大的子元素的对齐线信息为基准,排布各子元素,使所述各子元素的对齐线信息与所述基准相同。
参见图3,是步骤130公式元素对齐示意图,其示出了以对齐线上方高度最大的元素的对齐线信息为基准,排布各子元素,使各子元素的对齐线信息与所述基准相同的具体方案。具体地,在公式元素显示的纵坐标零点设在屏幕的顶端的情况下,对齐线上方高度最大,即该元素最高点纵坐标信息与其对齐线信息的差值最大。因此,上述步骤130的具体方案能实现在公式元素显示的纵坐标零点设在屏幕的顶端的白板软件中,使公式对齐美观。
综上,本实施例根据公式中多级嵌套的元素的布局模式,逐级读取子元素的对齐线信息或高度,从而逐级获得对齐线信息或高度,利用对齐线信息对齐表达式组合的各子元素,然后按照元素之间的位置关系和元素的待显示高度显示公式,解决了现有技术无法对齐公式元素的问题,实现高效美观地显示公式,清楚地向用户展示公式结构的效果。
实施例二
图4为本发明实施例二中的公式的显示装置的结构示意图。该公式的显示装置包括:
获取模块410,用于获取待显示的公式中多级嵌套的各元素的布局模式和每一嵌套级别中元素与元素之间的位置关系;其中,若第n级嵌套的一个元素下嵌套一个或多个第n+1级嵌套元素,则所述一个或多个第n+1级嵌套元素为该第n级嵌套元素的子元素;没有子元素的元素为极子元素,有子元素的元素为非极子元素;
计算模块420,用于根据非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的待显示高度或对齐线信息;其中,所述对齐线信息为纵坐标信息;极子元素的对齐线信息为自身最高点纵坐标与最低点纵坐标的算术平均值;极子元素的待显示高度是根据其上级元素的布局模式获得的;
排布模块430,用于根据表达式组合的各子元素的对齐线信息排布所述各子元素,使所述各子元素的对齐线信息相同;其中,所述表达式组合是布局模式为多个表达式封装成一组的元素;
显示模块440,用于按照每一嵌套级别中元素与元素之间的位置关系以及各元素的待显示高度,显示排布好所有表达式组合的子元素的公式。
进一步地,获取模块410包括:
公式获取单元,用于获取待显示的公式的数学标记语言;
信息读取单元,用于从所述数学标记语言中读取所述公式中多级嵌套的各元素的布局模式;
位置关系获得单元,用于根据所述多级嵌套的各元素的布局模式,获得每一嵌套级别中元素与元素之间的位置关系。
进一步地,计算模块420包括:
第一调用单元,用于若表达式组合的子元素中存在非极子元素,则根据该非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的对齐线信息;
第二调用单元,用于在需要调用非极子元素的待显示高度时,根据该非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的待显示高度;
第三调用单元,用于在需要调用非极子元素的对齐线信息时,根据该非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的对齐线信息。
进一步地,排布模块430包括:
计算单元,用于计算表达式组合的各子元素的最高点纵坐标与其对齐线信息的差值;
对齐单元,用于以最高点纵坐标与对齐线信息差值最大的子元素的对齐线信息为基准,排布各子元素,使所述各子元素的对齐线信息与所述基准相同。
实施例三
图5为本发明实施例三提供的一种终端的结构示意图,如图5所示,该终端包括处理器510、存储器520、输入装置530和输出装置540;终端中处理器510的数量可以是一个或多个,图5中以一个处理器510为例;终端中的处理器510、存储器520、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的公式的显示方法对应的程序指令/模块(例如,公式的显示装置中的获取模块410、计算模块420、排布模块430和显示模块440)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述的公式的显示方法。
作为其中一种实施方式,该终端为教学触屏终端。
存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置530可用于接收输入的数字或字符信息,以及产生与终端的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。在教学触屏终端中,输入装置530与输出装置540集成于触控屏中。
实施例四
本发明实施例四还提供一种包含计算机可执行指令的存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例所述的公式的显示方法。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的公式元素的对齐方法中的相关操作.
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述公式的显示装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (9)
1.一种公式的显示方法,其特征在于,包括:
获取待显示的公式中多级嵌套的各元素的布局模式和每一嵌套级别中元素与元素之间的位置关系;其中,若第n级嵌套的一个元素下嵌套一个或多个第n+1级嵌套元素,则所述一个或多个第n+1级嵌套元素为该第n级嵌套元素的子元素;没有子元素的元素为极子元素,有子元素的元素为非极子元素;
根据非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的待显示高度或对齐线信息;其中,所述对齐线信息为纵坐标信息;极子元素的对齐线信息为自身最高点纵坐标与最低点纵坐标的算术平均值;极子元素的待显示高度是根据其上级元素的布局模式获得的,包括:极子元素的待显示高度是根据其上一级元素的布局模式获得的,或者,极子元素的待显示高度是根据其上n级元素的布局模式获得的;
根据表达式组合的各子元素的对齐线信息排布所述各子元素,使所述各子元素的对齐线信息相同;其中,所述表达式组合是布局模式为多个表达式封装成一组的元素,即并列的多个表达式的组合;
按照每一嵌套级别中元素与元素之间的位置关系以及各元素的待显示高度,显示排布好所有表达式组合的子元素的公式;
其中,所述根据非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的待显示高度或对齐线信息,具体包括:
若表达式组合的子元素中存在非极子元素,则根据该非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的对齐线信息;
在需要调用非极子元素的待显示高度时,根据该非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的待显示高度。
2.如权利要求1所述的公式的显示方法,其特征在于,所述获取待显示的公式中多级嵌套的各元素的布局模式和每一嵌套级别中元素与元素之间的位置关系,具体包括:
获取待显示的公式的数学标记语言;
从所述数学标记语言中读取所述公式中多级嵌套的各元素的布局模式;
根据所述多级嵌套的各元素的布局模式,获得每一嵌套级别中元素与元素之间的位置关系。
3.如权利要求1所述的公式的显示方法,其特征在于,所述根据非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的待显示高度,具体包括:
根据非极子元素的布局模式,查询第一关联表,获得所述非极子元素的布局模式对应的待显示高度计算规则;其中,所述第一关联表记载了多个布局模式以及与每一布局模式对应的待显示高度计算规则;所述待显示高度计算规则涉及一个或多个子元素的待显示高度和/或对齐线信息;
按照所述非极子元素的布局模式对应的待显示高度计算规则,调用其涉及的子元素的待显示高度和/或对齐线信息,计算该非极子元素的待显示高度;
所述根据非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的对齐线信息,具体包括:
根据非极子元素的布局模式,查询第二关联表,获得所述非极子元素的布局模式对应的对齐线信息计算规则;其中,所述第二关联表记载了多个布局模式以及与每一布局模式对应的对齐线信息计算规则;所述对齐线信息计算规则涉及一个或多个子元素的待显示高度和/或对齐线信息;
按照所述非极子元素的布局模式对应的对齐线信息计算规则,调用其涉及的子元素的待显示高度和/或对齐线信息,计算该非极子元素的对齐线信息。
4.如权利要求3所述的公式的显示方法,其特征在于,所述极子元素的待显示高度的获取方法包括:
根据非极子元素的布局模式,查询第三关联表,获得该非极子元素的布局模式对应的字号关系;其中,所述第三关联表记载了多个布局模式以及与每一元素布局模式对应的字号关系,所述字号关系为元素及其子元素的字号关系;
按照所述非极子元素的布局模式对应的字号关系,由该非极子元素的字号获得其子元素的字号;其中,第一级嵌套元素的字号为预设值;
根据极子元素的字号,查询第四关联表,获得极子元素的待显示高度;其中,所述第四关联表记载了多个字号以及与每一字号对应的待显示高度。
5.如权利要求1至4任一项所述的公式的显示方法,其特征在于,所述根据表达式组合的各子元素的对齐线信息排布所述各子元素,使所述各子元素的对齐线信息相同,具体包括:
计算表达式组合的各子元素的最高点纵坐标与其对齐线信息的差值;
以最高点纵坐标与对齐线信息差值最大的子元素的对齐线信息为基准,排布各子元素,使所述各子元素的对齐线信息与所述基准相同。
6.如权利要求3所述的公式的显示方法,其特征在于,所述布局模式包括分数模式、根式模式和上标模式;
在所述第一关联表中,所述分数模式的对齐线计算规则为对齐线信息等于所述分数模式元素的最高点纵坐标、所述分数模式元素的第一个子元素的待显示高度与预设的第一阈值之和;所述根式模式的对齐线计算规则为对齐线信息等于所述根式模式元素的最高点纵坐标、其子元素的二分之一待显示高度与预设的第二阈值之和;所述上标模式的对齐线计算规则为所述上标模式元素的最高点纵坐标与第一个子元素的二分之一高度之和。
7.一种公式的显示装置,其特征在于,包括:
获取模块,用于获取待显示的公式中多级嵌套的各元素的布局模式和每一嵌套级别中元素与元素之间的位置关系;其中,若第n级嵌套的一个元素下嵌套一个或多个第n+1级嵌套元素,则所述一个或多个第n+1级嵌套元素为该第n级嵌套元素的子元素;没有子元素的元素为极子元素,有子元素的元素为非极子元素;
计算模块,用于根据非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的待显示高度或对齐线信息;其中,所述对齐线信息为纵坐标信息;极子元素的对齐线信息为自身最高点纵坐标与最低点纵坐标的算术平均值;极子元素的待显示高度是根据其上级元素的布局模式获得的,包括:极子元素的待显示高度是根据其上一级元素的布局模式获得的,或者,极子元素的待显示高度是根据其上n级元素的布局模式获得的;
排布模块,用于根据表达式组合的各子元素的对齐线信息排布所述各子元素,使所述各子元素的对齐线信息相同;其中,所述表达式组合是布局模式为多个表达式封装成一组的元素,即并列的多个表达式的组合;
显示模块,用于按照每一嵌套级别中元素与元素之间的位置关系以及各元素的待显示高度,显示排布好所有表达式组合的子元素的公式;
其中,所述计算模块包括:
第一调用单元,用于若表达式组合的子元素中存在非极子元素,则根据该非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的对齐线信息;
第二调用单元,用于在需要调用非极子元素的待显示高度时,根据该非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的待显示高度;
第三调用单元,用于在需要调用非极子元素的对齐线信息时,根据该非极子元素的布局模式,调用该非极子元素的一个或多个子元素的待显示高度和/或对齐线信息,计算该非极子元素的对齐线信息。
8.一种终端,其特征在于,所述终端包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的公式的显示方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的公式的显示方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710622857.0A CN107390978B (zh) | 2017-07-27 | 2017-07-27 | 公式的显示方法、装置、终端及计算机可读存储介质 |
PCT/CN2017/116754 WO2019019534A1 (zh) | 2017-07-27 | 2017-12-17 | 公式的显示方法、装置、终端及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710622857.0A CN107390978B (zh) | 2017-07-27 | 2017-07-27 | 公式的显示方法、装置、终端及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107390978A CN107390978A (zh) | 2017-11-24 |
CN107390978B true CN107390978B (zh) | 2020-11-03 |
Family
ID=60342753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710622857.0A Active CN107390978B (zh) | 2017-07-27 | 2017-07-27 | 公式的显示方法、装置、终端及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107390978B (zh) |
WO (1) | WO2019019534A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107390978B (zh) * | 2017-07-27 | 2020-11-03 | 广州视源电子科技股份有限公司 | 公式的显示方法、装置、终端及计算机可读存储介质 |
CN114357944B (zh) * | 2021-12-17 | 2024-02-20 | 永中软件股份有限公司 | 大型运算符公式的布局方法和计算机装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101329731A (zh) * | 2008-06-06 | 2008-12-24 | 南开大学 | 图像中数学公式的自动识别方法 |
CN103176954A (zh) * | 2013-03-27 | 2013-06-26 | 重庆市科学技术研究院 | 一种基于HTML5 canvas的数学公式显示方法及系统 |
CN104598185A (zh) * | 2014-12-31 | 2015-05-06 | 乐视网信息技术(北京)股份有限公司 | 文字的字体校正方法及系统 |
JP2017033294A (ja) * | 2015-07-31 | 2017-02-09 | 株式会社イメージソース | 3次元描画システム及び3次元描画プログラム |
CN106776525A (zh) * | 2016-11-16 | 2017-05-31 | 广州视源电子科技股份有限公司 | 一种公式绘制方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW372295B (en) * | 1998-08-07 | 1999-10-21 | Arphic Technology Co Ltd | Structural graphic display system |
WO2001016687A2 (de) * | 1999-08-30 | 2001-03-08 | Datango Ag | Verfahren und vorrichtung zur positionierung eines markierungsmittels auf einer ausgabeeinheit |
CN102193786B (zh) * | 2010-03-11 | 2014-04-09 | 中国工商银行股份有限公司 | 一种自适应的图形用户界面构建装置及方法 |
CN104572577B (zh) * | 2014-12-17 | 2018-09-04 | 百度在线网络技术(北京)有限公司 | 数学公式处理方法及装置 |
CN107390978B (zh) * | 2017-07-27 | 2020-11-03 | 广州视源电子科技股份有限公司 | 公式的显示方法、装置、终端及计算机可读存储介质 |
-
2017
- 2017-07-27 CN CN201710622857.0A patent/CN107390978B/zh active Active
- 2017-12-17 WO PCT/CN2017/116754 patent/WO2019019534A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101329731A (zh) * | 2008-06-06 | 2008-12-24 | 南开大学 | 图像中数学公式的自动识别方法 |
CN103176954A (zh) * | 2013-03-27 | 2013-06-26 | 重庆市科学技术研究院 | 一种基于HTML5 canvas的数学公式显示方法及系统 |
CN104598185A (zh) * | 2014-12-31 | 2015-05-06 | 乐视网信息技术(北京)股份有限公司 | 文字的字体校正方法及系统 |
JP2017033294A (ja) * | 2015-07-31 | 2017-02-09 | 株式会社イメージソース | 3次元描画システム及び3次元描画プログラム |
CN106776525A (zh) * | 2016-11-16 | 2017-05-31 | 广州视源电子科技股份有限公司 | 一种公式绘制方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2019019534A1 (zh) | 2019-01-31 |
CN107390978A (zh) | 2017-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105302550B (zh) | 将页面转为版式数据流文件的方法及系统 | |
CN101025738B (zh) | 一种免模板动态网站生成方法 | |
CN109710590A (zh) | 一种错题本生成方法及装置 | |
CN103020295B (zh) | 一种问题标签标注方法及装置 | |
CN104036060A (zh) | 一种工程图在线审核方法和系统 | |
US8386943B2 (en) | Method for query based on layout information | |
CN103729457A (zh) | 基于互联网的数字化图书辅助阅读系统及其方法 | |
CN105224564A (zh) | 一种网页适应屏幕排版方法及装置 | |
CN107390978B (zh) | 公式的显示方法、装置、终端及计算机可读存储介质 | |
CN109871206B (zh) | Json树的视图化方法、装置、设备及可读存储介质 | |
KR102248823B1 (ko) | 데이터 시각화 서비스 시스템, 방법 및 어플리케이션 | |
CN104679453A (zh) | 一种信息录入、储存及排版打印的通用系统及方法 | |
CN101859186A (zh) | 一种输入数学公式的方法及装置 | |
CN111258577A (zh) | 页面渲染方法、装置、电子设备和存储介质 | |
US9886426B1 (en) | Methods and apparatus for generating an efficient SVG file | |
CN106650720A (zh) | 基于文字识别技术的网上评卷方法、装置及系统 | |
CN109408502A (zh) | 一种数据标准处理方法、装置及其存储介质 | |
CN106557454B (zh) | 文档到表格的转换方法及转换系统 | |
CN105989126A (zh) | 一种网页显示方法及装置 | |
JP5551986B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP6781819B2 (ja) | タスク処理方法及び分散コンピューティングフレームワークシステム | |
CN109656652B (zh) | 网页图表绘制方法、装置、计算机设备和存储介质 | |
US9262379B2 (en) | Matrix calculation device, matrix calculation method, and storage medium having matrix calculation program stored thereon | |
CN102902658A (zh) | 一种炫彩字显示方法和装置 | |
CN104615793A (zh) | 一种自动实现电子系统设计的数据描述方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |