fix problem with gif->png suffix change; fix ToC when a subsection has a tag prefix

svn: r13010

original commit: 332461c30e5d9188d4e292bc8231b0bdd1b7b2c1
This commit is contained in:
Matthew Flatt 2009-01-05 12:06:33 +00:00
parent c8a8d37408
commit e296df0471
2 changed files with 13 additions and 6 deletions

View File

@ -443,7 +443,8 @@
(part-collected-info part ri)))) (part-collected-info part ri))))
#t #t
quiet quiet
depth))) depth
null)))
(define/public (table-of-contents part ri) (define/public (table-of-contents part ri)
(do-table-of-contents part ri -1 not +inf.0)) (do-table-of-contents part ri -1 not +inf.0))
@ -456,14 +457,17 @@
(define/public (quiet-table-of-contents part ri) (define/public (quiet-table-of-contents part ri)
(do-table-of-contents part ri 1 (lambda (x) #t) +inf.0)) (do-table-of-contents part ri 1 (lambda (x) #t) +inf.0))
(define/private (generate-toc part ri base-len skip? quiet depth) (define/private (generate-toc part ri base-len skip? quiet depth prefixes)
(let* ([number (collected-info-number (part-collected-info part ri))] (let* ([number (collected-info-number (part-collected-info part ri))]
[prefixes (if (part-tag-prefix part)
(cons (part-tag-prefix part) prefixes)
prefixes)]
[subs [subs
(if (and (quiet (and (part-style? part 'quiet) (if (and (quiet (and (part-style? part 'quiet)
(not (= base-len (sub1 (length number)))))) (not (= base-len (sub1 (length number))))))
(positive? depth)) (positive? depth))
(apply append (map (lambda (p) (apply append (map (lambda (p)
(generate-toc p ri base-len #f quiet (sub1 depth))) (generate-toc p ri base-len #f quiet (sub1 depth) prefixes))
(part-parts part))) (part-parts part)))
null)]) null)])
(if skip? (if skip?
@ -485,7 +489,9 @@
number number
(list (make-element 'hspace '(" ")))) (list (make-element 'hspace '(" "))))
(or (part-title-content part) '("???"))) (or (part-title-content part) '("???")))
(car (part-tags part)))))))) (for/fold ([t (car (part-tags part))])
([prefix (in-list prefixes)])
(convert-key prefix t))))))))
subs)]) subs)])
(if (and (= 1 (length number)) (if (and (= 1 (length number))
(or (not (car number)) ((car number) . > . 1))) (or (not (car number)) ((car number) . > . 1)))

View File

@ -199,8 +199,9 @@
(if (disable-images) (if (disable-images)
(void) (void)
(let ([fn (install-file (let ([fn (install-file
(gif-to-png
(main-collects-relative->path (main-collects-relative->path
(gif-to-png (image-file-path style))))]) (image-file-path style))))])
(printf "\\includegraphics[scale=~a]{~a}" (printf "\\includegraphics[scale=~a]{~a}"
(image-file-scale style) fn)))] (image-file-scale style) fn)))]
[else (super render-element e part ri)]))) [else (super render-element e part ri)])))