Note that - \tweak dash-fraction 0.75 appears lexically early in the output: it is in the first tweak in a stack of six tweaks.
Then note that the - \abjad-dashed-line-with-arrow function is the source of the dash-fraction 0.25 setting; here's the definition of abjad-dashed-line-with-arrow in abjad/scm/abjad-text-spanner-line-styles.ily:
This means that LilyPond first interprets - \tweak dash-fraction 0.75 and then overwrites this value with - \tweak dash-fraction 0.25. The result is that it isn't possible to tweak dash-fraction -- or any of the other dozen properties defined in abjad-dashed-line-with-arrow -- when using abjad-dashed-line-with-arrow.
The solution is to change the lexical position at which - \tweak dash-fraction 0.75 appears in LilyPond output. Abjad 3.19 does this:
This change only applies to code that uses
abjad.tweak()
.Consider the following text spanner example in Abjad 3.18:
The output is as expected. Note that the text spanner's dash-fraction appears to be 0.25:
To change the text spanner's dash-fraction from 0.25 to 0.75, it should be enough to tweak
abjad.StartTextSpan
:But this does nothing:
Why?
Here's the LilyPond code that Abjad 3.18 creates:
Note that
- \tweak dash-fraction 0.75
appears lexically early in the output: it is in the first tweak in a stack of six tweaks.Then note that the
- \abjad-dashed-line-with-arrow
function is the source of the dash-fraction 0.25 setting; here's the definition ofabjad-dashed-line-with-arrow
inabjad/scm/abjad-text-spanner-line-styles.ily
:This means that LilyPond first interprets
- \tweak dash-fraction 0.75
and then overwrites this value with- \tweak dash-fraction 0.25
. The result is that it isn't possible to tweak dash-fraction -- or any of the other dozen properties defined inabjad-dashed-line-with-arrow
-- when usingabjad-dashed-line-with-arrow
.The solution is to change the lexical position at which
- \tweak dash-fraction 0.75
appears in LilyPond output. Abjad 3.19 does this:Which makes it possible to tweak dash-fraction with
abjad-dashed-line-with-arrow
for the first time: