吳力榮
(浙江工業職業技術學院,浙江 紹興 312000)
20世紀90年代以來,隨著計算機技術、多媒體技術和網絡技術的迅速發展,特別是Internet的應用和普及,整個社會的發展與信息技術的關系越來越密切,信息化水平已成為衡量一個國家現代化水平和綜合國力的重要指標.與此同時,教育信息化也逐漸成為全球教育發展的一個熱點.
隨著教育信息化建設的推進,理工類學科在信息化過程中(如網絡教學、在線考試、試題庫建設等),經常會遇到需要編輯、存儲、顯示大量的數學符號或數學公式,但目前的互聯網技術對數學公式的信息化處理支持非常有限,因此迫切需要研發出行之有效的數學公式處理的解決方案.
目前,解決互聯網上數學公式問題的通常做法是利用MathType等數學公式編輯器把表達式轉換為圖像方式.但這種靜態的圖像形式給數學表達式的處理帶來許多不便,如操作繁瑣、排版效果差、不利于資源的復用等.另外,圖片形式的數學公式不能進行查找和索引,更沒有語義,很難進行信息處理和開發更深層次的功能.
傳統的解決方式在數學信息化的初始階段起到了積極的推動作用,初步解決了數學公式的顯示問題,使得網絡上展示數學信息得以實現.但隨著互聯網的發展和信息化進程的深入,傳統的解法方案已不能滿足人們對數學信息多樣化的需求.高質量的排版、便捷的數學信息互動、可被搜索引擎檢索、擴展性強等特性成為當前數學公式處理解決方案的核心問題.
LaTeX是一種基于TeX的排版系統,由美國計算機學家萊斯利·蘭伯特(Leslie Lamport)在20世紀80年代初期開發,利用這種格式,即使使用者沒有排版和程序設計的知識也可以充分發揮由TeX所提供的強大功能,排版出美觀、準確的高質量數學和科技類文檔.
LaTeX 基于習慣性書寫思維來描述數學公式.比如:
的LaTeX數學描述為:im_{x ightarrowinfty}(1+frac{1}{x})^{x}=e.這種基于字符串的描述方式,使其具備良好的互聯網基因,成為互聯網上數學公式解決方案的首先技術.
1998年4月,W3C的數學工作組發布了基于XML語言標準的數學標記語言MathML1.0版本,旨在解決數學表達式在web中的傳送、接收和處理,是計算機之間交換數學信息的基本標準.MathML完全采用XML的定義規范,繼承了XML的大部分優點,具有強大的數學公式表達能力.MathML 作為W3C的推薦標準已發布6個版本,最新的版本是MathML3.0 2nd Edition,發布于2014年2月.MathML標準的不斷完善,使其在基于網絡的教育、科研、出版和信息交換,甚至商務應用中發揮越來越重要的作用.
MathML是一個用于標記數學表達式的XML詞匯表,它包含兩個子語言:Presentation MathML和Content MathML.Presentation MathML主要負責描述數學表達式的布局,而Content MathML主要負責標記表達式的某些含義或數學結構.下面是sin2x的2種MathML編碼方式:
Presentation MathML:
男性一般不喜歡啰嗦,因此,從形式上看,這則廣告語簡單利索,直接用語言信息明示了其目標對象——男性受眾。Burberry在1992年上市第一款香水,根據受眾的百科信息,用很少的認知努力就能明白該則廣告的傳言意圖:這是一款男性香水。這則廣告具有很強的交際效果。
Content MathML:
MathML雖然是W3C的推薦標準,但其描述數學公式的編碼格式較為復雜,因此其比較適用于一些應用的底層實現,而在一般用戶使用層面中普及推廣較為困難.
Design Science公司給教育工作者和網絡開發人員提供了2種采用MathML技術來展現互聯網上數學公式的解決方案.
(1)利用MathType[3]將含數學公式的word文檔轉換為XHTML+MathML格式的web頁面.如果需要將一個word數學文檔發表到網絡上,MathType將是最好的工具.在安裝了MathType的word軟件中,通過菜單“MathType”下的“Publish to MathPage...”選項(圖1),我們可以將文檔轉換為帶MathML格式的web頁面.

