Hello Paolo,

Please note that default values are intended to be changed if required. If you 
do not change the default footer in Libre Office Writer you’d be unable to do 
anything but empty footers.

Then note that headers and footers in Lilypond DO have recurring rules, just 
that those rules are much more powerful than what you’d find in a typical text 
writer. But even these so usually have options to have headers and footers 
that are specific to one page.

That being said: Generally the footer markups are what you want to go for when 
placing something at the bottom of the page. With cover and introductory pages 
(where you have full control over the exact page layout) you can instead fill 
the space to push your markup to the bottom. See the appended file as example.

Cheers,
Valentin

Am Samstag, 18. Dezember 2021, 04:27:27 CET schrieb Paolo Prete:
> On Saturday, December 18, 2021, Paolo Prete <paolopr...@gmail.com> wrote:
> > On Saturday, December 18, 2021, Aaron Hill <lilyp...@hillvisions.com>
> > 
> > wrote:
> >> On 2021-12-17 4:28 pm, Paolo Prete wrote:
> >>> The example Aaron showed already added *logic* to the template
> > 
> > . This is how I proceed, when programming. From what I see, your approach
> > is a low-level approach,
> 
> (for Valentin too)
> Please note too that this is the reason for which it s not true what
> Valentin said that I "underestimate LilyPond. Instead, the opposite is
> true: low level tools such the one you showed, reveal how LP is powerful.
> But I don't want to use lower level tool for cover or introductory pages,
> nor I would like to spend time in wrapping them.
> 
> >> -- Aaron Hill
\header {
  tagline = ##f
}

#(define (printable-height layout props)
   (let
    ((height (ly:output-def-lookup layout 'paper-height))
     (tm (ly:output-def-lookup layout 'top-margin))
     (bm (ly:output-def-lookup layout 'bottom-margin)))
    (- height tm bm)))

#(define-markup-command (vertical-fill layout props height mups) (number? markup-list?)
   (let*
    ((realheight (if (>= height 0) height (printable-height layout props)))
     (tmu (stack-lines -1 0.0 0 (interpret-markup-list layout props mups)))
     (muext (ly:stencil-extent tmu Y))
     (muheight (- (cdr muext) (car muext)))
     (noels (length mups))
     (space (if (> noels 1) (/ (- realheight muheight) (- noels 1)) 0))
     (mu (if (> noels 1)
             (stack-lines -1 0.0 space (interpret-markup-list layout props mups))
             (if (= noels 0) empty-stencil
               (interpret-markup layout props (car mups))))))
    mu))

\markup \vertical-fill #-1 { a b \column { c d e } }

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to