Producing better looking multi-column documents with LaTeX

I’ve been using LaTeX to produce documents with two columns of text for some time now. Using two instead of one column of text improves readability because the eye doesn’t need to track long lines, and makes pages look better. All newspapers that I know of and many scientific journals use it. A two column-layout is easy to use in LaTeX, in principle you could add the twocolumn option to the document class, but using the multicol package gives you more flexibility because it allows you to switch between a single column of text and two columns (or more) of text in the document on the fly.

Unfortunately, LaTeX doesn’t produce good looking two column text by default. LaTeX often creates huge white space between paragraphs in order to get the two columns at the same length, which makes the document look bad. The problem is that by default the section heading (I only use two columns in articles, which contain only section headings) which is larger than ordinary lines. The white space before and after the section heading is not as large as the ordinary lines either. I found a solution for this in the manual of the memoir class on page 358 (in the version which was last changed at 12-03-2010). The code is as follows:

\setsecheadstyle{\normalfont\bfseries}
\setbeforesecskip{-\onelineskip}
\setaftersecskip{\onelineskip}

This way, the section heading is of the same size as an ordinary line, as is the white space before and after the section heading. If this code is implemented, the difference will be very noticeable, but there still is a subtle problem with white space between paragraphs. It can be seen in this document. I didn’t know how to fix this, so I consulted the experts. It turns out the following code is necessary:

\setlength{\parskip}{0pt}

This removes the rubber length between paragraphs. The resulting document can be seen here, along with it’s source. A difference is only visible on the first page though. When implementing these modifications, you will notice that the height of all lines of text in your two columns match exactly. It looks awesome, your document could easily pass as an article from a scientific journal now. Of course it gets a bit more complicated if you don’t want the white space before and after the section headings to equal one line, but that’s a problem to solve for another day.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top