• 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ü

Text ohne Ausdehnung

Begonnen von fugenkomponist, Samstag, 11. Mai 2013, 13:03

Vorheriges Thema - Nächstes Thema

fugenkomponist

Hallo,
das ist wahrscheinlich ein einfach zu lösendes Problem, aber ich find grad die Lösung einfach nicht: Wie sag ich LilyPond, dass er die Ausdehnung eines Grobs (z. B. eines Textes) beim Spacing ignorieren soll (insbesondere bei den Abständen zwischen Systemen)?
\version "2.17.17"

\score {
  <<
    \new Staff
    <<
      {
        c'1 c'
      }
    >>
    \new Staff
    <<
      {
        \once \override TextScript #'whiteout = ##t
        d'1^\markup \rotate #45 "langer Text" d'
        % dieser Text soll ruhig das obere System (oder auch das untere (kann da ja noch mit extra-offset arbeiten)) schneiden
      }
    >>
  >>
}

harm6

Hallo,

Zitatdas ist wahrscheinlich ein einfach zu lösendes Problem,

so einfach ist es tatsächlich nicht (mehr).

Früher hätte man einfach \with-dimensions #'(0 . 0) #'(0 . 0) benutzt und gut wars.

Mit den neueren devel-Versionen werden Abstände, bzw spacing im allgemeinen nicht mehr mittels Boxen, die sich an den Ausdehnungen der grobs orientieren berechnet, sondern mittels skylines.
Eigentlich eine ganz wunderbare Sache (Idee/Code von Mike Solomon), dort wo es funktioniert, es tauchen jedoch immer mehr bugs auf, die damit in Zusammenhang stehen.
Bzgl \with-dimensions: issue 3255

Von dort auch die Lösung:

\with-dimensions #'(0 . 0) #'(0 . 0)
mit
\once \override TextScript #'vertical-skylines = #'()

\version "2.17.17"

\score {
  <<
    \new Staff
    <<
      {
        c'1 c'
      }
    >>
    \new Staff
    <<
      {
        \once \override TextScript #'whiteout = ##t
        \once \override TextScript #'vertical-skylines = #'()
        d'1^\markup \with-dimensions #'(0 . 0) #'(0 . 0)\rotate #45 "langer Text" d'
        % dieser Text soll ruhig das obere System (oder auch das untere (kann da ja noch mit extra-offset arbeiten)) schneiden
      }
    >>
  >>
}


HTH,
  Harm

fugenkomponist

Hm, danke. Mir ist aber grad ein Problem aufgefallen: das whiteout funktioniert dann nicht mehr, weil das auch von diesen Maßen ausgeht ...

harm6

Zitatdas whiteout funktioniert dann nicht mehr

Da hatte ich mich nicht drum gekümmert.

Ein paar Tests zeigen allerdings, daß es so auch nicht in früheren Versionen funktioniert hatte.
Du solltest das markup-command benutzen, nicht das grob-property:

\version "2.17.17"

\score {
  <<
    \new Staff
    <<
      {
        c'1 c'
      }
    >>
    \new Staff
    <<
      {
        \once \override TextScript #'vertical-skylines = #'()
        d'1^\markup \with-dimensions #'(0 . 0) #'(0 . 0)\rotate #45 \whiteout "langer Text" d'
        % dieser Text soll ruhig das obere System (oder auch das untere (kann da ja noch mit extra-offset arbeiten)) schneiden
      }
    >>
  >>
}


Gruß,
  Harm

fugenkomponist

Ah, danke, das kannte ich noch nicht.