]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/notation/editorial.itely
Issue 5064 Let analysis brackets support text
[lilypond.git] / Documentation / notation / editorial.itely
index c121cf7bb3fb7278074fa928a337ffcd51a8a005..8dc3ac9612991082a43eac6d014d02f065a893c9 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.18.0"
+@c \version "2.19.21"
 
 @node Editorial annotations
 @section Editorial annotations
@@ -144,15 +144,17 @@ An individual layout object can be resized by using the
 @code{\tweak} or @code{\override} commands to adjust its
 @code{font-size} property:
 
-@lilypond[quote,verbatim,relative=1]
-% resize a note head
-<f \tweak font-size -4 b e>-5
-% resize a fingering
-bes-\tweak font-size 0 -3
-% resize an accidental
-\once \override Accidental.font-size = -4 bes!-^
-% resize an articulation
-\once \override Script.font-size = 4 bes!-^
+@lilypond[quote,verbatim]
+\relative {
+  % resize a note head
+  <f' \tweak font-size -4 b e>-5
+  % resize a fingering
+  bes-\tweak font-size 0 -3
+  % resize an accidental
+  \once \override Accidental.font-size = -4 bes!-^
+  % resize an articulation
+  \once \override Script.font-size = 4 bes!-^
+}
 @end lilypond
 
 The default @code{font-size} value for each layout object is
@@ -168,14 +170,16 @@ value is 0.  See @rinternals{All layout objects}.
 The @code{fontSize} context property adjusts the relative size of
 all glyph-based notational elements in a context:
 
-@lilypond[verbatim,quote,relative=2]
-\time 3/4
-d4---5 c8( b a g) |
-\set fontSize = -6
-e'4-- c!8-4( b a g) |
-\set fontSize = 0
-fis4---3 e8( d) fis4 |
-g2.
+@lilypond[verbatim,quote]
+\relative {
+  \time 3/4
+  d''4---5 c8( b a g) |
+  \set fontSize = -6
+  e'4-- c!8-4( b a g) |
+  \set fontSize = 0
+  fis4---3 e8( d) fis4 |
+  g2.
+}
 @end lilypond
 
 The @code{fontSize} value is a number indicating the size relative
@@ -212,19 +216,19 @@ property} for individual layout objects, before any glyphs are
 printed.  This can cause confusion when setting individual
 @code{font-size} properties while @code{fontSize} is already set:
 
-@lilypond[verbatim,quote,relative=2]
+@lilypond[verbatim,quote,fragment]
 % the default font-size for NoteHead is 0
 % the default font-size for Fingering is -5
-c4-3
+c''4-3
 
 \set fontSize = -3
 % the effective font size for NoteHead is now -3
 % the effective font size for Fingering is now -8
-c4-3
+c''4-3
 
 \override Fingering.font-size = 0
 % the effective font size for Fingering is now -3
-c4-3
+c''4-3
 @end lilypond
 
 The following shorthand commands are also available:
@@ -239,19 +243,21 @@ The following shorthand commands are also available:
 @item @code{\huge}       @tab @code{\set fontSize = 2} @tab 126%
 @end multitable
 
-@lilypond[verbatim,quote,relative=2]
-\teeny
-c4.-> d8---3
-\tiny
-c4.-> d8---3
-\small
-c4.-> d8---3
-\normalsize
-c4.-> d8---3
-\large
-c4.-> d8---3
-\huge
-c4.-> d8---3
+@lilypond[verbatim,quote]
+\relative c'' {
+  \teeny
+  c4.-> d8---3
+  \tiny
+  c4.-> d8---3
+  \small
+  c4.-> d8---3
+  \normalsize
+  c4.-> d8---3
+  \large
+  c4.-> d8---3
+  \huge
+  c4.-> d8---3
+}
 @end lilypond
 
 
