! 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