I guess I'm a little unsure which question you're asking: how to disable hyphens, or how to prevent words running into the margins.
When LaTeX lets words flow into the right margin, it reports a "overfull hbox", and produces a warning. This is its way of telling you that it cannot find a paragraph layout that meets its own fussy typography rules, which puts limits to how far it's willing to stretch words apart to retain full justification. It's sort of its way into annoying you into considering rewording the paragraph to make it more attractive typographically. But especially if this is not the final version, you may not care. You can make it less fussy by putting:
\sloppy
right after \begin{document}
, and then you'll see far less words spill into the margin -- probably none. For a normal document, it should apply to the whole document, unless you disable it, or contain it inside braces, etc.
Disabling hyphens and forcing wrapping at word boundaries will make it more likely, not less, for there to be bad hboxes which would make words spill into the margins, since it increases how much space it may need to insert. However, if you want to disable hyphenation through the document, try putting:
\usepackage[none]{hyphenat}
in the preamble.
There's a nice \signed
macro that serves this purpose on page 106 of the TeXbook; here's a little variation used to build the aquote
environment which behaves as expected;
\documentclass{book}
\def\signed #1{{\leavevmode\unskip\nobreak\hfil\penalty50\hskip2em
\hbox{}\nobreak\hfil(#1)%
\parfillskip=0pt \finalhyphendemerits=0 \endgraf}}
\newsavebox\mybox
\newenvironment{aquote}[1]
{\savebox\mybox{#1}\begin{quote}}
{\signed{\usebox\mybox}\end{quote}}
\begin{document}
\begin{aquote}{Bourbaki}
This is a case where the name fits in nicely with the quote so the name will appear in the same line.
\end{aquote}
\begin{aquote}{Nicolas Bourbaki}
This is a case where the name won't fit in nicely with the quote, and in this case the name will be moved to the next line.
\end{aquote}
\end{document}
Here's the result:
Best Answer
The
quote
environment of LaTeX does hyphenation and the same is true for the display environments provided by thecsquotes
package. Your problem is that TeX turns hyphenation off the moment a word contains anything other than letters. So something like explicit hyphens turn this off or\accent
commands (a real problem for many languages before TeX had fonts with accented characters), etc. Given your example, anyhting after / is not hyphenated (not that "hippo" is a great thing to hyphenate --- actually TeX would anyway refuse to do that :-) )If you use
\slash
instead of/
hyphenation at that point is allowed, but the following word is still not hyphenated (see example). So you need to do more to get hyphenation going there, I added a command\Slash
below just to do that. The trick is to have the slash followed by some space (the width of this doesn't really matter) as this makes TeX restart its hyphenation for the next word.I have turned "hippopotamus/hippo" to get any hyphenation. We then get: