1

Consider the following mystory.tex:

\tolerance=10000 \hsize=.7in
\leavevmode\nobreak\hskip0pt Drofnats---or ``R. J.,''
\end

This is the log:

(mystory.tex
Overfull \hbox (17.41133pt too wide) in paragraph at lines 2--3
[] \tenrm Drofnats---|
[1] )

This is the output:

enter image description here

Now change mystory.tex by adding space between "Drofnats" and "---".

This is the log:

(mystory.tex
Underfull \hbox (badness 10000) in paragraph at lines 2--3
[] \tenrm Drof-

Underfull \hbox (badness 10000) in paragraph at lines 2--3
\tenrm nats ---or
[1] )

This is the output:

enter image description here

As far as I understand typographic rules dictate that we must use em-dash like word1---word2. Do the typographic rules also prohibit hyphenation of word1? If not, why hyphenation is not tried by default?

  • 2
    hyphenation is not tried in words containing an explicit hyphen, or ligatures ending in a hyphen, you can use a macro that surrounds the --- with 0pt space if you want to allow hyphenation – David Carlisle Jan 3 at 12:12
  • Is anyone even using word---word anymore? I though even the British use word -- word these days – daleif Jan 3 at 12:13
  • @daleif or something like \,---\, – David Carlisle Jan 3 at 12:14
  • @DavidCarlisle 1) "\,---\," - but \, works only in math mode. 2) Using \kern0pt before --- will add hyphenation to "Drofnats" without allowing break before --- (as by default); in contrast, using \hskip0pt before --- will add hyphenation to "Drofnats" by allowing break before ---. 3) Do you know where to find exact typographic standards? (like using spaces around --- or using , before closing '' etc) – Igor Liferenko Jan 4 at 9:53
  • The em dash is often used without spaces (Chigago style) but I find munch more readable a em dash with spaces (Associated Press style) that moreover avoid this problem. – Fran Jan 4 at 9:56
3

From the TeXbook, page 286, last but one bullet point:

⟨letter⟩, ⟨otherchar⟩, \char⟨8-bit number⟩, ⟨chardef token⟩, \noboundary. The most common commands of all are the character commands that tell TeX to append a character to the current horizontal list, using the current font. [...] In unrestricted horizontal mode, a ‘\discretionary{}{}{}’ item is appended after a character whose code is the \hyphenchar of its font, or after a ligature formed from a sequence that ends with such a character.

Since --- is a ligature that ends with the \hyphenchar of the current font, that's usually the hyphen, a \discretionary{}{}{} item is automatically appended and TeX never hyphenates words containing a \discretionary item (see page 454, end of last but one double dangerous bend).

| improve this answer | |

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.