导语
由于近期需要写论文,有很多公式在latex中编辑十分繁琐。之前一直使用mathpix这个软件来自动截图将图像转换为latex代码非常方便。但mathpix是收费软件,对于学生,一个月仅有100次免费使用机会。在调研相关工具时,发现一个叫做Latex-OCR的github项目,特此记录其安装和使用情况。
配置环境
conda环境配置
首先,我在Windows机器上配置了一个新的conda环境,名为latex,使用python版本为3.9.7.
>conda create -n latex python=3.9.7
>conda activate latex
相关库下载导入
我们需要先使用git将这个库clone下来,即:
>git clone https://github.com/lukas-blecher/LaTeX-OCR.git
然后需要安装包,可以使用以下安装顺序(直接按Readme.md上的安装貌似会报错)
- 首先安装cpu版本的pytorch,即
>pip3 install torch torchvision torchaudio
- 安装完成后,安装pix2tex
pip install pix2tex[gui]
如果一切正常,可以直接运行如下命令,程序将自动下载checkpoint然后运行:
(latex) PS E:\project\LaTeX-OCR> latexocr
download weights v0.0.1 to path C:\Users\17337\anaconda3\envs\latex\lib\site-packages\pix2tex\model\checkpoints
weights.pth: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 97.4M/97.4M [01:23<00:00, 1.22Mb/s]
运行结果如图所示,
使用时,只需要点snip按钮进行截图即可。
错误解决
若遇到以下情况,运行失败的
尝试执行
pip install -U x-transformers==0.15
使用体验
用了半天,整体感觉还行,功能没有mathpix准。多行推断几乎不行,只能处理单行公式;对花体字母的识别不准,而且会有一些莫名其妙的错误,比如之前一个截图是这样的。
如果直接使用它识别,得到结果长这样
直接一堆乱码,后来我只能放弃多行。
使用单行时,假设我们截图如下:
输入到软件中时,这个模型竟然还会检测括号匹配,效果如下:
最后去掉括号,截图
可以得到比较正常的结果(这里再吐槽一下[SEP]识别成了[SEE])
不过软件整体还是挺方便的,大大节省了手工输入latex公式的时间。希望这个项目越做越好。