### 1.3.3 Expressive marks as lines

This section explains how to create various expressive marks that follow a linear path: glissandos, arpeggios, and trills.

#### Glissando

A glissando is created by appending `\glissando` to a note:

>     g2\glissando g'
>     c2\glissando c,
>     \afterGrace f,1\glissando f'16

A glissando can connect notes across staves:

>     \new PianoStaff <<
>       \new Staff = "right" {
>         e'''2\glissando
>         \change Staff = "left"
>         a,,4\glissando
>         \change Staff = "right"
>         b''8 r |
>       }
>       \new Staff = "left" {
>         \clef bass
>         s1
>       }
>     >>

A glissando can connect notes in chords. If anything other than a direct one-to-one pairing of the notes in the two chords is required the connections between the notes are defined by setting `\glissandoMap`, where the notes of a chord are assumed to be numbered from zero in the order in which they appear in the input ‘`.ly`’ file.

>     <c, e>1\glissando g' |
>     <c, e>1\glissando |
>     <g' b> |
>     \break
>     \set glissandoMap = #'((0 . 1) (1 . 0))
>     <c, g'>1\glissando |
>     <d a'> |
>     \set glissandoMap = #'((0 . 0) (0 . 1) (0 . 2))
>     c1\glissando |
>     <d f a> |
>     \set glissandoMap = #'((2 . 0) (1 . 0) (0 . 1))
>     <f d a'>1\glissando |
>     <c c'> |

Different styles of glissandi can be created. For details, see Line styles.

#### Selected Snippets

Contemporary glissando

A contemporary glissando without a final note can be typeset using a hidden note and cadenza timing.

>     \relative c'' {
>       \time 3/4
>       \override Glissando.style = #'zigzag
>       c4 c
>       \cadenzaOn
>       c4\glissando
>       \hideNotes
>       c,,4
>       \unHideNotes
>       \cadenzaOff
>       \bar "|"
>     }

Adding timing marks to long glissandi

Skipped beats in very long glissandi are sometimes indicated by timing marks, often consisting of stems without noteheads. Such stems can also be used to carry intermediate expression markings.

If the stems do not align well with the glissando, they may need to be repositioned slightly.

>     glissandoSkipOn = {
>       \override NoteColumn.glissando-skip = ##t
>       \hide NoteHead
>       \override NoteHead.no-ledgers = ##t
>     }

>     glissandoSkipOff = {
>       \revert NoteColumn.glissando-skip
>       \undo \hide NoteHead
>       \revert NoteHead.no-ledgers
>     }

>     \relative c'' {
>       r8 f8\glissando
>       \glissandoSkipOn
>       f4 g a a8\noBeam
>       \glissandoSkipOff
>       a8

>       r8 f8\glissando
>       \glissandoSkipOn
>       g4 a8
>       \glissandoSkipOff
>       a8 |

>       r4 f\glissando \<
>       \glissandoSkipOn
>       a4\f \>
>       \glissandoSkipOff
>       b8\! r |
>     }

Making glissandi breakable

Setting the `breakable` property to `#t` in combination with `after-line-breaking` allows a glissando to break if it occurs at a line break:

>     glissandoSkipOn = {
>       \override NoteColumn.glissando-skip = ##t
>       \hide NoteHead
>       \override NoteHead.no-ledgers = ##t
>     }

>     \relative c'' {
>       \override Glissando.breakable = ##t
>       \override Glissando.after-line-breaking = ##t
>       f1\glissando |
>       \break
>       a4 r2. |
>       f1\glissando
>       \once \glissandoSkipOn
>       \break
>       a2 a4 r4 |
>     }

Extending glissandi across repeats

A glissando which extends into several `\alternative` blocks can be simulated by adding a hidden grace note with a glissando at the start of each `\alternative` block. The grace note should be at the same pitch as the note which starts the initial glissando. This is implemented here with a music function which takes the pitch of the grace note as its argument.

Note that in polyphonic music the grace note must be matched with corresponding grace notes in all other voices.

>     repeatGliss = #(define-music-function (parser location grace)
>       (ly:pitch?)
>       #{
>         % the next two lines ensure the glissando is long enough
>         % to be visible
>         \once \override Glissando.springs-and-rods
>           = #ly:spanner::set-spacing-rods
>         \once \override Glissando.minimum-length = #3.5
>         \once \hideNotes
>         \grace $grace \glissando
>       #})

>     \score {
>       \relative c'' {
>         \repeat volta 3 { c4 d e f\glissando }
>         \alternative {
>           { g2 d }
>           { \repeatGliss f g2 e }
>           { \repeatGliss f e2 d }
>         }
>       }
>     }

>     music =  \relative c' {
>       \voiceOne
>       \repeat volta 2 {
>         g a b c\glissando
>       }
>       \alternative {
>         { d1 }
>         { \repeatGliss c e1 }
>       }
>     }

>     \score {
>       \new StaffGroup <<
>         \new Staff <<
>           \context Voice { \clef "G_8" \music }
>         >>
>         \new TabStaff  <<
>           \context TabVoice { \clef "moderntab" \music }
>         >>
>       >>
>     }

#### See also

Music Glossary: glissando.

Notation Reference: Line styles.

Snippets: Expressive marks.

Internals Reference: Glissando.

#### Known issues and warnings

Printing text over the line (such as gliss.) is not supported.

#### Arpeggio

An arpeggio on a chord (also known as a broken chord) is denoted by appending `\arpeggio` to the chord construct:

>     <c e g c>1\arpeggio

Different types of arpeggios may be written. `\arpeggioNormal` reverts to a normal arpeggio:

>     <c e g c>2\arpeggio

>     \arpeggioArrowUp
>     <c e g c>2\arpeggio

>     \arpeggioArrowDown
>     <c e g c>2\arpeggio

>     \arpeggioNormal
>     <c e g c>2\arpeggio

Special bracketed arpeggio symbols can be created:

>     <c e g c>2

>     \arpeggioBracket
>     <c e g c>2\arpeggio

>     \arpeggioParenthesis
>     <c e g c>2\arpeggio

>     \arpeggioParenthesisDashed
>     <c e g c>2\arpeggio

>     \arpeggioNormal
>     <c e g c>2\arpeggio

The dash properties of the parenthesis arpeggio are controlled with the `'dash-details` property, which is described at Slurs.

Arpeggios can be explicitly written out with ties. For more information, see Ties.

#### Predefined commands

`\arpeggio`, `\arpeggioArrowUp`, `\arpeggioArrowDown`, `\arpeggioNormal`, `\arpeggioBracket`, `\arpeggioParenthesis` `\arpeggioParenthesisDashed`.

#### Selected Snippets

Creating cross-staff arpeggios in a piano staff

In a `PianoStaff`, it is possible to let an arpeggio cross between the staves by setting the property `PianoStaff.connectArpeggios`.

>     \new PianoStaff \relative c'' <<
>       \set PianoStaff.connectArpeggios = ##t
>       \new Staff {
>         <c e g c>4\arpeggio
>         <g c e g>4\arpeggio
>         <e g c e>4\arpeggio
>         <c e g c>4\arpeggio
>       }
>       \new Staff {
>         \clef bass
>         \repeat unfold 4 {
>           <c,, e g c>4\arpeggio
>         }
>       }
>     >>

Creating cross-staff arpeggios in other contexts

Cross-staff arpeggios can be created in contexts other than `GrandStaff`, `PianoStaff` and `StaffGroup` if the `Span_arpeggio_engraver` is included in the `Score` context.

>     \score {
>       \new ChoirStaff {
>         \set Score.connectArpeggios = ##t
>         <<
>           \new Voice \relative c' {
>             <c e>2\arpeggio
>             <d f>2\arpeggio
>             <c e>1\arpeggio
>           }
>           \new Voice \relative c {
>             \clef bass
>             <c g'>2\arpeggio
>             <b g'>2\arpeggio
>             <c g'>1\arpeggio
>           }
>         >>
>       }
>       \layout {
>         \context {
>           \Score
>           \consists "Span_arpeggio_engraver"
>         }
>       }
>     }

Creating arpeggios across notes in different voices

An arpeggio can be drawn across notes in different voices on the same staff if the `Span_arpeggio_engraver` is added to the `Staff` context:

>     \new Staff \with {
>       \consists "Span_arpeggio_engraver"
>     }
>     \relative c' {
>       \set Staff.connectArpeggios = ##t
>       <<
>         { <e' g>4\arpeggio <d f> <d f>2 }
>         \\
>         { <d, f>2\arpeggio <g b>2 }
>       >>
>     }

#### See also

Music Glossary: arpeggio.

Notation Reference: Slurs, Ties.

Snippets: Expressive marks.

Internals Reference: Arpeggio, Slur, PianoStaff.

#### Known issues and warnings

It is not possible to mix connected arpeggios and unconnected arpeggios in one `PianoStaff` at the same point in time.

The simple way of setting parenthesis-style arpeggio brackets does not work for cross-staff arpeggios; see Cross-staff stems.

#### Trills

Short trills without an extender line are printed with `\trill`; see Articulations and ornamentations.

Longer trills with an extender line are made with `\startTrillSpan` and `\stopTrillSpan`:

>     d1\startTrillSpan
>     d1
>     c2\stopTrillSpan
>     r2

A trill spanner crossing a line break will restart exactly above the first note on the new line.

>     d1\startTrillSpan
>     \break
>     d1
>     c2\stopTrillSpan
>     r2

Consecutive trill spans will work without explicit `\stopTrillSpan` commands, since successive trill spanners will automatically become the right bound of the previous trill.

>     d1\startTrillSpan
>     d1
>     b1\startTrillSpan
>     d2\stopTrillSpan
>     r2

Trills can also be combined with grace notes. The syntax of this construct and the method to precisely position the grace notes are described in Grace notes.

>     d1~\afterGrace
>     d1\startTrillSpan { c32[ d]\stopTrillSpan }
>     c2 r2

Trills that require an auxiliary note with an explicit pitch can be typeset with the `\pitchedTrill` command. The first argument is the main note, and the second is the trilled note, printed as a stemless note head in parentheses.

>     \pitchedTrill
>     d2\startTrillSpan fis
>     d2
>     c2\stopTrillSpan
>     r2

Subsequent accidentals of the same note in the same measure will need to be added manually. Only the accidental of the first pitched trill in a measure is printed.

>     \pitchedTrill
>     eis4\startTrillSpan fis
>     eis4\stopTrillSpan
>     \pitchedTrill
>     eis4\startTrillSpan cis
>     eis4\stopTrillSpan
>     \pitchedTrill
>     eis4\startTrillSpan fis
>     eis4\stopTrillSpan
>     \pitchedTrill
>     eis4\startTrillSpan fis!
>     eis4\stopTrillSpan

#### Predefined commands

`\startTrillSpan`, `\stopTrillSpan`.

#### See also

Music Glossary: trill.

Notation Reference: Articulations and ornamentations, Grace notes.

Snippets: Expressive marks.

Internals Reference: TrillSpanner.

其他语言：deutsch, español, français, italiano, 日本語。
About automatic language selection.

#### LilyPond — Notation Reference v2.18.2 (稳定分支).