lilypond-user
[Top][All Lists]
Advanced

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

Analysis brackets


From: Hamish Allan
Subject: Analysis brackets
Date: Sat, 14 Aug 2004 06:20:54 +0100

Hi,

As this is my first post, I'd like to say thank you very much to the developers for creating Lilypond -- I've just yesterday started having to typeset music within LaTeX documents; I had a quick play with MusiXTeX, but thankfully shortly afterwards found Lilypond and immediately became very glad of its existence!

My query is about analysis brackets. I'm trying to show nested metrical structure in Bach's Prelude No. 1 from the Well-Tempered Clavier (see source code below). I want two brackets per bar, then brackets round pairs of those, etc. I'm using the PianoStaff so I've got two staves. If I put the groups around notes in the top stave. the brackets appear between the staves, wheras I want them either below or above both staves. If I put the groups around the notes in the bottom stave, the brackets don't stretch far enough (because the notes in the bottom stave are longer - but I want the brackets effectively to cover both staves). I tried adding eight s16 invisible rests to the chord at the bottom but the brackets would still only stretch as far as the visible notes.

Is there any way either to have the brackets upside down above the top stave, or to have them cover more of the bottom stave?

Whilst we're here, can I use the square bracket shorthand for \startGroup and \stopGroup without changing the time signature? I tried it out, but of course it just extended the beams over the rest. Also, how might I use the triangular grouping engraver?

Many thanks in advance,
Hamish

--------

\paper {
  linewidth = 413\pt
  indent = 0.0\mm
  raggedright = ##t
  #(paper-set-staff-size (* 18.0 pt))
  \context {
    \StaffContext \consists "Horizontal_bracket_engraver"
  }
}

\score {
  \notes \context PianoStaff <<
    \context Staff = "up" {
      \relative c'' {
r8\startGroup\startGroup\startGroup\startGroup g16 c e g, c e\stopGroup
        r8\startGroup g,16 c e g, c e\stopGroup\stopGroup
        r8\startGroup\startGroup a,16 d f a, d f\stopGroup
        r8\startGroup a,16 d f a, d f\stopGroup\stopGroup\stopGroup
        r8\startGroup\startGroup\startGroup g,16 d' f g, d' f\stopGroup
        r8\startGroup g,16 d' f g, d' f\stopGroup\stopGroup
        r8\startGroup\startGroup g,16 c e g, c e\stopGroup
r8\startGroup g,16 c e g, c e\stopGroup\stopGroup\stopGroup\stopGroup
      }
    }
    \context Staff = "down" {
      \clef bass
      \relative c' {
        << c2 \\ { r16 e8. ~ e4 } >>
        << c2 \\ { r16 e8.~ e4 } >>
        << c2 \\ { r16 d8. ~ d4 } >>
        << c2 \\ { r16 d8.~ d4 } >>
        << b2 \\ { r16 d8. ~ d4 } >>
        << b2 \\ { r16 d8.~ d4 } >>
        << c2 \\ { r16 e8. ~ e4 } >>
        << c2 \\ { r16 e8.~ e4 } >>
      }
    }
  >>
}




reply via email to

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