今天受到启发,想用数据库整理数学题,于是就顺手搜了一下,有缘见到这个问题,稍微说一下我的思路吧。

我的第一反应也是数据库存储的数据都是线性记录,因为英语是线性表达,但是数学公式相当于是二维记录,各字符之间除了有左右关系还有上下关系,那么唯一的办法就是把这种二维变量以固定的协议转化为线性记录,从而进行存储(别别别,别扔香蕉皮,马上上重点。)

划重点,现行的用于数学公式的格式化存储方式有:

一、markdown

markdown作为标记语言已经得到业界的广泛认可,连各种云笔记工具都有markdown编辑方式(这种方式支不支持数学公式的显示目前我还没有测试,如果能的话,就太爽了)

这个例子是从第一个链接里截图的,就是展示一下显示的可能性:

废话不多说,直接附上几个链接,有需要可以再用google、bing搜索一些东西出来

二、LaTeX

LaTeX是一种基于ΤΕΧ的排版系统,专为排版而生,诞生时间略久,因此你所有遇到的排版问题,前人一定都遇到过,针对数学公式,他也有自己的一套线性记录协议。

Online LaTeX Equation Editor这是个latex在线编辑网页,上面有一些实例可以了解一下。

目前临时就想到这么多,以上两条相关资料都比较全,随时可以搜索到。

PS:只要解决存储进数据库的问题,那么接下来的格式化输出就好说了,数学公式可以从html层面进行解析,有配套的js。

PPS:我刚刚搜到MathJax有LaTeX插件,那么markdown、MathJax、LaTeX之间属于什么关系我有点懵,从属关系?还是可以有交叉引用的并列关系~~~这个还需要再研究一下,我现在是没时间了,考完研吧。希望有机会跟题主好好交流一下,我很喜欢你把数学公式存进数据库的思想。

更多推荐