4

I just got an overfull hbox with an em rule at the end of the rule and fixed the problem by inserting a kern between it and the rule: collectively\kern0pt---. It seems that by default the rule disables hyphenation for the word in front of it. Is there a reason for this? Maybe TeX considers the rule part of the word, but shouldn't this behaviour be changed?

5

TeX does not hyphenate words already containing the font's hyphen character, normally set to -, or ligatures ending with this character.

As far as hyphenation is concerned, TeX considers a word to be a run of characters in the same font, each one of category code 11 or 12.

Therefore collectively--- is considered as a single word for hyphenation purposes, and, since it contains -, it is not subject to automatic hyphenation and is only breakable at the explicit hyphens in it (ligatures ending with the hyphenchar are considered as a single unit) or at explicit discretionary items.

This is desirable, because hyphenating such a combination should be a conscious decision, when nothing else is possible in order to get a good paragraph.

An explicit kern is not among the items considered to form a word, so with collectively\kern0pt--- you have two words, separated by a kern. Then collectively is examined for automatic hyphenation.

In this particular case, the solution can be acceptable, because TeX hyphenates collectively as col-lect-ively, so you either get

......................................... col-
lectively—

or

......................................... collect-
ively—

but in other cases the hyphen might fall very near to the end of the word.

I'd prefer leaving the decision for the final stage. If you finally opt for hyphenating, type in

col\-lectively---
  • Would the result be different if there was also a kern was between two characters, eg: col \kern 1pt lectively\kern 0pt ---- ? – A Feldman Jun 3 '16 at 16:16
  • @AFeldman You wouldn't get a hyphen – egreg Jun 3 '16 at 16:23
  • So the \kern would prevent it from being recognized as a word on the hyphenation list, because with the kern being in place TeX sees the words "col" and "lectively" separated by the kern. – A Feldman Jun 3 '16 at 16:34
  • 1
    @StevenB.Segletes In the T1 encoding, \"u is transformed into a single character. It isn't in OT1 and, indeed, words containing a built up accent are only hyphenatable before the accented letter. See my answer to fontenc vs inputenc – egreg Jun 3 '16 at 17:10
  • 1
    @StevenB.Segletes No, only the word fragments; but if you want hyphenation in tically, you need emph\mbox{a}\nobreak\hspace{0pt}tically, because hyphenation is also abandoned if a run of characters isn't preceded by a skip. – egreg Jun 3 '16 at 17:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.