亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

排版處理方法及裝置與流程

文檔序號:12596079閱讀:256來源:國知局
排版處理方法及裝置與流程

本發(fā)明涉及排版印刷領(lǐng)域,尤其涉及一種排版處理方法及裝置。



背景技術(shù):

目前的排版技術(shù)中,排版引擎通常將數(shù)學(xué)公式看成是一個(gè)整體,把它作為一個(gè)長度較大的單個(gè)字符進(jìn)行排版。然而當(dāng)數(shù)學(xué)公式的長度過長時(shí),即單個(gè)公式的寬度已經(jīng)超出一個(gè)文本行的寬度,就會導(dǎo)致數(shù)學(xué)公式超出文本框。

對此,目前一種方案為人工手動將數(shù)學(xué)公式進(jìn)行拆分換行,但是人工操作會帶來一些問題,比如需要人工檢測待排版的文本中是否存在數(shù)學(xué)公式,這個(gè)過程很耗時(shí),并且很容易造成數(shù)學(xué)公式的遺漏,另外,用戶對公式的認(rèn)識水平,也可能導(dǎo)致數(shù)學(xué)公式的意義改變,這就造成時(shí)間成本和人工成本的浪費(fèi),并且無法保證排版的合理性。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明提供一種排版處理方法及裝置,用于解決現(xiàn)有的數(shù)學(xué)公式拆分方案耗時(shí)長效率低的問題。

本發(fā)明的第一個(gè)方面是提供一種排版處理方法,包括:獲取數(shù)學(xué)公式的當(dāng)前長度和所述數(shù)學(xué)公式所在行的剩余寬度并進(jìn)行比較,若所述數(shù)學(xué)公式的當(dāng)前長度大于所述數(shù)學(xué)公式所在行的剩余寬度,則根據(jù)所述數(shù)學(xué)公式的樹形結(jié)構(gòu),通過拆分處理,獲得由n個(gè)子公式構(gòu)成的原始序列;將所述原始序列中的所有子公式存儲至當(dāng)前的第一數(shù)據(jù),計(jì)算并記錄當(dāng)前第一數(shù)據(jù)中存儲的前n-m個(gè)子公式的長度至第一存儲器,其中,m的初始值為1;若所述第一存儲器中當(dāng)前記錄的長度大于第一數(shù)據(jù)所在行的剩余寬度,則將m的值加1并將當(dāng)前m的取值記錄至第二存儲器,并再次執(zhí)行所述計(jì)算并記錄當(dāng)前第一數(shù)據(jù)中存儲的前n-m個(gè)子公式的長度至第一存儲器的步驟,直至所述第一存 儲器中當(dāng)前記錄的長度不大于所述剩余寬度;獲取所述第二存儲器中當(dāng)前記錄的m的取值,根據(jù)所述第一數(shù)據(jù)中的前m個(gè)子公式,生成第一公式,并將所述第一公式的排版位置設(shè)置為所述第一數(shù)據(jù)所在行;根據(jù)所述第一數(shù)據(jù)中除前m個(gè)子公式以外的子公式,生成第二公式,并將所述第二公式的排版位置設(shè)置為所述第一數(shù)據(jù)所在行的下一行;根據(jù)所述第一公式和所述第二公式的排版位置,進(jìn)行排版處理。

本發(fā)明的另一個(gè)方面是提供一種排版處理裝置,包括:獲取模塊,用于獲取數(shù)學(xué)公式的當(dāng)前長度和所述數(shù)學(xué)公式所在行的剩余寬度并進(jìn)行比較;拆分模塊,用于若所述數(shù)學(xué)公式的當(dāng)前長度大于所述數(shù)學(xué)公式所在行的剩余寬度,則根據(jù)所述數(shù)學(xué)公式的樹形結(jié)構(gòu),通過拆分處理,獲得由n個(gè)子公式構(gòu)成的原始序列;處理模塊,用于將所述原始序列中的所有子公式存儲至當(dāng)前的第一數(shù)據(jù),計(jì)算并記錄當(dāng)前第一數(shù)據(jù)中存儲的前n-m個(gè)子公式的長度至第一存儲器,其中,m的初始值為1;所述處理模塊,還用于若所述第一存儲器中當(dāng)前記錄的長度大于第一數(shù)據(jù)所在行的剩余寬度,則將m的值加1并將當(dāng)前m的取值記錄至第二存儲器,并再次計(jì)算并記錄當(dāng)前第一數(shù)據(jù)中存儲的前n-m個(gè)子公式的長度至第一存儲器,直至所述第一存儲器中當(dāng)前記錄的長度不大于所述剩余寬度;編輯模塊,用于獲取所述第二存儲器中當(dāng)前記錄的m的取值,根據(jù)所述第一數(shù)據(jù)中的前m個(gè)子公式,生成第一公式,并將所述第一公式的排版位置設(shè)置為所述第一數(shù)據(jù)所在行;根據(jù)所述第一數(shù)據(jù)中除前m個(gè)子公式以外的子公式,生成第二公式,并將所述第二公式的排版位置設(shè)置為所述第一數(shù)據(jù)所在行的下一行;排版模塊,用于根據(jù)所述第一公式和所述第二公式的排版位置,進(jìn)行排版處理。

