How to Fix “Not in Outer Par Mode” When Adding a Table to a CV
At a glance
- 1. Find the float
Look for a table environment surrounding your tabular, especially inside a minipage, parbox, or CV layout box.
- 2. Remove the wrapper
Keep the tabular grid, but remove the table float when the content is inside a restricted box.
- 3. Add a caption if needed
Use captionof from the caption package for a non-floating caption.
- 4. Compile and check
Compile again, then check the CV layout and adjust column widths or spacing.
The message “Not in outer par mode” usually means LaTeX found a floating environment where floats are not allowed. In a CV, that often happens because the template puts content inside a minipage, parbox, or another layout box.
For a CV table that should stay in a specific position, you generally do not need a float. Use tabular by itself; it makes the grid of cells but does not try to move the grid elsewhere on the page.
table and tabular do different jobs
A tabular environment typesets rows and columns. A table environment is a float: LaTeX may move its contents to another position and can add a caption and number. A typical standalone table therefore looks like this:
\begin{table}
\centering
\begin{tabular}{ll}
Name & Role \\
Ada & Designer \\
\end{tabular}
\caption{Team members}
\end{table}
That structure is suitable in the main document body, but not inside many CV layout boxes. For a table embedded in a CV section, remove the outer table and retain the tabular:
\begin{tabular}{@{}p{2.5cm}p{9cm}@{}}
2022--2024 & Research assistant, Example University \\
2020--2022 & MSc in Example Studies, Example University \\
\end{tabular}
The p{...} columns give each column a fixed width and allow its text to wrap. The @{} parts remove the usual extra padding at the left and right edges.
Complete minimal example
This example compiles with standard LaTeX and shows a table-like CV entry inside a minipage. It uses the article class so you can test the structure without needing a particular CV template.
\documentclass{article}
\begin{document}
\section*{Experience}
\noindent
\begin{minipage}{\linewidth}
\begin{tabular}{@{}p{2.5cm}p{\dimexpr\linewidth-2.5cm-2\tabcolsep\relax}@{}}
2022--2024 & Research assistant, Example University.\\
2020--2022 & MSc in Example Studies, Example University.\\
\end{tabular}
\end{minipage}
\end{document}
There is deliberately no \begin{table} or \end{table}. The minipage holds the content as a single box, and tabular lays out the entries inside it. The second column width is calculated from the available line width after allowing for the 2.5 cm date column and the intercolumn padding.
If you need a caption
A CV entry usually does not need a numbered table caption. If you do need one while keeping the content in a box, load the caption package and use its non-floating command:
\usepackage{caption}
% In the document, next to the tabular:
\captionof{table}{Selected publications}
Place \captionof{table} where the caption should appear. It prints a caption without creating a floating table environment, so LaTeX does not try to move the content.
How to find the offending environment
Search the source around the line reported in the error for \begin{table}. Then inspect the surrounding code for an enclosing minipage, \parbox, tabular, or a CV-specific command that builds content in a box. The float may be several lines away from the error location, because LaTeX reports where it detects the problem rather than necessarily where the problematic structure began.
If you are using a CV class or template, check its example files to see whether it expects plain text, a tabular, or a particular macro. Some CV commands already create boxes or columns; adding another table float inside them can trigger the error. Keep the template’s outer layout, but use non-floating content inside it.
Common mistakes
- Keeping the
tablewrapper: Replacing only the contents does not help if\begin{table}is still inside the restricted context. Remove both\begin{table}and its matching\end{table}. - Confusing the grid with the float:
tabularcreates the grid;tablemakes it a float. A CV often needs the former, not the latter. - Trying a placement option: Adding
[h],[htbp], or[H]does not make a float legal inside a box. These options affect placement, not whether nesting is allowed. - Using
longtableinside a box:longtableis designed to break across pages, so it cannot work inside aminipageor another unbreakable box. Use ordinarytabularfor a short CV block, or restructure the layout if the content must span pages.
References
Spotted an error? Send a correction. Read how we write and check articles in our editorial policy.