Suprimir la separación de palabras de palabras que ya contienen un guión

Suprimir la separación de palabras de palabras que ya contienen un guión

Según la respuesta aceptada deesta preguntaTeX nunca separa palabras que ya contienen un guión. Sin embargo, en un documento aquí encuentro que la palabra “Modula-2” está dividida con guiones, como muestra la siguiente imagen (generada conEste archivousando XeLaTeX, versión 3.1415926-2.4-0.9998 (MiKTeX 2.9 de 64 bits)).

\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}

Separación de palabras no deseada

Aparentemente no puedo usarlo \hyphenationpara evitar esto; pero la palabra aparece varias veces así que no quiero usar \mboxninguna de las dos. ¿Existe una solución mejor?

Respuesta1

Al no dividir palabras con guiones, lo que se quiere decir es no agregarmásguiones. Lo que desea evitar es el salto de línea en un guión existente para el cual solo necesita

   \exhyphenpenalty=10000

en el preámbulo para dar una penalización infinita por romper un guión explícito

ingrese la descripción de la imagen aquí

Respuesta2

La respuesta de David le muestra cómo suprimir la ruptura después de un guión explícito de forma global (es decir, para cada palabra con un guión explícito).

A menudo se desea suprimir la rotura sólo en casos específicos, y existen dos métodos para ello:

\mbox{Modula-2}

Funciona sin ningún paquete.

ngerman.sty o la opción ngerman para el paquete babel contienen una ingeniosa abreviatura para el guión irrompible:

Modula"~2

donde "~ se define como

\leavevmode\hbox{-}

información relacionada