[Top][All Lists]

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

Re: Nesting paper blocks

From: Peter Crighton
Subject: Re: Nesting paper blocks
Date: Sat, 21 Mar 2020 11:43:53 +0100

On Fri, 20 Mar 2020 at 23:04, Timothy Lanfear <address@hidden> 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

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 <address@hidden> 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

reply via email to

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