Style language - making a table of contents
(element (doc title)
(sosofo-append
(make page-sequence
initial-page-models: (list chapter-first-page)
(make paragraph
font-size: 28pt
line-spacing: 32pt
quadding: 'center))
(table-of-contents)))
(define (table-of-contents)
(make page-sequence
force-first-page: 'front
repeat-page-models: (list chapter-first-page)
(make sequence
label: 'main
(make paragraph
use: chapter-title-style
(literal "Table of Contents"))
(with-mode toc
(process-node-list
(q-element 'title (tree-root (current-node))))))))
(mode toc
(element title
(make paragraph
(literal
(format-number (ancestor-child-number "CHAPTER")
"1"))
(if (have-ancestor? "SECTION")
(literal
"."
(format-number (ancestor-child-number "SECTION")
"1"))
(empty-sosofo))
(literal ". "))
(process-children)
(make leader (literal "."))
(number-indirect-sosofo (page-number))))
[Prev][Next]