2

Similar question = How do I ask LaTeX to exactly fill up a page?

I want to fill up a page by several equations because they come with automatic numbering. I tried the \lineskip\fill trick but it is not perfect.

\documentclass[twocolumn]{article}
\usepackage{amsmath}
\usepackage{showframe}
\begin{document}

    Some Lorem Ipsum here.

    \bgroup
    \lineskip\fill
    \def\bigbox#1 {
        \begin{equation}
            \vrule height#1cmdepth#1cmwidth3cm
        \end{equation}
    }
    \bigbox1
    \bigbox1
    \bigbox1
    \bigbox1
    \bigbox2
    \bigbox2
    \bigbox2
    \bigbox2
    \bigbox2
    \bigbox2
%   \bigbox2
%   \bigbox2
%   \bigbox2
%   \bigbox2
%   \bigbox2
%   \bigbox2
%   \bigbox2
%   \bigbox2
    \egroup

\onecolumn

    Here is one-column material.

\end{document}

How could I possibly align (6) and (10)?

  • In this case you have no \baselineskips to add glue. Try \addtolength{\abovedisplayskip}{0pt plus 100fil minus 2pt} instead. – John Kormylo Oct 10 '18 at 2:27
  • @JohnKormylo I suppose \lineskip is used instead of \baselineskip because the equations are too high. Anyway I tried your code, (6) and (10) are not aligned. – Symbol 1 Oct 10 '18 at 2:33
  • @JohnKormylo No I want them evenly distributed. And the two columns here are both evenly distributed. But the problem is, (6) and (10) are not aligned. – Symbol 1 Oct 10 '18 at 3:02
2

This solution puts the equation inside a \vbox with no gaps, then adds \abovedisplayskip and \belowsiplayskip back on. These get absorbed at the top and bottom of the page, but alas not before \pagebreak (which is used to avoid the \vfil from \onecolumn).

\documentclass[twocolumn]{article}
\usepackage{amsmath}
\usepackage{showframe}

\def\bigbox#1 {\bgroup
    \parskip=0pt
    \ifvmode\else\par\fi
    \vskip\abovedisplayskip
    \noindent\vbox{\begin{equation}
        \vrule height#1cm depth#1cm width3cm
    \end{equation}\par
    \vskip-\belowdisplayskip
    \vskip\dp\strutbox}% end of \vbox
    \vskip\belowdisplayskip
    \egroup\noindent}

\begin{document}
    Some Lorem Ipsum here.

    \bgroup
    \lineskip=0pt plus 10pt minus 0pt

    \bigbox1
    \bigbox1
    \bigbox1
    \bigbox1 
    \bigbox2
    \bigbox2
    \bigbox2
    \bigbox2
    \bigbox2
    \bigbox2
%   \bigbox2
%   \bigbox2
%   \bigbox2
%   \bigbox2
%   \bigbox2
%   \bigbox2
%   \bigbox2
%   \bigbox2
    \egroup
\vskip-\belowdisplayskip
\pagebreak
\onecolumn

    Here is one-column material.

    \the\abovedisplayskip

    \the\belowdisplayskip

\end{document}

demo

  • It seems (11) is at page 2. If I comment out (11) it fails again. – Symbol 1 Oct 10 '18 at 3:11
  • Tried a different approach. The question is do you want it to look right, or are you just playing with equations and \onecolumn? – John Kormylo Oct 10 '18 at 15:23
  • I want it to look right (i.e. it is not obviously wrong). It does not matter if (6) and (10) both touch the bottom line or both exceed the bottom line. As long as they are aligned I am satisfied. In my case (11), (12), etc are wide equations so I really need to switch to one-column mode between (10) and (11). – Symbol 1 Oct 10 '18 at 16:37
  • Here is another problem (sorry for being annoying): in your approach (7) does not touch the top boundary anymore. I would like to see how you can fix it. (It is not like I want the world burn. But I tried everything I know but it is difficult to deal with top and bottom boundary simultaneously.) – Symbol 1 Oct 10 '18 at 16:42
  • I did not want to have to put the equation into a box and emulate the trivlist behavior, but it was the only way to get the \vskips outside the list. BTW, much of the expansion is being done by \abovedisplayskip and \belowdisplayskip, not \lineskip – John Kormylo Oct 11 '18 at 1:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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