Python compilé sous LateX

Bonjour,
pour afficher du code python dans un fichier LateX j'utilise le package "listing" et tout fonctionne...
\lstset{language=Python}
\begin{lstlisting}[firstnumber=auto,frame=none,numbers=left]
def diveuclide(a,b):
    while a>b:
        a=a-b
    return(a)
diveuclide(125,26)
diveuclide(43,6)
\end{lstlisting}
Par contre, comment faire pour exécuter ce code ? directement depuis un fichier LaTeX ??
J'ai essayé des trucs trouvés sur le net mais les fichiers python.sty ou ipython.sty génèrent systématiquement des erreurs chez moi (sous windows).

Quelqu'un a-t-il une solution ???

Réponses

  • Bonjour.
    Pour être complet...

    Il y a des programmes capables de prendre un fichier LaTeX avec des commandes supplémentaires dans un langage de programmation et d'obtenir en sortie un fichier LaTeX standard. Exemple : Haskintex qui permet d'insérer du Haskell dans du LaTeX. Mais alors ce n'est pas le programme latex qui est utilisé en premier.

    Autre possibilité : écrire un fichier Python qui génère du LaTeX. (Je l'ai fait, c'est facile mais ça devient rapidement illisible.)

    Voilà, je n'ai par répondu à ta question vu que tu cherches une troisième voie. Désolé, j'espère que quelqu'un te répondra. Il faut être au courant de ces diverses possibilités.

  • Ceci devrait faire ton bonheur : https://tinyurl.com/rymjaszw

    [Edit : le problème semble venir de ce que "euclide" saisi tel quel se trouve pourvue d'une majuscule par la suite, alors qu'il ne devrait pas. Les systèmes Unix, Linux, ... font la différence. (T. P.)]
  • intéressant mais je n'arrive pas à faire fonctionner ce qu'ils proposent...
  • Rhouni
    Modifié (May 2023)

    Comment puis-je exécuter directement du code à partir d'un fichier LaTeX ? J'ai besoin d'aide pour comprendre les différentes méthodes disponibles. Les packages "listings" et "minted" sont couramment utilisés, mais j'aimerais savoir comment les utiliser concrètement. Quelles sont les étapes spécifiques à suivre pour intégrer et exécuter du code dans mon document LaTeX ? Je suis également préoccupé par les aspects de sécurité liés à l'exécution de code à partir d'un fichier LaTeX.
    Toute guidance ou conseils seraient grandement appréciés.

  • celine_L
    Modifié (May 2023)
    Sauf erreur, les packages listings et minted n'exécutent pas le code, ils se contentent de le mettre en page. Et pour apprendre à les utiliser, rien de mieux que leur documentation, distribuée avec le fichier .sty (accessible par texdoc <nom de package> sur un terminal).
  • dp
    dp
    Modifié (May 2023)
    Un bon moyen efficace d'exécuter du code au sein d'un document $\LaTeX$ (pour peu qu'on ne soit pas borné et qu'on ne se limite pas à Python), c'est d'utiliser LuaLaTeX (conjointement au paquet luacode) afin d’exécuter du code lua.
    Exemple :
    \documentclass{article}
    \usepackage{luacode}
    \begin{document}
    
    \begin{luacode}
      function diveuclide(a,b)
        while a>b do
          a=a-b
        end
        return a
      end
    \end{luacode}
    
    
    Le reste de la division euclidienne de $125$ par $4$ est \directlua{tex.print(diveuclide(125,4))}.
    \end{document}
    
    Nous donne le résultat suivant :

  • Joaopa
    Modifié (May 2023)
    .... Redite de Bisam. Donc c'est une bonne idée :D  :D
Connectez-vous ou Inscrivez-vous pour répondre.