According to the accepted answer of this question TeX never hyphenates words that already contain a hyphen. Nevertheless in a document here I find that the word “Modula-2” is hyphenated, as the following image shows (generated with this file using XeLaTeX, version 3.1415926-2.4-0.9998 (MiKTeX 2.9 64-bit)).

  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum Modula-2
  nisi urna, congue sed congue id, iaculis et lacus.

Unwanted hyphenation

Apparently I can’t use \hyphenation to prevent this; but the word appears several times so I don’t want to use \mbox either. Is there a better solution?

  • 3
    TeX never hyphenates words that are explicitly hyphenated, so if that instance is hyphenated presumably the markup used is hiding the hyphen. Please always provide a small complete document that demonstrates the problem, so people can reproduce it. – David Carlisle Nov 12 '12 at 13:14
  • I just added a screenshot and its source file. – ȷ̇c Nov 12 '12 at 13:49

By not hyphenating hyphenated words, what is meant is not adding more hyphens. What you want to prevent is line breaking at an existing hyphen for which you just need


in the preamble to give an infinite penalty for breaking at an explicit hyphen

enter image description here


Davids answer shows you how to suppress breaking after an explicit hyphen globally (i.e., for every word with an explicit hyphen).

Often one wishes to suppress the breaking only in specific cases, and there are two approaches for this:


works without any package.

ngerman.sty or the ngerman option for the babel package contain a nifty shorthand for the unbreakable hyphen:


where "~ is defined as


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.