Comment insérer du code source dans un document latex en 2020 ?
J'aimerai insérer du code source d'un programme dans une fichier LaTex (en particulier du code `Python`). Quels sont les meilleurs packages et les meilleurs usages que vous recommanderiez en 2020 ?
- Listing ?
- minted ?
- autre package ?
Quels sont les points forts et les inconvénients de ces différents packages. Pourriez-vous donnez un exemple avec chacun de ces packages que vous évoquerez avec le code source suivant :
> #-------------------------------------------------------------------------------
> # Exemple de code source Python
> #-------------------------------------------------------------------------------
>
> def main():
> fA,fB,fC=PR(100)
> print("fA=",round(fA,2)," fB=",round(fB,2)," fC=",round(fC,2))
> pass
>
> from random import *
>
>
> def PR(n):
> nA=0
> nB=0
> nC=0
> start=randint(0,2)
> #!/usr/bin/python
var = 100
if start==0:
> page="A"
> nA=1
> var == 200:
print "1 - Got a true expression value"
print var
elif start=="1":
> page="B"
> nB=1
> var == 150:
print "2 - Got a true expression value"
print var
elif var == 100:
print "3 - Got a true expression value"
print var
else:
> page="C"
> nC=1
> for i in range(n):
> if page=="A":
> alea=randint(0,1)
> if alea==0:
> page="B"
> nB=nB+1
> else:
> page="C"
> nC=nC+1
> elif page=="B":
> page="A"
> nA=nA+1
> else:
> alea=randint(0,1)
> if alea==0:
> page="A"
> nA=nA+1
> else:
> page="B"
> nB=nB+1
> fA=nA/(n+1)
> fB=nB/(n+1)
> fC=nC/(n+1)
> return fA, fB, fC
>
> # Appel de la fonction main() seulement si module exécuté et non importé
> if __name__ == '__main__':
> main() print "4 - Got a false expression value"
print var
print "Good bye!"