! LaTeX Error: Not in outer par mode.
comes when some “main” document feature is shut up somewhere it doesn’t like.
The commonest occurrence is when the user wants a figure somewhere inside a table:
\begin{tabular}{|l|}
\hline
\begin{figure}
\includegraphics{foo}
\end{figure}
\hline
\end{tabular}
a construction that was supposed to put a frame around the diagram, but doesn’t work, any more than:
\framebox{\begin{figure}
\includegraphics{foo}
\end{figure}%
}
The problem is, that the tabular environment, and the
\framebox command restrain the figure environment
from its natural métier, which is to float around the document.
figure environment
here:
\begin{tabular}{|l|}
\hline
\includegraphics{foo}
\hline
\end{tabular}
What was the float for? — as written in the first two examples, it serves no useful purpose; but perhaps you actually wanted a diagram and its caption framed, in a float.
It’s simple to achieve this — just reverse the order of the environments (or of thefigure environment and the
command):
\begin{figure}
\begin{tabular}{|l|}
\hline
\includegraphics{foo}
\caption{A foo}
\hline
\end{tabular}
\end{figure}
The same goes for table environments (or any other sort
of float you’ve defined for yourself) inside tabulars or box commands;
you must get the float environment out from inside, one way or
another.
This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ouparmd