tweak table-of-contents rendering again

svn: r10902
This commit is contained in:
Matthew Flatt 2008-07-24 13:45:08 +00:00
parent 47b678e3bb
commit 8e4647cd6c
5 changed files with 15 additions and 14 deletions

View File

@ -355,13 +355,13 @@
null)
(define/public (render-toc-view d ri)
(define has-sub-parts?
(pair? (part-parts d)))
(define sub-parts-on-other-page?
(and (pair? (part-parts d))
(part-whole-page? (car (part-parts d)) ri)))
(define toc-chain
(let loop ([d d] [r (if sub-parts-on-other-page?
(list d)
'())])
(let loop ([d d] [r (if has-sub-parts? (list d) '())])
(cond [(collected-info-parent (part-collected-info d ri))
=> (lambda (p) (loop p (cons p r)))]
[(pair? r) r]
@ -389,9 +389,18 @@
(define children (part-parts t)) ; note: might be empty
(define id (format "tocview_~a" i))
(define last? (eq? t (last toc-chain)))
(define expand? (and last?
(or (collected-info-parent (part-collected-info d ri)) ;; => last isn't this page
sub-parts-on-other-page?))) ;; => last is this page, and it's useful to list subs
(define expand? (or (and last?
(or (not has-sub-parts?)
sub-parts-on-other-page?))
(and has-sub-parts?
(not sub-parts-on-other-page?)
;; next-to-last?
(let loop ([l toc-chain])
(cond
[(null? l) #f]
[(eq? t (car l))
(and (pair? (cdr l)) (null? (cddr l)))]
[else (loop (cdr l))])))))
(define top? (eq? t top))
(define header
`(table ([cellspacing "0"] [cellpadding "0"])

View File

@ -5,8 +5,6 @@
@guideintro["bytestrings"]{byte strings}
@local-table-of-contents[]
A @deftech{byte string} is a fixed-length array of bytes. A
@pidefterm{byte} is an exact integer between @scheme[0] and
@scheme[255] inclusive.

View File

@ -7,8 +7,6 @@
@guideintro["characters"]{characters}
@local-table-of-contents[]
MzScheme characters range over Unicode scalar values, which includes
characters whose values range from @schemevalfont{#x0} to
@schemevalfont{#x10FFFF}, but not including @schemevalfont{#xD800} to

View File

@ -9,8 +9,6 @@
@guideintro["numbers"]{numbers}
@local-table-of-contents[]
All numbers are @deftech{complex numbers}. Some of them are
@deftech{real numbers}, and all of the real numbers that can be
represented are also @deftech{rational numbers}, except for

View File

@ -5,8 +5,6 @@
@guideintro["strings"]{strings}
@local-table-of-contents[]
A @deftech{string} is a fixed-length array of
@seclink["characters"]{characters}.