TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am trying to use the algorithm command to display an algorithm that spans two columns in a two column document. However, I am getting an error message with \prevdepth that I do not understand. Below is a minimal example that illustrates the problem. Note that this example uses the sigplanconf.clf class file:



\title{a title } 

\authorinfo{an author}


\section{a section }

a long line of text goes here that will take up too much space and need to span columns


If I run latex with algorithm instead of algorithm* (note the difference with *) I do not get any error messages. However the algorithm text gets mixed with text in the right hand column.

However, if I use algorithm* I get the following error message that I do not understand:

! Improper \prevdepth. <recently read> \prevdepth 
                            \subfig@end@float ...-\@Miv \@tempdima \prevdepth 
                                                  \vbox {}\prevdepth \@tempd...

\end@dblfloat ...\expandafter \@gobble \end@float 
                                                  \fi \else \end@float \fi  \end #1->\csname end#1\endcsname 
                                 \@checkend {#1}\expandafter \endgroup \if@e... l.291 \end{algorithm*}
                       ?  ! Emergency stop. <recently read> \prevdepth 
                            \subfig@end@float ...-\@Miv \@tempdima \prevdepth 
                                                  \vbox {}\prevdepth \@tempd...

\end@dblfloat ...\expandafter \@gobble \end@float 
                                                  \fi \else \end@float \fi  \end #1->\csname end#1\endcsname 
                                 \@checkend {#1}\expandafter \endgroup \if@e... l.291 \end{algorithm*}

I guess there is some conflict with the combination of subfigure fixltx2e and algorithm because when I was creating an example to illustrate the problem I found that if I removed either fixltx2e or subfigure the problem disappeared. So I will check my paper to see if I need both of those packages (I'm helping with editing so I'm not sure if they are needed). But if anyone happens to look at this example and understands what is causing the error I would be interested in understanding the root cause.

share|improve this question

closed as too localized by cmhughes, Werner, Heiko Oberdiek, Kurt, percusse Nov 29 '12 at 4:38

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

Can you work out a minimal example we can play with? – egreg Nov 28 '12 at 22:56
As egreg mentioned, we need a minimal example; the following simple test document doesn't produce any errors: \documentclass[twocolumn]{article} \usepackage{algorithm} \usepackage{algpseudocode} \begin{document} \begin{algorithm*} \begin{algorithmic} \State x \end{algorithmic} \end{algorithm*} test \end{document}. – Gonzalo Medina Nov 28 '12 at 22:58
okay I'll work on getting a minimal example together. – Gabriel Southern Nov 28 '12 at 23:06
You get that error for trying to read \prevdepth when you are in horizontal (LR) rather than vertical mode \hbox{\dimen0=\prevdepth} being the simplest thing. So it is presumably related to your float layout (subfig?) – David Carlisle Nov 28 '12 at 23:12
The problem seems to be with the (obsolete) package subfigure; you may try with \usepackage[caption=false]{subfig} in its place, changing the \subfigure or \subtable commands into \subfloat. – egreg Nov 28 '12 at 23:50

Browse other questions tagged or ask your own question.