Angepasstes Layout für Titelumgebungen
\markup
-Befehle in der \header
-Umgebung sind sinnvoll
für einfaches Formatieren von Text, aber sie gewähren keine genaue
Kontrolle über die Positionierung von Titeln. Um die Positionierung
von Titeltextfeldern vorzunehmen, eignen sich beide oder eine von
folgenden Variablen (die man in der \paper
-Umgebung einsetzen muss):
-
bookTitleMarkup
-
scoreTitleMarkup
Die Positionierung von Titeln, wenn die Standardeinstellung dieser
Variablen benützt werden, wird anhand einem Beispiel gezeigt in
Standardlayout von book
- und Partitur-Titelumgebungen.
Die Standardeinstellungen von scoreTitleMarkup
, wie in der
Datei ly/titling-init.ly definiert, sind:
scoreTitleMarkup = \markup { \column { \if \should-print-all-headers { \bookTitleMarkup \hspace #1 } \fill-line { \fromproperty #'header:piece \fromproperty #'header:opus } } }
Dadurch werden die Textfelder piece
(Stück) und opus
an den gegenüberliegenden Enden der gleichen Zeile platziert:
\score { \header { piece = "PRAELUDIUM I" opus = "BWV 846" } { s1 } }
Das folgende Beispiel verändert die Einstellungen von
scoreTitleMarkup
, sodass das Textfeld piece
zentriert wird und in fetter, größerer Schrift erscheint.
\book { \paper { indent = 0\mm scoreTitleMarkup = \markup { \fill-line { \null \fontsize #4 \bold \fromproperty #'header:piece \fromproperty #'header:opus } } } \header { tagline = ##f } \score { \header { piece = "PRAELUDIUM I" opus = "BWV 846" } { s1 } } }
Textfelder, die normalerweise nur im Haupttitel ausgegeben werden,
können auch in die Titel einzelner Partituren aufgenommen werden,
indem man print-all-headers
in die \paper
-Umgebung einfügt.
Ein Nachteil dieser Methode ist, dass Textfelder, die tatsächlich nur
im Haupttitel erscheinen sollen, manuell für jede Partitur unterdrückt
werden müssen. Siehe auch Wie funktioniert die Titel-Umgebung?.
Um das zu vermeiden, kann das gewünschte Feld zur Definition von
scoreTitleMarkup
hinzugefügt werden. Im folgenden Beispiel
wird das Komponistenfeld (composer
) (normalerweise mit
bookTitleMarkup
assoziiert) zu scoreTitleMarkup
hinzugefügt, sodass jede Partitur einen eigenen Komponisten haben kann.
\book { \paper { indent = 0\mm scoreTitleMarkup = \markup { \fill-line { \null \fontsize #4 \bold \fromproperty #'header:piece \fromproperty #'header:composer } } } \header { tagline = ##f } \score { \header { piece = "MENUET" composer = "Christian Petzold" } { s1 } } \score { \header { piece = "RONDEAU" composer = "François Couperin" } { s1 } } }
Es ist auch möglich, eigene Textfelder zu erstellen und dann auf sie in der Beschriftungsdefinition zu verweisen:
\book { \paper { indent = 0\mm scoreTitleMarkup = \markup { \fill-line { \null \override #`(direction . ,UP) \dir-column { \center-align \fontsize #-1 \bold \fromproperty #'header:mycustomtext %% User-defined field \center-align \fontsize #4 \bold \fromproperty #'header:piece } \fromproperty #'header:opus } } } \header { tagline = ##f } \score { \header { piece = "FUGA I" mycustomtext = "A 4 VOCI" %% User-defined field opus = "BWV 846" } { s1 } } }
Siehe auch
Notationsreferenz: Wie funktioniert die Titel-Umgebung?.