B, regarding the slurs, modifying the #'positions property of Slur would be the ideal solution, but, for some reason, I couldn't make that solution work. I opted to use the #'avoid-slur property of TextScript to make an acceptable (but not ideal) appearance.
Other than that, I put a bunch of ideas in here. Don't expect it all to make sense, but working with the online documentation should help you find your way around this file. Hope this helps, Mark \version "2.11.57" % save code-clutter with identifiers: LH = \markup \halign #-0.5 \fontsize #-3 \sans L.H. RH = \markup \halign #-0.5 \fontsize #-3 \sans R.H. staffUp = \change Staff=upper staffDown = \change Staff=lower markRepeatTextOnce = { % format \mark for "D.C. al Fine" etc: \once \override Score.RehearsalMark #'break-visibility = #begin-of-line-invisible \once \override Score.RehearsalMark #'direction = #DOWN \once \override Score.RehearsalMark #'self-alignment-X = #2 \once \override Score.RehearsalMark #'minimum-Y-extent = #'(0 . 2) \once \override Score.RehearsalMark #'font-size = #-0.5 } removeOttavaBracketOnce = { % remove 8va bracket, and center the "8va": \once \override Staff.OttavaBracket #'stencil = #ly:text-interface::print \once \override Staff.OttavaBracket #'extra-offset = #'(-1 . 0) } % separate style from content: \layout { \context { \Score % align rehearsal marks to bar-lines instead of clefs: \override RehearsalMark #'break-align-symbols = #'(bar-line) % default arpeggio placement a little too high for my taste: \override Arpeggio #'extra-offset = #'(0 . -0.25) %default arpeggio left-padding a little too tight for my taste: \override Arpeggio #'minimum-X-extent = #'(-1.25 . 0) } \context { \PianoStaff connectArpeggios = ##t } } % I prefer specifying the exact starting pitch with \relative: upper = \relative g' { \clef treble \key e \minor \time 6/8 % remove the "s1*0": \mark \markup {\musicglyph #"scripts.coda" } % align these 3 fermatas % (without reverting, this affects last measure as well): \override Script #'staff-padding = #1.5 <b e g>4\arpeggio\fermata <a dis fis>\arpeggio\fermata <g b e>\arpeggio\fermata | % even if you use the same staff-padding for the last measure, % it's a good idea to avoid leaving layout settings in effect % when you don't need them anymore. They can cause confusing % effects pages later... ie. always pair \override with \revert % unless you're using \once: \revert Script #'staff-padding % use identifiers defined above to save code-clutter: r8. \staffDown r \staffUp r \staffDown r \staffUp | % using _\LH identifier from above: \stemDown e16^([ g_\LH b] \stemUp % move the "R.H." down and to the left: \once \override TextScript #'extra-offset = #'(-1.5 . -4.5) e^\RH[ g b]) % add vertical padding between fermata and staff (subtle, but nicer): \once \override Script #'staff-padding = #1 % override default spacing to suit taste (also so "8va" isn't squished). \once \override Score.SpacingSpanner #'common-shortest-duration = #(ly:make-moment 1 32) \newSpacingSection % using the \removeOttavaBracketOnce identifier defined above to format 8va \removeOttavaBracketOnce \ottava #1 <e, g b e>4.\arpeggio_\fermata \ottava #0 % end with a proper double-bar: \bar "|." } % again, with the exact pitch (your LH first measure was an octave too high): lower = \relative b { % don't forget key-signatures in all staves: \clef bass \key e \minor <b e>4\arpeggio _\fermata <b dis>\arpeggio _\fermata <b e>\arpeggio _\fermata | % this is one solution to your slur problem: \override TextScript #'avoid-slur = #'inside e,,16^([ g_\LH b] \staffUp e[ g_\RH b]) \staffDown e,([ g_\LH b] \staffUp e[ g_\RH b]) \staffDown r8. r r r % using the \markRepeatTextOnce identifier defined above to format "Fine": \markRepeatTextOnce \mark Fine | } \score { \new PianoStaff << \new Staff = "upper" \upper \new Staff = "lower" \lower >> % removed \layout block from here because it's already above. } _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user