Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
3_domaines_specialises:informatique:mettre_en_page_des_algorithmes_ou_des_programmes [2016/10/16 09:31] jejust créée |
3_domaines_specialises:informatique:mettre_en_page_des_algorithmes_ou_des_programmes [2021/01/28 18:19] (Version actuelle) dbitouze Correction de lien |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | \question{Comment mettre en page des algorithmes ou des programmes~?}%12.20 | + | ====== Comment mettre en page des algorithmes ou des programmes? ====== |
- | \reponse Le package \pack{algorithm2e} permet comme son nom l'indique | + | |
+ | $\Reponse$ Le package [[ctanpkg>algorithm2e]] permet comme son nom l'indique | ||
d'écrire des algorithmes. Il a l'avantage d'avoir une présentation souple et | d'écrire des algorithmes. Il a l'avantage d'avoir une présentation souple et | ||
d'être facilement extensible. En effet, les petites instructions | d'être facilement extensible. En effet, les petites instructions | ||
conditionnelles peuvent être présentées sur une ligne et l'on peut facilement | conditionnelles peuvent être présentées sur une ligne et l'on peut facilement | ||
ajouter un filet sur le côté. Il dispose également de commandes telles que | ajouter un filet sur le côté. Il dispose également de commandes telles que | ||
- | \cmd{SetKw} qui permettent de rajouter facilement des mots-clés. Vous pouvez | + | ''\SetKw'' qui permettent de rajouter facilement des mots-clés. |
- | le trouver sur \ctan{macros/latex/contrib/algorithm2e/} puis essayer | + | |
- | l'exemple~\vref{ex=algo2e}. | + | Voici un algorithme écrit avec [[ctanpkg>algorithm2e]]: |
- | \begin{docexemple}{Un algorithme écrit avec \pack{algorithm2e}% | + | <code latex> |
- | \label{ex=algo2e}} | + | |
\documentclass[french]{article} | \documentclass[french]{article} | ||
\usepackage{babel} | \usepackage{babel} | ||
Ligne 19: | Ligne 19: | ||
\begin{document} | \begin{document} | ||
\begin{algorithm} | \begin{algorithm} | ||
- | \caption{Comment utiliser \LaTeX} | + | \caption{Comment utiliser \LaTeX{} ?} |
\Entree{un utilisateur quelconque} | \Entree{un utilisateur quelconque} | ||
- | \Sortie{un utilisateur connaissant \LaTeX} | + | \Sortie{un utilisateur connaissant \LaTeX{}} |
initialisation \; | initialisation \; | ||
Ligne 35: | Ligne 35: | ||
\end{algorithm} | \end{algorithm} | ||
\end{document} | \end{document} | ||
- | \end{docexemple} | + | </code> |
- | \reponse Les packages \pack{algorithm} et \pack{algorithmic} disponibles sur | ||
- | \ctan{macros/latex/contrib/algorithms/}, ont été spécifiquement conçus pour | ||
- | mettre en forme des algorithmes. \pack{algorithmic} sert \`a décrire les | ||
- | algorithmes et \pack{algorithm} fournit un environnement flottant semblable à | ||
- | \env{figure} ou \env{table} (cf. le paragraphe \vref{paragraphe=flottant}). | ||
- | L'exemple \vref{ex=algorithm} en montre une utilisation possible. | ||
- | \begin{docexemple}[120pt,430pt,100pt,120pt]{Utilisation d'\pack{algorithm}% | + | |
- | \label{ex=algorithm}} | + | $\Reponse$ Les packages [[ctanpkg>algorithm|algorithm]] et [[ctanpkg>algorithmic|algorithmic]] disponibles |
+ | dans [[ctanpkg>algorithms]], ont été spécifiquement conçus pour mettre en forme des algorithmes. | ||
+ | [[ctanpkg>algorithmic|algorithmic]] sert à décrire les algorithmes et [[ctanpkg>algorithm|algorithm]] | ||
+ | fournit un environnement flottant semblable à ''figure'' ou ''table'' | ||
+ | (cf. [[2_composition:flottants:start|les pages à propose des flottants]]). | ||
+ | Un exemple d'utilisation possible: | ||
+ | |||
+ | Utilisation d'[[ctanpkg>algorithm|algorithm]] | ||
+ | <code latex> | ||
\documentclass{article} | \documentclass{article} | ||
\usepackage{algorithm,algorithmic} | \usepackage{algorithm,algorithmic} | ||
Ligne 52: | Ligne 54: | ||
\caption{Un joli algorithme} | \caption{Un joli algorithme} | ||
\begin{algorithmic} | \begin{algorithmic} | ||
- | \REQUIRE{habiter pr\`es des montagnes} | + | \REQUIRE{habiter près des montagnes} |
\REPEAT | \REPEAT | ||
\IF{il fait beau} | \IF{il fait beau} | ||
- | \STATE faire une randonn\'ee | + | \STATE faire une randonnée |
\ELSE[il fait moche] | \ELSE[il fait moche] | ||
- | \STATE r\'esoudre P $\neq$ NP | + | \STATE résoudre P $\neq$ NP |
\ENDIF | \ENDIF | ||
\UNTIL{foulure de cheville} | \UNTIL{foulure de cheville} | ||
Ligne 64: | Ligne 66: | ||
\end{algorithm} | \end{algorithm} | ||
\end{document} | \end{document} | ||
- | \end{docexemple} | + | </code> |
- | \reponse Il existe aussi le package \pack{alg} disponible sur | + | $\Reponse$ Le package [[ctanpkg>frpseudocode]], d'Oliver Irwin, s'appuie sur [[ctanpkg>algorithmicx]] (équivalent récent des packages |
- | \ctan{macros/latex/contrib/alg/}. | + | présentés ci-dessus) en le françisant. Son ut est avant tout de fournir une traduction en français de termes utilisés |
+ | dans les algorithmes, pour permettre leurt intégration dans un document en français. Il suffit de charger [[ctanpkg>frpseudocode]], | ||
+ | puis d'utiliser les commandes habituelles de [[ctanpkg>algorithmicx]], puisque leur nom est conservé. | ||
- | \reponse Le package \pack{newalg} est également disponible sur \CTAN à | + | $\Reponse$ Le package [[ctanpkg>algpseudocodex]], de Christian Matt, est lui aussi basé sur [[ctanpkg>algorithmicx]], |
- | l'adresse \ctan{macros/latex/contrib/newalg/}. Il propose un environnement | + | dont il reprend la syntaxe, mais il lui ajoute de nombreuses fonctionnalités. |
- | \env{algorithm} qui par défaut utilise le mode mathématique et | + | |
- | l'environnement \env{array} pour les alignements. La commande \cmd{text} est | + | |
- | également disponible. Le package gère les instructions : if-then-else, for, | + | |
- | while, repeat, switch et propose un certain nombre de macros telles que call, | + | |
- | error, algkey, return, nil. L'exemple~\vref{ex=newalg} en donne une | + | |
- | illustration. | + | |
- | \begin{docexemple}[130pt,600pt,220pt,120pt]{Utilisation de \pack{newalg}% | + | $\Reponse$ Il existe aussi le package [[ctanpkg>alg]]. |
- | \label{ex=newalg}} | + | |
+ | |||
+ | $\Reponse$ Le package [[ctanpkg>newalg|newalg]] propose un environnement | ||
+ | ''algorithm'' qui par défaut utilise le mode mathématique et | ||
+ | l'environnement ''array'' pour les alignements. La commande ''\text'' est | ||
+ | également disponible. Le package gère les instructions : //if-then-else//, //for//, | ||
+ | //while//, //repeat//, //switch// et propose un certain nombre de macros telles que | ||
+ | //call//, //error//, //algkey//, //return//, //nil//. | ||
+ | |||
+ | Utilisation de [[ctanpkg>newalg]] | ||
+ | |||
+ | <code latex> | ||
\documentclass{article} | \documentclass{article} | ||
\usepackage{newalg} | \usepackage{newalg} | ||
Ligne 91: | Ligne 100: | ||
\end{algorithm} | \end{algorithm} | ||
\end{document} | \end{document} | ||
- | \end{docexemple} | + | </code> |
- | \reponse Le package \pack{program} (disponible sur | + | |
- | \ctan{macros/latex/contrib/program/}) permet de mettre en relief des | + | |
+ | $\Reponse$ Le package [[ctanpkg>program|program]] permet de mettre en relief des | ||
mots clés, d'utiliser des mathématiques dans des algorithmes, etc. | mots clés, d'utiliser des mathématiques dans des algorithmes, etc. | ||
- | Voir l'exemple \vref{ex=program}. | ||
- | \begin{docexemple}[130pt,460pt,220pt,140pt]{Utilisation de \pack{program}% | + | Utilisation de [[ctanpkg>program|program]]: |
- | \label{ex=program}} | + | |
+ | <code latex> | ||
\documentclass{article} | \documentclass{article} | ||
\usepackage{program} | \usepackage{program} | ||
Ligne 119: | Ligne 129: | ||
\end{program} | \end{program} | ||
\end{document} | \end{document} | ||
- | \end{docexemple} | + | </code> |
+ | |||
+ | |||
+ | <note warning> | ||
+ | [[ctanpkg>program|program]] doit être chargé après [[ctanpkg>amsmath|amsmath]] lors d'une | ||
+ | utilisation conjointe de ces deux packages. | ||
+ | </note> | ||
+ | |||
+ | |||
+ | |||
+ | $\Reponse$ Le style ''programs.sty'' du package [[ctanpkg>progkeys]] permet | ||
+ | lui aussi d'utiliser des mathématiques et de mettre en gras des mots-clefs. | ||
- | \begin{Atn} | + | ------ |
- | \pack{program} doit être chargé après \pack{amsmath} lors d'une | + | //Sources:// |
- | utilisation conjointe de ces deux packages. | + | * [[http://rouxph.blogspot.com/2014/08/ecrire-des-algorithmes-en-latex.html|Écrire des algorithmes en LaTeX]] |
- | \end{Atn} | + | |
- | \reponse \pack{programs} (\ctan{macros/latex/contrib/progkeys/}) | ||
- | permet lui aussi d'utiliser des mathématiques et de mettre en gras des | ||
- | mots clés. | ||
- | \endinput | + | {{htmlmetatags>metatag-keywords=(LaTeX,pseudocode, algorithme,programmation,informatique) |
+ | metatag-og:title=(Comment mettre en page des algorithmes ou des programmes?) | ||
+ | metatag-og:site_name=(FAQ LaTeX francophone) | ||
+ | }} | ||