On Friday 07 February 2003 12:18, Michal Kvasnicka wrote:
Dear Mr. Hagen.
Some time ago I asked you for the Czech index in the ConTeXt. You have sent me Hudec's files. The zip file included these files:
lang-sla.tex mult-con.tex cont-tmf.diff mult-com.tex
Here are the sort rules in Xindy-speak: ------------------------------------------- ;; Czech norm ;; (C) H. Skoumalová 2001 (define-location-class "arabic-page-numbers" ("arabic-numbers")) (markup-index :open "~n\begin{theindex}~n" :close "~n~n\end{theindex}~n" :tree) (markup-letter-group-list :sep "~n~n \indexspace~n") (markup-indexentry :open "~n \item " :depth 0) (markup-locclass-list :open " ") (markup-locref-list :sep ", ") (markup-range :sep "-") (define-letter-groups ("a" "b" "c" "è" "d" "e" "f" "g" "h" "ch" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "ø" "s" "¹" "t" "u" "v" "w" "x" "y" "z" "¾")) (define-attributes (("bb" "default" "nn"))) ;; (markup-locref :open "\textit{" :close "}" :attr "ii") (markup-locref :open "\textbf{" :close "}" :attr "bb") (markup-locref :close "n" :attr "nn") ;; The sorting rules in our example are a mixture of German and French ;; sorting rules. ;; (define-sort-rule-orientations (forward forward forward)) ;; load the sort-rules from the library (require "tex/isolatin2m.xdy") (require "tex/isolatin2s.xdy") (require "czechnm.xdy") ---------------------------------------- and here are some necessary character rules: ;; czechnm.xdy ;;---------------------------------------------------------------------- (sort-rule "(.)ch" "\1h~e") (sort-rule "(.)è" "\1c~e") (sort-rule "(.)ø" "\1r~e") (sort-rule "(.)¹" "\1s~e") (sort-rule "(.)¾" "\1z~e") (sort-rule "(.)Ch" "\1h~e") (sort-rule "(.)CH" "\1h~e") (sort-rule "(.)È" "\1c~e") (sort-rule "(.)Ø" "\1r~e") (sort-rule "(.)©" "\1s~e") (sort-rule "(.)®" "\1z~e") (require "isolatin2-tolower.xdy") (require "czrules.xdy") (use-rule-set :run 0 :rule-set ("cznorm" "isolatin2-tolower")) ;; Danach sind noch gleich: ;; MUELLER, Mueller, Müller, mueller, müller, MÜLLER ;; Schloss, Schloß (use-rule-set :run 1 :rule-set ("resolve-length" "isolatin2-tolower" )) ;; Danach sind noch gleich: ;; {MUELLER, Mueller, mueller} < {MÜLLER, Müller, müller} ;; ARM, Arm, arm ;; Da in der Standard-Sortierung von ISO Latin1 implizit die ;; Großbuchstaben vor den Kleinbuchstaben sind, muß hier nichts mehr ;; getan werden, wenn man dies so haben will. ;; ;; Will man die Kleinbuchstaben vor den Großbuchstaben haben, kann man ;; noch eine weitere Unterscheidung vornehmen: ;; (require "rules/latin-exchange.xdy") ;; (use-rule-set :run 2 :rule-set ("latin-exchange")) ;; End -------------------------------- This may seem like Greek to you (sorry for bad joke) but Xindy is the weapon of choice for non-Romance alphabets. I hope you can figure out what the non-English characters really are. MY computer doesn't have the Czech fonts loaded. John Culleton Ignore this signature block.