]> git.donarmstrong.com Git - lilypond.git/blob - ly/book-paper-defaults.ly
bb344e921e920015fae23f6e2d59ad98de4f3011
[lilypond.git] / ly / book-paper-defaults.ly
1 \version "2.3.2"
2 \bookpaper {
3     
4 #(define-public (book-title paper scopes)
5   "Generate book title from header strings."
6   
7   (define (get sym)
8     (let ((x (ly:modules-lookup scopes sym)))
9       (if (and x (not (unspecified? x))) x "")))
10   
11   (let ((props (page-properties paper)))
12     
13     (interpret-markup
14      paper props
15      (markup
16       #:column
17       (#:override '(baseline-skip . 4)
18       #:column
19       (#:fill-line
20        (#:normalsize (get 'dedication))
21        #:fill-line
22        (#:huge #:bigger #:bigger #:bigger #:bigger #:bold (get 'title))
23        #:override '(baseline-skip . 3)
24        #:column
25        (#:fill-line
26         (#:large #:bigger #:bigger #:bold (get 'subtitle))
27         #:fill-line (#:bigger #:bigger #:bold (get 'subsubtitle)))
28        #:override '(baseline-skip . 5)
29        #:column ("")
30        #:override '(baseline-skip . 2.5)
31        #:column
32        (#:fill-line
33         (#:bigger (get 'poet) #:large #:bigger #:caps (get 'composer))
34         #:fill-line (#:bigger (get 'texttranslator) #:bigger (get 'opus))
35         #:fill-line
36         (#:bigger (get 'meter) #:bigger (get 'arranger))
37         ""
38         #:fill-line (#:large #:bigger (get 'instrument))
39         " "
40         #:fill-line (#:large #:bigger #:caps (get 'piece) ""))))))))
41
42 #(define-public (user-title paper markup)
43   "Generate book title from header markup."
44   (if (markup? markup)
45       (let ((props (page-properties paper))
46             (baseline-skip (chain-assoc-get 'baseline-skip props 2)) )
47         (stack-lines DOWN 0 BASELINE-SKIP
48                      (list (interpret-markup paper props markup))))))
49
50 #(define-public (score-title paper scopes)
51   "Generate score title from header strings."
52   
53   (define (get sym)
54     (let ((x (ly:modules-lookup scopes sym)))
55       (if (and x (not (unspecified? x))) x "")))
56   
57   (let ((props (page-properties paper)))
58     
59     (interpret-markup
60      paper props
61      (markup
62       #:column
63       (#:override '(baseline-skip . 4)
64       #:column
65       (#:fill-line
66        ("" (get 'opus))
67        #:fill-line (#:large #:bigger #:caps (get 'piece) "")))))))
68
69
70   papersize = "a4"
71
72 }