
Nach der akzeptierten Antwort vondiese FrageTeX trennt Wörter, die bereits einen Bindestrich enthalten, nie voneinander. Trotzdem stelle ich in einem Dokument hier fest, dass das Wort „Modula-2“ getrennt ist, wie das folgende Bild zeigt (erstellt mitDiese Dateimit XeLaTeX, Version 3.1415926-2.4-0.9998 (MiKTeX 2.9 64-Bit)).
\documentclass[10pt]{article}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum Modula-2
nisi urna, congue sed congue id, iaculis et lacus.
\end{document}
Offensichtlich kann ich das nicht \hyphenation
verhindern, aber das Wort kommt mehrmals vor, also möchte ich keines von \mbox
beiden verwenden. Gibt es eine bessere Lösung?
Antwort1
Mit dem Nichttrennen von Wörtern mit Bindestrich ist gemeint, dass keinemehrBindestriche. Was Sie verhindern möchten, ist ein Zeilenumbruch an einem vorhandenen Bindestrich, für den Sie nur
\exhyphenpenalty=10000
in der Präambel, um eine unendliche Strafe für das Trennen an einem expliziten Bindestrich zu verhängen
Antwort2
Davids Antwort zeigt Ihnen, wie Sie die Trennung nach einem expliziten Bindestrich global unterdrücken (also für jedes Wort mit einem expliziten Bindestrich).
Oftmals möchte man das Brechen nur in bestimmten Fällen unterdrücken. Dafür gibt es zwei Ansätze:
\mbox{Modula-2}
funktioniert ohne Paket.
ngerman.sty oder die ngerman-Option für das Babel-Paket enthalten eine praktische Abkürzung für den untrennbaren Bindestrich:
Modula"~2
wobei "~ definiert ist als
\leavevmode\hbox{-}