/img2latex-mathpix

An image to LaTeX tool by MathpixOCR API and JavaFX

Primary LanguageJavaApache License 2.0Apache-2.0

Image2LaTeX

English | 中文

Codacy Badge Build Status Releases Downloads PRs Welcome License

Snip is an amazing app built by Mathpix to help you extract LaTeX (also text) from documents. It gives you the first 50 snips for free every single month. With the help of MathpixOCR and this supplementary app, you can now make up to 1000 OCR requests per month for free.

Image2LaTeX is a personal side project that keeps only core functions of the Snip such as convert images to certain LaTeX equation formats and OCR. For other advanced functions and unlimited snips, subscribe to the Snip for $4.99 per month.

Features

See the features section on MathpixOCR website.

New Features

  • Self-contained executable application for macOS.

Requirements

  • Your API keys in your MathpixOCR dashboard (different from the Mathpix account used in the Snip app)
  • JDK 11 or higher version (OpenJDK is highly recommended) if you plan to use Image2LaTeX-x.x.x.jar

Run

Enter your API keys (without single quotes) at the first launch of this app.

To change your API keys, macOS and Windows users will find a menu item called API Credentials by clicking this app's menu bar icon.

Linux users can open the API Credentials dialogue by right-clicking anywhere inside the application.

Note, this app will not send your API keys to others except for MathpixOCR API server (see OCRRequestHelper.java to learn how your API keys are used).

Usage

macOS

Run Image2LaTeX.app.

Windows

Run Image2LaTeX.vbs at Image2LaTeX-windows/.

Linux

Run Image2LaTeX at Image2LaTeX-linux/bin/ or with:

./Image2LaTeX

JAR

With a JAR launcher installed, run Image2LaTeX-x.x.x.jar or with:

java -jar Image2LaTeX-x.x.x.jar

Use your operating system's default methods (or other tools) to take a screenshot of equations or text (Shift (⇧)-Control (⌃)-Command (⌘)-4 on macOS by default).

Then, press the Space key to preview the screenshot. Or, press the Return or Enter key to send the OCR request.

See demo section below.

Demo

demo

FAQ

Native self-contained executable application for Windows and Linux

Not yet. But, with the GA release of Java 14 in 2020, jpackage should be available for packaging self-contained JavaFX application. At that time, I will drop the release of .jar and .zip files and no one (except me) needs to install JDK anymore.

Difference between released *.jar and *.zip files

You don't need to have JDK 11 installed for running *.zip versions.

Considering the people using similar apps, I assumed that a large percentage of users should have JDK installed. Therefore, a smaller size Fat JAR Image2LaTeX-x.x.x.jar has also released.

Getting updates on new releases ASAP

See this article about watching and unwatching releases for a repository by GitHub.

Development plans

  • Add multiple result formatting option.

Issues

Please first refer to the official API Docs about error types and the reported issue if you encountered an error.

Encountered an unreported issue 🤔

Welcome to open an issue with the bug or question label, but the time to fix non-vital bugs may not be guaranteed.

Contributions

Contributions are highly welcomed. Suggestions can be made through opening an issue with enhancement label. Pull Requests including bug fixes, new features, code style guidance, etc., will be reviewed as soon as possible.

Contributors ✨


Hao Xu

🤔

龚焱

🤔 ✅

BOB

🐛 ⚠️

YuiTH

🐛

License

This code is distributed under the terms of the Apache License 2.0.