[Tuto] Profiter des capacités de sympy (Python) en LaTeX
Rédigé par C. Pierquet
Aucun commentaire
Classé dans : Tutos
Vous connaissez le module sympy
de Python ? Vous êtes utilisateur de LaTeX
? Vous voulez combiner les deux ??
Le (modeste) package sympycalc
permet de bénéficier des capacités de calculs de sympy
directement en LaTeX
:
- effectuer des calculs de manière exacte ;
- effectuer des calculs sous forme symbolique ;
- ...
L'idée est en fait de :
- faire faire les calculs à
sympy
; - récupérer les sorties grâce à la fonction
latex(...)
; - patcher légèrement le tout pour respecter les règles de typographie française.
Il faut déjà savoir, et avoir conscience, qu'une petite configuration sera nécessaire au bon fonctionnement de cette solution :
- avoir
python
installé, avec le modulesympy
; - compiler en
lualatex
, avecshell-escape
, pour une utilisation correcte du packagepyluatex
.
%préambule minimal \documentclass[a4paper,11pt,french]{article} \usepackage{mathtools} \usepackage[executable=python]{pyluatex} \usepackage{SympyCalc}
Le package sympycalc
permet d'automatiser certaines commandes :
%%commandes génériques \sympycalc(*){commande sympy} \dsympycalc(*){commande sympy} %commandes spécifiques, sortie standard (préfixer en d pour des sorties dysplaystyle \sympyimage(*){fonction sympy}[variable]{point} \sympydev(*){expr sympy}[variable] \sympyfact(*){expr sympy} \sympyderiv(*){expr sympy}[variable] \sympynbderiv(*){expr sympy}[variable]{point}[côté] \sympyprim(*){expr sympy}[variable] \sympyintegr(*){expr sympy}[variable]{borne inf}{borne sup} \sympylim(*){expr sympy}[variable]{point}[côté] \sympyfexpo(*){complexe sympy} \sympyresol(*){equation sympy}[variable] \sympyresolC(*){equation sympy}[variable]
Par exemple, on peut effectuer quelques calculs basiques pour se rendre compte des possibilités offertes par sympy
:
$1+\dfrac{5}{78} = \dsympycalc{1+5/78}$ $\displaystyle\frac{12}{\sqrt{5}} = \dsympycalc{12/sqrt(5)}$ $1+\dfrac32+\dfrac{15}{2+\sqrt{12}} = \dsympycalc{1+3/2+15/(2+sqrt(12))}$
Les captures suivantes sont issues de la documentation, et montrent en détail le fonctionnement de certaines commandes :
Documentation pdf : sympycalc