]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/examples.itely
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / Documentation / user / examples.itely
index 2279fed2a57b02acad34da46f0e959d08b3068e3..9bb3dede2af22e9ff3bc89035c8a1f3962271d54 100644 (file)
@@ -1,59 +1,49 @@
+@c -*- coding: utf-8; mode: texinfo; -*-
 @node Example templates
-@chapter Example templates
+@appendix Example templates
 
 This section of the manual contains templates with the LilyPond score
 already set up for you.  Just add notes, run LilyPond, and enjoy
 beautiful printed scores!
 
-Note that all templates contain a @code{\version "x.y.z"} string.  We
-highly recommend that you always include the @code{\version}, no matter
-how small your file is.  Speaking from personal experience, it's
-quite frustrating to try to remember which version of LilyPond you were
-using a few years ago.  @code{convert-ly} requires you to declare
-which version of LilyPond you used.
-
+@c bad node name for ancient notation to avoid confict
 @menu
-* Single staff::
-* Piano templates::
-* Small ensembles::
-* Jazz combo::
-* Other templates::
+* Single staff::                
+* Piano templates::             
+* String quartet::              
+* Vocal ensembles::             
+* Ancient notation templates::  
+* Jazz combo::                  
+* Lilypond-book templates::     
 @end menu
 
-@c   more sections to come soon.
-@c  make a note about the \score{} stuff?  It might make more sense
-@c  to note that in the tutorial, and reserve this section purely
-@c  for templates.  -GP
-
 
 @node Single staff
-@section Single staff
-@subsection Notes only
+@appendixsec Single staff
+@appendixsubsec Notes only
 
 The first example gives you a staff with notes, suitable for a solo
 instrument or a melodic fragment.  Cut and paste this into a file,
 add notes, and you're finished!
 
-@lilypond[verbatim,raggedright]
-
-\version "2.3.11"
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
 melody = \relative c' {
-\clef treble
-\key c \major
-\time 4/4
+   \clef treble
+   \key c \major
+   \time 4/4
 
-  a4 b c d
+   a4 b c d
 }
 
-\score{
-  \new Staff \melody
-  \paper { }
-  \midi { \tempo 4=60 }
+\score {
+   \new Staff \melody
+   \layout { }
+   \midi { \tempo 4=60 }
 }
-
 @end lilypond
 
-@subsection Notes and lyrics
+@appendixsubsec Notes and lyrics
 
 The next example demonstrates a simple melody with lyrics.  Cut and
 paste, add notes, then words for the lyrics.  This example turns off
@@ -61,350 +51,995 @@ automatic beaming, which is common for vocal parts.  If you want to use
 automatic beaming, you'll have to change or comment out the relevant
 line.
 
-@lilypond[verbatim,raggedright]
-
-\version "2.3.11"
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
 melody = \relative c' {
-\clef treble
-\key c \major
-\time 4/4
+   \clef treble
+   \key c \major
+   \time 4/4
 
-  a4 b c d
+   a4 b c d
 }
 
-text = \lyrics {
-  Aaa Bee Cee Dee
+text = \lyricmode {
+   Aaa Bee Cee Dee
 }
 
 \score{
-  <<
-    \context Voice = one {
-      \autoBeamOff
-      \melody
+   <<
+      \new Voice = "one" {
+         \autoBeamOff
+         \melody
       }
-    \lyricsto "one" \new Lyrics \text
-  >>
-  \paper { }
-  \midi { \tempo 4=60 }
+      \new Lyrics \lyricsto "one" \text
+   >>
+   \layout { }
+   \midi { \tempo 4=60 }
 }
+@end lilypond
+
+@appendixsubsec Notes and chords
+
+Want to prepare a lead sheet with a melody and chords?  Look no further!
 
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
+melody = \relative c' {
+   \clef treble
+   \key c \major
+   \time 4/4
+
+   f4 e8[ c] d4 g |
+   a2 ~ a2 |
+}
+
+harmonies = \chordmode {
+   c4:m f:min7 g:maj c:aug d2:dim b:sus
+}
+
+\score {
+   <<
+      \new ChordNames {
+         \set chordChanges = ##t
+         \harmonies
+      }
+   \new Staff \melody
+   >>
+
+   \layout{ }
+   \midi { \tempo 4=60}
+}
 @end lilypond
 
-@subsection Notes and chords
+@appendixsubsec Notes, lyrics, and chords.
 
-Want to prepare a lead sheet with a melody and chords?  Look no farther!
+This template allows you to prepare a song with melody, words, and chords.
 
-@lilypond[verbatim,raggedright]
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
+melody = \relative c' {
+   \clef treble
+   \key c \major
+   \time 4/4
 
-\version "2.3.11"
-melody =  \relative c' {
-\clef treble
-\key c \major
-\time 4/4
+   a b c d
+}
 
-  f4 e8[ c] d4 g |
-  a2 ~ a2 |
+text = \lyricmode {
+   Aaa Bee Cee Dee
 }
 
