# xindy not very obedient

It seems that xindy (xindy -L french) does not obey perfectly formed index commands for range.

When you want 28--29, you get 28, 29.
When you want 136, 137, 138--140, you get 136--140.
When you want 245--247, 248--250, you get 245--250.

I mean:

\index{aaa|(} % page 28
\index{aaa|)} % page 29
\index{bbb} % page 136
\index{bbb} % page 137
\index{bbb|(} % page 138
\index{bbb|)} % page 140
\index{ccc|(} % page 245
\index{ccc|)} % page 246
\index{ccc|)} % page 247
\index{ccc|(} % page 250

gives

aaa, 28, 29
bbb, 136--140
ccc, 245--250

I have been told here (by Nicola Talbot) that, by default, xindy does not pay attention to begin-range and end-range commands of makeidx, I mean ( and ). Moreover, the minimum range is three pages.

How can I recover the usual behavior of makeidx ? I have seen that I can use makeindex4, but makeindex4 does not behave well with diacritics. But the only reason I switched from makeidx.sty or index.sty to xindy was that xindy is at ease with French and other non-English languages.

I have given a look to style files, I must confess I am not able to write the style file I need. But I am sure somebody has already written it somewhere.

Does anybody has heard of this bit of file, or know another mean to overcome this problem?

• As far as I can remember, `xindy` by default only concatenates ranges of 3 or more consecutive pages, so 28, 29 won't form a range. The range concatenation isn't dependent on whether you use `\index{...|(}` and `\index{...|)}` or just `\index{...}`. – Nicola Talbot Mar 8 '16 at 13:34
• An interesting problem, but, from a pragmatic point of view you seem to want to put more fine-grained detail in your index than is required. The index only marks the pages on which the 'index item' occurs, and does not give extra semantic information about whether the discussion is page-spanning treatment or not. Presumably, if I care about topic `ccc`, and I see `246, 247, 248-250`, that means I should really read pages `246-250`. As for the 3-page minimum, that is reasonable too: an entry like `26, 27` does not save any space over `26--27`. If you do want to impart extra information, (con't) – jon Apr 3 '16 at 19:32