referencable appendix
This commit is contained in:
parent
8800341e18
commit
8dfbc5ef25
44
appendix.ly
Normal file
44
appendix.ly
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
appendix =
|
||||||
|
#(define-void-function (parser location title) (markup?)
|
||||||
|
(define (appendix-item->markup layout props appendix-item)
|
||||||
|
(interpret-markup layout props
|
||||||
|
(markup
|
||||||
|
#:override (cons 'appendixItem:heading (assoc-ref appendix-item "heading"))
|
||||||
|
#:override (cons 'appendixItem:text (assoc-ref appendix-item "text"))
|
||||||
|
(ly:output-def-lookup layout 'appendixItemMarkup))))
|
||||||
|
(ly:book-add-bookpart! (ly:parser-lookup '$current-book)
|
||||||
|
#{
|
||||||
|
\bookpart {
|
||||||
|
\markup { #title }
|
||||||
|
#(for-each
|
||||||
|
(lambda (item)
|
||||||
|
(add-score (ly:make-page-label-marker (string->symbol (car item))))
|
||||||
|
(add-text
|
||||||
|
(make-on-the-fly-markup
|
||||||
|
(lambda (layout props arg) (appendix-item->markup layout props (cdr item)))
|
||||||
|
(make-null-markup)))
|
||||||
|
)
|
||||||
|
(reverse APPENDIX_DATA))
|
||||||
|
}
|
||||||
|
#}))
|
||||||
|
|
||||||
|
#(define-markup-command (appendix-ref layout props label) (symbol?)
|
||||||
|
"call page-ref to appendix-item"
|
||||||
|
(interpret-markup layout props
|
||||||
|
(markup #:with-link label
|
||||||
|
#:override (cons 'appendixPage (make-page-ref-markup label "XXX" "?"))
|
||||||
|
(ly:output-def-lookup layout 'appendixReferenceMarkup))))
|
||||||
|
|
||||||
|
\paper {
|
||||||
|
appendixItemMarkup = \markup {
|
||||||
|
\left-column {
|
||||||
|
\line { \large \bold \fromproperty #'appendixItem:heading }
|
||||||
|
\vspace #0.2
|
||||||
|
\sans \wordwrap-field #'appendixItem:text
|
||||||
|
\vspace #0.7
|
||||||
|
}
|
||||||
|
}
|
||||||
|
appendixReferenceMarkup = \markup {
|
||||||
|
\fromproperty #'appendixPage
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user