Subject: Rapprocher deux portées comportant des markup (flèches)

From: Gilles TIAR <[email-masked]>
Date: Thu, 25 Aug 2022 13:57:34 +0300

Salut à tous,

Je ne domine pas la question des espacements, bien que j’utilise Lilypond depuis plus de 12 ans. Je gère ce sujet essentiellement de manière empirique.

Pour l’heure, voici mon besoin : l’exemple ci-dessous contient deux flèches sur deux notes qui me donnent un espacement trop important à mon goût entre les deux portées – je ne suis pas parvenu à obtenir une hauteur inférieure à 7.4\mm.

Avec le même exemple sans les flèches, j’ai réussi à obtenir une hauteur de 6.7\mm qui me convient.

J’aimerais rapprocher les deux portées pour réduire la hauteur de l’exemple avec les flèches de quelques dixièmes de mm.

Merci

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\version "2.23.0"

\language français

darga = \markup \concat { " " \char ##x05A7 }

tevir = \markup \concat { " " \char ##x059B }

galgal = \markup \concat { " " \char ##x05A2 }

sillouk = \markup \concat { " " \char ##x05BD }

merha = \markup \concat { " " \char ##x05A5 }

merha_kefoula = \markup \concat { " " \char ##x05A6 }

tipha = \markup \concat { " " \char ##x0596 }

atnah = \markup \concat { " " \char ##x0591 }

mounah = \markup \concat { " " \char ##x05A3 }

mahpakh = \markup \concat { " " \char ##x05A4 }

pashta = \markup \concat { " " \char ##x0599 }

kadma = \markup \concat { " " \char ##x05A8 }

geresh = \markup \concat { " " \char ##x059C }

gershayim = \markup \concat { " " \char ##x059E }

zakef_katon = \markup \concat { " " \char ##x0594 }

zakef_gadol = \markup \concat { " " \char ##x0595 }

revia = \markup \concat { " " \char ##x0597 }

tsinor = \markup \concat { " " \char ##x0598 }

segol = \markup \concat { " " \char ##x0592 }

pazer = \markup \concat { " " \char ##x05A1 }

telisha_ketana = \markup \concat { " " \char ##x05A9 }

telisha_gedola = \markup \concat { " " \char ##x05A0 }

olehveyored = \markup \concat { " " \char ##x05AB }

ilouz = \markup \concat { " " \char ##x05AC }

shalshelet = \markup \concat { " " \char ##x0593 }

clefAjout = { \break \set Staff.explicitClefVisibility = #end-of-line-invisible \set Staff.forceClef = ##t \clef treble }

melody = \relative do' {

mi8 [mi] fa^\markup {

\center-column {

\combine

\draw-line #'(0 . 3)

\arrow-head #Y #DOWN ##f

}

} mi [mi] sold mi mi16 [(re)] mi8\noBeam \breathe\clefAjout

mi mi [mi] mi16 [(fa^\markup {

\center-column {

\combine

\draw-line #'(0 . 3)

\arrow-head #Y #DOWN ##f

}

})] mi8 mi [mi] re

}

\paper {

indent = 6\mm

paper-height = 7.4\cm

paper-width = 13\cm

line-width = 13\cm

bottom-margin = -3.2\mm

top-margin = 0

ragged-last-bottom = ##f

tagline = ##f

}

traduc = \lyricmode {

16se leva8. / Abraham4 de8 bon matin, 8.il4 sangla son âne

}

paroles = \lyricmode {

va -- Yash -- kém av -- ra -- ham ba -- bo -- kér

va -- Ya -- \markup\concat{\underline "h""a"} -- vosch

ét \markup\concat{\underline "h""a"} -- mo -- ro

}

teamiminf = \lyricmode {

\hide \sillouk _ _ _ _ _ _ _ _ _

\sillouk

}

teamimsup = \lyricmode {

_ _ \pashta _ _ \geresh _ \revia _

_ _ _ \tweak X-offset #4 \pashta _ _ _ \zakef_katon

}

\layout {

\context {

\Staff

\remove Time_signature_engraver

\remove Bar_engraver

}

\context {

\Score

\remove Timing_translator

\remove Bar_number_engraver

\override SpacingSpanner.spacing-increment = 3

}

}

\score {

<<

\new Lyrics \with {

\override LyricText.font-shape = #'italic

fontSize = -2

}\traduc

\new Staff

<<

\new Voice = "chant" \melody

\new Lyrics \with {

fontSize = -0.75

\override VerticalAxisGroup.nonstaff-relatedstaff-spacing.padding = #3

\override VerticalAxisGroup.nonstaff-nonstaff-spacing

= #'((basic-distance . 0)

(minimum-distance . 0)

(padding . 0))

}

\lyricsto "chant" \paroles

\new Lyrics \with {

fontSize = 9.5

}

\lyricsto "chant" \teamiminf

\new Lyrics \with {

fontSize = 9.5

}

\lyricsto "chant" \teamimsup

}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Thu, 25 Aug 2022 14:53:26 +0200

Bonjour Gilles,
C'est vrai que l'espacement vertical souhaité est souvent délicat à trouver
dans la doc.
Voir aussi : https://joramberger.de/files/LilypondSpacing.pdf

Dans le bloc paper :
\paper {
  system-system-spacing = #'(
                              (basic-distance . 0)
                              (minimum-distance . 0)
                              (stretchability . 0))
}

À ajuster au besoin.
Cordialement,
Pierre

Le jeu. 25 août 2022 à 12:58, Gilles TIAR <[email-masked]> a écrit :

> Salut à tous,
>
>
> Je ne domine pas la question des espacements, bien que j’utilise Lilypond
> depuis plus de 12 ans. Je gère ce sujet essentiellement de manière
> empirique.
>
>
> Pour l’heure, voici mon besoin : l’exemple ci-dessous contient deux
> flèches sur deux notes qui me donnent un espacement trop important à mon
> goût entre les deux portées – je ne suis pas parvenu à obtenir une hauteur
> inférieure à 7.4\mm.
>
>
> J’aimerais rapprocher les deux portées pour réduire la hauteur de
> l’exemple avec les flèches de quelques dixièmes de mm.
>
>
> Merci
>
>
> clefAjout = { \break \set Staff.explicitClefVisibility =
> #end-of-line-invisible \set Staff.forceClef = ##t \clef treble }
>
> melody = \relative do' {
>
> mi8 [mi] fa^\markup {
>
> \center-column {
>
> \combine
>
> \draw-line #'(0 . 3)
>
> \arrow-head #Y #DOWN ##f
>
> }
>

---

From: Gilles TIAR <[email-masked]>
Date: Thu, 25 Aug 2022 16:09:38 +0300

Merci Pierre,

Je sauvegarde le schéma que tu me joins et je l'étudierai.

La solution que tu proposes, je l'ai déjà essayée. Ce que je n'ai pas précisé, c'est que je veux une image sans blanc au-dessus et en-dessous (marges quasiment nulles). Pour obtenir cela, j'ai recours (il y a sans doute de meilleures manières) à un margin-bottom négatif.

Lorsque l'on définit le system-system spacing, les portées se rapprochent bien, mais au détriment de la marge inférieure qui grandit sensiblement, l'image conservant à peu près la même taille.

J'ai essayé de remédier à cela en augmentant la margin-bottom, mais ça ne fonctionne pas.

Cordialement,

---

From: Gilles TIAR <[email-masked]>
Date: Fri, 26 Aug 2022 18:16:14 +0300

En fait, j'ai peut-être accusé un peu vite les markup (flèches). Il me semble que le problème vient d'ailleurs.

J'ai fait quelques ajustements, le résultat me convient, sauf l'extra zone blanche en bas.

J'ai annihilé le haut par un top-system-spacing, mais je n'arrive pas à faire de même en bas (j'ai essayé d'annuler les valeurs de bottom-system-spacing).

Voici le code retravaillé :

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\version "2.23.0"
\language français
\include "teamim_code.ly"

melody = \relative do' {
mi8 [mi] fa^\markup {
\center-column {
\combine
\draw-line #'(0 . 3)
\arrow-head #Y #DOWN ##f
}

\paper  {
indent = 6\mm
paper-height = 7.2\cm
paper-width = 13\cm
line-width = 13\cm
bottom-margin = 0\mm
top-margin = 0\mm
ragged-last-bottom = ##f
tagline = ##f

(basic-distance . 20)
(minimum-distance . 0)
(stretchability . 0))

top-system-spacing = #'(
(basic-distance . 0)
(minimum-distance . 0)
(stretchability . 0))
last-bottom-spacing = #'(
(basic-distance . 0)
(minimum-distance . 0)
(stretchability . 0))
}

traduc = \lyricmode {

paroles = \lyricmode {

teamiminf = \lyricmode {

teamimsup = \lyricmode {

\layout {
\context {
\Staff

\score {
<<
\new Lyrics \with {

\new Staff
<<

\new Lyrics \with {
fontSize = 9.5
}

\new Lyrics \with {
fontSize = 9.5
}

}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Cordialement

---

From: Jean Abou Samra <[email-masked]>
Date: Mon, 29 Aug 2022 22:31:42 +0200

Le 25/08/2022 à 15:09, Gilles TIAR a écrit :
> La solution que tu proposes, je l'ai déjà essayée. Ce que je n'ai pas 
> précisé, c'est que je veux une image sans blanc au-dessus et 
> en-dessous (marges quasiment nulles). Pour obtenir cela, j'ai recours 
> (il y a sans doute de meilleures manières) à un margin-bottom négatif.
>
> Lorsque l'on définit le system-system spacing, les portées se 
> rapprochent bien, mais au détriment de la marge inférieure qui grandit 
> sensiblement, l'image conservant à peu près la même taille.
>

Bonjour,

Il est infiniment plus simple de mettre

\paper {
   page-breaking = #ly:one-page-breaking
}

Cela affiche la musique sur une seule page, dont la hauteur
s'adapte automatiquement à la musique. Voir

https://lilypond.org/doc/v2.22/Documentation/notation/page-breaking#one_002dpage-page-breaking

Cordialement,
Jean

---

From: Gilles TIAR <[email-masked]>
Date: Tue, 30 Aug 2022 12:03:49 +0300

Merci Jean,

C’est exactement, exactement, ce que je cherchais, et depuis des années

Comme tu le dis, c’est « infiniment plus simple » ; mais je n’ai pas cessé de me casser la tête sans succès pour ne pas parvenir à cette simplicité. Je suis passé à côté du petit paragraphe que tu cites.

Je suis enfin parvenu au rendu que je voulais, ci-dessous se trouve mon code actuel. Je le partage, car je suis toujours à l’affût de conseils d’amélioration et de simplification

J’ai souvent souhaité qu’il puisse exister sur la liste une sorte de section consacrée, non aux problèmes, mais à l’élégance des codes :

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\version "2.23.0"

\language français

melody = \relative do' {

mi8 [mi] fa^\markup {

\center-column {

\combine

\draw-line #'(0 . 3) % (épaisseur.longueur de la ligne)

\arrow-head #Y #DOWN ##f

}

\center-column {

\combine

\draw-line #'(0 . 3) % (épaisseur.longueur de la ligne)

\arrow-head #Y #DOWN ##f

}

})] mi8 mi [mi] re

}

\paper {

annotate-spacing = ##t

system-system-spacing.basic-distance = #22

indent = 6\mm

paper-width = 13\cm

line-width = 13\cm

bottom-margin = -7.5\mm

top-margin = 0

tagline = ##f

top-system-spacing = #'(

(basic-distance . 0)

(minimum-distance . 0)

(stretchability . 0))

(basic-distance . 0)

(minimum-distance . 0)

(stretchability . 0))

}

traduc = \lyricmode {

}

paroles = \lyricmode {

}

teamiminf = \lyricmode {

\sillouk

}

teamimsup = \lyricmode {

}

\layout {

\context {

\Staff

\remove Bar_engraver

}

\context {

\Score

}

}

\score {

<<

\new Lyrics \with {

fontSize = -2

}\traduc

\new Staff

<<

\new Lyrics \with {

fontSize = -0.75

(minimum-distance . 0)

(padding . 0))

}

\new Lyrics \with {

fontSize = 9.5

}

\new Lyrics \with {

fontSize = 9.5

}

}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Cordialement,