Hello all,

Is there a way to make LilyPond ignore collisions or spacing issues between
a markup text and other staves or grobs? For instance, consider this example
below:

\version "2.19.37"

\new PianoStaff <<
  \new Staff {
    des''4 
    f'' 
    e'_\markup{
      \hspace #-1.5
      \center-column {
        \combine            
        \arrow-head #Y #UP ##t
        \draw-line #'(0 . -10)
        \circle "103"
      }
    }
    aes'
  }
  \new Staff {
    \clef bass
    c1
  }  
>>

Producing: 
<http://lilypond.1069038.n5.nabble.com/file/n198127/1.png> 

As you see, LilyPond stretches the staves quite a lot in order avoid a
collision between the bottom staff and the text (marked in red). So if I
want that arrow to actually cross over the bottom staff, the only way I
managed so far is using this approach:

\version "2.19.37"

\new PianoStaff <<
  \new Staff {
    des''4 
    f'' 
    e'
    aes'
  }
  \new Staff {
    \clef bass
    c1*1/2
    \once \override TextScript.extra-offset = #'(0 . 8)
    s2_\markup{
      \hspace #-1.5
      \center-column {
        \combine            
        \arrow-head #Y #UP ##t
        \draw-line #'(0 . -10)
        \circle "103"
      }
    }
  }  
>>

Producing:
<http://lilypond.1069038.n5.nabble.com/file/n198127/2.png> 

The problem with this approach is two-fold: first, it's a bit ugly as it
involves multiplying the durations and using invisible rests to get the
markup in the right position. And secondly: this may very well affect the
distance between systems or between the last system and the margin, in the
case of a bottom system.

So is there a way better way of solving this?

Cheers!
Gilberto



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Markup-and-staff-spacing-tp198127.html
Sent from the User mailing list archive at Nabble.com.

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to