Use chapters for digital toc
* introduce \songsChapter and \markuppage * have nested chapters in PDF toc
This commit is contained in:
@@ -366,7 +366,7 @@ headerToTOC = #(define-music-function (parser location header label) (ly:book? s
|
||||
(let ((song-lines (map (lambda (song)
|
||||
(let* ((filename (symbol->string (car song)))
|
||||
(songvars (cdr song))
|
||||
(page-number (number->string (assoc-get (assq-ref songvars 'label) labelPageTable)))
|
||||
(page-number (assoc-get (assq-ref songvars 'label) labelPageTable))
|
||||
(extractedheadervars (extract-and-check-vars-from-header (assq-ref songvars 'header)
|
||||
'(title starttext alttitle categorytitle categories authors year_text year_melody year_translation year_composition year_adaption infotext translation pronunciation copyright source)))
|
||||
(headervar-or-empty (lambda (varsym)
|
||||
@@ -413,7 +413,7 @@ headerToTOC = #(define-music-function (parser location header label) (ly:book? s
|
||||
(format-info-paragraphs (headervar-or-empty 'translation))
|
||||
(format-info-paragraphs (headervar-or-empty 'pronunciation))
|
||||
))))
|
||||
(alist-delete 'imagePage (alist-delete 'emptyPage song-list)))))
|
||||
(alist-delete 'markupPage (alist-delete 'imagePage (alist-delete 'emptyPage song-list))))))
|
||||
(call-with-output-file "toc.csv"
|
||||
(lambda (port)
|
||||
(csv-write (cons '(
|
||||
@@ -443,6 +443,6 @@ headerToTOC = #(define-music-function (parser location header label) (ly:book? s
|
||||
; we use a delayed stencil to have all the page references available
|
||||
(ly:make-stencil
|
||||
`(delay-stencil-evaluation
|
||||
,(delay (let* ((table (ly:output-def-lookup layout 'label-absolute-page-table)))
|
||||
,(delay (let* ((table (ly:output-def-lookup layout 'label-page-string-table)))
|
||||
(generate-toc-csv (if (list? table) table '()))
|
||||
empty-stencil)))))
|
||||
|
||||
Reference in New Issue
Block a user