Autor Thema: große \markup spacing ignorieren  (Gelesen 1972 mal)

kilgore

  • Member
große \markup spacing ignorieren
« am: Samstag, 1. Mai 2010, 21:09 »
Ich möchte Lilypond dazu zwingen, die "normale" Abstand zwischen Systeme beizubehalten, egal wie gross mein \markup ist.

\version "2.12.3"


eins =
{ c'4 c'4 c'4 c'4-\markup { \column {
          \line { ⇡ }
          \line { \null }
          \line { ⇡ }
          \line { \null }
          \line { ⇡ }
          \line { \null }
          \line { ⇡ }
          \line { \null }
          \line { ⇡ }
        }
      }
  c'1 }

zwei =
{ c'4 c'4 c'4 c'4 c'1 }

\new StaffGroup <<
  \new Staff {
    \eins }
  \new Staff {
    \zwei }
>>   


Ratlos. Ideen?

derHindemith

  • Member
Re:große \markup spacing ignorieren
« Antwort #1 am: Samstag, 1. Mai 2010, 22:09 »
Am einfachsten wäre wahrscheinlich die Höhe explizit zu bestimmen. Siehe 4.4.3 in den Notationsreferenz. Es gibt eine deutsche Übersetzung davon in den 2.13 Dokumentation.

RobUr

  • Member
Re:große \markup spacing ignorieren
« Antwort #2 am: Sonntag, 2. Mai 2010, 06:14 »
Andere Möglichkeit: solch „großem“ Markup die vertikale Ausdehnung wegnehmen:
\version "2.12.3"

eins = {
c'4 c'4 c'4
\once \override TextScript #'Y-extent = #'(0 . 0) %% vertikale Ausdehnung = null
\once \override TextScript #'extra-offset = #'(0 . -1.5) %% Positionskorrektur
c'4-\markup {
\column {
\line { ⇡ }
\line { \null }
\line { ⇡ }
\line { \null }
\line { ⇡ }
\line { \null }
\line { ⇡ }
\line { \null }
\line { ⇡ }
}
}
c'1
}

zwei = { c'4 c'4 c'4 c'4 c'1 }

\new StaffGroup <<
\new Staff { \eins }
\new Staff { \zwei }
>>
Dies ändert aber noch nichts an einer fixen Zeilenposition; der Abstand zwischen Zeilen wird wie üblich berechnet, als ob kein Objekt dazwischen wäre – oder eben ein Objekt mit der Höhe „0“.

Grüße, Robert

kilgore

  • Member
Re:große \markup spacing ignorieren
« Antwort #3 am: Sonntag, 2. Mai 2010, 19:20 »
Danke Rob und Hindemith!  Das Y-extent war doch das was mir gefehlt hat....


 ;D