本發(fā)明提供的排版處理方法及裝置,當(dāng)檢測到數(shù)學(xué)公式的長度大于其所在行的剩余寬度時(shí),則根據(jù)數(shù)學(xué)公式的樹形結(jié)構(gòu),通過拆分處理獲得包括多個(gè)子公式的序列,并比較該序列中前一部分子公式的長度與數(shù)學(xué)公式所在行的剩余寬度,確定需要換行至下一行的子公式,根據(jù)各行的子公式生成相應(yīng)公式并根據(jù)各公式的排版位置進(jìn)行排版,實(shí)現(xiàn)數(shù)學(xué)公式的自動拆分和換行,減少人工拆分和排版,使得排版更合理,數(shù)學(xué)公式的意義更準(zhǔn)確,并且加快排版速度,提高排版效率,減少時(shí)間成本和人工成本。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實(shí)施例一提供的一種排版處理方法的流程示意圖;

圖2為本發(fā)明實(shí)施例一提供的另一種排版處理方法的流程示意圖;

圖3為本發(fā)明實(shí)施例一提供的又一種排版處理方法的流程示意圖;

圖4為本發(fā)明實(shí)施例一提供的又一種排版處理方法的流程示意圖;

圖5為本發(fā)明實(shí)施例一提供的又一種排版處理方法的流程示意圖;

圖6為本發(fā)明實(shí)施例二提供的一種排版處理裝置的結(jié)構(gòu)示意圖;

圖7為本發(fā)明實(shí)施例二提供的另一種排版處理裝置的結(jié)構(gòu)示意圖;

圖8為本發(fā)明實(shí)施例二提供的又一種排版處理裝置的結(jié)構(gòu)示意圖;

圖9為本發(fā)明實(shí)施例二提供的又一種排版處理裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

圖1為本發(fā)明實(shí)施例一提供的一種排版處理方法的流程示意圖,如圖1所示,所述方法包括:

101、獲取數(shù)學(xué)公式的當(dāng)前長度和所述數(shù)學(xué)公式所在行的剩余寬度并進(jìn)行比較,若所述數(shù)學(xué)公式的當(dāng)前長度大于所述數(shù)學(xué)公式所在行的剩余寬度,則根據(jù)所述數(shù)學(xué)公式的樹形結(jié)構(gòu),通過拆分處理,獲得由n個(gè)子公式構(gòu)成的原始序列;

102、將所述原始序列中的所有子公式存儲至當(dāng)前的第一數(shù)據(jù),計(jì)算并記錄當(dāng)前第一數(shù)據(jù)中存儲的前n-m個(gè)子公式的長度至第一存儲器,其中,m的初始值為1;

103、若所述第一存儲器中當(dāng)前記錄的長度大于第一數(shù)據(jù)所在行的剩余寬度,則將m的值加1并將當(dāng)前m的取值記錄至第二存儲器,并再次執(zhí)行所述計(jì)算并記錄當(dāng)前第一數(shù)據(jù)中存儲的前n-m個(gè)子公式的長度至第一存儲器的步驟,直至所述第一存儲器中當(dāng)前記錄的長度不大于所述剩余寬度;

104、獲取所述第二存儲器中當(dāng)前記錄的m的取值,根據(jù)所述第一數(shù)據(jù)中的前m個(gè)子公式,生成第一公式,并將所述第一公式的排版位置設(shè)置為所述第一數(shù)據(jù)所在行;根據(jù)所述第一數(shù)據(jù)中除前m個(gè)子公式以外的子公式,生成第二公式,并將所述第二公式的排版位置設(shè)置為所述第一數(shù)據(jù)所在行的下一行;

105、根據(jù)所述第一公式和所述第二公式的排版位置,進(jìn)行排版處理。

