Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: Mathias am Dienstag, 13. September 2016, 08:08
-
Hallo zusammen,
Wenn ich in einem Takt über einer Stimme eine markup-Beschreibung setze, so scheint die horizontale Ausrichtung selbiger der der dazugehörigen Note zu folgen. Für den Fall einer Ganztaktpause wird die also zentriert, was nicht gewünscht ist.
\version "2.19.40"
fuga = \markup { \huge { Fuga } }
pesanteesemprep = \markup { \italic Pesante e sempre \dynamic p }
{ R2.^\pesanteesemprep^\fuga }
Ich hab das gelöst, indem ich den Takt zweistimmig gemacht habe — dafür musste ich dann die Ganztaktpause schieben. Die Frage: Geht das auch eleganter bzw. zielgerichteter?
\version "2.19.40"
fuga = \markup { \huge { Fuga } }
pesanteesemprep = \markup { \italic Pesante e sempre \dynamic p }
{ << { s2.^\pesanteesemprep^\fuga } \\ { \once \override MultiMeasureRest.staff-position = #2 R2. } >> }
VG —Mathias.
-
Hallo Mathias,
Versuch mal:
{
\time 3/4
<>^\pesanteesemprep^\fuga
R2.
}
{
\time 3/4
R2.^\markup\left-column { \fuga \pesanteesemprep }
}
Gruß,
Pierre
-
Ich hab das gelöst, indem ich den Takt zweistimmig gemacht habe — dafür musste ich dann die Ganztaktpause schieben. Die Frage: Geht das auch eleganter bzw. zielgerichteter?
\version "2.19.40"
fuga = \markup { \huge { Fuga } }
pesanteesemprep = \markup { \italic Pesante e sempre \dynamic p }
{ << { s2.^\pesanteesemprep^\fuga } \\ { \once \override MultiMeasureRest.staff-position = #2 R2. } >> }
Ja, das geht eleganter: Lass die \\ in der Mehrstimmigkeit weg. Die sorgen nämlich implizit für \voiceOne und \voiceTwo in den beiden Stimmen; letzteres verschiebt dann die Ganztaktpause.
Es reicht also
{ << { s2.^\pesanteesemprep^\fuga } { R2. } >> }
bzw. eigentlich kannst du sogar alle {} innerhalb der <<>> weglassen, weil das SequentialMusic-Ausdrücke mit jeweils nur einem Element sind ;)
Ansonsten ist Pierres erste Lösung mit <> vermutlich das beste. Das zweite würde man statt mit \left-column auch kriegen per
\once \override MultiMeasureRestText.self-alignment-X = #LEFT
\once \override MultiMeasureRestText.X-offset = 0
R2.^\pesanteesemprep^\fuga
Ich persönlich bevorzuge aber die Variante, die nicht schon über dem Schlüssel beginnt.
Eine Bitte noch: denk daran, dass deine Minimalbeispiele klein, aber trotzdem noch kompilierbar sein sollen; du lässt hier den 3/4-Takt weg, wodurch R2. nen Fehler erzeugt (weil R immer am Ende noch nen Barcheck macht) und weder die Pause noch der dazugehörige Text ausgegeben werden.
-
Ach ja, was hältst du von \tempo?
\version "2.19.40"
fuga = \markup { \huge { Fuga } }
pesanteesemprep = \markup { \italic Pesante e sempre \dynamic p }
{
\tempo \markup \medium \column { \fuga \pesanteesemprep }
R1
}