[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Make TOC entries available to LaTeX
From: |
Urs Liska |
Subject: |
Re: Make TOC entries available to LaTeX |
Date: |
Fri, 25 May 2018 07:55:22 +0200 |
User-agent: |
K-9 Mail for Android |
Am 25. Mai 2018 07:48:58 MESZ schrieb Federico Bruni <address@hidden>:
>
>
>Il giorno gio 24 mag 2018 alle 9:09, Urs Liska <address@hidden>
>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?
- Re: Make TOC entries available to LaTeX, Federico Bruni, 2018/05/24
- Re: Make TOC entries available to LaTeX, Federico Bruni, 2018/05/25
- Re: Make TOC entries available to LaTeX,
Urs Liska <=
- Re: Make TOC entries available to LaTeX, Federico Bruni, 2018/05/25
- Re: Make TOC entries available to LaTeX, Urs Liska, 2018/05/25
- Re: Make TOC entries available to LaTeX, Federico Bruni, 2018/05/25
- Re: Make TOC entries available to LaTeX, Urs Liska, 2018/05/25
- Re: Make TOC entries available to LaTeX, Federico Bruni, 2018/05/25