具體的,可以將數(shù)學(xué)公式的完整結(jié)構(gòu)數(shù)據(jù),記錄在一個(gè)對象中,作為其在文字流中的占位。其中,對數(shù)學(xué)公式進(jìn)行拆分獲得的子公式并不是一個(gè)獨(dú)立的,與其他子公式?jīng)]有聯(lián)系的個(gè)體,而是各個(gè)子公式之間存在序列結(jié)構(gòu)關(guān)系,屬于數(shù)學(xué)公式的一部分,不能隨意變換位置。

舉例來說,在對數(shù)學(xué)公式進(jìn)行排版時(shí),先計(jì)算出公式的總寬度TotalWidth,如果總寬度大于數(shù)學(xué)公式所在行的剩余行寬LineWidth,則進(jìn)行公式拆分,在計(jì)算第一序列中n-m個(gè)子公式的長度時(shí),可以當(dāng)前第一序列中,移除掉最后一個(gè)子公式,對剩下的子公式的進(jìn)行長度計(jì)算,得到更新后的公式寬度TotalWidth,將其與剩余行寬LineWidth進(jìn)行比較,如果依然大于剩余行寬LineWidth,則繼續(xù)移除掉當(dāng)前第一序列中的最后一個(gè)子公式,進(jìn)行余下子公式的長度計(jì)算,直至計(jì)算出來的TotalWidth不大于LineWidth。

在找到能夠使TotalWidth不大于LineWidth的拆分位置后,則將匹配剩余行寬的前m個(gè)子公式合并為一個(gè)公式,將剩余的子公式合并為另一公式,分別放在數(shù)學(xué)公式所在行和數(shù)學(xué)公式所在行的下一行,從而實(shí)現(xiàn)數(shù)學(xué)公式的拆行。

實(shí)際應(yīng)用中,當(dāng)某行當(dāng)前未排版有任何內(nèi)容時(shí),其剩余行寬即該行整行的行寬。

具體的,對數(shù)學(xué)公式進(jìn)行拆分的方式有多種,如圖2所示,圖2為本發(fā)明實(shí)施例一提供的另一種排版處理方法的流程示意圖,在圖1所示實(shí)施方式的基礎(chǔ)上,101中所述根據(jù)所述數(shù)學(xué)公式的樹形結(jié)構(gòu),通過拆分處理,獲得 由n個(gè)子公式構(gòu)成的原始序列,具體可以包括:

201、將數(shù)學(xué)公式的樹形結(jié)構(gòu)中第一層節(jié)點(diǎn)下的子節(jié)點(diǎn)標(biāo)記為拆分點(diǎn);

202、獲取每一個(gè)所述拆分點(diǎn)下的公式數(shù)據(jù),并根據(jù)所述公式數(shù)據(jù)生成對應(yīng)的子公式,獲得由n個(gè)子公式構(gòu)成的原始序列。

具體的,如果將層節(jié)點(diǎn)過深的節(jié)點(diǎn)標(biāo)記為拆分點(diǎn)進(jìn)行公式拆分,由于過深的節(jié)點(diǎn)是一個(gè)嵌套的整體,基于過深的節(jié)點(diǎn)進(jìn)行拆分可能會破壞數(shù)學(xué)公式的數(shù)學(xué)意義,造成最后拆行后的數(shù)學(xué)公式的不準(zhǔn)確。本實(shí)施方式中,將數(shù)學(xué)公式的樹形結(jié)構(gòu)中第一層節(jié)點(diǎn)下的子節(jié)點(diǎn)標(biāo)記為拆分點(diǎn),在有效保證數(shù)學(xué)公式準(zhǔn)確性的基礎(chǔ)上,實(shí)現(xiàn)對數(shù)學(xué)公式的拆分。

進(jìn)一步的,為了保證排版的合理性,生成第一公式后,還需要確定第二公式的長度是否能夠匹配下一行的寬度。

具體的,如果能夠匹配下一行的寬度,相應(yīng)的,如圖3所示,圖3為本發(fā)明實(shí)施例一提供的又一種排版處理方法的流程示意圖,在前述任一實(shí)施方式的基礎(chǔ)上,104中所述根據(jù)所述第一數(shù)據(jù)中除前m個(gè)子公式以外的子公式,生成第二公式之前,還可以包括:

301、獲取所述第一數(shù)據(jù)所在行的下一行的剩余寬度;

