I would like to put one algorithm inside one enumerated list like in the following code.
\documentclass[10pt,a4paper]{article}
\usepackage[utf8x]{inputenc}
\usepackage{ucs}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[ruled,french]{algorithm2e}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\begin{enumerate}
\item Bla, bla...
\begin{algorithm}[H]
\caption{Le crible d'Eratosthène}
\KwData{la liste $L$ des naturels compris de $2$ à $N$.}
\KwResult{la liste $P$ des nombres premiers compris entre $2$ et $N$.}
\BlankLine
\For{$i = 2$ \KwTo $N$}{
\If{$i$ n'est pas barré dans la liste $L$}{
Barrer dans la liste $L$ les mutltiples $ki$ où $k \geq 2$.
}
}
\Return{la liste $P$ des nombres non barrés.}
\end{algorithm}
\item Bla, bla...
\end{enumerate}
\end{document}
The problem I met is that I obtain the following output where the algorithm is misplaced (or too width).
If someone can give one solution with the algorithm centered regarding to the page, and not to the item content, it would be great.
Best Answer
The main problem is that
algorithm2e
uses\hsize
in its macros, which is not recommended.You can probably solve the issue by saying
but I can't guarantee that this has no side effects.
Alternative way, using the full line width: define an
listalgorithm
environment to be used inside listsFinal comment. I would avoid with all my strengths to place an algorithm inside an
enumerate
oritemize
environment.