-harmonies = \chords {
-  c4:m f:min7 g:maj c:aug d2:dim b:sus
+harmonies = \chordmode {
+   a2 c2
 }
 
 \score {
    <<
-    \context ChordNames {
-        \set chordChanges = ##t
-        \harmonies
-    }
-    \context Staff = one \melody
-  >>
+      \new ChordNames {
+         \set chordChanges = ##t
+         \harmonies
+      }
+   \new Voice = "one" {
+      \autoBeamOff
+      \melody
+   }
+   \new Lyrics \lyricsto "one" \text
+   >>
+   \layout { }
+   \midi { \tempo 4=60 }
+}
+@end lilypond
+
+@node Piano templates
+@appendixsec Piano templates
+@appendixsubsec Solo piano
+
+Here is a simple piano staff.
+
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
+upper = \relative c'' {
+   \clef treble
+   \key c \major
+   \time 4/4
 
-  \paper{ }
-  \midi  { \tempo 4=60}
+   a b c d
 }
 
+lower = \relative c {
+   \clef bass
+   \key c \major
+   \time 4/4
+
+   a2 c
+}
+
+\score {
+   \new PianoStaff <<
+      \set PianoStaff.instrument = "Piano  "
+      \new Staff = "upper" \upper
+      \new Staff = "lower" \lower
+   >>
+   \layout { }
+   \midi { \tempo 4=60 }
+}
 @end lilypond
 
-@subsection Notes, lyrics, and chords.
+@appendixsubsec Piano and melody with lyrics
 
-This template allows you to prepare a song with melody, words, and chords.
+Here is a typical song format: one staff with the melody and lyrics, with
+piano accompaniment underneath.
 
-@lilypond[verbatim,raggedright]
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
+melody = \relative c'' {
+   \clef treble
+   \key c \major
+   \time 4/4
 
-\version "2.3.11"
-melody =  \relative c' {
-\clef treble
-\key c \major
-\time 4/4
+   a b c d
+}
 
-    a b c d
+text = \lyricmode {
+   Aaa Bee Cee Dee
 }
 
-text = \lyrics {
-    Aaa Bee Cee Dee
+upper = \relative c'' {
+   \clef treble
+   \key c \major
+   \time 4/4
+
+   a b c d
 }
 
-harmonies = \chords {
-    a2 c2
+lower = \relative c {
+   \clef bass
+   \key c \major
+   \time 4/4
+
+   a2 c
 }
 
 \score {
-  <<
-    \context ChordNames {
-        \set chordChanges = ##t
-        \harmonies
-    }
-    \context Voice = one {
-       \autoBeamOff
-        \melody
+   <<
+      \new Voice = "mel" {
+          \autoBeamOff
+          \melody
+      }
+      \new Lyrics \lyricsto mel \text
+
+      \new PianoStaff <<
+         \new Staff = "upper" \upper
+         \new Staff = "lower" \lower
+      >>
+   >>
+   \layout {
+      \context { \RemoveEmptyStaffContext }
+   }
+   \midi { \tempo 4=60 }
+}
+@end lilypond
+
+
+@appendixsubsec Piano centered lyrics
+
+Instead of having a full staff for the melody and lyrics, you can place
+the lyrics between the piano staff (and omit the separate melody staff).
+
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
+upper = \relative c'' {
+   \clef treble
+   \key c \major
+   \time 4/4
+
+   a b c d
+}
+
+lower = \relative c {
+   \clef bass
+   \key c \major
+   \time 4/4
+
+   a2 c
+}
+
+text = \lyricmode {
+   Aaa Bee Cee Dee
+}
+
+\score {
+  \new GrandStaff <<
+    \new Staff = upper { \new Voice = "singer" \upper }
+    \new Lyrics \lyricsto "singer" \text
+    \new Staff = lower {
+      \clef bass
+      \lower
     }
-    \lyricsto "one" \new Lyrics \text
   >>
-  \paper { }
-  \midi  { \tempo 4=60}
+  \layout {
+    \context { \GrandStaff \accepts "Lyrics" }
+    \context { \Lyrics \consists "Bar_engraver" }
+  }
+  \midi { \tempo 4=60 }
 }
-
 @end lilypond
 
-@node Piano templates
-@section Piano templates
-@subsection Solo piano
 
-Here's a simple piano staff.
+@appendixsubsec Piano centered dynamics
 
-@lilypond[verbatim,raggedright]
+Many piano scores have the dynamics centered between the two
+staffs.  This requires a bit of tweaking to implement, but
+since the template is right here, you don't have to do the
+tweaking yourself.
 
-\version "2.3.11"
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
 upper = \relative c'' {
-\clef treble
-\key c \major
-\time 4/4
+  \clef treble
+  \key c \major
+  \time 4/4
 
   a b c d
 }
 
 lower = \relative c {
-\clef bass
-\key c \major
-\time 4/4
+  \clef bass
+  \key c \major
+  \time 4/4
 
   a2 c
 }
 
+dynamics = {
+  s2\fff\> s4
+  s\!\pp
+}
+
+pedal = {
+  s2\sustainDown s2\sustainUp
+}
+
 \score {
-  \context PianoStaff <<
-    \set PianoStaff.instrument = "Piano  "
-    \context Staff = upper \upper
-    \context Staff = lower \lower
-    >>  
-  \paper { }  
-  \midi { \tempo 4=60 }  
+  \new PianoStaff <<
+    \new Staff = "upper" \upper
+    \new Dynamics = "dynamics" \dynamics
+    \new Staff = "lower" <<
+      \clef bass
+      \lower
+    >>
+    \new Dynamics = "pedal" \pedal
+  >>
+  \layout {
+    \context {
+      \type "Engraver_group"
+      \name Dynamics
+      \alias Voice % So that \cresc works, for example.
+      \consists "Output_property_engraver"
+
+      \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 1)
+      pedalSustainStrings = #'("Ped." "*Ped." "*")
+      pedalUnaCordaStrings = #'("una corda" "" "tre corde")
+
+      \consists "Piano_pedal_engraver"
+      \consists "Script_engraver"
+      \consists "Dynamic_engraver"
+      \consists "Text_engraver"
+
+      \override TextScript #'font-size = #2
+      \override TextScript #'font-shape = #'italic
+      \override DynamicText #'extra-offset = #'(0 . 2.5)
+      \override Hairpin #'extra-offset = #'(0 . 2.5)
+
+      \consists "Skip_event_swallow_translator"
+
+      \consists "Axis_group_engraver"
+    }
+    \context {
+      \PianoStaff
+      \accepts Dynamics
+      \override VerticalAlignment #'forced-distance = #7
+    }
+  }
 }
+\score {
+  \new PianoStaff <<
+    \new Staff = "upper" << \upper \dynamics >>
+    \new Staff = "lower" << \lower \dynamics >>
+    \new Dynamics = "pedal" \pedal
+  >>
+  \midi {
+    \context {
+      \type "Performer_group"
+      \name Dynamics
+      \consists "Piano_pedal_performer"
+    }
+    \context {
+      \PianoStaff
+      \accepts Dynamics
+    }
+  }
+}
+@end lilypond
+
+
+@node String quartet
+@appendixsec String quartet
+@appendixsubsec String quartet
+
+This template demonstrates a string quartet.  It also uses a @code{\global}
+section for time and key signatures.
+
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
+
+global= {
+  \time 4/4
+  \key c \major
+}
+
+violinOne = \new Voice { \relative c''{
+  \set Staff.instrument = "Violin 1 "
 
+  c2 d e1
+
+\bar "|." }}
+violinTwo = \new Voice { \relative c''{
+  \set Staff.instrument = "Violin 2 "
+
+  g2 f e1
+
+\bar "|." }}
+viola = \new Voice { \relative c' {
+  \set Staff.instrument = "Viola "
+  \clef alto
+
+  e2 d c1
+
+\bar "|." }}
+cello = \new Voice { \relative c' {
+  \set Staff.instrument = "Cello     "
+  \clef bass
+
+  c2 b a1
+
+\bar "|."}}
+
+\score {
+   \new StaffGroup <<
+      \new Staff << \global \violinOne >>
+      \new Staff << \global \violinTwo >>
+      \new Staff << \global \viola >>
+      \new Staff << \global \cello >>
+   >>
+   \layout { }
+   \midi { \tempo 4=60}
+}
 @end lilypond
 
-@subsection Piano and melody with lyrics
+@appendixsubsec String quartet parts
 
-Here's a typical song format: one staff with the melody and lyrics, with
-piano accompaniment underneath.
+The previous example produces a nice string quartet, but what if you
+needed to print parts?  This template demonstrates how to use the
+@code{\tag} feature to easily split a piece into individual parts.
 
-@lilypond[verbatim,raggedright]
+You need to split this template into separate files; the filenames
+are contained in comments at the beginning of each file.  @code{piece.ly}
+contains all the music definitions.  The other files -- @code{score.ly},
+@code{vn1.ly}, @code{vn2.ly}, @code{vla.ly}, and
+@code{vlc.ly} -- produce the appropiate part.
 
-\version "2.3.11"
-melody =  \relative c'' {
-\clef treble
-\key c \major
-\time 4/4
+@verbatim
+%%%%% piece.ly
+\version "2.7.39"
 
-  a b c d
+global= {
+  \time 4/4
+  \key c \major
 }
 
-text = \lyrics {
-  Aaa Bee Cee Dee
+Violinone = \new Voice { \relative c''{
+  \set Staff.instrument = "Violin 1 "
+
+  c2 d e1
+
+\bar "|." }}   %*********************************
+Violintwo = \new Voice { \relative c''{
+  \set Staff.instrument = "Violin 2 "
+
+  g2 f e1
+
+\bar "|." }}   %*********************************
+Viola = \new Voice { \relative c' {
+  \set Staff.instrument = "Viola "
+  \clef alto
+
+  e2 d c1
+
+\bar "|." }}   %*********************************
+Cello = \new Voice { \relative c' {
+  \set Staff.instrument = "Cello     "
+  \clef bass
+
+  c2 b a1
+
+\bar "|."}}   %**********************************
+
+music = {
+  <<
+    \tag #'score \tag #'vn1 \new Staff { << \global \Violinone >> }
+    \tag #'score \tag #'vn2 \new Staff { << \global \Violintwo>> }
+    \tag #'score \tag #'vla \new Staff { << \global \Viola>> }
+    \tag #'score \tag #'vlc \new Staff { << \global \Cello>> }
+  >>
 }
 
-upper = \relative c'' {
-\clef treble
-\key c \major
-\time 4/4
 
-  a b c d
+
+%%%%% score.ly
+\version "2.7.39"
+\include "piece.ly"
+#(set-global-staff-size 14)
+\score {
+  \new StaffGroup \keepWithTag #'score \music
+  \layout { }
+  \midi { \tempo 4 = 60 }
 }
 
-lower = \relative c {
-\clef bass
-\key c \major
-\time 4/4
 
-  a2 c
+%%%%% vn1.ly
+\version "2.7.39"
+\include "piece.ly"
+\score {
+  \keepWithTag #'vn1 \music
+  \layout { }
+}
+
+
+%%%%% vn2.ly
+\version "2.7.39"
+\include "piece.ly"
+\score {
+  \keepWithTag #'vn2 \music
+  \layout { }
 }
 
+
+%%%%% vla.ly
+\version "2.7.39"
+\include "piece.ly"
 \score {
-  <<
-      \context Voice = mel {
-         \autoBeamOff
-         \melody
-      }
-      \lyricsto mel \new Lyrics \text
+  \keepWithTag #'vla \music
+  \layout { }
+}
 
-      \context PianoStaff <<
-         \context Staff = upper \upper
-         \context Staff = lower \lower
-      >>
-  >>
-  \paper {
-      \context { \RemoveEmptyStaffContext }
-  }  
-  \midi { \tempo 4=60}
+
+%%%%% vlc.ly
+\version "2.7.39"
+\include "piece.ly"
+\score {
+  \keepWithTag #'vlc \music
+  \layout { }
 }
+@end verbatim
 
-@end lilypond
 
-@node Small ensembles
-@section Small ensembles
-@subsection SATB vocal score
+@node Vocal ensembles
+@appendixsec Vocal ensembles
+
+@appendixsubsec SATB vocal score
 
-Here's a standard four-part SATB vocal score.  With larger ensembles,
+Here is a standard four-part SATB vocal score.  With larger ensembles,
 it's often useful to include a section which is included in all
 parts.  For example, the time signature and key signatures are almost
 always the same for all parts.
 
-@lilypond[verbatim,raggedright]
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
+global = {
+   \key c \major
+   \time 4/4
+}
+
+sopMusic = \relative c'' {
+   c4 c c8[( b)] c4
+}
+sopWords = \lyricmode {
+   hi hi hi hi
+}
 
-\version "2.3.11"
+altoMusic = \relative c' {
+   e4 f d e
+}
+altoWords =\lyricmode {
+   ha ha ha ha
+}
+
+tenorMusic = \relative c' {
+   g4 a f g
+}
+tenorWords = \lyricmode {
+   hu hu hu hu
+}
+
+bassMusic = \relative c {
+   c4 c g c
+}
+bassWords = \lyricmode {
+   ho ho ho ho
+}
+
+\score {
+   \new ChoirStaff <<
+      \new Lyrics = sopranos { s1 }
+      \new Staff = women <<
+         \new Voice =
+           "sopranos" { \voiceOne << \global \sopMusic >> }
+         \new Voice =
+           "altos" { \voiceTwo << \global \altoMusic >> }
+      >>
+      \new Lyrics = "altos" { s1 }
+      \new Lyrics = "tenors" { s1 }
+      \new Staff = men <<
+         \clef bass
+         \new Voice =
+           "tenors" { \voiceOne <<\global \tenorMusic >> }
+         \new Voice =
+           "basses" { \voiceTwo <<\global \bassMusic >> }
+      >>
+      \new Lyrics = basses { s1 }
+
+      \context Lyrics = sopranos \lyricsto sopranos \sopWords
+      \context Lyrics = altos \lyricsto altos \altoWords
+      \context Lyrics = tenors \lyricsto tenors \tenorWords
+      \context Lyrics = basses \lyricsto basses \bassWords
+   >>
+
+   \layout {
+      \context {
+         % a little smaller so lyrics
+         % can be closer to the staff
+         \Staff
+         \override VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
+      }
+   }
+}
+@end lilypond
+
+
+@appendixsubsec SATB vocal score and automatic piano reduction
+
+This template adds an automatic piano reduction to the SATB vocal
+score.  This demonstrates one of the strengths of LilyPond -- you
+can use a music definition more than once.  If you make any changes
+to the vocal notes (say, tenorMusic), then the changes will also
+apply to the piano reduction.
+
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
 global = {
-\key c \major
-\time 4/4
+   \key c \major
+   \time 4/4
 }
 
 sopMusic = \relative c'' {
-c4 c c8[( b)] c4
+   c4 c c8[( b)] c4
+}
+sopWords = \lyricmode {
+   hi hi hi hi
 }
-sopWords = \lyrics { hi4 hi hi hi  }
 
 altoMusic = \relative c' {
-e4 f d e 
+   e4 f d e
+}
+altoWords =\lyricmode {
+   ha ha ha ha
 }