相應(yīng)的,104中,所述根據(jù)所述第一數(shù)據(jù)中除前m個(gè)子公式以外的子公式,生成第二公式,具體可以包括:

302、比較第一數(shù)據(jù)中除前m個(gè)子公式以外的子公式的長度和所述下一行的剩余寬度,若所述第一數(shù)據(jù)中除前m個(gè)子公式以外的子公式的長度不大于所述下一行的剩余寬度,則根據(jù)所述第一數(shù)據(jù)中除前m個(gè)子公式以外的子公式,生成第二公式。

具體的,如果不能夠匹配下一行的寬度,相應(yīng)的,如圖4所示,圖4為本發(fā)明實(shí)施例一提供的又一種排版處理方法的流程示意圖,在圖3所示實(shí)施方式的基礎(chǔ)上,在302之后,還可以包括:

401、若所述第一數(shù)據(jù)中除前m個(gè)子公式以外的子公式的長度大于所述第一數(shù)據(jù)所在行的下一行的剩余寬度,則清空第一數(shù)據(jù)并對m的值進(jìn)行初始化,將所述第一數(shù)據(jù)中除前m個(gè)子公式以外的子公式構(gòu)成的序列存儲至第一數(shù)據(jù),并再次執(zhí)行所述計(jì)算并記錄當(dāng)前第一數(shù)據(jù)中存儲的前n-m個(gè)子公式的長度至第一存儲器的步驟。

通過上述實(shí)施方式,根據(jù)下一行需要排版的子公式的長度,對其進(jìn)行進(jìn)一步的拆行,從而提高排版的合理性。

此外,實(shí)際應(yīng)用中,在排版過程中,有可能會對數(shù)學(xué)公式進(jìn)行再次編輯,為了保證數(shù)學(xué)公式的準(zhǔn)確性,需要重新進(jìn)行數(shù)學(xué)公式的拆行,相應(yīng)的,如圖5所示,圖5為本發(fā)明實(shí)施例一提供的又一種排版處理方法的流程示意圖,在前述任一實(shí)施方式的基礎(chǔ)上,所述方法還可以包括:

501、若檢測到所述數(shù)學(xué)公式發(fā)生再編輯,則重新執(zhí)行所述獲取數(shù)學(xué)公式的當(dāng)前長度和所述數(shù)學(xué)公式所在行的剩余寬度的步驟。

需要說明的是,501可以在數(shù)學(xué)公式拆行過程中的任一時(shí)刻執(zhí)行,也就是說,只要檢測到當(dāng)前進(jìn)行拆行的數(shù)學(xué)公式發(fā)生再編輯,則忽略本次的拆行結(jié)果,重新對編輯后的數(shù)學(xué)公式進(jìn)行拆行。圖中給出的只是一種舉例的實(shí)施方式,并未對其進(jìn)行限制。

本實(shí)施例提供的排版處理方法,當(dāng)檢測到數(shù)學(xué)公式的長度大于其所在行的剩余寬度時(shí),則根據(jù)數(shù)學(xué)公式的樹形結(jié)構(gòu),通過拆分處理獲得包括多個(gè)子公式的序列,并比較該序列中前一部分子公式的長度與數(shù)學(xué)公式所在行的剩余寬度,確定需要換行至下一行的子公式,根據(jù)各行的子公式生成相應(yīng)公式并根據(jù)各公式的排版位置進(jìn)行排版,實(shí)現(xiàn)數(shù)學(xué)公式的自動拆分和換行,減少人工拆分和排版,使得排版更合理,數(shù)學(xué)公式的意義更準(zhǔn)確,并且加快排版速度,提高排版效率,減少時(shí)間成本和人工成本。

圖6為本發(fā)明實(shí)施例二提供的一種排版處理裝置的結(jié)構(gòu)示意圖,如圖6所示,所述裝置包括:

獲取模塊61,用于獲取數(shù)學(xué)公式的當(dāng)前長度和所述數(shù)學(xué)公式所在行的剩余寬度并進(jìn)行比較;

拆分模塊62,用于若所述數(shù)學(xué)公式的當(dāng)前長度大于所述數(shù)學(xué)公式所在行的剩余寬度,則根據(jù)所述數(shù)學(xué)公式的樹形結(jié)構(gòu),通過拆分處理,獲得由n個(gè)子公式構(gòu)成的原始序列;

處理模塊63,用于將所述原始序列中的所有子公式存儲至當(dāng)前的第一數(shù)據(jù),計(jì)算并記錄當(dāng)前第一數(shù)據(jù)中存儲的前n-m個(gè)子公式的長度至第一存儲器,其中,m的初始值為1;

