Encore des problèmes de mise en page

Bonsoir à tous,

J'ai déjà cité des problèmes de mise en page aléatoires (systèmes s'arrêtant
au milieu de la page :
http://n2.nabble.com/Problemes-recurrents-de-mise-en-page-td4165994.html#a4165994
http://n2.nabble.com/Problemes-recurrents-de-mise-en-page-td4165994.html#a4165994
).

Ces problèmes ont été résolus depuis que je travaille sur des \voice plutôt
que sur des \staff - erreur de débutant, pas facile de faire la différence
:wink:

Toutefois, aujourd'hui, c'est la mise en page verticale qui pose problème
(je travaille sur la version 2.13).

Mes systèmes comportent 13 portées, et j'ai optimisé la position des signes
dynamique pour économiser de la place.

J'utilise le set-global-staff-size à 11.5, mais de nombreuses pages ne
comprennent qu'un seul système, évidemment très distendu et peu esthétique,
alors que d'autres pages affichent confortablement 2 sytèmes.

J'ai diminué le set-global-staff-size jusqu'à 10, et là, certaines pages
contiennent jusqu'à 3 systèmes (j'utilise également le
\RemoveEmptyStaffContext), 26 portées cohabitent sans le moindre problème,
avec des notes et des nuances qui débordent largement des portées, puis,
subitement, un seul système par page alors que rien ne le justifie.

Mais déjà, avec set-global-staff-size à 10, la lisibilité devient pénible.

Les marges sont réduites au minimum. Je compare alors avec la partition
Breitkopf qui sert de modèle :
hauteur utile : 19 cm et 26 portées lisibles sur la page
LyliPond :
hauteur utile : 27 cm et 13 portées illisibles, tant les symboles sont
petits.

N'existe-t-il pas un moyen de forcer un espace entre les portées d'un
système à une valeur maximum, ou toute autre méthode, pour obtenir
l'équivalent des partitions d'étude classiques.

J'ai placé la partition en question sur
http://www.espace-midi.com/lilypond/Serenade_Nr1M1.pdf
http://www.espace-midi.com/lilypond/Serenade_Nr1M1.pdf

Voyez page 7 le problème qui se pose (avec set-global-staff-size à 10 - si
je passe à des valeurs plus élevées, quasi tous les systèmes occupent une
page entière).

Voilà, j'ai été un peu long, mais il est dommage après tant de travail, de
voir un résultat gâché par un petit détail inesthétique.

Merci de votre aide,

Jean-François

···

--
View this message in context: http://n2.nabble.com/Encore-des-problemes-de-mise-en-page-tp4711415p4711415.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Bonsoir,

2010/3/10 Seventies <****@****> :

Bonsoir à tous,

J'ai déjà cité des problèmes de mise en page aléatoires (systèmes
s'arrêtant au milieu de la page :
http://n2.nabble.com/Problemes-recurrents-de-mise-en-page-td4165994.html#a4165994
http://n2.nabble.com/Problemes-recurrents-de-mise-en-page-td4165994.html#a4165994
).

Ces problèmes ont été résolus depuis que je travaille sur des \voice
plutôt que sur des \staff - erreur de débutant, pas facile de faire
la différence
:wink:

Tu saurais développer ?
Tu veux dire qu'en explicitant toute les voix (\new Voice) le problème
est résolu ?

Toutefois, aujourd'hui, c'est la mise en page verticale qui pose
problème (je travaille sur la version 2.13).

Peut-être regarder avec la toute dernière version de la 2.13, il est
possible que cela se soit amélioré (je ne sais pas quelle 2.13 tu
utilises).

Mes systèmes comportent 13 portées, et j'ai optimisé la position des
signes dynamique pour économiser de la place.

Je voix ça.
Simple curiosité, tu as fait ça comment ? Avec des \tweak, des
'extra-offset, ... ?

J'utilise le set-global-staff-size à 11.5, mais de nombreuses pages
ne comprennent qu'un seul système, évidemment très distendu et peu
esthétique, alors que d'autres pages affichent confortablement
2 sytèmes.

Si tu en veux tout le temps 2 tu as pensé à essayer "system-count"
(dans le bloc \paper) ?

J'ai diminué le set-global-staff-size jusqu'à 10, et là, certaines
pages contiennent jusqu'à 3 systèmes (j'utilise également le
\RemoveEmptyStaffContext), 26 portées cohabitent sans le moindre
problème, avec des notes et des nuances qui débordent largement des
portées, puis, subitement, un seul système par page alors que rien ne
le justifie.

