How to prevent strechtability?

David Carlisle d.p.carlisle at
Fri Jun 21 14:29:13 CEST 2019

> \raggebottom is not what I want,

not even at a forced page break? You are using \eject to force a page
break, specifying that the last baseline of the page must be at the
bottom of the page and then removing the last remaining stretch glue
to ensure that constraint can not be achieved?  This ensures that the
page is underfull with an infinitely bad box warning.

> not between `hallo' and the following `\hrule'?  There should be a \parskip
there as well...

\parskip is added bfore paragraphs, \hrule does not start a paragraph
it is directlt added to the vertical list. the letter h of hallo,
being a horizontal mode construct does force a paragraph to start.


On Fri, 21 Jun 2019 at 13:24, Rodolfo Medina <rodolfo.medina at> wrote:
> Heiko Oberdiek via texhax <texhax at> writes:
> > On 2019-06-21 13:34, Rodolfo Medina wrote:
> >>
> >> in the following example, to process with simply `tex test', I'd like that
> >> `hallo' was not so far from the hrule above.  How can I prevent
> >> stretchability in that place?
> >
> >>    \hrule\vskip.1in
> >> hallo
> >>    \vskip .1in\hrule\vskip 1cm
> >
> > The stretchability is inserted by \parskip (0pt plus 1pt), when "hallo"
> > starts a new paragraph. This can be prevented by locally removing the
> > stretchable component of \parskip when starting the paragraph for "hallo":
> >
> > \hrule
> > \vskip.1in
> > \begingroup\parskip=0pt \leavevmode\endgroup
> > hallo
> > \vskip .1in
> > \hrule
> > \vskip 1cm
> Thanks, David and Heiko...
> \raggebottom is not what I want, \parskip=0pt is ok.  But, out of curiosity:
> why does TeX choose to stretch only there, between `\hrule' and `hallo', and
> not between `hallo' and the following `\hrule'?  There should be a \parskip
> there as well...
> Cheers,
> Rodolfo

More information about the texhax mailing list