ASCIIMathML网页公式解析结果分析

2015-05-30 10:48杜宁
科技资讯 2015年25期
关键词:公式

杜宁

摘 要:开源ASCIIMathML.js遵循W3C互联网数学信息交换标准,实现了网页公式从Content(表义)到Presentation(表现)的转换,进而支持MathPlayer引擎对网页公式的显示。它与广泛使用的MS Word公式编辑器MathType表现语法基本相同,可实现MS Word和网页公式的互用、复用。探讨ASCIIMathML从Content到Presentation的解析机理,对于在WWW上数学公式的交流和处理,对于数学符号的机器识别和应用,甚至Pretentation到Content的逆向工程,都具有实际意义。

关键词:公式 ASCIIMathML MathML MathPlayer

中图分类号:TP391 文献标识码:A 文章编号:1672-3791(2015)09(a)-0002-02

通过网络传播、学习数学知识,在线交流,已成为便捷、潮流、重要的手段,都涉及数学公式在Web中输入、处理、显示的问题。MathML是W3C制定的基于XML的WWW数学信息交换标准,从表义(Content)和表现(Presentation)两方面完整地表达了数学公式。

Peter Jipsen编写的ASCIIMathML.js[1]脚本,兼容LaTex语法,实现表义到表现的转化。Design Science公司的网页公式引擎MathPlayer[2],实现了网页上MathML的显示。两者结合,完美地实现了从字符串到公式的网页显示。

1 ASCIIMathML语义符号

ASCIIMathML的公式语义,是一种基于ASCII码的线性字符串格式,与Design Science公司的另一软件MathType的公式表义语法基本一致。在安装了MathType的MS Word中,公式有焦点时,按键Alt+\即可在公式和语义串之间切换。

1.1 ASCIIMAthML基本语义符号

(1)定界符:同时也是与普通文本区分的标识符。公式内容界定在一对$…$或`...`中。

(2)保留字:函数名如sin,表达式如lim,希腊字母如Pi,特殊符号如infty。

(3)括号:{},表示其中内容为一整体。如\lim_{x->0}中x->0作为整体置于lim底部。

(4)语义符:/表分式,_表上标,^表下标,&表矩阵元素之间隔,\\表矩阵元素换行。

(5)转义符:\,表示其后字符(串)为保留字或特定含义,如\$表美元符,\frac表分式。

(6)其他数学符号:如+-表示±,!=表≠,oo表示∞,\in表示等等。

1.2 ASCIIMAthML的表形语义符号

见表1。

2 ASCIIMathML的基本解析结果

2.1 ASCIIMathML的辅助标签

ASCIIMathML的辅助标签界定math对象中的单个字符,或界定行、块内容。其结构标签见表1之语义。

(1)单个ascii字母字符或保留字串(a-z,A-Z及保留字):.

(2)單个ascii数字字符(0-9): .

(3)单个ascii其他字符(+,-,=,<,>,#,%,.,:,,”等等): .

(4)空格:

(5)行.内容块定界符:

2.2 ASCIIMathML主要解析结果示例

ASCIIMathML完成了ascii文本串的解析到MathML之DOM对象树的创建,它是表现(Pretentatin)所代表的公式二维结构在页面上的体现。表2列举了常见公式的解析结果。

在ASCIIMathML的转换中,首先引用自定义元素的名空间,创建对象,为内部子节点指定样式(以的形式),然后是表2中实质性具体解析结果。

3 ASCIIMathML的运行过程

在HTML文件的任意位置(推荐在

猜你喜欢
公式
组合数与组合数公式
排列数与排列数公式
等差数列前2n-1及2n项和公式与应用
成功的公式
“美”在二倍角正弦公式中的应用
例说:二倍角公式的巧用
Wallis公式与Stirling公式的推广
公式牢记在心轻松构造函数
一类特殊Riccati微分方程的通解公式
Weitzenbock公式的一点注记