Upper-case words look awkward when hyphenated. How do I suppress this behavior?
3 Answers
I recommend to define a style for acronyms. This allows consistent style changes later, for example if you change the typographic design of acronyms (such as using small caps) or introducing index commands.
And in this macro it's easy to prevent hyphenation, such as with \mbox.
\newcommand{\Acronym}[1]{\mbox{\textsc{#1}}}
Some typographers recommend to space out all-caps words a bit. That's what \textsc does here for you.
\documentclass{article}
\usepackage[english]{babel}
\newcommand{\Acronym}[1]{\mbox{\textsc{#1}}}
\begin{document}
\parbox{5em}{An EXAMPLE}
\quad
\parbox{5em}{An \Acronym{EXAMPLE}}
\end{document}

- 231,401
If the word that shouldn't be hyphenated doesn't occur frequently, boxing it with \mbox{} could be an option.
If it occurs frequently, then \hyphenation could be used to declare no-hyphenation; something like:
\hyphenation{ACRONYM}
However, as lockstep mentions in his comment, this will also prevent hyphenation of the lowercase variant(s) of the same word(s).
- 505,128
-
4This will also prevent hyphenation of the lowercase variant(s) of the same word(s). – lockstep Mar 18 '12 at 01:34
Simply add \uchyph=0 to the preamble.
Edit:
This will actually suppress hyphenation on all words that begin with a captial letter, not just those that are entirely capital letters.
- 3,681
- 4
- 23
- 24
\mbox. – Speravir Mar 18 '12 at 01:32\hyphenationcommand somewhere in the document's preamble. Example:\hyphenation{unhcr unesco unctad}will suppress hyphenation of these words (in uppercase, lower case, and mixed-case spelling). Left to its own devices, TeX might hyphenate these words as UN-HCR, UN-ESCO, and UNC-TAD... – Mico Mar 18 '12 at 02:27