本科學位論文規(guī)范格式自動調(diào)整系統(tǒng)的設計與實現(xiàn)_第1頁
本科學位論文規(guī)范格式自動調(diào)整系統(tǒng)的設計與實現(xiàn)_第2頁
本科學位論文規(guī)范格式自動調(diào)整系統(tǒng)的設計與實現(xiàn)_第3頁
本科學位論文規(guī)范格式自動調(diào)整系統(tǒng)的設計與實現(xiàn)_第4頁
本科學位論文規(guī)范格式自動調(diào)整系統(tǒng)的設計與實現(xiàn)_第5頁
免費預覽已結(jié)束,剩余3頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、    本科學位論文規(guī)范格式自動調(diào)整系統(tǒng)的設計與實現(xiàn)    劉友洪+肖文杰+胡彪+鄒澤順+駱鳳姣摘要:在eclipse環(huán)境下,利用實現(xiàn)了vba接口的jacob word接口,對microsoft word軟件進行二次開發(fā),開發(fā)了一款能夠識別模板論文的文字,圖片,表格等格式,并且將其應用到待排版論文中去的自動調(diào)整系統(tǒng),進而實現(xiàn)了學位論文格式的規(guī)范化。關鍵詞:論文排版;二次開發(fā);格式識別;自動調(diào)整:tp311 :a :1009-3044(2018)02-0065-03本科學位論文作為評價高校本科生學習質(zhì)量的重要指標,對于高校和大學生都非常重要。隨著高等教育的

2、不斷發(fā)展,本科學位論文除了在內(nèi)容和創(chuàng)新方面有很高的要求之外,論文的格式同樣也備受關注。目前學位論文的格式調(diào)整工作還是由學生本人完成,指導教師糾正。一方面,學生調(diào)整論文的格式需要不少時間,從而導致在內(nèi)容創(chuàng)新上花費的精力相對更少,不僅如此,調(diào)整格式時也難免會出現(xiàn)錯誤;另一方面,指導教師發(fā)現(xiàn)論文中存在的格式錯誤也同樣不易。因此,如果能根據(jù)論文格式規(guī)范標準,利用當今發(fā)達的軟件技術來自動完成論文格式的規(guī)范工作,將會為學生和指導教師減少不必要的工作量,讓他們將更多精力集中在內(nèi)容創(chuàng)新方面,進而提高學術論文的質(zhì)量。目前市場上雖然有排版軟件,但是針對學位論文的卻并不多,而能夠自動識別格式規(guī)范并自動調(diào)查論文格式的

3、軟件鳳毛麟角。因此就市場需求來說,開發(fā)一款專業(yè)的學位論文格式規(guī)范自動調(diào)整系統(tǒng)也顯得很有必要。1 開發(fā)環(huán)境1.1 vbavisual basic for applications(vba)是visual basic的一種宏語言,是微軟開發(fā)出來在其桌面應用程序中執(zhí)行通用的自動化(ole)任務的編程語言1。主要用于擴展windows的應用程序功能,特別是microsoft office軟件。它能夠通過語言中的對象及對象的屬性來對office文檔等對象的各類屬性進行讀取和修改,從而實現(xiàn)應用軟件的可編程化。同時microsoft office軟件也為vba語言提供了很好的開發(fā)環(huán)境,在軟件中不僅可以直接執(zhí)

4、行vba宏代碼,并且還能通過錄制vba宏代碼的方式實現(xiàn)從操作到代碼的逆向轉(zhuǎn)換,更為程序開發(fā)提供了方便。本系統(tǒng)在開發(fā)過程中將vba開發(fā)手冊與錄制宏的方式結(jié)合起來,從而大大提高開發(fā)的效率。1.2 jacobjacob接口通過在java中調(diào)用com接口自動組件(vba),實現(xiàn)了一種簡單,靈活的java與com的通信方式。在實現(xiàn)了jacob接口的java系統(tǒng)中,絕大多數(shù)事物和事物的屬性都可以采用不同類型的對象來表示1,其中包括:1) word應用對象 activexcomponent word2) word文檔集對象 dispatch documents3) word文檔對象 dispatch wor

