19 septembre 2024
Il s'agit d'un package pour générer des expressions mathématiques en LaTeX à partir de code python.

Il s’agit d’un package pour générer des expressions mathématiques en LaTeX à partir de code python.

https://github.com/google/latexify_py 

Exemple notebook

https://github.com/Fangorne/Python_Notebook/blob/main/Latexify.ipynb

Installation

pip install latexify-py

Sous Windows, j’ai eu des soucis pour l’installer à cause de l’encoding de fichier. Si vous êtes dans le même cas récupérer le package Git

git clone  https://github.com/google/latexify_py

Ensuite modifier le fichier setup.py en suprimant la lecture du fichier ‘Readme’ et le cas échéant la version de python (bridé à 3.8)

import setuptools

def main():

  setuptools.setup(
    name='latexify-py',
    version='0.0.7',
    description='Generates LaTeX source from Python functions.',
    long_description='readme',
    long_description_type='text/markdown',
    url='https://github.com/google/latexify_py',
    author='Yusuke Oda',
    author_email='oday@google.com',
    license='Apache Software License 2.0',
    classifiers=[
        'Framework :: IPython',
        'Framework :: Jupyter',
        'License :: OSI Approved :: Apache Software License',
        'Programming Language :: Python :: 3.6',
        'Programming Language :: Python :: 3.7',
        'Programming Language :: Python :: 3.8',
        'Topic :: Scientific/Engineering :: Mathematics',
        'Topic :: Software Development :: Code Generators',
        'Topic :: Text Processing :: Markup :: LaTeX',
    ],
    keywords='equation latex math mathematics',
    packages=['latexify'],
    install_requires=[
        'dill>=0.3.2',
    ],
    python_requires='>=3.6',
  )

main()

Utilisation

Fonction standard

import math
import latexify


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

print(solve)
\mathrm{solve}(a, b, c) \triangleq \frac{-b + \sqrt{b^{2} - 4ac}}{2a}

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *