[tex-k] ligatures and explicit kerns

Julian Gilbey julian at d-and-j.net
Thu Oct 2 23:38:28 CEST 2014


On Wed, Oct 01, 2014 at 06:06:23PM +0200, Stephan Hennig wrote:
> Hi,
> 
> in the TeXbook, the answer to exercise 5.1 (the shelfful exercise)
> contains a sentence
> 
>   Appendix H points out that ligatures are put into a hyphenated
>   word that contains no “explicit kerns,” and an italic correction
>   is an explicit kern.
> 
> I didn't find the place in appendix H the quote refers to, so pointers
> would be appreciated.
> 
> Anyway, as I understand the quote, ligatures won't be inserted in words
> that do contain explicit kerns.  That is, to suppress multiple ligatures
> within a word, it should be enough to insert just /one/ italic
> correction (between two of the ligature candidates).  Though, a test
> turns out that this is not the case.
> 
> shelf\/fulfi
> \bye
> 
> outputs the word with two separate letters f but the fi ligature
> applied.  Could anybody please shed some light on the quote above?

Yes, it seems to be a confusing (wrong?) statement in the quoted
solution in The TeXbook.  TeX will only hyphenate that portion of a
word prior to the first explicit kern (if I have read Appendix H
correctly), and will reinsert ligatures into that part of the word
after the hyphenation algorithm has run.  Anything following the first
explicit kern will not be subject to the hyphenation algorithm, and
ligatures will be inserted as normal there.  Ligatures are also
reinserted into the part of the word prior to the first kern.  So in
fishfishf\/ish, if it is automatically hyphenated as fish-fishfish,
the first two "fi" ligatures will be reconstituted, but the final one
will not be.

To explicitly supress multiple ligatures within one word then, one
could do something like shelf\/fulf{}i - the second break suffices
with {} as this part will never be passed through the hyphenation
algorithm.

   Julian


More information about the tex-k mailing list