I am looking for a better way to balance columns at the end of each chapter of a two-column layout.
I have found several relevant approaches:
use
\documentclass[onecolumn]{memoir}and\usepackage{multicols}, then wrap the content of each chapter with amulticolenvironment. This has proven mostly successful, but doesn't allow column floats and does some strange things with the vertical space at the top of the environment. I find myself using\noindentand negative\vspaceto align text at the beginning when needed... as at the beginning of a chapter if the first element is a\section.use
\documentclass[twocolumn]{memoir}and\usepackage{balance}, with a\balancecommand in the first column of the last page of each chapter. This should do a better job of the two-column layout, including allowing column floats and correctly aligning text at the start of the chapter. It will cause some complications for me because the documents are machine-generated and I am trying to avoid manual intervention for predictable situations. Also, I will note that when I actually tried this, very bad things happened (apparently an infinite loop).use
\documentclass[twocolumn]{memoir}and\usepackage{flushend}, but that applies only to the end of the document, and not the other chapter ends.\flushcolsenddoes not seem to be recognized in my deployment (TexLive 2013, looks like), so I have not been able to test that.
I have found Balance/flush columns at the end of each chapter in twocolumn layout of course, but that was two and a half years ago. I am wondering if there is a newer and better solution now. Balanced columns at the end of each chapter (or at any \clearpage, I suppose) seems like something that would be commonly desired.
MWE: Chapter 2 does what I want for all chapters (because it's the end of the document).
\documentclass[twocolumn]{memoir}
\usepackage{lipsum}
\usepackage{flushend}
% margins set explicitly to force consistence between MWEs
\setlrmarginsandblock{0.75in}{0.75in}{*}
\setulmarginsandblock{1.00in}{0.7in}{*}
\setheadfoot{0.70in}{0.3in}
\setheaderspaces{*}{0.15in}{*}
\checkandfixthelayout
\begin{document}
\chapter{Chapter 1}
\lipsum[1-10]
\chapter{Chapter 2}
\lipsum[11-20]
\end{document}
I can get balanced columns using multicol, but that costs me column floats (which would be nice to have, if not critical) and manual intervention at the beginning of the environment).
\documentclass[onecolumn]{memoir}
\usepackage{lipsum}
\usepackage{multicol}
% margins set explicitly to force consistence between MWEs
\setlrmarginsandblock{0.75in}{0.75in}{*}
\setulmarginsandblock{1.00in}{0.7in}{*}
\setheadfoot{0.70in}{0.3in}
\setheaderspaces{*}{0.15in}{*}
\checkandfixthelayout
\begin{document}
\chapter{Chapter 1}
\begin{multicols}{2}
\lipsum[1-10]
\end{multicols}
\chapter{Chapter 2}
\begin{multicols}{2}
\lipsum[11-20]
\end{multicols}
\end{document}
It feels like redefining \clearpage might be my way forward, if nothing else, but beyond that I have little idea what change to make.
balancepackage with the\balancecommand works well for me. I usedflushendwith the\flushcolsendcommand but while that worked mostly well it did some bad things to paragraph spacing in the last column (making the space between the last two paragraphs too narrow). So thanks for the tip about thebalancepackage :) – edison23 Jan 19 '20 at 19:41