Pfiou, c'est tout petit.
Juste pour comparaison, la partition Breitkopf est de quelle taille ?
Avec combien de systèmes, ...

Mais déjà, avec set-global-staff-size à 10, la lisibilité devient
pénible.

Oui, c'est vraiment tout petit ! oO

Les marges sont réduites au minimum. Je compare alors avec la
partition Breitkopf qui sert de modèle :
hauteur utile : 19 cm et 26 portées lisibles sur la page
LyliPond :
hauteur utile : 27 cm et 13 portées illisibles, tant les symboles
sont petits.

Qu'est-ce qui rend la partition Breitkopf si lisible et celle de
LilyPond pas ?

N'existe-t-il pas un moyen de forcer un espace entre les portées d'un
système à une valeur maximum, ou toute autre méthode, pour obtenir
l'équivalent des partitions d'étude classiques.

Il n'y a pas de valeur maximale mais il faudrait diminuer la
"stretchability".

Donc soit :

  \override VerticalAxisGroup #'next-staff-spacing =
    #'((stretchability . 0))

Soit jouer sur les valeurs de "space" et "minimum-distance"...
Une fois que tu as des valeurs qui vont bien, n'hésite pas à les
suggérer aux développeurs en expliquant le pourquoi (cf. ton problème
ci-dessus).

http://kainhofer.com/~lilypond/Documentation/notation/vertical-spacing-inside-a-system.html

J'ai placé la partition en question sur
http://www.espace-midi.com/lilypond/Serenade_Nr1M1.pdf
http://www.espace-midi.com/lilypond/Serenade_Nr1M1.pdf

C'est déjà pas mal ! Bravo.

Bonne continuation,
Xavier

···

--
Xavier Scheuer <****@****>

Ces problèmes ont été résolus depuis que je travaille sur des \voice
plutôt que sur des \staff - erreur de débutant, pas facile de faire
la différence
:wink:

Tu saurais développer ?
Tu veux dire qu'en explicitant toute les voix (\new Voice) le problème
est résolu ?

Exact, j'ai placé partout des instructions telles que
staffSaMaFlote = \new Staff {\voiceSaMaFlote}
staffSaMaOboe = \new Staff {\voiceSaMaOboe}
et le problème a disparu ... j'avoue ne pas comprendre ...

Peut-être regarder avec la toute dernière version de la 2.13, il est
possible que cela se soit amélioré (je ne sais pas quelle 2.13 tu
utilises).

Il m'annonce 2.13.17, alors que la dernière version disponible est la 2.13.15 (sous XP) :wink:

Mes systèmes comportent 13 portées, et j'ai optimisé la position des
signes dynamique pour économiser de la place.

Je voix ça.
Simple curiosité, tu as fait ça comment ? Avec des \tweak, des
'extra-offset, ... ?

avec des extra-offset, mais le gros du travail a été de remonter les soufflets et les 'cresc'. En effet, si on n'interrompt pas les signes de nuance dynamiques, ils s'alignent sur la nuance la plus basse, même si on place un \!
Ainsi,
d2 \< r2 c4 \! \f
produira l'alignement du soufflet sur le 'forte' et par conséquent sur le plus bas des deux.
Remarque importante également, si on utilise
\crescTextCresc et \override DynamicTextSpanner #'dash-period = #-1.0, les pointillés ne sont pas imprimés, mais le texte est descendu de telle manière à ce que les pointillés invisibles n'entrent pas en collision avec les autres éléments. Il est donc bon d'introduire un \! dès que possible après le \<

Tous ces détails ont fait gagner plusieurs pages, tout en gardant l'esthétique au niveau des soufflets et des nuances. Il faut trouver des compromis comme dans une partition réelle.

Si tu en veux tout le temps 2 tu as pensé à essayer "system-count"
(dans le bloc \paper) ?

