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
PythonSe 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
Python3. Utilizando o pacote latexify para uma expressão de adição
@latexify.function
def soma(a,b,c):
return (a+b+c)
soma
PythonIPython.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:
- Exibição de Mídias: Exibir imagens, vídeos, áudios e outros tipos de mídia diretamente em um Notebook ou no console IPython
- 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.
- 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.
- Widgets Interativos: O
IPython.display
pode ser usado em conjunto com a bibliotecaipywidgets
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. - 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.
- Renderização de DataFrames: O módulo pode ser usado para exibir DataFrames Pandas de forma formatada e interativa.
- 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
Python2. Vamos gerar a equação apresentada no vídeo
Math(r'E= m*c^2')
PythonNo 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
PythonFunção sinc
@latexify.function
def sinc(x):
if x == 0:
return 1
else:
return math.sin(x) / x
sinc
PythonSé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
PythonLetras Gregas
@latexify.function(use_math_symbols=True)
def greek(alpha, beta, gamma, Omega):
return alpha * beta + math.gamma(gamma) + Omega
greek
PythonIPython.display
Transformada de Fourier
from IPython.display import Math
Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx')
PythonDerivada por Definição
from IPython.display import Math
Math(r'f(x) = \lim_{{h \to 0}} \frac{{f(x + h) - f(x)}}{h}')
PythonProbabilidade Condicional
from IPython.display import Math
Math(r'P(A|B)= \frac{P(A \cap B)} {P(B)}')
PythonMédia amostral
from IPython.display import Math
Math(r'\overline{X}= \frac{ \sum_{i=1}^{n} X_i} {n}')
PythonEspero que tenha gostado do conteúdo, nos vemos na próxima!