Jump to content

Slanted parentheses around dynamics: Difference between revisions

From LilyPond wiki
mNo edit summary
Conform to the format of snippets included in the official documentation
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Although the easiest way to add parentheses to a dynamic mark is to use a <code>\markup</code> block, this method has a downside: the created objects will behave like text markups, and not like dynamics.
The easiest way to parenthesize dynamics is to use the normal <code>\parenthesize</code> command and adjust the font size, e.g., <code>{ c'4\tweak Parentheses.font-size 2 \parenthesize \f }</code>. However, this results in upright parentheses, while dynamic marks are normally slanted. This snippet gives a method to make the parentheses slanted as well.
 
However, it is possible to create a similar object using the equivalent Scheme code (as described in the Notation Reference), combined with the <code>make-dynamic-script</code> function. This way, the markup will be regarded as a dynamic, and therefore will remain compatible with commands such as <code>\dynamicUp</code> or <code>\dynamicDown</code>.


<lilypond version="2.24">
<lilypond version="2.24">
Line 9: Line 7:
     #{ \markup \concat {
     #{ \markup \concat {
         \normal-text \italic \fontsize #2 (
         \normal-text \italic \fontsize #2 (
\pad-x #0.2 #(ly:music-property dyn 'text)
        \pad-x #0.2 #(ly:music-property dyn 'text)
\normal-text \italic \fontsize #2 )
        \normal-text \italic \fontsize #2 )
       }
       }
     #}))
     #}))

Latest revision as of 18:38, 1 February 2026

The easiest way to parenthesize dynamics is to use the normal \parenthesize command and adjust the font size, e.g., { c'4\tweak Parentheses.font-size 2 \parenthesize \f }. However, this results in upright parentheses, while dynamic marks are normally slanted. This snippet gives a method to make the parentheses slanted as well.

\version "2.24"

paren =
#(define-event-function (dyn) (ly:event?)
   (make-dynamic-script
    #{ \markup \concat {
         \normal-text \italic \fontsize #2 (
         \pad-x #0.2 #(ly:music-property dyn 'text)
         \normal-text \italic \fontsize #2 )
       }
    #}))

\relative c'' {
  c4\paren\f c c \dynamicUp c\paren\p
}