lilypond-user
[Top][All Lists]
Advanced

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

Re: Non-numeric page number


From: Paul Hodges
Subject: Re: Non-numeric page number
Date: Wed, 25 Aug 2021 00:21:50 +0100
User-agent: eM_Client/8.2.1473.0

Thanks for this.  Immediately before reading your suggestion, I found 
myself a much simpler - and much dirtier! - solution, which is also for 
the last page only.  I have used:

evenHeaderMarkup = \markup {
   \on-the-fly \last-page \fill-line{ \null \null "5a" }
   \on-the-fly \last-page "                   "
   \fill-line{ \fromproperty #'page:page-number-string \null \null }
}

So what's happening here?  The first on-the-fly line does the output I 
need.  But in the absence of a matching not-last-page procedure 
(first-page gets one), I observed that the final fill-line simply 
printed a "6" immediately to the right of the "5a".  So I thought of 
putting spaces after the "5a" to force the "6" off the side of the page. 
  But adding spaces in the string with "5a" just moves the number away 
from the margin towards the centre.  However, adding another last-page 
with a string of spaces places those spaces to the right of the "5a", 
and the "6" is then printed off the page.  I don't know how PDFs are 
supposed to respond to out-of-canvas drawing, but neither Fresobaldi nor 
Adobe reader has a problem with it.

I wanted initially to print the numbers using individual lines using the 
"(on-page nmbr)" procedure specified in the documentation - which would 
also enable me to handle such things on arbitrary pages - but I cannot 
find the syntax to call this procedure without an error, neither by 
trial and error, nor by googling for snippets which use it.

Paul


On 24/08/2021 23:29:31, "Thomas Morley" <thomasmorley65@gmail.com> 
wrote:

>Am Di., 24. Aug. 2021 um 18:38 Uhr schrieb Paul Hodges <pwh@cassland.org>:
>>
>>  I am making a score one of whose pages (the last) will fold out from the
>>  previous.  The previous page is numbered 5, but I have been told to make
>>  the fold-out page not 6 but 5a.  I can't see how to change the header
>>  format for just a single page - can anyone help?
>>
>>  Thanks, as ever,
>>  Paul
>>
>
>Hi Paul,
>
>below may be a possibility, it has some strong limitations, though:
>It works only for the very last page, which must be an otherwise even
>number. Meaning you can't add another page.
>To have it mid-score/book would likely require a lot more afford.
>
>#(define (last-page-leporello layout props arg)
>   (let ((new-arg
>           (if (and (chain-assoc-get 'page:is-last-bookpart props)
>                    (chain-assoc-get 'page:is-bookpart-last-page props))
>               (format #f "~aa" (1- (chain-assoc-get 'page:page-number props)))
>               arg)))
>   (interpret-markup layout props new-arg)))
>
>\paper {
>   oddHeaderMarkup = \markup
>   \fill-line {
>     ""
>     \on-the-fly #not-part-first-page \fromproperty #'header:instrument
>     \on-the-fly #print-page-number-check-first
>     \fromproperty #'page:page-number-string
>   }
>
>   %% evenHeaderMarkup would inherit the value of
>   %% oddHeaderMarkup if it were not defined here
>   evenHeaderMarkup = \markup
>   \fill-line {
>     \on-the-fly #print-page-number-check-first
>     \on-the-fly #last-page-leporello \fromproperty #'page:page-number-string
>     \on-the-fly #not-part-first-page \fromproperty #'header:instrument
>     ""
>   }
>}
>
>\markup  "PAGE 1"
>\pageBreak
>\markup  "PAGE 2"
>\pageBreak
>\markup  "PAGE 3"
>\pageBreak
>\markup  "PAGE 4"
>\pageBreak
>\markup  "PAGE 5"
>\pageBreak
>\markup  "PAGE 6 on 5a"
>
>Cheers,
>   Harm



reply via email to

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