Hi Matthew,

My current theory is that we're observing an artifact of the design of ly:one-page-breaking. But I have to investigate. (It's interesting to note what happens if we remove the tagline = ##f setting!)

It turns out that a possible workaround is making sure that the markup has top coordinate zero. Try this:

#(define-markup-command (show-extent layout props arg) (markup?)
   (let ((stil (interpret-markup layout props arg)))
     (ly:message "X: ~a\nY: ~a\n\n"
                 (ly:stencil-extent stil X)
                 (ly:stencil-extent stil Y))
     stil))

\markup
\show-extent
\general-align #Y #UP
{ \box \line { \vspace #3 text } }

(The show-extent command is only for displaying the stencil extent of a markup; the actual change is in calling \general-align.)

I still don't understand the mechanics involved, and of course it's not desirable for you to have to put all of your markups in a \general-align command. (Even though this could probably be automated by manipulating the top level markup handlers.)

Lukas


Reply via email to