Skip to content

Handy tool that facilitates turning images of math equations and charts into LaTeX code, quickly and easily!

Notifications You must be signed in to change notification settings

haruiz/Quack2TeX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quack2Tex 🦆

Ever found yourself battling with equations while writing papers in LaTeX, wishing there was a way to just snap a picture and boom—LaTeX code? Well, I did too. After too many late nights and too much coffee, I finally decided to do something about it. The result? Quack2Tex.

Quack2Tex is a handy tool that facilitates turning images of math equations and charts into LaTeX code, quickly and easily!. But it doesn't stop there! It also has cool features like guessing the location from a photo, identifying recipes from food pictures, and explaining code from images. Rendered as a floating menu on your screen, Quack2Tex is always at your fingertips, making it easy to access anytime you need it.

🚀 Features

  • 2024-10-18: Quack2Tex v1.0.0 is out! 🎉

    • Added functionality for users to customize the rubber-duck menu. A new "Settings" option allows users to create and manage custom actions.
    • Action Grouping: Users can now group actions in the settings menu for better organization and streamlined access.
    • Multimodal Selection: Users can now choose which model or combination of models to use for generating outputs, enhancing flexibility and multimodel inference.
    • New Input Mode: A "Clipboard" input mode has been introduced, enabling users to use clipboard content as input for selected actions.
  • 2024-9-10: Quack2Tex was released! 🎉

    • Image to LaTeX: Convert pictures of equations or symbols into LaTeX code—no more manual typing!
    • Location Guessing: Upload a photo, and Quack2Tex will try to figure out where it was taken.
    • Recipe Finder: Snap a picture of your meal, and Quack2Tex will tell you what dish it is.
    • Code Explainer: Got a screenshot of code? Quack2Tex can explain what it does.

See the video below for a demo of Quack2Tex in action:

Watch the video

🧠 Powered By

Under the hood, Quack2Tex leverages state-of-the-art multimodal models like Gemini, GPT-4o, and Lava to analyze the content in the images. Whether you're converting handwritten notes into LaTeX or identifying the location of a stunning sunset photo, Quack2Tex has you covered.

🔧 Installation

To get started with Quack2Tex, follow these steps:

pip install quack2tex

📚 Usage

You can run Quack2Tex in multiple ways depending on your preference.

🏁 Quick Start (via terminal)

Run the app with your API keys as command-line options:

quack2tex --gemini-api-key <your_gemini_api_key> \
          --openai-api-key <your_openai_api_key> \
          --anthropic-api-key <your_anthropic_api_key> \
          --groq-api-key <your_groq_api_key>

🌱 Alternative: Using Environment Variables

You can set the API keys as environment variables:

export GEMINI_API_KEY=<your_gemini_api_key>
export OPENAI_API_KEY=<your_openai_api_key>
export ANTHROPIC_API_KEY=<your_anthropic_api_key>
export GROQ_API_KEY=<your_groq_api_key>

quack2tex

📄 .env File Support

You can also create a .env file in the root directory with the following contents:

GEMINI_API_KEY=<your_gemini_api_key>
OPENAI_API_KEY=<your_openai_api_key>
ANTHROPIC_API_KEY=<your_anthropic_api_key>
GROQ_API_KEY=<your_groq_api_key>

The app will automatically load these variables using python-dotenv.

🛠️ Help & Options

To explore all available options:

quack2tex --help

🧠 Optional: Using LLava Models via Ollama

Quack2Tex also supports LLava models via the Ollama API. Be sure to have Ollama running and properly configured.

🐍 Running from Python

You can also run the app programmatically. Check out the main.py file for an example:

from dotenv import load_dotenv, find_dotenv
import quack2tex
# Load environment variables
load_dotenv(find_dotenv())
# Run the app
quack2tex.run_app()

Let me know if you'd like to include examples, expected outputs, or Docker support!

📝 Roadmap

  • Support clipboard copy to be used in the prompt
  • Support gemini, gpt-4o, and lava models
  • Allow user add custom actions to the rubber-duck menu
  • Persist images and results in a database
  • Create window, mac, and linux executables

🤝 Contributing

Want to help make Quack2Tex better? Feel free to contribute by following these steps:

  1. Fork the repo.
  2. Create a new branch.
  3. Make your changes.
  4. Commit and push your changes.
  5. Open a Pull Request.

🛠️ Troubleshooting

If you run into any problems, check out the Issues section on GitHub.

📄 License

Quack2Tex is open-source and available under the MIT License—see the LICENSE file for more details.

📧 Contact

Got questions? You can reach out to me at [email protected].

About

Handy tool that facilitates turning images of math equations and charts into LaTeX code, quickly and easily!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages