Subject: Re: Recueil - gestion du nombre de système par page

From: [email-masked]
Date: Tue, 8 Dec 2020 06:37:24 +0100 (CET)

Merci pour la réponse !

La commande :

\paper {
  page-breaking = #ly:page-turn-breaking

}

ne donne pas un résultat satisfaisant (dommage !)

jai essayé de renseigner un system-count dans le  \layout de chaque pièce pour voir si je pouvais m'en sortir comme ça.... mais ce n'est pas satisfaisant non plus

Le problème provient de \tocAct \markup { }

Pourquoi ceci ? 

J'avais trouvé cette formulation dans la doc (je n'aurais pas inventé ça tout seul...)

effectivement, si je remplace par \tocAct \markup \vspace, je n'ai plus les messages d'erreur

Je cherchais à aérer un peu la table des matières : sauter une ligne toutes les 10 entrées

J'ai une autre question par rapport à la table des matières :
\paper

tocTitleMarkup = \markup \huge \column { 
           \fill-line { \null "Table des matières" \null } \hspace #1 }
         tocItemMarkup = \tocItemWithDotsMarkup
         tocActMarkup = \markup \large \column {
                         \fill-line { \null \italic \fromproperty #'toc:text \null }}

Avec ce code, dans la table des matières, mes 100 pièces se répartissent sur 3 pages (1/3 des pièces sur chaque page).

Le problème, c'est que les titres sont en haut de la page, ce qui laisse un espace "blanc" (1/4 de page) en bas de chaque page.

Existe-t-il un moyen de ne pas répartir les pièces par tiers (toutes à la suite, avec un grand blanc seulement à la fin de la table des matières)

Actuellement, j'ai rajouté une grande photo blanche (en .eps) à la fin de la table des matières (juste avant le \pageBreak ), donc, dans ce cas, la table des matières se place correctement

PS : "elle" ? Lilypond serait féminin ? 

ça expliquerait que j'ai tant de problèmes : au lieu de regarder lilypond droit dans les yeux, d'homme à homme, je devrais peut-être essayer de la séduire ?? je vais tester ... :)

De : Jean Abou Samra <[email-masked]>
À : [email-masked];
   lilypond-user-fr <[email-masked]>
Sujet : Re: Recueil - gestion du nombre de système par page
Date : 06/12/2020 14:35:56 Europe/Paris

Bonjour,

Le 06/12/2020 à 12:18, [email-masked] a écrit :

Bonjour à tous,

Je suis en train d'essayer de faire un recueil de partitions, et je n'arrive pas à gérer le nombre de systèmes par page.

J'aimerai que sur chaque page, il y ait 6 systèmes au maximum.

De plus, s'il y a un nouveau titre sur la page (changement de mouvement), il n'y ait plus que 5 systèmes de musique.

(dans mon idée, la ligne de titre serait comptée en tant que 6ème système)

si j'utilise page-count=9 : ça fonctionne à peu près ici, parce qu'il n'y a que 4 morceaux avec uniquement des rondes. si j'utilise cette commande dans mon recueil, ça serait compliqué d'estimer le nombre de pages que je souhaite au final.... c'est pour celà que j'aimerai pouvoir régler automatiquement le nombre de système par page

De plus, le journal me donne cette info étrange :

Dessin des systèmes...

Sortie mise en page vers « /tmp/lilypond-SNA562 »...

Avertissement : Détection d'une valeur infini ou non numérique. Substitution par 0.0

Avertissement : Détection d'une valeur infini ou non numérique. Substitution par 0.0

Avertissement : Détection d'une valeur infini ou non numérique. Substitution par 0.0

Avertissement : Détection d'une valeur infini ou non numérique. Substitution par 0.0

Conversion à « test-recueil.pdf »...

Suppression de « /tmp/lilypond-SNA562 »...

Compilation menée à son terme, avec succès.

Le problème provient de

\tocAct \markup { }

Pourquoi ceci ? LilyPond est dépassé quant à l'espacement, de la même manière qu'avec \markup \box "", par exemple. Si vous souhaitez vraiment un espacement vertical supplémentaire, mettez \markup " " (avec une espace), voire \markup \vspace #5.1, avec une valeur réglable.

J'ai essayé d'utiliser :

min-systems-per-page = 5
max-systems-per-page = 6

Dans ce cas, la compilation reste bloquée sur 100% sans terminer et je suis obligé d'arrêter la compilation à la main

Répartition de la musique sur 8 à 9 pages...

Abandon lilypond 2.20.0 [test-recueil.ly]...

Arrêté avec le code de retour 15.

Il s'agit d'un bug, que Kevin Barry est justement en train de résoudre en ce moment même :

https://gitlab.com/lilypond/lilypond/-/merge_requests/529

L'idée, c'est que LilyPond teste différentes configurations de sauts de page et leur attribue une note de laideur. Comme elle n'apprécie pas l'espacement que vous avez choisi, qu'elle trouve trop étalé, elle donne des notes très mauvaises à toutes les configurations qu'elle essaie, ce qui la conduit à augmenter le nombre de systèmes toujours plus dans l'espoir, évidemment vain, de découvrir une configuration acceptable.

Avec le code de Kevin, elle finit par se rend compte que cela ne sert à rien et abandonne la partie.

Comme ceci touche au cœur de LilyPond en C++, je n'ai rien de mieux à vous proposer pour l'instant que

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

Cela semble fonctionner, même si des avertissements étranges sont émis.

Si d'aventure les sauts ne vous convenaient pas, il faudrait ajouter des \break à la main ou à l'aide du code de Bernard.

Cordialement,
Jean

---

From: Jean Abou Samra <[email-masked]>
Date: Thu, 10 Dec 2020 21:47:50 +0100

Bonjour,

> ne donne pas un résultat satisfaisant (dommage !)

Avec min-systems-per-page et max-systems-per-page à côté ? Dommage, 
effectivement, qu'est ce qui cloche exactement ?

> jai essayé de renseigner un system-count dans le  \layout de chaque 
> pièce pour voir si je pouvais m'en sortir comme ça.... mais ce n'est 
> pas satisfaisant non plus
>

Dans ce cas, effectivement, mieux vaut \null ou bien un \vspace. La 
commande n'est pas prévue pour le cas du \markup vide.

> Avec ce code, dans la table des matières, mes 100 pièces se 
> répartissent sur 3 pages (1/3 des pièces sur chaque page).
> Le problème, c'est que les titres sont en haut de la page, ce qui 
> laisse un espace "blanc" (1/4 de page) en bas de chaque page.
> Existe-t-il un moyen de ne pas répartir les pièces par tiers (toutes à 
> la suite, avec un grand blanc seulement à la fin de la table des matières)
>

Pas trouvé, désolé... Ce qui est curieux, c'est que les entrées 
consomment toute la place disponible sur chaque page dans ce cas :

\markuplist \column-lines #(map (lambda (x) #{ \markup a #}) (iota 120))

Mais dès lors que l'on ajoute une nouvelle page, elles se répartissent 
par tiers comme vous le décrivez :

\markuplist \column-lines #(map (lambda (x) #{ \markup a #}) (iota 120))
\pageBreak
\markup "AAA"

Le réglage de ragged-bottom est inopérant.

Je n'ai pas le temps en ce moment pour fouiller plus. Peut-être les 
autres ont-ils des idées ? Vous pourriez aussi essayer d'écrire à la 
liste internationale.

> Actuellement, j'ai rajouté une grande photo blanche (en .eps) à la fin 
> de la table des matières (juste avant le \pageBreak ), donc, dans ce 
> cas, la table des matières se place correctement
>
>
>
> ça expliquerait que j'ai tant de problèmes : au lieu de regarder 
> lilypond droit dans les yeux, d'homme à homme, je devrais peut-être 
> essayer de la séduire ?? je vais tester ... :)

C'est selon. Sur cette liste comme dans les listes anglophones, le nom 
LilyPond est souvent pris au féminin. Personnellement, je le fais car il 
commence par « Lily », ce qui invite à divers jeux de mots récurrents 
sur cette liste, dans le goût de « Je m'appelle Pond. Lily Pond », etc.

Cordialement,
Jean