[Tex/LaTex] ‘flushend’ vs ‘balance’ for two-column balancing – what’s the difference

packagestwo-column

There are (at least) two packages you can use to balance a two-column document's column length on the last page: balance and flushend.

Other than the superficial difference of balance requiring an explicit \balance command to be invoked – what are the differences between these two packages? Why was the later package (flushend) conceived when the earlier one exists?

Best Answer

An important difference between the two packages is in the handling of footnotes on the last page. Neither shines at the job, but flushend issues a decent result when balance's is incomprehensible. I think It's better to use the former.

The same two pages using the two packages. First with flusheend.

enter image description here enter image description here

Second with balance.

enter image description here enter image description here

The code

\documentclass[11pt, a4paper, twocolumn]{article}
\usepackage[top=105pt, bottom=75pt, left=75pt, right=75pt]{geometry}
\usepackage{amsmath, amssymb, amsthm}
\usepackage{xcolor}
\usepackage{tikz}

\usepackage{flushend}
% \usepackage{balance}
\usepackage{lipsum}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newtheorem{thm}{Theorem}[section]
\newtheorem{lem}[thm]{Lemma}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\title{A twocolumn document}
\author{flushend}
% \author{balance}
\date{}

\begin{document}
\maketitle

\lipsum[1]


 
\section{Using either \texttt{balance} or \texttt{flushend}}

\lipsum[2]
\begin{thm}
  \lipsum[3]
\end{thm}

\lipsum[4]

Consider the following drawing\footnote{\lipsum[21]}.
\begin{figure}[ht!]
  \centering
  \begin{tikzpicture}
    \draw[thick, fill=blue!50] (0, 0) rectangle (3, 8);
    \draw[thick, fill=orange!70, rotate=10] (0, 0) rectangle (3, 8);
  \end{tikzpicture}
  \caption{Rectangles and colors}
  \label{fig:rc}
\end{figure}

\lipsum[5]

% \balance

As a consequence, we have\footnote{Well, well!  It appears in an
  unexpected place.}

\begin{lem}
  \lipsum[6]
\end{lem}

\end{document}