Forum Programmation.python Insérer du code source Python dans un fichier LaTeX

Posté par  (site web personnel, Mastodon) .
Étiquettes : aucune
0
14
août
2006
Bonjour,

Je cherche à insérer du code source python dans un fichier LaTeX. Pas besoin que ce soit beau, personne ne va le lire mais il chez nous est obligatoire de mettre en annexe du mémoire le code source réalisé.

En fait, ce que je cherche exactement serait donc une commande du type :

\input{python/main.py}

avec la particularité que le contenu du texte serait affiché en verbatim (et non interprété) en respectant les indentations.

Connaissez-vous une solution pour faire ce genre de choses ?

Merci d'avance.
  • # listings

    Posté par  (site web personnel) . Évalué à 5.

    Il te faut utiliser le package listings pour ça.

    Tu peut aussi regarder du coté de moreverb, qui doit contenir une commande \inputverbatim{fichier}

    Mais bon, listings te permettra en plus d'avoir quelque chose de joli pour pas cher, et de pouvoir mettre des choses en valeur, par ex souligner un certian mot clé et tout. Python est supporté, il suffit de coller dnas l'en tête
    \lstset{language={Python}}

    Et bien sûr, tu pourra fiare
    \lstincludelisting{fichier}

    La doc est par exemple là :
    http://www.math.ntnu.no/~berland/latex/docs/listings.pdf
    • [^] # Re: listings

      Posté par  (site web personnel, Mastodon) . Évalué à 2.

      terrible, c'est pile poil ce que je cherchais ! Merci !

      Pour info, la commande exacte est :

      \lstinputlisting{fichier.py}

      Je dois juste encore comprendre pourquoi il me met des

      Package inputenc Error: Unicode char \u8:�expandafter not set up for use with LaTeX.

      Alors que je suis en utf-8 partout

      Mes livres CC By-SA : https://ploum.net/livres.html

      • [^] # Re: listings

        Posté par  (site web personnel) . Évalué à 3.

        Argh !

        En fait, listings ne sait pas traiter correctement les caractères accentués, même avec inputenc, et en utilisant l'option extendedchard de listings.
        Pour ça, le mieux c'est encore d'oublier les accents dnas le source python ;-)

        Sinon, il faut jouer avec le package examplep, qui permet d'utiliser des entrées utf-8 pour listings, mais ce n'est pas dans la distribution tetex, et je ne connais pas bien :

        http://www.ctan.org/tex-archive/macros/latex/contrib/example(...)
        • [^] # Re: listings

          Posté par  (site web personnel, Mastodon) . Évalué à 2.

          j'ai effectivement viré les accents de mes commentaires et ça a suffit. Finalement, c'était peu de choses.

          Un tout grand merci en tout cas.

          Mes livres CC By-SA : https://ploum.net/livres.html

      • [^] # Re: listings

        Posté par  (site web personnel, Mastodon) . Évalué à 2.


        L'extension Listings, pour formater des programmes, est quant à elle totalement incompatible avec UTF-8: sitôt qu'elle trouve des caractères accentués dans un programme, elle affiche des messages d'erreur. Je n'ai pu trouver aucun autre contournement que reconvertir tout le manuscrit en Latin 1 ou omettre les accents dans les programmes. C'est très dommage, car Listings est sans doute le meilleur système, voire le seul système viable, de formatage de programmes disponible sous LaTeX. Il faudra sans doute attendre une version complètement Unicode de TeX, par exemple Omega TeX, pour enfin avoir une compatibilité parfaite avec UTF-8.


        http://www-etud.iro.umontreal.ca/~buisteri/udemthese/index.h(...)

        Arrrrrgh ! C'était si parfait !

        Tant pis, même avec plein d'erreurs, le document à l'air correct.

        Mes livres CC By-SA : https://ploum.net/livres.html

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.