5、dfile4) 光標及區(qū)域?qū)ο?dispatch selection,range5) 其他文檔屬性對象而對于對象的操作采用的是鏈式操作法:dispatch 論文文檔 = dispatch.get(word,”document”).todispatch();dispatch 段落 = dispatch.call(論文文檔,”item :1”).todispatch();因而可以利用jacob接口和java代碼中調(diào)用文檔的各個屬性和和方法,可以實現(xiàn)對文檔格式的讀取和應用,進而滿足了本系統(tǒng)的開發(fā)需求。2 系統(tǒng)整體結(jié)構(gòu)設計為了能夠提高系統(tǒng)的可讀性和可維護性,系統(tǒng)按照自頂向下的方法對系統(tǒng)功能結(jié)構(gòu)進行了設

6、計。按照模塊的功能來分,系統(tǒng)可以被分為三個模塊,分別是格式的讀取和存儲模塊,格式設置模塊,自動生成目錄模塊。其中,格式讀取和存儲模塊可分為讀取頁面屬性、讀取正文格式、讀取頁眉頁腳等功能;格式設置模塊可分為設置文檔頁面屬性、刪除文檔多余符號、設置文檔正文格式、設置文檔頁眉頁腳格式等功能。具體的系統(tǒng)模塊劃分如圖1所示。針對word中格式的多樣性和不定長性,系統(tǒng)采用的數(shù)據(jù)存儲結(jié)構(gòu)是全局變量string數(shù)組+鏈表的存儲結(jié)構(gòu)。讀取和存儲模塊通過導入word文檔,獲得文檔的控制和修改權限,進而對文檔的屬性和內(nèi)容格式進行讀取,并且將其轉(zhuǎn)換為string類型,最終基本有序的存放在數(shù)組當中。格式設置模塊首先打開

7、需要進行排版的文檔,通過定位算法查找到文檔的可調(diào)整部分,并對可調(diào)整部分中被認定的無用符號進行刪除,最后再按照指定的順序?qū)ξ臋n屬性和文檔內(nèi)容的格式進行自動調(diào)整。3 核心算法及優(yōu)化3.1 關鍵位置定位被調(diào)整格式的論文內(nèi)容可能包含有不需要進行調(diào)整的部分,如封面、保密協(xié)議等,因而在進行格式讀取或調(diào)整之前,需要尋找合適分界點,來對文檔的待調(diào)整內(nèi)容進行劃分1。經(jīng)過對文檔結(jié)構(gòu)的分析,系統(tǒng)需要尋找到分界點就是“目錄”。由于沒有對待排版文檔做任何的要求,因而文檔的內(nèi)容有很大的復雜性。通過歸納,待排版文檔內(nèi)容可能存在如下兩種情況:第一種情況是待排版文檔包含“目錄”段落,在上述情況下,定位算法在目錄的上方尋找到“目

8、錄”段;第二種情況即待排版文檔不包含“目錄”,由于摘要段落是一篇完整論文所必備的成分,針對上述情況,定位算法借助“摘要”段落進行查找。第一種算法結(jié)構(gòu)描述如下:將光標定位到摘要段落起始位置;while(遍歷摘要段落之前的每一段)獲取該段落的區(qū)域;進行區(qū)域的文字分析;if(包含“目”并且包含“錄”并且不包含其他文字)記錄當前段落位置,退出循環(huán);endprint上述尋找文檔關鍵位置算法的前提是“目錄”段落的存在,然而通常文檔可能并不具有這個條件。為了使系統(tǒng)具有更強的適用性,系統(tǒng)在關鍵位置查找失敗后將觸發(fā)自動插入算法,在合適的位置插入“目錄”段落。該算法的關鍵點在于尋找一個合適的插入點,通過文檔的必要

9、的部分(摘要段)可以實現(xiàn)。3.2 段落格式調(diào)整根據(jù)論文段落調(diào)整格式的屬性值不同,可將段落分為兩種類型,第一種是文檔中的非正文部分,如摘要、關鍵詞等,調(diào)整的屬性包括font(字體)、bold(加粗)、size(大小)等;第二種是文檔中的正文段落進行調(diào)整,調(diào)整的屬性包括font(字體)、bold(加粗),size(大小)、alignment(對齊方式)、firstlineindent(首行縮進)、spacebefore(段前)、spaceafter(段后)等10種屬性。由于正文段落中可能包含標題、表格、圖片以及正文內(nèi)容,而上述幾種形式的屬性都不一致,因此需要區(qū)別對待??紤]到表格和圖片格式與文字的不