-altoWords =\lyrics { ha4 ha ha ha }
 
 tenorMusic = \relative c' {
-g4 a f g
+   g4 a f g
+}
+tenorWords = \lyricmode {
+   hu hu hu hu
 }
-tenorWords = \lyrics { hu4 hu hu hu }
 
 bassMusic = \relative c {
-c4 c g c
-}
-bassWords = \lyrics { ho4 ho ho ho }
-
-\score { 
-         \context StaffGroup <<
-             \context Lyrics = sopranos { s1 }
-             \context Staff = women <<
-                 \context Voice = sopranos { \voiceOne << \global \sopMusic >> }
-                 \context Voice = altos { \voiceTwo << \global \altoMusic >> }
-             >>
-             \context Lyrics = altos { s1 }
-             \context Lyrics = tenors { s1 }
-             \context Staff = men <<
-                 \clef bass
-                 \context Voice = tenors { \voiceOne <<\global \tenorMusic >> }
-                 \context Voice = basses { \voiceTwo <<\global \bassMusic >> }
-             >>
-             \context Lyrics = basses { s1 }
-
-             
-             \context Lyrics = sopranos \lyricsto sopranos \sopWords
-             \context Lyrics = altos \lyricsto altos \altoWords
-             \context Lyrics = tenors \lyricsto tenors \tenorWords
-             \context Lyrics = basses \lyricsto basses \bassWords
-         
-         >>
-  \paper {
-    \context {
+   c4 c g c
+}
+bassWords = \lyricmode {
+   ho ho ho ho
+}
+
+\score {
+  <<
+    \new ChoirStaff <<
+      \new Lyrics = sopranos { s1 }
+      \new Staff = women <<
+        \new Voice =
+          "sopranos" { \voiceOne << \global \sopMusic >> }
+        \new Voice =
+          "altos" { \voiceTwo << \global \altoMusic >> }
+      >>
+      \new Lyrics = "altos" { s1 }
+      \new Lyrics = "tenors" { s1 }
+      \new Staff = men <<
+        \clef bass
+        \new Voice =
+          "tenors" { \voiceOne <<\global \tenorMusic >> }
+        \new Voice =
+          "basses" { \voiceTwo <<\global \bassMusic >> }
+      >>
+      \new Lyrics = basses { s1 }
 
-       % a little smaller so lyrics can be closer to the staff. 
-       \Staff
-       minimumVerticalExtent = #'(-3 . 3) 
+      \context Lyrics = sopranos \lyricsto sopranos \sopWords
+      \context Lyrics = altos \lyricsto altos \altoWords
+      \context Lyrics = tenors \lyricsto tenors \tenorWords
+      \context Lyrics = basses \lyricsto basses \bassWords
+    >>
+  \new PianoStaff <<
+    \new Staff <<
+      \set Staff.printPartCombineTexts = ##f
+      \partcombine
+      << \global \sopMusic >>
+      << \global \altoMusic >>
+    >>
+    \new Staff <<
+      \clef bass
+      \set Staff.printPartCombineTexts = ##f
+      \partcombine
+      << \global \tenorMusic >>
+      << \global \bassMusic >>
+    >>
+   >>
+  >>
+  \layout {
+    \context {
+      % a little smaller so lyrics
+      % can be closer to the staff
+      \Staff
+        \override VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
     }
   }
 }
-
 @end lilypond
 
-@subsection String quartet
 
-This template demonstrates a string quartet.  It also uses a @code{\global}
-section for time and key signatures.
+@c bad node name to avoid node name confict
+@node Ancient notation templates
+@appendixsec Ancient notation templates
+
+@appendixsubsec Transcription of mensural music
+
+When transcribing mensural music, an incipit at the beginning of the
+piece is useful to indicate the original key and tempo.  While today
+musicians are used to bar lines in order to faster recognize rhythmic
+patterns, bar lines were not yet invented during the period of
+mensural music; in fact, the meter often changed after every few
+notes.  As a compromise, bar lines are often printed between the
+staves rather than on the staves.
 
-@lilypond[verbatim,raggedright]
+@lilypond[quote,verbatim,line-width=11.0\cm]
+\version "2.7.39"
 
-\version "2.3.11"
 global = {
-\time 4/4
-\key c \major
-}
-violinOne = \relative c''{
-\set Staff.instrument = "Violin 1  "
-c2 d
-e1
-}
-violinTwo = \relative c''{
-\set Staff.instrument = "Violin 2  "
-g2 g
-g1
-}
-viola = \relative c'{
-\set Staff.instrument = "Viola  "
-\clef alto
-e2 d
-c1
-}
-cello = \relative c'{
-\set Staff.instrument = "Cello  "
-\clef bass
-c2 g
-c,1
+  \set Score.skipBars = ##t
+
+  % incipit
+  \once \override Score.SystemStartBracket #'transparent = ##t
+  \override Score.SpacingSpanner #'spacing-increment = #1.0 % tight spacing
+  \key f \major
+  \time 2/2
+  \once \override Staff.TimeSignature #'style = #'neomensural
+  \override Voice.NoteHead #'style = #'neomensural
+  \override Voice.Rest #'style = #'neomensural
+  \set Staff.printKeyCancellation = ##f
+  \cadenzaOn % turn off bar lines
+  \skip 1*10
+  \once \override Staff.BarLine #'transparent = ##f
+  \bar "||"
+  \skip 1*1 % need this extra \skip such that clef change comes
+            % after bar line
+  \bar ""
+
+  % main
+  \revert Score.SpacingSpanner #'spacing-increment % CHECK: no effect?
+  \cadenzaOff % turn bar lines on again
+  \once \override Staff.Clef #'full-size-change = ##t
+  \set Staff.forceClef = ##t
+  \key g \major
+  \time 4/4
+  \override Voice.NoteHead #'style = #'default
+  \override Voice.Rest #'style = #'default
+
+  % FIXME: setting printKeyCancellation back to #t must not
+  % occur in the first bar after the incipit.  Dto. for forceClef.
+  % Therefore, we need an extra \skip.
+  \skip 1*1
+  \set Staff.printKeyCancellation = ##t
+  \set Staff.forceClef = ##f
+
+  \skip 1*7 % the actual music
+
+  % let finis bar go through all staves
+  \override Staff.BarLine #'transparent = ##f
+
+  % finis bar
+  \bar "|."
+}
+
+discantusNotes = {
+  \transpose c' c'' {
+    \set Staff.instrument = "Discantus  "
+
+    % incipit
+    \clef "neomensural-c1"
+    c'1. s2   % two bars
+    \skip 1*8 % eight bars
+    \skip 1*1 % one bar
+
+    % main
+    \clef "treble"
+    d'2. d'4 |
+    b e' d'2 |
+    c'4 e'4.( d'8 c' b |
+    a4) b a2 |
+    b4.( c'8 d'4) c'4 |
+    \once \override NoteHead #'transparent = ##t c'1 |
+    b\breve |
+  }
+}
+
+discantusLyrics = \lyricmode {
+  % incipit
+  IV-
+
+  % main
+  Ju -- bi -- |
+  la -- te De -- |
+  o, om --
+  nis ter -- |
+  ra, __ om- |
+  "..." |
+  -us. |
+}
+
+altusNotes = {
+  \transpose c' c'' {
+    \set Staff.instrument = "Altus  "
+
+    % incipit
+    \clef "neomensural-c3"
+    r1        % one bar
+    f1. s2    % two bars
+    \skip 1*7 % seven bars
+    \skip 1*1 % one bar
+
+    % main
+    \clef "treble"
+    r2 g2. e4 fis g | % two bars
+    a2 g4 e |
+    fis g4.( fis16 e fis4) |
+    g1 |
+    \once \override NoteHead #'transparent = ##t g1 |
+    g\breve |
+  }
 }
