;; This is a first example using `xindy'.

(mapc #'(lambda (x)
	  (pushnew x *features*))
      '(:STEP1 :STEP2 :STEP3 :STEP4 :STEP5))

#+:STEP1
(progn
  (define-location-class "page-numbers" ("arabic-numbers"))
  (define-attributes (("definition" "usage")))
  )


#+:STEP2
(progn
  (markup-index :open  "~n\begin{theindex}~n"
		:close "~n~n\end{theindex}~n"
		:tree)

  (markup-locref :class "page-numbers" :attr "definition"
		 :open  "{\bf " :close "}")

  (markup-locref-list :sep ", ")
  (markup-locclass-list :open "\quad{}")
  )

#+:STEP3
(progn
  (markup-indexentry :open "~n \item "            :depth 0)
  (markup-indexentry :open "~n    \subitem "      :depth 1)
  (markup-indexentry :open "~n      \subsubitem " :depth 2)

  (markup-range :class "page-numbers" :sep "--")
  )

#+:STEP4
(progn
  (sort-rule "à" "a")
  (sort-rule "á" "a")
  (sort-rule "ã" "a")
  (sort-rule "è" "e")
  (sort-rule "é" "e")
  (sort-rule "ç" "c")

  (sort-rule "\\texttt{\(.*\)}" "\1" :again :bregexp)
  )

#+:STEP5
(progn
  (define-letter-groups
      ("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m"
	   "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"))

  (markup-letter-group-list :sep "~n~n \indexspace~n")
  )
