On 1/9/12 3:59 PM, "Francisco Vila" <paconet....@gmail.com> wrote:
>2012/1/9 Светлана <eurid...@yandex.ru>: >> 10.01.2012, 00:01, "Francisco Vila" <paconet....@gmail.com>: >>> Use complex markups as syllables. >>> >>> { c' } \addlyrics { \markup { \concat { \with-color #red "A" "bc" } } } >>> >>> -- >>> Francisco Vila. Badajoz (Spain) >>> www.paconet.org , www.csmbadajoz.com >> >> Well, thank you, that works! But each score has at least 30 syllables >>and each of them has 1 or 2 colored letters... quite a mess in the >>code... Could there be any way to make this shorter and readable? > >Are the coloured symbols always the first ones in a given syllable? >Then a simple scheme function that takes two arguments could work. > >#(define-markup-command (firstred layout props sone stwo) (string? >string?) > "Print the first string in red" > (interpret-markup layout props > (markup #:concat ((#:with-color red sone) stwo)))) > >{ c' c' c' c' } > \addlyrics { > > \markup \firstred #"A" #"bc" > Def > Ghi > \markup \firstred #"Jk" #"l" >} One could also do the following #(define-markup-command (center_red layout props sone stwo sthree) (string? string? string?) "Print the middle string in red" (interpret-markup layout props (markup #:concat (sone (#:with-color red stwo) sthree)))) { c' c' c' c' } \addlyrics { \markup \center_red #"A" #"bc" #"" Def \markup \center_red #"" #"G" #"hi" \markup \center_red #"J" #"k" #"l" } Or one could define three markup commands: first_red, center_red, and last_red. HTH, Carl _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user