Séparation d'une portée en bout de ligne en 2 portées : avec doubles flèches ET barre de mesure de reprise

Bonsoir à tous,
Mon sujet est un peu long, mais que j'espère explicite.

J'ai, pour les doubles flèches en bout de ligne, utilisé le fragment
suivant :

qui fonctionne parfaitement avec une barre de mesure normale (\bar"|").

En revanche, avec une barre de mesure en fin de ligne telle que \bar
".|:-||", la double flèche est présente en fin de ligne et, puisqu'elle
est attachée à la barre de mesure, elle réapparaît aussi au début de la
ligne :

Est-ce que quelqu'un aurait une idée pour contourner le problème ?

J'ajoute un extrait du code pour illustrer le problème.

Merci à tous.

Bonne soirée,
Luc

\version "2.24.0"
% snippets

#(define-markup-command (arrow-at-angle layout props angle-deg length fill)
(number? number? boolean?)
(let* ((PI-OVER-180 (/ (atan 1 1) 34))
(degrees->radians (lambda (degrees) (* degrees PI-OVER-180)))
(angle-rad (degrees->radians angle-deg))
(target-x (* length (cos angle-rad)))
(target-y (* length (sin angle-rad))))
(interpret-markup layout props
(markup
#:translate (cons (/ target-x 2) (/ target-y 2))
#:rotate angle-deg
#:translate (cons (/ length -2) 0)
#:concat (#:draw-line (cons length 0)
#:arrow-head X RIGHT
fill)))))
splitStaffBarLineMarkup = \markup \with-dimensions #'(0 . 0) #'(0 . 0) {
\combine
\arrow-at-angle #45 #(sqrt 8) ##t
\arrow-at-angle #-45 #(sqrt 8) ##t
}

splitStaffBarLine = {
\once \override Staff.BarLine.stencil =
#(lambda (grob)
(ly:stencil-combine-at-edge
(ly:bar-line::print grob)
X RIGHT
(grob-interpret-markup grob splitStaffBarLineMarkup)
0))
\break
}

separateSopranos = {
\set Staff.instrumentName = ""
\set Staff.shortInstrumentName = ""
\splitStaffBarLine
%\change Staff = "VoixUn"
}
VoixUn = \relative c''{
\time 4/4
\key c \major
c4 c c c | c c c c
\separateSopranos
\break
%sans barre de mesure spéciale \bar ".|:-||"
\set Staff.shortInstrumentName = "Sop."
c4 c c c | c c c c
\break
% même exemple avec la barre de mesure spéciale
\set Staff.shortInstrumentName = ""
c4 c c c | c c c c
\separateSopranos
\break
\bar ".|:-||"
\set Staff.shortInstrumentName = "Sop."
c4 c c c | c c c c

}
VoixDeux = \relative c' {
\override Score.VerticalAxisGroup.remove-first = ##t
R12
\set Staff.shortInstrumentName = "Alt."
c4 c c c | c c c c
R1
2
c4 c c c | c c c c
}

\paper {
short-indent = 10\mm
}
\score {
\new ChoirStaff
<<
\new Voice {
\VoixUn
}
\new Voice {
\VoixDeux
}

\layout {
\context {
\Staff \RemoveEmptyStaves
}
}
}