latexify — это пакет Python для компиляции фрагмента исходного кода Python в соответствующее выражение LaTex.

Latexify предоставляет следующие функции:

Библиотеки для компиляции исходного кода Python или AST в LATEX.

Классы IPython для красивого вывода скомпилированных функций.

Официальная документация



!pip install latexify-py

import math     # (Optional)
import latexify

Поиграйте с Latexify (некоторые примеры)

@latexify.function
def solve(a, b, c):
    return (-b + math.sqrt(b**2 - 4*a*c)) / (2*a)

# Invoking the function works as expected.
print(solve(1, 4, 3)) 
 
# Printing the function shows the underlying LaTeX expression.
print(solve) 

# Display the MathJax.
solve  

# latexify.expression works similarly, but does not output the signature.
@latexify.expression
def solve(a, b, c):
    return (-b + math.sqrt(b**2 - 4*a*c)) / (2*a)

solve

@latexify.function
def sinc(x):
    if x == 0:
        return 1
    else:
        return math.sin(x) / x

sinc

# Elif or nested else-if are unrolled.
@latexify.function
def fib(x):
      if x == 0:
        return 0
      elif x == 1:
        return 1
      else:
        return fib(x-1) + fib(x-2)

fib

# Some math symbols are converted automatically.
@latexify.function(use_math_symbols=True)
def greek(alpha, beta, gamma, Omega):
    return alpha * beta + math.gamma(gamma) + Omega

greek

# Function names, arguments, variables can be replaced.
identifiers = {
    "my_function": "f",
    "my_inner_function": "g",
    "my_argument": "x"}

@latexify.function(identifiers=identifiers)
def my_function(my_argument):
    return my_inner_function(my_argument)

my_function

# Assignments can be reduced into one expression.
@latexify.function(reduce_assignments=True)
def f(a, b, c):
    discriminant = b**2 - 4 * a * c
    numerator = -b + math.sqrt(discriminant)
    denominator = 2 * a
    return numerator / denominator

f

Спасибо……….