lilypond-user
[Top][All Lists]
Advanced

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

Re: How to get a book twice with different page-footers?


From: Ian Hulin
Subject: Re: How to get a book twice with different page-footers?
Date: Thu, 11 Apr 2013 09:47:02 +0100
User-agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130308 Thunderbird/17.0.4

Hi Harm,
Many thanks for the work-round, I'd found this problem too a while ago,
but am only just catching up with this list.

Cheers,  :-) Ian

On 22/03/13 21:27, Thomas Morley wrote:
> Hi Jan-Peter,
> 
> thanks for your reply.
> 
> 2013/3/22 Jan-Peter Voigt <address@hidden>:
>> Hello Harm,
>>
>> I don't have a solution, but I found, that not-first-page is not defined in
>> the global space. You can't access it with $(display not-first-page).
> 
> Yep.
> That's the problem.
> 
>> If you (re-)define a procedure #(define (not-first-page layout props arg)
>> (interpret-markup layout props arg)) the example compiles.
>> So propably there is a way to expose the needed functions/vars to another
>> scope?
> 
> I found a very simple solution:
> Instead of redefining all definitions from /ly/titling-init.ly I
> simply include titling-init.ly
> 
> Et voil�:
> 
> \version "2.16.2"
> 
> \include "titling-init.ly"
> 
> myname = #(ly:parser-output-name parser)
> 
> oddFooterMarkupI =
>   \markup \fill-line { "XYZ" }
> 
> oddFooterMarkupII =
>   \markup {
>           \on-the-fly #not-first-page
>           \fill-line { \with-color #red "123" }
>   }
> 
> writeBookTwice =
> #(define-void-function (parser location book)
>    (ly:book?)
> 
>    ; process with oddFooterMarkupI
>    (ly:output-def-set-variable!
>       (ly:book-paper book)
>       'oddFooterMarkup
>       oddFooterMarkupI)
>    (ly:book-process
>       book
>       $defaultpaper
>       $defaultlayout
>       myname)
> 
>    ; process with oddFooterMarkupII
>    (ly:output-def-set-variable!
>       (ly:book-paper book)
>       'oddFooterMarkup
>       oddFooterMarkupII)
>    (ly:book-process
>       book
>       $defaultpaper
>       $defaultlayout
>       (format "~a-other-footer" myname)))
> 
> 
> \writeBookTwice
>   \book {
>     \bookpart { \repeat unfold 2 { c''1 \pageBreak } }
>     \bookpart { \repeat unfold 2 { cis''1 \pageBreak } }
>   }
> 
> 
> Works.
> Though, I've to test it with some larger real-life-examples.
> 
> 
> Cheers,
>   Harm
> 





reply via email to

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