+
+altusLyrics = \lyricmode {
+  % incipit
+  IV-
+
+  % main
+  Ju -- bi -- la -- te | % two bars
+  De -- o, om -- |
+  nis ter -- ra, |
+  "..." |
+  -us. |
+}
+
+tenorNotes = {
+  \transpose c' c' {
+    \set Staff.instrument = "Tenor  "
+
+    % incipit
+    \clef "neomensural-c4"
+    r\longa   % four bars
+    r\breve   % two bars
+    r1        % one bar
+    c'1. s2   % two bars
+    \skip 1*1 % one bar
+    \skip 1*1 % one bar
+
+    % main
+    \clef "treble_8"
+    R1 |
+    R1 |
+    R1 |
+    r2 d'2. d'4 b e' | % two bars
+    \once \override NoteHead #'transparent = ##t e'1 |
+    d'\breve |
+  }
+}
+
+tenorLyrics = \lyricmode {
+  % incipit
+  IV-
+
+  % main
+  Ju -- bi -- la -- te | % two bars
+  "..." |
+  -us. |
+}
+
+bassusNotes = {
+  \transpose c' c' {
+    \set Staff.instrument = "Bassus  "
+
+    % incipit
+    \clef "bass"
+    r\maxima  % eight bars
+    f1. s2    % two bars
+    \skip 1*1 % one bar
+
+    % main
+    \clef "bass"
+    R1 |
+    R1 |
+    R1 |
+    R1 |
+    g2. e4 |
+    \once \override NoteHead #'transparent = ##t e1 |
+    g\breve |
+  }
+}
+
+bassusLyrics = \lyricmode {
+  % incipit
+  IV-
+
+  % main
+  Ju -- bi- |
+  "..." |
+  -us. |
+}
+
 \score {
-  \new StaffGroup <<
-    \new Staff << \global \violinOne >>
-    \new Staff << \global \violinTwo >>
-    \new Staff << \global \viola >>
-    \new Staff << \global \cello >>
+  \new StaffGroup = choirStaff <<
+    \new Voice =
+      "discantusNotes" << \global \discantusNotes >>
+    \new Lyrics =
+      "discantusLyrics" \lyricsto discantusNotes { \discantusLyrics }
+    \new Voice =
+      "altusNotes" << \global \altusNotes >>
+    \new Lyrics =
+      "altusLyrics" \lyricsto altusNotes { \altusLyrics }
+    \new Voice =
+      "tenorNotes" << \global \tenorNotes >>
+    \new Lyrics =
+      "tenorLyrics" \lyricsto tenorNotes { \tenorLyrics }
+    \new Voice =
+      "bassusNotes" << \global \bassusNotes >>
+    \new Lyrics =
+      "bassusLyrics" \lyricsto bassusNotes { \bassusLyrics }
   >>
-  \paper { }
-  \midi { \tempo 4=60}
+  \layout {
+    \context {
+      \Score
+      \override BarLine #'transparent = ##t
+      \remove "System_start_delimiter_engraver"
+    }
+    \context {
+      \Voice
+      \override Slur #'transparent = ##t
+    }
+  }
 }
