Combine two markups in a toplevel markup

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Combine two markups in a toplevel markup

Urs Liska-3
Hi,

basically this is a follow-up question to the one where I needed to
align a text over a slur. I wanted to apply the techniques I learned
from your valuable help but ran against the next wall (or: I didn't see
that there is no wall after all ...).

The overall goal now is to create a centered score with a centered
caption below it. Of course I don't know how wide both the score and the
caption will be.

My first attempt was quite straightforward: produce both the score and
the markup as markups centered with \fill-line.

While this worked perfectly at aligning the score and markup it turned
out not to be good enough: While this centers perfectly on the page I
can't get correctly cropped output because the bounding box seems to
reach both line ends, resulting in uncropped whitespace to the left and
right of the score/caption.

If there's a solution to this problem everything below can be ignored.

So I thought to make this *one* markup stencil, align the two parts
manually against each other and print the result as one (left-aligned)
markup, so it should be properly cropped. Now while I feel quite
confident that I would manage to deal with the alignment and stencil
issues this time I don't see how I can get at them at the right moment
when I'm dealing with a top-level markup (and not inside some music).

What I *have* is two markups (one regular and one score wrapped in a
markup), both stored in variables.

What I *need* is a way to combine these markups to one and use the
result as a top-level markup, the problem being that I need to access
the resulting extents of the markups in order to properly align them
against each other.

Any suggestions? (In fact I'd actually prefer suggestions over solutions
this time ...)

Best
Urs


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Combine two markups in a toplevel markup

Thomas Morley-2
Am Fr., 12. Okt. 2018 um 17:52 Uhr schrieb Urs Liska <[hidden email]>:

>
> Hi,
>
> basically this is a follow-up question to the one where I needed to
> align a text over a slur. I wanted to apply the techniques I learned
> from your valuable help but ran against the next wall (or: I didn't see
> that there is no wall after all ...).
>
> The overall goal now is to create a centered score with a centered
> caption below it. Of course I don't know how wide both the score and the
> caption will be.
>
> My first attempt was quite straightforward: produce both the score and
> the markup as markups centered with \fill-line.
>
> While this worked perfectly at aligning the score and markup it turned
> out not to be good enough: While this centers perfectly on the page I
> can't get correctly cropped output because the bounding box seems to
> reach both line ends, resulting in uncropped whitespace to the left and
> right of the score/caption.
>
> If there's a solution to this problem everything below can be ignored.
>
> So I thought to make this *one* markup stencil, align the two parts
> manually against each other and print the result as one (left-aligned)
> markup, so it should be properly cropped. Now while I feel quite
> confident that I would manage to deal with the alignment and stencil
> issues this time I don't see how I can get at them at the right moment
> when I'm dealing with a top-level markup (and not inside some music).
>
> What I *have* is two markups (one regular and one score wrapped in a
> markup), both stored in variables.
>
> What I *need* is a way to combine these markups to one and use the
> result as a top-level markup, the problem being that I need to access
> the resulting extents of the markups in order to properly align them
> against each other.
>
> Any suggestions? (In fact I'd actually prefer suggestions over solutions
> this time ...)
>
> Best
> Urs

Hi Urs,

not sure I understand correctly, probably something like below?

one = \markup \score { d'1 }
two = \markup \italic "whatever"

\markup \halign #CENTER \center-column { \one "|" \two }



Cheers,
  Harm

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Combine two markups in a toplevel markup

Urs Liska-3
Hi Harm,


Am 12.10.2018 um 18:58 schrieb Thomas Morley:
> Hi Urs,
>
> not sure I understand correctly, probably something like below?
>
> one = \markup \score { d'1 }
> two = \markup \italic "whatever"
>
> \markup \halign #CENTER \center-column { \one "|" \two }
>

AAHH.
Well, nearly:

\markup \center-column { \one "|" \two }

is what I need.

Thanks for embarrassing me that way ;-)
And Gute Besserung
Urs
>
> Cheers,
>    Harm


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Combine two markups in a toplevel markup

Thomas Morley-2
Am Fr., 12. Okt. 2018 um 20:57 Uhr schrieb Urs Liska <[hidden email]>:

>
> Hi Harm,
>
>
> Am 12.10.2018 um 18:58 schrieb Thomas Morley:
> > Hi Urs,
> >
> > not sure I understand correctly, probably something like below?
> >
> > one = \markup \score { d'1 }
> > two = \markup \italic "whatever"
> >
> > \markup \halign #CENTER \center-column { \one "|" \two }
> >
>
> AAHH.
> Well, nearly:
>
> \markup \center-column { \one "|" \two }
>
> is what I need.
>
> Thanks for embarrassing me that way ;-)

lol

> And Gute Besserung
> Urs

Danke,
  Harm

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user