Android插入方程技术方案分析

本文分析了Android上实现插入方程的功能,主要聚焦于LaTeX和MathML。目标是为"神马笔记"扫清技术障碍。选择了LaTeX作为公式编辑语言,因为其更适合手机编辑。文中提出了解析LaTeX、渲染LaTeX、解析MathML和转换MathML的方案,并展示了多个示例方程。
摘要由CSDN通过智能技术生成


上一回《 iOS Pages插入方程功能分析》中,我们分析了iOS Pages插入方程的用户交互过程。

这一回开始,开始分析Android如何实现插入方程的功能。

一、目标

分析Android插入方程的技术实现方案,为『神马笔记』插入方程功能扫除技术障碍。

二、技术问题

编写数学公式常用的2种语言是LaTeXMathML,从手机端编辑的角度来看,LaTeX优于MathML,MathML作为XML的子集,需要编写大量的标签元素,不太适合手机编辑。

因此,选择LaTeX来实现插入数学公式。

  • 使用LaTeX需要解决的技术问题
问题 描述
解析 通过解析LaTeX公式,从而判断是否有效,是否为空。
渲染 渲染解析后的LaTeX
  • 使用MathML需要解决的技术问题
问题 描述
解析 通过解析MathML,从而判断有效性。
转换 将MathML转换为LaTeX,从而进行渲染。

三、实现方案

1. 解析LaTeX

方案 描述 参考资料
JMathTeX LaTeX的Java解析渲染库,并对MathML提供了有限支持。 http://jmathtex.sourceforge.net/
jlatexmath A Java API to render LaTeX https://github.com/opencollab/jlatexmath
jlatexmath-android aJLaTeXMath Library - Displays LaTeX commands in android OS. https://github.com/mksmbrtsh/jlatexmath-android
JLaTexMath-andriod JLaTexMath for Android
完美支持、数学、物理、化学公式、汉字解析、图文混排

本项目借鉴自jlatexmath-android(由java Api 转化来的Android版本)

本项目针对化学、生物类的中文公式做了优化。
https://github.com/sixgodIT/JLaTexMath-andriod
jlatexmath-android This is a fork of jlatextmath project that brings rendering of LaTeX math to Android. https://github.com/noties/jlatexmath-android

2. 渲染LaTeX

除了解析LaTeX代码库自带的渲染功能外,还可以通过网页方式渲染LaTeX。

方案 描述 参考资料
MathJax Beautiful math in all browsers
A JavaScript display engine for mathematics that works in all browsers.
https://www.mathjax.org/
KaTeX Fast math typesetting for the web. https://katex.org/
https://github.com/KaTeX/KaTeX

3. 解析MathML

MathML是XML的子集ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值