Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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}
share|improve this question
    
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
add comment

4 Answers

up vote 7 down vote accepted

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.

share|improve this answer
    
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
1  
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
add comment

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.

share|improve this answer
    
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
add comment

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

share|improve this answer
add comment

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.

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.

share|improve this answer
2  
Welcome to TeX.SX! –  Heiko Oberdiek Aug 25 '13 at 17:03
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.