@@ -264,7 +270,7 @@ c4.-> d8---3
 Font size changes are achieved by scaling the design size that is
 closest to the desired size.  The standard font size (for
 @w{@code{font-size = 0}}) depends on the standard staff height.
-For a 20pt staff, a 10pt font is selected.
+For a 20pt staff, an 11pt font is selected.
 
 
 @predefined
@@ -310,7 +316,7 @@ and @code{\revert} commands:
 \magnifyMusic @var{mag} @{
   \newSpacingSection
   \override Score.SpacingSpanner.spacing-increment = #(* 1.2 @var{mag})
-  @var{[music]}
+  [@var{music}]
   \newSpacingSection
   \revert Score.SpacingSpanner.spacing-increment
 @}
@@ -324,31 +330,31 @@ and @code{\revert} commands:
 @cindex finger change
 
 @funindex \finger
-@funindex finger
 
 Fingering instructions can be entered using
 @samp{@var{note}-@var{digit}}:
 
-@lilypond[verbatim,quote,relative=2]
-c4-1 d-2 f-4 e-3
+@lilypond[verbatim,quote]
+\relative { c''4-1 d-2 f-4 e-3 }
 @end lilypond
 
 Markup texts or strings may be used for finger changes.
 
-@lilypond[verbatim,quote,relative=2]
-c4-1 d-2 f\finger \markup \tied-lyric #"4~3" c\finger "2 - 3"
+@lilypond[verbatim,quote]
+\relative {
+  c''4-1 d-2 f\finger \markup \tied-lyric #"4~3" c\finger "2 - 3"
+}
 @end lilypond
 
 @cindex thumb-script
 
 @funindex \thumb
-@funindex thumb
 
-A thumb-script can be added (e.g. cello music) to indicate
+A thumb-script can be added (e.g., cello music) to indicate
 that a note should be played with the thumb.
 
