[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How to get a book twice with different page-footers?
From: |
Thomas Morley |
Subject: |
Re: How to get a book twice with different page-footers? |
Date: |
Fri, 22 Mar 2013 22:27:05 +0100 |
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