pythontex-tools.sty est un nouveau package. J’utilise de temps en temps pythontex pour compiler des documents mathématiques et je trouvais qu’il manquait un outil pour me permettre d’aller plus vite dans mes rédactions. N’en trouvant pas, je l’ai fait.
Sans grandes prétentions, le package pythontex-tools.sty permet d’effectuer des calculs à la volée. Vous pouvez le télécharger sur cette page.
Avant de tester le module pythontex-tools
Ce module \(\LaTeX\) fait appel à pythontex. Il faut donc, bien sûr, l’avoir installé et paramétré avant tout.
Il fait aussi appel aux modules python math et scipy. Bien que le premier soit installé automatiquement, ce n’est pas le cas du second; il faut donc le faire en ligne de commande :
pip install scipy
ou
conda install scipy (si vous êtes sous anaconda)
Décomposition en produits de facteurs premiers à l’aide de pythontex-tools
Par exemple, en classe de 3ème, si l’on souhaite faire une série d’exercices sur la décomposition en produits de facteurs premiers, je trouve long et fastidieux d’effectuer tous les calculs en parallèle de la rédaction. À l’aide de pythontex-tools.sty, ce n’est plus la peine grâce à la commande \ifactors{nombre} qui décompose le nombre (entier) pour vous et qui affiche la décomposition. Ainsi, on pourra écrire:
\documentclass[10pt]{article} \usepackage[utf8]{inputenc} \usepackage{pythontex-tools} \begin{document} \[ \begin{array}{r@{~=~}l} 125 & \ifactors{125}\\ 2020 & \ifactors{2020}\\ 2002 & \ifactors{2002}\\ 425 & \ifactors{425}\\ 1983 & \ifactors{1983}\\ 101010 & \ifactors{101010}\\ 12321 & \ifactors{12321} \end{array} \] \end{document}
pour voir apparaître:
On peut même présenter les décompositions en colonne:
Simplification de fractions à l’aide de pythontex-tools
De même, on peut simplifier des fractions:
\documentclass[10pt]{article} \usepackage[utf8]{inputenc} \usepackage{pythontex-tools} \begin{document} \[ \begin{array}{r@{~=~}l} \dfrac{125}{75} & \simpdfrac{125,75}\\[20pt] \dfrac{2002}{2020} & \simpdfrac{2002,2020}\\[20pt] \dfrac{123}{456} & \simpdfrac{123,456} \end{array} \] \end{document}
Simplification de racines carrées
En classe de Seconde, on aborde les racines carrée et leurs simplifications. Ce package va permettre aux enseignants d’aller plus vite dans la conception des exercices et devoirs.
\documentclass[10pt]{article} \usepackage[utf8]{inputenc} \usepackage{pythontex-tools} \begin{document} \[ \begin{array}{r@{~=~}l} \sqrt{125} & \simpsqrt{125}\\[10pt] \sqrt{25} & \simpsqrt{25}\\[10pt] \sqrt{2020} & \simpsqrt{2020} \end{array} \] \end{document}
Calcul du PGCD de deux nombres
Ce package permet aussi de calculer le PGCD de deux nombres à la volée.
\documentclass[10pt]{article} \usepackage[utf8]{inputenc} \usepackage{pas-math} \usepackage{pythontex-tools} \begin{document} \[ \begin{array}{r@{~=~}l} \pgcd{455}{125} & \gcd{455,125}\\[10pt] \pgcd{46}{88} & \gcd{46,88}\\[10pt] \pgcd{2020}{2002} & \gcd{2020,2002}\\[10pt] \pgcd{1973}{2020} & \gcd{1973,2020} \end{array} \] \end{document}
Valeur approchée d’une intégrale
Il peut s’avérer quelques fois pratique d’avoir une valeur approchée d’une intégrale dont on vient de trouver la valeur exacte (histoire de vérifier la cohérence de notre résultat). On peut faire ça avec ce package !
\documentclass[10pt]{article} \usepackage[utf8]{inputenc} \usepackage{pas-math} \usepackage{pythontex-tools} \begin{document} \[ \begin{array}{r@{~=~}l} \dint_0^1 \e^{x} \dx & \integ{exp , 0 , 1}\\[10pt] \dint_0^1 \e^{x} \dx & \integ{exp , 0 , 1 , True}\\[10pt] \dint_0^1 \e^{x} \dx & \integ{exp , 0 , 1 , True , dec = 3}\\[10pt] \dint_0^1 \e^{x} \dx & \integ{exp , 0 , 1 , True , dec = 3 , decm = 3}\\[10pt] \dint_0^{+\infty} \e^{-x} \dx & \integ{lambda x: exp(-x) , 0 , inf , dec=0}\\[10pt] \end{array} \] \end{document}
Autres possibilités
Il y a encore d’autres possibilités comme:
- les calculs de probabilités P(X = k) où X est une variable aléatoire suivant une loi binomiale;
- les calculs de P(X ≤ k);
- la construction de la table des P(X ≤ k) pour déterminer un intervalle de fluctuations;
- la détermination d’un intervalle de fluctuations (en entiers ou en fréquences);
- le calcul du coefficient binomial;
- le calcul d’une factorielle.
Ce package est disponible en version 0.1 (c’est la première version). Il doit donc évoluer en fonction des commentaires que je recevrai. N’hésitez donc pas à me suggérer des ajouts.
Et si vous avez besoin d’un cours par webcam (mathématiques, python ou \(\LaTeX\)), allez sur https://courspasquet.fr/.
Bonjour,
J’ai découvert vos packages personnels dont je vais m’inspirer largement. Si je suis un “bon” utilisateur de LaTeX, je suis malheureusement bien incapable de créer des packages.
Cependant, j’ai téléchargé le package PYTHON pour notamment voir ce que donneraient les factorisations. Voici la réponses de LaTeX. Avez-vous une idée ?
LaTeX Error : option clash for package xcolor
En tapant le message d’erreur dans un moteur de recherche, on a pas mal d’indices. Il faut avant tout avoir ce réflexe quand une erreur apparaît. Et n’ayant pas le code source, impossible pour moi de deviner la cause exacte de l’erreur. La plu_part du temps, c’est dû à l’ordre des packages; dans ce cas, mettre xcolor en premier.
Bonjour,
je vous ai contacté par mail pour un soucis avec Pythontex qui ne compilait pas… et j’ai réussi à régler ce problème.
L’exemple que vous donnez ici https://www.mathweb.fr/euclide/pythontex/ tourne sans problème.
Pour me retrouver face à un autre :
Dès que j’utilise \usepackage{pythontex-tools}, avec les exemples de cette page, cela ne fonctionne plus et j’obtiens “simplement” le message suivant : Process exited with error(s).
Pythontex-tools semble bien installé (mais ça ne doit pas être mes cas visiblement).
J’avoue être un peu à court d’idées.
Cordialement.
Laurentfz
Bonjour.
En effet, il faut installer le module python scipy :
pip install scipy (en ligne de commande)
Yes 🙂
Je n’y aurait jamais pensé tout seul…
Merci infiniment !
Tout fonctionne, c’est top.
Il me reste à voir si dans l’affichage décimal je peux modifier le point pour avoir une virgule.
Et utiliser \np pour séparer les chiffres.
Cordialement.
Laurentfz
En Python,
str(12.3).replace('.',',')
est possible (par exemple)… Si cette solution est intéressante pour vous.