處理模塊63,還用于若所述第一存儲器中當(dāng)前記錄的長度大于第一數(shù)據(jù)所在行的剩余寬度,則將m的值加1并將當(dāng)前m的取值記錄至第二存儲器,并再次計(jì)算并記錄當(dāng)前第一數(shù)據(jù)中存儲的前n-m個(gè)子公式的長度至第一存儲器,直至所述第一存儲器中當(dāng)前記錄的長度不大于所述剩余寬度;

編輯模塊64,用于獲取所述第二存儲器中當(dāng)前記錄的m的取值,根據(jù)所述第一數(shù)據(jù)中的前m個(gè)子公式,生成第一公式,并將所述第一公式的排版位置設(shè)置為所述第一數(shù)據(jù)所在行;根據(jù)所述第一數(shù)據(jù)中除前m個(gè)子公式以外的子公式,生成第二公式,并將所述第二公式的排版位置設(shè)置為所述第一數(shù)據(jù)所在行的下一行;

排版模塊65,用于根據(jù)所述第一公式和所述第二公式的排版位置,進(jìn)行排版處理。

具體的,拆分模塊62可以將數(shù)學(xué)公式的完整結(jié)構(gòu)數(shù)據(jù),記錄在一個(gè)對象中,作為其在文字流中的占位。其中,拆分模塊62對數(shù)學(xué)公式進(jìn)行拆分獲得的子公式并不是一個(gè)獨(dú)立的,與其他子公式?jīng)]有聯(lián)系的個(gè)體,而是各個(gè)子公式之間存在序列結(jié)構(gòu)關(guān)系,屬于數(shù)學(xué)公式的一部分,不能隨意變換位置。

舉例來說,在對數(shù)學(xué)公式進(jìn)行排版時(shí),獲取模塊61先計(jì)算出公式的總寬度TotalWidth,并獲取數(shù)學(xué)公式所在行的剩余行寬,如果總寬度大于數(shù)學(xué)公式所在行的剩余行寬LineWidth,則拆分模塊62根據(jù)公式的樹形結(jié)構(gòu)進(jìn)行公式拆分,處理模塊63在計(jì)算第一數(shù)據(jù)中n-m個(gè)子公式的長度時(shí),可以從當(dāng)前第一數(shù)據(jù)中,移除掉最后一個(gè)子公式,對剩下的子公式的進(jìn)行長度計(jì)算,得到更新后的公式寬度TotalWidth并將其記錄至第一存儲器,將當(dāng)前移除掉的子公式的個(gè)數(shù)m記錄至第二存儲器,處理模塊63將第一存儲器中當(dāng)前記錄的長度與剩余行寬LineWidth進(jìn)行比較,如果依然大于剩余行寬LineWidth,則繼續(xù)移除掉當(dāng)前第一數(shù)據(jù)中的最后一個(gè)子公式,計(jì)算并記錄余下子公式的長度,將當(dāng)前移除掉的子公式的個(gè)數(shù)m記錄至第二存儲器,直至第一存儲器中記錄的長度不大于LineWidth。

當(dāng)?shù)谝淮鎯ζ髦杏涗浀拈L度不大于LineWidth后,編輯模塊64從第二存儲器中獲取當(dāng)前的m值,根據(jù)匹配剩余行寬的前m個(gè)子公式,生成相應(yīng)的公式,根據(jù)剩余的子公式生成另一公式,并分別將其排版位置設(shè)置在數(shù)學(xué)公式所在行和數(shù)學(xué)公式所在行的下一行,排版模塊65根據(jù)各公式的排版位置即可 進(jìn)行合理的排版處理,從而實(shí)現(xiàn)數(shù)學(xué)公式的拆行。

實(shí)際應(yīng)用中,當(dāng)某行當(dāng)前未排版有任何內(nèi)容時(shí),其剩余行寬即該行整行的行寬。

具體的,拆分模塊62對數(shù)學(xué)公式進(jìn)行拆分的方式有多種,如圖7所示,圖7為本發(fā)明實(shí)施例二提供的另一種排版處理裝置的結(jié)構(gòu)示意圖,在圖6所示實(shí)施方式的基礎(chǔ)上,拆分模塊62包括:

標(biāo)記單元621,用于將將數(shù)學(xué)公式的樹形結(jié)構(gòu)中第一層節(jié)點(diǎn)下的子節(jié)點(diǎn)標(biāo)記為拆分點(diǎn);

