# How to balance last page of two-column layout?

I create a document in two-column-layout with LaTeX (and Koma-Script, if that is relevant). The two-column-layout is defined in documentclass. The last page of an chapter fills the left column first - the result is that both column are of different length. How can I balance that?

EDIT: flushend like mentioned in the answer of TH. doesn't work for me. Maybe it is conflicting with some other package I use?

EDIT 2: OK, after I tested with lipsum like suggested from Joseph Wright I saw it balanced. I tried a little bit and could find out, that flushend only balances the columns in the last chapter, not in all of them. Knowing that, I could see, that it is true for my document too, the last chapter has balanced columns. How can I achieve it for all of them? Here my short example:

\documentclass[a4paper, 10pt, twocolumn, DIV=18]{scrbook}

\usepackage{flushend}
\usepackage{lipsum}

\begin{document}

\chapter{test}

\lipsum
\lipsum

\chapter{second}

\lipsum
\lipsum

\chapter{third}

\lipsum
\lipsum

\end{document}

• This post about two-column layout might also be of interest to you. – Hendrik Vogt Nov 23 '10 at 8:52
• Please post a compilable example: Will's comment below suggests that the flushend solution should work. You can use the lipsum package for filler text in an example. – Joseph Wright Nov 23 '10 at 9:35
• @Joseph Wright: Hmm, the example I produce with \lipsum works. I have to take a look what breaks it. – Mnementh Nov 23 '10 at 9:47

## 5 Answers

You can also use \usepackage{multicol} and use the \begin{multicols}{x} environment where x is the amount of columns. They will automatically align themselves according to what you want.

• I don't get it working, I miss the multicols-package. Any idea, how the package is named under Ubuntu Maverick, which contains it? – Mnementh Nov 23 '10 at 10:08
• The environment is called multicols, but the package's name is multicol (without "s"). I corrected your answer. – lockstep Nov 23 '10 at 16:50
• With locksteps addition I got it working. It is a little bit work, because I have to include each chapter into it's own multicolumn-block, but it works. Thanks. – Mnementh Nov 23 '10 at 18:55

I'm not sure about Koma-Script in particular, but I've had reasonably good luck using the flushend package with a variety of conference-provided document classes. The use is pretty simple:

\usepackage{flushend}


and that's all it takes. There can occasionally be issues with pdf links being broken across columns.

• I'd forgotten about this particular package. In a quick test, it does indeed seem to work with Koma-Script. – Will Robertson Nov 23 '10 at 8:07
• This doesn't work for me. – hadi Oct 3 '14 at 3:52
• This does balance the bibliography (references) as well out-of-the-box. – alexei Mar 27 '16 at 16:57
• This is a dangerous package: it can make lines overlap in order to balance the columns. I recommend it should only be deployed at the very final stage of typesetting and every page checked. – Hugh Jun 9 '16 at 14:45
• Then use this command as needed: '\flushcolsend' This macro switches on column balancing on the current page. – McGafter Oct 26 '17 at 9:44

\usepackage{balance} in the beginning of the latex document, and then add \balance somewhere in the left column text of the last page.

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.

• This one also works with \clearpage – Cimbali Aug 6 '15 at 17:08
• Moderator tag about giving long answers with explanation and context is invalid. The answer is perfect – Hamman Samuel Feb 22 '18 at 7:38

Neither flushend nor balance environment works for me w/o or with lipsum; when I use them either nothing happens or the last page disappears. Since most of the papers I work with contain floats, multicols environment is unacceptable to me, because dealing with the balancing of columns is much easier than dealing with messed up floats. It takes only several minutes to ballance the last page manually by using \addtolength{height}{-x}, where:

x=((height of the residual vertical white space in the last column)/2).

Note that \addtolength needs to be entered just before the last page, so that only both columns of the last page are redefined as having a different height.

If the balancing gives any micro-problems you can fine tune it entering n \vspace{y} commands between items or paragraphs in either of the left or right column, where: n is the number of items in the selected column and

y=((height of the vertical micro-adjustment)/n).

Finally, if you need to balance columns on some other page, where multicolumn didn't work properly, you can do it by using \vbox{text you don't want to brake} on the shorter column or using \newpage and \hspace{} on the longer column.

• When I try to use \addtolength I get an "You can't use the letter h after \advance" error. Any ideas? – Bryan P Sep 13 '14 at 7:08
• Probably means \textheight instead of height. But it does not work for me. – ibid Aug 21 '17 at 11:50

## A solution for RevTeX 4.1

I had the same problem with a RevTex paper, and the solutions proposed in the other answers failed to work, probably because RevTeX has its own way to manage columns.

Adding \onecolumngrid at the end of the the paper (after the bibliography in my case) balances the columns.

• RevTeX uses the ltxgrid package under the hood. – krlmlr Sep 8 '18 at 15:12