What’s new in babel 3.49
⚠ There is a severe bug in this version: in some cases,
main= is no-op and silently ignored. Fixed in 3.50.
ini files with class or package options
The standard way to set a language in LaTeX is by means of class or package options. Class options can be recognized by packages to act accordingly, and
babel is not an exception. However, until now
ini files had to be loaded following a separate mechanism, which was clearly not ideal, because it doesn’t set the language as a global option, which may be required in many applications.
Now there is a package option to tell
babel to load all or some languages passed as options with
\babelprovide and not from the
ldf file, with a few typical cases, as for instance:
provide=* means ‘load the main language with the
\babelprovide mechanism instead of the
ldf file’ using the basic features, which in this case means
import, main. There are (currently) three options:
provide=*is the option just explained, for the main language.
provide+=*is the same for additional languages (ie, the main language is still the
provide*=*is the same for all languages, main and additional.
(The value will allow in the future other options, as for example
mapdigits, but for the moment you must restrict yourself to
*. Also, a similar tool for languages loaded on the fly can be useful, for the reasons explained in issue #82, but I’ve left it to a later version.)
babel itself is not the responsible to ‘set’ which languages are
to be used in the document. It recognizes the options passed by the
user as class or package options.
French spacing with
This feature has been (at last) added. It behaves much like the settings for
righthyphenmin in the sense this setting is only applied in newly defined languages. So, it cannot be used to modify an
ldf file, and there is a reason — it works in a somewhat different way, because the corresponding values are only switched when they have a standard one (eg,
. is either 1000 or 3000, but not, say, 1001 or 2999), and the values before we enter a language are restored when we exit.
The original model followed in
ldf’s is, as explained in the section ‘Known issues’ of the manual, problematic because the values are not always restored correctly in some (infrequent) cases.
$are available. The are internally re-located to the correct position. (This is not true for
\babelprehyphenation, where these two anchors must not be used.)
fontspecto avoid some misleading warnings about languages not available, which lead some people to think
babeldoesn’t support these languages at all.
- Fix -
layout.lists=offdidn’t work (#94)