PythonTeX

PythonTeX est une package réunissant \(\LaTeX\) et Python.

Qui n’a jamais rêvé de compiler un programme Python pendant qu’il (elle) compilait son document \(\LaTeX\) ? Grâce à ce package, c’est possible !

J’utilise d’ailleurs PythonTeX pour la mini-documentation sur Python (disponible sur ce site).

Installation du pack complet

Bien entendu, il faut installer Python sur votre ordinateur.

Ensuite, vous devez installer le package disponible sur cette page, mais si vous insérez la ligne :

\usepackage{pythontex}

directement dans votre document TeX, l’installation se fera d’elle-même si vous êtes sous Windows + MikTeX.

Dans le cas contraire, il vous faudra installer le package, sauf s’il est déjà inclus dans la distribution que vous utilisez (TexLive ou MacTeX).

Il faudra maintenant configurer votre éditeur (TeXMaker par exemple) pour qu’il compile suivant la chaîne suivante :

pdflatex --shell-escape -synctex=1 -interaction=nonstopmode %.tex|
python C:\Users\stephane\AppData\Local\Programs\MiKTeX\scripts\pythontex\pythontex.py %.tex|
pdflatex --shell-escape -synctex=1 -interaction=nonstopmode %.tex|
"C:/Program Files (x86)/Adobe/Acrobat 11.0/Acrobat/Acrobat.exe" %.pdf

Il est à noter que tout ceci est à mettre à la suite et que :

  1. la ligne 1 compile le document TeX;
  2. la ligne 2 exécute le fichier Python mis dans le répertoire de la distribution \(\LaTeX\) : il faut donc y mettre le chemin vers ce fichier;
  3. la ligne 3 compile à nouveau le document TeX;
  4. la ligne 4 affiche le résultat (il faut donc mettre ici le chemin vers votre viewer pdf).

Pour faciliter la compilation, sous TexMaker, j’ai créé une commande utilisateur composée de ces instructions. Ainsi, en appuyant sur [Alt]+[Shift]+[F1], je lance les instructions ([F] car c’esr ma première commande…).

Un exemple

Pour tester l’installation, rien ne vaut un exemple.

\documentclass[12pt,french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} 
\usepackage{lmodern}
\usepackage{babel}
\usepackage{pythontex}
\setlength{\parindent}{0pt}

\begin{document}

\begin{pyverbatim}
import math

def racine(a):
    return math.sqrt(a)

print(racine(9))
\end{pyverbatim}


\bigskip

Résultat : 

\begin{pycode}
import math

def racine(a):
    return math.sqrt(a)

print(racine(9))
\end{pycode}

\begin{pyconsole}
var = 1 + 1
var
\end{pyconsole}
\end{document}

devrait donner ceci :

Console Python PythonTeX

 

Si la compilation engendre une erreur, assurez-vous que le PATH de Windows contient le chemin vers le programme Python.