
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}
Aparentemente não posso usar \hyphenation
para 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
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{-}