Skip to content

renderlex/formulas-in-word

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Формули → Word / Formulas → Word

Програма для розпізнавання математичних формул із зображень та вставки їх у Word-документ як нативних об'єктів формул (не як картинки).

A tool for recognizing math formulas from images and inserting them into Word documents as native equation objects (not images).


🇺🇦 Українська

Як це працює

Зображення → LaTeX (OCR) → MathML → OMML → Word (нативна формула)
  1. pix2tex — нейромережа, що розпізнає формулу з фото і повертає LaTeX-код.
  2. latex2mathml — конвертує LaTeX у MathML.
  3. MML2OMML.XSL — XSLT-трансформація Microsoft перетворює MathML у OMML (Office Math Markup Language).
  4. python-docx — вставляє OMML-елемент як нативну формулу Word.

Можливості

  • 📷 Розпізнавання з фото — відкрийте зображення або вставте з буфера обміну (Ctrl+C скріншота → «Вставити з буфера»)
  • ✂️ Виділення однієї формули — виділіть мишкою потрібну формулу на фото
  • ⌨️ Ручне введення LaTeX — введіть або відредагуйте формулу вручну
  • 📋 Копіювання формули — копіює MathML у буфер обміну, вставляється у Word як нативна формула (Ctrl+V)
  • 💾 Збереження у Word — одна або кілька формул у .docx файл
  • 🌐 Двомовний інтерфейс — українська та англійська (кнопка перемикання у верхньому правому куті)

Вимоги

  • Python 3.10+
  • Microsoft Office (потрібен файл MML2OMML.XSL, який постачається з Office)
  • Підключення до інтернету для першого запуску (завантажується модель OCR ~500 МБ)

Встановлення

# 1. Клонувати репозиторій
git clone https://github.com/<your-username>/formulas-to-word.git
cd formulas-to-word

# 2. Створити віртуальне середовище
python -m venv venv
.\venv\Scripts\Activate.ps1

# 3. Встановити PyTorch (CPU)
pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu

# 4. Встановити залежності
pip install -r requirements.txt

Запуск

python formula_to_word.py

Або двічі клацніть run.bat.

Використання

Вкладка «Розпізнати з фото»:

  1. Натисніть «Відкрити фото» або «Вставити з буфера» (для скріншотів).
  2. Виділіть мишкою одну формулу на зображенні.
  3. Натисніть «Розпізнати» — програма поверне LaTeX-код.
  4. Перевірте / відредагуйте LaTeX у текстовому полі.
  5. «Перевірити» — побачите превʼю формули.
  6. «Зберегти у Word» — збереже у .docx файл.
  7. «Копіювати формулу» — скопіює у буфер, вставте у Word через Ctrl+V.

Вкладка «Ввести LaTeX»:

  • Введіть формулу вручну, перевірте та збережіть або скопіюйте.
  • Пакетний режим: додайте кілька формул кнопкою «До списку», потім збережіть усі разом.

Де знайти MML2OMML.XSL

Програма шукає цей файл автоматично. Типові розташування:

C:\Program Files\Microsoft Office\root\Office16\MML2OMML.XSL
C:\Program Files (x86)\Microsoft Office\root\Office16\MML2OMML.XSL

Якщо файл не знайдено автоматично, програма запропонує вказати його вручну.


🇬🇧 English

How it works

Image → LaTeX (OCR) → MathML → OMML → Word (native equation)
  1. pix2tex — neural network that recognizes a formula from a photo and returns LaTeX code.
  2. latex2mathml — converts LaTeX to MathML.
  3. MML2OMML.XSL — Microsoft XSLT transformation converts MathML to OMML (Office Math Markup Language).
  4. python-docx — inserts the OMML element as a native Word equation.

Features

  • 📷 Recognition from photo — open an image or paste from clipboard (Ctrl+C screenshot → "Paste from clipboard")
  • ✂️ Select one formula — draw a box around the needed formula in the photo
  • ⌨️ Manual LaTeX input — type or edit a formula manually
  • 📋 Copy formula — copies MathML to clipboard, pastes into Word as a native equation (Ctrl+V)
  • 💾 Save to Word — one or multiple formulas to a .docx file
  • 🌐 Bilingual UI — Ukrainian and English (toggle button in the top-right corner)

Requirements

  • Python 3.10+
  • Microsoft Office (requires MML2OMML.XSL file, shipped with Office)
  • Internet connection on first run (downloads OCR model ~500 MB)

Installation

# 1. Clone the repository
git clone https://github.com/<your-username>/formulas-to-word.git
cd formulas-to-word

# 2. Create a virtual environment
python -m venv venv
.\venv\Scripts\Activate.ps1

# 3. Install PyTorch (CPU)
pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu

# 4. Install dependencies
pip install -r requirements.txt

Run

python formula_to_word.py

Or double-click run.bat.

Usage

Tab "Recognize from photo":

  1. Click "Open photo" or "Paste from clipboard" (for screenshots).
  2. Select one formula with the mouse on the image.
  3. Click "Recognize" — the program will return LaTeX code.
  4. Check / edit LaTeX in the text field.
  5. "Preview" — see how the formula will look.
  6. "Save to Word" — saves to a .docx file.
  7. "Copy formula" — copies to clipboard, paste into Word via Ctrl+V.

Tab "Enter LaTeX":

  • Type a formula manually, preview and save or copy.
  • Batch mode: add multiple formulas via "Add to list", then save all at once.

Where to find MML2OMML.XSL

The program searches for this file automatically. Typical locations:

C:\Program Files\Microsoft Office\root\Office16\MML2OMML.XSL
C:\Program Files (x86)\Microsoft Office\root\Office16\MML2OMML.XSL

If not found automatically, the program will ask you to locate it manually.


Структура / Structure

formulas-to-word/
├── formula_to_word.py   # Main script (GUI + logic)
├── FormulyWord.spec     # PyInstaller spec (portable EXE build)
├── run.bat              # Quick launcher (Windows)
├── requirements.txt     # Python dependencies
├── .gitignore
└── README.md

Портативна версія / Portable build

Для збірки EXE без встановлення Python:

pip install pyinstaller
pyinstaller FormulyWord.spec --noconfirm

Результат: dist\FormulyWord\FormulyWord.exe

About

A program for recognizing mathematical formulas from images and inserting them into a Word document as **native formula objects** (not as pictures).

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors