[texhax] makeindex breaks up index group on a capitalized entry
geolsoft at mail.ru
geolsoft at mail.ru
Mon Aug 23 12:06:43 CEST 2004
On Sat, Aug 21, 2004 at 05:05:50PM +0300, geolsoft at mail.ru wrote:
> The problem I have is related to generating Cyrillic indices
> with makeindex(1) by Pehong Chen, version 2.14 [02-Oct-2002]
> (kpathsea + Thai support).
I received the following from Stepan Kasal <kasal at ucw.cz> on
<tex-eplain at tug.org> mailing list:
> Hello,
>
> On Sat, Aug 21, 2004 at 05:07:00PM +0300, geolsoft at mail.ru wrote:
> > $ echo $LC_CTYPE; echo $LC_COLLATE
> > LC_COLLATE=ru_RU.KOI8-R
> > LC_CTYPE=ru_RU.KOI8-R
>
> I suppose you take care to export _both_ of these.
>
> Have you tried setting LC_ALL=ru_RU.KOI8-R; export LC_ALL ?
>
> > \item marazm, 1
> > \item martyshka, 1
> > \item masshtab, 1
> >
> > \indexspace
> >
> > \item Meksika, 1
> >
> > \indexspace
> >
> > \item moloko, 1
> > \item motylyok, 1
>
> The explanation is quite easy: the makeindex programs compares the first
> letters of the entries and if they are different, it inserts the
> \indexspace command. The problem is that "m" and "M" are considered
> different, though they are not.
>
> When you look at the source (download tetex-src-2.0.2.tar.gz, unpack,
> cd tetex-src-2.0.2/texk/makeindexk), you find that the comparison is in
> function new_entry() in file genind.c and relies on first_letter() from
> the same file; this in turn relies on macro TOLOWER from mkind.h, which
> relies on isupper and tolower from system library (libc).
>
> There must be a bug somewhere there; perhaps upgrading glibc would help.
> If you have a test system nearby, try installing another Debian there
> with another version of glibc there.
>
> Hopes this helps,
> Stepan Kasal
>
> _______________________________________________
> tex-eplain at tug.org
> http://tug.org/mailman/listinfo/tex-eplain
Best regards,
Oleg Katsitadze
More information about the texhax
mailing list