Suprimindo a hifenização de palavras que já contêm um hífen

Suprimindo a hifenização de palavras que já contêm um hífen

De acordo com a resposta aceita deessa questãoO TeX nunca hifeniza palavras que já contêm um hífen. No entanto, em um documento aqui, descobri que a palavra “Modula-2” está hifenizada, como mostra a imagem a seguir (gerada comeste ficheirousando XeLaTeX, versão 3.1415926-2.4-0.9998 (MiKTeX 2.9 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}

Hifenização indesejada

Aparentemente não posso usar \hyphenationpara evitar isso; mas a palavra aparece várias vezes, então também não quero usar \mbox. Existe uma solução melhor?

Responder1

Ao não hifenizar palavras hifenizadas, o que se quer dizer é não adicionarmaishífens. O que você deseja evitar é a quebra de linha em um hífen existente para o qual você só precisa

   \exhyphenpenalty=10000

no preâmbulo para dar uma penalidade infinita por quebrar um hífen explícito

insira a descrição da imagem aqui

Responder2

A resposta de David mostra como suprimir a quebra após um hífen explícito globalmente (ou seja, para cada palavra com um hífen explícito).

Freqüentemente, deseja-se suprimir a quebra apenas em casos específicos, e há duas abordagens para isso:

\mbox{Modula-2}

funciona sem nenhum pacote.

ngerman.sty ou a opção ngerman para o pacote babel contém uma abreviação bacana para o hífen inquebrável:

Modula"~2

onde "~ é definido como

\leavevmode\hbox{-}

informação relacionada