Learning Manual:
@rlearning{Placement of objects}.
-
Notation Reference:
@ref{Text scripts},
@ref{Direction and placement},
c1\!
@end lilypond
-Spacer rests are needed to engrave multiple marks on one note.
+A hairpin that is terminated with @code{\!} will end at the
+right edge of the note that has the @code{\!} assigned to it. In the
+case where it is terminated with the start of another @notation{crescendo}
+or @notation{decrescendo} mark, it will end at the centre of the note
+that has the next @code{\<} or @code{\>} assigned to it. The next
+hairpin will then start at the right edge of the same note
+instead of the usual left edge had it been terminated with @code{\!}
+before.
+
+@lilypond[verbatim,quote,relative=2]
+c1\< | c4 a c\< a | c4 a c\! a\< | c4 a c a\!
+@end lilypond
-@cindex multiple dynamic marks on one note
-@cindex dynamic marks, multiple on one note
+Hairpins that are terminated with absolute dynamic marks instead of
+@code{\!} will also be engraved in a similar way. However, the length
+of the absolute dynamic itself can alter where the preceding hairpin
+ends.
+
+@lilypond[verbatim,quote,relative=2]
+c1\< | c4 a c\mf a | c1\< | c4 a c\ffff a
+@end lilypond
+
+Spacer rests are needed to engrave multiple marks on one note.
@lilypond[verbatim,quote,relative=2]
c4\< c\! d\> e\!
@funindex \espressivo
@funindex espressivo
-In some situations the @code{\espressivo} articulation mark may be
-the appropriate choice to indicate a crescendo and decrescendo on
-one note:
+The @code{\espressivo} command can be used to indicate a crescendo
+and decrescendo on the same note:
@lilypond[verbatim,quote,relative=2]
c2 b4 a
The line style, as well as the text string, can be defined as an
object property. This syntax is described in @ref{Line styles}.
+Text spanners are part of the @code{Dynamics} context; see
+@rinternals{Dynamics}.
@funindex \textSpannerUp
@knownissues
LilyPond is only able to handle one text spanner per voice.
+@snippets
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{dynamics-text-spanner-postfix.ly}
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{dynamics-custom-text-spanner-postfix.ly}
+
@seealso
Notation Reference:
@ref{Line styles},
@ref{Dynamics}.
Snippets:
-@rlsr{Text}.
+@rlsr{Text},
+@rlsr{Expressive marks}.
Internals Reference:
-@rinternals{TextSpanner}.
+@rinternals{TextSpanner},
+@rinternals{Dynamics}.
@node Text marks