Babel gets back on track and it is again actively maintained. Version 3.9 was released on March 2013. Current version is 3.9b.
Starting with this version, babel has been separated in a core (or “base”) part, and contributed language-specific packages, which should be maintained by its contributors. In particular, it shall be no longer necessary to synchronize Babel core releases with releases of Babel language files. See CONTRIB for some guidelines on contributing languages.
The core part is located in the subdirectory base, the contrib part is actually a link into CTAN’s macros/latex/contrib subtree.
No attempt has be done to take full advantage of the features provided by XeTeX and LuaTeX, which would require a completely new core (as for example polyglossia or as part of LaTeX3).
The goals were:
Most of these goals have been fulfilled.
Here is a list of most of the new and extended macros:
\useshorthandsbut it makes sure shorthands are always activated.
\defineshorthandscan be used to (re)define system and language shorthands, and a new level for language dependent user shorthands is added, which takes precedence over “normal” user shorthands.
\shorthandoff*restores the original catcode or definition (useful with
\AfterBabelLanguagesets code to be executed at the end of the corresponding ldf file.
\babelhypheninserts a hyphen (soft, hard, nobreak…).
\hyphenationbut for all languages or specific ones.
\AddBabelHooksets code to be executed at some “events” (
New package options:
shorthandssets which language/system shorthands are allowed.
safesets if bib and/or ref macros are redefined.
configsets a different config file.
mainsets the main language.
headfootsets the language in heads and foots.
.cfgfiles are not loaded.
showlanguagesprints to the log file the languages loaded in the format.
mathcontrol if shorthands are also active in math mode.
switch.def was preloaded into the format, which made
difficult to upgrade Babel. It is still preloaded, but now it is
loaded always with the package (provided the version number is
different). As to
hyphen.cfg, its behaviour is the same as in the
previous versions, but now it saves a list of loaded languages and
there are several hooks for XeTeX and LuaTeX.
There is also a new file,
bbunicode.dtx, which defines some hooks for