Je dois encore essayer ce paramètre, mais je crains qu'il ne travaille à l'envers (c'est le nombre maximum de systèmes, et non le minimum, à lire la doc - ... à moins que ce soit un nombre imposé)

Pfiou, c'est tout petit.
Juste pour comparaison, la partition Breitkopf est de quelle taille ?
Avec combien de systèmes, ...

Ça correspond à peu près à du 11, mais les portées sont beaucoup plus proches.

Les marges sont réduites au minimum. Je compare alors avec la
partition Breitkopf qui sert de modèle :
hauteur utile : 19 cm et 26 portées lisibles sur la page
LyliPond :
hauteur utile : 27 cm et 13 portées illisibles, tant les symboles
sont petits.

Qu'est-ce qui rend la partition Breitkopf si lisible et celle de
LilyPond pas ?

Parce que Breitkopf est en 11 et lilypond en 10, avec des distances énormes entre portées

N'existe-t-il pas un moyen de forcer un espace entre les portées d'un
système à une valeur maximum, ou toute autre méthode, pour obtenir
l'équivalent des partitions d'étude classiques.

Il n'y a pas de valeur maximale mais il faudrait diminuer la
"stretchability".

Donc soit :

\override VerticalAxisGroup #'next-staff-spacing =
   #'((stretchability . 0))

Encore un truc à essayer :wink:
Je viens de tenter "bottom-system-spacing = #'((space . 4) (padding . 1) (minimum-distance . 0) (stretchability . 0)) "
mais rien ne change

Soit jouer sur les valeurs de "space" et "minimum-distance"...
Une fois que tu as des valeurs qui vont bien, n'hésite pas à les
suggérer aux développeurs en expliquant le pourquoi (cf. ton problème
ci-dessus).

http://kainhofer.com/~lilypond/Documentation/notation/vertical-spacing-inside-a-system.html

Le problème, c'est qu'il faut 15 minutes pour une compilation - donc les essais sont peu nombreux ...

Merci de tous ces conseils, je vais les essayer un à un.

Amicalement,

Jean-François

\override VerticalAxisGroup #'next-staff-spacing =
   #'((stretchability . 0))

Encore un paramètre qui ne change rien :-/

Quant à system-count, c'est le désastre : si on le met à 2, il cherche à placer tout le morceau (les 26 pages) sur 2 systèmes ... ça devrait sans doute être préciser dans la doc :wink:

Soit jouer sur les valeurs de "space" et "minimum-distance"...

minimum-distance ne s'applique malheureusement qu'à la distance entre 2 systèmes : http://lilypond.org/doc/v2.12/Documentation/user/lilypond-internals/Scheme-functions

On va continuer à chercher ...

Bonne soirée,

Jean-François

2010/3/10 j-f.lucarelli <****@****> :

Encore un paramètre qui ne change rien :-/

Quant à system-count, c'est le désastre : si on le met à 2, il
cherche à placer tout le morceau (les 26 pages) sur 2 systèmes ...
ça devrait sans doute être préciser dans la doc :wink:

Ah oui, maintenant que tu le dis, il me semble que j'en avais fait
l'expérience aussi.

minimum-distance ne s'applique malheureusement qu'à la distance entre
2 systèmes :
http://lilypond.org/doc/v2.12/Documentation/user/lilypond-internals/Scheme-functions

Non, ce n'est pas ce que je comprends en lisant la doc que je t'avais
donnée en lien :
http://kainhofer.com/~lilypond/Documentation/notation/vertical-spacing-inside-a-system.html

Le "minimum-distance" en question est celui de

  \override VerticalAxisGroup #'next-staff-spacing =
    #'((space . 1) (minimum-distance . 1)

autrement dit entre les portées d'un même système. :wink:

Mets le dans un

   \layout {
     \context {
       \Staff
       \override VerticalAxisGroup #'next-staff-spacing =
         #'((space . 1) (minimum-distance . 1)
     }
   }

pour que ça s'applique à toutes les portées.
En fait il faut peut-être jouer sur le "padding" aussi.

Malheureusement je ne connais pas les valeurs par défaut et je ne sais
pas comment les trouver.
Ils pourraient les mettre dans la doc, comme c'était le cas avant.

Peut-être que quelqu'un de plus expérimenté (Nicolas ?) pourra te
conseiller à ce sujet.

On va continuer à chercher ...

Bonne chance,

Xavier

···

--
Xavier Scheuer <****@****>

minimum-distance ne s'applique malheureusement qu'à la distance entre
2 systèmes :
http://lilypond.org/doc/v2.12/Documentation/user/lilypond-internals/Scheme-functions

Non, ce n'est pas ce que je comprends en lisant la doc que je t'avais
donnée en lien :
http://kainhofer.com/~lilypond/Documentation/notation/vertical-spacing-inside-a-system.html

Le "minimum-distance" en question est celui de

\override VerticalAxisGroup #'next-staff-spacing =
   #'((space . 1) (minimum-distance . 1)

autrement dit entre les portées d'un même système. :wink:

Mets le dans un

  \layout {
    \context {
      \Staff
      \override VerticalAxisGroup #'next-staff-spacing =
        #'((space . 1) (minimum-distance . 1)
    }
  }

pour que ça s'applique à toutes les portées.
En fait il faut peut-être jouer sur le "padding" aussi.

Malheureusement je ne connais pas les valeurs par défaut et je ne sais
pas comment les trouver.
Ils pourraient les mettre dans la doc, comme c'était le cas avant.

Peut-être que quelqu'un de plus expérimenté (Nicolas ?) pourra te
conseiller à ce sujet.

Eh oui, je me rappelle avoir vu cette page, mais il y en a tant.

On va donc reprendre à zéro, ça semble être une bonne voie

Grand merci, et le reste pour demain

Jean-François

Elle me paraît très correcte moi, cette partition...

En ce qui concerne la page 7, je ne la trouve pas si choquante. Comme
l'a indiqué Xavier, de nouvelles propriétés ont été introduites dans
les toutes dernières versions, qui ne sont pas encore pleinement
documentées (voire pas du tout).

Bon courage !

Valentin

···

2010/3/10 Xavier Scheuer <****@****>:

http://www.espace-midi.com/lilypond/Serenade_Nr1M1.pdf

C'est déjà pas mal ! Bravo.

minimum-distance ne s'applique malheureusement qu'à la distance entre
2 systèmes :
http://lilypond.org/doc/v2.12/Documentation/user/lilypond-internals/Scheme-functions

Non, ce n'est pas ce que je comprends en lisant la doc que je t'avais
donnée en lien :
http://kainhofer.com/~lilypond/Documentation/notation/vertical-spacing-inside-a-system.html

Le "minimum-distance" en question est celui de

\override VerticalAxisGroup #'next-staff-spacing =
   #'((space . 1) (minimum-distance . 1)

autrement dit entre les portées d'un même système. :wink:

Mets le dans un

  \layout {
    \context {
      \Staff
      \override VerticalAxisGroup #'next-staff-spacing =
        #'((space . 1) (minimum-distance . 1)
    }
  }

pour que ça s'applique à toutes les portées.
En fait il faut peut-être jouer sur le "padding" aussi.

Malheureusement je ne connais pas les valeurs par défaut et je ne sais
pas comment les trouver.
Ils pourraient les mettre dans la doc, comme c'était le cas avant.

Peut-être que quelqu'un de plus expérimenté (Nicolas ?) pourra te
conseiller à ce sujet.

Voilà, ça fonctionne enfin. Cette instruction était bien cachée dans la doc, elle permet à peu près tout, y compris des portées collées les unes aux autres :wink:

Malheureusement, elle s'applique à tout un mouvement. Il y a certainement moyen de l'appliquer de manière différente à des portions plus petites, en jouant sur des voix différentes qui seraient associées, mais à chaque jour sa peine ...

Qui plus est, Lilypond ne vérifie pas la syntaxe : j'avais une faute dans 'stretchability' et Lilypond ne signalait rien - d'où plusieurs essais et beaucoup de temps perdu.

Voici les valeurs qui, pour le moment s'adaptent le mieux à mon cas :

staffSaMaFlote = \new Staff \with {
  \override VerticalAxisGroup #'next-staff-spacing = #'((space . 0.0) (padding . 0.0) (minimum-distance . 3.0) ( stretchability . 20.0))}
  {\voiceSaMaFlote}

Pour rappel, 13 portées par système, activation de RemoveEmptyStaffContext, set-global-staff-size = 11.2

Pour les premiers violons, j'ai placé (minimum-distance . 10.0) pour séparer les cordes du reste de l'orchestre.

Il me semble que la méthode pour arriver systématiquement au bon résultat est la suivante :

- Mettre tout à zéro :
  \override VerticalAxisGroup #'next-staff-spacing = #'((space . 0.0) (padding . 0.0) (minimum-distance . 0.0) ( stretchability . 0.0))}

- Vérifier qu'il ne reste pas des ^\ff ou autres signes dynamiques qui débordent de trop (ça se remarque aisément sur une partition compressée de la sorte)

- augmenter (ou diminuer) set-global-staff-size de sorte qu'il reste deux systèmes au moins par page

- augmenter minimum-distance de manière à garder la même pagination (2.5 est vraiment une valeur minimum)

- mettre stretchability à une valeur quelconque de sorte à remplir correctement la page.

Ceci est évidemment utile pour le format dit "partition d'étude" ou "study partition".
Pour la 'directrice', le set-global-staff-size est mis à minimum 18, RemoveEmptyStaffContext est désactivé et il n'y a qu'un système par page.

Merci à tous pour l'aide dans la résolution de ce délicat problème.

Jean-François