If I'm not wrong, in French the em-dashes, typeset with ---
in LaTeX, are usually treated like the guillemets as far as non-breaking spaces go. An "opening" em-dash must be followed by a non-breaking space, while a "closing" em-dash must be preceded by a non-breaking space.
[french]{babel}
doesn't apply this rule, so I ended up making my own macros:
\newcommand{\ocadr}{\mbox{---~}}
\newcommand{\fcadr}{\mbox{~---}}
Is there a better way to ensure these non-breaking spaces?
Edit:
Here is a minimal example to justify the use of \mbox
:
\documentclass{minimal}
\begin{document}
\parbox{9cm}{\textsc{
Dieu se sert des epreuves pour nous montrer nos c\oe{}urs,
afin de pouvoir nous purifier et nous faire ensuite entrer
dans le pays de la benediction ---~physiquement et spirituellement.
}}
\end{document}
which produces:
Whereas with \mbox
around the ---~
, I get:
Nota:
I kept the \textsc
because it's a case that I know produces this effect with the given size of the \parbox
.