[Tex/LaTex] French babel trouble: 1\ier{}, 2\ieme{}, etc

babelfrench

I'm having an issue with French babel. Whenever I use any of the 1\ier{}, 2\ieme{} and so on constructs (to obtain 1er, 2e, etc.), the spacing following it behaves very strangely.

So, for example, if I use:

  • 1\ier asdf then the output in the PDF will be: "1erasdf" (notice the missing space between "er" and "asdf")
  • 1\ier~asdf then the output in the PDF will be: "1er asdf" (with a protected space in between)
  • 1\ier~ asdf then the output in the PDF will be: "1er asdf" (there are two spaces between "er" and "asdf", one protected and one normal; can't display properly here because of SE formatting limitations)

I don't want to use ~ every time I need these constructs (2nd and 3rd examples above), so my question: Is the first example above a bug or a user error? And what is the proper way to avoid such output glitches?

I'm using TeX Live 2009 on Ubuntu 12.04 (with LyX).

Best Answer

You should add \usepackage{xspace}.

According to the manual of frenchb:

Il est recommandé de profiter des avantages offerts par l’extension xspace (il suffit d’ajouter \usepackage{xspace} dans le préambule) : les espaces suivant les commandes \ier,. . ., \ieres, \ieme, \iemes, \fg et \dots seront respectés sans avoir à les forcer par des {} ou des \ .

Related Question