處理單元622,用于獲取每一個(gè)所述拆分點(diǎn)下的公式數(shù)據(jù),并根據(jù)所述公式數(shù)據(jù)生成對應(yīng)的子公式,獲得由n個(gè)子公式構(gòu)成的原始序列。

本實(shí)施方式中,標(biāo)記單元621將數(shù)學(xué)公式的樹形結(jié)構(gòu)中第一層節(jié)點(diǎn)下的子節(jié)點(diǎn)標(biāo)記為拆分點(diǎn),在有效保證數(shù)學(xué)公式準(zhǔn)確性的基礎(chǔ)上,實(shí)現(xiàn)對數(shù)學(xué)公式的拆分。

進(jìn)一步的,為了保證排版的合理性,編輯模塊64生成第一公式后,還需要確定第二公式的長度是否能夠匹配下一行的寬度。

具體的,如果能夠匹配下一行的寬度,相應(yīng)的,本發(fā)明實(shí)施例二還提供又一種排版處理裝置,在前述任一實(shí)施方式的基礎(chǔ)上,

獲取模塊61,還用于獲取所述第一數(shù)據(jù)所在行的下一行的剩余寬度;

編輯模塊64,具體用于比較第一數(shù)據(jù)中除前m個(gè)子公式以外的子公式的長度和所述下一行的剩余寬度,若所述第一數(shù)據(jù)中除前m個(gè)子公式以外的子公式的長度不大于所述下一行的剩余寬度,則根據(jù)所述第一數(shù)據(jù)中除前m個(gè)子公式以外的子公式,生成第二公式。

具體的,如果編輯模塊64通過比較檢測到第二公式的長度不能夠匹配下一行的寬度,相應(yīng)的,如圖8所示,圖8為本發(fā)明實(shí)施例二提供的又一種排版處理裝置的結(jié)構(gòu)示意圖,在前述實(shí)施方式的基礎(chǔ)上,所述裝置還包括:

初始化模塊66,用于若所述第一數(shù)據(jù)中除前m個(gè)子公式以外的子公式的長度大于所述第一數(shù)據(jù)所在行的下一行的剩余寬度,則清空第一數(shù)據(jù)并對m的值進(jìn)行初始化;

處理模塊63,還用于將所述第一數(shù)據(jù)中除前m個(gè)子公式以外的子公式構(gòu)成的序列存儲至第一數(shù)據(jù),并再次計(jì)算并記錄當(dāng)前第一數(shù)據(jù)中存儲的前n-m 個(gè)子公式的長度至第一存儲器。

通過上述實(shí)施方式,根據(jù)下一行需要排版的子公式的長度,對其進(jìn)行進(jìn)一步的拆行,從而提高排版的合理性。

此外,實(shí)際應(yīng)用中,在排版過程中,有可能會對數(shù)學(xué)公式進(jìn)行再次編輯,為了保證數(shù)學(xué)公式的準(zhǔn)確性,需要重新進(jìn)行數(shù)學(xué)公式的拆行,相應(yīng)的,如圖9所示,圖9為本發(fā)明實(shí)施例二提供的又一種排版處理裝置的結(jié)構(gòu)示意圖,在前述任一實(shí)施方式的基礎(chǔ)上,所述裝置還包括:

檢測模塊67,用于若檢測到所述數(shù)學(xué)公式發(fā)生再編輯,則指示獲取模塊61重新獲取數(shù)學(xué)公式的當(dāng)前長度和所述數(shù)學(xué)公式所在行的剩余寬度。

本實(shí)施例提供的排版處理裝置,當(dāng)檢測到數(shù)學(xué)公式的長度大于其所在行的剩余寬度時(shí),則根據(jù)數(shù)學(xué)公式的樹形結(jié)構(gòu),通過拆分處理獲得包括多個(gè)子公式的序列,并比較該序列中前一部分子公式的長度與數(shù)學(xué)公式所在行的剩余寬度,確定需要換行至下一行的子公式,根據(jù)各行的子公式生成相應(yīng)公式并根據(jù)各公式的排版位置進(jìn)行排版,實(shí)現(xiàn)數(shù)學(xué)公式的自動拆分和換行,減少人工拆分和排版,使得排版更合理,數(shù)學(xué)公式的意義更準(zhǔn)確,并且加快排版速度,提高排版效率,減少時(shí)間成本和人工成本。

所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的裝置的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。此外,還需要說明的是,本發(fā)明各實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。

本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通 技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1