CN113886741A - 用于对公式进行排版的方法及其相关产品 - Google Patents
用于对公式进行排版的方法及其相关产品 Download PDFInfo
- Publication number
- CN113886741A CN113886741A CN202111227861.XA CN202111227861A CN113886741A CN 113886741 A CN113886741 A CN 113886741A CN 202111227861 A CN202111227861 A CN 202111227861A CN 113886741 A CN113886741 A CN 113886741A
- Authority
- CN
- China
- Prior art keywords
- typesetting
- engine
- formula
- typeset
- alternative
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000004044 response Effects 0.000 claims abstract description 4
- 239000000203 mixture Substances 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 7
- 238000012216 screening Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 20
- 230000008901 benefit Effects 0.000 abstract description 9
- 230000000694 effects Effects 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 15
- 238000003860 storage Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000021615 conjugation Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004816 latex Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明的实施方式提供了一种用于对公式进行排版的方法及其相关产品。该用于对公式进行自动化排版的方法包括:响应于对网页中公式的排版需求,确定用于对所述公式进行排版的首选排版引擎和备选排版引擎;获取关于所述公式的多个排版单元;以及调用所述首选排版引擎和所述备选排版引擎对所述排版单元进行排版,以实现对所述公式的排版。根据本发明的方法可以对公式采用多排版引擎进行混合排版,使得排版过程兼容了不同排版引擎的优势,从而确保排版效果能够满足实际需求,并进而提升了用户的使用体验。
Description
技术领域
本发明的实施方式涉及排版编辑技术领域,更具体地,本发明的实施方式涉及用于对公式进行排版的方法、用于执行前述方法的设备和计算机程序产品。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述可包括可以探究的概念,但不一定是之前已经想到或者已经探究的概念。因此,除非在此指出,否则在本部分中描述的内容对于本申请的说明书和权利要求书而言不是现有技术,并且并不因为包括在本部分中就承认是现有技术。
随着信息的数字化发展,以网页形式呈现信息已成为主流。特别是通过网页展示公式,例如数学公式题库页面。通常网页中的公式是以LaTex语法书写,并以超文本标记语言(Hyper Text Markup Language,HTML)格式的字符串形式存储在后台数据库中。在页面展示过程中,将包含公式的HTML字符串传输到浏览器后,再进行排版处理以便用户阅读。
然而,目前在对公式进行排版过程中会出现排版质量和速度无法兼顾的问题:要么排版速度慢,导致用户体验差;要么排版速度虽有所提升,但容易出现排版错误,不仅需要人工修复,并且整个过程需要较高的实现成本。
发明内容
已知的对公式的排版方式单一且效果不理想,这是非常令人烦恼的过程。
为此,非常需要一种改进的用于对公式进行排版的方法及其相关产品,可以充分利用不同排版引擎的优势实现对公式的低成本排版,使得排版效果更贴合实际需求。
在本上下文中,本发明的实施方式期望提供一种用于对公式进行排版的方法及其相关产品。
在本发明实施方式的第一方面中,提供了一种用于对公式进行排版的方法,包括:响应于对网页中公式的排版需求,确定用于对所述公式进行排版的首选排版引擎和备选排版引擎;获取关于所述公式的多个排版单元;以及调用所述首选排版引擎和所述备选排版引擎对所述排版单元进行排版,以实现对所述公式的排版。
在本发明的一个实施例中,其中调用所述首选排版引擎和所述备选排版引擎对所述排版单元进行排版包括:调用所述首选排版引擎对所述排版单元进行排版;以及调用所述备选排版引擎对经所述首选排版引擎排版失败的排版单元进行再次排版。
在本发明的另一个实施例中,其中调用所述备选排版引擎进行再次排版包括:在所述首选排版引擎完成对所有所述排版单元的排版后,调用所述备选排版引擎对所有排版失败的排版单元进行再次排版;或者在所述首选排版引擎对任一所述排版单元的排版失败时,异步调用所述备选排版引擎对其进行再次排版。
在本发明的又一个实施例中,其中调用所述首选排版引擎对所述排版单元进行排版包括:将全部所述排版单元存储至第一队列中;调用所述首选排版引擎对所述第一队列中的排版单元进行排版;以及将排版失败的排版单元备份至第二队列中。
在本发明的再一个实施例中,其中调用所述备选排版引擎进行再次排版包括:根据所述第二队列中的备份信息对相应的排版单元进行初始化处理,并调用所述备份排版引擎对经初始化处理后的排版单元进行再次排版。
在本发明的一个实施例中,其中确定用于对所述公式进行排版的首选排版引擎和备选排版引擎包括:从多个具有不同功能的排版引擎中筛选出满足所述排版需求的排版引擎,并确定其为所述首选排版引擎;以及确定剩余排版引擎中的至少一个排版引擎为所述备选排版引擎。
在本发明的另一个实施例中,其中获取关于所述公式的多个排版单元包括:基于对所述网页中公式的提取处理,生成多个相互独立的排版单元。
在本发明的又一个实施例中,还包括:在调用所述首选排版引擎和/或所述备选排版引擎对排版单元排版失败时,生成关于排版失败的排版单元的报错信息。
在本发明实施方式的第二方面中,提供了一种设备,包括:处理器;以及存储器,其存储有用于对公式进行排版的计算机指令,当所述计算机指令由所述处理器运行时,使得所述设备执行根据前文以及下文多个实施例所述的方法。
在本发明实施方式的第三方面中,提供了一种计算机程序产品,包含用于对公式进行排版的程序指令,当所述程序指令由处理器执行时,使得所述设备执行根据前文以及下文多个实施例所述的方法。
根据本发明实施方式的用于对公式进行排版的方法及其相关产品,可以利用首选排版引擎和备选排版引擎完成对公式的多引擎混合排版,使得排版过程兼容了不同排版引擎的优势,从而确保排版效果能够满足实际需求,并进而提升了用户的使用体验。另外,整个排版过程无需人为过多干预且可以基于浏览器侧来处理,从而有效降低实现成本。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了适于实现本发明实施方式的示例性计算系统100的框图;
图2示意性地示出了根据本发明一个实施例的用于对公式进行排版的方法流程图;
图3示意性地示出了根据本发明另一个实施例的用于对公式进行排版的方法流程图;
图4示意性地示出了根据本发明实施例的进行排版调度的流程图;以及
图5示意性地示出了根据本发明实施例的设备的示意框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
图1示出了适于实现本发明实施方式的示例性计算系统100的框图。如图1所示,计算系统100可以包括:中央处理单元(CPU)101、随机存取存储器(RAM)102、只读存储器(ROM)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113和显示器114。这些设备中,与系统总线104耦合的有CPU 101、RAM 102、ROM 103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设备113与并行接口控制器108耦合,以及显示器114与显示控制器109耦合。应当理解,图1所述的结构框图仅仅是为了示例的目的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况增加或减少某些设备。
本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式,本文一般称为“电路”、“模块”“单元”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举示例)例如可以包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(包括局域网(LAN)或广域网(WAN))连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法的流程图和设备(或系统)的框图描述本发明的实施方式。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置的产品。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
根据本发明的实施方式,提出了一种用于对公式进行排版的方法及其相关产品。
在本文中,需要理解的是,所涉及的排版单元可以表示为关于公式的待排版内容。此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,通常在对公式进行排版时,需要将包含公式的HTML字符串传输到浏览器,并使用单一的排版引擎进行排版。例如,通常会使用MathJax引擎进行排版。然而MathJax引擎所支持的功能虽然比较全面,但是其排版速度较慢,使得在排版过程中经常会出现页面晃动。而为克服页面晃动问题,通常还会使用等待界面对其进行遮盖,导致用户需要更长的等待时间。为了提高排版速度,相关技术中采用KaTeX引擎来代替MathJax引擎进行排版。KaTeX引擎虽然具有较快的排版速度,但是其所支持的功能不如MathJax引擎全面。因此,在排版过程中经常会出现错误,导致用户无法正常阅读。
基于此,发明人还发现在对公式进行排版过程中,通过调度不同功能的排版引擎进行混合排版替换传统的单一排版方式,能够有效克服排版效果不理想的问题。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
示例性方法
下面参考图2来描述根据本发明示例性实施方式的用于对公式进行排版的方法。需要注意的是,本发明的实施方式可以应用于适用的任何场景。
图2示意性地示出了根据本发明一个实施例的用于对公式进行排版的方法200流程图。如图2中所示,方法200可以包括:在步骤S201处,可以响应于对网页中公式的排版需求,确定用于对前述的公式进行排版的首选排版引擎和备选排版引擎。在一些实施例中,前述的排版需求可以由用户来触发。例如,检测到用户对某包含公式的网页的访问操作(例如对页面链接的点击操作,或者关于页面地址或关键词的输入操作等),即可确定有对公式的排版需求。可以理解的是,这里对排版需求的描述仅是示例性说明,本发明的方案并不受此限制。
在一些实施例中,可以根据不同的需求场景来调整前述的首选和备选排版引擎。具体涉及可以从多个具有不同功能的排版引擎中筛选满足前述排版需求的排版引擎作为首选排版引擎。而前述的备选排版引擎可以包括剩下排版引擎中的至少一个排版引擎。例如,引擎库包含多个引擎(例如MathJax和KaTeX引擎等),其中KaTeX引擎具有排版速度快的优势,而MathJax引擎具有功能全面的优势。当有对公式进行快速排版需求时,可以确定KaTeX引擎为首选排版引擎,而MathJax引擎可作为备选排版引擎。可以理解的是,这里关于首选和备选排版引擎确定过程的描述仅是一种可能的实施方式,本发明的方案并不受此限制。
在一些实施例中,在步骤S202处,可以获取关于前述公式的多个排版单元。如前所述,这里的排版单元可以理解为包含公式的待排版内容。在一些实施例中,对于前述的排版单元的获取可以涉及基于对网页中公式的提取处理来生成多个排版单元。这些排版单元之间相互独立且互不影响,为后续引入多个引擎对公式进行混合排版提供前提保障。另外,在一些实施例中,前述的提取处理操作可以涉及对网页进行分割,并可以从分割后的各个区域中提取公式。可以理解的是,这里对提取处理操作的描述仅是一种示例性说明,本发明的方案并不受此限制。例如,还可以不对网页进行分割,直接进行公式的提取。
在一些实施例中,在步骤S203处,可以调用前述的首选排版引擎和备选排版引擎对排版单元进行排版,以实现对公式的排版。例如,可以调用前述的首选排版引擎对排版单元进行排版,并可以调用备选排版引擎对经首选排版引擎排版失败的排版单元进行再次排版。在一些实施例中,前述首选排版引擎的排版过程可以涉及将全部排版单元存储至第一队列中。接着,可以调用前述的首选排版引擎对第一队列中的排版单元进行排版。然后,可以将排版失败的排版单元备份至第二队列中。例如,可以将排版单元的初始化信息(例如公式的原始html信息)拷贝至第二队列中。替换地,也可以拷贝完整的排版单元至第二队列中。可以理解的是,这里对首选排版引擎的排版过程的描述仅是一种示例性说明,并不对本发明的方案进行限制。
前述的备份排版引擎的再次排版操作可以包括多种方式。例如,在第一实施例中,可以在前述的首选排版引擎完成对所有排版单元的排版后,调用备选排版引擎对所有排版失败的排版单元进行再次排版。例如,在首选排版引擎为KaTeX引擎且备选排版引擎为MathJax引擎时,可以利用KaTeX引擎快速的对所有排版单元进行排版,然后利用功能全面的MathJax引擎对KaTeX引擎无法正确的排版单元再次进行排版。基于此,在对公式进行排版时可以兼容排版速度和质量,实现对排版效果最大程度上的优化。
替换地,在第二实施例中,还可以在首选排版引擎对任一排版单元排版失败时,异步调用备选排版单元引擎对该排版单元进行再次排版。然后,在完成对该排版单元的再次排版后,继续调用首选排版引擎进行下一排版单元的排版。可以理解的是,这里对备选排版引擎的排版方式的描述仅是示例性说明,本发明的方案并不受此限制。需要说明的是,本发明的实施方式优选地采用前述第一实施例所描述的方式,可以有效提高整体排版效率。
在一些实施例中,在前述的首选排版引擎将排版失败的排版单元备份至第二队列后,可以根据第二队列中的备份信息对相应的排版单元进行初始化处理。然后,调用备份排版引擎对经初始化处理后的排版单元进行再次排版。在一些实施例中,如前所示,前述的备份信息可以包括排版单元的初始化信息,可以通过排版单元的初始化信息将排版单元恢复成初始状态。需要说明的是,本发明可以优选该实施例中所描述的利用备份信息对排版单元进行初始化恢复的方案,可以有效避免因首次排版引擎对排版单元的影响而导致其再次排版失败的情况,从而进一步实现对排版效果的优化。可以理解的是,这里关于初始化处理的描述仅是示例性说明,本发明的方案并不受此限制。例如,在备份信息为完整的排版单元时,无需对排版单元进行初始化,可以直接调用备份排版引擎进行再次排版。
在一些实施例中,若备份排版引擎为多个时,还可以再引入一队列,将上一队列中排版失败的排版单元备份至该队列,继续进行排版,直至所有备份排版引擎完成对排版单元的排版。
进一步地,在一些实施例中,还可以在调用首选排版引擎和/或备选排版引擎对排版单元排版失败时,生成关于排版失败的排版单元的报错信息。基于此,一方面可以对排版失败的公式进行精准定位,而无需人工在整个数据库中进行筛查,有效提高了处理效率,并节省了人力成本。另一方面,相关人员可以直观地通过报错信息了解相关引擎功能,从而便于对其进行功能改善。
图3示意性地示出了根据本发明另一个实施例的用于对公式进行排版的方法流程图。可以理解的是,图3可以是图2中各个步骤的一种示例性的实现方式。因此,前文结合图2中对各个步骤的细节性描述同样适用于下文。
如图3所示,在步骤S301处,可以进行排版单元的提取。例如,可以对需要进行公式排版的网页进行分割,并从分割后的各个区块中提取相互独立且不影响的各个排版单元。
接着,在步骤S302处,可以将前述的排版单元存入排版单元队列中。在一些实施例中,每个前述的排版单元在初始化后,会进入一个排版单元队列以待排版。
接着,在步骤S303处,启动引擎管理模块进行引擎管理。在一些实施例中,前述的引擎管理模块具备对首选排版引擎的管理、备选排版引擎的管理、再次排版队列的管理以及引擎的调度等功能。在一些实施例中,对于首选以及备选排版引擎的管理可以包括引擎的加载、配置以及调用引擎排版某个排版单元。
接着,在步骤S304处,可以进行排版调度。在一些实施例中,如图4所示,排版的调度具体可以涉及以下步骤S401~S404。
S401.从排版单元队列中取排版单元。若排版单元队列中无排版单元、且再次排版队列中无项目,则结束排版;若排版单元队列中无排版单元、且再次排版队列中有项目,则执行步骤S403。若排版单元队里中有排版单元,则继续执行步骤S402。
S402.使用首选排版引擎对排版单元进行排版。在一些实施例中,可以先调用首选排版引擎(具体可以涉及对其进行加载并配置)。接着,可以备份排版单元的相关信息。具体的备份过程可以参考前文结合图2所描述的备份操作,这里不再进行赘述。然后,使用首选排版引擎对排版单元进行排版。若排版失败,则将排版单元的备份信息推入再次排版单元队列中,并可以异步加载备用排版引擎(具体可以涉及备用排版引擎的加载和配置,若已完成加载则可以直接调用),然后返回步骤S401。而在排版成功时,可以返回步骤S401,执行对下一排版单元的提取。
S403.从再次排版队列中取出排版单元的备份信息。在一些实施例中,若确定无备份信息,则可以结束排版;若确定有备份信息,则根据备份信息将相应的排版单元恢复成初始状态,并执行步骤S404。上述排版过程,可以优先对排版单元队列进行处理,然后再对再次排版队列进行处理,从而提高整体的排版速度。
S404.使用备选排版引擎对恢复初始状态的排版单元进行排版,并在完成排版后返回执行步骤S403,继续取下一排版单元的备份信息。在一些实施例中,在确定排版失败时,还需进行报错处理。例如,可以进行报错通知,或者进一步可以生成报错信息,以便相关人员查看。另外,报错处理操作不仅限于再次排版阶段,还可以对首选排版引擎无法正常排版的排版单元进行报错处理,有利于相关人员对排版引擎进行功能完善。基于上述的排版调度,实现了对公式的多引擎混合排版,使得排版过程兼容了不同排版引擎的优势,从而确保排版效果能够满足实际需求。
需要说明的是,本发明实施例中的多个排版引擎可以在同一个页面加载以及进行初始化,并且不会出现冲突。例如,MathJax引擎和KaTeX引擎等可以在同一个页面进行加载以及配置。在一些实施例中,可以在网页中完成KaTeX引擎的加载以及相关插件的加载,并通过相关应用程序编程接口(Application Programming Interface,API)进行排版。例如,可以调用renderMathInElement API进行排版。而MathJax引擎可以在网页中完成加载以及配置后,直接对网页中的所有内容进行排版。可以看出,本发明的方案可以在浏览器侧进行处理,无需过多人工干预,有效降低了实现成本。
示例性设备
在介绍了本发明示例性实施方式的方法之后,接下来,参考图5对本发明示例性实施方式的用于对公式进行排版的相关产品进行描述。
图5示意性地示出了根据本发明实施例的设备500的示意框图。如图5所示,设备500可以包括处理器501和存储器502。其中存储器502存储有用于对公式进行排版的计算机指令,当所述计算机指令由处理器501运行时,使得设备500执行根据前文结合图2至图4所描述的方法。例如,在一些实施例中,设备500可以执行对首选排版引擎和备选排版引擎的确定、对排版单元的获取、对不同引擎的调用以及报错信息的生成等。基于此,通过设备500可以充分利用不同排版引擎的优势实现对公式的排版,使得排版效果更贴合实际需求。
在一些实施场景中,设备500可以包括终端设备(例如个人PC机、电脑、手机、助学设备以及其他能够支持网页浏览的设备等)。
应当注意,尽管在上文详细描述中提及了用于对公式进行排版的设备的若干装置或子装置,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
申请文件中提及的动词“包括”、“包含”及其词形变化的使用不排除除了申请文件中记载的那些元素或步骤之外的元素或步骤的存在。元素前的冠词“一”或“一个”不排除多个这种元素的存在。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
Claims (10)
1.一种用于对公式进行排版的方法,其特征在于,包括:
响应于对网页中公式的排版需求,确定用于对所述公式进行排版的首选排版引擎和备选排版引擎;
获取关于所述公式的多个排版单元;以及
调用所述首选排版引擎和所述备选排版引擎对所述排版单元进行排版,以实现对所述公式的排版。
2.根据权利要求1所述的方法,其特征在于,其中调用所述首选排版引擎和所述备选排版引擎对所述排版单元进行排版包括:
调用所述首选排版引擎对所述排版单元进行排版;以及
调用所述备选排版引擎对经所述首选排版引擎排版失败的排版单元进行再次排版。
3.根据权利要求2所述的方法,其特征在于,其中调用所述备选排版引擎进行再次排版包括:
在所述首选排版引擎完成对所有所述排版单元的排版后,调用所述备选排版引擎对所有排版失败的排版单元进行再次排版;或者
在所述首选排版引擎对任一所述排版单元的排版失败时,异步调用所述备选排版引擎对其进行再次排版。
4.根据权利要求2所述的方法,其特征在于,其中调用所述首选排版引擎对所述排版单元进行排版包括:
将全部所述排版单元存储至第一队列中;
调用所述首选排版引擎对所述第一队列中的排版单元进行排版;以及
将排版失败的排版单元备份至第二队列中。
5.根据权利要求4所述的方法,其特征在于,其中调用所述备选排版引擎进行再次排版包括:
根据所述第二队列中的备份信息对相应的排版单元进行初始化处理,并调用所述备份排版引擎对经初始化处理后的排版单元进行再次排版。
6.根据权利要求1所述的方法,其特征在于,其中确定用于对所述公式进行排版的首选排版引擎和备选排版引擎包括:
从多个具有不同功能的排版引擎中筛选出满足所述排版需求的排版引擎,并确定其为所述首选排版引擎;以及
确定剩余排版引擎中的至少一个排版引擎为所述备选排版引擎。
7.根据权利要求1至6任一所述的方法,其特征在于,其中获取关于所述公式的多个排版单元包括:
基于对所述网页中公式的提取处理,生成多个相互独立的排版单元。
8.根据权利要求7所述的方法,其特征在于,还包括:
在调用所述首选排版引擎和/或所述备选排版引擎对排版单元排版失败时,生成关于排版失败的排版单元的报错信息。
9.一种设备,其特征在于,包括:
处理器;以及
存储器,其存储有用于对公式进行排版的计算机指令,当所述计算机指令由所述处理器运行时,使得所述设备执行根据权利要求1-8的任意一项所述的方法。
10.一种计算机程序产品,其特征在于,包含用于对公式进行排版的程序指令,当所述程序指令由处理器执行时,使得实现根据权利要求1-8的任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111227861.XA CN113886741A (zh) | 2021-10-21 | 2021-10-21 | 用于对公式进行排版的方法及其相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111227861.XA CN113886741A (zh) | 2021-10-21 | 2021-10-21 | 用于对公式进行排版的方法及其相关产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113886741A true CN113886741A (zh) | 2022-01-04 |
Family
ID=79004219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111227861.XA Pending CN113886741A (zh) | 2021-10-21 | 2021-10-21 | 用于对公式进行排版的方法及其相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113886741A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114880612A (zh) * | 2022-05-11 | 2022-08-09 | 网易有道信息技术(北京)有限公司 | 用于公式排版异常管理的方法及其相关产品 |
CN114968407A (zh) * | 2022-05-30 | 2022-08-30 | 北京金堤科技有限公司 | 插件调用方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010079636A (ja) * | 2008-09-26 | 2010-04-08 | Dainippon Printing Co Ltd | 組版装置、組版方法、及び組版処理プログラム |
CN102033856A (zh) * | 2009-09-29 | 2011-04-27 | 北大方正集团有限公司 | 一种公式排版方法及其系统 |
CN110096691A (zh) * | 2019-04-16 | 2019-08-06 | 掌阅科技股份有限公司 | 基于电子书的排版方法、电子设备及计算机存储介质 |
CN110969004A (zh) * | 2019-12-16 | 2020-04-07 | 方正株式(武汉)科技开发有限公司 | 图文自动排版方法及系统、服务器及介质 |
-
2021
- 2021-10-21 CN CN202111227861.XA patent/CN113886741A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010079636A (ja) * | 2008-09-26 | 2010-04-08 | Dainippon Printing Co Ltd | 組版装置、組版方法、及び組版処理プログラム |
CN102033856A (zh) * | 2009-09-29 | 2011-04-27 | 北大方正集团有限公司 | 一种公式排版方法及其系统 |
CN110096691A (zh) * | 2019-04-16 | 2019-08-06 | 掌阅科技股份有限公司 | 基于电子书的排版方法、电子设备及计算机存储介质 |
CN110969004A (zh) * | 2019-12-16 | 2020-04-07 | 方正株式(武汉)科技开发有限公司 | 图文自动排版方法及系统、服务器及介质 |
Non-Patent Citations (1)
Title |
---|
独元殇: "emlog公式显示插件katex说明和使⽤用教程", 《HTTPS://WWW.CCGXK.COM/EMLOG_DEV/KATEX.HTML》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114880612A (zh) * | 2022-05-11 | 2022-08-09 | 网易有道信息技术(北京)有限公司 | 用于公式排版异常管理的方法及其相关产品 |
CN114968407A (zh) * | 2022-05-30 | 2022-08-30 | 北京金堤科技有限公司 | 插件调用方法、装置、电子设备及存储介质 |
CN114968407B (zh) * | 2022-05-30 | 2024-03-08 | 北京金堤科技有限公司 | 插件调用方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11941344B2 (en) | Document differences analysis and presentation | |
US8572616B2 (en) | Apparatus, system, and method for managing z/OS batch jobs with prerequisites | |
US9274782B2 (en) | Automated computer application update analysis | |
US20150032690A1 (en) | Virtual synchronization with on-demand data delivery | |
US8918783B2 (en) | Managing virtual computers simultaneously with static and dynamic dependencies | |
WO2017184353A1 (en) | Automatically updating a hybrid application | |
US10191838B2 (en) | Method and device for checking influence of deleting cache file, and mobile terminal | |
CN102938784A (zh) | 应用于分布式存储系统中的数据存储方法和系统 | |
CN104704468A (zh) | Web应用程序的跨系统安装 | |
US10338910B2 (en) | Multi-tenant upgrading | |
CN113886741A (zh) | 用于对公式进行排版的方法及其相关产品 | |
CN112417899A (zh) | 文字翻译方法、装置、计算机设备和存储介质 | |
CN112835568A (zh) | 一种项目构建方法和装置 | |
CN110688145A (zh) | Android MVP代码自动生成方法、装置、介质、电子设备 | |
CN106484779B (zh) | 文件操作方法及装置 | |
CN110888972A (zh) | 一种基于Spark Streaming的敏感内容识别方法及装置 | |
CN107526838B (zh) | 数据库集群扩容的方法和装置 | |
US10761940B2 (en) | Method, device and program product for reducing data recovery time of storage system | |
CN108228611B (zh) | 单据信息抄写方法和装置 | |
CN106502707B (zh) | 代码生成方法及装置 | |
CN110908644B (zh) | 状态节点的配置方法、装置、计算机设备和存储介质 | |
CN109408057B (zh) | 自动生成代码的方法、装置、介质和计算设备 | |
CN115080114B (zh) | 应用程序的移植处理方法、装置和介质 | |
CN113220237B (zh) | 一种分布式存储方法、装置、设备及存储介质 | |
CN116361157A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220104 |