lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to fix markup horizontal position relative to edge of page


From: Benjamin Bruce
Subject: Re: How to fix markup horizontal position relative to edge of page
Date: Tue, 11 Apr 2023 08:59:50 -0600
User-agent: Cyrus-JMAP/3.9.0-alpha0-334-g8c072af647-fm-20230330.001-g8c072af6

I did try that, but in the output the the score appears twice since there are 
two layout blocks. Is there no way to merge them?

𐑪𐑯 2023-04-11 𐑨𐑑 08:36, juergen.gruen@xyz.de 𐑮𐑴𐑑:
> This
>> #{
>> line-width = #(+ lw ind)
>> indent = #ind
>> short-indent = #ind
>> #}
> is part of the scheme procedure. You can use lilypond syntax - put into 
> #{ ...#}  - in scheme procedures. I create a new layout-block in the 
> procedure. You can not nest layout blocks but you can have parallel 
> layout-blocks. So copy the procedure-call into your score but not into 
> your own layout block:
>
>
> \version "2.24.0"
>
> #(define (set-score-width lw)
>    (let* (
>            (pw (ly:output-def-lookup $defaultpaper 'paper-width))
>            (lmd (ly:output-def-lookup $defaultpaper 'left-margin-default))
>            (rmd (ly:output-def-lookup $defaultpaper 'right-margin-default))
>            (ind (/ (- pw lmd rmd lw) 2)))
>
>      #{ \layout {
>        line-width = #(+ lw ind)
>        indent = #ind
>        short-indent = #ind
>      } #} )) % end of scheme code
>
> \score {
>   %%%% procedure call
>   #(set-score-width 120)
> 
>   %%%% your own layout block
>   \layout {
>     % do something
>   }
>   \repeat unfold 20 \relative c { c' d e f g a b  }
> }
> \markup   \wordwrap-string "Bacon ipsum dolor amet hamburger aliqua 
> incididunt sunt in. Excepteur consequat ad laboris anim flank jowl. 
> Irure drumstick shoulder dolor. Cupim tri-tip meatloaf prosciutto 
> leberkas."
>
>
>
>
>
> HTH, Juergen.
>
>
>
>
>
>
>
>
>> -----ursprüngliche Nachricht-----
>> Von: benjamin@koine.gr
>> Gesendet: 11.04.2023 16:14 Uhr
>> An: juergen.gruen@xyz.de, lilypond-user@gnu.org
>> Betreff: Re: How to fix markup horizontal position relative to edge of page
>
>
>> Quick question, in the scores I am working on I already have a \layout block 
>> with several other settings within it. How can I insert just the line-width, 
>> indent, and short-indent settings into the already-existent \layout block 
>> without creating another one? If I try just
>>
>> #{
>> line-width = #(+ lw ind)
>> indent = #ind
>> short-indent = #ind
>> #}
>>
>> for my LilyPond code block, it gives me the error "not a note name: 
>> line-width".
>> Thanks for your Scheme expertise :)
>>
>> 𐑪𐑯 2023-04-11 𐑨𐑑 07:38, Benjamin Bruce 𐑮𐑴𐑑:
>> > This is exactly what I needed. I figured it could be done with some
>> > Scheme code, but that's beyond my knowledge. Thanks so much for your
>> > help!
>> >
>> > 𐑪𐑯 2023-04-11 𐑨𐑑 03:55, juergen.gruen@xyz.de 𐑮𐑴𐑑:
>> >> OK, this was not correct. There is a left-margin-default set and the
>> >> indent does not shift the line but makes it shorter(?) Here is another
>> >> approach:
>> >>
>> >> %%%%%%%%%%%%%%%%%%%%%%%%
>> >>
>> >> \version "2.24.0"
>> >>
>> >> #(define (set-score-width lw)
>> >> (let* (
>> >> (pw (ly:output-def-lookup $defaultpaper 'paper-width))
>> >> (lmd (ly:output-def-lookup $defaultpaper 'left-margin-default))
>> >> (rmd (ly:output-def-lookup $defaultpaper 'right-margin-default))
>> >> (ind (/ (- pw lmd rmd lw) 2)))
>> >>
>> >> #{ \layout {
>> >> line-width = #(+ lw ind)
>> >> indent = #ind
>> >> short-indent = #ind
>> >> } #} ))
>> >>
>> >> \score {
>> >> #(set-score-width 120)
>> >> \repeat unfold 20 \relative c { c' d e f g a b }
>> >> }
>> >>
>> >> \markup \wordwrap-string "Bacon ipsum dolor amet hamburger aliqua
>> >> incididunt sunt in. Excepteur consequat ad laboris anim flank jowl.
>> >> Irure drumstick shoulder dolor. Cupim tri-tip meatloaf prosciutto
>> >> leberkas."
>> >>
>> >> %%%%%%%%%%%%%%%%%%%%%%%%
>> >>
>> >> Juergen.
>>
>
>
>> -----ursprüngliche Nachricht Ende-----



reply via email to

[Prev in Thread] Current Thread [Next in Thread]