[tex-live] Serious (?) problem with Babel and language attributes

Robin Fairbairns Robin.Fairbairns at cl.cam.ac.uk
Sun Jun 1 12:46:08 CEST 2014

Manfred Lotz <manfred at dante.de> wrote:

> On Sun, 1 Jun 2014 10:28:34 +0100
> Robin Fairbairns <Robin.Fairbairns at cl.cam.ac.uk> wrote:
>
> > Norbert Preining <preining at logic.at> wrote:
> >
> > > I got a bug report here at Debian, but it is the same in the
> > > current TL2014 status. It seems that something with the
> > > language attributes is up-side-down:
> > >
> > > The report states that
> > > 	\today
> > > prints the wrong month for June in Russian. It should be
> > > 	"июнь" (cyrillic "i" at the first position)
> > > but comes out as
> > > 	"iюнь" (latin "i" followed by cyrillic "юнь")

actually, it's a cyrillic "i-dot"

> > > The input file is trivial:
> > > \documentclass[12pt,russian]{article}
> > > \usepackage[T2A]{fontenc}
> > > \usepackage[utf8]{inputenc}
> > > \usepackage{babel}
> > > \begin{document}
> > > \today
> > > \end{document}
> > >
> > > (with or without the inputenc, I tried both!)
> > >
> > >
> > > Reading a bit through russian.ldf I see that the printed version
> > > is related to the "ancient" variant of Russian.
> > >
> > > So I tried
> > > ...
> > > \usepackage{babel}
> > > \languageattribute{russian}{ancient}
> > > ...
> > >
> > > and voila, the June comes out as expected in all cyrillic.
> > >
> > > So it seems to me that there is something - a test - turned
> > > around.
> > >
> > > I am not sure whether Karl considers this a show-stopper, but
> > > considering how core babel is that would be a good reason for me.
> >
> > the package has a "modern"/"ancient" switch; there was a language
> > reform after the revolution (iirc).
> >
> > if the switch is set to "ancient", it sets june and july with an "old"
> > cyrillic "i", but if the switch is set to modern, it uses the soft "i"
> > (transcribed, iirc, as "yi").  the document that's had trouble
> > presumably has the command
> >
> >   \languageattribute{russian}{ancient}
> >
> > in it.
>
> If set to ancient then it is іюня, otherwise (the modern variation) it
> is июня.  As Zdeněk pointed out rightly, the я indicates genitive.
>
> Interesting question is why Norbert got the nominative form июнь.

indeed -- it doesn't appear in the russian ldf/

> According to russianb.pdf the default should be modern cyrillic which
> is actually not true.
>
> As texmf-dist/tex/generic/babel-russian/russianb.ldf is the same in
> both texlive 2013 and 2014 the error doesn't seem to be texlive 2014
> specific.

presumably tl2014 is being delivered with this wrong version, but the
version on the archive (dated may 20) doesn't have the genitive.

(i can't guarantee this: my backup links aren't working, so it could be
that the pre-20 may version is also right, and the correction came even
earlier.)

robin