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
}
>>
>>
}
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 (http://code.google.com/p/lilypond/issues/detail?id=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
Hm, danke. Mir ist aber grad ein Problem aufgefallen: das whiteout funktioniert dann nicht mehr, weil das auch von diesen Maßen ausgeht ...
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
Ah, danke, das kannte ich noch nicht.