Algorithmes et pseudo-code
Placez le pseudo-code dans un environnement algorithm avec un \caption pour obtenir « Algorithme 1 » ; à l’intérieur, Scissor LaTeX ne lit les commandes en majuscules d’algorithmic (\STATE, \FOR) que dans les mises en page de conférence : pour les autres documents, mettez les étapes dans un bloc verbatim.
L’environnement algorithm
Le package algorithm fournit un environnement numéroté pour le pseudo-code, comme une figure : un \caption lui donne un numéro (« Algorithme 1 »), et un \label placé après la légende permet d’y renvoyer avec \ref. Dans Scissor LaTeX, l’algorithme reste là où vous l’écrivez et sa légende est placée en dessous.
Ce que vous mettez à l’intérieur dépend du package choisi pour les étapes, et c’est là que la prise en charge varie :
| Package | Commandes | Dans Scissor LaTeX |
|---|---|---|
| algorithm | environnement algorithm, \caption, \label | Fonctionne : « Algorithme N » numéroté, légende en dessous. |
| algorithmic | \STATE, \IF, \FOR, \WHILE, \RETURN ... (majuscules) | En partie : lues uniquement dans les documents avec une mise en page de conférence ; ailleurs, ce sont des commandes inconnues. |
| algpseudocode (algorithmicx) | \State, \If, \For, \EndFor, \Return ... | Non pris en charge : ignorées avec un message, et les étapes se suivent sur une seule ligne. |
| algorithm2e | \KwIn, \For{..}{..}, \eIf ... | Non pris en charge : ignorées avec un message. |
Du pseudo-code qui fonctionne partout
Le moyen le plus fiable d’afficher du pseudo-code dans n’importe quel document Scissor LaTeX est un bloc verbatim à l’intérieur de algorithm. Vous gardez le numéro et la légende, et les lignes conservent leur indentation.
Un algorithme avec des étapes en verbatim
\begin{algorithm}
\caption{Sum of a list}
\label{alg:sum}
\begin{verbatim}
s := 0
for each a in xs:
s := s + a
return s
\end{verbatim}
\end{algorithm}
Algorithm~\ref{alg:sum} adds the numbers of a list.Pour du pseudo-code avec des formules, un lstlisting fonctionne de la même façon ; vous pouvez aussi écrire les étapes comme du texte ordinaire hors de l’environnement algorithm, sous forme de liste numérotée.
Les étapes en liste numérotée, avec des maths
\textbf{Input:} numbers $a_1, \dots, a_n$.
\begin{enumerate}
\item Set $s \gets 0$.
\item For $i = 1, \dots, n$: set $s \gets s + a_i$.
\item Return $s$.
\end{enumerate}algorithmic dans les mises en page de conférence
Les mises en page qui imitent celles des conférences (arXiv, IEEE, NeurIPS, ICML et les autres) lisent les commandes en majuscules du package algorithmic : les mots-clés comme for, do, end for et return sont en gras, et chaque commande commence une nouvelle ligne. Les numéros de ligne ne sont pas affichés et les lignes sont centrées. L’onglet Problèmes indique la mise en page utilisée.
algorithmic dans un document de style arXiv
\documentclass{article}
\usepackage{arxiv}
\usepackage{algorithm,algorithmic}
\begin{document}
\begin{algorithm}
\caption{Sum of a list}
\begin{algorithmic}
\STATE $s \gets 0$
\FOR{$i = 1$ to $n$}
\STATE $s \gets s + a_i$
\ENDFOR
\RETURN $s$
\end{algorithmic}
\end{algorithm}
\end{document}
Onglet Problèmes : Layout in the style of the arXiv preprint style (final mode). Not official. To compile elsewhere, add arxiv.sty from github.com/kourgeorge/arxiv-style.
algpseudocode n’est pas pris en charge
algpseudocode, le package le plus courant dans les articles récents, utilise des commandes en casse mixte comme \State et \EndFor. Scissor LaTeX ne les connaît pas : leurs noms sont ignorés, les formules et les mots sont conservés, et tout se suit sur une seule ligne. L’onglet Problèmes liste les commandes ignorées.
algpseudocode : les étapes se suivent sur une ligne
\begin{algorithm}
\caption{Sum of a list}
\begin{algorithmic}[1]
\State $s \gets 0$
\For{$i = 1$ to $n$}
\State $s \gets s + a_i$
\EndFor
\State \Return $s$
\end{algorithmic}
\end{algorithm}Onglet Problèmes : Skipped 4 unknown commands: \State, \For, \EndFor, \Return
Si le document doit fonctionner à la fois ici et dans une installation TeX, écrivez les étapes en verbatim comme ci-dessus : cela se compile partout.
Différences avec une installation TeX
La page du package est algorithm, algorithmic et algpseudocode. Les manuels se trouvent sur CTAN : algorithms, algorithmicx et algorithm2e.
Voir aussi packages d’algorithmes, Listings de code et Mises en page de conférence.
Questions et réponses
Comment écrire un algorithme en LaTeX ?
Utilisez l’environnement algorithm avec un \caption, et placez les étapes à l’intérieur. Dans Scissor LaTeX, les étapes fonctionnent le mieux dans un bloc verbatim, ou avec les commandes \STATE d’algorithmic dans une mise en page de conférence.
Pourquoi mes lignes \State se suivent-elles sur une seule ligne ?
\State vient d’algpseudocode, que Scissor LaTeX ne prend pas en charge. Les noms de commandes sont ignorés, et les étapes se rejoignent donc sur une ligne. Utilisez plutôt verbatim pour les étapes.
Puis-je renvoyer à un algorithme par son numéro ?
Oui. Placez \label{alg:name} après le \caption et écrivez Algorithm~\ref{alg:name}.
Chaque exemple de cette page est composé par Scissor LaTeX lors de la génération du site. Dernière mise à jour : 2026-11-07.