chapters for every pagetype
This commit is contained in:
@@ -216,6 +216,25 @@ songs =
|
||||
(end (if (null? (cdr chs)) total (cdadr chs)))
|
||||
(cnt (count-bookmark-songs start end)))
|
||||
(loop (cdr chs) (cons (list start title cnt) acc))))))
|
||||
;; Stellt einer beliebigen Seite (markup-/image-/emptyPage) den Kapitel-
|
||||
;; Eintrag (chapter-to-pdf-toc) bei, falls an Position `this-index` ein
|
||||
;; Kapitel faellig ist, und entfernt es aus `pending`. So fuehrt die
|
||||
;; Kapitel-Referenz zur ersten Seite nach dem \songsChapter -- egal
|
||||
;; welcher Seitentyp das ist. Der Eintrag wird als unsichtbares Overlay
|
||||
;; (\combine) beigelegt, damit er das Seitenlayout nicht veraendert;
|
||||
;; \with-dimensions gibt dem sonst extent-losen pdfmark einen minimalen
|
||||
;; Extent, damit er auch auf leeren Seiten nicht verworfen wird.
|
||||
(chapter-prefixed-markup
|
||||
(lambda (this-index base-markup)
|
||||
(if (and (pair? pending) (<= (car (car pending)) this-index))
|
||||
(let ((cnt (caddr (car pending)))
|
||||
(title (cadr (car pending))))
|
||||
(set! pending (cdr pending))
|
||||
(make-combine-markup
|
||||
base-markup
|
||||
(make-with-dimensions-markup '(0 . 0) '(0 . 0.1)
|
||||
(make-chapter-to-pdf-toc-markup cnt title))))
|
||||
base-markup)))
|
||||
(index 0))
|
||||
(for-each (lambda (songitems)
|
||||
(let ((this-index index))
|
||||
@@ -224,12 +243,15 @@ songs =
|
||||
(let ((filename (car songitems))
|
||||
(songvars (cdr songitems)))
|
||||
(if (eq? filename 'emptyPage)
|
||||
#{ \bookpart { \markup { \null } } #}
|
||||
#{ \bookpart { \markup { $(chapter-prefixed-markup this-index (make-null-markup)) } } #}
|
||||
(if (eq? filename 'markupPage)
|
||||
#{ \bookpart { \markup { $(assq-ref songvars 'markup) } } #}
|
||||
;; Kapitelanfang auf einer markuppage: Kapitel-Eintrag wird dieser
|
||||
;; Seite beigelegt (siehe chapter-prefixed-markup).
|
||||
#{ \bookpart { \markup { $(chapter-prefixed-markup this-index (assq-ref songvars 'markup)) } } #}
|
||||
(if (eq? filename 'imagePage)
|
||||
(let ((xsize (assq-ref songvars 'xsize))
|
||||
(filename (ly:format "~a/~a" imagePagePath (assq-ref songvars 'filename))))
|
||||
(let* ((xsize (assq-ref songvars 'xsize))
|
||||
(filename (ly:format "~a/~a" imagePagePath (assq-ref songvars 'filename)))
|
||||
(img-markup #{ \markup { \pagecenter { \epsfile #X #xsize #filename } } #}))
|
||||
#{ \bookpart {
|
||||
\paper {
|
||||
%{
|
||||
@@ -243,7 +265,7 @@ songs =
|
||||
last-bottom-spacing = #'((basic-distance . 0) (minimum-distance . 0) (padding . 0))
|
||||
page-count = 1
|
||||
}
|
||||
\markup { \pagecenter { \epsfile #X #xsize #filename } }
|
||||
\markup { $(chapter-prefixed-markup this-index img-markup) }
|
||||
} #}
|
||||
)
|
||||
;; Ist ein Kapitel faellig (Start <= aktuelle Position) und dies ein
|
||||
|
||||
Reference in New Issue
Block a user