[ << Abstände ] | [Anfang][Inhalt][Index] | [ Standardeinstellungen verändern >> ] |
[ < Partiturlayout ] | [ Nach oben : Partiturlayout ] | [ Die Notensystemgröße einstellen > ] |
4.2.1 Die \layout
-Umgebung
Während die \paper
-Umgebung Einstellungen für die Formatierung
der Seiten eines gesamten Dokuments enthalten, enthält die
\layout
-Umgebung Einstellungen für einzelne Partituren. Um
Layoutoptionen für Partituren global einzustellen, müssen sie in einer
\layout
-Umgebung gesetzt werden, die sich auf höchster Ebene in
der Datei befindet. Um sie für einzelne Partituren festzulegen, muss die
\layout
-Umgebung innerhalb der \score
-Umgebung nach den Noten
eingetraten werden. Einstellungen, die in einer \layout
-Umgebung
vorkommen können, beinhalten:
- die
layout-set-staff-size
-Scheme-Funktion, - Kontextveränderungen in
\context
-Umgebungen und -
\paper
-Variablen, die das Aussehen einer Partitur beeinflussen.
Die layout-set-staff-size
-Funktion wird im nächsten Abschnitt behandelt,
Die Notensystemgröße einstellen. Kontextveränderungen werden in einem
eigenen Kapitel behandelt, siehe Umgebungs-Plugins verändern and
Die Standardeinstellungen von Kontexten ändern. Die \paper
-Variablen,
die innerhalb der \layout
-Umgebungen erlaubt sind, sind:
-
line-width
,ragged-right
undragged-last
(siehe\paper
-Variablen für Breite und Ränder) -
indent
undshort-indent
(siehe\paper
-Variablen für Verschiebungen und Einrückungen) -
system-count
(siehe\paper
-Variablen für den Zeilenumbruch)
Hier ist ein Beispiel für eine \layout
-Umgebung:
\layout { indent = 2\cm \context { \StaffGroup \override StaffGrouper.staff-staff-spacing.basic-distance = #8 } \context { \Voice \override TextScript.padding = #1 \override Glissando.thickness = #3 } }
Mehrfache \layout
-Umbgebungen können als Ausdrücke auf höchster
Ebene eingegeben werden. Das kann beispielsweise nützlich sein, wenn
unterschiedliche Einstellungen in extra Dateien gespeichert werden und
optional eingefügt werden. Intern wird eine Kopie der aktuellen
\layout
-Konfiguration gemacht, wenn eine \layout
-Umgebung
ausgewertet wird, dann erst werden Änderungen aus der Umgebung angewendet
und das Ergebnis als die neue aktuelle Konfiguration gespeichert.
Aus der Sicht des Benutzers werden die \layout
-Umgebungen
kombiniert, aber in Konfliktsituationen (wenn die gleiche Eigenschaft
in unterschiedlichen Umgebungen geändert wird), erhält die spätere
Definition den Vorrang.
Wenn also diese Umgebung:
\layout { \context { \Voice \override TextScript.color = #magenta \override Glissando.thickness = #1.5 } }
nach der Umgebung aus dem vorherigen Beispiel geschrieben wird, werden
die 'padding
- und 'color
-Einstellungen für TextScript
kombiniert, aber die spätere 'thickness
-Einstellung für
Glissando
ersetzt (oder versteckt) die vorherige.
\layout
-Umgebungen können einer Variable zur späteren Benutzung
zugewiesen werden, aber die Funktionsweise dieser Zuweisung ist geringfügig
aber deutlich unterschiedlich von der Variante, sie auszuschreiben.
Wenn eine Variable etwa so definiert wird:
layoutVariable = \layout { \context { \Voice \override NoteHead.font-size = #4 } }
dann enthält sie die aktuelle \layout
-Konfiguration mit zusätzlicher
Veränderung von NoteHead #'font-size
(der Schriftgröße der Notenköpfe),
aber diese Kombination wird nicht als nächste aktuelle
Konfiguration gespeichert. Man muss sich im klaren sein, dass die
„aktuelle Konfiguration“ gelesen wird, wenn die Variable erstellt
wird, nicht wenn sie benutzt wird. Darum ist der Inhalt der Variable
abhängig von ihrer Position in der Partitur.
Die Variable kann dann auch innerhalb einer anderen \layout
-Umgebung
eingesetzt werden, etwa:
\layout { \layoutVariable \context { \Voice \override NoteHead.color = #red } }
Eine \layout
-Umgebung, die eine Variable enthält wie im Beispiel oben,
kopiert die aktuelle Konfiguration nicht, sondern benützt den
Inhalt von \layoutVariable
als Basiskonfiguration für die weiteren
Veränderungen. Das heißt, dass Änderungen, die zwischen der Definition
der Variable und ihrer Benutzung definiert wurden, verloren gehen.
Wenn layoutVariable
kurz vor ihrer Benutzung definiert wird (oder
mit \include
eingefügt wird), entspricht ihr Inhalt der
aktuellen Konfiguration plus die Änderungen, die die Variable definiert.
Das obige Beispiel, das den Einsatz von \layoutVariable
zeigt,
würde in seiner finalen Version folgende \layout
-Umgebung haben:
TextScript.padding = #1 TextScript.color = #magenta Glissando.thickness = #1.5 NoteHead.font-size = #4 NoteHead.color = #red
plus die Veränderungen an Einrückung (indent
) und StaffGrouper
.
Aber wenn die Variable vor der ersten \layout
-Umgebung definiert
wird, würde die aktuelle Konfiguration nur enthalten:
NoteHead.font-size= #4 % (written in the variable definition) NoteHead.color = #red % (added after the use of the variable)
Wenn man sorgfältig plant, können \layout
-Variablen ein wertvolles
Instrument sein, um das Layout-Design von Quellen zu strukturieren und
auch dazu dienen, die Layout-Einstellungen an einer bestimmten Stelle
wieder zurückzusetzen.
Siehe auch
Notationsreferenz: Die Standardeinstellungen von Kontexten ändern, Die Notensystemgröße einstellen, Umgebungs-Plugins verändern.
Schnipsel: Spacing.
[ << Abstände ] | [Anfang][Inhalt][Index] | [ Standardeinstellungen verändern >> ] |
[ < Partiturlayout ] | [ Nach oben : Partiturlayout ] | [ Die Notensystemgröße einstellen > ] |