On Thursday, June 7, 2012 10:26:23 PM UTC+1, pakin wrote:
> As far as I can tell, \enlargethispage really means "enlarge this
> *column*":
>
> \documentclass[12pt,twocolumn]{article}
> \usepackage{lipsum}
> \begin{document}
> \enlargethispage{\baselineskip}
> \lipsum[1-5]
> \end{document}
>
> How can I automatically enlarge *all* columns on a page? My intention
> is to use atbegshi or everyshi or somesuch to do
>
> \AtBeginShipout{%
> \if<something>
> \enlargethispage{\baselineskip}%
> \fi
> }
The geometry package lets you adjust the page dimensions in the middle of the document and lets you restore the previous geometry. With a little bit of hackery you should be able to enlarge the page size if your condition holds and the page size is too small and restore the previous page size if the condition doesn't hold and the page size is too large. (Not tested.)
BTW: Another reason why your minimal example may not have worked is that adding the second last line on page one and the last line on page two would have resulted in a widow on page 2. I verified that with different paragraphs, the \enlargespace command does only affect the current column.
Regards,
Marc van Dongen