\ref can take a list of stanza numbers now
This commit is contained in:
parent
a368a3c589
commit
ddd4888041
@ -24,6 +24,11 @@
|
||||
markup-system-spacing = #'((basic-distance . 1))
|
||||
score-markup-spacing = #'((padding . 2))
|
||||
top-markup-spacing = #'((basic-distance . 0) (minimum-distance . 0) (padding . 0))
|
||||
refMarkupFormatter = #(lambda (layout props stanzanumbers)
|
||||
(interpret-markup layout props
|
||||
(if (null? stanzanumbers)
|
||||
refString
|
||||
(ly:format refStringWithNumbers (string-join (map (lambda (stanzanumber) (ly:format "~a." stanzanumber)) stanzanumbers) ", ")))))
|
||||
}
|
||||
|
||||
generalLayout = \layout {
|
||||
@ -125,10 +130,15 @@ stanza =
|
||||
#}
|
||||
)
|
||||
|
||||
ref = {
|
||||
ref =
|
||||
#(define-music-function (stanzanumbers lyrics) ((number-list? (list)) ly:music?)
|
||||
#{ \lyricmode {
|
||||
\once \override StanzaNumber.layer = 23 % set this to signal that there is a real stanza and no repeat signs
|
||||
\set stanza = \refString
|
||||
}
|
||||
\set stanza = #(make-on-the-fly-markup (lambda (layout props m) ((ly:output-def-lookup layout 'refMarkupFormatter) layout props stanzanumbers)) (make-null-markup))
|
||||
#lyrics
|
||||
}
|
||||
#}
|
||||
)
|
||||
|
||||
% prints a repStart Sign as stanza if the tag 'repeats is kept.
|
||||
% if there was a stanza already set by the stanza function with StanzaNumber.layer = 23 we set that also as stanza.
|
||||
|
@ -18,6 +18,7 @@ lyricSize = 1.6
|
||||
stanzaFormat = "~a."
|
||||
romanStanzaFormat = "~@r."
|
||||
refString = "Ref.:"
|
||||
refStringWithNumbers = "Ref. ~a:"
|
||||
% hübsche Wiederholungszeichen für den Liedtext
|
||||
repStart = "𝄆"
|
||||
repStop = "𝄇"
|
||||
|
Loading…
x
Reference in New Issue
Block a user