Welcome to the UK List of
TeX Frequently Asked Questions
on the Web

Searching

The index of Frequently Asked Questions about TeX is searchable.

Please enter your keyword here:   then press here: ,    or:
Google

Not in outer par mode

The error:

! 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.

The solution is simply not to use the 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 the figure 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.


Go to previous question, or next question

Go to FAQ home.

URL for this question: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ouparmd

Comments, suggestions, or error reports? - see “how to improve the FAQ”.

This is FAQ version 3.28, released on 2014-06-10.