+@lilypond[verbatim,quote]
+moltoF = \markup { molto \dynamic f }
+
+\relative c' {
+ <d e>16 <d e>
+ <d e>2.._\moltoF
+}
+@end lilypond
+
+@cindex dynamics, editorial
+@cindex dynamics, parenthesis
+
+Markup mode makes possible, for instance, to add
+editorial dynamics, printed in round parenthesis or square
+brackets. Its syntax is described in @ref{Formatting text}.
+
+@lilypond[verbatim,quote]
+roundf = \markup { \center-align { \line { \bold { \italic ( }
+ \dynamic f \bold { \italic ) } } } }
+boxf = \markup { \bracket { \dynamic f } }
+\relative c' {
+ c1_\roundf
+ c1_\boxf
+}
+@end lilypond
+
+Markup objects are treated differently from authentic dynamic marks.
+Defining dynamic objects that will be entered and printed exactly like
+standard dynamic marks is also possible, using the following function:
+
+@cindex make-dynamic-script
+
+@lilypond[verbatim,quote]
+sfzp = #(make-dynamic-script "sfzp")
+\relative c' {
+ c4 c c\sfzp c
+}
+@end lilypond
+
+@noindent
+Note that the dynamic font only contains the characters
+@code{f,m,p,r,s} and @code{z}. To switch to other font families,
+it is necessary to use markup mode in its Scheme form, as
+explained in @ref{Markup construction in Scheme}.
+
+@lilypond[verbatim,quote]
+moltoF = #(make-dynamic-script (markup
+ #:normal-text "molto"
+ #:dynamic "f"))
+\relative c' {
+ <d e>16 <d e>
+ <d e>2..\moltoF
+}
+@end lilypond
+
+@noindent
+Font settings in markup mode are described in
+@ref{Common markup commands}.
+
+
+@seealso
+
+Notation Reference:
+@ref{Formatting text},
+@ref{Common markup commands},
+@ref{Markup construction in Scheme}.
+
+Snippets:
+@rlsr{Expressive marks}.