page-link

J’ai des petit soucis avec \page-link illustés par l’exemple ci-dessous.

Le premier est qu’il se montre capricieux : ça marche ou pas sans que je
comprenne pourquoi. Ici ça fonctionne avec “To Coda” et “D.S. al Coda”
mais pas avec “To Solos then D.S. al Coda” (le \page-link est simplement
ignoré, pas de message d’erreur ni avertissement)

Si je fais une modification mineure (par exemple changer “To Solos then
D.S. al Coda” en “To Solos” ce dernier fonctionne mais plus les autres !

Sorcellerie ?

Ensuite j’aimerai remplacer le nombre attendu (#x) par le contenu de
\page-ref. Par exemple :

|\textEndMark \markup { \page-link \page_ref #'Segno "0" "?" { "D.S. al
Coda" } } |

Évidemment cela ne fonctionne pas. Une Solution ?

Merci d’avance

P.S. je fait des essais avec Markdown pour que le code apparaisse en
tant que tel mais ça aussi fonctionne mal

|\version "2.24.3" Musique = \relative c'' { \mark \markup { \box {
Intro } } \repeat unfold 4 { a1 } \break \repeat unfold 4 { a1 }
\pageBreak \mark \markup { \box A \raise #1 \musicglyph "scripts.segno"
} \label #'Segno \repeat unfold 4 { a1 } \break \repeat unfold 4 { a1 }
\pageBreak \bar "||" \mark #2 \repeat unfold 4 { a1 } \break \repeat
unfold 3 { a1 } \tweak self-alignment-X #RIGHT \mark \markup {
\page-link #4 { "To Coda" } } a1 \pageBreak \mark \markup { \musicglyph
"scripts.coda" } \repeat unfold 4 { a1 } \break \repeat unfold 4 { a1 }
\pageBreak \bar "|." \tweak direction #DOWN \textEndMark \markup {
\page-link #5 { "To Solos then D.S. al Coda" } } \pageBreak \mark
\markup { \box { Solos } } \repeat unfold 4 { a1 } \break \repeat unfold
4 { a1 } \textEndMark \markup { \page-link #2 { "D.S. al Coda" } } }
\score { \new Staff \Musique } |

Le MarkDown par mail je n'y arrive pas, je reformule ici

J’ai des petit soucis avec \page-link illustés par l’exemple ci-dessous.

Le premier est qu’il se montre capricieux : ça marche ou pas sans que je
comprenne pourquoi. Ici ça fonctionne avec “To Coda” et “D.S. al Coda”
mais pas avec “To Solos then D.S. al Coda” (le \page-link est simplement
ignoré, pas de message d’erreur ni avertissement)

Si je fais une modification mineure (par exemple changer “To Solos then
D.S. al Coda” en “To Solos” ce dernier fonctionne mais plus les autres !

Sorcellerie ?

Ensuite j’aimerai remplacer le nombre attendu (#x) par le contenu de
\page-ref. Par exemple :

\textEndMark \markup { \page-link \page_ref #'Segno "0" "?" { "D.S. al
Coda" } }

Évidemment cela ne fonctionne pas. Une Solution ?

Merci d’avance


\version "2.24.3"

Musique =  \relative c'' {
  \mark \markup { \box { Intro } } 
  \repeat unfold 4 { a1 } \break   \repeat unfold 4 { a1 } \pageBreak 

  \mark \markup { \box A \raise #1 \musicglyph "scripts.segno" }
  \label #'Segno
  \repeat unfold 4 { a1 }\break  \repeat unfold 4 { a1 } \pageBreak \bar "||"
  
  \mark #2 \repeat unfold 4 { a1 } \break 
  \repeat unfold 3 { a1 }
  \tweak self-alignment-X #RIGHT \mark \markup { \page-link #4 { "To Coda" } }
  a1 \pageBreak
  
  \mark \markup  { \musicglyph "scripts.coda" }
  \repeat unfold 4 { a1 } \break \repeat unfold 4 { a1 } \pageBreak \bar "|."
  
  \tweak direction #DOWN \textEndMark \markup { \page-link #5 { "To Solos" } } 
  \pageBreak
  
  \mark \markup { \box { Solos } } 
  \repeat unfold 4 { a1 } \break  \repeat unfold 4 { a1 } 
  \textEndMark \markup { \page-link #2 { "D.S. al Coda" } }
}

\score { \new Staff \Musique }

Je crois que c'est lié à la superposition de deux liens : celui du \page-link, et celui inséré automatiquement pour le point-and-click (qui te permet de cliquer sur une note, sur un \mark, etc., pour aller à son endroit dans le code). Le résultat dépend potentiellement du lecteur de PDF aussi. Avec \pointAndClickOff, ça marche bien chez moi.

\with-link #'Segno { "D.S. al Coda" } ? Ou bien j'ai mal compris ce que tu cherches ?

Le 03/02/2024 à 19:13, Jean Abou Samra via LilyPond a écrit :

Je crois que c'est lié à la superposition de deux liens : celui du
|\page-link|, et celui inséré automatiquement pour le point-and-click

Bonne pioche ! Jamais je n'aurai trouvé seul pourtant ça semble évident
quand on connaît la solution

|\with-link #'Segno { "D.S. al Coda" }|

Je suis resté bloqué sur page-ref sans jamais me demander à quoi d'autre
pouvait servir label. La vieillesse est un naufrage...

Double merci Jean