]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/user/expressive.itely
Remove deleted file from translations.
[lilypond.git] / Documentation / user / expressive.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.  See TRANSLATION for details.
7 @end ignore
8
9 @node Expressive marks
10 @section Expressive marks
11
12 @menu
13 * Attached to notes::           
14 * Curves::                      
15 * Lines::                       
16 @end menu
17
18
19 @node Attached to notes
20 @subsection Attached to notes
21
22
23 @menu
24 * Articulations::               
25 * Dynamics::                    
26 @end menu
27
28 @node Articulations
29 @unnumberedsubsubsec Articulations
30
31 @cindex Articulations
32 @cindex scripts
33 @cindex ornaments
34
35 A variety of symbols can appear above and below notes to indicate
36 different characteristics of the performance.  They are added to a
37 note by adding a dash and the character signifying the
38 articulation.
39
40 See @ref{List of articulations}.
41
42 @lilypond[quote,ragged-right,verbatim,fragment]
43 \override TextScript  #'font-family = #'typewriter
44 \override TextScript  #'font-shape = #'upright
45 c''4-._"c-."      s4
46 c''4--_"c--"      s4
47 c''4-+_"c-+"      s4
48 c''4-|_"c-|"      s4
49 c''4->_"c->"      s4
50 c''4-^_"c-^"      s4
51 c''4-__"c-_"      s4      
52 @end lilypond
53
54 The meanings of these shorthands can be changed.  See
55 @file{ly/@/script@/-init@/.ly} for examples.
56
57 The script is automatically placed, but the direction can be
58 forced as well.  Like other pieces of LilyPond code, @code{_} will
59 place them below the staff, and @code{^} will place them above.
60
61 @lilypond[quote,ragged-right,fragment,verbatim]
62 c''4^^ c''4_^
63 @end lilypond
64
65 Other symbols can be added using the syntax
66 @var{note}@code{\}@var{name}.  Again, they
67 can be forced up or down using @code{^} and @code{_},
68 e.g.,
69
70 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
71 c\fermata c^\fermata c_\fermata
72 @end lilypond
73
74 @cindex accent
75 @cindex marcato
76 @cindex staccatissimo
77 @cindex espressivo
78 @cindex fermata
79 @cindex stopped
80 @cindex staccato
81 @cindex portato
82 @cindex tenuto
83 @cindex upbow
84 @cindex downbow
85 @cindex foot marks
86 @cindex organ pedal marks
87 @cindex turn
88 @cindex open
89 @cindex stopped
90 @cindex flageolet
91 @cindex reverseturn
92 @cindex trill
93 @cindex prall
94 @cindex mordent
95 @cindex prallprall
96 @cindex prallmordent
97 @cindex prall, up
98 @cindex prall, down
99 @cindex thumb marking
100 @cindex segno
101 @cindex coda
102 @cindex varcoda
103
104
105 @commonprop
106
107 The vertical ordering of scripts is controlled with the
108 @code{script-priority} property.  The lower this number, the closer it
109 will be put to the note.  In this example, the
110 @internalsref{TextScript} (the sharp symbol) first has the lowest
111 priority, so it is put lowest in the first example.  In the second, the
112 prall trill (the @internalsref{Script}) has the lowest, so it is on the
113 inside.  When two objects have the same priority, the order in which
114 they are entered decides which one comes first.
115
116 @lilypond[verbatim,relative=3,ragged-right,fragment,quote]
117 \once \override TextScript #'script-priority = #-100
118 a4^\prall^\markup { \sharp }
119
120 \once \override Script #'script-priority = #-100
121 a4^\prall^\markup { \sharp }
122 @end lilypond
123
124
125 @seealso
126
127 Program reference: @internalsref{Script}.
128
129
130 @refbugs
131
132 These signs appear in the printed output but have no effect on the
133 MIDI rendering of the music.
134
135
136 @node Dynamics
137 @unnumberedsubsubsec Dynamics
138
139 @cindex Dynamics
140 @funindex \pppp
141 @funindex \ppp
142 @funindex \pp
143 @funindex \p
144 @funindex \mp
145 @funindex \mf
146 @funindex \f
147 @funindex \ff
148 @funindex \fff
149 @funindex \ffff
150 @funindex \fp
151 @funindex \sf
152 @funindex \sff
153 @funindex \sp
154 @funindex \spp
155 @funindex \sfz
156 @funindex \rfz
157
158 Absolute dynamic marks are specified using a command after a note
159 @code{c4\ff}.  The available dynamic marks are @code{\ppppp},
160 @code{\pppp}, @code{\ppp},
161 @code{\pp}, @code{\p}, @code{\mp}, @code{\mf}, @code{\f}, @code{\ff},
162 @code{\fff}, @code{\ffff}, @code{\fp}, @code{\sf}, @code{\sff},
163 @code{\sp}, @code{\spp}, @code{\sfz}, and @code{\rfz}.
164
165 @lilypond[quote,verbatim,ragged-right,fragment,relative=2]
166 c\ppp c\pp c \p c\mp c\mf c\f c\ff c\fff
167 c2\fp c\sf c\sff c\sp c\spp c\sfz c\rfz
168 @end lilypond
169
170 @funindex \<
171 @funindex \>
172 @funindex \!
173
174 A crescendo mark is started with @code{\<} and terminated with
175 @code{\!} or an absolute dynamic.  A decrescendo is started with
176 @code{\>} and is also terminated with @code{\!} or an absolute
177 dynamic.  @code{\cr} and @code{\decr} may be used instead of
178 @code{\<} and @code{\>}.  Because these marks are bound to notes, you must
179 use spacer notes if multiple marks are needed during one note
180
181 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
182 c\< c\! d\> e\!
183 << f1 { s4 s4\< s4\! \> s4\! } >>
184 @end lilypond
185
186 @noindent
187 A hairpin normally starts at the left edge of the beginning note
188 and ends on the right edge of the ending note.  If the ending
189 note falls on the downbeat, the hairpin ends on the immediately
190 preceding barline. This may be modified by setting the
191 @code{hairpinToBarline} property,
192
193 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
194 \set hairpinToBarline = ##f
195 c4\< c2. c4\!
196 @end lilypond
197
198 In some situations the @code{\espressivo} articulation mark may
199 be suitable to indicate a crescendo and decrescendo on the one note,
200
201 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
202 c2 b4 a g1\espressivo
203 @end lilypond
204
205 This may give rise to very short hairpins.  Use @code{minimum-length}
206 in @internalsref{Voice}.@internalsref{Hairpin} to lengthen them, for
207 example
208
209 @example
210 \override Voice.Hairpin #'minimum-length = #5
211 @end example
212
213 @cindex al niente
214 @cindex niente, al
215
216 Hairpins may be printed with a circled tip (al niente notation) by
217 setting the @code{circled-tip} property,
218
219 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
220 \override Hairpin #'circled-tip = ##t
221 c2\< c\!
222 c4\> c\< c2\!
223 @end lilypond
224
225
226 @cindex crescendo
227 @cindex decrescendo
228 @cindex diminuendo
229
230 You can also use text saying @emph{cresc.} instead of hairpins
231
232 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
233 \setTextCresc
234 c\< d e f\!
235 \setHairpinCresc
236 e\> d c b\!
237 \setTextDecresc
238 c\> d e f\!
239 \setTextDim
240 e\> d c b\!
241 @end lilypond
242
243 You can also supply your own texts
244 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
245 \set crescendoText = \markup { \italic "cresc. poco" }
246 \set crescendoSpanner = #'dashed-line
247 a'2\< a a a\!\mf
248 @end lilypond
249
250 To create new dynamic marks or text that should be aligned
251 with dynamics, see @ref{New dynamic marks}.
252
253 Vertical positioning of dynamics is handled by
254 @internalsref{DynamicLineSpanner}.
255
256
257 @commonprop
258
259 Dynamics that occur at, begin on, or end on, the same note
260 will be vertically aligned.  If you want to ensure that dynamics
261 are aligned when they do not occur on the same note, you can
262 increase the @code{staff-padding} property.
263
264 @example
265 \override DynamicLineSpanner #'staff-padding = #4
266 @end example
267
268 You may also use this property if the dynamics are colliding
269 with other notation.
270
271 Crescendi and decrescendi that end on the first note of a
272 new line are not printed.  To change this behavior, use
273
274 @example
275 \override Score.Hairpin #'after-line-breaking = ##t
276 @end example
277
278 Text style dynamic changes (such as @emph{cresc.} and @emph{dim.})
279 are printed with a
280 dashed line showing their extent.  To surpress printing this line, use
281
282 @example
283 \override DynamicTextSpanner #'dash-period = #-1.0
284 @end example
285
286
287 @refcommands
288
289 @funindex \dynamicUp
290 @code{\dynamicUp},
291 @funindex \dynamicDown
292 @code{\dynamicDown},
293 @funindex \dynamicNeutral
294 @code{\dynamicNeutral}.
295
296
297 @seealso
298
299 Program reference: @internalsref{DynamicText}, @internalsref{Hairpin}.
300 Vertical positioning of these symbols is handled by
301 @internalsref{DynamicLineSpanner}.
302
303
304 @node Curves
305 @subsection Curves
306
307 @menu
308 * Ties::                        
309 * Slurs::                       
310 * Phrasing slurs::              
311 * Laissez vibrer ties::         
312 * Breath marks::                
313 * Falls and doits::             
314 @end menu
315
316 @node Ties
317 @unnumberedsubsubsec Ties
318
319 @cindex tie
320 @funindex ~
321
322 A tie connects two adjacent note heads of the same pitch.  The tie in
323 effect extends the length of a note.  Ties should not be confused with
324 slurs, which indicate articulation, or phrasing slurs, which indicate
325 musical phrasing.  A tie is entered using the tilde symbol @samp{~}
326
327 @lilypond[quote,ragged-right,fragment,verbatim]
328 e' ~ e' <c' e' g'> ~ <c' e' g'>
329 @end lilypond
330
331 When a tie is applied to a chord, all note heads whose pitches match
332 are connected.  When no note heads match, no ties will be created.  Chords
333 may be partially tied by placing the tie inside the chord,
334
335 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
336 <c~ e g~ b> <c e g b>
337 @end lilypond
338
339 A tie is just a way of extending a note duration, similar to the
340 augmentation dot.  The following example shows two ways of notating
341 exactly the same concept
342
343 @lilypond[quote,fragment,ragged-right]
344 \time 3/4 c'2. c'2 ~ c'4
345 @end lilypond
346
347 @noindent
348 Ties are used either when the note crosses a bar line, or when dots
349 cannot be used to denote the rhythm.  When using ties, larger note
350 values should be aligned to subdivisions of the measure, such as
351
352 @lilypond[fragment,quote,ragged-right]
353 \relative {
354   r8 c8 ~ c2 r4 | r8^"not" c2 ~ c8 r4
355 }
356 @end lilypond
357
358 If you need to tie a lot of notes over bars, it may be easier to use
359 automatic note splitting (see @ref{Automatic note splitting}).  This
360 mechanism automatically splits long notes, and ties them across bar
361 lines.
362
363 @funindex \repeatTie
364
365 When a second alternative of a repeat starts with a tied note, you
366 have to repeat the tie. This can be achieved with @code{\repeatTie},
367
368 @lilypond[fragment,quote,ragged-right,relative=2]
369 r <c e g>\repeatTie
370 @end lilypond
371
372 @cindex repeating ties
373 @cindex volta brackets and ties
374
375 @commonprop
376
377 Ties are sometimes used to write out arpeggios.  In this case, two tied
378 notes need not be consecutive.  This can be achieved by setting the
379 @code{tieWaitForNote} property to true. The same feature is also useful,
380 for example, to tie a tremolo to a chord. For example,
381
382 @lilypond[fragment,verbatim,relative=1,ragged-right,quote]
383 \set tieWaitForNote = ##t
384 \grace { c16[~ e~ g]~ } <c, e g>2
385 \repeat tremolo 8 { c32~ c'~ } <c c,>1
386 e8~ c~ a~ f~ <e' c a f>2
387 @end lilypond
388
389 Ties may be engraved manually by changing the @code{tie-configuration}
390 property.  The first number indicates the distance from the center
391 of the staff in staff-spaces, and the second number indicates the
392 direction (1=up, -1=down).
393
394 @lilypond[fragment,verbatim,relative=1,ragged-right,quote]
395 <c e g>2~ <c e g> |
396 \override TieColumn #'tie-configuration =
397   #'((0.0 . 1) (-2.0 . 1) (-4.0 . 1))
398 <c e g>~ <c e g> |
399 @end lilypond
400
401
402 @refcommands
403
404
405 @funindex \tieUp
406 @code{\tieUp},
407 @funindex \tieDown
408 @code{\tieDown},
409 @funindex \tieNeutral
410 @code{\tieNeutral},
411 @funindex \tieDotted
412 @code{\tieDotted},
413 @funindex \tieDashed
414 @code{\tieDashed},
415 @funindex \tieSolid
416 @code{\tieSolid}.
417
418
419 @seealso
420
421 In this manual: @ref{Automatic note splitting}.
422
423 Program reference: @internalsref{Tie}.
424
425
426 @refbugs
427
428 Switching staves when a tie is active will not produce a slanted tie.
429
430 Changing clefs or octavations during a tie is not really
431 well-defined.  In these cases, a slur may be preferable.
432
433
434 @node Slurs
435 @unnumberedsubsubsec Slurs
436
437 @cindex Slurs
438
439 A slur indicates that notes are to be played bound or
440 @emph{legato}.  They are entered using parentheses
441
442 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
443 f( g a) a8 b( a4 g2 f4)
444 <c e>2( <b d>2)
445 @end lilypond
446
447 The direction of a slur can be specified with
448 @code{\slur@emph{DIR}}, where @code{@emph{DIR}} is
449 either @code{Up}, @code{Down}, or @code{Neutral} (automatically
450 selected).
451
452 However, there is a convenient shorthand for forcing slur
453 directions.  By adding @code{_} or @code{^} before the opening
454 parentheses, the direction is also set.  For example,
455
456 @lilypond[relative=2,ragged-right,quote,verbatim,fragment]
457 c4_( c) c^( c)
458 @end lilypond
459
460 Only one slur can be printed at once.  If you need to print a long
461 slur over a few small slurs, please see @ref{Phrasing slurs}.
462
463
464 @commonprop
465
466 Some composers write two slurs when they want legato chords.  This can
467 be achieved in LilyPond by setting @code{doubleSlurs},
468
469 @lilypond[verbatim,ragged-right,relative,fragment,quote]
470 \set doubleSlurs = ##t
471 <c e>4 ( <d f> <c e> <d f> )
472 @end lilypond
473
474
475 @refcommands
476
477 @funindex \slurUp
478 @code{\slurUp},
479 @funindex \slurDown
480 @code{\slurDown},
481 @funindex \slurNeutral
482 @code{\slurNeutral},
483 @funindex \slurDashed
484 @code{\slurDashed},
485 @funindex \slurDotted
486 @code{\slurDotted},
487 @funindex \slurSolid
488 @code{\slurSolid}.
489
490 @seealso
491
492 Program reference: @internalsref{Slur}.
493
494
495 @node Phrasing slurs
496 @unnumberedsubsubsec Phrasing slurs
497
498 @cindex phrasing slurs
499 @cindex phrasing marks
500
501 A phrasing slur (or phrasing mark) connects notes and is used to
502 indicate a musical sentence.  It is written using @code{\(} and @code{\)}
503 respectively
504
505 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
506 \time 6/4 c'\( d( e) f( e) d\)
507 @end lilypond
508
509 Typographically, the phrasing slur behaves almost exactly like a
510 normal slur.  However, they are treated as different objects.  A
511 @code{\slurUp} will have no effect on a phrasing slur; instead, use
512 @code{\phrasingSlurUp}, @code{\phrasingSlurDown}, and
513 @code{\phrasingSlurNeutral}.
514
515 You cannot have simultaneous phrasing slurs.
516
517
518 @refcommands
519
520 @funindex \phrasingSlurUp
521 @code{\phrasingSlurUp},
522 @funindex \phrasingSlurDown
523 @code{\phrasingSlurDown},
524 @funindex \phrasingSlurNeutral
525 @code{\phrasingSlurNeutral}.
526
527
528 @seealso
529
530 Program reference: @internalsref{PhrasingSlur}.
531
532
533 @node Laissez vibrer ties
534 @unnumberedsubsubsec Laissez vibrer ties
535 @cindex Laissez vibrer
536 @cindex Ties, laissez vibrer
537
538 L.v. ties (laissez vibrer) indicate that notes must not be damped at the
539 end. It is used in notation for piano, harp and other string and
540 percussion instruments. They can be entered using @code{\laissezVibrer},
541
542 @lilypond[fragment,ragged-right,verbatim,relative=1]
543 <c f g>\laissezVibrer
544 @end lilypond
545
546 @seealso
547
548 Program reference:
549 @internalsref{LaissezVibrerTie}
550 @internalsref{LaissezVibrerTieColumn}
551
552 Example files:
553 @lsr{connecting,laissez-vibrer-ties.ly}
554
555
556 @node Breath marks
557 @unnumberedsubsubsec Breath marks
558
559 Breath marks are entered using @code{\breathe}
560
561 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
562 c'4 \breathe d4
563 @end lilypond
564
565
566 @commonprop
567
568 The glyph of the breath mark can be tuned by overriding the
569 @code{text} property of the @code{BreathingSign} layout object with
570 any markup text.  For example,
571 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
572 c'4
573 \override BreathingSign #'text
574   = #(make-musicglyph-markup "scripts.rvarcomma")
575 \breathe
576 d4
577 @end lilypond
578
579 @seealso
580
581 Program reference: @internalsref{BreathingSign}.
582
583 Examples: @lsr{expressive,breathing-sign.ly}
584
585
586 @node Falls and doits
587 @unnumberedsubsubsec Falls and doits
588
589 Falls and doits can be added to notes using the @code{\bendAfter}
590 command,
591
592 @lilypond[fragment,ragged-right,relative=2]
593 \override Score.SpacingSpanner #'shortest-duration-space = #3.0
594 c4-\bendAfter #+5
595 c4-\bendAfter #-3
596 @end lilypond
597
598
599 @node Lines
600 @subsection Lines
601
602 @menu
603 * Glissando::                   
604 * Arpeggio::                    
605 * Trills::                      
606 * Analysis brackets::           
607 @end menu
608
609 @node Glissando
610 @unnumberedsubsubsec Glissando
611
612 @cindex Glissando
613 @funindex \glissando
614
615 A glissando is a smooth change in pitch.  It is denoted by a line or a
616 wavy line between two notes.  It is requested by attaching
617 @code{\glissando} to a note
618
619 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
620 c2\glissando c'
621 \override Glissando #'style = #'zigzag
622 c2\glissando c,
623 @end lilypond
624
625
626 @commonprop
627
628 @lilypond[quote,ragged-right,verbatim]
629 I = \once \override NoteColumn #'ignore-collision = ##t
630
631 \relative <<
632   { \oneVoice \stemDown f2 \glissando \stemNeutral a } \\
633   { \oneVoice \I c2 \glissando \I d, }
634 >>
635 @end lilypond
636
637
638
639 @seealso
640
641 Program reference: @internalsref{Glissando}.
642
643 Example files:
644 @lsr{expressive,glissando.ly}, @lsr{expressive,line-styles.ly}
645
646
647 @refbugs
648
649 Printing text over the line (such as @emph{gliss.}) is not supported.
650
651
652 @node Arpeggio
653 @unnumberedsubsubsec Arpeggio
654
655 @cindex Arpeggio
656 @cindex broken chord
657 @funindex \arpeggio
658
659 You can specify an arpeggio sign (also known as broken chord) on a
660 chord by attaching an @code{\arpeggio} to a chord
661
662 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
663 <c e g c>\arpeggio
664 @end lilypond
665
666 A square bracket on the left indicates that the player should not
667 arpeggiate the chord
668
669 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
670 \arpeggioBracket
671 <c' e g c>\arpeggio
672 @end lilypond
673
674 The direction of the arpeggio is sometimes denoted by adding an
675 arrowhead to the wiggly line
676
677 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
678 \new Voice {
679   \arpeggioUp
680   <c e g c>\arpeggio
681   \arpeggioDown
682   <c e g c>\arpeggio
683 }
684 @end lilypond
685
686
687 @commonprop
688
689 When an arpeggio crosses staves, you may attach an arpeggio to the chords
690 in both staves and set
691 @internalsref{PianoStaff}.@code{connectArpeggios}
692
693 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
694 \new PianoStaff <<
695   \set PianoStaff.connectArpeggios = ##t
696   \new Staff { <c' e g c>\arpeggio }
697   \new Staff { \clef bass <c,, e g>\arpeggio }
698 >>
699 @end lilypond
700
701 @c TODO: cross-voice arpeggio example?
702 @c such an example is already in LSR -J.Mandereau
703
704 @refcommands
705
706 @code{\arpeggio},
707 @funindex \arpeggioUp
708 @code{\arpeggioUp},
709 @funindex \arpeggioDown
710 @code{\arpeggioDown},
711 @funindex \arpeggioNeutral
712 @code{\arpeggioNeutral},
713 @funindex \arpeggioBracket
714 @code{\arpeggioBracket}.
715
716
717 @seealso
718
719 Notation manual: @ref{Ties}, for writing out arpeggios.
720
721 Program reference: @internalsref{Arpeggio}.
722
723
724 @refbugs
725
726 It is not possible to mix connected arpeggios and unconnected
727 arpeggios in one @internalsref{PianoStaff} at the same point in time.
728
729
730 @node Trills
731 @unnumberedsubsubsec Trills
732
733 Short trills are printed like normal articulation; see @ref{Articulations}.
734
735 Long running trills are made with @code{\startTrillSpan} and
736 @code{\stopTrillSpan},
737
738 @lilypond[verbatim,ragged-right,relative=2,quote,fragment]
739 \new Voice {
740   << { c1 \startTrillSpan }
741      { s2. \grace { d16[\stopTrillSpan e] } } >>
742   c4 }
743 @end lilypond
744
745 @cindex Pitched trills
746
747 Trills that should be executed on an explicitly specified pitch can be
748 typeset with the command @code{pitchedTrill},
749
750 @lilypond[ragged-right,verbatim,fragment,relative=1,quote]
751 \pitchedTrill c4\startTrillSpan fis
752 f\stopTrillSpan
753 @end lilypond
754
755 @noindent
756 The first argument is the main note.  The pitch of the second
757 is printed as a stemless note head in parentheses.
758
759
760 @refcommands
761
762 @code{\startTrillSpan},
763 @funindex \startTrillSpan
764 @code{\stopTrillSpan}.
765 @funindex \stopTrillSpan
766
767
768 @seealso
769
770 Program reference: @internalsref{TrillSpanner}.
771
772
773 @node Analysis brackets
774 @unnumberedsubsubsec Analysis brackets
775 @cindex brackets
776 @cindex phrasing brackets
777 @cindex musicological analysis
778 @cindex note grouping bracket
779
780 Brackets are used in musical analysis to indicate structure in musical
781 pieces.  LilyPond supports a simple form of nested horizontal
782 brackets.  To use this, add the @internalsref{Horizontal_bracket_engraver}
783 to @internalsref{Staff} context.  A bracket is started with
784 @code{\startGroup} and closed with @code{\stopGroup}
785
786 @lilypond[quote,ragged-right,verbatim]
787 \score {
788   \relative c'' {
789     c4\startGroup\startGroup
790     c4\stopGroup
791     c4\startGroup
792     c4\stopGroup\stopGroup
793   }
794   \layout {
795     \context {
796       \Staff \consists "Horizontal_bracket_engraver"
797 }}}
798 @end lilypond
799
800 @seealso
801
802 Program reference: @internalsref{HorizontalBracket}.
803
804
805