TransWikia.com

Question about exercise 5.1 in TeXbook

TeX - LaTeX Asked on February 12, 2021

The answer to the exercise states:

TEX will reinsert the ff ligature by itself after hyphenating shelf{}ful.
(Appendix H points out that ligatures are put into a hyphenated word that contains no
“explicit kerns”

But the following example shows that ligature is reinserted even if the word is not hyphenated:

hsize=70pt a shelf{}ful firefly
end

enter image description here

Which rule in appendix H explains that?


But if the first word is not used, the ligature is not reinserted:

hsize=70pt shelf{}ful firefly
end

enter image description here

One Answer

Consider the example file

hsize=70pt a shelf{}ful firefly

hsize=70pt shelf{}ful firefly
end

Upon running TeX on it, we get on the terminal

Overfull hbox (7.58342pt too wide) in paragraph at lines 1--2
[]tenrm a shelf-ful fire-|

Overfull hbox (0.63898pt too wide) in paragraph at lines 3--4
[]tenrm shelfful fire-|

You can notice that in the second case the symbolic representation is different and the reason is that TeX never tries hyphenation on a word fragment that's not preceded by glue. This restriction is not used in LuaTeX and, indeed, if we run LuaTeX on the same file we get

Overfull hbox (7.58342pt too wide) in paragraph at lines 1--2
[]tenrm a shelf-ful fire-|

Overfull hbox (0.36119pt too wide) in paragraph at lines 3--4
[]tenrm shelf-ful fire-|

Once the word fragment has been subjected to trial hyphenation, ligatures are reconstituted. The TeXbook indeed recommends to use either the italic correction / or another explicit kern, in order to break ligatures. In the case of ff, kern0pt seems best with Computer Modern, but it may not be with another font.

Correct answer by egreg on February 12, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP