Dear Abraham and Xavier

Thank you for this! I must have read the documentation wrong.

That – unfortunately – causes new problems, because my project is in different files and scores in different bookparts.

I'm getting a warning: set-global-staff-size: not in toplevel scope error when compiling. That's with the size set in the top-level doc layout block. Same if I add it to the actual score document.

If I add anything to the actual score layout block, it ignores my top-level document layout, which isn't practical, but can be fixed, I suppose, by editing the score files.

Have I organised my score badly? I have attached my top-level document and a score document.

My apologies for not including this in the first email. I didn't think it could be a problem with the file(s) structure.

Best wishes,
Jakob

On 23.05.2023 15.58, Abraham Lee wrote:
Hi, Jakob!

On Tue, May 23, 2023 at 7:44 AM Jakob Pedersen <jak...@vivaldi.net> wrote:

    Greetings!

    I'm writing some chorales for playing hymns on the organ. I've
    chosen a larger staff size to improve readability.

    Having adjusted #(layout-set-staff-size ##) to 26, I'm noticing
    some less-than-fortunate side effects.

    The key signature is very, very close to the clef, and the notes
    are too close to the bar line.



    Is there an elegant way to adjust this to the larger staff size?

    A minimal example:

    \version "2.24.1"
    \language "deutsch"

    global = {
      \key f \major
      \time 3/2
    }

    rightOne = \relative c' {
      \global
    f4 g f2 c | d4 e f2 a |
    }

    rightTwo = \relative c' {
      \global
    c2 c a | b a c |
    }

    leftOne = \relative c {
      \global
    a'4 g a2 a | f4 g c,2 f |
    }

    leftTwo = \relative c {
      \global
    f4 e f2 f | b,4 g f2 f |
    }

    \score {
      \new PianoStaff <<
        \new Staff = "right" <<
          \new Voice = "soprano" {
            \voiceOne << \rightOne >>
          }
          \new Voice = "alto" {
            \voiceTwo << \rightTwo >>
          }
        >>
        \new Staff = "left" <<
          \clef bass
          \new Voice = "tenor" {
            \voiceOne << \leftOne >>
          }
          \new Voice = "bass" {
            \voiceTwo << \leftTwo >>
          }
        >>
      >>

      \layout {
        #(layout-set-staff-size 26)
      }

    }


    Best wishes,

    Jakob


layout-set-staff-size is intended to resize an individual staff within a group of others at a default size. In your case, you've resized (but not respaced) all the Staffs relative to the implicit default 20 pt staff height, which is why things got cramped. What you want to do instead is put this command near the top of your file:

#(set-global-staff-size 26)

This changes the default staff size and respaces accordingly. By doing this, you can then remove the layout-set-staff-size command completely as it is no longer necessary.

Hope that helps,
Abraham
\version "2.24.1"
\language "deutsch"

global = {
  \key f \major
  \time 3/2
}

rightOne = \relative c' {
  \global
f4 g f2 c | d4 e f2 a |
}

rightTwo = \relative c' {
  \global
c2 c a | b a c |
}

leftOne = \relative c {
  \global
a'4 g a2 a | f4 g c,2 f |
}

leftTwo = \relative c {
  \global
f4 e f2 f | b,4 g f2 f |
}

hymnscore = \score {
  \new PianoStaff <<
    \new Staff = "right" <<
      \new Voice = "soprano" {
        \voiceOne << \rightOne >>
      }
      \new Voice = "alto" {
        \voiceTwo << \rightTwo >>
      }
    >>
    \new Staff = "left" <<
      \clef bass
      \new Voice = "tenor" {
        \voiceOne << \leftOne >>
      }
      \new Voice = "bass" { 
        \voiceTwo << \leftTwo >>
      }
    >>
  >>
  
  \layout {
    #(set-global-staff-size 26)
  }
}
\version "2.24.1"

\header {
  tagline = ##f
}

\include "hymn.ly"

\paper {
  #(set-paper-size "a4landscape")
}

\layout {
  indent = 0.0
  \context {
    \Score
    \remove "Bar_number_engraver"
  }
 #(set-global-staff-size 26)
}

% A hymn begins here
% \bookpart { ... etc. }

% This hymn begins here
  \bookpart {
        
    \header {
      title = "123. This a hymn"
      composer = \markup { \vspace #1.5 Something German ~1550 }
    } 
    
    \hymnscore
        
  }

% Another hymn begins here
% \bookpart { ... etc. }

Reply via email to