LaTeX Guide

LaTeX Two-Column Layout

Three ways: [twocolumn] class option, \twocolumn mid-document switch, or the multicol package for flexible column blocks.

The three approaches

1. Whole document two-column

\documentclass[twocolumn]{article}    % entire document is two-column

% IEEE conference template uses this
\documentclass[conference]{IEEEtran}  % twocolumn is set automatically

2. Mid-document switching

\documentclass{article}

\begin{document}
This is one column.

\twocolumn
This is two columns.

\onecolumn
Back to one column.
\end{document}

Both \twocolumn and \onecolumn force a page break.

3. multicol package (no page break)

\usepackage{multicol}

\begin{document}
Single column intro paragraph.

\begin{multicols}{2}
This text wraps across two columns mid-page,
without a page break. Useful for short
two-column blocks like a bullet list of items
or a quote section.
\end{multicols}

Back to single column.
\end{document}

Spanning both columns (figures and tables)

% In a twocolumn document
\begin{figure*}[t]              % * makes it span both columns
  \centering
  \includegraphics[width=\textwidth]{wide-figure.png}
  \caption{A wide figure spanning both columns.}
\end{figure*}

\begin{table*}                  % wide table
  \caption{...}
  \begin{tabular}{...}
    ...
  \end{tabular}
\end{table*}

\begin{equation*}               % wide equation (rare)
  ...
\end{equation*}

Single-column header in two-column body

% Common pattern: title block spans both columns
\twocolumn[
  \begin{@twocolumnfalse}
    \maketitle
    \begin{abstract}
      Single-column abstract...
    \end{abstract}
  \end{@twocolumnfalse}
]
% Body text follows in two columns

Customize column gap and rule

\setlength{\columnsep}{1cm}        % horizontal gap between columns
\setlength{\columnseprule}{0.4pt}  % vertical rule between columns
\renewcommand{\columnseprulecolor}{\color{black}}    % rule color

Common mistakes

  • Forgetting the * for wide floats. \begin{figure} in two-column mode stays in one column. Use \begin{figure*} to span both.
  • Putting \onecolumn right before bibliography. Causes a page break. If you want bibliography in two columns, leave it as-is.
  • multicol and floats. Floats (figure, table) don't work inside multicols — use plain images and captions, or pull the float out.
  • Imbalanced last page. Default is balanced; if you want unbalanced, use \flushcolumns or pass option to multicol.
Typst columns: one set rule
#set page(columns: 2)              // whole document
#set page(columns: 2, gutter: 1cm)  // with custom gap

// Span both columns:
#place(top, scope: "parent", float: true, [Wide figure here])
Try TypeTeX free

Frequently Asked Questions

How do I make a two-column LaTeX document?

Pass twocolumn as a document class option: \documentclass[twocolumn]{article}. The entire document renders in two columns. Most IEEE and conference templates set this automatically.

How do I switch between one and two columns mid-document?

Use \twocolumn or \onecolumn to switch. Both force a page break and start the new layout from the next page. Use this for things like a single-column abstract followed by two-column body. Or switch back to single-column for a bibliography.

How do I have flexible columns mid-page (without page break)?

Use the multicol package: \usepackage{multicol} \begin{multicols}{2} ... \end{multicols}. The {2} is the number of columns. Doesn't force a page break. Allows 2, 3, 4+ columns for the wrapped content. Mid-paragraph columns balance automatically.

How do I make a single-column section inside a two-column document?

Use \twocolumn[\maketitle] for a single-column header (like the title block in IEEE). For mid-document: \onecolumn ... \twocolumn. Or wrap content in a figure* / table* float environment — the * means 'span both columns'.

How do I make a figure span both columns in a two-column document?

Use figure* (with the asterisk): \begin{figure*}[t] \centering \includegraphics{wide.png} \caption{...} \end{figure*}. Same for table* and equation*. The * variant spans the page width instead of one column.

How do I balance the columns at the end of a multicol section?

By default multicol balances columns automatically (so they end at roughly the same height). To disable: pass [unbalanced] to the environment. To force a column break: \columnbreak inside the multicols environment.

What's the difference between multicol and twocolumn?

twocolumn is at the document/page level — entire pages are two-column. multicol works inline — wrap a paragraph in multicols and only that paragraph is multi-column. multicol is more flexible; twocolumn is required by IEEE/conference templates.

How do I add a vertical rule between columns?

With multicol: \setlength{\columnseprule}{0.4pt} adds a vertical line. \setlength{\columnsep}{1cm} controls horizontal space between columns. Same commands work in twocolumn mode.

Why does my two-column equation get cut off?

Equations don't break across columns by default. Use the multline or split environment for a long equation that needs to span multiple lines, OR use figure*/equation* to span both columns. Or shrink the equation with \resizebox or smaller display size.

More LaTeX guides