# French babel trouble: 1\ier{}, 2\ieme{}, etc

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).

-
You should: if "premier" precedes a word, it should remain attached to it. –  egreg Feb 23 '14 at 14:20
@landroni I've moved my comment. "Hard space" is indeed the same as "non-breaking space" in English (our "espace insécable", ~ in TeX), or at least I've learnt it so. As a side effect, ~ avoids any gobbled space that instead may happen between both words. But I don't understand your last remark: in his comment, egreg is suggesting exactly the same thing as me. –  Franck Pastor Feb 23 '14 at 15:24
@fpast Right! @ egreg wasn't explicit in his comment. I mistakenly took it to understand that the first example in the question was correct; he was suggesting that the second was correct, with the protected space (as you did). –  landroni Feb 23 '14 at 15:27
@landroni I think you should report it to the french package maintainer. It would be a wise thing to at least use xspace so that a normal space is inserted when there is no punctuation immediately following the superscript. You would still need to write explicit ~ characters based on context when you need a non-breaking space. But as others said, the output you get is the normal TeX behaviour – but babel French is quite user friendly, and I would not expect this as its normal behaviour (but I use custom commands, so I hadn't noticed it). –  ienissei Feb 23 '14 at 16:44
@ienissei See me answer: Daniel Flipo (maintainer of frenchb) recommands to add xspace package in order to handle correctly the space in such case. –  ppr Feb 23 '14 at 17:51

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 \ .

-
Thanks. Apparently xspace is being discouraged in some circles: tex.stackexchange.com/questions/86565/drawbacks-of-xspace . –  landroni Feb 23 '14 at 17:51
Also, it seems that the two recommended usage forms, which avoid unexpected consequences, are: \ier{} or \ier{}~, as appropriate given the context. –  landroni Feb 23 '14 at 18:01
@landroni xspace tries to avoid human errors (to forget \ or {}). And you are right to point out that, in some case, this useful tool could break some code (because it is not easy for an computer to know when you actually doing a mistake). However plenty of packages are coded with the need of xspace package ; frenchb is one of them. To sum up: if you want to use frenchb, you should use xspace also (because frenchb needs xspace to do a good job) : if you do not use any package which needs xspace it is better to not use it. –  ppr Feb 23 '14 at 18:06
@landroni About the recommended usage forms, the manual of frenchb says p.5 "on dispose aussi de \ier \iere \iers \ieres \ieme \iemes pour 1er, 1re, 1ers, 1res, 2e, 2es.". So according to the manual, the recommended formating is 1\ier. Of course, this recommendation assumes you use xspace. If you don't, you should prefer 1\ier{} but it is not what is recommended by the author package. –  ppr Feb 23 '14 at 18:13

In French, you should always use a hard space between an abbreviation and the following word. For example, have a look at "Petites leçons de typographie" by Jacques André, page 34. As such, your second case is the right one: "1er asdf" (with a protected space in between).

The two others are the normal behavior of such (La)TeX commands.

-
The TeX FAQ link suggests using 1\ier{} asdf to avoid a "gobbled" space, as does wikibooks. Does this mean that the default definition of \ier{} is incorrect and does NOT take into account the protected, non-breaking space (~) required by French typesetting conventions? –  landroni Feb 23 '14 at 15:38
@landroni Yes and no. No, it does not take into account our typographical conventions. But it can be useful in peculiar cases. For example, in such expressions as le 1\ier{} de la classe, no protected space is required following our conventions, to the contrary of la 1\iere~fois, le 1\ier~jour, etc, but any gobbled space must be avoided all the same. The hard space is necessary only when the abbreviated word refers to the following word. –  Franck Pastor Feb 23 '14 at 15:46
Ouch! Could you include this last comment in the answer? It seems that the two recommended usage forms are 1\ier{} asdf or 1\ier~asdf, depending on the context; but NOT 1\ier asdf. –  landroni Feb 23 '14 at 15:56
@landroni Yes, it's what I meant :-). However, it must be said that the contexts where the non-breaking space is necessary happen much more frequently! So my comment was a complement of my anwer, and as such more fit (I think) as a comment. –  Franck Pastor Feb 23 '14 at 16:01
@landroni As you said, it depends on the context. I would say that you should use 1\ier~asdf when asdf's meaning is directly related to 1\ier, and 1\ier{}in all other cases where a space is required directly after 1\ier. –  Franck Pastor Feb 23 '14 at 16:22