The babel package, when called with some language options, changes global document layout. For exapmle,


forces first paragraph after sectioning command to be intented, resets itemize environment and performs a number of other changes to global document layout. On the other hand, there is a package indentfirst that makes the same changes regarding paragraph identation. And I am guessing that there are packages which could reset list environments on more regular basis. Therefore my question is

Is babel a proper place for resetting document layout?

I am asking because I found that Russian language definition file for babel had in the past similar functions borrowed from French language definition file but they were disabled later.

Having looked at the French language definition file for polyglossia I would say that polyglossia does not care document layout and makes no changes to document layout except for switching on/off frenchspacing. Since polyglossia is promoted as future replacement for babel my question has strategic value.

  • 8
    Polyglossia does act on indentation, but that's more or less the only decision about the layout (and it can be disabled by \PolyglossiaSetup{<language>}{indentfirst=false}). I believe that heavy layout customization should go in a dedicated package, but it's too late for changing babel's approach. – egreg Nov 6 '11 at 15:19
  • @egreg: I share your opinion but it is interesting to know if is it prevaling belief. – Igor Kotelnikov Nov 6 '11 at 15:35
  • I don't think, it's to late to change babel's approach. Some years ago babel used french.ldf from package frenchle(?) or french if it was installed, but frenchb.ldf only if french.ldf was not installed or option frenchb or francais was used instead of french. That old french.ldf of package french even has redefined macros like \opening breaking e.g. scrlettr.cls and scrlttr2.cls. AFAIK there's still a warning at the KOMA-Script manual about such problems. So there was already an incompatible, significant change for french at babel. – Schweinebacke Nov 6 '11 at 15:58
  • 1
    @egreg: Dedicated packages are problematic in multilingual environments, and setting language (or country) specific rules must be direct and as simple as possible. Just a switch and no more. – Javier Bezos Nov 10 '11 at 17:13
  • 1
    @egreg In my opinion, French babel is not doing a good job in the layout side. For example the itemize redefinition (dashs instead of dots) is just ugly (and geometrically not correct). – ppr Dec 20 '13 at 17:31

I'd say that the babel approach is, as egreg has commented, probably not the best. There are different things going on when you change language. First, there are changes that are vital (or at least very useful) to write anything in that language. Then there are changes to 'fixed strings', which the translator package (part of beamer bundle) handles is a much cleaner way than babel does. Finally, there are layout changes. The latter are really not directly linked to language: they are more about the geographical location of the publisher and the traditions of that area. These three different concepts really need different handing (although the first two have at least a reasonable amount in common).

(With my 'LaTeX3 hat' on, I notice that we are very keen to separate out design decisions from other code. That strongly suggests keeping design changes out of a LaTeX3-based language model.)


In an ideal world, babel shouldn't reset document layout because there shouldn't be any layout to reset. But most people rely on standard classes, which are definitely wrong as far as the typographical rules used in many languages is concerned. So, the only real solution at present is to provide the possibility to change the layout with babel so that the English rules as we can find them in the standard classes are replaced by new ones more appropriate for the language used. Therefore, my answers is: in current LaTeX, yes, they should (if babel is considered the way to localize documents). Of course, that must be done in such a way the basic layout is not imposed; for example, spanish only changes the layout if it is the main language (ie, the last named), and you may also cancel it at once with the option es-nolayout (whose purpose es obvious from its name). In the future, something like \documentclass[spanish]{article} should load a class like, say, article-es (I'm using the current interface for the example, which doesn't means a better interface shouldn't be better).

  • The french option also resets document layout if it is the last option to babel. Regarding es-nolayout option and similar option for French language I would vote for substituting them with common option, say, resetlayout=false. – Igor Kotelnikov Nov 11 '11 at 2:12
  • Having a common interface for all languages would be nice. Unfortunately, babel doesn't provide it and therefore each language uses its own solutions. – Javier Bezos Nov 14 '11 at 8:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.