[texhax] Left-flushed equations

Barbara Beeton bnb at ams.org
Thu May 18 14:53:57 CEST 2006

    Now a related question: how do I control spacing above and below displays
(I need to reduce it drastically)?

Do I need to modify the given rubber length parameters /and/ the relevant
penalties (and I am not yet sure which those be)?

you said you're using class amsart.

in this class there is the following definition:

\def\@adjustvertspacing{%
\bigskipamount.7\baselineskip plus.7\baselineskip
\medskipamount\bigskipamount \divide\medskipamount\tw@
\smallskipamount\medskipamount \divide\smallskipamount\tw@
\abovedisplayskip\medskipamount
\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip\abovedisplayskip
\advance\abovedisplayshortskip-1\abovedisplayskip
\belowdisplayshortskip\abovedisplayshortskip
\advance\belowdisplayshortskip 1\smallskipamount
\jot\baselineskip \divide\jot 4 \relax
}

the various "displayskip"s govern the spacing
above and below displays.  you want to redefine
them.  you might try this (note the \makeat...
commands needed since there is an @ in the name):

\makeatletter
\def\@adjustvertspacing{%
\bigskipamount.7\baselineskip plus.7\baselineskip
\medskipamount\bigskipamount \divide\medskipamount\tw@
\smallskipamount\medskipamount \divide\smallskipamount\tw@
\abovedisplayskip\smallskipamount  %%% cut in half
\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip\abovedisplayskip
\advance\abovedisplayshortskip-1\abovedisplayskip
\belowdisplayshortskip\abovedisplayshortskip
\advance\belowdisplayshortskip 1\smallskipamount
\jot\baselineskip \divide\jot 4 \relax
}
\makeatother

with 10pt type on 12pt baselines, \bigskipamount will
be about 8.5pt.  \medskipamount is half that (4.2pt)
and \smallskipamount half again (2.1pt).  there will
be an equal amount of stretch -- which is often the
only way to achieve a vertically justified page.

if you want to get rid of the stretch (this will have
possibly unpleasant consequences elsewhere, e.g. between
paragraphs and before (sub)section headings), you can
set the displayskips to be a fixed value, such as
\abovedisplayskip 2pt \relax
the \relax is needed to keep tex from looking ahead
for a stretch value, which is assumed for every skip.
-- bb


More information about the texhax mailing list