Всіх вітаю! У цій статті ми розглянемо можливість перетворення формул у Python на LaTeX формат за допомогою бібліотеки latexify-py. Також ми перейдемо до середовищ розробки Google Colab та Jupyter Notebook для повноціннох роботи з цією бібліотекою.
Дії перед початком роботи
Середовище розробки
Також перед початком роботи з бібліотекою latexify слід зауважити, що її повний функціонал не можна використати у звичних нам середовищах розробки типу PyCharm, Virtual Studio, Atom і т. д.
Функціонал цієї бібліотеки підтримують тільки такі середовища розробки як Jupyter Notebook та Google Colab. Саме у Google Colab ми і будемо сьогодні працювати, але я також швиденько покажу як створити свій проєкт і в Jupyter Notebook.
Робота у Google Colab
Для роботи у Google collab вам треба перейти на сайт та натиснути кнопку “Додати блокнот“, щоб сворити проєкт у Google Colab. Тоді ви отримуєте готове середовище для написання коду.
Робота у Jupyter Notebook
Щоб працювати у Jupyter Notebook треба перейти на сайт, обрати зверху кнопку “Try”, далі обрати картку з іконкою мови програмуванням Python. Далі вітальному вікні обираєте вкладку “File”, вкладку “New” і потім кнопку “Notebook”. Ви вже створили свою першу нотатку, але їх необхідно обрати Kernel для нотатки, тобто своєрідний механізм, який буде виконувати ваш код. Обирайте Python (Pyodide). Тепер ваша нотатка повністю налаштована.
Встановлення бібліотеки на різних платформах
Google Colab:
pip install latexify-pyJuputer Notebook:
import micropip
await micropip.install('latexify-py')У Jupyter Notebook це треба прописати саме у комірці створеної нами нотатки. У наступних комірках ви вже звично імпортуєте бібліотеку наведеною нижче командою:
import latexifyСлід звернути увагу ще й на те, що при встановленні бібліотеки ми записуємо її як latexify-py, а при імпорті просто latexify. Все, тепер ви можете вільно використовувати бібліотеку у Jupyter Notebook.
Огляд базового функціоналу
Створення функцій у LaTeX форматі
Спершу подивимося на загальний код програми, яка повинна виводити степеневу функцію у LaTeX форматі:
import latexify
@latexify.function
def determinant(a, b, c):
determinant_formula = (b ** 2) - 4 * a * c
return determinant_formula
determinantТепер покроково розберемо наш код. Спочатку ми визначаємо декоратор для нашої функції, таким чином ми зазначаємо, що ми будемо виводити у LaTeX форматі саме функцію:
@latexify.functionДалі створюємо саму функцію, де повертаємо наш математичний об'єкт:
def determinant(a, b, c):
determinant_formula = (b ** 2) - 4 * a * c
return determinant_formula
determinantТепер можемо побачити результат коду:

Створення виразів у LaTeX форматі
Вирази можна створювати точно так само як і функції, тільки з тою відмінністю, що декотатор буде іншим.
Ось приклад створення звичайного виразу для перетворення у LaTeX формат:
@latexify.expression
def simple_expression(x):
return ((3 - 1 * 2) / 4) + ((x ** 3) / 5)
simple_expression
Як бачимо, тут ми використовуємо вже декоратор @latexify.expression, а не @latexify.function.
Отримання LaTeX коду
Щоб отримати LaTeX код, за яким і створюються формули цього формату використовується функція get_latex().
Наприклад, напишемо такий вираз та отримаємо його LaTeX код:
@latexify.expression
def another_expression(x):
return math.sin(x) + math.cos(x) / math.sin(x)
another_expression\mathrm{another\_expression}(x) = \sin x + \frac{\cos x}{\sin x}Створення формул тригонометричних функцій
Тепер пропоную створити за допомогою latexify ряд формул тригонометричних функцій, щоб остаточно закріпити наші нові знання.
Формула тангенса
@latexify.function
def tg(a):
return math.sin(a) / math.cos(a)
tg
Формула котангенса
@latexify.function
def ctg(a):
return math.cos(a) / math.sin(a)
ctg
Формула секанса
@latexify.function
def sec(a):
return 1 / math.cos(a)
sec
Формула косеканса
@latexify.function
def cosec(a):
return 1 / math.sin(a)
cosec
Висновок
У цій статті ми навчилися перетворювати формули з Python коду у LaTeX та працювати у таких середовищах як Google Colab та Jupyter Notebook. Також у рамках даної теми ми показали функціонал бібліотеки на основі різних прикладів.