本网站是一个理科网站,往往会涉及数学公式的输入和显示,而这在Web上一直是一个难题。所以参考了好几篇网上的文章,现将自己的学习成果整理一下。主要参考网址:章杨的blog的Web数学公式的输入和显示。
一.计算机表现数学公式的几种方法
1.面向桌面的TeX系统
TeX是Knuth教授开发的一种优秀的桌面电子排版系统。它提供了一套功能强大并且十分灵活的排版语言,有多达900多条指令,并且具有宏功能,用户可以不断地定义自己适用的新命令来扩展TeX系统的功能。
TeX系统有许多优点,如开源、易移植、排版质量高、输出结果与设备无关等。同时,它也是公认的最好的数学公式排版系统,它在数学和工程领域得到了广泛的使用,相关领域的学术论文基本都由TeX系统或其兼容系统(如LaTeX系统)排版生成。
在TeX系统中,各种数学符号和公式由不同的数学记号来表示,如\sin表示sin、\sqrt表示根号等。数学记号和数字的组合一般放在和\]里面。下表中列出了几个数学公式及其TeX指令:
数学公式 | TeX指令 |
---|---|
![]() |
![]() |
f(x)=x2-1 | ![]() |
![]() |
![]() |
一般来说,TeX指令和它所表示的数学公式本身非常接近,或者是该数学符号的英文缩写。因此TeX指令比较直观、易学,也很方便输入,中小学数学涉及的数学符号更是如此。
但在中小学,公式的输入几乎不会用Tex,用的都是Word自带的公式编辑器,我这些年通常使用域代码,因为高中物理通常在输入分数、根号时才会涉及公式的输入,而这种简单的情况用公式编辑器有点大材小用,也比较难输,我通常只有在比较复杂的情况下(比如或矩阵)才使用公式编辑器。
2.面向互联网的数学标记语言MathML
TeX系统虽然能完美地显示数学公式,但是无法在互联网上使用。目前我采用的方法是将Word中的公式进行截图,在网页中用图像的方式显示公式,用这种方法比较费时,而且修改也不方便。而HTML超文本标记语言由于自身的缺陷,也很难显示数学公式。
针对这些问题,国际互联网协会(World Wide Web Consortium,W3C)于1997年成立了W3C数学工作组,制定一种基于XML语言标准的数学标记语言(Mathematical Markup Language,MathML)。该组织于1998年发布了MathML 1.0版本,当前最新版本是3.0,发布于2010年10月21日。 MathML语言主要从表现(Presentation)和内容(Content)两个维度来定义各种数学符号和公式。表现标记是从数学表达式的显示形式来描述数学公式,如<msup>标记表示上标符号,<msub>表示下标符号等;而内容标记是从数学表达式本身的内在含义进行描述数学公式,如<plus>标记表示相加。二者可以从各自的角度表示同一个数学公式,以 为例,表现标记和内容标记分别如下:
表现标记 | 内容标记 | |
---|---|---|
|