LilyPond est un logiciel d'édition musicale non WYSIWYG, contrairement à ceux les plus couramment utilisés (Musescore, Finale, Encore, Sibelius...). L'un de ses principaux intérêts qu'il permet de faire exactement ce que l'on veut, au prix il est vrai de pas mal de recherches. Je n'en ferais pas le panégyrique ici, le web en étant abondamment pourvu, par contre j’inaugure ici une catégorie d'articles dédiés aux astuces ou fonctions personnalisées que j'utilise, autant pour me servir de pense-bête que pour partager avec d'autres utilisateurs. Niveau expérimenté requis.

Les reprises avec alternatives sont courantes tant en musique classique qu'en jazz. Dans un standard de jazz de forme AABA on n’utilise un tel système que pour les 2 premiers A, le B étant ensuite exposé suivi du dernier A. Ce qui peut se traduire sous la forme :

||: A | A | A  | A  |
A | A | A1 | A1 :||
| A2 | A2 ||
B | B | B | B |
B | B | B | B ||
A | A | A | A |
A | A | A3 | A3 ||
Dans certains cas la troisième terminaison peut être identique à la première ou à la seconde et - dans le souci de gagner de la place - on verra à la fin du B, à la place du dernier A, un Da Capo (ou Da Segno)  al 2nd (ou 1st) Ending al fine. Ce qui à l'usage peut générer des confusions avec la reprise du dernier thème (après les chorus) qui fait souvent l'objet d'un Da Capo (ou Da Segno) avec Coda. Pourquoi alors ne pas simplement mettre une barre de reprise à la fin du B avec indication adéquate dans le libellé des alternatives ?

Par exemple (tiré de Jeanine de Duke Pearson) :

Quand le fine est situé sur la deuxième terminaison, pas de problème. La formulation standard de lilypond fera le job.
\repeat volta 3 {
../..
}
\alternative {
{ ../.. }
{ ../.. \mark \markup "fine" }
}
La première alternative sera indiqué 1. et la seconde 2.-3.

Par contre si le fine est sur la première c'est un peu plus compliqué : il faudra décrire les alternatives manuellement. Profitons-en pour faire passer le mark "fine" SOUS la barre d'alternative et de la rendre plus lisible (en rouge).

voici le code
\version "2.18.2"

voltaOne = \markup { 1. \text { & } 3.}
myMusic = \relative c' {
c d e f

\repeat volta 3 { d e f g }

% alternatives 1 et 3
\set Score.repeatCommands = #(list(list 'volta voltaOne))
e f g a f g a b

% mark inscrit SOUS la barre d'alternative et en rouge
\once \override Score.RehearsalMark #'outside-staff-priority = #49
\once \override Score.RehearsalMark #'self-alignment-X = #RIGHT
\mark \markup { \italic \with-color #(x11-color 'red) "fine " }

% 2eme alternative
\set Score.repeatCommands = #'((volta #f) (volta "2.") end-repeat)
g a b c
\set Score.repeatCommands = #'((volta #f))

% suite et dernière reprise
a b c d b c d e \bar ":|."
}


% Score output :
\score {
\myMusic
\layout {}
}

et le résultat