LaTeX

LaTeX Two Columns and multicol: Column Layouts, Column Breaks and Figures

When to use the twocolumn class option, when to use multicol, and how to keep figures from disappearing.

MZ
Dr. Meng Zhao|Physician-Scientist · Founder, LabCat AI
Published: October 2026•7 min read•LaTeX

There are two ways to get columns in LaTeX. The twocolumn class option sets the whole document in two columns, the way most conference templates do. The multicol package lets you switch between one, two or more columns on the same page.

Short answer

For a whole document, use \documentclass[twocolumn]{article}. For part of a page, load multicol and wrap the text in \begin{multicols}{2} ... \end{multicols}. Normal floating figures do not work inside multicols; use figure* or a non-floating figure.

The whole document in two columns

\documentclass[twocolumn]{article}
\title{A Two-Column Paper}
\author{A. Author}
\begin{document}
\maketitle
\section{Introduction}
Text flows down the left column, then the right.
\end{document}

To put a full-width abstract under the title, pass both to the optional argument of \twocolumn. Everything in the brackets is set across the page before the columns start:

\documentclass[twocolumn]{article}
\title{A Two-Column Paper}
\author{A. Author}
\begin{document}
\twocolumn[
  \begin{@twocolumnfalse}
    \maketitle
    \begin{abstract}
    A full-width abstract.
    \end{abstract}
  \end{@twocolumnfalse}
]
\section{Introduction}
Text in two columns.
\end{document}

If the journal provides a class (IEEEtran, the ACM acmart class, and others), use its own commands instead; they handle the title block for you. \onecolumn and \twocolumn switch layout mid-document, but each starts a new page.

Columns for part of a page with multicol

multicol balances the columns at the end of the environment, so a short list or a section can sit in columns on an otherwise normal page:

\documentclass{article}
\usepackage{multicol}
\setlength{\columnsep}{1cm}
\setlength{\columnseprule}{0.4pt}
\begin{document}
This paragraph spans the full width.
\begin{multicols}{3}
This text is set in three columns with a 1\,cm gap and a thin rule
between them.
\columnbreak
This starts the second column.
\end{multicols}
Back to full width.
\end{document}
  • \columnbreak forces the next text into the next column.
  • \columnsep sets the gap and \columnseprule draws a vertical line.
  • multicols* (with a star) fills each column before starting the next instead of balancing them. It only works in the main text, not inside boxes.

Figures and tables in columns

In a twocolumn document, figure and table fit one column, and figure* and table* span both. Starred floats can only go at the top of a page (or the bottom, with the stfloats package).

Inside multicols, ordinary floats are not allowed. LaTeX does not stop with an error; it prints the warning "Floats and marginpars not allowed inside multicols environment" and the figure is lost. Use a non-floating figure instead, either with the float package and the [H] option, or a \captionof from the caption package:

\documentclass{article}
\usepackage{multicol}
\usepackage{float}
\begin{document}
\begin{multicols}{2}
Some text.
\begin{figure}[H]
\centering
\rule{0.8\linewidth}{2cm}
\caption{A figure that stays in its column.}
\end{figure}
More text.
\end{multicols}
\end{document}

Replace the \rule with your \includegraphics[width=\linewidth]{file} (graphicx package). Use \linewidth, not \textwidth, so the image fits the column.

Columns of different widths

multicol makes equal columns. For a narrow sidebar beside a wide column, put two minipage environments side by side (their widths should add up to slightly less than \textwidth), or use the paracol package for text that runs in parallel across pages, such as a translation.

Frequently Asked Questions

How do I make two columns in LaTeX?

Use \documentclass[twocolumn]{article} for the whole document, or the multicol package with \begin{multicols}{2} for part of it.

Why did my figure disappear inside multicols?

Floats are not allowed inside multicols and are dropped with a warning. Use \begin{figure}[H] with the float package, or figure* outside the environment.

How do I force a column break?

Use \columnbreak inside multicols. In a twocolumn document, \newpage moves to the next column.

More LaTeX Guides

MZ

Written by Dr. Meng Zhao

Physician-Scientist · Founder, LabCat AI

MD · Former Neurosurgeon · Medical AI Researcher

Dr. Meng Zhao is a former neurosurgeon turned medical-AI researcher. After years in the operating room, he moved into applied AI for clinical workflows and now leads LabCat AI, a medical-AI company working on decision support and research tooling for clinicians. He built Journal Metrics as a free resource for researchers who need reliable journal metrics without paid database subscriptions.

Related Articles