]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/notation/editorial.itely
Merge remote branch 'origin/master' into release/unstable
[lilypond.git] / Documentation / notation / editorial.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2 @ignore
3     Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
4
5     When revising a translation, copy the HEAD committish of the
6     version that you are working on.  For details, see the Contributors'
7     Guide, node Updating translation committishes..
8 @end ignore
9
10 @c \version "2.18.0"
11
12 @node Editorial annotations
13 @section Editorial annotations
14
15 @lilypondfile[quote]{editorial-headword.ly}
16
17 This section discusses the various ways to change the appearance of
18 notes and add analysis or educational emphasis.
19
20 @menu
21 * Inside the staff::
22 * Outside the staff::
23 @end menu
24
25
26 @node Inside the staff
27 @subsection Inside the staff
28
29 This section discusses how to add emphasis to elements that are
30 inside the staff.
31
32 @menu
33 * Selecting notation font size::
34 * Fingering instructions::
35 * Hidden notes::
36 * Coloring objects::
37 * Parentheses::
38 * Stems::
39 @end menu
40
41 @node Selecting notation font size
42 @unnumberedsubsubsec Selecting notation font size
43
44 @cindex font size (notation) scaling
45 @cindex font size (notation)
46 @cindex selecting font size (notation)
47 @cindex notation font size
48 @cindex note heads
49
50 @funindex fontSize
51 @funindex font-size
52 @funindex magnification->font-size
53 @funindex magstep
54 @funindex magnifyMusic
55 @funindex teeny
56 @funindex tiny
57 @funindex small
58 @funindex normalsize
59 @funindex large
60 @funindex huge
61 @funindex \magnifyMusic
62 @funindex \teeny
63 @funindex \tiny
64 @funindex \normalsize
65 @funindex \small
66 @funindex \large
67 @funindex \huge
68
69 @warning{@*
70 For font sizes of text, see @ref{Selecting font and font size}.@*
71 For staff size, see @ref{Setting the staff size}.@*
72 For cue notes, see @ref{Formatting cue notes}.@*
73 For ossia staves, see @ref{Ossia staves}.}
74
75 To change the size of the notation without changing the staff
76 size, specify a magnification factor with the @code{\magnifyMusic}
77 command:
78
79 @c Grieg Piano Concerto (mvt.1 cadenza)
80 @lilypond[verbatim,quote]
81 \new Staff <<
82   \new Voice \relative {
83     \voiceOne
84     <e' e'>4 <f f'>8. <g g'>16 <f f'>8 <e e'>4 r8
85   }
86   \new Voice \relative {
87     \voiceTwo
88     \magnifyMusic 0.63 {
89       \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63)
90       r32 c'' a c a c a c r c a c a c a c
91       r c a c a c a c a c a c a c a c
92     }
93   }
94 >>
95 @end lilypond
96
97 The @code{\override} in the example above is a bug workaround.
98 See the @qq{Known issues and warnings} at the end of this section.
99
100 If a normal sized note head is merged with a smaller one, the size
101 of the smaller note may need to be reset (with
102 @w{@samp{\once@tie{}\normalsize}}) so that the stems and
103 accidentals align properly:
104
105 @c Chopin Prelude op.28 no.8
106 @lilypond[verbatim,quote]
107 \new Staff <<
108   \key fis \minor
109   \mergeDifferentlyDottedOn
110   \new Voice \relative {
111     \voiceOne
112     \magnifyMusic 0.63 {
113       \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63)
114       \once \normalsize cis'32( cis' gis b a fis \once \normalsize d d'
115       \once \normalsize cis, cis' gis b a gis \once \normalsize fis fis'
116       \once \normalsize fis, fis' ais, cis b gis \once \normalsize eis eis'
117       \once \normalsize a, a' bis, d cis b \once \normalsize gis gis')
118     }
119   }
120   \new Voice \relative {
121     \voiceTwo
122     cis'8. d16 cis8. fis16 fis8. eis16 a8. gis16
123   }
124 >>
125 @end lilypond
126
127 The @code{\magnifyMusic} command is not intended for cue notes,
128 grace notes, or ossia staves---there are more appropriate methods
129 of entering each of those constructs.  Instead, it is useful when
130 the notation size changes in a single instrumental part on one
131 staff, and where grace notes are not appropriate, such as in
132 cadenza-like passages or in cases such as the above examples.
133 Setting the @code{\magnifyMusic} value to 0.63 duplicates the
134 dimensions of the @code{CueVoice} context.
135
136 @warning{The @code{@bs{}magnifyMusic} command should @i{not} be
137 used when also resizing the staff.  See @ref{Setting the staff
138 size}.}
139
140
141 @subsubsubheading Resizing individual layout objects
142
143 An individual layout object can be resized by using the
144 @code{\tweak} or @code{\override} commands to adjust its
145 @code{font-size} property:
146
147 @lilypond[quote,verbatim,relative=1]
148 % resize a note head
149 <f \tweak font-size -4 b e>-5
150 % resize a fingering
151 bes-\tweak font-size 0 -3
152 % resize an accidental
153 \once \override Accidental.font-size = -4 bes!-^
154 % resize an articulation
155 \once \override Script.font-size = 4 bes!-^
156 @end lilypond
157
158 The default @code{font-size} value for each layout object is
159 listed in the Internals Reference.  The @code{font-size} property
160 can only be set for layout objects that support the
161 @code{font-interface} layout interface.  If @code{font-size} is
162 not specified in the object's @q{Standard@tie{}settings} list, its
163 value is 0.  See @rinternals{All layout objects}.
164
165
166 @subsubsubheading Understanding the @code{fontSize} property
167
168 The @code{fontSize} context property adjusts the relative size of
169 all glyph-based notational elements in a context:
170
171 @lilypond[verbatim,quote,relative=2]
172 \time 3/4
173 d4---5 c8( b a g) |
174 \set fontSize = -6
175 e'4-- c!8-4( b a g) |
176 \set fontSize = 0
177 fis4---3 e8( d) fis4 |
178 g2.
179 @end lilypond
180
181 The @code{fontSize} value is a number indicating the size relative
182 to the standard size for the current staff height.  The default
183 @code{fontSize} is 0; adding 6 to any @code{fontSize} value
184 doubles the printed size of the glyphs, and subtracting 6 halves
185 the size.  Each step increases the size by approximately 12%.
186
187 The scheme function @code{magnification->font-size} is provided
188 for convenience since the logarithmic units of the
189 @code{font-size} property are not entirely intuitive.  For
190 example, to adjust the musical notation to 75% of the default
191 size, use:
192
193 @example
194 \set fontSize = #(magnification->font-size 0.75)
195 @end example
196
197 The scheme function @code{magstep} does the opposite: it converts
198 a @code{font-size} value into a magnification factor.
199
200 The @code{fontSize} property will only affect notational elements
201 that are drawn with glyphs, such as noteheads, accidentals,
202 scripts, etc.  It will not affect the size of the staff itself,
203 nor will it scale stems, beams, or horizontal spacing.  To scale
204 stems, beams, and horizontal spacing along with the notation size
205 (without changing the staff size), use the @code{\magnifyMusic}
206 command discussed above.  To scale everything, including the staff
207 size, see @ref{Setting the staff size}.
208
209 Whenever the @code{fontSize} @i{context property} is set, its
210 value is added to the value of the @code{font-size} @i{grob
211 property} for individual layout objects, before any glyphs are
212 printed.  This can cause confusion when setting individual
213 @code{font-size} properties while @code{fontSize} is already set:
214
215 @lilypond[verbatim,quote,relative=2]
216 % the default font-size for NoteHead is 0
217 % the default font-size for Fingering is -5
218 c4-3
219
220 \set fontSize = -3
221 % the effective font size for NoteHead is now -3
222 % the effective font size for Fingering is now -8
223 c4-3
224
225 \override Fingering.font-size = 0
226 % the effective font size for Fingering is now -3
227 c4-3
228 @end lilypond
229
230 The following shorthand commands are also available:
231
232 @multitable @columnfractions .2 .4 .4
233 @item @b{Command} @tab @b{Equivalent to} @tab @b{Relative size}
234 @item @code{\teeny}      @tab @code{\set fontSize = -3} @tab 71%
235 @item @code{\tiny}       @tab @code{\set fontSize = -2} @tab 79%
236 @item @code{\small}      @tab @code{\set fontSize = -1} @tab 89%
237 @item @code{\normalsize} @tab @code{\set fontSize = 0} @tab 100%
238 @item @code{\large}      @tab @code{\set fontSize = 1} @tab 112%
239 @item @code{\huge}       @tab @code{\set fontSize = 2} @tab 126%
240 @end multitable
241
242 @lilypond[verbatim,quote,relative=2]
243 \teeny
244 c4.-> d8---3
245 \tiny
246 c4.-> d8---3
247 \small
248 c4.-> d8---3
249 \normalsize
250 c4.-> d8---3
251 \large
252 c4.-> d8---3
253 \huge
254 c4.-> d8---3
255 @end lilypond
256
257
258 @cindex standard font size (notation)
259 @cindex font size (notation), standard
260
261 @funindex font-interface
262 @funindex font-size
263
264 Font size changes are achieved by scaling the design size that is
265 closest to the desired size.  The standard font size (for
266 @w{@code{font-size = 0}}) depends on the standard staff height.
267 For a 20pt staff, a 11pt font is selected.
268
269
270 @predefined
271 @code{\magnifyMusic},
272 @code{\teeny},
273 @code{\tiny},
274 @code{\small},
275 @code{\normalsize},
276 @code{\large},
277 @code{\huge}.
278 @endpredefined
279
280 @seealso
281 Notation Reference:
282 @ref{Selecting font and font size},
283 @ref{Setting the staff size},
284 @ref{Formatting cue notes},
285 @ref{Ossia staves}.
286
287 Installed Files:
288 @file{ly/music-functions-init.ly},
289 @file{ly/property-init.ly}.
290
291 Snippets:
292 @rlsr{Editorial annotations}.
293
294 Internals Reference:
295 @rinternals{font-interface}.
296
297 @c The two issues mentioned below:
298 @c http://code.google.com/p/lilypond/issues/detail?id=3987
299 @c http://code.google.com/p/lilypond/issues/detail?id=3990
300 @knownissues
301 There are currently two bugs that are preventing proper horizontal
302 spacing when using @code{\magnifyMusic}.  There is only one
303 available workaround, and it is not guaranteed to work in every
304 case.  In the example below, replace the @var{mag} variable with
305 your own value.  You may also try removing one or both of the
306 @code{\newSpacingSection} commands, and/or the @code{\override}
307 and @code{\revert} commands:
308
309 @example
310 \magnifyMusic @var{mag} @{
311   \newSpacingSection
312   \override Score.SpacingSpanner.spacing-increment = #(* 1.2 @var{mag})
313   @var{[music]}
314   \newSpacingSection
315   \revert Score.SpacingSpanner.spacing-increment
316 @}
317 @end example
318
319
320 @node Fingering instructions
321 @unnumberedsubsubsec Fingering instructions
322
323 @cindex fingering
324 @cindex finger change
325
326 @funindex \finger
327 @funindex finger
328
329 Fingering instructions can be entered using
330 @samp{@var{note}-@var{digit}}:
331
332 @lilypond[verbatim,quote,relative=2]
333 c4-1 d-2 f-4 e-3
334 @end lilypond
335
336 Markup texts or strings may be used for finger changes.
337
338 @lilypond[verbatim,quote,relative=2]
339 c4-1 d-2 f\finger \markup \tied-lyric #"4~3" c\finger "2 - 3"
340 @end lilypond
341
342 @cindex thumb-script
343
344 @funindex \thumb
345 @funindex thumb
346
347 A thumb-script can be added (e.g. cello music) to indicate
348 that a note should be played with the thumb.
349
350 @lilypond[verbatim,quote,relative=2]
351 <a_\thumb a'-3>2 <b_\thumb b'-3>
352 @end lilypond
353
354 @cindex fingering chords
355 @cindex fingering instructions for chords
356 @cindex chords, fingering
357
358 Fingerings for chords can also be added to individual notes by
359 adding them after the pitches.
360
361 @lilypond[verbatim,quote,relative=2]
362 <c-1 e-2 g-3 b-5>2 <d-1 f-2 a-3 c-5>
363 @end lilypond
364
365 Fingering instructions may be manually placed above or below the
366 staff, see @ref{Direction and placement}.
367
368 @snippets
369
370 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
371 {controlling-the-placement-of-chord-fingerings.ly}
372
373 @lilypondfile[verbatim,quote,texidoc,doctitle]
374 {allowing-fingerings-to-be-printed-inside-the-staff.ly}
375
376 @lilypondfile[verbatim,quote,texidoc,doctitle]
377 {avoiding-collisions-with-chord-fingerings.ly}
378
379 @seealso
380 Notation Reference:
381 @ref{Direction and placement}.
382
383 Snippets:
384 @rlsr{Editorial annotations}.
385
386 Internals Reference:
387 @rinternals{FingeringEvent},
388 @rinternals{fingering-event},
389 @rinternals{Fingering_engraver},
390 @rinternals{New_fingering_engraver},
391 @rinternals{Fingering}.
392
393
394 @node Hidden notes
395 @unnumberedsubsubsec Hidden notes
396
397 @cindex hidden notes
398 @cindex invisible notes
399 @cindex transparent notes
400 @cindex notes, hidden
401 @cindex notes, invisible
402 @cindex notes, transparent
403
404 @funindex \hideNotes
405 @funindex hideNotes
406 @funindex \unHideNotes
407 @funindex unHideNotes
408
409 Hidden (or invisible or transparent) notes can be useful in
410 preparing theory or composition exercises.
411
412 @lilypond[verbatim,quote,relative=2]
413 c4 d
414 \hideNotes
415 e4 f
416 \unHideNotes
417 g a
418 \hideNotes
419 b
420 \unHideNotes
421 c
422 @end lilypond
423
424 Note heads, stems, and flags, and rests are invisible.  Beams
425 are invisible if they start on a hidden note.  Objects that are
426 attached to invisible notes are still visible.
427
428 @lilypond[verbatim,quote,relative=2]
429 e8(\p f g a)--
430 \hideNotes
431 e8(\p f g a)--
432 @end lilypond
433
434
435 @predefined
436 @code{\hideNotes},
437 @code{\unHideNotes}.
438 @endpredefined
439
440 @seealso
441 Learning Manual:
442 @rlearning{Visibility and color of objects}.
443
444 Notation Reference:
445 @ref{Invisible rests},
446 @ref{Visibility of objects},
447 @ref{Hiding staves}.
448
449 Snippets:
450 @rlsr{Editorial annotations}.
451
452 Internals Reference:
453 @rinternals{Note_spacing_engraver},
454 @rinternals{NoteSpacing}.
455
456
457 @node Coloring objects
458 @unnumberedsubsubsec Coloring objects
459
460 @cindex colored objects
461 @cindex objects, colored
462 @cindex colors
463 @cindex coloring objects
464 @cindex colored notes
465 @cindex coloring notes
466 @cindex notes, colored
467 @cindex x11 color
468 @cindex x11-color
469 @cindex with-color
470
471 @funindex color
472 @funindex \with-color
473 @funindex with-color
474 @funindex x11-color
475
476 Individual objects may be assigned colors.  Valid color names
477 are listed in the @ref{List of colors}.
478
479 @lilypond[verbatim,quote,relative=2]
480 \override NoteHead.color = #red
481 c4 c
482 \override NoteHead.color = #(x11-color 'LimeGreen)
483 d
484 \override Stem.color = #blue
485 e
486 @end lilypond
487
488
489 The full range of colors defined for X11 can be accessed by using
490 the Scheme function @code{x11-color}.  The function takes one
491 argument; this can be a symbol in the form @code{'@var{FooBar}} or
492 a string in the form @code{"@var{FooBar}"}.  The first form is
493 quicker to write and is more efficient.  However, using the second
494 form it is possible to access X11 colors by the multi-word form of
495 its name.
496
497 If @code{x11-color} cannot make sense of the parameter then the
498 color returned defaults to black.
499
500 @lilypond[verbatim,quote,relative=2]
501 \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
502 \set Staff.instrumentName = \markup {
503   \with-color #(x11-color 'navy) "Clarinet"
504 }
505
506 gis8 a
507 \override Beam.color = #(x11-color "medium turquoise")
508 gis a
509 \override Accidental.color = #(x11-color 'DarkRed)
510 gis a
511 \override NoteHead.color = #(x11-color "LimeGreen")
512 gis a
513 % this is deliberate nonsense; note that the stems remain black
514 \override Stem.color = #(x11-color 'Boggle)
515 b2 cis
516 @end lilypond
517
518 @cindex rgb-color
519 @cindex color, rgb
520 @cindex rgb color
521
522 @funindex rgb-color
523
524 Exact RGB colors can be specified using the Scheme function
525 @code{rgb-color}.
526
527 @lilypond[verbatim,quote,relative=2]
528 \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
529 \set Staff.instrumentName = \markup {
530   \with-color #(x11-color 'navy) "Clarinet"
531 }
532
533 \override Stem.color = #(rgb-color 0 0 0)
534 gis8 a
535 \override Stem.color = #(rgb-color 1 1 1)
536 gis8 a
537 \override Stem.color = #(rgb-color 0 0 0.5)
538 gis4 a
539 @end lilypond
540
541 @seealso
542 Notation Reference:
543 @ref{List of colors}, @ref{The
544 tweak command}.
545
546 Snippets:
547 @rlsr{Editorial annotations}.
548
549 @cindex x11 color
550 @cindex colored notes in chords
551 @cindex notes, colored in chords
552 @cindex color in chords
553
554 @funindex x11-color
555
556 @knownissues
557 An X11 color is not necessarily exactly the same shade as a
558 similarly named normal color.
559
560 Not all X11 colors are distinguishable in a web browser, i.e.,
561 a web browser might not display a difference between @code{LimeGreen}
562 and @code{ForestGreen}.  For web use normal colors are recommended
563 (i.e., @code{blue}, @code{green}, @code{red}).
564
565 Notes in a chord cannot be separately colored with
566 @code{\override}; use @code{\tweak} or the equivalent
567 @code{\single\override} before the respective note instead, see
568 @ref{The tweak command}.
569
570
571 @node Parentheses
572 @unnumberedsubsubsec Parentheses
573
574 @cindex ghost notes
575 @cindex notes, ghost
576 @cindex notes, parenthesized
577 @cindex parentheses
578 @cindex brackets
579
580 @funindex \parenthesize
581 @funindex parenthesize
582
583 Objects may be parenthesized by prefixing @code{\parenthesize} to
584 the music event.  When prefixed to a chord, it parenthesizes every
585 note.  Individual notes inside a chord may also be parenthesized.
586
587 @lilypond[verbatim,quote,relative=2]
588 c2 \parenthesize d
589 c2 \parenthesize <c e g>
590 c2 <c \parenthesize e g>
591 @end lilypond
592
593 Non-note objects may be parenthesized as well.  For articulations,
594 a hyphen is needed before the @code{\parenthesize} command.
595
596 @lilypond[verbatim,quote,relative=2]
597 c2-\parenthesize -. d
598 c2 \parenthesize r
599 @end lilypond
600
601 @seealso
602 Snippets:
603 @rlsr{Editorial annotations}.
604
605 Internals Reference:
606 @rinternals{Parenthesis_engraver},
607 @rinternals{ParenthesesItem},
608 @rinternals{parentheses-interface}.
609
610 @knownissues
611 Parenthesizing a chord prints parentheses around each individual
612 note, instead of a single large parenthesis around the entire
613 chord.
614
615
616 @node Stems
617 @unnumberedsubsubsec Stems
618
619 @cindex stem
620 @cindex stem, invisible
621 @cindex invisible stem
622
623 @funindex \stemUp
624 @funindex stemUp
625 @funindex \stemDown
626 @funindex stemDown
627 @funindex \stemNeutral
628 @funindex stemNeutral
629 @cindex stem, direction
630 @cindex stem, up
631 @cindex stem, down
632 @cindex stem, neutral
633
634 Whenever a note is found, a @code{Stem} object is created
635 automatically.  For whole notes and rests, they are also created but
636 made invisible.
637
638 Stems may be manually placed to point up or down; see
639 @ref{Direction and placement}.
640
641
642 @predefined
643 @code{\stemUp},
644 @code{\stemDown},
645 @code{\stemNeutral}.
646 @endpredefined
647
648
649 @snippets
650
651 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
652 {default-direction-of-stems-on-the-center-line-of-the-staff.ly}
653
654 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
655 {automatically-changing-the-stem-direction-of-the-middle-note-based-on-the-melody.ly}
656
657 @seealso
658 Notation Reference:
659 @ref{Direction and placement}.
660
661 Snippets:
662 @rlsr{Editorial annotations}.
663
664 Internals Reference:
665 @rinternals{Stem_engraver},
666 @rinternals{Stem},
667 @rinternals{stem-interface}.
668
669
670 @node Outside the staff
671 @subsection Outside the staff
672
673 This section discusses how to add emphasis to elements in the staff
674 from outside of the staff.
675
676 @menu
677 * Balloon help::
678 * Grid lines::
679 * Analysis brackets::
680 @end menu
681
682 @node Balloon help
683 @unnumberedsubsubsec Balloon help
684
685 @cindex balloon
686 @cindex notation, explaining
687 @cindex balloon help
688 @cindex help, balloon
689
690 @funindex \balloonGrobText
691 @funindex \balloonText
692 @funindex Balloon_engraver
693 @funindex balloonGrobText
694 @funindex balloonText
695 @funindex \balloonLengthOn
696 @funindex balloonLengthOn
697 @funindex \balloonLengthOff
698 @funindex balloonLengthOff
699
700 Elements of notation can be marked and named with the help of a
701 square balloon.  The primary purpose of this feature is to explain
702 notation.
703
704 @lilypond[verbatim,quote,relative=2]
705 \new Voice \with { \consists "Balloon_engraver" }
706 {
707   \balloonGrobText #'Stem #'(3 . 4) \markup { "I'm a Stem" }
708   a8
709   \balloonGrobText #'Rest #'(-4 . -4) \markup { "I'm a rest" }
710   r
711   <c, g'-\balloonText #'(-2 . -2) \markup { "I'm a note head" } c>2.
712 }
713 @end lilypond
714
715
716 There are two music functions, @code{balloonGrobText} and
717 @code{balloonText};  the former is used like
718 @w{@code{\once \override}} to attach text to any grob, and the
719 latter is used like @code{\tweak}, typically within chords, to
720 attach text to an individual note.
721
722 Balloon text does not influence note spacing, but this can be altered:
723
724 @lilypond[verbatim,quote,relative=2]
725 \new Voice \with { \consists "Balloon_engraver" }
726 {
727   \balloonGrobText #'Stem #'(3 . 4) \markup { "I'm a Stem" }
728   a8
729   \balloonGrobText #'Rest #'(-4 . -4) \markup { "I'm a rest" }
730   r
731   \balloonLengthOn
732   <c, g'-\balloonText #'(-2 . -2) \markup { "I'm a note head" } c>2.
733 }
734 @end lilypond
735
736 @predefined
737 @code{\balloonLengthOn},
738 @code{\balloonLengthOff}.
739 @endpredefined
740
741 @seealso
742 Snippets:
743 @rlsr{Editorial annotations}.
744
745 Internals Reference:
746 @rinternals{Balloon_engraver},
747 @rinternals{BalloonTextItem},
748 @rinternals{balloon-interface}.
749
750
751 @node Grid lines
752 @unnumberedsubsubsec Grid lines
753
754 @cindex grid lines
755 @cindex lines, grid
756 @cindex vertical lines between staves
757 @cindex lines, vertical between staves
758
759 @funindex Grid_point_engraver
760 @funindex Grid_line_span_engraver
761 @funindex gridInterval
762
763 Vertical lines can be drawn between staves synchronized with the
764 notes.
765
766 The @code{Grid_point_engraver} must be used to create the end
767 points of the lines, while the @code{Grid_line_span_engraver} must
768 be used to actually draw the lines.  By default this centers grid
769 lines horizontally below and to the left side of each note head.
770 Grid lines extend from the middle lines of each staff.  The
771 @code{gridInterval} must specify the duration between the grid
772 lines.
773
774 @lilypond[verbatim,quote]
775 \layout {
776   \context {
777     \Staff
778     \consists "Grid_point_engraver"
779     gridInterval = #(ly:make-moment 1/4)
780   }
781   \context {
782     \Score
783     \consists "Grid_line_span_engraver"
784   }
785 }
786
787 \score {
788   \new ChoirStaff <<
789     \new Staff \relative c'' {
790       \stemUp
791       c4. d8 e8 f g4
792     }
793     \new Staff \relative c {
794       \clef bass
795       \stemDown
796       c4 g' f e
797     }
798   >>
799 }
800 @end lilypond
801
802 @snippets
803
804 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
805 {grid-lines--changing-their-appearance.ly}
806
807 @seealso
808 Snippets:
809 @rlsr{Editorial annotations}.
810
811 Internals Reference:
812 @rinternals{Grid_line_span_engraver},
813 @rinternals{Grid_point_engraver},
814 @rinternals{GridLine},
815 @rinternals{GridPoint},
816 @rinternals{grid-line-interface},
817 @rinternals{grid-point-interface}.
818
819
820 @node Analysis brackets
821 @unnumberedsubsubsec Analysis brackets
822
823 @cindex brackets
824 @cindex bracket, phrasing
825 @cindex phrasing bracket
826 @cindex musicological analysis
827 @cindex analysis, musicological
828 @cindex note grouping bracket
829 @cindex horizontal bracket
830 @cindex bracket, horizontal
831
832 @funindex Horizontal_bracket_engraver
833 @funindex \startGroup
834 @funindex startGroup
835 @funindex \stopGroup
836 @funindex stopGroup
837
838 Brackets are used in musical analysis to indicate structure in musical
839 pieces.  Simple horizontal brackets are supported.
840
841 @lilypond[verbatim,quote]
842 \layout {
843   \context {
844     \Voice
845     \consists "Horizontal_bracket_engraver"
846   }
847 }
848 \relative c'' {
849   c2\startGroup
850   d\stopGroup
851 }
852 @end lilypond
853
854 Analysis brackets may be nested.
855
856 @lilypond[verbatim,quote]
857 \layout {
858   \context {
859     \Voice
860     \consists "Horizontal_bracket_engraver"
861   }
862 }
863 \relative c'' {
864   c4\startGroup\startGroup
865   d4\stopGroup
866   e4\startGroup
867   d4\stopGroup\stopGroup
868 }
869 @end lilypond
870
871 @seealso
872 Snippets:
873 @rlsr{Editorial annotations}.
874
875 Internals Reference:
876 @rinternals{Horizontal_bracket_engraver},
877 @rinternals{HorizontalBracket},
878 @rinternals{horizontal-bracket-interface},
879 @rinternals{Staff}.