ITADN
stefnotch/aftermath-editor
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Aftermath Editor

一款能够理解您公式的自然语言数学编辑器。

为什么?

目前市面上有许多现有的公式编辑器,但没有一个能解决我的问题:

  • 我希望能够_自然地_输入公式,而无需学习新的语法读写方式。也就是说,我希望能够输入1/2,它就能表示为分数$\frac{1}{2}$。
  • 我想在此基础上构建一个计算器,因此编辑器必须能够理解公式中的_语义_。例如,公式$

因此,目标便是

  1. 确定每个公式的准确含义。不再需要猜测计算机或其他人会如何解读它们。
  2. 公式的输入与编辑应尽可能简单且快速。
  3. 采用行业标准 LaTeX 和 MathML 的风格,实现美观的渲染效果。

如何使用它?

演示

它是如何工作的?

该编辑器是基于 MathML Core] 构建的。MathML 是一种用于在网页上_渲染_数学公式的标准。它采用树形结构,可嵌入 HTML 中,随后浏览器会将其显示为美观的公式。

对于编辑器而言,这是理想的选择,因为 MathML 能为我们提供标准化的表示方式、快速的浏览器原生渲染效果,而且更重要的是具备无障碍访问功能。

该编辑器 Web 组件在内部由几个部分组成。

首先,它使用简单的树形数据结构来存储用户输入的内容。这种输入树与 MathML 有些相似,但更适用于_编辑_公式。随后,会通过键盘和鼠标输入事件来修改该树形结构。

接着,该输入树会被解析为具有完整语义的具体语法树。之后,可以根据需要对该具体语法树进行转换,从而实现复杂的解析规则。

最后,利用该具体语法树将公式渲染为 MathML 格式。

更多相关信息请参阅 CONTRIBUTING.md

它与……有何不同?