Desvendando o poder do LaTeX no Python com o Pacote latexify e IPython.display

Você já se perguntou como criar fórmulas matemáticas elegantes e profissionais diretamente em seus notebooks usando Python? Se a resposta for sim, você está no lugar certo. Neste tutorial, vou mostrar a você como aproveitar todo o poder do LaTeX para aprimorar a apresentação de equações matemáticas no seu código Python, tudo graças ao incrível pacote latexify e à funcionalidade IPython.display.

O LaTeX é uma linguagem tipográfica amplamente utilizada para criar documentos científicos, incluindo artigos acadêmicos, livros e apresentações. No entanto, muitos não sabem que é possível integrar o LaTeX diretamente em seus notebooks para criar documentos interativos e elegantes. Isso é especialmente útil quando se trabalha com análise de dados, pesquisa científica ou educação, onde a comunicação eficaz de fórmulas matemáticas desempenha um papel fundamental.

O que é @latexify.function

O pacote @latexify.function é um pacote do Julia que permite que você converta funções Julia em strings formatadas em LaTeX. Isso pode ser útil para gerar documentação, apresentações ou outros materiais que usem LaTeX.

No código em Python abaixo, você precisa usar o decorador @latexify.function para que a função f seja convertida em uma expressão LaTeX. O decorador faz isso convertendo o código Python da função em uma árvore de sintaxe abstrata (AST), que é então processada pela biblioteca latexify para gerar a expressão LaTeX.

Em Python, um decorador é uma função que altera o comportamento de outra função. Ele faz isso envolvendo a função original em uma nova função que executa algum código antes ou depois da execução da função original. O decorador @latexify.function é um exemplo de decorador. Ele converte uma função Python em uma expressão LaTeX.

Veremos como utilizá-lo!

1. Comece instalando o pacote latexify

pip install latexify-py
Python

Se estiver utilizando o Colab, adicione ! ao seu código: !pip install latexify-py

2. Importa o pacote para dentro da sua área de desenvolvimento

import latexify
Python

3. Utilizando o pacote latexify para uma expressão de adição

@latexify.function
def soma(a,b,c):
  return (a+b+c)
soma
Python

IPython.display

O IPython.display é um módulo dentro do ambiente IPython (Interactive Python) que oferece recursos avançados para exibição de conteúdo interativo e multimídia em notebooks Jupyter e no ambiente IPython em geral. Ele foi projetado para tornar a apresentação de resultados, gráficos, widgets e outros tipos de saída mais rica e interativa. Alguns dos recursos mais comuns fornecidos pelo IPython.display incluem:

  1. Exibição de Mídias: Exibir imagens, vídeos, áudios e outros tipos de mídia diretamente em um Notebook ou no console IPython
  2. Renderização HTML e Markdown: É possível renderizar HTML e Markdown de forma interativa, permitindo que você crie documentos ricos e formatados dentro de notebooks.
  3. Visualizações de Gráficos: O módulo suporta a exibição de gráficos gerados por bibliotecas populares, como Matplotlib e Plotly, sem a necessidade de chamadas explícitas de exibição.
  4. Widgets Interativos: O IPython.display pode ser usado em conjunto com a biblioteca ipywidgets para criar widgets interativos, como botões, caixas de seleção e controles deslizantes, que permitem interação em tempo real com o código.
  5. Renderização LaTeX: Ele também é útil para renderizar equações matemáticas em LaTeX, tornando mais fácil a exibição de notação matemática elegante diretamente no notebook.
  6. Renderização de DataFrames: O módulo pode ser usado para exibir DataFrames Pandas de forma formatada e interativa.
  7. Exibição de Outros Tipos de Saída: Além disso, o IPython.display pode exibir JSON, SVG, JavaScript e outros tipos de saída de maneira adequada.

Veremos como utilizá-lo!

1. Da biblioteca IPython.display importe Math

from IPython.display import Math
Python

2. Vamos gerar a equação apresentada no vídeo

Math(r'E= m*c^2')
Python

No Python, quando você coloca um r antes de uma string, você está criando uma string “raw” (bruta) ou uma string de “crua”. Isso significa que a string será tratada de forma literal, sem interpretar caracteres de escape. Em outras palavras, os caracteres de escape, como \n para nova linha ou \t para tabulação, não serão processados na string.

Outros exemplos de equações

@latexify.function

Fórmula de Bhaskara
import latexify
import math

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

solve
Python
Função sinc
@latexify.function
def sinc(x):
    if x == 0:
        return 1
    else:
        return math.sin(x) / x

sinc
Python
Série de Fibonacci
@latexify.function
def fib(x):
    if x == 0:
        return 0
    elif x == 1:
        return 1
    else:
        return fib(x-1) + fib(x-2)

fib
Python
Letras Gregas
@latexify.function(use_math_symbols=True)
def greek(alpha, beta, gamma, Omega):
    return alpha * beta + math.gamma(gamma) + Omega

greek
Python

IPython.display

Transformada de Fourier
from IPython.display import Math
Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx')
Python
Derivada por Definição
from IPython.display import Math
Math(r'f(x) = \lim_{{h \to 0}} \frac{{f(x + h) - f(x)}}{h}')
Python
Probabilidade Condicional
from IPython.display import Math
Math(r'P(A|B)= \frac{P(A \cap B)} {P(B)}')
Python
Média amostral
from IPython.display import Math
Math(r'\overline{X}= \frac{ \sum_{i=1}^{n} X_i} {n}')
Python

Espero que tenha gostado do conteúdo, nos vemos na próxima!

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *