Le 04/09/2021 à 20:39, Richard Shann a écrit :
(I'm trying to write code that will draw a box round A4 or letter paper
with just a change of some scaling factors - I can work around it but
it's distressing not to understand what is going on).
Is this the kind of thing you're looking for?
\version "2.22.1"
#(define-markup-command (page-box layout props left-padding top-padding
right-padding bottom-padding)
(number? number? number? number?)
#:properties ((thickness 0.1))
(let* ((paper-width (ly:output-def-lookup layout 'paper-width))
(paper-height (ly:output-def-lookup layout 'paper-height))
(left-margin (ly:output-def-lookup layout 'left-margin))
(top-margin (ly:output-def-lookup layout 'top-margin))
(start-x (- left-padding left-margin))
(start-y (- (- top-padding top-margin)))
(end-x (- paper-width right-padding left-margin))
(end-y (- (- paper-height bottom-padding top-margin))))
(ly:stencil-outline
(interpret-markup layout props
(make-path-markup
thickness
`((moveto ,start-x ,start-y)
(lineto ,start-x ,end-y)
(lineto ,end-x ,end-y)
(lineto ,end-x ,start-y)
(closepath))))
empty-stencil)))
\paper {
#(set-paper-size "a5landscape")
}
\markup \combine
\override #'(thickness . 0.3) \page-box #2 #2 #3 #1
\page-box #3 #3 #4 #2
Best,
Jean