Am 25. Mai 2018 07:48:58 MESZ schrieb Federico Bruni <f...@inventati.org>: > > >Il giorno gio 24 mag 2018 alle 9:09, Urs Liska <li...@openlilylib.org> >ha scritto: >> >> This is the function as it ended up in my project files: >> >> % Print table of contents entries to <basename>.toc >> % Based on >> % >> >http://lilypond.org/doc/v2.19/Documentation/usage-big-page#sharing-the-table-of-contents >> % Pointed to by "Thomas Morley" >> #(define (oly:create-toc-file layout pages) >> (let* >> ((label-table (ly:output-def-lookup layout 'label-page-table)) >> (toc-items (toc-items))) >> (if (not (null? label-table)) >> (let* >> ( ;; We need a page-offset so entries are offset to begin >> with p.1 >> ;; (for use in \includepdf) >> (page-offset (- (ly:output-def-lookup layout >> 'first-page-number) 1)) >> (format-line >> (lambda (toc-item) >> (let* >> ((label (car toc-item)) >> (text (caddr toc-item)) >> (page (- (assoc-ref label-table label) page-offset))) >> (format #f "~a,subsection,2,{~a},~a" page text >label)))) >> (formatted-toc-items (map format-line toc-items)) >> (whole-string (string-join formatted-toc-items ",\n")) >> (output-name (ly:parser-output-name)) >> (outfilename (format "~a.toc" output-name)) >> (outfile (open-output-file outfilename))) >> (if (output-port? outfile) >> (display whole-string outfile) >> (ly:warning (_ "Unable to open output file ~a for the >> TOC information") outfilename)) >> (close-output-port outfile))))) >> >> page-offset calculates the offset of the first-page-number versus '1' > >> and subtracts that from the actual page number of the TOC entry. That > >> means when your score starts on page 16 a TOC item on the third page >> of the score will still get a TOC entry with page 3, and \includepdf >> will generate the appropriate TOC entry in the enclosing LaTeX >> document. > >I get an error: > >Drawing systems....brani.ly:35:23: In procedure - in expression (- >(assoc-ref label-table label) page-offset): >brani.ly:35:23: Wrong type argument in position 1: #f > >The offending line is: > >(page (- (assoc-ref label-table label) page-offset)))
Can you tell what toc-item contains by inserting a display between the lambda and let lines immediately before that line? _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user