GNU Info

Info Node: (slib.info)Chapter Ordering

(slib.info)Chapter Ordering


Next: Sorting Prev: Tree Operations Up: Sorting and Searching
Enter node , (file) or (file)node

Chapter Ordering
----------------

  `(require 'chapter-order)'

  The `chap:' functions deal with strings which are ordered like
chapter numbers (or letters) in a book.  Each section of the string
consists of consecutive numeric or consecutive aphabetic characters of
like case.

 - Function: chap:string<? string1 string2
     Returns #t if the first non-matching run of alphabetic upper-case
     or the first non-matching run of alphabetic lower-case or the first
     non-matching run of numeric characters of STRING1 is `string<?'
     than the corresponding non-matching run of characters of STRING2.

          (chap:string<? "a.9" "a.10")                    => #t
          (chap:string<? "4c" "4aa")                      => #t
          (chap:string<? "Revised^{3.99}" "Revised^{4}")  => #t

 - Function: chap:string>? string1 string2
 - Function: chap:string<=? string1 string2
 - Function: chap:string>=? string1 string2
     Implement the corresponding chapter-order predicates.

 - Function: chap:next-string string
     Returns the next string in the _chapter order_.  If STRING has no
     alphabetic or numeric characters, `(string-append STRING "0")' is
     returnd.  The argument to chap:next-string will always be
     `chap:string<?' than the result.

          (chap:next-string "a.9")                => "a.10"
          (chap:next-string "4c")                 => "4d"
          (chap:next-string "4z")                 => "4aa"
          (chap:next-string "Revised^{4}")        => "Revised^{5}"


automatically generated by info2www version 1.2.2.9