17

In my case the figure disappears.

\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{multicol}
\usepackage{lipsum}
\usepackage{tikz}
\begin{document}
\begin{multicols}{2}
\lipsum[1]

\begin{figure}
  \begin{tikzpicture}
    \draw circle (1);
  \end{tikzpicture}
  \caption{Figure in two column}
\end{figure}

\lipsum[2]
\end{multicols}
\end{document}
19

If you want a figure with the width of a single column, and don't need it to float, you can also use the \begin{figure}[H] option of the float package to place it explicitly:

\documentclass[a4paper]{article}
\usepackage{multicol}
\usepackage{lipsum}
\usepackage{tikz}
\usepackage{float}
\begin{document}

\begin{multicols}{1}
\lipsum[1-3]
\begin{figure}[H]
  \centering
  \begin{tikzpicture}
    \draw circle (1);
  \end{tikzpicture}
  \caption{Figure in two column}
\end{figure}
\lipsum[3-4]
\end{multicols}
\end{document}

single column figure

  • how could I insert the same figure but along the space of the two column? – Wathiq Zayed Oct 21 '15 at 13:31
10

You should get a warning, printed to the .log file:

Package multicol Warning: Floats and marginpars not allowed inside `multicols' environment!.

However, you could use figure*. See section 2.4 Floats inside a multicols environment in the multicol documentation.

Within the multicols environment the usual star float commands are available but their function is somewhat different as in the twocolumn mode of standard LaTeX. Starred floats, e.g., figure*, denote page wide floats that are handled in a similar fashion as normal floats outside the multicols environment. However, they will never show up on the page where they are encountered.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.