# How do I prevent \section from breaking vwcol?

Here is a minimal example that works:

\documentclass{article}
\usepackage[english]{babel}
\usepackage{vwcol}
\usepackage{lipsum}

\begin{document}
\begin{vwcol}[widths={0.6,0.4},sep=1.0cm,justify=flush,rule=0pt,indent=1em]
\lipsum[1-3]
\end{vwcol}
\end{document}


But when I add \section, things get messed up:

\documentclass{article}
\usepackage[english]{babel}
\usepackage{vwcol}
\usepackage{lipsum}

\begin{document}
\begin{vwcol}[widths={0.6,0.4},sep=1.0cm,justify=flush,rule=0pt,indent=1em]
\section{A Section Header}
\lipsum[1-3]
\end{vwcol}
\end{document}


My guess is that \section is somehow asserting its width (and thus the first column's width) across the whole page, while the second column continues to compute its width based on the erroneous first's.

How can I fix this?

• In fact, the itemize environment appears broken too, each item not respecting the column's width, but simply overflowing (presumably to the article width). – Andrew Cheong Jul 27 '17 at 5:54
• I suspect vwcol is a bit fragile. I give it kudos for handling the paragraph breaking between two widths. – John Kormylo Jul 27 '17 at 12:30
• The package documentation actually says that you can't stick stuff in besides text. – JPi Jul 27 '17 at 16:56

## 1 Answer

I ended up going with minipage. Unfortunately it meant manually splitting up the content between two columns, rather than flowing, but it works.

More information at Two-column list: different column widths.