1\version "2.21.0"
2
3\header {
4  texidoc = "The rest markup function works for a variety of style, dot and
5duration settings."
6}
7
8showSimpleRest =
9#(define-scheme-function (dots) (string?)
10   (make-override-markup
11     (cons 'baseline-skip 7)
12     (make-column-markup
13       (map
14         (lambda (style)
15                 (make-line-markup
16                   (list
17                     (make-pad-to-box-markup
18                       '(0 . 20) '(0 . 0)
19                        (symbol->string style))
20                     (make-override-markup
21                       (cons 'line-width 60)
22                       (make-override-markup
23                         (cons 'style style)
24                         (make-fill-line-markup
25                           (map
26                             (lambda (duration)
27                                     (make-rest-markup
28                                       (if (string? duration)
29                                           duration
30                                           (string-append
31                                             (number->string (expt 2 duration))
32                                             dots))))
33                             (append
34                               '("maxima" "longa" "breve")
35                               (iota 11)))))))))
36         '(default
37           mensural
38           neomensural
39           classical
40           baroque
41           altdefault
42           petrucci
43           blackpetrucci
44           semipetrucci
45           kievan)))))
46
47showMultiMeasureRests =
48#(define-scheme-function ()()
49   (make-override-markup
50     (cons 'baseline-skip 7)
51     (make-column-markup
52       (map
53         (lambda (style)
54                 (make-line-markup
55                   (list
56                     (make-pad-to-box-markup
57                        '(0 . 20) '(0 . 0)
58                         (symbol->string style))
59                     (make-override-markup
60                       (cons 'line-width 80)
61                       (make-override-markup
62                         (cons 'style style)
63                         (make-fill-line-markup
64                           (map
65                             (lambda (duration)
66                               (make-line-markup
67                                 (list
68                                   (make-override-markup
69                                      (cons 'multi-measure-rest #t)
70                                      (make-rest-markup
71                                         (number->string duration))))))
72                             (cdr (iota 13)))))))))
73         '(default
74           mensural
75           neomensural
76           classical
77           baroque
78           altdefault
79           petrucci
80           blackpetrucci
81           semipetrucci
82           kievan)))))
83
84\markup \column { \bold "Simple Rests" \combine \null \vspace #0.1 }
85
86\showSimpleRest "."
87
88\markup \column { \combine \null \vspace #0.1 \bold "MultiMeasureRests" \combine \null \vspace #0.1 }
89
90\showMultiMeasureRests
91