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