0

Earlier today on Why my document is not hyphenating on words starting with upper case letter? (I am not using \uchyph=0) I figured out that increasing the value of \emergencystretch too much will cause latex to start stretching first and stop hyphenating.

I would like to keep a high value of \emergencystretch because there is some times Latex cannot hyphenate because babel/latex does not know how to. On these cases, latex can stretch as much as it likes. But it is unacceptable to stretch things when it could hyphenate first.

Can I tell Latex to hyphenate first, only and only then try to stretch disregard the value of \emergencystretch?

user
  • 4,745
  • 1
    Aside from \fussy vs. \sloppy, your best bet is to add possible hyphenation points \- manually. See also \hyphenate. – John Kormylo Jul 12 '19 at 02:57

1 Answers1

2

It will hyphenate first if it is possible. In the example you cite there there was no possibility (without using emergencystretch) of breaking the paragraph without having an overfull box (which is considered worse than stretching)

There is no reason to have a large \emergencystretch: doing so tells tex that there is little penalty for stretching the interword space, and so it will favour that. If you set a smaller valuer (around 1em, or the 3em used by \sloppy) then if you get cases as you say when tex needs to stretch the space more, it will still do so but there will be a high penalty for doing that and so it will favour hyphenation (and warn you that the space is over-stretched (underfull box) so you will have the opportunity to look at those paragraphs and make manual adjustments if necessary.

Depending on the values of \pretolerance and \tolerance there are up to three different line breaking passes used. \emergencystretch is only used if it is non zero and the paragraph can not be broken using the first two passes while keeping the badness below \tolerance, then the third emergency pass is used while effectively adding \emergencystretch to the glue stretching in each line.

David Carlisle
  • 757,742