• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

Ausrichtung von \markup bei Ganztaktpausen

Begonnen von Mathias, Dienstag, 13. September 2016, 08:08

Vorheriges Thema - Nächstes Thema

Mathias

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.

Pierre

Hallo Mathias,

Versuch mal:
{
  \time 3/4
  <>^\pesanteesemprep^\fuga
  R2.
}
{
  \time 3/4
  R2.^\markup\left-column { \fuga \pesanteesemprep }
}


Gruß,
Pierre

fugenkomponist

Zitat von: Mathias am Dienstag, 13. September 2016, 08:08
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.

fugenkomponist

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
}