64
votes

IEEE conference publications in two-column format require authors to manually equalize the lengths of the columns on the last page of the final submission. I have typically done this by inserting a \newpage where necessary -- which usually ends up being somewhere amidst my (manually entered) references.

However, I have recently begun using BibTeX to manage references, and have now run into a problem: my last page contains only a few (generated) references, and I can't figure out how to manually equalize the columns.

The last page is the tail end of what is generated by:

\bibliographystyle{IEEEtran}
\bibliography{IEEEabrv,library}

Any ideas on how I can equalize the columns while continuing to use BibTeX?

5

5 Answers

112
votes

I have submitted to both ACM and IEEE conferences and the easiest thing for me has been using:

\usepackage{flushend}

I've heard it doesn't always work well, but it's been great for me

http://www.ctan.org/pkg/flushend

40
votes

I went back to RTFM again, and it turns out this is addressed right in "How to Use the IEEEtran LaTeX Class" by Michael Shell (maintainer). Section XIV notes that IEEEtran helpfully provides the \IEEEtriggeratref{} command for just this purpose. By default, it fires a \newline at the given BibTeX reference number. You can even change the command to fire with \IEEEtriggercmd{}.

11
votes

It can also be done by using the balance package. You simply include the balance package in the preamble (\usepackage{balance}) and insert \balance some place on the last page of your document (for instance right in front of the references). However, I'm not sure if it's working if the last page (both columns) is completely full of references...

5
votes

IEEE requires authors to equalize the lengths of the columns on the last page.

ACM makes us do this too. I just wind up inserting \vfill\break by hand either in the main text or somewhere in the .bbl file, wherever it makes the columns balance. By the time camera-ready copy goes to ACM, they want the .bbl file inlined by hand anyway, so tinkering by hand does not present an additional hardship.

The reference-number trick might be nice except I never use numbered references :-)

The multicols environment works only if you're luck and your last page comes out exactly as bibliography.

It would be extremely good (and not so difficult) if some enterprising hacker would build the "balance the two columns in the last page" functionality straight into LateX's \output routine. The flexibility is there in the underlying engine, and it would make a lot of people happy.

1
votes

Not sure if multicol conflicts with bibtex at all, and I don't have time to check, sorry. But try this:

use the multicol package:

\usepackage{multicol} in your preamble, then:

\begin{multicols}{2}
\bibliographystyle{IEEEtran}
\bibliography{IEEEabrv,library}
\end{multicols}

Multicol automatically balances columns. I would recomend using it through out your document, instead of using the .cls or .sty's twocolumn option.