;; This is another example using `xindy'. (mapc #'(lambda (x) (pushnew x *features*)) '(:STEP1 :STEP2 :STEP3 :STEP4 :STEP5 :STEP6 :STEP7 :STEP8 :STEP9 :STEP10)) #+: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) ) #+: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") ) #+:STEP6 (progn (define-location-class "roman-pages" ("roman-numbers-lowercase")) #-:STEP8 (define-location-class "appendices" ("ALPHA" :sep "-" "arabic-numbers")) ) #+:STEP7 (markup-range :sep "--") #+:STEP8 (progn (define-location-class "appendices" ("ALPHA" :sep "-" "arabic-numbers") :hierdepth 2) (markup-locref-list :sep "; " :depth 0 :class "appendices") (markup-locref-list :open "~~" :sep ", " :depth 1 :class "appendices") ) #+:STEP9 (progn (define-letter-group "ly" :after "l" :before "m") (define-letter-group "ny" :after "n" :before "o") (markup-letter-group :open-head "~n {\bf " :close-head "}" :capitalize) )