LaTeXr 开发记录
Mathpix Snip 是 Mathpix 公司开发的基于 AI 的跨平台公式识别软件,能够从照片、截屏或手写笔记中提取公式数据,并将其转化为 LaTeX、AsciiMath 或 MathML 等语法格式的文本,可直接粘贴至 Markdown、LaTeX、MS Word 等编辑器中,以实现公式的快速输入。借助它,人可以从繁杂的公式语法中解脱出来,而集中精力做更有意义的事。
Snip 识别迅速、准确率高,支持数学、物理学、化学等多学科的公式识别,尤以数学为佳。但对于免费账户,官方限制了 50 次/月的使用量。显然这个供给量对于理工科的人而言是远远不够的。好在 Mathpix 公司开放了其后台 AI 系统的 API, 同时针对 API 渠道,其慷慨地提供了 1000 次/月的使用量,于我足矣。基于此,我写了一个 macOS 平台下的菜单栏程序,并将其打包为了 Mac app,暂定名称为 LaTeXr。奈何时间有限,Windows 平台下的暂未予处理,请读者见谅。
申请 Mathpix API Keys
此步略过不述,只需按照 Mathpix 官网指引申请即可。成功后,记录你的 app_id
与 app_key
。
App 代码
关于代码的含义及相关注意事项,参见注释。
1 |
|
App 打包
请读者参考我的另一篇博文,Anaconda 环境下打包 Python 文件为 macOS app 本地运行 ,此处不予赘述。
使用效果
截取屏幕上的公式,将其存储于剪贴板内。随后使用 LaTeXr 进行识别,成功则弹出通知消息,并于后台将服务器返回的 LaTeX 文本写入剪贴板。如下所示:
随后直接在文本编辑器中粘贴,得到:
1 |
|
对其渲染后,得到:
\[q _ { \max } \frac { 1 } { \tau } e ^ { - t / \tau } + \frac { 1 } { R C } q _ { \max } \left( 1 - e ^ { - t / \tau } \right) = \frac { V _ { \mathrm { emf } } } { R }\]总结
- 虽然目前 LaTeXr 的功能比较单一,但已实现了其最核心的功能,小巧简洁,自用足矣。
- 功能拓展方向:历史记录与查询、内置截图功能、手写功能、摄像头影像处理、云端同步功能、支持全局热键、支持开机启动、支持隐藏 Dock 图标、返回公式预览、多语法支持、支持音效等。
- 如做商用,其背后的 AI 技术乃是核心。