圖1 Math Type數學公式發布配置

圖2 Math Type數學公式剪切復制首選項
在該面板中,Equations欄不僅提供XHTML+MathML格式,同時還提供諸如MathZoom/GIFs、HTML/XHTML+MathJax、MathPlayer等格式的支持.
MathType同時還支持將單一的數學公式直接導出為MathML格式的字符串.打開MathType,選擇“Preferences”下的“Cut and Copy preferences...”,在復制粘帖面板中作如圖2的配置.此時,在Math Type中輸入數學公式,直接選中公式復制,系統將會以配置好的MathML格式字符串復制到剪貼板,這樣就可以粘帖到支持MathML格式的系統或web應用中,如圖3.

圖3 sin2x的MathML代碼

圖4 Math Flow的Simple Eiditor編輯器
(2)利用MathFlow[4]創建動態數學頁面.MathFlow組件是構建動態數學web頁面的Java工具包,世界領先的在線學習網絡公司、內容開發商和教育門戶創建了基于MathFlow的網絡學習環境,幫助教育工作者和學生在網絡上學習數學和科學.MathFlow提供了3種MathML的可視化編輯組件,每一種都針對特定的用戶群和使用環境,如Simple Editor(圖4)主要用來幫助終端用戶通過面板輸入簡單的數學公式,而Style Editor和Structure Editor則適用于更復雜的數學交互環境.MathFlow是一種基于MathML的可視化編輯組件,非常便于使用,但高昂的版權費用決定了該軟件無法大規模普及.
在論壇、博客、評論中插入一個數學公式是在線教育的一種常見需求,目前很少有web應用對此提供良好的支持,一般常見的做法是上傳公式編輯器的截圖來實現,此方法不僅效率低下,而且圖文排版混亂,在當前教育信息化環境下并不推薦使用.看似插入一個公式比什么都難,現在CodeCogs.com提供了在線LaTex公式編輯器(圖5),較好地解決了這個難題.

圖5 Code Cogs在線LaTex公式編輯器
和MathType一樣,在線LaTex公式編輯器提供了豐富的公式模版,可以方便地編輯,同時頁面上會得到實時的LaTeX公式圖片.右擊圖片,選擇“屬性”,復制其鏈接地址,就可以引用其地址在網上顯示該公式的圖片.
CodeCogs提供的在線LaTex公式編輯器,部分解決了網絡上處理數學公式的難題,但仍有一些問題需解決,如公式的顯示能否不是圖片而是由瀏覽器支持的某種字符串格式(MathML/LaTex).MathJax開源項目正好符合我們數學公式顯示的技術要求.作者結合在線LaTex公式編輯器可視化、便捷的特點和MathJax能將LaTeX字符串顯示成高質量的數學公式,開發了一個基于MathJax的在線公式編輯器(圖6),給出了一套教育信息化環境下數學公式處理的解決方案.

圖6 基于Math Jax的在線公式編輯器
只要在HTML頁面內插入,就可以將LaTeX格式字符串完美顯示成數學公式.
上述方案各具特色,各有優勢,我們可以根據實際情況進行選擇.筆者認為,若只是數學公式或數學文檔的顯示,對交互性沒有太大要求,選擇方案1較為合適;若系統以回復形式的互動性為主,無額外需求,選擇方案2較為合適;若對數學公式有編輯、互動等基本需求外,需進一步擴展和開發,如隨機試題的生成、數學試卷的自動改卷等,選擇方案3較為合適.
教育信息化是現代教育重要的發展趨勢,互聯網上數學公式的處理是理工科教育信息化過程中遇到的重要難題,本文提出的數學公式處理解決方案可以有效解決該難題,積極推動教育信息化進程.
參考文獻:
[1]LaTeX [EB/OL].http://www.latex-project.org/
[2]MathML [EB/OL].http://www.w3.org/Math/
[3]MathType [EB/OL].http://www.dessci.com/en/products/mathtype/
[4]MathFlow [EB/OL].http://www.dessci.com/en/products/mathflow/
[5]CodeCogs [EB/OL].http://www.codecogs.com
[6]MathJax [EB/OL].http://www.mathjax.org/