;; 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") )