Listings et algorithme

Tout ce qui concerne le langage LaTeX et ses variantes. Ce langage est supporté sur le forum via les balises tex.

Modérateur : gdm_tex

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
tnnico
Utilisateur confirmé
Utilisateur confirmé
Messages : 70
Inscription : jeudi 25 juin 2009, 14:06

Listings et algorithme

Message par tnnico »

Bonjour,

je cherche à utiliser le package listing (que je ne connais pas) pour écrire un algorithme en langage naturel (et ensuite en Python).
Ma question est simple, mais je ne trouve la réponse nulle part (je cherche sans doute mal) : existe-t-il un moyen simple de le faire avec, par exemple, la bonne option pour "language=" ?.
Il faudrait notamment que les affectations soient des flèches vers la gauche pour coller aux programmes du lycée.

Merci d'avance,
Nicolas

un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 825
Inscription : vendredi 12 juin 2009, 22:35
Localisation : Chambéry

Re: Listings et algorithme

Message par un bon petit »

pour faire 2 choses très différentes, 2 packages différents :
  • pour mettre en forme du pseudo-code, le package algorithm2e
  • pour mettre en forme du code, le package listings.
Chacun son job et les brebis seront bien gardées.

tnnico
Utilisateur confirmé
Utilisateur confirmé
Messages : 70
Inscription : jeudi 25 juin 2009, 14:06

Re: Listings et algorithme

Message par tnnico »

Oui, j'y avais pensé...
ça va peut-être finir comme ça !

marco56
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 884
Inscription : jeudi 25 novembre 2010, 22:10

Re: Listings et algorithme

Message par marco56 »

Sur le forum, cela a déjà été traité : il faut chercher un peu.

tnnico
Utilisateur confirmé
Utilisateur confirmé
Messages : 70
Inscription : jeudi 25 juin 2009, 14:06

Re: Listings et algorithme

Message par tnnico »

Comme je l'ai dit, j'ai cherché, sûrement mal, je n'ai pas trouvé, tant pis !
Merci quand même.

MB
Administrateur
Administrateur
Messages : 7230
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: Listings et algorithme

Message par MB »

Je ne sais pas si ça peut aider, mais on peut créer un nouveau style et un nouveau langage permettant de saisir du code en langage naturel via listings. Voici un exemple assez sommaire.

Code : Tout sélectionner

\documentclass[10pt,oneside]{article}
\usepackage{xcolor,listings}

\lstdefinelanguage{Natural}{keywords={},comment=[l]{}}
\lstdefinestyle{natural}{%
    language=Natural,
    basicstyle=\footnotesize\ttfamily,
    numberstyle=\scriptsize\ttfamily\color{gray},
    keywordstyle=\color{blue!75},
    stringstyle=\color{red!75},
    literate={=}{$\leftarrow{}$}{1} {==}{$={}$}{1},
    morestring=[b]",
    showtabs=true,
    aboveskip=0pt,
    belowskip=0pt,
    tabsize=2,
    numbers=left}

\begin{document}
\begin{lstlisting}[style=natural,morekeywords={x,n}]
n = 0
pour i allant de 1 à 6
    x = entier aléatoire compris entre 1 et 6
    si x == 6 alors
        n = n+1
    fin si
fin pour
si n > 0 alors
    afficher "Le joueur a gagné."
sinon
    afficher "Le joueur a perdu."
fin si
\end{lstlisting}
\end{document}
Et le résultat obtenu.
listings.png
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
MB. (rejoignez pCloud afin d'obtenir 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.

marco56
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 884
Inscription : jeudi 25 novembre 2010, 22:10

Re: Listings et algorithme

Message par marco56 »

En tapant mathematex listings ou bien mathematex algorithm2e dans ton moteur préféré, tu vas tomber sur pas mal de liens intéressants.

tnnico
Utilisateur confirmé
Utilisateur confirmé
Messages : 70
Inscription : jeudi 25 juin 2009, 14:06

Re: Listings et algorithme

Message par tnnico »

Super et merci, c'est exactement ce que j'ai commencé à bricoler mais il y a des idées que je peux utiliser pour améliorer mon environnement.

En fait je partais sur l'idée d'utiliser un seul package pour pouvoir à partir du seul code Python générer un algorithme en langage naturel (et français) et donc éventuellement afficher les deux en vis à vis.

J'ai un peu avancé mais pour l'instant, je ne vois pas bien comment rajouter des "Fin Truc" qui ne sont pas présents en Python.

J'avais évidemment cherché sur internet mais je ne trouvais rien qui ressemble à ce que je souhaitais, d'où ma question ici, au cas où.

En tout cas, merci à tous d'avoir pris du temps pour répondre.