break-visibility (unsichtbar machen) benutzen

Die meisten Layout-Objekte werden nur einmal gesetzt, aber einige, wie Taktstriche, Schlüssel, Taktartbezeichnung und Tonartvorzeichen, müssen mehrmals gesetzt werden, wenn die Zeile gewechselt wird: einmal am Ende des oberen Systems und ein zweites Mal zu Beginn des nächsten Systems. Derartige Objekte werden als trennbar bezeichnet und haben eine Eigenschaft, die break-visibility-Eigenschaft, mit der ihre Sichtbarkeit an allen drei Positionen, an denen sie auftreten können, kontrolliert werden kann: zu Beginn einer Zeile, innerhalb einer Zeile, wenn sie verändert werden, und am Ende einer Zeile, wenn die Änderung hier stattfindet.

Die Taktart wird beispielsweise standardmäßig nur zu Beginn des ersten Systems gesetzt, aber an anderen Stellen nur, wenn sie sich ändert. Wenn diese Änderung am Ende eines Systems auftritt, wird die neue Taktart am Ende des aktuellen Systems als auch zu Beginn des nächsten Systems gesetzt.

Dieses Verhalten wird von der break-visibility-Eigenschaft kontrolliert, die erklärt wird in Sichtbarkeit und Farbe von Objekten. Die Eigenschaft braucht einen Vektor von drei Booleschen Werten, die in ihrer Reihenfolge bestimmte, ob das Objekt a) zu Ende der Zeile, b) innerhalb einer Zeile oder c) zu Beginn einer Zeile gesetzt wird. Oder, genauer gesagt, vor einem Zeilenumbruch, an Stellen, wo kein Zeilenumbruch auftritt oder nach einem Zeilenumbruch.

Die acht möglichen Kombinationen können auch durch vordefinierte Funktionen bestimmt werden, welche in der Datei scm/output-lib.scm definiert sind. Die letzten drei Spalten der folgenden Tabelle zeigen an, ob das Layout-Objekt an einer bestimmten Position sichtbar sein wird oder nicht:

FunktionVektorVorkeinNach
FormFormUmbruchUmbruchUmbruch
all-visible'#(#t #t #t)jajaja
begin-of-line-visible'#(#f #f #t)neinneinja
center-visible'#(#f #t #f)neinjanein
end-of-line-visible'#(#t #f #f)janeinnein
begin-of-line-invisible'#(#t #t #f)jajanein
center-invisible'#(#t #f #t)janeinja
end-of-line-invisible'#(#f #t #t)neinjaja
all-invisible'#(#f #f #f)neinneinnein

Die Standardeinstellungen von break-visibility hängen vom Layout-Objekt ab. Die folgende Tabelle zeigt alle wichtigen Layout-Objekte, die mit break-visibility verändert werden können und die jeweiligen Standardeinstellungen der Eigenschaft:

Layout-ObjektNormaler KontextStandardeinstellung
BarLine (Taktstrich)Scorecalculated
BarNumber (Taktzahl)Scorebegin-of-line-visible
BreathingSign (Atemzeichen)Voicebegin-of-line-invisible
Clef (Schlüssel)Staffbegin-of-line-visible
CustosStaffend-of-line-visible
DoublePercentRepeat (Doppel-Prozent-WiederholungVoicebegin-of-line-invisible
KeySignature (Tonart)Staffbegin-of-line-visible
ClefModifier (Oktavierungs-Acht)Staffbegin-of-line-visible
RehearsalMark (Übungszeichen)Scoreend-of-line-invisible
TimeSignature (Taktart)Staffall-visible

Das Beispiel unten zeigt die Verwendung der Vektor-Form um die Sichtbarkeit von Taktlinien zu bestimmten:

f4 g a b
f4 g a b
% Remove bar line at the end of the current line
\once \override Score.BarLine.break-visibility = ##(#f #t #t)
\break
f4 g a b
f4 g a b

[image of music]

Obwohl alle drei Bestandteile des Vektors, mit denen break-visibility definiert wird, vorhanden sein müssen, haben nicht alle eine Auswirkung auf jedes Layout-Objekt, und einige Kombinationen können sogar Fehler hervorrufen. Es gelten die folgenden Einschränkungen:


LilyPond Benutzerhandbuch v2.25.22 (development-branch).