已阅读5页,还剩60页未读, 继续免费阅读
(应用数学专业论文)基于mathml的科技文献公式编辑器的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于m a t h m l 的科技文献公式编辑器的设计与实现 应用数学 硕士生:曾青松 指导教师:伍小明副教授 摘要 在数学等学科中大量的数据是以公式的形式描述,过去人们通常使用l a t e x 来编辑和排版科技文献,通过转换工具输出为p d f 文件或者网页的形式,完成信 息交流。 w 3 c 定义了一神标准的数学标记语言m a t h m l ,用于完成数学公式的描述。 m a t h m l 是一种结构化的层次分明的树型数据结构,便于搜索引擎做全文检索。 本文重点讨论在w e b 应用系统中编辑和显示数学公式的方法,并实现这样一 个系统:该系统使用m a t h m l 描述数学公式,可视化方式或者使用基木的t e x 命 令输入和编辑复杂数学公式,提供m a t h m l ,l a t e x ,m a t h e m a t i c a ,j p e g ,g i f , p n g 等格式输出,通过扩展可以支持其它格式的输出。使用m a t h e m a t i c a 作为后 台的符号计算服务器实现远程符号计算功能,系统可以应用于远程的w e b 教学系 统中解决符号输入和自动解题问题。 本文采用递归技术实现公式的解析、输出和绘制。编辑过程中采用缓冲技术 解决了大多数公式编辑部存在的闪烁问题。动态计算公式的显示属性,准确的绘 制数学公式。基于树数据结构和单一根类设计的思想,只需要简单的扩展现有类 的功能就可以增加对颜的标记的支持。系统完整实现了w 3 cm a t h m ld o m 模型, 采用u m c o d e 编码解决了大部分公式编辑器不能输入汉字的问题。设计的组件可 以非常方便的用于w e b 应用系统或者w i n d o w s 应用系统开发中。 关键词:排版,公式编辑,m a t h m l ,t e x ,组件对象模型 摘要 t h e d e s i g na n di m p l e m e n t a t i o no ff o r m u l a e d i t o rf o rs c i e n t i f i c d o e u m e n t sd e s c r i b e dw i t hm a t h m l a p p l i e dm a t h e m a t i c s n a m e :z e n gq i n g s o n g s u p e r v i s o r :a s s o c i a t ep r o f e s s o rw ux i a o m i n g a b s t r a c t t h e r ea r eal a r g ea m o u n to fd a t at ob es t o r e di nt h ea r e ao fs c i e n c er e s e a r c h & p u b l i s h ,m u c ho ft h e s ed a t ad e s c r i b ew i t hm a t hf o r m a l a w eu s u a l l yu s el a t e xe d i t a n dt y p e s e ts c i e n c ed o c u m e n t a sw e l lf o rt e x ti n p u ta n df o rr e n d e r i n gt h eo u t p u t i n d u ec o u r s el a r e xm a vb ec o m p l e m e n t e db yas e m a n t i c a l l yr i c h e rm a t h m l r e p r e s e n t a t i o n h o w e v e r , l a t e x sg r e a t e s ti m p a c t w i l lr e m a i nj nt h ea r e ao f t y p e s e t t i n g ,w i t ht e xb e c o m i n ga ni m p o r t a n ti n t e r m e d i a t ef o r m a tf o rg e n e r a t i n g h i g h q u a l i t yp r i n t a b l ep d fo u t p u t m a t h m li si n t e n d e dt of a c i l i t a t et h eu s ea n dr e - u s eo fm a t h e m a t i c a ia n d s c i e n t i f i cc o n t e n to nt h ew e b a n df o ro t h e ra p p l i c a t i o n ss u c ha sc o m p u t e ra l g e b r a s y s t e m s ,p r i n tt y p e s e t t i n g ,a n dv o i c es y n t h e s i s m a t h m lc a nb eu s e dt oe n c o d eb o t h t h ep r e s e n t a t i o no fm a t l l e m a t i c a ln o t a t i o nf o rh i g h - q u a i l t yv i s u a id i s p l a y , a n d m a t h e m a t i c a ic o n t e n t f o ra p p l i c a t i o n sw h e r et h es e m a n t i c sp l a y sm o r eo fak e yr o l e s u c ha ss c i e n t i f i cs o r w a r eo rv o i c es y n t h e s i s t h i sp a p e rd e s c r i b e st h ed e s i g na n di m p l e m e n t a t i o no fas y s t e mf o rt y p e s e t t i n g m a t h e m a t i c sw h i c hu s e sm a t h m la si n n e rm a r k1 a n g u a g e 1 nt h i ss y s t e my o uc a n i n p u ti n a t h e m a t i cf o r m u l aw i t hg u io rt e xf o r m a t w h i l ey o uw a n tg e tt h er e s u l t y o u c a nc a l it h es y m b o lc o m p u t a t i o ne n g i n ei n s t a l l e dj 1 1t h er e m o t eh o s t a n dt h es y s t e m c a na n a l y s i st h er e s u l ta n dd i s p l a yi tw i t hc o r r e c tf o r m a t w eu s er e c u r s i v ec o m p o s i t i o nt e c h n o l o g ya sf o rm a t h m lr e s o l v ea n df o r r e n d e r i n gt h eo h t o u t w eu s eas p e c i a li m a g eb u f rs o l v et h eb l i n k i n gp r o b l e m w e i m p l e m e n tt h ew 3 c sm a t h m ld o m u s eu n i c o d ea sd e f a u l te n c o d i n gm e t h o d d i s p l a yc h i n e s ec h a r a c t e r a sac o m p o s et o o lf o ru s et o g e t h e rw i t hw 曲a p p l i c a t i o n u s i n gm i c r o s o f td o t n e tt e c h n o l o g yo rt ou s ea sas t a n d a l o n ea p p l i c a t i o n k e y - w o r d s :t y p e s e t t i n g ,f o r m u l ae d i t o r , m a t h m l ,t e x ,d o m i i 基于m a t h m l 的科技丈献公式编辑器的设计与实现 1 1 前言 第1 章综述 本章首先简要概述了数学公式编辑器的应用现状,然后讨论了目前主流的公 式编辑器【6 8 j 所使用的编辑和显示技术,重点介绍了m a t h m l 8 , 9 , 1 0 , 3 9 , 4 5 , 7 4 数学标记 语言的规范和使用方法。最后介绍了常用的公式编辑软件。 由于个人计算机应用的普及,缩减了创建电子文档的成本,尤其是互联网的 普及和发展使得这种成本变得更低。在科技领域,许多资料首先在网络上发表以 后才被印制成杂志、专刊等书面的材料供人们阅读,这些领域的许多的数据,人 们希望能够以一种方便的可重用的方式使用,因为数据资料一旦被印制成文字或 者转化为图形,给重用带来不必要的麻烦。对于科学研究来说,希望有一种好的 方式来描述数据。 编辑和排版科技文章,目前流行的方法有基于t e x 2 4 , 4 9 , 5 5 技术、m a t h m l 8 , 9 , t 0 1 技术和其他的专有技术的编辑器。基于t e x 技术的编辑器一般不提供所见即所得 方式编排功能,使用其他技术的以m a t h t y p e 4 3 1 为代表的编辑器一般具有所见即 所得的功能。 在科技文章出版领域,l a t e x 2 4 , 6 8 可以排版出高质量的文章,并且占用的空 问非常的小。但是编辑和修改都是基于命令形式,所以要求文档的编辑人员熟记 常用的t e x 指令,对于熟练用户,编排速度只取决于编辑人员的打字速度。 采用类似于m a t h t y p e 的编辑器具有可视化的界面,使用鼠标或者键盘输入 的数学公式立即可以以实际的外观反馈给用户,埘文档的编辑者的要求不高,但 是编辑和输入的效率会受到鼠标输入和菜单式输入的影响。 第1 页 基于m a t h m l 的科技史献公式编辑器的设计与买现 通常人们只需要在网上阅读科技文章,所以出版制作科技论文可以使用一些 文档创作工具如l a y e x 等编辑好文章后,使用l a t e x 2 h 1 m l 删或者使用 t e x 4 h t m l 【6 8 1 将文章转换为t t t m l 网页,这种方式,文章中的数学公式和非拉丁 符号都将被转化为p n g 或者g i f 图形文件,或者使用d v i p d f ,p d f t e x 将文章发 布为p d f 文件,使用a c r o b a tr e a d e r ,x p d f , g h o s tv i e w 等工具阅读m 。如果安装 了相应的插件,可以在浏览器中直接阅读l a t e x 格式或者m a t h m l 格式的公式, 插件加载和绘制公式的速度非常的方便并且,在网页中传输的足文本,传输量也 是非常的小,但要求用户方安装捅件,在很多情况下这种行为是被禁止的。此外 在一些交互型的资源,要求不仅能够阅读而且要求能够输入公式,目前的许多解 决方案都是使用j a v a 小程序的方式,速度非常的缓慢。 1 2 公式的显示和编辑的基本技术要求 分析目前的常用的数学公式编辑器,我们可以总结出公式编辑器的基本技术 要求,作为本地的编辑器从技术上来说相对简单一些,但是也必须满足: ( 1 ) 定义一种数学标记用于描述数学公式。 ( 2 ) 使得应用系统能够显示这种标记。 ( 3 ) 能够编辑已经存在的数学公式。 如果作为网络应用系统,公式的显示利编辑都在远程的客户端,通过w e b 浏览器来完成,由于w e b 应用的特点,需要有更多的限制。 如果w e b 应用系统需要提供符号运算功能,需要满足: ( 4 ) 提供一个符号运算模块,并支持远程通讯,以及设计一个格式转换器 实现在编辑器的公式脚本和符号计算软件脚本之间互相转换。 其中( 1 ) ,我们必须使用一种通用的标准化的方式,使得一日创作了文档, 篇2 页 基于m a t h m i 的科技文献公式编辑器的设计与实现 在任何一个平台上都可以使用,目前常用的有l a t e x 和m a t h m l 。其中( 2 ) 通 过针对特定的平台设计不同的解析器来实现。第( 3 ) 点对于本地的编辑器来说 实现相对容易,但是对于w e b 应用来说。根据具体的应用,如果只是需要显示 数学公式相对要容易实现,如果需要编辑功能,需要消耗大量的资源,而且目前 的实现都不是非常的理想。第( 4 ) 点要求通信量尽量的少。如果需要支持多种 不同的计算服务器,必须借助于一种中间数据格式来实现公式间的格式转换。 1 3 基于l a t e x 描述的数学公式显示和编辑方法 1 3 1 用t e x 编辑器编辑,d v i 格式显示 电子排版系统的出现给印刷出版业带来了一场革命,利用电子计算机及各种 辅助设备,可以完成从文稿、图表的录入、编辑、修改、组版,直至得到各种不 同用途、不同质量的输出结果。利用电子排版系统,可以减轻劳动强度,缩短出 版周期。目前世界上有许多电子排版系统。这些系统各有特点,也各有自己的适 用范围。t e x 就是一种优秀的电子排版系统。 t e x 提供了套功能强大并且十分灵活的排版语言,它多达9 0 0 多条指令, 并且t e x 有宏功能,用户可以不断地定义自己适用的新命令来扩展t e x 系统 的功能。许多人利用t e x 提供的宏定义功能对t e x 进行了二次开发,其中比 较著名的有美国数学学会推荐的非常适合于数学家使用的a m s t e x 以及适合 于一般文章、报告、书籍的l a t e x 系统。 t e x 系统是公认的数学公式排得最好的系统。美国数学学会( a m s ) 鼓励数 学家们使用t e x 系统向它的期刊投稿。世界上许多一流的出版社如k l u w e r 、 a d d i s o n w e s l e y 、牛津大学出版社等也利用t e x 系统出版书籍和期刊。 大部分的t e x 系统都是免费的。k n u t h 5 5 1 教授还公开了他的全部源程序。 第3 页 基于m a t h m l 的科技文献公式编辑器的设计与实现 t e x 系统目前已经在数百 十1 - t 算机系统上得到实现。t e x 系统的排版结果d v i ( d e v i c ei n d e p e n d e n t ) 文件与输出设备无关。d v i 文件f ,以思示、打印、照排 几乎可以在所有的输出设备上输出。t e x 排版源文件及结果在各种计算机系统 上互相兼容。 l e s l i el a m p o r t 开发的l a t e x 是当今世界上最流行和使用最为广泛的t e x 宏集。它构筑在p l a i nt e x 的基础之上,并加进了很多的功能使得使用者可以更 方便的利用t e x 的强大功能。使用l a t e x 基本上不需要使用者自己设计命令 和宏等,因为l a t e x 已经替你做好了。因此,即使使用者并不是很了解t e x , 也可以在短短的时间内生成高质量的文档。对于生成复杂的数学公式,l a t e x 表现的更为出色。 表l - 1 描述了常用的数学结构的t e x 表示方法。 “璃能= :蠹i 戳簿m _ _ ! | i | | ;| o a 2 a 2 上标 a2 呸 下标 一 a “【2 + 2 】 d 2 + 2组合 a i ,j j 以f , 组介 x2 “3 搿! 结台l 下标 j x p i l i l l e 芏 ”他 s u m 一 k = 1 ) nk 4 2一连加 i p r o d 一 i = l :“n x _ _ ii l z 。连乘 l i mm t o 1n f t y jxi ) l l i n 工,。 极限 i n t 卜n ) 蝌e “x ,d x 奠w | 积分 o i n t 一 c ) x 一3 d x + 4 y “2 ,d y珏j n ,4 9 2 d ”线积分 基于m a t h m l 的科技文献公式编辑器的设计与实现 1 3 2 转换为p d f 格式显示 p d f p 6 ( p o r t a b l ed o c u m e n t f o r m a t ) 是a d o b e 公司设计的开放式电子文档 格式。a d o b e 是世界上著名的出版和图像处理软件公司,由该公司倡导的一系列 出版和印刷标准及编码方式受到国际一致的认可,如著名的精确页面描述语言 p o s t s c r i p t ,p d f 实际上也是这种编码的一个应用。p d f 格式主要是为了跨平台 而设计的,这意味着这种格式将在不同的硬件、软件、语言平台之间显示、打印、 编辑、传递和共享都能够保持一致的效果。由于i n t e r n e t 是一个覆盖全世界的网 络,平台和环境非常复杂,使一次制作即可通行全球的p d f 格式变得非常重要 和突出。总的来说,p d f 的优点是跨平台、高压缩、适合屏幕阅览及网络传输、 文件保护、电子批阅、打印质量高、标准开放等。p d f 2 6 1 文件的阅读软件a c r o b a t r e a d e r 是免费的,并且可以作为浏览器的标准插件进行使用。 出于p d f 文件的通用性和各种优点,当前绝大多数的网络出版都把它作为 一种标准的格式提供,如n a t u r e 、s c i e n c e 、j b c 、m o l e c u l e s 、万方数据库等。作 为网络电子出版的工业标准,大量软件正努力向这个软件靠拢。p d f 格式的缺点 是不可能无限的扩展,因此未必可以实现各种科学的现在和未来的各种特殊需 要,另外由于受到版本、格式等因素的限制,也未能确保长时期的正确阅读,而 电子信息的长期保存能力是有争议的。 使用d v i p d f m 或者p d f t e x 可以将l a t e x 格式的源文档转换为p d f 文件, 或者使用a c r o b a t 从p o s t s c r i p t 4 8 格式文件转换为p d f 格式。通过p d f 浏览器, 比如a c r o b a tr e a d e r ,x p d f 或者g h o s t v i e w 能够方便的阅读本地的p d f 文件,并 且保留l a t e x 文档中的超级链接。 1 3 3 转换为h t m l 格式 l a t e x 源文件也可以借助一些工具软件,如l a t e x 2 h t m l 或者t e x 4 b t 直接 第5 页 基于m a t h m l 的科技文献公式编辑器的设计与实现 转换为h t m l 文件,并且保留原有文档的外观,超级链接也被转换为w e b 超级 链接。另一方面,转换工具通常将非拉丁字母符号转换为图形文件。通常一篇科 技文章转换完毕后会产生成百上千的小图形文件,并且转换工具转换完毕的 h t m l 文档只支持一种分辨率,一种背景色,如果在不同的分辨率和背景色下浏 览会破坏原有文档的外观。信息被转换为图形文件后会占用大量的磁盘空间,在 w e b 浏览器中加载文档花费的时间也会增加,给重用这些信息也带来一定的困 难。 1 3 4 通过浏览器插件支持显示 一些浏览器插件,如i b m 的t e c h e x p l o r e r 嗍,能够理解大部分的l a t e x 语 言标记,因此l a t e x 源文件能够直接在w e b 浏览器中显示。 另外w e b e q 4 4 1 应用程序能够理解和识别l a t e x 语言的一个子集,w e b e q 使用j a v a 语言编写具有定跨平台性。 1 4 基于m a t h m l 描述的数学公式编辑和显示方法 x m l 2 2 , 3 1 ( e x t a n s i b l e m a r k u pl a n g u a g e ,可扩展标汜语言) 是一套用来标记 文档的语法,它和现在的w e b 标记语言h t m l e 2 8 1 相同,都是由s g m l 发展而来 ( 由于s g m l 过于求大、求全,未能广泛应用) ,同样由w 3 c e 91 0 1 ( w o r l d w i d e w e b c o n s o r t i u m 万维网联盟) 制定标准。其目标是统一未来跨平台数据交换的格 式,并取代现有的h t m l 成为下一代w e b 页的标准。 x m l 和h t m l 都采用标记来表示数据,但本质上却完全不同。h t m l 标记 由w 3 c 管理,只有w 3 c 能够定义、扩展和管理这些标记,因此,如果白定义 的标记不被w 3 c 承认,也就没有任何价值。同时,h t m l 本身不能帮助理解或 管理数据,例如,要从h t m l 文本中提取有效数据完全凭借人类的思维,我们 第6 页 基于m a t h m l 的科技文献公式编辑器的设计与实现 无法编写这样的程序,让它从关于书本的h t m l 文本中获取作者的名称。因为 有的作者可能用 表示,有的可能被 包含,h t m l 并未对如何表示 个作者制定规范,因而没法让程序理解哪个标记包含作者,哪个没有。 x m l f 好相反,它的标记是可自定义的、可扩展的和可识别的。例如,我 们可以在关于书籍的x m l 文本中,定义 标记为书本的作者,只要遵循相 应的d t d ( d o c u m e n tt y p ed e f i n e ,文档类型定义) ,那么任何来源的x m l 文 本,其 元素都可以被正确识别,这在h t m l 是无法实现的。更重要的是 理论上任何应用都可以识别并处理这些数据,如w e b 浏览器、w a p 手机、数据 库系统或任何其它传统软件,只要它们能够理解并遵守d t d 规范就都可以。最 后,依照每个应用的需要,可以根据实际情况创建更多标记,或赋予标记不同的 含义。如前面的 ,在介绍书本的文档中可以是作者,在介绍古董的文档 中可以是古玩的名称,在学习化学的文档中可以是化学元素,完全可以根据需求 来处理,并且能够保证不被混淆。 另外,x m l 比h t m l 更加严格。它不允许出现不配对的标记,如常用的回 车符 ,在x m l 中,要么是 ,要么是 。也不允许标记的堆叠 女l l ,而且x m l 区分大小写。最后,x m l 文档有且仅有 一个根5 i 素。 x m l 可以应用到w e b ,但不限于w e b ,就像我们看到的那样,通过x m l 最终在前所未有的范围内,实现统一的数据格式规范和完善的处理方法。 由于x m l 的可扩展标记非常灵活,能够f 确解析它的浏览器非常稀少。现 有的x h t m l 做出了尝试,它是一种比x m l 更加严格的超文本标记语言,但它 毕竟还是属于固定标记的文档,在数据交换中还彳i 能和x m l 桐提并论。正是由 于目前的浏览器对x m l 的支持不够,造成x m l 在w e b 中的应用受到了严重限 第7 页 基于m a t h m l 的科技文献公式编辑器的设计与实现 制,因此,将x m l 应用到w e b 必须采用其它的手段。目前,被广泛应用的主要 包括w 3 c 自己制定的x s l 和些服务器端脚本,如p h p 、j s p 等。 m a t h m l m 0 1 即m a t h e m a t i c a lm a r k u pl a n g u a g e ( 数学标记语言) ,可用来 使用x m l 语法描述数学表达式。m a t t v m l 的目标是将数学内容与它的表示分 离开来,并对数学表达式进行描述,以便数学软件工具可以评估该表达式并对其 执行计算。 m a t h m i 。的标记语言按照编码风格可以划分为三类:呈现导向的 ( p r e s e n t a t i o ne n c o d i n g s ) 、内容导向的( c o n t e n te n c o d i n g s ) 和混合型的( h y b r i d e n c o d i n g s ) 。呈现型标记一般用于以两维结构可视化地描述数学标记。m a t h m l 呈现型标记由大约3 0 种元素组成,支持的属性超过5 0 种。大部分呈现元素都属 布局模式,也就是说可以包含其它呈现元素。内容元素用途f i 在显示上,而关注 于数学表达式本身的语义,常常应用于象计算机代数、语音合成等领域。这样 在我们使用内容型标记时,控制表达式的显示相对来说会困难一些。内容型标记 支持元素约1 5 0 种,支持的属性约有1 2 个。混合编码介于呈现和内容两者之间 它混合使用两种编码方式。究竟使用何种编码方式,要根据应用环境而定。 现在的标准为m a t h m l2 0 ,它已经达到了w 3 c 推荐状态。m a t h m l 包含 了用于在浏览器中表示的标记,也包含了一些内容标记可用于明白地描述数学表 达式的意思。 尽管i n t e r n e te x p l o r e r 本身不会显示m a t h m l 内容,但是存在几个第三力 a c t i v e x 控件或d h t m l 行为,它们专门用于m a t h m l 的表示。其中一个这 样的程序为d e s i g ns c i e n c ei n c 的m a t h p l a y e r r ”1 。另一个是i b m 的 t e c h e x p l o r e r 。在w e b 浏览器中显示m a t h m l 内容还有一个选择就是在 x h t m l 文档巾包括m a t h m l ,并指定伴随w 3 c 提供的一个x s l t 3 1 1 样式 第8 页 基于m a t h m l 的科技文献公式编辑器的设计与实现 表,该样式表会将其转换为格式良好的h t m l 。 图1 1i e 浏览器中使用m a t h p l a y e r 显示m a t h m l 下面的示例,说明了公式勾股定理d 2 + b 2 = c 2 在m a t h m l 中是如何表达的。 使用m a t h m lp r e s e n t a t i o n 标记表示,如图1 - 2 所示: 图1 - 2 a 2 + b 2 = c 2 的p r e s e n t a t i o n 标记表示 使用m a t h m lc o n t e n t 标记表示,如图1 - 3 所示 第9 页 基于m a t h m l 的科技文献公式编辑器的设计与实现 图1 - 3 a 2 + b 2 = c 2 的c o n t e m 标记表示 我们可以看出,无沦使用p r e s e n t a t i o n 标记还是c o n t e n t 标记,m a t h m l 都 把所要描述的表达式分解成由数字、字母、文本或其它符号组成的一棵树。树根 标记表示m a t h m l 文档的丌始。 为了能在尽可能多的平台上呈现,m a t h m l 文档应该按照以下的规则卜| 编写 如果你使用w 3 c 标准化的编辑器,例如a m a y a ,这一切都将自动完成。 ( 1 ) 创建一个内含( i n l i n e d ) m a t l a 4 l 的x h t m l 文档。应该如图1 4 那样创 建一个内含m a t h m l 的x h t m l 文档 第1 0 页 基于m a t h m l 的科技文献公式编辑器的设计与实现 图1 4 内含m a t h m l 的x h t m l 文档 m a t h m l 不应该在 标签中使用,也不应该通过 标签来引用 一个外部的m a t h m l 文档。 ( 2 ) 增加一个样式表( s t y l e s h e e t ) 处理指令 图1 5 粗斜体的那行代码应该放在一个x h t m l 页面的最开头,必须在 标签的前面,但是在x m l 声明的后面 : 图1 - 5m a t h m l 文档的结构 这样文档将可以在大多数情况下使用:l i 作( 但是在i e 巾不行:冈为安全原因 i e 不会执行一个非本地的x s l t 3 5 1 样式表。如果一个包含m a t h m l 的文档需要 在本地运行x s l t 声明如下: m a t h m l n e tc o n t r o l 1 5 1 是- 款运行与n e t 平台的公式编辑器商业组件,它 提供所见即所得的方式编辑数学公式,编辑器实现了m a t h m l 2 0 标准,能够将 公式保存为图片格式,也呵以读取m a t h m l2 0 规范的数学公式。该组件使用c # 编写,运行于n e t 平台,可以结合a s p n e t 编写网络应用程序,用于公式的编辑 与显示。 开源项目a s c i i m a t h m l 1 采用j a v as c r i p t 技术动态将输入的纯文本的l a t e x 公式转换为m a t h m l 格式的公式,采用m a t h p l a y e r 可以实现动态和交瓦的显示 第1 1 页 基于m a t h m l 的科技文献公式编辑器的设计与实现 和输入公式,如图1 - 6 所示。目荫许多的数学类技术网站都采用该技术支持公式 的输入。因为输入的是纯文本,对于熟悉l a t e x 的专业人员来说速度比较快而且 非常的方便,如果需要本地操作,只需要下载a s c i i m a t h m l j s 文件放在编辑的 h t m l 目录下即可实现。 图1 - 6a s c i i m a t h m l 编辑器结合m a t h p l a y e r 编辑和显示数学公式 1 5 基于其它方法的数学公式编辑和显示方法 ( 1 ) a n y e q a n y e q 6 9 1 使用文杰2 0 0 2 数学公式编辑技术与a c t i v e x 技术,可以在一般文 件中表示数学公式,也可以在网页中描述公式。可以通过所见即所得的方式、命 令或者公式脚本方式输入数学公式。 第1 2 页 基于m a t h m l 的科技文献公式编辑器的设计与宴现 例如 雪b : l 蚕。j 季= 0 j j a 的h t m l 描述代码如下 图1 7 a n y e q 的界面 o b j e c tc l a s s i d = ”c l s i d :8 f 2 a a 5 c 5 8 c 9 c - 11 d 3 - 8 a c 6 一o o a 0 2 4 c d 2 0 8 8 ” c o d e b a s e 2 ”h t t p :h w w wh a a n s o f l c o m t a n y e q a n y e q c a b ” a l i g n = a b s m i d d l ew i d t h = ”18 0 ”h e i g h t 2 5 4 b 图1 - 8 a n y e q 脚本 a n y e q 自身的公式输入命令如下 p s is u bb t a b 一i n tt a bt a bt a b 、i n ta t a bt a b t a b v e c b t a bc d o td v e cs t a b 0 图1 - 9a n y e q 描述的公式例子 第1 3 页 基于m a t h m l 的科技文献公式编辑器的设计与实现 ( 2 ) s v g s v g 3 0 1 ( s c a l a b e lv e c t o rg r a p h i c s ) 是一种以x m l 格式描述二维图形的规范。 这些x m l 文档以s v g 扩展名结尾,并且可由s v g 浏览器读取这些文件,然后显 示。目前大多数w e b 浏览器都支持用插件或a c t i v e x 控件( 比如a d o b es v g b r o w e r ) 查看s v g 文档。之所以称m a t h p l a y e r “可缩放矢量图形”是凶为s v g 处理的是矢量类型的图形,而不是光栅类型的图形。矢量图形是可缩放的,并且 在图形缩放或旋转时不会降低分辨率或模糊细节。可缩放矢量图形还可以采用轻 巧的可移植格式描绘复杂图形。与其它格式比较起来,矢量图形格式主要优l i 在 于:第一,用于包含图形信息的文件尺寸较小;第二,组织信息的方式便于理解。 在s v g 中所有图像都由图元组成,例如l i n e 、p a t h 、t e x t 等。 例如:公式j 2 4 3 荨。1 的s v g 文件 1 6 几种描述方法的比较 幽1 1 0 s v g 描述公式的例子 t e x 是当前在计算机上表达数学公式的标准,表达能力强,但它也有大的 缺点:不适合于互联网上的运用。这一方面表现在t e x 语法无法以网页语言 h t m l 表达;二方面体现在t e x 语法可以说是只是表达数学公式的外观形状而 第1 4 页 基于m a t h m l 的科技文献膺式编辑器的设计与实现 不能表达数学公式内在的含义,不利于网络的检索、开发和重用等。因此,我们 急需一种既有 r e x 的强大数学公式表达能力又能与互联网良好结合的表达语言 m a t h m l 就是顺应这种需要而产生的。 m a t h m l 语言是由国际万维网标准组织w 3 cf 的数学工作组制定的基于 x m l 语言标准的数学标记语言。x m l 语言被称为“下一代的互联网语言”,与 当前工f 在使用的网络表示语言h t m l 相比,它具有良好的数据存储格式、可扩 展性、高度结构化以及良好的网络传输能力等优点。m a t h m l 也继承了这些优点。 具体而言,使用m a t h m l 在计算机匕表达数学公式的优点是:可以得到最为 广泛的支持,可以被更多的软件支持而且直接被网络浏览器支持;具有强大的数 学公式表达能力,这种能力一方面表现在它继承了t e x 语言的优点,可以准确地 表达数学公式的形状,但更重要的是,它能够表达数学公式的内涵意义,可以方 便地对数学文献或含数学公式的其他文献进行自动处理、自动检索等功能 m a t h m i 。语言本身是由文本字符构成,代码小,有利于网络传输;具有可扩展性 将来可以方便与其他各种设备,如语音、盲文等进行信息交换。而m a t h m l 语言 的不足可能就是目前它尚未定义完整,能够完全支持它的软件还不是很多。 m a t h m l 语言一经提出之后就受到各方面的重视,世界各大软件公司都投入 t * h 当的重视,比如i b m 就率先推出了使i e 等浏览器能够显示m a t h m l 文件的 插件( w w w s o f t w a r e i b m c o m t e c h e x p l o r e r ) ,而世界最大的软件公司微软也宣称它 的下一代浏览器i e 7 将优先支持m a t h m l 语言。而所谓的数学软件四大家 m a t h c a d 、m a p l e 、m a t h e m a t i c a 和m a t l a b 也都在其最新推出的软件版本中支 持m a t h m l 语言。至于w 3 c 本身,他们自己的浏览器m o z i l l a 的第个正式版 本发布时所突出宣称的特点就是全面支持m a t h m l2 0 语言。 可以肯定地说:m a t h m l 语言代表着未来在信息领域使用数学公式的方向, 第1 5 页 基于m a t h m l 的科技文献公式编辑器的设计与实现 但在当前尚不能很快普及,主要是因为:除了在与数学相关的软件系统中对 m a t h m l 语言有很好的支持外,m a t h m l 语言还没有能够在其他领域有很好的支 持,尤其是在字处理软件方而;而网络浏览器则要通过安装插件的方法或使用尚 未占主流的浏览器如m o z i l l a 、a m a y a 来观看。 1 7 常用的公式编辑软件 6 8 , 7 0 , 7 1 1 m a t h m l2 0 规范中有着太多的标汜、实体和属性,如果全部记住,记忆会 承受很大的负荷。如果没有工具的支持,m a t h m l 的编辑和发布肯定会举步维艰 有如我们不使用d r e a m w e a v e r 或f r o n t p a g e 手q 2 仓, l 建和编辑h t m l 页而一样。这 样,自1 0 版本发布之后,相继出现了许多支持m a t h m l 的工具。除了一些副产 品和边缘工具外,m a t h m l 相关的工具大致可分下面几类 1 浏览器( v i e w e r 、r e n d e r e r 、r e n d e r i n ge n g i n e ) 2 编辑器( e d i t o r 、t y p e s e t t e r 、a u t h o r i n gt 0 0 1 ) 3 解析器( p a r s e r 、v a l i d a t o r ) 4 转换器( t r a n s l a t o r 、t r a n s f o r m e r ) 1 浏览器支持 通用浏览器如i e 、n e t s c a p e 、m o z i l l a 以及w 3 c 的a m a y a 等当前的版本都 不同程度地支持m a t h m l 。m o z i l l a1 0 版之后,现在三个平台下都已经支持 m a t h m l 。n e t s c a p e 7 1 在三个平台下也均已内嵌支持m a t h m l 。1 9 9 6 年由w 3 c 启动的a m a y a 是一个开源项目,编辑器和浏览器被集成在一起。作为一个框架 a m a y a 对诸如s v g 、c s s 等多种w 3 c 标准支持的都不错,a m a y a 中m a t h m l 显示速度明显比其它几个浏览器要快,支持的属性也比较全面,而且还支持 m a t h m l 文件内部结构的树型显示。由于微软对m a t h m l 的支持,未来的i e 7 及 第1 6 页 基于m a t h m l 的科技文献公式编辑嚣的设计与实现 其后续版本肯定将逐步支持公式的显示,d e s i g ns c i e n c e 也已经宣称微软将会提 供m a t h p l a y e r 支持m s n 用户,但目前i e6 0 以下的版本仍需安装第三方插件才 能正常显示m a t h m l 。 w i n d o w s 平台下常见的插件有d e s g i ns c i e n c e 的m a t h p l a y e r 和i b m 的 t e c h e x p l o r e r ( 现已转交i n t e g r e t e c l m i c a lp u b l i s h i n g c o ,维护) 。表1 - 2 列出了目 前主流操作系统平台f 浏览器对m a t h m l 的支持情况。 w i n d o w sl i n u x u i q i xm a c i n t o s h l e5 0 + t e c h e x p l o r e r n e t s c a p e 6 1 十 i e5 o + t e c h e x p l o r e rt e c h e x p l o r e r i e5 5 + m a t h p l a y e r 或者t e c h e x p l o r e rp l u g - i n n e t s c a p e7 1n e t s c a p e7 1 i e6 0 + m a t b p l a y e r 或者t e c h e x p l o r e rp l u g - i nm o z i l l a0 ,9 9m o z 川a0 9 9 n e t s c a p e61 十t e c h e x p l o r e rp l u g - i na m a y a 表1 2 各种操作系统对m a t h m l 的支持 2 编辑器支持 m a t h m l 的编辑器已有很多,除了上面讲过到同为浏览器的a m a y a 以外, 最著名的就属d e s i g ns c i e n c e 的w e b e qe d i t o r 了。a m a y a 对m a t h m l 的支持要 优于w e b e q ,所以推荐使用a m a y a 。但如果编辑公式不很复杂,使用w e b e q 也是一种不错的选择。许多常见的字符处理器如开源的o p e n o f f i c e ( w w w o p e n o f f i c e o r g ) 、m a p l e 【3 7 1 、m a t h c a d ( w w w m a t h c a d c o n l ) 、m a t h e m a t i c a 、 p u b l i c o n ( w w w p u b l i c o n c o r n ) 和m a c k i c h a ns o f t w a r e ( w v c w m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 租房合同中空气检测(3篇)
- 2025年电子产品租赁合同模板
- 2025委托加工协议范本版
- 2025年土地使用权转让合同模板:房屋买卖协议
- 电力设计年度工作总结
- web前端总结报告范文(3篇)
- 浙江省2025年宁波市鄞州区区属国有企业社会招聘(写作)复习题及答案
- 教育发展总体规划
- 营养七要素幼儿园
- 用心服务的方法体系
- 园区物业服务方案(3篇)
- 新解读《DZ-T 0130.11 - 2006地质矿产实验室测试质量管理规范 第11部分:岩石物理力学性质试验》新解读
- 工程代签免责协议书
- 承接查验委托协议书
- 快艇买卖合同协议书
- 年产200吨高纯金属铯铷项目报告书
- 导弹基本知识
- 2025年度租赁车辆租赁合同附件四:维修保养记录
- 采血后预防淤青的按压方式
- 国企中层领导竞聘笔试题
- 《AI公文写作范例大全:格式、要点与技巧》课件 第5、6章 AI公文写作的方法、AI写作工具的测评
评论
0/150
提交评论