+@end lilypond
+
+
+@appendixsubsec Gregorian transcription template
 
+This example demonstrates how to do modern transcription of Gregorian
+music.  Gregorian music has no measure, no stems; it uses only half and
+quarter noteheads, and special marks, indicating rests of different length.
+
+@lilypond[quote,verbatim,ragged-right]
+\include "gregorian-init.ly"
+\version "2.8.0"
+
+chant = \relative c' {
+  \set Score.timing = ##f
+  f4 a2 \divisioMinima
+  g4 b a2 f2 \divisioMaior
+  g4( f) f( g) a2 \finalis
+}
+
+verba = \lyricmode {
+  Lo -- rem ip -- sum do -- lor sit a -- met
+}
+
+\score {
+  \new Staff <<
+    \new Voice = "melody" {
+      \chant
+    }
+    \new Lyrics = "one" \lyricsto melody \verba
+  >>
+
+  \layout {
+    \context {
+      \Staff
+      \remove "Time_signature_engraver"
+      \remove "Bar_engraver"
+      \override Stem #'transparent = ##t
+    }
+    \context {
+      \Voice
+      \override Stem #'length = #0
+    }
+    \context {
+      \Score
+      barAlways = ##t
+    }
+  }
+}
 @end lilypond
 
+
 @node Jazz combo
