On Fri, 20 Mar 2020 at 23:04, Timothy Lanfear <[email protected]> wrote:
> On 20/03/2020 16:17, Peter Crighton wrote:
> > I haven’t run LilyPond with scripts before. If there’s any
> > documentation or code examples I should look at, I’d appreciate being
> > pointed in the right direction.
> >
> > IOW, use a scripting language to script, and LP to typeset music.
> >
> >
> > Sound advice.
> >
On the other hand, does an approach like this help?
>
> \version "2.20.0"
>
> basicdistance = #(define-scheme-function (n) (integer?)
> #{ \paper { system-system-spacing.basic-distance = #n } #})
>
> linewidth = #(define-scheme-function (n) (integer?)
> #{ \paper { line-width = #(ly:cm n) } #})
>
> \paper {
> indent = 0
> }
>
> \linewidth 10
> \basicdistance 30
> \new Staff {
> \relative c' {
> c1 \break
> c1
> }
> }
>
Actually, what Kevin wrote earlier works for me, contrary to what I thought
at first.
On Thu, 19 Mar 2020 at 22:29, Kevin Barry <[email protected]> wrote:
> I accomplish something similar by putting paper definitions into
> various .ily files. Then just include the ones I want with \include.
> It seems it's OK to have multiple \paper blocks as a result of many
> \includes. Have you tried that?
I think when I first tried it, in the included files I still had variables
defined as a paper block and not _just_ the paper block inside them.
Something like this works well:
\book {
\score { … }
\include "paperI.ily"
\include "paperII.ily"
\include "paperIII.ily"
}
Where the included paper files are just a paper block:
\paper {
…
}
So, thanks all around! I still probably will look into the script thing in
the future, that seems handy for producing several PDFs from the same
source.
--
Peter Crighton | Musician & Music Engraver based in Mainz, Germany
http://www.petercrighton.de