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


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?

  • 5
    Have you looked into using the float package? Commented Nov 29, 2010 at 14:18
  • Yes, thank you, it does work. I'll put this as an answer.
    – Konstantin
    Commented Nov 29, 2010 at 15:11

3 Answers 3


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


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

See also: "float" package reference.

  • 4
    Add \floatname{algorithm}{Algorithm} to capitalise the float name.
    – badroit
    Commented Nov 11, 2013 at 5:19

The LaTeX Wikibook section on algorithms explains this very nicely:

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.


Just importing the float package and keeping the optional float argument makes the algorithm float. E.g.,



Replace [t] with [b] if needed.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .