[OS X TeX] Controlling space around \center and \displaymath

William Adams will.adams at frycomm.com
Wed Sep 19 18:47:16 CEST 2012

On Sep 19, 2012, at 12:33 PM, Alain Schremmer wrote:

> I would like to control the amount of space before and after \center and \displaymath.
> \vspace does it before to some extent as it seems "elastic" but I am totally unable to change the amount of space after.



> There are four parameters that define this space and you can look at the values for them for example via
> \showthe\abovedisplayskip
> \showthe\belowdisplayskip
> \showthe\abovedisplayshortskip
> \showthe\belowdisplayshortskip
> The "..short.." are used if the previous text line has less material than the width of the formula. In case of displaymath(or \[...\] for short) standard LaTeX behaves a bit strangely in that it adds an explicit empty box with a width of .6\linewidth in front of such a display if it starts out in vertical mode. As a result you see an empty line in front of the display and in addition\abovedisplayskip is used. This is not done for the equation environment (here low-level TeX is adding the empty line but it will only consists of an \indent box) so this is a strange historical "feature".
> The values for these parameters depend on the font size and in the default classes (e.g.,article) LaTeX sets them as part of executing \normalsize, \small, or \footnotesize. The other font size command do not chamge them, probably because Leslie thought that in something like \huge one doesn't typeset any displays.
> So changing them then to your taste can be done with \setlength, e.g.
> \setlength\abovedisplayskip{5pt plus 2pt minus 2pt}
> or whatever you think fits your design (the plus and minus part define how much the space can stretch or shrink if necessary). But that definition then has to replace the one inside the font size command or at least have to be added to the end of it so that it overwrites whatever is being set up earlier. A simple way to do that would be
> \makeatletter
> \g at addto@macro \normalsize {%
>  \setlength\abovedisplayskip{5pt plus 2pt minus 2pt}%
>  \setlength\belowdisplayskip{5pt plus 2pt minus 2pt}%
> }
> \makeatother
> As long as you do not typeset displays in \small or \footnotesize there is no need to append values to those commands, but if so the same approach could be used.

William Adams
senior graphic designer
Fry Communications
Sphinx of black quartz, judge my vow.

More information about the macostex-archives mailing list