From c4bfc17b89fea765ef9ec96ba7389298d7fe7ebe Mon Sep 17 00:00:00 2001 From: Christoph Wagner Date: Sat, 29 Jun 2024 19:18:05 +0200 Subject: [PATCH] =?UTF-8?q?support=20f=C3=BCr=20r=C3=B6mische=20Zahlen=20i?= =?UTF-8?q?n=20den=20Strophen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- basic_format_and_style_settings.ly | 12 ++++++++++-- default_style.ly | 1 + 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/basic_format_and_style_settings.ly b/basic_format_and_style_settings.ly index c4b090d..7c4e0ef 100644 --- a/basic_format_and_style_settings.ly +++ b/basic_format_and_style_settings.ly @@ -95,8 +95,16 @@ schwarzkopf = \override NoteHead.color = #grey #}) +romanStanza = + #(define-music-function (parser location) () + #{ \override StanzaNumber.style = #'roman #}) + stanza = - #(define-music-function (parser location stanzanumber) (number?) - #{ \set stanza = #(ly:format stanzaFormat stanzanumber) #}) +#(define-music-function (parser location stanzanumber) (number?) + (make-apply-context + (lambda (context) + (let* ((stanzastyle (ly:assoc-get 'style (ly:context-grob-definition context 'StanzaNumber))) + (formattedStanzaNumber (format #f (if (eq? stanzastyle 'roman) romanStanzaFormat stanzaFormat) stanzanumber))) + (ly:context-set-property! context 'stanza formattedStanzaNumber))))) ref = { \set stanza = \refString } diff --git a/default_style.ly b/default_style.ly index d8264db..6ab19fa 100644 --- a/default_style.ly +++ b/default_style.ly @@ -15,6 +15,7 @@ songTocColumns = 3 globalSize = 15 lyricSize = 1.6 stanzaFormat = "~a." +romanStanzaFormat = "~@r." refString = "Ref.:" % hübsche Wiederholungszeichen für den Liedtext repStart = "𝄆"