Hallo Eugenio,
im Prinzip hat Eluze absolut korrekt geantwortet.
Allerdings würde ich nicht
string? abfragen sondern
markup?Ein string ist hier viel zu limitiert in der Anwendung.
Warum nicht die Farbe als Variable setzen.
Btw, rgb-Farben im Markup funktionieren simpelst:
\with-color #'(0 0 1)Es ist in LilyPond nicht üblich den Namen für das markup-command als camelCase zu schreiben.
Benutze besser:
title-oneMiitlerweile ist es möglich an manchen Stellen LilyPond-Syntax in scheme/guile zu benutzen. Das vereinfacht die Sache.
Dein markup-command könnte dann so aussehen:
#(define-markup-command (title-one layout props color text) (color? markup?)
(interpret-markup layout props
#{
\markup
\fontsize #4 \bold
\with-color #color
\column {
#text
}
#})) Obwohl ich mich frage was das \column hier soll!?
Um den Titel neu zu definieren mußt Du das
bookTitleMarkup aus
/ly/titling-init.ly neu definieren.
D.h.
Kopiere dort heraus und füge es in Dein layout-file ein.
Verändere es nach Deinen Wünschen und benenne es neu. Z.B. `bookBlueTitleMarkup'
Aktiviere es in \paper mit
\paper {
bookTitleMarkup = \bookBlueTitleMarkup
}Sollen page-header auch blau werden? Dann muß Du da auch noch ran, habe ich mir jetzt gespart.
Im folgenden ein komplettes Beispiel. Wobei mir nicht ganz klar ist, ob Du nur den Titel oder den ganzen header einfärben möchtest.
Beide Möglichkeiten sind kodiert (siehe Kommentare im Code), aktiv eingefärbt ist im Moment nur der Titel.
Allerdings stellt sich mir die Frage, warum Du überhaupt ein neues markup-command schreibst. Du könntest die gewünschten Änderungen doch auch direkt im `bookBlueTitleMarkup' vornehmen.
\version "2.16.2"
#(define-markup-command (title-one layout props color text) (color? markup?)
(interpret-markup layout props
#{
\markup
\fontsize #4 \bold
\with-color #color
\column {
#text
}
#}))
bookBlueTitleMarkup = \markup {
% Um den kompletten header einzufärben benutze:
% \title-one #'(0 0 1)
\override #'(baseline-skip . 3.5)
\column {
\fill-line { \fromproperty #'header:dedication }
\override #'(baseline-skip . 3.5)
\column {
\fill-line {
\huge \larger \larger \bold
% Um nur den Titel einzufärben benutze:
\title-one #'(0 0 1)
\fromproperty #'header:title
}
\fill-line {
\large \bold
\fromproperty #'header:subtitle
}
\fill-line {
\smaller \bold
\fromproperty #'header:subsubtitle
}
\fill-line {
\fromproperty #'header:poet
{ \large \bold \fromproperty #'header:instrument }
\fromproperty #'header:composer
}
\fill-line {
\fromproperty #'header:meter
\fromproperty #'header:arranger
}
}
}
}
\paper {
bookTitleMarkup = \bookBlueTitleMarkup
}
\header {
title = "DIESER TITEL IST BLAU"
subtitle = "Subtitle"
composer = "Composer"
}
\markup \title-one #red #"Dieses Markup ist rot"Gruß,
Harm
P.S.
Meine Lilypond-Version ist 16.0.2.
Diese Version möchte ich auch haben.