-@lilypond[verbatim,quote,relative=2]
-<a_\thumb a'-3>2 <b_\thumb b'-3>
+@lilypond[verbatim,quote]
+\relative { <a'_\thumb a'-3>2 <b_\thumb b'-3> }
 @end lilypond
 
 @cindex fingering chords
@@ -358,8 +364,10 @@ that a note should be played with the thumb.
 Fingerings for chords can also be added to individual notes by
 adding them after the pitches.
 
-@lilypond[verbatim,quote,relative=2]
-<c-1 e-2 g-3 b-5>2 <d-1 f-2 a-3 c-5>
+@lilypond[verbatim,quote]
+\relative {
+  <c''-1 e-2 g-3 b-5>2 <d-1 f-2 a-3 c-5>
+}
 @end lilypond
 
 Fingering instructions may be manually placed above or below the
@@ -402,33 +410,35 @@ Internals Reference:
 @cindex notes, transparent
 
 @funindex \hideNotes
-@funindex hideNotes
 @funindex \unHideNotes
-@funindex unHideNotes
 
 Hidden (or invisible or transparent) notes can be useful in
 preparing theory or composition exercises.
 
-@lilypond[verbatim,quote,relative=2]
-c4 d
-\hideNotes
-e4 f
-\unHideNotes
-g a
-\hideNotes
-b
-\unHideNotes
-c
+@lilypond[verbatim,quote]
+\relative {
+  c''4 d
+  \hideNotes
+  e4 f
+  \unHideNotes
+  g a
+  \hideNotes
+  b
+  \unHideNotes
+  c
+}
 @end lilypond
 
 Note heads, stems, and flags, and rests are invisible.  Beams
 are invisible if they start on a hidden note.  Objects that are
 attached to invisible notes are still visible.
 
-@lilypond[verbatim,quote,relative=2]
-e8(\p f g a)--
-\hideNotes
-e8(\p f g a)--
+@lilypond[verbatim,quote]
+\relative c'' {
+  e8(\p f g a)--
+  \hideNotes
+  e8(\p f g a)--
+}
 @end lilypond
 
 
@@ -470,19 +480,18 @@ Internals Reference:
 
 @funindex color
 @funindex \with-color
-@funindex with-color
 @funindex x11-color
 
 Individual objects may be assigned colors.  Valid color names
 are listed in the @ref{List of colors}.
 
-@lilypond[verbatim,quote,relative=2]
+@lilypond[verbatim,quote,fragment]
 \override NoteHead.color = #red
-c4 c
+c''4 c''
 \override NoteHead.color = #(x11-color 'LimeGreen)
-d
+d''
 \override Stem.color = #blue
-e
+e''
 @end lilypond
 
 
@@ -497,22 +506,25 @@ its name.
 If @code{x11-color} cannot make sense of the parameter then the
 color returned defaults to black.
 
-@lilypond[verbatim,quote,relative=2]
-\override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
-\set Staff.instrumentName = \markup {
-  \with-color #(x11-color 'navy) "Clarinet"
+@lilypond[verbatim,quote]
+\new Staff \with {
+  instrumentName = \markup {
+    \with-color #(x11-color 'red) "Clarinet"
+    }
+  }
+  \relative c'' {
+  \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
+  gis8 a
+  \override Beam.color = #(x11-color "medium turquoise")
+  gis a
+  \override Accidental.color = #(x11-color 'DarkRed)
+  gis a
+  \override NoteHead.color = #(x11-color "LimeGreen")
+  gis a
+  % this is deliberate nonsense; note that the stems remain black
+  \override Stem.color = #(x11-color 'Boggle)
+  b2 cis
 }
-
-gis8 a
-\override Beam.color = #(x11-color "medium turquoise")
-gis a
-\override Accidental.color = #(x11-color 'DarkRed)
-gis a
-\override NoteHead.color = #(x11-color "LimeGreen")
-gis a
-% this is deliberate nonsense; note that the stems remain black
-\override Stem.color = #(x11-color 'Boggle)
-b2 cis
 @end lilypond
 
 @cindex rgb-color
@@ -524,18 +536,21 @@ b2 cis
 Exact RGB colors can be specified using the Scheme function
 @code{rgb-color}.
 
-@lilypond[verbatim,quote,relative=2]
-\override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
-\set Staff.instrumentName = \markup {
-  \with-color #(x11-color 'navy) "Clarinet"
+@lilypond[verbatim,quote]
+\new Staff \with {
+  instrumentName = \markup {
+    \with-color #(x11-color 'red) "Clarinet"
+    }
+  }
+\relative c'' {
+  \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
+  \override Stem.color = #(rgb-color 0 0 0)
+  gis8 a
+  \override Stem.color = #(rgb-color 1 1 1)
+  gis8 a
+  \override Stem.color = #(rgb-color 0 0 0.5)
+  gis4 a
 }
-
-\override Stem.color = #(rgb-color 0 0 0)
-gis8 a
-\override Stem.color = #(rgb-color 1 1 1)
-gis8 a
-\override Stem.color = #(rgb-color 0 0 0.5)
-gis4 a
 @end lilypond
 
 @seealso
@@ -578,24 +593,27 @@ Notes in a chord cannot be separately colored with
 @cindex brackets
 
 @funindex \parenthesize
-@funindex parenthesize
 
 Objects may be parenthesized by prefixing @code{\parenthesize} to
 the music event.  When prefixed to a chord, it parenthesizes every
 note.  Individual notes inside a chord may also be parenthesized.
 
-@lilypond[verbatim,quote,relative=2]
-c2 \parenthesize d
-c2 \parenthesize <c e g>
-c2 <c \parenthesize e g>
+@lilypond[verbatim,quote]
+\relative {
+  c''2 \parenthesize d
+  c2 \parenthesize <c e g>
+  c2 <c \parenthesize e g>
+}
 @end lilypond
 
 Non-note objects may be parenthesized as well.  For articulations,
 a hyphen is needed before the @code{\parenthesize} command.
 
-@lilypond[verbatim,quote,relative=2]
-c2-\parenthesize -. d
-c2 \parenthesize r
+@lilypond[verbatim,quote]
+\relative {
+  c''2-\parenthesize -. d
+  c2 \parenthesize r
+}
 @end lilypond
 
 @seealso
@@ -621,11 +639,8 @@ chord.
 @cindex invisible stem
 
 @funindex \stemUp
-@funindex stemUp
 @funindex \stemDown
-@funindex stemDown
 @funindex \stemNeutral
-@funindex stemNeutral
 @cindex stem, direction
 @cindex stem, up
 @cindex stem, down
@@ -693,17 +708,15 @@ from outside of the staff.
 @funindex balloonGrobText
 @funindex balloonText
 @funindex \balloonLengthOn
-@funindex balloonLengthOn
 @funindex \balloonLengthOff
-@funindex balloonLengthOff
 
 Elements of notation can be marked and named with the help of a
 square balloon.  The primary purpose of this feature is to explain
 notation.
 
-@lilypond[verbatim,quote,relative=2]
+@lilypond[verbatim,quote]
 \new Voice \with { \consists "Balloon_engraver" }
-{
+\relative c'' {
   \balloonGrobText #'Stem #'(3 . 4) \markup { "I'm a Stem" }
   a8
   \balloonGrobText #'Rest #'(-4 . -4) \markup { "I'm a rest" }
@@ -721,9 +734,9 @@ attach text to an individual note.
 
 Balloon text does not influence note spacing, but this can be altered:
 
-@lilypond[verbatim,quote,relative=2]
+@lilypond[verbatim,quote]
 \new Voice \with { \consists "Balloon_engraver" }
-{
+\relative c'' {
   \balloonGrobText #'Stem #'(3 . 4) \markup { "I'm a Stem" }
   a8
   \balloonGrobText #'Rest #'(-4 . -4) \markup { "I'm a rest" }
@@ -786,11 +799,11 @@ lines.
 
 \score {
   \new ChoirStaff <<
-    \new Staff \relative c'' {
+    \new Staff \relative {
       \stemUp
-      c4. d8 e8 f g4
+      c''4. d8 e8 f g4
     }
-    \new Staff \relative {
+    \new Staff \relative {
       \clef bass
       \stemDown
       c4 g' f e
@@ -831,9 +844,7 @@ Internals Reference:
 
 @funindex Horizontal_bracket_engraver
 @funindex \startGroup
-@funindex startGroup
 @funindex \stopGroup
-@funindex stopGroup
 
 Brackets are used in musical analysis to indicate structure in musical
 pieces.  Simple horizontal brackets are supported.
@@ -845,8 +856,8 @@ pieces.  Simple horizontal brackets are supported.
     \consists "Horizontal_bracket_engraver"
   }
 }
-\relative c'' {
-  c2\startGroup
+\relative {
+  c''2\startGroup
   d\stopGroup
 }
 @end lilypond
@@ -860,20 +871,27 @@ Analysis brackets may be nested.
     \consists "Horizontal_bracket_engraver"
   }
 }
-\relative c'' {
-  c4\startGroup\startGroup
+\relative {
+  c''4\startGroup\startGroup
   d4\stopGroup
   e4\startGroup
   d4\stopGroup\stopGroup
 }
 @end lilypond
 
-@seealso
-Snippets:
-@rlsr{Editorial annotations}.
+@snippets
 
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
+{analysis-brackets-above-the-staff.ly}
+
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
+{analysis-brackets-with-labels.ly}
+
+@seealso
 Internals Reference:
 @rinternals{Horizontal_bracket_engraver},
 @rinternals{HorizontalBracket},
 @rinternals{horizontal-bracket-interface},
+@rinternals{HorizontalBracketText},
+@rinternals{horizontal-bracket-text-interface},
 @rinternals{Staff}.