讲在最前面
1.0.0的设想
之前,我在这里面发过帖子:https://bbs.marginnote.com.cn/t/topic/23926 , 寒假又是比较空闲,就琢磨着开发一下插件。不得不说,MN插件开发比较难上手,这里也十分感谢 @ourongxing 的ohmymn,它基本上已经将框架搭建好了,开发插件已经不需要花很多时间在UI设计以及事件接收上,其次它的调试和打包做得也十分人性化,如果有意向尝试一下的也可以去试试OhMyMN的模板。 imagetotex这个插件就是将图片转换成latex。需要输入mathpix的API ID和API KEY。我那时候买的价格是1美元(免费一千次/一个月,相比于普通50次,学生100次来说已经够用了)不知道何时涨价到了20美元。确实离谱了一点点!如果真的有很多同学需要用到latex,我考虑的是添加另外两种方式:-
使用自建服务,但是由于开源的Latex-OCR真的很少(就是那些给出权重文件的),因此我在尝试这些训练模型后,找到比较好的就只有:https://github.com/kingyiusuen/image-to-latex。
大家可以前往自建的 image-to-latex 去感受一下,基本上只能识别单行公式或者两行公式。 -
使用讯飞的api,它是免费申请并且也拥有很多次请求机会。不过我试了一下,与mathpix也差了很大一截。
1.0.1
1.0.1应该是最终版本,感觉大家对于latex插件需求不高,目前是配合[markdown插件](https://bbs.marginnote.com.cn/t/topic/7280)实现可视化。1.0.2
1.0.1不是最终版本,1.0.2更新了一个免费的API(讯飞API,它的申请方式会在下方说明),但是基于目前MN3开放的API有限(也有可能是我TS开发能力有限),我将一部分操作放在了我的云服务器上,如果您不介意您的APIKey,APPID以及APISecret发送到我的云服务器可以进行使用。虽然这个操作会对暴露你的密钥(仅向我),但是作为MN3运营团队的一员我保证不会泄漏任何信息,自己也不会存储这些信息;其次,目前讯飞的公式识别应该是不会收费的,超过限额只会停用或者是需要通过身份证认证申请提额,不会造成经济的损失;再次也可以联系讯飞支持区重置密钥。1.0.3支持复制到剪贴板,并且支持增加前缀后缀。
:现在MN3的一个html接口仍然存在问题,因此在未更新新版本之前需要开启纯文本输出,否则会出现闪退,gif图片使用的是修复api后的demo版本。
如何申请API密钥
Mathpix
里面有,由于我已经买过,所以也有点忘记了,应该是需要用信用卡(如果你有paypal也可以用paypal),价格的话根据图片所示一次性配置费上涨到了19.99美元,原本是1美元。
购买后,右上角登录,控制台中在OCR API Organizations中可以找到对应的App ID和App Key。每月限1000次免费,之后计费,并且似乎是超额后还能使用,下个月会给你寄账单。对于一般的学生而言1000次够用。
讯飞
创建一个自己的账号,然后进入上方网页中的服务管理,它会让你创建一个应用。
创建完后可以找到,每日限500次,一定够用,精度不高。
下载
插件下载链接
imagetotex_v1.0.3.mnaddon (10.9 KB)
使用方法(以Mathpix API为例)
-
填写API Key和API ID。注意:一定要在输入后按回车进行确认,这样配置才会保存!
-
开启识别,自动表示为html格式,需要使用markdown插件进行代码修改;删除原图只支持合并卡片的操作,不支持单独制作卡片操作;纯文本输出即为1.0.0原有功能。
:现在MN3的一个html接口仍然存在问题,因此在未更新新版本之前需要开启纯文本输出,否则会出现闪退,gif图片使用的是修复api后的demo版本。
:如果同时有两个API,请保证仅开启一个“开启识别,避免出现识别两次的情况”
注:不知道为什么有时候会有延迟
:相比于Mathpix,讯飞精度还是有待提高。
Mathpix识别
讯飞识别
工作流程
首先,我要说一下开启插件后怎样才算进行一次调用。
只有在选区摘录(矩形框摘录、自由选区摘录)的时候才会调用接口进行latex识别。使用文本摘录不掉用接口。
也就是说,如果你有一个已经识别了的PDF,或是在用OCR Pro则可以用文本摘录摘录文本,然后用摘录框摘录数学公式,mathpix应该也支持识别化学等一堆公式。
以下是我的操作示例: