Fermate in den Staff schreiben

Begonnen von Manuela, Montag, 5. Juni 2023, 23:02

« vorheriges - nächstes »

Manuela

Gibt es einen anderen Weg außer extra-offset?
\version "2.25.4"
\language "deutsch"

\relative {
  \override Script.outside-staff-priority = ##f
  \override Script.padding = #-6  %% funktioniert nicht
  c'1\fermata
  \once \override Script.extra-offset = #'(0 . -3)
  c1\fermata
}

Die Fermate bleibt im ersten Fall immer außerhalb des Staffs, entweder ober- oder unterhalb.

Danke für eure Hilfe
viele Grüße
-- Manuela

Malte

  \once \override Script.staff-padding = #-2.6
  \once \override Script.padding = #-2.6
Damit geht es in Version 2.24 (ohne outside-staff-priority zu setzen).

Manuela

Mit 2.25 funktioniert das seltsamerweise nicht.

Muss ich beim verpönten extra-offset bleiben.
Danke für eure Hilfe
viele Grüße
-- Manuela

Rudi Guggt

Hallo,

Zitat von: Manuela am Montag,  5. Juni 2023, 23:02Die Fermate bleibt [...] außerhalb des Staffs, entweder ober- oder unterhalb.

Wo sie auch hingehört. Warum willst du sie hinter Gitter stecken?


Gruß
Rudi

Manuela

Zitat von: Rudi Guggt am Dienstag,  6. Juni 2023, 12:45Wo sie auch hingehört. Warum willst du sie hinter Gitter stecken?

Weil ich der Vorlage möglichst nahe kommen möchte, außerdem wird dadurch mehr Platz frei
Danke für eure Hilfe
viele Grüße
-- Manuela

Malte

Damit der Platz frei wird, brauchst du allerdings abgesehen von extra-offset noch etwas, das den Platzverbrauch kleiner macht, weil extra-offset auf das Spacing ja keine Auswirkung hat (LilyPond ,,denkt", die Fermate sei noch über dem Staff). Ich habe gerade mit X- und Y-extent sowie extra-spacing-height und -width herumprobiert und bin zu keinem Ergebnis gekommen. Aber dann kam mir: Hast du es mal einfach mit Y-offset probiert? In Version 2.24 geht auch das:

\version "2.24.1"

\layout {
  \override Score.VerticalAxisGroup.default-staff-staff-spacing.basic-distance = 0
  \override Score.VerticalAxisGroup.default-staff-staff-spacing.minimum-distance = 0
}

<<
  \new Staff { \clef bass R1 }
  \new Staff {
    \override Script.Y-offset = 0.5 % Um die Wirkung zu sehen, diese Sache mal auskommentieren
    \clef bass c1\fermata
  }
>>

Manuela

Danke für deine Mühe, Malte, aber 2.25 ist hartnäckig, was Fermaten betrifft. Entweder oberhalb oder unterhalb, aber nicht in den Staff.
Danke für eure Hilfe
viele Grüße
-- Manuela

harm6


harm6

Lösung ist ebendort zu finden:
c1\tweak outside-staff-priority ##f \fermata

Gruß,
  Harm

Manuela

Danke Harm! Wie üblich Retter in der Not  :)
Danke für eure Hilfe
viele Grüße
-- Manuela

Arnold

Hallo zusammen,

ja, der Outside-Staff-Mechanismus muß natürlich ausgeschaltet werden, wenn man die Y-Position selbst angeben will.
Aktuell habe ich nur 2.22.0, 2.24.1 und 2.25.1 zum Testen zur Verfügung.
Und, die Fermate mitten im Staff braucht man tatsächlich gelegentlich, meist wenn drei oder mehr Voice in einem Staff vorkommen (häufig in der Piano-Direktion von Salon-Orchester-Noten).

Kurzes Beispiel:
\version "2.24.1"

{
  c'1\fermata
  c'1-\tweak outside-staff-priority ##f -\tweak Y-offset #-1.75 \fermata
  c'1-\tweak outside-staff-priority ##f -\tweak Y-offset #-0.75 \fermata
  c'1-\tweak outside-staff-priority ##f -\tweak Y-offset #0.25 \fermata
  c'1-\tweak outside-staff-priority ##f -\tweak Y-offset #1.25 \fermata
  c'1-\tweak outside-staff-priority ##f -\tweak Y-offset #2.25 \fermata
}

\score {
  \new Staff {
    << { \voiceOne
      g'4 \tweak Stem.length #5.5 <d' f'>2.-\tweak outside-staff-priority ##f -\tweak Y-offset #0.25 \fermata
    } \new Voice { \voiceTwo
      c'2 g2\fermata
    } \new CueVoice { \voiceOne
      c'''4 a''8 b'' c''' a'' b''4\fermata
    } >>
    \bar "||"
  }
}

Arnold.