Deutschsprachiges LilyPond-Forum

Allgemeine Fragen und Probleme => Fragen und Probleme aller Art => Thema gestartet von: Tom am Mittwoch, 12. Februar 2025, 18:49

Titel: \fermata + \upbow entzerren
Beitrag von: Tom am Mittwoch, 12. Februar 2025, 18:49
Hallo zusammen,

ich habe ein Note, die sowohl eine Fermate als auch einen Aufstrich haben soll.
Leider schaffe ich es nicht, den Aufstrich über der Fermate zu positionieren.

Hier der Code und was daraus wird

\version "2.24.1"

\score {
    \new Staff \relative c' {
      c1\fermata\parenthesize\upbow
    }
}
lilypond_20250212-000.PNG

Der Versuch die Position mit \tweak Y-Offset zu verändern war nicht erfolgreich.

Hat jemand eine Idee?

Danke
Thomas

Titel: Antw:\fermata + \upbow entzerren
Beitrag von: Manuela am Mittwoch, 12. Februar 2025, 19:24
Mit Version 2.25.22 schaut es genauso aus, wie du es möchtest. Vll. solltest du überlegen umzusteigen.

\version "2.25.22"

\score {
  \new Staff \relative c' {
    \override Script.outside-staff-priority = ##f
    c1\fermata\parenthesize\upbow
  }
}

Eine andere Möglichkeit wäre noch, die Zeichen als Markup zu definieren. Die Klammer um den upbow wird dadurch allerdings größer, und die Fermate sitzt nicht genau mittig über der Note, da muss man noch ausgleichen.

upoverfer = \markup \override #'(baseline-skip . 2)
\column
{
  \parenthesize \musicglyph #"scripts.uupbow"
  \musicglyph #"scripts.ufermata"
}

\markup \upoverfer

\score {
  \new Staff \relative c' {
    \override TextScript.color = #green
    \override Script.color = #red
    \override TextScript.self-alignment-X = #-0.5
    c1^\markup \upoverfer
  }
}

(eingefärbt zur besseren Unterscheidung)

Achtung, die Benennung der Zeichen hat sich von 2.24 auf 2.25 geändert

Script Glyphen 2.24 (https://lilypond.org/doc/v2.24/Documentation/notation/the-emmentaler-font#script-glyphs)

Script Glyphen 2.25 (https://lilypond.org/doc/v2.25/Documentation/notation/script-glyphs)

Update: Mit diesem Code sollte das Markup exakt zentriert werden

\score {
  \new Staff \relative c' {
    \override TextScript.color = #green
    \override TextScript.parent-alignment-X = #0
    c1^\markup \upoverfer
  }
}