% This file is public domain.
%
% This example document demonstrates the testidx package
% with inputenc.sty and xindy. You can build this document using:
%
% pdflatex sample-idx-utf8
% xindy -M sample-idx-utf8 -M texindy -C utf8 -L english -t sample-idx-utf8.ilg sample-idx-utf8.idx
% pdflatex sample-idx-utf8
%
% If you are using arara, the directives are:
%
% arara: pdflatex
% arara: xindy: {language: english, codepage: utf8,
% arara: --> modules: [sample-idx-utf8, texindy]}
% arara: pdflatex
\documentclass{article}

\usepackage{filecontents}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amssymb}
\usepackage{makeidx}
\usepackage
 [
  %nosanitize,% don't sanitize characters in the dummy entries
  sanitize,% sanitize characters in the dummy entries
  showmarks,% show where the indexing command has been used
  %hidemarks,% hide the visual effects
  %verbose,% show the argument that's being passed to \index
           % warning: will cause overfull lines!
  noverbose% default
 ]
 {testidx}

% Create the .xdy file for this example:
\begin{filecontents*}{\jobname.xdy}
; list of allowed attributes

(define-attributes ((
  "tstidxencapi"
  "tstidxencapii"
  "tstidxencapiii"
)))

; define format to use for locations

(markup-locref :open "\tstidxencapi{"
 :close "}"
 :attr "tstidxencapi")

(markup-locref :open "\tstidxencapii{"
 :close "}"
 :attr "tstidxencapii")

(markup-locref :open "\tstidxencapiii{"
 :close "}"
 :attr "tstidxencapiii")

(markup-locref-list :sep ",")
(markup-range :sep "--")

; define a numbers group

(define-letter-group "Numbers"
   :prefixes ("0" "1" "2" "3" "4" "5" "6" "7" "8" "9")
   :before "A")

; define a "Maths" group for keys starting with ">"

(define-letter-group "Maths"
   :prefixes (">" )
   :before "Numbers")

; define a "Markers" group for keys starting with "<"

(define-letter-group "Markers"
   :prefixes ("<" )
   :before "Maths")
\end{filecontents*}

\makeindex

\begin{document}
\testidx

\printindex
\end{document}

