How to use figure and table inside a minipage in LaTeX?

If you use the figure or table environment inside a minipage, the compiler will show some error.

! LaTeX Error: Not in outer par mode.
! Undefined control sequence.

Because the figure and table are floating environments so, you can’t use them inside a non-floating environment like minipage (except document).

In this tutorial, I will show you how to use images and tables inside a minipage environment in LaTeX.

Use figure and table inside a minipage

Since the figure and table are floating environments, you can use these outside minipage, and inside the minipage use the \includegraphics or tabular environment.

\documentclass{article}
\usepackage{graphicx}
\begin{document}

\begin{figure}[h]
\centering
\begin{minipage}{0.45\linewidth}
    \centering
    \includegraphics[width=\linewidth]{CodeSpeedy-Logo.png}
    \caption{Caption}
    \label{fig:enter-label}
\end{minipage}
\end{figure}

\begin{table}[h]
\centering
\begin{minipage}{0.45\linewidth}
    \centering
    \begin{tabular}{|c|c|}
    \hline
      A  &  B \\
    \hline
      C  &  D \\
     \hline
    \end{tabular}
    \caption{Caption}
    \label{tab:my_label}
\end{minipage}
\end{table}

\end{document}

Output:

figure and table inside minipage.

Figure and table side by side with minipage

If you want to use these environments inside a minipage to place image and table side by side. In this case, you have to use the float package and [H] option with table and figure.

\documentclass{article}
\usepackage{float}
\usepackage{graphicx}
\begin{document}
\begin{minipage}{\linewidth}
  \centering
  \begin{minipage}{0.45\linewidth}
    \begin{figure}[H]
      \centering
      \includegraphics[width=\linewidth]{CodeSpeedy-Logo.png}
      \caption{Caption}
      \label{fig:enter-label}
    \end{figure}
  \end{minipage}
  \hspace{0.05\linewidth}
  \begin{minipage}{0.45\linewidth}
    \begin{table}[H]
      \centering
      \begin{tabular}{|c|c|}
        \hline
        A & B \\
        \hline
        C & D \\
        \hline
      \end{tabular}
      \caption{Caption}
      \label{tab:my_label}
    \end{table}
  \end{minipage}
\end{minipage}

Output:

figure and table side by side.

Leave a Reply

Your email address will not be published. Required fields are marked *