11

Possible Duplicate:
What is glue stretching?

In the book class, we have the following.

‎\newcommand\section{\@startsection {section}{1}{\z@}%‎
                                   ‎{-3.5ex \@plus‎ -‎1ex \@minus‎ -‎.2ex}%‎
                                   ‎{2.3ex \@plus.2ex}%‎
                                   ‎{\normalfont\Large\bfseries}}‎

I want to know why we have something like -3.5ex \@plus‎ -‎1ex \@minus‎ -‎.2ex instead of a fixed value like -3.5ex? What are the \@plus and the \@minus for?

2
  • 3
    Related: What is glue stretching? Jan 9, 2013 at 11:50
  • 3
    By the way, \@plus and \@minus are macros which expand respectively to plus and minus. LaTeX defines those TeX keywords as macros for memory efficiency reasons (they are a single token, instead 4 and 5 respectively, i.e. one per char).
    – JLDiaz
    Jan 9, 2013 at 12:06

1 Answer 1

9

by default, the first line and the last line of every page should be on the same height. This is easy if you have only normal text lines with the same font size and without math, images, section headings and so on. But it is not easy if you have such of these objects. Then you need some parts which you can vertically stretch (plus) or shrink (minus). Those length is called a skip. Over (\@plus‎ -‎1ex \@minus‎ -‎.2ex) and under (\@plus.2ex) a section title is a good place to stretch/shrink. Also between paragraphs and so on.

And the same problem in horizontal direction for a line. You can only stretch (plus) between words.

All that is not needed if you use the commands \raggedbottom and/or \raggedright. But that always gives a lousy typesetting ...

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