[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