| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
@translationof Placement of objects
| 4.4.1 Automatické chování | ||
| 4.4.2 Předměty uvnitř notové osnovy | ||
| 4.4.3 Předměty vně notové osnovy |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
@translationof Automatic behavior
Es gibt Objekte der Notation, die zum Notensystem gehören, und
andere, die außerhalb des Systems gesetzt werden müssen. Sie
werden within-staff-Objekte bzw.
outside-staff-Objekte genannt.
within-staff-Objekte werden innerhalb des Notensystems
(engl. staff) gesetzt: Notenköpfe, Hälse, Versetzungszeichen
usw. Ihre Position ist üblicherweise durch die notierte Musik
bestimmt – sie werden vertikal auf bestimmten Linien notiert
oder sind an andere Objekte gebunden, die vertikal festgelegt
sind. Kollisionen von Notenköpfen, Hälsen und Versetzungszeichen
werden normalerweise automatisch vermieden. Es gibt
Befehle, um dieses automatische Verhalten zu verändern, wie
unten gezeigt werden soll.
Objekte, die außerhalb des Notensystems gesetzt werden, sind
unter Anderem Übungsmarkierungen, Text und Dynamikzeichen.
LilyPonds Regel für ihre vertikale Positionierung lautet, sie so nah wie
möglich am Notensystem zu setzen, aber nicht so nah, dass
sie mit anderen Objekten kollidieren. Dabei wird die
outside-staff-priority-(Priorität außerhalb des Notensystems)-Eigenschaft
eingesetzt, um die Reihenfolge zu bestimmen, in denen Objekte gesetzt werden
sollen.
Zuerst werden alle Innersystemobjekte von LilyPond gesetzt.
Dann werden die Objekte außerhalb des Systems nach
ihrer
outside-staff-priority geordnet. Die outside-staff-Objekte
werden dann nacheinander gesetzt, mit der niedrigsten
Priorität beginnend, und so gesetzt, dass sie nicht mit anderen
Objekten kollidieren, die schon gesetzt wurden. Wenn also zwei
outside-staff-Objekte um den selben Platz streiten,
wird das mit der geringeren outside-staff-priority näher
am System gesetzt werden. Wenn zwei Objekte die selbe Priorität
haben, wird das näher am System gesetzt, welches zuerst
auftritt.
Im folgenden Beispiel haben alle Textbeschriftungen die gleiche Priorität (weil sie nicht explizit gesetzt worden ist). Beachten Sie, dass „Text3“ wieder dicht am System gesetzt wurde, weil er unter „Text2“ passt.
c2^"Text1" c2^"Text2" c2^"Text3" c2^"Text4"
Notensysteme werden in den Standardeinstellungen auch so dicht beieinander gesetzt wie es möglich ist (mit einem minimalen Abstand). Wenn Noten sehr weit aus einem System herausragen, zwingen sie das nächste System weiter weg, wenn eine Kollision drohen würde. Im nächsten Beispiel sehen Sie, wie Noten auf zwei Systemen „ineinander greifen“.
<< \new Staff { \relative { c'4 a, } } \new Staff { \relative { c''''4 a, } } >>
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
@translationof Within-staff objects
Es wurde schon gezeigt, wie die Befehle \voiceXXX die Richtung
von Bögen, Fingersatz und allen anderen Objekten beeinflusst,
die von der Richtung der Notenhälsen abhängen. Diese Befehle
sind nötig, wenn polyphone Musik geschrieben wird, damit sich
die einzelnen Melodielinien klar abzeichnen. Es kann aber von Zeit
zu Zeit nötig sein, dieses automatische Verhalten zu verändern. Das
kann entweder für ganze Abschnitte, aber genauso auch nur für eine
einzelne Note vorgenommen werden. Die Eigenschaft, die die Richtung
bestimmt, ist die direction-Eigenschaft jedes Layout-Objekts.
Es soll erst erklärt werden, was sie bewirkt und dann eine Anzahl
an fertigen Befehlen für die üblicheren Situationen präsentiert werden,
mit denen Sie gleich loslegen können.
Manche Layout-Objekte, wie Legato- und Bindebögen, biegen sich
oder zeigen entweder nach oben oder nach unten, andere, wie
Hälse und Fähnchen, verändern auch die Position rechts oder links,
je nach der Richtung, in die sie zeigen. Das wird automatisch
berücksichtigt, wenn die direction-Eigenschaft verändert
wird.
Das folgende Beispiel zeigt im ersten Takt die Standardeinstellung für Hälse, die bei hohen Noten nach unten zeigen und bei tiefen noten nach oben. Im nächsten Takt werden alle Hälse nach unten gezwungen, im dritten Takt nach oben, und im vierten wird wieder der Standard eingestellt.
a4 g c a \override Stem.direction = #DOWN a4 g c a \override Stem.direction = #UP a4 g c a \revert Stem.direction a4 g c a
Hier werden die Konstanten DOWN und UP
eingesetzt. Sie haben die Werte -1 bzw. +1, und
diese numerischen Werte können ebenso benutzt werden. Auch
der Wert 0 kann in manchen Fällen benutzt werden. Er
bedeutet für die Hälse das gleiche wie UP, für einige
andere Objekte jedoch „zentriert“. Es gibt hierzu die Konstante
CENTER, die den Wert 0 hat.
Es gibt aber einfachere Befehle, die normalerweise benutzt werden. Hier eine Tabelle der häufigsten. Die Bedeutung des Befehls wird erklärt, wenn sie nicht selbstverständlich ist.
| Runter/Links | Rauf/Rechts | Rückgängig | Wirkung |
|---|---|---|---|
\arpeggioArrowDown | \arpeggioArrowUp | \arpeggioNormal | Arpeggio mit Pfeil nach unten, oben oder ohne Pfeil |
\dotsDown | \dotsUp | \dotsNeutral | Richtung der Verschiebung eines Punktes, um Notenlinien zu vermeiden |
\dynamicDown | \dynamicUp | \dynamicNeutral | Position der Dynamik-Bezeichnung relativ zum System |
\phrasingSlurDown | \phrasingSlurUp | \phrasingSlurNeutral | Befehl für Richtung von Phrasierungsbögen |
\slurDown | \slurUp | \slurNeutral | Befehl für Richtung von Legatobögen |
\stemDown | \stemUp | \stemNeutral | Befehl für Richtung von Hälsen |
\textSpannerDown | \textSpannerUp | \textSpannerNeutral | Position von Textbeschriftungen, die als Strecker eingegeben werden |
\tieDown | \tieUp | \tieNeutral | Befehl für Richtung von Bindebögen |
\tupletDown | \tupletUp | \tupletNeutral | Befehl für Richtung von Klammern/Zahlen der N-tolen |
Diese vordefinierten Befehl können allerdings nicht
zusammen mit \once benutzt werden. Wenn Sie die
Wirkung eines Befehl auf eine einzige Noten begrenzen wollen,
müssen Sie den entsprechenden
\once \override-Befehl benutzen oder den definierten
Befehl, gefolgt von dem entsprechenden neutralisierenden
xxxNeutral-Befehl nach der Note.
Die Positionierung von Fingersatz kann auch durch den Wert
seiner direction-Eigenschaft beeinflusst werden, aber
eine Veränderung von direction hat keinen Einfluss auf
Akkorde. es gibt auch hier
besondere Befehle, mit denen der Fingersatz von einzelnen
Noten in Akkorden kontrolliert werden kann, wobei mögliche
Positionen über, unter der Note und rechts bzw. links von
ihr sind.
Zunächst die Wirkungsweise von direction auf
den Fingersatz: im ersten Takt der Standard, dann
die Wirkung von DOWN (runter) und UP
(hinauf).
c4-5 a-3 f-1 c'-5 \override Fingering.direction = #DOWN c4-5 a-3 f-1 c'-5 \override Fingering.direction = #UP c4-5 a-3 f-1 c'-5
Eine Beeinflussung der direction-Eigenschaft ist jedoch
nicht die einfachste Art, Fingersatzbezeichnungen manuell über oder
unter das System zu setzen. Normalerweise bietet es sich an,
_ oder ^ anstelle von - vor der Fingersatz-Zahl
zu benutzen. Hier das vorherigen Beispiel mit dieser Methode:
c4-5 a-3 f-1 c'-5 c4_5 a_3 f_1 c'_5 c4^5 a^3 f^1 c'^5
Die direction-Eigenschaft wirkt sich nicht auf
Akkorde aus, während die Präfixe _ und ^ funktionieren.
Standardmäßig wird der Fingersatz automatisch entweder
über oder unter dem Akkord gesetzt:
\relative { <c''-5 g-3>4 <c-5 g-3 e-2>4 <c-5 g-3 e-2 c-1>4 }
aber das kann manuell geändert werden, um einzelne Fingersatzanweisungen nach oben oder unten zu zwingen:
\relative { <c''-5 g-3 e-2 c-1>4 <c^5 g_3 e_2 c_1>4 <c^5 g^3 e^2 c_1>4 }
Noch bessere Kontrolle über die Positionierung von Fingersatz für
einzelne Noten in einem Akkord ist mit dem
\set fingeringOrientations-Befehl möglich. Die Syntax
lautet:
\set fingeringOrientations = #'([up] [left/right] [down]) |
\setwird benutzt, weil fingeringOrientations eine
Eigenschaft des Voice-Kontextes ist, erstellt und eingesetzt
vom New_fingering_engraver.
Die Eigenschaft kann als Wert eine Liste mit einem bis drei Einträgen
haben. Damit wird bestimmt, ob Fingersatz oberhalb gesetzt
werden kann (wenn up in der Liste auftaucht), darunter
(wenndown auftaucht), links (wenn left auftaucht)
oder rechts (wenn right auftaucht). Wenn andererseits
ein Wert nicht auftaucht, wir auch kein Fingersatz in dieser Richtung
gesetzt. LilyPond nimmt diese Beschränkung als Bedingung und
errechnet die besten Positionen für die Noten des nächsten Akkordes.
Die seitliche Positionierung kann nur auf einer Seite des Akkordes
geschehen, nicht auf beiden gleichzeitig, es kann also nur entweder
left oder right auftreten, nicht beide gleichzeitig.
Pozor: Damit eine einzelne Note mit diesem Befehl beeinflusst werden kann, muss sie als ein „Ein-Noten-Akkord“ geschrieben werden, indem einfache spitze Klammern um die Note positioniert werden.
Hier ein paar Beispiele:
\set fingeringOrientations = #'(left) <f-2>4 <c-1 e-2 g-3 b-5>4 \set fingeringOrientations = #'(left) <f-2>4 <c-1 e-2 g-3 b-5>4 \set fingeringOrientations = #'(up left down) <f-2>4 <c-1 e-2 g-3 b-5>4 \set fingeringOrientations = #'(up left) <f-2>4 <c-1 e-2 g-3 b-5>4 \set fingeringOrientations = #'(right) <f-2>4 <c-1 e-2 g-3 b-5>4
Wenn die Fingersatzbezeichnung zu gedrungen aussieht,
kann auch die Schriftgröße (font-size) verringert
werden. Der Standardwert kann aus dem
Fingering-Objekt in der IR entnommen werden,
er ist -5, versuchen wir es also mit -7.
\override Fingering.font-size = #-7 \set fingeringOrientations = #'(left) <f-2>4 <c-1 e-2 g-3 b-5>4 \set fingeringOrientations = #'(left) <f-2>4 <c-1 e-2 g-3 b-5>4 \set fingeringOrientations = #'(up left down) <f-2>4 <c-1 e-2 g-3 b-5>4 \set fingeringOrientations = #'(up left) <f-2>4 <c-1 e-2 g-3 b-5>4 \set fingeringOrientations = #'(right) <f-2>4 <c-1 e-2 g-3 b-5>4
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
@translationof Outside-staff objects
Předměty vně notové osnovy werden automatisch gesetzt,
um Kollisionen zu vermeiden. Objekten mit einem geringeren
Prioritätswert der Eigenschaft outside-staff-priority
werden näher an das System gesetzt, und andere Objekte außerhalb
des Systems werden dann soweit vom System entfernt gesetzt, dass
Zusammenstöße vermieden werden. Die
outside-staff-priority-Eigenschaft ist im
grob-interface definiert und ist also eine Eigenschaft
von allen Layout-Objekten. Standardmäßig ist sie für alle Objekte
auf falsch (#f) gesetzt; dieser Wert wird in einen numerischen
Wert dem Objekt entsprechend geändert, wenn das Objekt für die
Notenausgabe erstellt wird. Die Tabelle unten zeigt die
Standardwerte für die meistbenutzten outside-staff-Objekte,
die den Voreinstellungen nach im Staff- oder
Voice-Kontext gesetzt werden.
Achtung bei einigen ungewöhnlichen Objektbezeichnungen: Strecker-Objekte
werden automatisch erstellt, um die vertikale Position von Grobs
zu kontrollieren, die an unterschiedlichen musikalischen Momenten
beginnen und enden (könnten). Wenn also outside-staff-priority
des darunterliegenden Grobs geändert wird, hat das keine Auswirkung.
Zum Beispiel bringt das Ändern von outside-staff-priority
des Hairpin-(Dynamikklammer)-Objekts keine Änderung in der
vertikalen Position von Crescendo-Klammern – anstatt dessen muss
outside-staff-priority des hiermit assoziierten
DynamicLineSpanne-Objekts geändert werden. Dieser
\override-Befehl muss zu Beginn des Streckers gesetzt werden,
welcher womöglich mehrere verbundene Dynamikklammern und Dynamikbezeichnung
beinhaltet.
| Layout-Objekt | Priorität | Kontrolliert Position von: |
|---|---|---|
MultiMeasureRestText | 450 | Text über Ganztaktpausen |
TextScript | 450 | Textbeschriftung |
OttavaBracket | 400 | Ottava (Oktavierungsklammern) |
TextSpanner | 350 | Text-Strecker |
DynamicLineSpanner | 250 | Alle Dynamik-Bezeichnungen |
VoltaBracketSpanner | 100 | Volta-Klammern |
TrillSpanner | 50 | Triller-Strecker |
Hier ein Beispiel, das die Standardpositionierung von einigen Objekten zeigt.
% Set details for later Text Spanner \override TextSpanner.bound-details.left.text = \markup { \small \bold Slower } % Place dynamics above staff \dynamicUp % Start Ottava Bracket \ottava #1 c'4 \startTextSpan % Add Dynamic Text and hairpin c4\pp\< c4 % Add Text Script c4^Text c4 c % Add Dynamic Text and terminate hairpin c4\ff c \stopTextSpan % Stop Ottava Bracket \ottava #0 c,4 c c c
Dieses Beispiel zeigt auch, wie man Text-Strecker erstellt, d.h.
Text mit Bindestrichen, der sich über eine bestimmte Länge
erstreckt. Der Strecker beginnt mit dem
\startTextSpan-Befehl und endet mit dem
\stopTextSpan-Befehl, und das Format des Textes
wird mit dem \override TextSpanner-Befehl bestimmt.
Mehr Einzelheiten siehe
(notation)Text mit Verbindungslinien section ‘Text mit Verbindungslinien’ in Doporučení pro notový zápis.
Im Beispiel wird auch gezeigt, wie Oktavierungsklammern (Ottava) erstellt werden.
Beachten Sie, dass Taktnummern, Metronombezeichnungen
und Übungszeichen nicht gezeigt werden. Sie werden
standardmäßig im Score-(Partitur)-Kontext
erstellt und ihre outside-staff-priority wird
in Bezug auf die Layout-Objekte, die im Staff-Kontext
erstellt werden, ignoriert. Wenn Sie Taktnummern,
Metronombezeichnungen oder Übungszeichen entsprechend
ihrer Außersystem-Priorität setzen wollen, müssen Sie
die entsprechenden Engraver (Bar_number_engraver,
Metronome_mark_engraver oder Mark_engraver)
vom Score-Kontext entfernen und dem
Staff-Kontext hinzufügen. Wenn die Engraver so
geändert werden, erhalten sie folgenden Werte für
outside-staff-priority:
| Layout-Objekt | Priorität |
|---|---|
RehearsalMark | 1500 |
MetronomeMark | 1000 |
BarNumber | 100 |
Wenn die Standardwerte der outside-staff-priority nicht
die Positionierung hervorrufen, die Sie wünschen, kann die
Priorität eines jeden Objektes geändert werden. Als Beispiel
wollen wir zeigen, wie sich die Oktavierungsklammer unter
den Textstrecker des vorigen Beispiels setzen lässt. Wir müssen
nur die Priorität des
OttavaBracket-Objektes in der IR oder der Tabelle oben
herausfinden und einen kleineren Wert angeben als der Wert, den
das TextSpanner-(Strecker)-Objekt bekommt, wobei noch daran
zu denken ist, dass OttavaBracket im Staff-Kontext
erstellt wird:
% Set details for later Text Spanner \override TextSpanner.bound-details.left.text = \markup { \small \bold Slower } % Place dynamics above staff \dynamicUp % Place following Ottava Bracket below Text Spanners \once \override Staff.OttavaBracket.outside-staff-priority = #340 % Start Ottava Bracket \ottava #1 c'4 \startTextSpan % Add Dynamic Text c4\pp % Add Dynamic Line Spanner c4\< % Add Text Script c4^Text c4 c % Add Dynamic Text c4\ff c \stopTextSpan % Stop Ottava Bracket \ottava #0 c,4 c c c
Legatobögen werden als Innersystem-Objekte klassifiziert, aber
sie erscheinen oft auch über dem System, wenn die Noten, an die
sie verbunden sind, sehr hoch im System notiert sind. Dadurch
können Außersystem-Objekte, wie Artikulationszeichen, zu hoch
gerückt werden. Die avoid-slur-Eigenschaft hat nur
eine Auswirkung, wenn auch die outside-staff-priority
auf #f gesetzt ist. Alternativ kann die
outside-staff-priority des Legatobogens auf einen
numerischen Wert gesetzt werden, sodass er mit anderen
Außersystem-Objekten anhand dieses Wertes gesetzt wird.
Hier ein Beispiel, das die beiden Möglichkeiten veranschaulicht:
c4( c^\markup { \tiny \sharp } d4.) c8 c4( \once \override TextScript.avoid-slur = #'inside \once \override TextScript.outside-staff-priority = ##f c4^\markup { \tiny \sharp } d4.) c8 \once \override Slur.outside-staff-priority = #500 c4( c^\markup { \tiny \sharp } d4.) c8
Eine Änderung der outside-staff-priority kann auch dazu
benutzt werden, die vertikale Plazierung von individuellen Objekten
zu kontrollieren, auch wenn das Ergebnis nicht immer optimal
ist. Im nächsten Beispiel soll „Text3“ oberhalb von „Text4“
gesetzt werden, das Beispiel wurde behandelt in
automatickém chování. Der Wert der Priorität muss also für
die Eigenschaft TextScript entweder in der IR oder in der
Tabelle oben festgestellt werden und dann die Priorität für
„Text3“ höher eingestellt werden:
c''2^"Text1" c''2^"Text2" | \once \override TextScript.outside-staff-priority = #500 c''2^"Text3" c''2^"Text4" |
Damit wird zwar „Text3“ ganz richtig über „Text4“
platziert, aber auch über „Text2“, und „Text4“
wird jetzt weiter unten gesetzt. Eigentlich sollten ja alle
diese Anmerkungen gleichweit vom System entfernt sein.
Dazu muss offensichtlich horizontal etwas Platz gemacht
werden. Das kann erreicht werden mit dem
textLengthOn-(Textlänge an)-Befehl.
Standardmäßig wird Text, der mit dem Beschriftungsbefehl
\markup bzw. Äquivalenten erstellt wird, kein
zusätzlicher Platz in Bezug auf die Positionierung der Noten
zugestanden. Der \textLengthOn-Befehl ändert
dieses Verhalten, so dass die Noten gespreizt werden, wenn
die Breite des Textes es erfordert:
\textLengthOn % Cause notes to space out to accommodate text c''2^"Text1" c''2^"Text2" | c''2^"Text3" c''2^"Text4" |
Dieses Verhalten wird mit dem \textLengthOff-Befehl
rückgängig gemacht. Erinnern Sie sich, dass \once nur mit
\override, \set, \revert oder unset
funktioniert, der Befehl kann also nicht zusammen mit
\textLengthOn benutzt werden.
Textbeschriftung vermeidet auch Noten, die über das System hinausstehen.
Wenn das nicht gewünscht ist, kann die automatische Verschiebung
nach oben hin auch vollständig ausgeschaltet werden, indem die
Priorität auf #f gesetzt wird. Hier ein Beispiel, wie
eine Textbeschriftung mit diesen Noten reagiert:
\relative { % This markup is short enough to fit without collision c''2^"Tex" c'' | R1 | % This is too long to fit, so it is displaced upwards c,,2^"Text" c'' | R1 | % Turn off collision avoidance \once \override TextScript.outside-staff-priority = ##f c,,2^"Long Text " c'' | R1 | % Turn off collision avoidance \once \override TextScript.outside-staff-priority = ##f \textLengthOn % and turn on textLengthOn c,,2^"Long Text " % Spaces at end are honored c''2 | }
Dynamikbezeichnung wird üblicherweise unter dem System
gesetzt, kann aber auch nach oben mit dem Befehl
dynamicUp gezwungen werden. Die Bezeichnung
wird vertikal relativ zu der Note positioniert, an die sie angefügt
wurde. Sie wird vertikal variabel gesetzt in Bezug zu
Innersystemobjekten wie Bögen oder Taktnummern. Damit
können oft recht gute Resultate erreicht werden, wie im
folgenden Beispiel:
\clef "bass" \key aes \major \time 9/8 \dynamicUp bes4.~\f\< \( bes4 bes8 des4\ff\> c16 bes\! ees,2.~\)\mf ees4 r8
Wenn aber Noten und Dynamikzeichen sehr dicht beieinander stehen, positioniert die automatische Kollisionsvermeidung später kommende Dynamikzeichen weiter weg, was allerdings nicht immer die beste Möglichkeit ist, wie in dem folgenden, etwas gewollten Beispiel zu sehen ist:
\dynamicUp a4\f b\mf c\mp b\p |
Wenn eine ähnliche Situation in „echter“ Musik auftaucht,
kann es nötig sein, die Noten etwas zu spreizen, damit die
Dynamikzeichen alle auf der selben vertikalen Position
gesetzt werden können. Dieses Verhalten war im Falle von
Textbeschriftungen möglich mit dem \textLengthOn-Befehl,
aber es gibt keinen entsprechenden Befehl für Dynamik. Wir
müssen also unsere eigenen Befehle mit \override
konstruieren.
Zuallererst müssen wir lernen, wie die Größe von Grobs verändert
wird. Alle Grobs besitzen einen Referenzpunkt, der
benutzt wird, um ihre Position in Relation zu ihnen übergeordneten
Objekten zu bestimmen. Dieser Punkt innerhalb des Grobs wird dann
auf einer horizontalen Position (X-offset) und einer
vertikalen Position (Y-offset) ausgerichtet, immer bezüglich
des übergeordneten Objektes. Eine horizontale Strecke wird
durch ein Zahlenpaar angegeben (X-extent), welche
die linke und rechte Grenze relativ zum übergeordneten Objekt
bezeichnen. Die vertikale Strecke wir genauso durch ein
Zahlenpaar (Y-extent) definiert. Diese Eigenschaften
gehören zu allen Grobs, die das
grob-interface unterstützen.
Standardmäßig haben Außersystemobjekte eine Länge von Null,
so dass sie sich in horizontaler Richtung überlappen können. Das
geschieht, indem dem linken Rand Unendlich zugewiesen wird
und dem rechten Rand minus Unendlich (der Code der
extra-spacing-width-(zusätzliche Positionierungslänge)-Eigenschaft
lautet: '(+inf.0 . -inf.0)).
Damit sich diese Objekte also horizontal nicht überschneiden, muss
der Wert von extra-spacing-width auf
'(0 . 0) gesetzt werden, sodass die wirkliche Länge eines
Objektes zur Geltung kommt. Mit diesem Befehl wird das für
Dynamik-Zeichen erledigt:
\override DynamicText.extra-spacing-width = #'(0 . 0) |
Schauen wir uns an, wie es mit dem vorigen Beispiel funktioniert:
\dynamicUp \override DynamicText.extra-spacing-width = #'(0 . 0) a4\f b\mf c\mp b\p
Damit werden die Dynamik-Zeichen also wirklich nebeneinander
gesetzt, aber es gibt noch zwei Probleme. Die Zeichen sollten
etwas weiter außeinander stehen und es wäre gut, wenn sie alle
den gleichen Abstand zum System hätte. Das erste Problem ist
einfach behoben. Anstatt der extra-spacing-width-Eigenschaft
Null zuzuweisen, können wir auch einen etwas größeren Wert
wählen. Die Einheit wird gemessen in dem Abstand zwischen zwei
Notenlinien, es scheint also gut, den rechten und linken
Rand eine halbe Einheit zu vergrößern:
\dynamicUp % Extend width by 1 staff space \override DynamicText.extra-spacing-width = #'(-0.5 . 0.5) a4\f b\mf c\mp b\p
Das sieht schon besser aus, aber es wäre noch besser, wenn die
Dynamik-Zeichen alle an einer Linie ausgerichtet wären, anstatt
höher und tiefer zu sitzen. Das kann mit der
staff-padding-Eigenschaft erreicht werden,
die wir uns im folgenden Abschnitt genauer anschauen werden.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated by gub on July 13, 2020 using texi2html 1.82.
Jiné jazyky: English, català, deutsch, español, français, italiano, 日本語, nederlands.
O automatickém výběru řeči.