Newsgroups: comp.text.tex Date: 1996/07/02
set a minimum length of word to hyphenate (64 is treated as infinite):
\lefthyphenmin=64
Or, if you are switching languages with babel or using ancient TeX 2.xx:
\hyphenpenalty=10000
Donald Arseneau
>How do I disable hyphenation completely. I have tried the \sloppy >command, which reduces the number of word divisions, but does not >switch it off completely.
Mike Piff <M.Piff@shef.ac.uk> replied:
> \pretolerance=10000 > TeX should then never get to its hyphenation pass.
dak@neuroinformatik.ruhr-uni-bochum.de (David Kastrup) said:
>\language=-1
Unfortunately, neither of these really works. TeX will do a hyphenation pass regardless of the value in \pretolerance (\maxdimen even) in order to avoid a 10000-badness underfull line. Thus, just like \sloppy, it reduces but does not eliminate hyphenation. You might say that falling back to hyphenation is better than giving overfull lines, but this ignores the effect of \emergencystretch, which would prevent overfull lines. Even if \pretolerance=10000 prevented the hyphenation pass, working the same as \tolerance=10000, this would waste the benefit of the emergencypass.
\language=-1 doesn't work at all because TeX only accepts \languages from 0 to 15; it treats invalid settings as language 0. Language 0 is usually American English! You must use another number; 15 is probably safe, but it is best to allocate a new language without any hyphenation patterns:
\newlanguage\nohyphens \language=\nohyphens
Other methods are to set a minimum length of word to hyphenate (64 is treated as infinite):
\lefhyphenmin=64
Or, if you are switching languages with babel or using ancient TeX 2.xx:
\hyphenpenalty=10000
Note that \sloppy (with a substantial \emergencystretch) is imperitive for typesetting without hyphenation. I also strongly recommend \raggedright, which pretty much suppresses hyphens all by itself.
Donald Arseneau