1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
;; 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)
)
|