On 1/4/21 10:29 PM, Josiah Boothby wrote:
I think I used to know how to do this but I can't find any evidence of it, but I'd like to do something that looks roughly like the following, where the text ("fine" or "D.C. al fine") are printed below the line:

|: /— 4 —/ :|: /— 4 —/ fine :|
|: /— 4 —/ :|: /— 4 —/ D.C. al fine :|

...while separating notes and time into separate variables. It seems like I should be able to do this by simply setting text to right-align:

Time = {
  \repeat volta 2 { s1*4 }
  \repeat volta 2 { s1*4_\markup\right-align{ fine } }
  \repeat volta 2 { s1*4 }
  \repeat volta 2 { s1*4_\markup\right-align{ D.C. al fine } }
}

Notes = {
  R1*4
  R1*4
  R1*4
  R1*4
}

...but that's clearly not how it works, since the text ends up being printed in the middle of the rest. Please remind me how to do this?

s1*3 s1_"fine"

ends up breaking the multimeasure rest, so is suboptimal.


This is one of the pieces of code I have defined in  my common file that I load with all of my code:


endMarkDown = {
  \once \override Score.RehearsalMark #'self-alignment-X = #right
  \once \override Score.RehearsalMark
  #'break-visibility = #begin-of-line-invisible
  \once \override Score.RehearsalMark #'direction = #DOWN
  \once \override Score.RehearsalMark #'font-size = #0
}

(The above could probably better but It works for me.

Then:

R1*4 \endMarkDown \mark \markup(D.S. al Fine)

I also have endMark which puts the text above.

HTH,

Paul



Reply via email to