# Floating an algorithm?

I'm typesetting an algorithm using the algorithmx package as follows:

\begin{algorithm}
\caption{\textsc{Whatever}}
\begin{algorithmic}[1]
...
\end{algorithm}


However, I would like it to float like a figure. If I replace \begin{algorithm} with \begin{figure} it does float as I like, however, the caption does not look as pretty any more (I presume it is redefined by a sig-alternate class I am using for the whole document).

Is it possible to have both a nice caption and floating behaviour at the same time?

-
Have you looked into using the float package? –  Harald Hanche-Olsen Nov 29 '10 at 14:18
Yes, thank you, it does work. I'll put this as an answer. –  Konstantin Nov 29 '10 at 15:11

Thanks to Harald's advice I found the following two-line solution to my problem:

\usepackage{float}
\newfloat{algorithm}{t}{lop}


This was sufficient to make all my algorithm blocks to float exactly as I needed them to.

Add \floatname{algorithm}{Algorithm} to capitalise the float name. –  badroit Nov 11 '13 at 5:19
The algorithmicx package provides a number of popular constructs for algorithm designs. Put \usepackage{algpseudocode} in the preamble to use the algorithmic environment to write algorithm pseudocode (\begin{algorithmic}...\end{algorithmic}). You might want to use the algorithm environment (\usepackage{algorithm}) to wrap your algorithmic code in an algorithm environment (\begin{algorithm}...\end{algorithm}) to produce a floating environment with numbered algorithms.
Meaning, you only need to add \usepackage{algorithm} and your code snippet will be rendered as a floating figure.