[tex-live] Serious (?) problem with Babel and language attributes
Javier Bezos
listas at tex-tipografia.com
Mon Jun 2 18:02:03 CEST 2014
Norbert,
> Javier, please take care ... this is the case for *not*onlY*russian*,
> but also latin, and probably others, too.
>
> Are you *really*really* sure that this is not bug in babel core itself?
>
> If not, then at least the documentation how to write the attribute
> code needs to be fixed/updated/changed/whatever.
Latin and russian behave exactly as coded, and the issues are not
directly related with how attributes are defined in the babel core
and how they are used -- just slips. And a coincidence you have
found two bugs.
Attributes are executed only once, in the preamble. So in the case
of latin, \languageattribute{latin}{medieval} just defines \november
to be Nouembris. However, when latin is selected, \datelatin is
executed:
\def\datelatin{%
\def\november{Novembris}%
\def\today{%
{\check at mathfonts\fontsize\sf at size\z@\math at fontsfalse\selectfont
\uppercase\expandafter{\romannumeral\day}}~\ifcase\month\or
Ianuarii\or Februarii\or Martii\or Aprilis\or Maii\or Iunii\or
Iulii\or Augusti\or Septembris\or Octobris\or \november\or
Decembris\fi
\space{\uppercase\expandafter{\romannumeral\year}}}}
Note it restores the non-medieval value. I presume this line should
be placed outside \datelatin. And Ulrike also showed string are
reversed in russian.
Oddly enough, I tested the medieval attribute with \prefacename, which
as noted by Ulrike (iirc) works as expected.
Javier
More information about the tex-live
mailing list