My understanding, based on reading this website, is that (la)tex performs at most three passes when trying to typeset a paragraph: one based on \pretolerance
, one based on \tolerance
, and one based on \emergencystretch
. (I have no knowledge of how the microtype
package affects this.) If the third pass, with the least stringent requirements, still cannot typeset the paragraph, tex "gives up" and leaves an overfull hbox.
To a typical reader, who is familiar with the sort of typesetting that shows up in narrow-columned magazines and newspapers (and sometimes textbooks, and...), an overfull hbox is much more obvious than a relaxed requirement on \tolerance
or \emergencystretch
. Given the speed of modern computers, it seems it would be quite reasonable for tex to continue making passes with progressively relaxed requirements until it either is able to typeset the paragraph, or gets to values so bad that the result actually "sticks out" even more than an overfull hbox. If TeX were to follow this approach, then a warning should probably still be given any time extra passes are required. But if the user is expecting to switch to a different document class later, or prefers to ignore the warning for any number of other reasons, a sloppily typeset paragraph may well feel less like a slap in the face than an overfull hbox.
Thus, the question:
Would it be even remotely feasible to modify the behavior of (La)TeX, preferably by means of a package, so that it performs additional passes, with automatically (and progressively) relaxed parameters, before "giving up" and allowing an overfull hbox?
\emergencystretch
do not suffice, the method above gives a better result than large increases. Additionally, when I use thetolerant
environment, it only affects a single paragraph.