10、同,可另處理。因此本節(jié)所述的段落格式調(diào)整只考慮正文段落中的標題和正文內(nèi)容。段落正文與標題有一定字符數(shù)的限制,據(jù)統(tǒng)計,段落正文字符數(shù)至少是40個字,而標題所包含字符則要求少于40個字,因此對于標題與段落正文的區(qū)分可通過所包含的字符數(shù)來分析。具體而言,段落格式調(diào)整的步驟如下:系統(tǒng)首先通過上節(jié)提到的定位算法,定位文檔的起始點;接著對起始點之后的每個段落進行分析。在對段落進行分析過程中,系統(tǒng)通過rang對象獲得待分析段落區(qū)域相對于待排版文檔起始點的起始位置(start)和結(jié)束位置(end)。接著根據(jù)區(qū)域包含的內(nèi)容和字符數(shù)進行判定。如果段落區(qū)域包含表格區(qū)域或者圖片區(qū)域(特殊區(qū)域另做處理),則跳過當次循環(huán)

11、。否則統(tǒng)計待分析段落區(qū)域所包含的字符數(shù),如果超過40個字,則直接判定為段落正文,可根據(jù)段落正文屬性進行調(diào)整;否則判定為標題,至于是標題級別可根據(jù)下節(jié)的標題級別判定算法進行分析。具體的算法流程如圖2所示:3.3 標題等級識別在段落格式的調(diào)整過程中,標題等級識別的正確性不僅影響到段落的格式,而且還會導致后期自動生成目錄的錯誤,因此這是整個系統(tǒng)的關鍵步驟。本系統(tǒng)在進行標題等級識別時,首先進行的字符數(shù)判定,而對于字符數(shù)判定合格的段落,則判定為標題。對于標題等級的識別,有兩種算法。第一種識別算法是對段落的大綱等級(outlinelevel)進行識別和讀取,由于論文作者常常忽略了段落大綱級別的設置,因此第

12、一種算法在很多時候往往準確度不高,因此系統(tǒng)采用第二種識別方案,即對段落的前置序號如(1.1.2)2進行識別,系統(tǒng)根據(jù)前置序號的“.”字符與數(shù)字字符的數(shù)量來綜合分析。為了消除正文中可能出現(xiàn)與前置序號類似的字符序列,系統(tǒng)對前置序號的區(qū)域進行了嚴格的限定。第二種算法的具體描述如下。將光標定位到段落的起始位置while(遍歷段落區(qū)域的字符)if(當前字符為數(shù)字)數(shù)字字符數(shù)加一;標記若下一個字符為“.”則有效;else if(如果當前字符為“.”并且字符有效)“.”字符數(shù)加一;標記若下一個字符為“.”則無效;else if(如果當前字符為“ ”)跳過此次循環(huán);else序號區(qū)域結(jié)束,結(jié)束循環(huán);通過上述算法

13、,系統(tǒng)可以獲得有效的數(shù)字字符個數(shù)p和“.”字符個數(shù)n。由于一級標題在格式調(diào)整方面有著一定特殊性,因此將一級標題進行單獨處理,系統(tǒng)規(guī)定當 p=1并且n1的情況為 n+1級標題。4 系統(tǒng)實現(xiàn)效果本系統(tǒng)是為了方便本科生對畢業(yè)論文進行格式調(diào)整而開發(fā)的系統(tǒng),因而我們采用的簡潔的軟件用戶使用界面,用戶只需要選擇模板文檔和待排版的文檔即可自動進行排版。經(jīng)過測試,待字數(shù)10000字左右的待排論文,排版過程平均耗時為3.5分鐘。論文格式調(diào)整前與調(diào)整后的效果圖如圖3、圖4所示。5 結(jié)束語本系統(tǒng)不是僅能對一類論文進行論文格式調(diào)整,而是對于大部分類型的論文,在用戶提供模板的前提下,均能準確的進行自動調(diào)整。本系統(tǒng)系統(tǒng)不僅極大地解放了人工勞動,而且相對于人工,其具有更高的準確性。目前,本系統(tǒng)已經(jīng)投入使用,雖然其設計思路和代碼仍有一定的優(yōu)化空間,但已經(jīng)能夠基本實現(xiàn)論文排版要求,在提高自動排版的準確率同時減少花費的時間,使其更加智能化、人性化。參考文獻:1 李愛玲, 李湘江. 基于vba的word文檔自動評閱技術研究j. 科學技術

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論