Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
3_domaines_specialises:informatique:mettre_en_page_des_algorithmes_ou_des_programmes [2020/07/25 18:38] jejust Ajout d'une référence. |
3_domaines_specialises:informatique:mettre_en_page_des_algorithmes_ou_des_programmes [2021/01/28 18:19] (Version actuelle) dbitouze Correction de lien |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
- | $\Reponse$ Le package [[ctanpkg>algorithm2e|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 | ||
- | ''SetKw'' qui permettent de rajouter facilement des mots-clés. | + | ''\SetKw'' qui permettent de rajouter facilement des mots-clés. |
Voici un algorithme écrit avec [[ctanpkg>algorithm2e]]: | Voici un algorithme écrit avec [[ctanpkg>algorithm2e]]: | ||
- | <latexdoc> | + | <code latex> |
\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>\LaTeX</latex>} | + | \caption{Comment utiliser \LaTeX{} ?} |
\Entree{un utilisateur quelconque} | \Entree{un utilisateur quelconque} | ||
- | \Sortie{un utilisateur connaissant <latex>\LaTeX</latex>} | + | \Sortie{un utilisateur connaissant \LaTeX{}} |
initialisation \; | initialisation \; | ||
Ligne 35: | Ligne 35: | ||
\end{algorithm} | \end{algorithm} | ||
\end{document} | \end{document} | ||
- | </latexdoc> | + | </code> |
Ligne 43: | Ligne 43: | ||
[[ctanpkg>algorithmic|algorithmic]] sert à décrire les algorithmes et [[ctanpkg>algorithm|algorithm]] | [[ctanpkg>algorithmic|algorithmic]] sert à décrire les algorithmes et [[ctanpkg>algorithm|algorithm]] | ||
fournit un environnement flottant semblable à ''figure'' ou ''table'' | fournit un environnement flottant semblable à ''figure'' ou ''table'' | ||
- | (cf. [[composition:flottants|les pages à propose des flottants]]). | + | (cf. [[2_composition:flottants:start|les pages à propose des flottants]]). |
Un exemple d'utilisation possible: | Un exemple d'utilisation possible: | ||
Utilisation d'[[ctanpkg>algorithm|algorithm]] | Utilisation d'[[ctanpkg>algorithm|algorithm]] | ||
- | <latexdoc> | + | <code latex> |
\documentclass{article} | \documentclass{article} | ||
\usepackage{algorithm,algorithmic} | \usepackage{algorithm,algorithmic} | ||
Ligne 66: | Ligne 66: | ||
\end{algorithm} | \end{algorithm} | ||
\end{document} | \end{document} | ||
- | </latexdoc> | + | </code> |
+ | $\Reponse$ Le package [[ctanpkg>frpseudocode]], d'Oliver Irwin, s'appuie sur [[ctanpkg>algorithmicx]] (équivalent récent des packages | ||
+ | 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 [[ctanpkg>algpseudocodex]], de Christian Matt, est lui aussi basé sur [[ctanpkg>algorithmicx]], | ||
+ | dont il reprend la syntaxe, mais il lui ajoute de nombreuses fonctionnalités. | ||
- | $\Reponse$ Il existe aussi le package [[ctanpkg>alg|alg]]. | + | $\Reponse$ Il existe aussi le package [[ctanpkg>alg]]. |
$\Reponse$ Le package [[ctanpkg>newalg|newalg]] propose un environnement | $\Reponse$ Le package [[ctanpkg>newalg|newalg]] propose un environnement | ||
''algorithm'' qui par défaut utilise le mode mathématique et | ''algorithm'' qui par défaut utilise le mode mathématique et | ||
- | l'environnement ''array'' pour les alignements. La commande ''text'' est | + | l'environnement ''array'' pour les alignements. La commande ''\text'' est |
également disponible. Le package gère les instructions : //if-then-else//, //for//, | également disponible. Le package gère les instructions : //if-then-else//, //for//, | ||
//while//, //repeat//, //switch// et propose un certain nombre de macros telles que | //while//, //repeat//, //switch// et propose un certain nombre de macros telles que | ||
//call//, //error//, //algkey//, //return//, //nil//. | //call//, //error//, //algkey//, //return//, //nil//. | ||
- | Utilisation de [[ctanpkg>newalg|newalg]] | + | Utilisation de [[ctanpkg>newalg]] |
- | <latexdoc> | + | <code latex> |
\documentclass{article} | \documentclass{article} | ||
\usepackage{newalg} | \usepackage{newalg} | ||
Ligne 94: | Ligne 100: | ||
\end{algorithm} | \end{algorithm} | ||
\end{document} | \end{document} | ||
- | </latex> | + | </code> |
Ligne 103: | Ligne 109: | ||
Utilisation de [[ctanpkg>program|program]]: | Utilisation de [[ctanpkg>program|program]]: | ||
- | <latexdoc> | + | <code latex> |
\documentclass{article} | \documentclass{article} | ||
\usepackage{program} | \usepackage{program} | ||
Ligne 123: | Ligne 129: | ||
\end{program} | \end{program} | ||
\end{document} | \end{document} | ||
- | </latexdoc> | + | </code> |
Ligne 143: | Ligne 148: | ||
- | {{htmlmetatags>metatag-keywords=(LaTeX,pseudocode, algorithme,programmation) | + | {{htmlmetatags>metatag-keywords=(LaTeX,pseudocode, algorithme,programmation,informatique) |
metatag-og:title=(Comment mettre en page des algorithmes ou des programmes?) | metatag-og:title=(Comment mettre en page des algorithmes ou des programmes?) | ||
metatag-og:site_name=(FAQ LaTeX francophone) | metatag-og:site_name=(FAQ LaTeX francophone) | ||
}} | }} | ||