# Avoid line break between em-dash and the next word

I'm writing a text in spanish, and I have a phrase wrote between em-dashes (that work like parentheses). The problem is that if the "opening" em-dash is too near the end of the line, then it may happen that it remains in that line but the next word falls to the next:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam a leo quis
libero ---accumsan vulputate---. Praesent pretium dapibus est interdum
hendrerit.


What I need to get in this example, is the opening em-dash and its next word to be in the same line, like this:

\mbox{---accumsan}


Is there a simple way to make LaTex not to break the opening em-dash with its next word, and also the ending em-dash with its previous word?

-
I am not sure about the specifics of the spanish language when compared to french. Could you have a look if this link to a similar question works for you as well: tex.stackexchange.com/questions/16156/babel-frenchb-and-em-dash –  Andy Oct 25 '11 at 4:54

Since you are writing in Spanish, you surely are using the spanish option for babel. If this is the case, then you can use the shorthand "+-- to prevent a possible line break. A little example:

\documentclass{article}
\usepackage[spanish]{babel}

\begin{document}

%wrong output:
\noindent Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam a leo quis
---accumsan vulputate---. Praesent pretium dapibus est interdum
hendrerit.

%right output:
\noindent Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam a leo quis
"+--accumsan vulputate"+--. Praesent pretium dapibus est interdum
hendrerit.

\end{document}


Another option is to use the \nobreakdash command implemented by the amsmath package; this command suppresses any line break after the dash (or hyphen). Of course, if you are going to use this a lot, you can define a new command to simplify the writing. In the following example I defined two commands using \nobreakdash: the first variant will prevent hyphenation of the word following the em-dash; the second variant will allow normal hyphenation in the following word:

\documentclass{article}
\usepackage{amsmath}

\newcommand\RayaN{\nobreakdash---}
\newcommand\Rayan{\nobreakdash---\hspace{0pt}}

\begin{document}

\noindent Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam a leo quis
---accumsan vulputate---. Praesent pretium dapibus est interdum
hendrerit.

\noindent Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam a leo quis
\RayaN accumsan vulputate\RayaN. Praesent pretium dapibus est interdum
hendrerit.

\noindent Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam a leo quis
\Rayan accumsan vulputate\Rayan. Praesent pretium dapibus est interdum
hendrerit.

\end{document}​


-
I would suggest the addition of xspace to accommodate for the following scenario the requires an end-of-command-sequence space: ...a leo quis \Rayan accumsan vulputate\Rayan lorem ipsum.... This OP did mention that the em-dashes act like parentheses. –  Werner Oct 25 '11 at 5:30
Thank you Gonzalo, it worked perfectly using "+-- with babel (which I was already using, as you correctly thought). –  Nicolás Oct 26 '11 at 2:54