[Tex/LaTex] Forcing separation of content in two columns

multicoltwo-column

I've been using the multicol package lately because I was trying to typeset content in two columns and I like minimalist solutions.

However I've been having trouble trying to force content to stay in one of the two columns only. But I've seen this behavior occurring:

  • If the left column is shorter than a page, using \columnbreak is enough and it will force the rest of the content to the right column. For example: How do I force a column-break in a multi-column page?
  • If the content is longer than a page, though, using this command won't bring any results (except for the last page/part of the content). The command is ignored, and the first column will use the second until the first condition is satisfied again, i.e. the content is shorter than a page.

How can I force the content to stick to the first (left) column until \columnbreak (or a similar command) is issued and only then start at the top of the second column? Or am I using the wrong package for this sort of task?

Best Answer

You can try the paracol package.

Example:

\documentclass{article}

\usepackage[latin]{babel}  %only for the example
\usepackage{lipsum}        %only for the example

\usepackage{paracol}

\begin{document}

\begin{paracol}{2}

  \lipsum[1-2]

  \lipsum[1-2]

  \switchcolumn

  \lipsum[1-2]

\end{paracol}

\end{document}

Output:

enter image description here

You might also take a look at the CTAN topic parallel where you can find similar packages.