Inspiration

We were intrigued by the prompt of automating something in our daily lives. As computer science/engineering students, much of our time is spent on typesetting problem sets, a repetitive task that we could save much time on by automating.

What it does

LaTeXinator is a script that takes in microphone audio and outputs functional LaTeX code, ready to be directly copy-pasted into a document. It can detect and translate mathematical symbols and equations, LaTeX commands and functions, and multi-line structures such as matrices.

How we built it

We used Python, utilizing the Google Speech Recognition API to process audio into a string. We wrote functions that parsed the string into LaTex using a dictionary we wrote ourselves.

Challenges we ran into

For all members on the team, this was our first hackathon, so we had much to learn in regards to planning, collaboration, and navigating the hackathon structure as a whole. In particular, we realized that we did not have time to implement all our ideas, so we had to focus on a few specific, basic ideas and build our way up.

Accomplishments that we're proud of

Using relatively simple ideas and code, we were able to build a program that will be useful to our daily lives. In terms of specifics, we’re proud of parsing multi-word triggers for LaTex functions and finding a way to parse matrices.

What we learned

As new coders, we experienced the hackathon development process for the first time, gaining a sense of understanding and appreciation for how “real-world” projects are developed under fast-paced and extreme conditions. In terms of specific coding knowledge, we worked with some APIs and packages for the first time, augmenting our toolkit of Python and programming as a whole.

What's next for LaTexinator

We want to try and make the script deployable as an app. This way, more people can use this. As the speech pattern needed resembles that of actual LaTex, this may serve as a way to intuitively learn LaTex. Looking forward, we may want to implement additional features (e.g. giving document templates) for easier and more helpful use.

Built With

Share this project:

Updates