-@section Jazz combo
+@appendixsec Jazz combo
 
 This is a much more complicated template, for a jazz ensemble.  Note that all
-instruments are notated @code{\key c \major}.  This refers to the key in
+instruments are notated in @code{\key c \major}.  This refers to the key in
 concert pitch; LilyPond will automatically transpose the key if the music
 is within a @code{\transpose} section.
 
-@c TODO must clean up this example.
+@c TODO must clean up this jazz combo example
 @c   - transpositions stated in names (ie "trumpet in Bb" or whatever)
 @c   - one global section, instead of "global" (time) and "key"
 @c   - does it need those wierd macros?  sl, nsl, etc.
 @c   - maybe ask Amelie Zapf to clean it up, or whether I should just
 @c     make whatever changes I feel like.
 
-@lilypond[verbatim,raggedright]
+@c FIXME: produces a warning ; key change merge.
+@c The `line-width' argument is for the \header.
 
-\version "2.3.11"
+@lilypond[quote,verbatim,ragged-right,line-width]
+\version "2.7.39"
 \header {
-        title = "Song"
-        subtitle = "(tune)"
-        composer = "Me"
-        meter = "moderato"
-        piece = "Swing"
-       tagline = "LilyPond example file by Amelie Zapf, Berlin 07/07/2003"
-       texidoc = "Jazz tune for combo (horns, guitar, piano, bass, drums)."
+  title = "Song"
+  subtitle = "(tune)"
+  composer = "Me"
+  meter = "moderato"
+  piece = "Swing"
+  tagline = \markup {
+    \column {
+      "LilyPond example file by Amelie Zapf,"
+      "Berlin 07/07/2003"
+    }
+  }
+  texidoc = "Jazz tune for combo
+             (horns, guitar, piano, bass, drums)."
 }
 
 #(set-global-staff-size 16)
@@ -413,257 +1048,260 @@ is within a @code{\transpose} section.
 %%%%%%%%%%%% Some macros %%%%%%%%%%%%%%%%%%%
 
 sl = {
-    \override NoteHead  #'style = #'slash
-    \override Stem  #'transparent = ##t
+  \override NoteHead #'style = #'slash
+  \override Stem #'transparent = ##t
 }
 nsl = {
-    \revert NoteHead #'style
-    \revert Stem #'transparent
+  \revert NoteHead #'style
+  \revert Stem #'transparent
 }
-cr = \override NoteHead  #'style = #'cross
+cr = \override NoteHead #'style = #'cross
 ncr = \revert NoteHead #'style
 
 %% insert chord name style stuff here.
 
-jzchords = { } 
+jzchords = { }
 
 
 %%%%%%%%%%%% Keys'n'thangs %%%%%%%%%%%%%%%%%
 
-global =  {
-    \time 4/4
+global = {
+  \time 4/4
 }
 
-Key =  { \key c \major }
+Key = { \key c \major }
 
 % ############ Horns ############
+
 % ------ Trumpet ------
-trpt =  \transpose c d \relative c'' {
-    \Key
-    c1 c c
+trpt = \transpose c d \relative c'' {
+  \Key
+  c1 c c
+}
+trpharmony = \transpose c' d {
+  \jzchords
 }
-
-trpharmony = \transpose c' d { \jzchords }
 trumpet = {
-    \global 
-    \set Staff.instrument = #"Trumpet"
-    \clef treble
-    \context Staff <<
-       \trpt
-    >>
+  \global
+  \set Staff.instrument = #"Trumpet"
+  \clef treble
+  <<
+    \trpt
+  >>
 }
 
 % ------ Alto Saxophone ------
 alto = \transpose c a \relative c' {
-       \Key
-        c1 c c
+  \Key
+  c1 c c
+}
+altoharmony = \transpose c' a {
+  \jzchords
 }
-
-altoharmony = \transpose c' a { \jzchords }
 altosax = {
-        \global
-        \set Staff.instrument = #"Alto Sax"
-        \clef treble
-        \context Staff <<
-                \alto
-        >>
+  \global
+  \set Staff.instrument = #"Alto Sax"
+  \clef treble
+  <<
+    \alto
+  >>
 }
 
 % ------ Baritone Saxophone ------
 bari = \transpose c a' \relative c {
-       \Key
-        c1 c \sl d4^"Solo" d d d \nsl
+  \Key
+  c1 c \sl d4^"Solo" d d d \nsl
+}
+bariharmony = \transpose c' a \chordmode {
+  \jzchords s1 s d2:maj e:m7
 }
-
-bariharmony = \transpose c' a \chords { \jzchords s1 s d2:maj e:m7 }
 barisax = {
-        \global
-        \set Staff.instrument = #"Bari Sax"
-        \clef treble
-        \context Staff <<
-                \bari
-        >>
+  \global
+  \set Staff.instrument = #"Bari Sax"
+  \clef treble
+  <<
+    \bari
+  >>
 }
+
 % ------ Trombone ------
-tbone =  \relative c {
-       \Key
-        c1 c c
+tbone = \relative c {
+  \Key
+  c1 c c
+}
+tboneharmony = \chordmode {
+  \jzchords
 }
-
-tboneharmony = \chords { \jzchords }
 trombone = {
-        \global
-        \set Staff.instrument = #"Trombone"
-        \clef bass
-        \context Staff <<
-                \tbone
-        >>
+  \global
+  \set Staff.instrument = #"Trombone"
+  \clef bass
+  <<
+    \tbone
+  >>
 }
+
 % ############ Rhythm Section #############
+
 % ------ Guitar ------
-gtr =  \relative c'' {
-       \Key
-        c1 \sl b4 b b b \nsl c1
+gtr = \relative c'' {
+  \Key
+  c1 \sl b4 b b b \nsl c1
 }
-
-gtrharmony = \chords { \jzchords
-        s1 c2:min7+ d2:maj9
+gtrharmony = \chordmode {
+  \jzchords
+  s1 c2:min7+ d2:maj9
 }
-
 guitar = {
-        \global
-        \set Staff.instrument = #"Guitar"
-        \clef treble
-        \context Staff <<
-               \gtr
-        >>
+  \global
+  \set Staff.instrument = #"Guitar"
+  \clef treble
+  <<
+    \gtr
+  >>
 }
 
 %% ------ Piano ------
-rhUpper =  \relative c'' {
-        \voiceOne
-       \Key
-        c1 c c
+rhUpper = \relative c'' {
+  \voiceOne
+  \Key
+  c1 c c
 }
-
-rhLower =  \relative c' {
-        \voiceTwo
-       \Key
-        e1 e e
+rhLower = \relative c' {
+  \voiceTwo
+  \Key
+  e1 e e
 }
 
-lhUpper =  \relative c' {
-        \voiceOne
-       \Key
-        g1 g g
+lhUpper = \relative c' {
+  \voiceOne
+  \Key
+  g1 g g
 }
-
-lhLower =  \relative c {
-        \voiceTwo
-       \Key
-        c1 c c
+lhLower = \relative c {
+  \voiceTwo
+  \Key
+  c1 c c
 }
 
 PianoRH = {
-        \clef treble
-        \global
-        \set Staff.midiInstrument = "acoustic grand"
-        \context Staff <<
-                \context Voice = one \rhUpper
-               \context Voice = two \rhLower
-        >>
+  \clef treble
+  \global
+  \set Staff.midiInstrument = "acoustic grand"
+  <<
+    \new Voice = "one" \rhUpper
+    \new Voice = "two" \rhLower
+  >>
 }
-
 PianoLH = {
-        \clef bass
-        \global
-        \set Staff.midiInstrument = "acoustic grand"
-        \context Staff <<
-               \context Voice = one \lhUpper
-               \context Voice = two \lhLower
-        >>
+  \clef bass
+  \global
+  \set Staff.midiInstrument = "acoustic grand"
+  <<
+    \new Voice = "one" \lhUpper
+    \new Voice = "two" \lhLower
+  >>
 }
 
 piano = {
-       \context PianoStaff <<
-               \set PianoStaff.instrument = #"Piano"
-               \context Staff = upper \PianoRH
-               \context Staff = lower \PianoLH
-        >>
+  <<
+    \set PianoStaff.instrument = #"Piano"
+    \new Staff = "upper" \PianoRH
+    \new Staff = "lower" \PianoLH
+  >>
 }
 
 % ------ Bass Guitar ------
-bass =  \relative c {
-       \Key
-        c1 c c
+Bass = \relative c {
+  \Key
+  c1 c c
 }
-
 bass = {
-    \global
-    \set Staff.instrument = #"Bass"
-    \clef bass
-    \context Staff <<
-       \bass
-    >>
+  \global
+  \set Staff.instrument = #"Bass"
+  \clef bass
+  <<
+    \Bass
+  >>
 }
 
-                               % ------ Drums ------
-
-up = \drums {
-    hh4 <hh sn>4 hh <hh sn> hh <hh sn>4
-    hh4 <hh sn>4
-    hh4 <hh sn>4
-    hh4 <hh sn>4
+% ------ Drums ------
+up = \drummode {
+  hh4 <hh sn>4 hh <hh sn> hh <hh sn>4
+  hh4 <hh sn>4
+  hh4 <hh sn>4
+  hh4 <hh sn>4
 }
 
-down = \drums {
-    bd4 s bd s bd s bd s bd s bd s
+down = \drummode {
+  bd4 s bd s bd s bd s bd s bd s
 }
 
 drumContents = {
-       \global
-       <<
-               \set DrumStaff.instrument = #"Drums"
-               \new DrumVoice { \voiceOne \up }
-               \new DrumVoice { \voiceTwo \down }
-       >>
+  \global
+  <<
+    \set DrumStaff.instrument = #"Drums"
+    \new DrumVoice { \voiceOne \up }
+    \new DrumVoice { \voiceTwo \down }
+  >>
 }
 
 %%%%%%%%% It All Goes Together Here %%%%%%%%%%%%%%%%%%%%%%
 
 \score {
-<<
-        \context StaffGroup = horns <<
-                \context Staff = trumpet \trumpet
-
-                \context Staff = altosax \altosax
-
-               \context ChordNames = barichords \bariharmony
-
-                \context Staff = barisax \barisax
-
-                \context Staff = trombone \trombone
-        >>
-
-        \context StaffGroup = rhythm <<
-               \context ChordNames = chords \gtrharmony
-                \context Staff = guitar \guitar
-               \context PianoStaff = piano \piano
-                
-                \context Staff = bass \bass
-                
-                \new DrumStaff { \drumContents }
-        >>
->>
-        \paper {
-                \context { \RemoveEmptyStaffContext }
-                \context {
-                        \Score
-                        \override BarNumber #'padding = #3
-                        \override RehearsalMark #'padding = #2
-                        skipBars = ##t
-                }
-        }
-        \midi { \tempo 4 = 75 }
-}
+  <<
+    \new StaffGroup = "horns" <<
+      \new Staff = "trumpet" \trumpet
+      \new Staff = "altosax" \altosax
+      \new ChordNames = "barichords" \bariharmony
+      \new Staff = "barisax" \barisax
+      \new Staff = "trombone" \trombone
+    >>
+
+    \new StaffGroup = "rhythm" <<
+      \new ChordNames = "chords" \gtrharmony
+      \new Staff = "guitar" \guitar
+      \new PianoStaff = "piano" \piano
+      \new Staff = "bass" \bass
+      \new DrumStaff { \drumContents }
+    >>
+  >>
 
+  \layout {
+    \context { \RemoveEmptyStaffContext }
+    \context {
+      \Score
+      \override BarNumber #'padding = #3
+      \override RehearsalMark #'padding = #2
+      skipBars = ##t
+    }
+  }
+
+  \midi { \tempo 4 = 75 }
+}
 @end lilypond
 
-@node Other templates
-@section Other templates
-@subsection All headers
+@ignore
+
+This isn't very useful, and only duplicates material in
+"global issues".  And if this info changes, this section often
+gets forgotten.
+
+@no de Other templates
+@se ction Other templates
+@su bsection All headers
 
 This template displays all available headers.  Some of them are only
 used in the Mutopia project; they don't affect the printed output at
-all.  They are used  if you want the piece to be listed with different
+all.  They are used if you want the piece to be listed with different
 information in the Mutopia database than you wish to have printed on the
 music.  For example, Mutopia lists the composer of the famous D major
 violin concerto as TchaikovskyPI, whereas perhaps you wish to print
 "Petr Tchaikowski" on your music.
 
-@lilypond[verbatim,raggedright]
-
-\version "2.3.11"
+@ The `line-width' is for \header.
+@li lypond[quote,verbatim,ragged-right,line-width]
+\version "2.7.39"
 \header {
   dedication = "dedication"
   title = "Title"
@@ -672,14 +1310,16 @@ violin concerto as TchaikovskyPI, whereas perhaps you wish to print
   composer = "Composer (xxxx-yyyy)"
   opus = "Opus 0"
   piece = "Piece I"
+  meter = "meter"
   instrument = "Instrument"
   arranger = "Arranger"
   poet = "Poet"
   texttranslator = "Translator"
   copyright = "public domain"
 
-%   These are headers used by the Mutopia Project  http://www.mutopiaproject.org/
- mutopiatitle = ""
+  % These are headers used by the Mutopia Project
+  % http://www.mutopiaproject.org/
+  mutopiatitle = ""
   mutopiacomposer = ""
   mutopiapoet = ""
   mutopiainstrument = ""
@@ -692,117 +1332,77 @@ violin concerto as TchaikovskyPI, whereas perhaps you wish to print
 }
 
 \score {
-   {
-  c'4
+  { c'4 }
+  \header {
+    piece = "piece1"
+    opus = "opus1"
   }
-} 
+}
 
+\score {
+  { c'4 }
+  \header {
+    piece = "piece2"
+    opus = "opus2"
+  }
+}
 @end lilypond
+@end ignore
 
-@subsection Gregorian template
 
-This example demonstrates how to do modern transcriptions of Gregorian
-music.  Gregorian music has no measure, no stems; it uses only half and
-quarter notes, and two types of barlines, a short one indicating a rest,
-and a second one indicating a breath mark.
+@node Lilypond-book templates
+@appendixsec Lilypond-book templates
 
+These templates are for use with @code{lilypond-book}.  If you're not familiar
+with this program, please refer to @ref{LilyPond-book}.
 
-@lilypond[verbatim,raggedright]
+@appendixsubsec LaTeX
 
-barOne =  { \once \override Staff.BarLine  #'bar-size = #2
-       \bar "|" }
-barTwo =  { \once \override Staff.BarLine  #'extra-offset = #'(0 . 2)
-       \once \override Staff.BarLine  #'bar-size = #2
-       \bar "|" }
-chant = \relative c' {
-\set Score.timing = ##f
-\override Staff.Stem  #'transparent = ##t
+You can include LilyPond fragments in a LaTeX document.
 
-f4 a2 \barTwo
-g4 a2 f2 \barOne
-g4( f) f( g) a2
-}
-\score {
-  \chant
-  \paper{ }
-  \midi { \tempo 4=60 }
-}
+@example
+\documentclass[]@{article@}
 
-@end lilypond
+\begin@{document@}
 
-@subsection Bagpipe music
-
-Here's an example of bagpipe music.  It demonstrates a big strength of
-LilyPond, compared to graphical score editors: in LilyPond, you can
-very easily reuse small segments of music without writing them out
-completely.  This template defines a large number of small segments
-(@code{taor, grip, thrd,} etc), which can be reused easily.
-
-@lilypond[verbatim,raggedright]
-
-taor = { \grace { g32[ d' g e'] } }
-grip = { \grace { g32[ b g ]    } }
-thrd = { \grace { g32[ d' c']   } }
-birl = { \grace { g32[ a g]     } }
-gstd = { \grace { g'32[ d' g]   } }
-fgg =  { \grace { f32[ g'32]    } }
-dblb = { \grace { g'32[ b d']   } }
-dblc = { \grace { g'32[ c' d']  } }
-dble = { \grace { g'32[ e' f']  } }
-dblf = { \grace { g'32[ f' g']  } }
-dblg = { \grace { g'32[ f']     } }
-dbla = { \grace { a'32[ g']     } }
-lgg =  { \grace { g32  } }
-lag =  { \grace { a32  } }
-cg   = { \grace { c'32 } }
-eg   = { \grace { e'32 } }
-gg   = { \grace { g'32 } }
-dg   = { \grace { d'32 } }
-hag  = { \grace { a'32 } }
-gefg = { \grace { g'32[ e' f']  } }
-efg  = { \grace { e'32[ f']     } }
-gdcg = { \grace { g'32[ d' c']  } }
-gcdg = { \grace { g'32[ c' d']  } }
-       
-\transpose a a' {
-    #(add-grace-property 'Voice 'Stem 'length 6)
-    \time 6/8 \partial 4
-    \tieUp
-    \slurUp
-    
-    f'4 |
-    \gg f'4 e'8 \thrd d'4. |
-    \eg a4.(a4) d'8 |
-    \gg d'4 f'8 \dble e'4. ( | \noBreak
-    e'8) d'4 \gg d'4 e'8 |
-
-    \break
-    \time 9/8
-    \dblf f'2.( f'4) d'8 |
-    \time 6/8
-    \dblg g'4 a'8 \gg a'4. |
-    \thrd d'4.( d'4) \eg a8 |
-    \time 9/8
-    \dble e'4 \lag e'8 \gg  e'16[ d'8. e'8] \gg f'4 g'8 |
-
-    \break
-    \time 6/8
-    \gg f'4 e'8 \thrd d'4. |
-    \eg a4.( a4) d'8 |
-    \dblg g'4 a'8 \gg a'4. |
-    \thrd d'4.( d'4) f'8 |
-
-    \break
-    \dblg g'4 e'8( e'8) \dblf  f'8.[ e'16] |
-    \thrd d'4.( d'4) \cg d'8 |
-    \gg c'4 e'8 \thrd d'4.( |
-    d'4.) \gdcg d'4.
-    
-}
+Normal LaTeX text.
 
-@end lilypond
+\begin@{lilypond@}
+\relative c'' @{
+a4 b c d
+@}
+\end@{lilypond@}
+
+More LaTeX text.
+
+\begin@{lilypond@}
+\relative c'' @{
+d4 c b a
+@}
+\end@{lilypond@}
+\end@{document@}
+@end example
+
+@appendixsubsec Texinfo
+
+You can include LilyPond fragments in Texinfo; in fact, this entire manual
+is written in Texinfo.
+
+@example
+\input texinfo
+@@node Top
 
+Texinfo text
 
+@@lilypond[verbatim,fragment,ragged-right]
+a4 b c d
+@@end lilypond
 
+More Texinfo text
 
+@@lilypond[verbatim,fragment,ragged-right]
+d4 c b a
+@@end lilypond
 
+@@bye
+@end example