[texhax] Hyphenation problem with makeindex

Rodolfo Medina rodolfo.medina at gmail.com
Tue Apr 3 15:51:06 CEST 2007


Rodolfo Medina wrote:

> It seems that makeindex cannot hyphenate words: it produces an overfull box
> instead of hyphenating.  I broke the word with: `ex\-ample', as usual in plain
> TeX, but nothing.
>
> Can anyone help?



Oleg Katsitadze wrote:

> It occurred to me that the problem you have is related to the badness.
> The index is (usually) typeset in ragged-right mode, but a good
> ragged-right setting does not just allow lines to break anywhere, it
> still does badness checking to avoid very short lines (it's somewhere
> in The TeXbook, look up \raggedright in the index).  So, your
> discretionary hyphen (\-) is ignored simply because breaking there
> would be too bad, according to TeX's notion.  The solution is to
> change TeX's notion about badness -- try tweaking \tolerance setting
> for the index.



karl at freefriends.org (Karl Berry) writes:

> Also, some \raggedright's explicitly disable hyphenation completely.
> In that case, you may need (something like)
> \hyphenpenalty=50
> \exhyphenpenalty=50


Rodolfo:

> Oleg's suggestion seems to work the problem out in the sense that the overfull
> box is avoided, although hyphenation is not done either; instead,
>
> \hyphenpenalty=50
> \exhyphenpenalty=50
>
> produces no result: we have no hyphenation *and* overfull box.



Oleg Katsitadze <olegkat at gmail.com> writes:

> Could well be that hyphenation is disabled, as suggested by Karl.
>
>
> Did you try both, that is, something like
>
> \hyphenpenalty=50
> \exhyphenpenalty=50
> \tolerance=1000 % (or even more)
>
> Without the \tolerance changed, the first two lines enable
> hyphenation, but TeX might still refuse to hyphenate at a break which
> gives badness greater than the current setting of \tolerance.



No, it seems that TeX refuses definitely to hyphenate in this case.  But, after
all, with raggedright mode hyphenation does not maybe make much sense.  My
actual problem was more the overfull box that non-hyphenation itself.  The
output looks nice enough, now.

Cheers,
Rodolfo



More information about the texhax mailing list