精华内容
下载资源
问答
  • 2022-01-29 16:04:23

    Mathpix 是优秀的img2latax工具,对于普通用户来说每月有50-100次免费机会,对于需求量大的用户无法满足需求。有一种方法是调用Mathpix官方的API,每月1000次免费机会。

    概述

    Mathpix是一款跨平台(Windows、macOS、Linux)的 OCR 工具,它能够识别复杂的数学公式,并将其转换为 LaTeX 语法。

    LaTeX 是一个十分强大切流行的排版系统,除了能编写数学公式,还能非常完整的撰写学术论文,并且被国际各大机构接受,但一直以入门难著称。

    Mathpix 能够直接截取数学公式的图片,将截图转换为 LaTeX 语法,非常简单方便,并且支持三大主流系统。

    • 当前Mathpix收费,无限次识别的Pro账户每个月需要4.99$
    • 但是如果调用Mathpix的API的话,每个账户每个月的前 1000 次请求免费;随后的第 1-100 千次,每次 0.004 美元;第 100- 300 千次,每次 0.002 美元。这种收费模式显然比较合理,至少每个月有1000次的免费调用机会。
    • 官网链接:https://mathpix.com/

    注册账号

    • https://accounts.mathpix.com/login
    • 注册 MathPix 账号
    • 登录账号

    创建API

    • 选择 OCR API

    • 接受一个激活协议
    • 使用信用卡激活

    • 此处只能使用信用卡

      • 卡号填卡号
      • 日期填卡上的日期
      • CVC是卡背面数字的后三位
    • 此处会有1$的消费

    • 成功后会获得 App IDApp Key

    调用官方API

    • 官方文档 https://docs.mathpix.com
    • API的示例https://github.com/Mathpix/api-examples
    • 核心调用代码(python):
    import os
    import requests
    
    env = os.environ
    
    default_headers = {
        'app_id': env.get('APP_ID', '你的APP_ID'),
        'app_key': env.get('APP_KEY', '你的APP_KEY'),
        'Content-type': 'application/json'
    }
    
    service = 'https://api.mathpix.com/v3/latex'
    
    ...
    
    r = requests.post(service, data=json.dumps(args), headers=headers, timeout=timeout)
    
    return json.loads(r.text)
    
    

    python 桌面应用

    • 我们使用一位大佬的python应用为例
    • https://github.com/Joshua-li-yi/img2latex
      • 代码中 def grapclipboard(self): 应为 def grabclipboard(self):
    • 代码如下:
    python 代码 ```python # coding:utf-8 import sys import os import base64 import requests import json import PyQt5.QtGui import PyQt5.QtCore from PyQt5.QtWidgets import QApplication, QLabel, QPushButton, QWidget, QGridLayout, QLineEdit from PyQt5.QtCore import Qt from PIL import ImageGrab import pyperclip import matplotlib.pyplot as plt

    env = os.environ

    default_headers = {
    ‘app_id’: env.get(‘APP_ID’, ‘你的APP_ID’),
    ‘app_key’: env.get(‘APP_KEY’, ‘你的APP_KEY’),
    ‘Content-type’: ‘application/json’
    }

    service = ‘https://api.mathpix.com/v3/latex’

    class Img2Latex(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()
    
    def initUI(self):
        self.setGeometry(300, 300, 800, 700)
        self.setWindowTitle('Img2Latex')
    
        # copy latex
        self.Latex1copyBtn = QPushButton()
        self.Latex2copyBtn = QPushButton()
        self.Latex3copyBtn = QPushButton()
        # set copy btn icon
        self.Latex1copyBtn.setIcon(PyQt5.QtGui.QIcon(r".\img\copy.png"))
        self.Latex2copyBtn.setIcon(PyQt5.QtGui.QIcon(r".\img\copy.png"))
        self.Latex3copyBtn.setIcon(PyQt5.QtGui.QIcon(r".\img\copy.png"))
    
        # edit latex
        self.Latex1EditBtn = QPushButton()
        self.Latex2EditBtn = QPushButton()
        self.Latex3EditBtn = QPushButton()
        # set edit btn icon
        self.Latex1EditBtn.setIcon(PyQt5.QtGui.QIcon(r".\img\edit.png"))
        self.Latex2EditBtn.setIcon(PyQt5.QtGui.QIcon(r".\img\edit.png"))
        self.Latex3EditBtn.setIcon(PyQt5.QtGui.QIcon(r".\img\edit.png"))
    
        # img to latex convert btn
        self.img2latexBtn = QPushButton('convert')
    
        # show the picture on clipboard
        self.imgLable = QLabel()
    
        # show the formula in latex
        self.Latex1Edit = QLineEdit()
        self.Latex2Edit = QLineEdit()
        self.Latex3Edit = QLineEdit()
        self.Latex1Edit.setEnabled(False)
        self.Latex2Edit.setEnabled(False)
        self.Latex3Edit.setEnabled(False)
    
        # # show the convert latex result
        # self.reviewImgLable = QLabel()
        # self.reviewImgLable.setStyleSheet("border: 2px solid red")
    
        grid = QGridLayout()
        grid.setSpacing(20)
    
        # 排版
        grid.addWidget(self.imgLable, 1, 0, 5, 3)
    
        grid.addWidget(self.img2latexBtn,6,0,1,2)
    
        grid.addWidget(self.Latex1Edit, 7, 0)
        grid.addWidget(self.Latex1copyBtn, 7, 1)
        # grid.addWidget(self.Latex1EditBtn, 7, 2)
    
        grid.addWidget(self.Latex2copyBtn, 8, 1)
        grid.addWidget(self.Latex2Edit, 8, 0)
        # grid.addWidget(self.Latex2EditBtn, 8, 2)
    
        grid.addWidget(self.Latex3copyBtn, 9, 1)
        grid.addWidget(self.Latex3Edit, 9, 0)
        # grid.addWidget(self.Latex3EditBtn, 9, 2)
    
        # grid.addWidget(self.reviewImgLable, 10, 0, 4, 3)
    
        self.setLayout(grid)
    
        # sign and slot
    
        # img to latex convert
        self.img2latexBtn.clicked.connect(self.convert)
    
        # copy latex
        self.Latex1copyBtn.clicked.connect(self.copyLatex1)
        self.Latex2copyBtn.clicked.connect(self.copyLatex2)
        self.Latex3copyBtn.clicked.connect(self.copyLatex3)
    
        # edit latex
        # self.Latex1EditBtn.clicked.connect(self.Latex1EditImg)
        # self.Latex1Edit.textChanged.connect(self.Latex1EditImg)
    
        # self.Latex2EditBtn.clicked.connect(self.Latex2EditImg)
        # self.Latex2Edit.textChanged.connect(self.Latex2EditImg)
    
        # self.Latex3EditBtn.clicked.connect(self.Latex3EditImg)
        # self.Latex3Edit.textChanged.connect(self.Latex3EditImg)
    
        # beautify the window
        self.Beautify()
        self.show()
    
    def Beautify(self):
        self.setWindowOpacity(0.9)  # 设置窗口透明度
        # self.setAttribute(qtpy.QtCore.Qt.WA_TranslucentBackground) # 设置窗口背景透明
        # self.setWindowFlag(qtpy.QtCore.Qt.FramelessWindowHint) # 隐藏边框
        pe = PyQt5.QtGui.QPalette()
        self.setAutoFillBackground(True)
        # pe.setColor(PyQt5.QtGui.QPalette.Window, Qt.Black)  #设置背景色
        pe.setColor(PyQt5.QtGui.QPalette.Background, Qt.black)
        self.setPalette(pe)
        self.imgLable.setStyleSheet(
            ''' QLabel{
                border: 2px solid red;
                border-radius:15px;
                padding:2px 4px;
                background-color:#aaa;
            }''')
        
        self.Latex1Edit.setStyleSheet(
            '''QLineEdit{
                border:1px solid gray;
                border-radius:10px;
                padding:2px 4px;
                background-color:#ddd;
                height:35px;
                font-color:black;
                font-weight:1000;
                font-size:24px
            }''')
        self.Latex2Edit.setStyleSheet(
            '''QLineEdit{
                border:1px solid gray;
                border-radius:10px;
                padding:2px 4px;
                background-color:#ddd;
                height:35px;
                font-color:black;
                font-weight:1000;
                font-size:24px
            }''')
        self.Latex3Edit.setStyleSheet(
            '''QLineEdit{
                border:1px solid gray;
                border-radius:10px;
                padding:2px 4px;
                background-color:#ddd;
                height:35px;
                font-color:black;
                font-weight:1000;
                font-size:24px
            }''')
    
        self.Latex1copyBtn.setStyleSheet(
            '''QPushButton{
                border:1px solid gray;
                border-radius:4px;
                padding:5px 5px;
                height:35px
    
            }''')
        self.Latex2copyBtn.setStyleSheet(
            '''QPushButton{
                border:1px solid gray;
                border-radius:4px;
                padding:5px 5px;
                height:35px
            }''')
        self.Latex3copyBtn.setStyleSheet(
            '''QPushButton{
                border:1px solid gray;
                border-radius:4px;
                padding:5px 5px;
                height:35px
            }''')
    
        self.img2latexBtn.setStyleSheet(
            '''QPushButton{
                border:2px solid gray;
                border-radius:10px;
                padding:5px 5px;
                background-color:#555;
                font-size:24px;
                font-color:#fff;
                font-weight:700;
                font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
            }''')
    
    #
    # Return the base64 encoding of an image with the given filename.
    #
    
    def image_uri(self,filename):
        image_data = open(filename, "rb").read()
        return "data:image/jpg;base64," + base64.b64encode(image_data).decode()
    
    # Call the Mathpix service with the given arguments, headers, and timeout.
    def latex(self,args, headers=default_headers, timeout=30):
        r = requests.post(service,
                          data=json.dumps(args), headers=headers, timeout=timeout)
        return json.loads(r.text)
    
    def convert(self):
        self.grapclipboard()
        r = self.latex({
            'src':self.image_uri(r".\img\equa.png"),
            'formats': ['latex_simplified']
        })
        # print(r['latex_simplified'])
        latex1 = r['latex_simplified']
    
        # test
        # latex1='111'
        latex2 = '$' + latex1 + '$'
        latex3 = '$$' + latex1 + '$$'
        self.Latex1Edit.setText(latex1)
        self.Latex2Edit.setText(latex2)
        self.Latex3Edit.setText(latex3)
    
    def copyLatex1(self):
        # get the latex formula
        text = self.Latex1Edit.text()
        # copy it to clipboard
        pyperclip.copy(text)
    
    def copyLatex2(self):
        text = self.Latex2Edit.text()
        pyperclip.copy(text)
    
    def copyLatex3(self):
        text = self.Latex3Edit.text()
        pyperclip.copy(text)
    
    #
    # 识别剪贴板公式
    #
    def grabclipboard(self):
        im = ImageGrab.grabclipboard()
        im.save(r'.\img\equa.png', 'PNG')
        self.imgLable.setPixmap(PyQt5.QtGui.QPixmap(r'.\img\equa.png'))
    
    #
    # 为程序添加快捷键
    #
    # 可以自己定义
    def keyPressEvent(self, event):
        if (event.key() == Qt.Key_T)and(event.modifiers() == Qt.AltModifier):
            self.convert()
        if (event.key() == Qt.Key_C)and(event.modifiers() == Qt.AltModifier):
            self.copyLatex3()
    

    if name == ‘main’:
    app = QApplication(sys.argv)
    ex = Img2Latex()
    sys.exit(app.exec_())

    </details>
    
    - 需要将自己的 ID 和 Key 填入代码中
    
    ### 示例效果
    ![](https://cdn.jsdelivr.net/gh/zywvvd/HexoFiles/image_canglan/20210407004541.png)
    
    
    ### 参考资料
    
    - https://blog.csdn.net/weixin_44984664/article/details/105242426
    - https://geomatlab.com/mathpix-api/
    
    
    
    更多相关内容
  • mathpix的强大功能用的人都懂,升级后穷学生党用不起,但又不能不用的抓耳挠腮感,懂的人自然也懂。 刚知乎上发现一个公众号,同样可以将图片公式转换为letax代码形式输出,只需首次少量打赏就可以每个月使用1000次...
  • 一款替代mathpix的免费高速公式识别软件;现在mathpix很坑,普通用户一个月只能识别50次,写论文的时候次数严重不够,这时候就很捉急。这款可以替代math pix的免费高速公式识别软件可以解决你的急迫需求
  • mathpix_snipping_tool_setup工具
  • Mathpix Snipping Tool软件

    2020-12-04 15:33:29
    截图数学公式生成latex,注册需要到官网Mathpix Snipping Tool注册。
  • Mathpix软件安装包

    2019-04-17 13:14:02
    在 Linux、macOS、Windows 系统下使用 Mathpix 可以截取到复杂数学方程式的截图,并可以转换成 LaTeX 可编辑文本,在写学术及科学文献时经常会用到。编写 LaTeX 文档最麻烦的部分是那些复杂的方程式,使用 Mathpix ...
  • Mathpix Snipping Tool.rar

    2021-09-06 07:47:01
    数学公式截图,方便快捷撰写论文
  • 使用 Typora 完成各种文章与笔记,需要...其实用 LaTex 表达式写数学公式还是挺麻烦的,使用有 Mathpix,只要按快捷键 Ctrl+Alt+M 即可对图片截图,公式会自动转化为 LaTex 表达式,我们只需要简单地修改修改就行了。
  • Mathpix Snip 这款神器只要截个图,公式会自动转化为 LaTex 表达式,我们只需要简单地修改就行了。按快捷键:CTRL+ALT+M,即可开始截图,甚至手写的都可以识别,对公式截图后,软件能自动识别并生成latex代码。使用...
  • Mathpix Snipping Tool.7z

    2020-01-06 17:22:41
    这个工具可以直接将图片中的公式抠出来,粘贴到mathtype中,然后再粘贴到word中,就可以直接用了。粘贴出来的公式的准确度非常高。 用法,直接运行压缩包里的exe文件,注册后,拖入图片,点copy,在mathtype中粘贴...
  • 图片公式截图一键转换为LaTeX公式代码,100%成功率,科研必备,效率高到飞起!
  • VSCode Mathpix Markdown扩展 产品特点 启用增强的markdown语法以在markdown预览中呈现 允许在Markdown预览中呈现LaTeX命令的子集 允许在降价预览中呈现SMILES化学语法 扩展安装 该扩展可以通过几种方式安装: 从...
  • 最新Mathpix 公式录入神器,可以节省你大量的时间 当你遇到想要的公式,可以像截图一样的去使用它
  • mathpix:查询mathpix API以将数学图像转换为LaTeX
  • mathpix软件安装包.zip

    2021-01-25 19:54:10
    mathpix软件安装包.zip
  • 截屏识别数学公式软件安装包
  • 在 Linux、macOS、Windows 系统下使用 Mathpix 可以截取到复杂数学方程式的截图,并可以转换成 LaTeX 可编辑文本,在写学术及科学文献时经常会用到。编写 LaTeX 文档最麻烦的部分是那些复杂的方程式,使用 Mathpix ...
  • 所以就写一篇文章介绍Mathpix的使用方法。 1.打开Mathpix软件后,可以鼠标单击下图中小电脑图标进行截图,也可以使用快捷键Ctrl+Alt+M调用截图; 2.截取所需要的识别的公式图片,比如下图所示公式 3.在Mathpix软件...
  • mathpix公式编辑器

    2020-03-13 23:48:46
    收费以后的mathpix,官网下载太慢,转到csdn方便大家下载,欢迎下载,欢迎使用,欢迎使用,欢迎使用!!
  • mathpix-markdown-it 什么是Mathpix Markdown? 是Markdown的超集,它为STEM社区添加了有用的语法,例如高级方程式,表格和化学支持。 只要有可能,我们都会从LaTeX借用语法。 在其他情况下(例如化学React),我们...
  • Mathpix 是一个漂亮的小工具,它允许你截取复杂数学方程式的截图,并立即将其转换为 LaTeX 可编辑文本。 LaTeX 编辑器在撰写学术和科学文献时非常出色。
  • Mathpix打造的出色应用程序,可帮助您从文档中提取LaTeX,MathML,基本表和文本。 每个月免费为您提供前50个片段(使用.edu或.ac.uk域电子邮件进行注册时为100个片段)。 借助和此辅助应用程序,您现在每月可以...
  • mathpix snipping tool

    2019-05-05 12:51:16
    Mathpix可以将获取数学的公式截图转换为LaTeX,官网演示了各个操作系统配合使用的快捷键以及详细步骤,所有这些都只需一个键盘快捷键。为了方便使用,该公司还研发了一个API,可以帮助开发者将 Mathpix 的功能集成到...
  • mathpix安装和使用详细教程

    千次阅读 2022-04-24 17:18:23
    mathpix安装和使用详细教程 这里写自定义目录标题mathpix安装和使用详细教程一、下载二、安装三、启动四、 注意事项 一、下载 软件网址:https://mathpix.com 下载页面如图1,根据系统类型点击不同下载按钮. 下载...

    mathpix安装和使用详细教程

    一、下载

    软件网址:https://mathpix.com
    下载页面如图1,根据系统类型点击不同下载按钮. 下载完成后直接安装软件!安装过程中为了随时调用软件在图3的选择界面中勾选两个选项,即在桌面上生成一个启动快捷键图标和开机自动启动软件(自动启动后可以随时调用Mathpix识别转换公式)。

    二、安装

    安装简便,一路Next完成安装后,在最后的窗口建议也保持安装完成后启动软件,需要勾的地方都勾起来,最后点击finish。如图。
    在这里插入图片描述

    三、启动

    完成安装并启动Mathpix软件,如果没有启动,则可以在开始菜单中点击“Mathpix Snipping Tool”选项,或双击桌面上的图片启动软件。第一次启动会有一个启动引导界面,一般一路点击“Next”下一步按钮关闭即可。启动后就可以依据上面的步骤选择识别公式了。第一次启动工作窗口如图所示。
    在这里插入图片描述
    根据提示点击右上角图标,或者按下快捷键【CTRL】+【ALT】+【M】,即可开始截取公式图片识别操作了。在软件关闭的情况下,可以双击任务栏小图标打开操作主界面,或者按下快捷键【CTRL】+【ALT】+【O】打开操作主界面。
    在这里插入图片描述
    Mathpix主窗口最下面部分为复制、编辑修改窗口。如图所示。
    在这里插入图片描述
    上面Copy MS Word,点击后将公式代码复制为Word公式编辑器可识别表达式(MathML格式),在Word中按下【Ctrl】+【V】快捷键即可直接粘贴为Word公式,如演示4中的效果。右侧三个按钮分别为将识别的公式复制为PNG图片格式文件(Copy PNG),以PNG格式保存并打开查看(Open PNG),默认图片文件保存在下载文件夹中;最右侧按钮为打开图片格式输出参数,可以设置输出的PNG图片的字体、颜色、背景是否透明、分辨率等参数。

    下面则为Latex代码显示区,右侧有两列按钮,第一列为复制按钮,点击将对应行的Latex代码复制到剪贴板,并且会在上面显示COPIED,表示已经复制成功。一般来说,Mathpix识别后会自动按照上次复制的选择直接将识别结果复制到剪贴板,如果没有复制,则点击按钮操作;右侧一列为编辑按钮,如果对识别结果不满意,或者略有错误,则可以点击对应编辑框右侧的按钮打开代码编辑框修改识别结果,保存即回到该窗口继续操作。不过修改后,一般就只显示选择修改的Latex一行了,其余Latex行不再显示。当然,如果不满意修改,则可以回到历史记录列表,打开原式识别记录继续操作即可。

    四、 注意事项

    1.联网操作
    特别注意,Mathpix所有操作必须联网操作!只有正确连接互联网才能上传截取的图片。Mathpix不仅能够识别英文,也可以很好地识别中文!
    在这里插入图片描述
    2、电脑、手机多设备同步
    另外,值得注意的是,只要是同一个账户登录,在不同的电脑上,手机上识别的记录都会同步到任何一台设备中,这样使用手机拍照,电脑识别与编辑、处理文档就相当方便了。手机就相当于扩展了一个操作非常方便的摄像头,可以用它来拍各种场景下的公式,然后在电脑上调用。
    在这里插入图片描述
    3、转换为Mathtype公式对象
    将识别结果以Latex代码粘贴到Mathtype,需要设置Mathtype复制、粘贴的公式数据类型。具体操作如下:点击Mathtype操作窗口的“选项”菜单中的“剪切和复制选项”,打开“转换”对话框,如图10所示。
    点击选择“转换其他文字”下点击选择相应的tex文档语言,比如常用的一般选项“Latex2.09 and later”或“Plain tex”,并将下面的两个复选框选择取消,然后点击“确定”。这样设置以后,在公式编辑器中选择需要复制的内容,然后按下【Ctrl】+【C】,或者在选中的内容上点击右键菜单中的“复制”命令,在其他地方粘贴,得到的就是tex代码;同样,从其他地方获得的tex代码直接在公式编辑器中粘贴也会直观显示为公式。

    参考
    神器Mathpix:一步将数学公式、表格、文字图片转换为可编辑文档
    https://mp.weixin.qq.com/s/BpkGIM36DxBJAdQe0tjUKA
    用WPS公式编辑器高效编辑专业文档中的数学公式
    https://mp.weixin.qq.com/s__biz=MzI2OTE2NzczNQ==&mid=2650017257&idx=2&sn=f9d186440389a276961ac24d54f0f2a5&chksm=f2e4d0f1c59359e7116ad12932862a9811d5af90018d3b6c116e261ce84deeea4f5301357a86&scene=21#wechat_redirect

    展开全文
  • mathpix.rar

    2019-07-02 14:26:03
    Mathpix Snipping 是款强大的公式编辑神器,只要截图就能自动转化为LaTeX格式。免费使用操作简单,一个快捷键就能转换为LaTex代码,也可以改代码反向操作。
  • mathPix安卓版

    2019-04-18 11:22:36
    mathPix电脑版本拍摄公式自动生成latex格式文档,mathPix拍摄手写公式,直接作图!! 很好的工具

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,168
精华内容 1,267
关键字:

Mathpix