Mise en page régulière

Bonsoir,

Je cherche à contrôler ma mise en page irrégulière de Lilpond...

Je n'ai pas compris à quoi correspondent les 2 paramètres de la fonction
suivante :

\override VerticalAxisGroup #'Y-extent = #'(-3 . 3)

Pourquoi une extension a-t-elle deux valeurs ? Quel en serait le "centre" ?
Quelle est l'unité de valeur ?

Merci de votre aide,
Jean-Christophe

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Mise-en-page-reguliere-tp5137358p5137358.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

2010/6/4 Jean-Christophe D <****@****> :

Bonsoir,

Je cherche à contrôler ma mise en page irrégulière de Lilpond...

Aah, encore une question au sujet de l'espacement vertical des portées.
Je pense que c'est le sujet sur lequel il y a les plus de questions sur
cette liste... :stuck_out_tongue:

Je n'ai pas compris à quoi correspondent les 2 paramètres de la
fonction suivante :

\override VerticalAxisGroup #'Y-extent = #'(-3 . 3)

Bon, tout d'abord une mise au point :

  1. l'utilisation de VerticalAxisGroup #'Y-extent pour gérer
     l'espacement entre portées est propre aux versions 2.12 et
     antérieures ;
  2. pour les versions 2.13 et suivantes le système
     d'espacement vertical a complètement changé : la mise en page
     par défaut étant, dans la plupart des cas, bien meilleure ;
  3. par conséquent la manière de régler l'espacement vertical pour
     les versions 2.13 et ultérieures est complètement différente :
     consulter la doc 2.13 pour plus d'infos
     LilyPond Notation Reference: 4.4 Vertical spacing

Je vous conseillerais donc de passer à la 2.13 pour un meilleur réglage
de l'espacement vertical.

Pourquoi une extension a-t-elle deux valeurs ? Quel en serait le
"centre" ?
Quelle est l'unité de valeur ?

Cela dit je vais quand même répondre à tes questions.

'Y-extent détermine la "mesure" verticale de la portée (la "place
qu'elle occupe" selon l'axe Y), et donc par là même, l'espacement
*minimal* entre deux portées.
Les deux valeurs correspondent à la distance, respectivement vers le
bas (première valeur, négative) et vers le haut (seconde valeur,
positive), par rapport à la ligne centrale de la portée (le "0").
L'unité de valeur est le "staff-space", autrement dit la distance entre
deux lignes de la portée (la portée comporte 5 lignes horizontales,
celles-là).

Cordialement,
Xavier

···

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

...
Aah, encore une question au sujet de l'espacement vertical des portées.
Je pense que c'est le sujet sur lequel il y a les plus de questions sur
cette liste... :stuck_out_tongue:
...

C'est "peut-etre" le point faible de Lilypond (jsq'à v2.12...) ?
Et "peut-etre" que la doc est "légèrement" floue sur la question?!!!...
Il y a bcp d'exemples, mais non exhaustifs, et peu d'explication techniques
précises... (c'est en tout cas ce que je pense...)

'Y-extent détermine la "mesure" verticale de la portée (la "place
qu'elle occupe" selon l'axe Y), et donc par là même, l'espacement
*minimal* entre deux portées.
Les deux valeurs correspondent à la distance, respectivement vers le
bas (première valeur, négative) et vers le haut (seconde valeur,
positive), par rapport à la ligne centrale de la portée (le "0").
L'unité de valeur est le "staff-space", autrement dit la distance entre
deux lignes de la portée (la portée comporte 5 lignes horizontales,
celles-là).

Donc \Staff.VerticalAxisGroup #'Y-extent = #'(-3 . 3) par exemple,
ne donne pas la taille du système, mais seulement la taille d'UNE portée du
système ?

Mon but est cependant de fixer la taille de mes systèmes... pour pas qu'il
n'y en ait trop peu par page. J'aurais voulu un truc du genre :
   #'maximal-Y-extent
ou bien la possibiliter de forcer par exemple 4 systèmes par page... En
v2.13 ?...

Peut-etre puis-je forcer le nb de pages total au niveau de chaque Score (et
pas seulement globalement pour tout le Book) ? (pas encore essayé... Ce
soir...)

3. par conséquent la manière de régler l'espacement vertical pour
    les versions 2.13 et ultérieures est complètement différente :
    consulter la doc 2.13 pour plus d'infos
    LilyPond Notation Reference: 4.4 Vertical spacing

Je vous conseillerais donc de passer à la 2.13 pour un meilleur réglage
de l'espacement vertical.

C'est ma première partition importante, et j'ai passé tellement de temps à
trouver toutes les petites et grandes astuces, que changer de version avant
d'avoir terminé me donne des frissons...
La conversion est-elle simple et immédiate ?... (j'ai peur de la réponse )

Je vais qd-meme regarder le lien...

Merci beaucoup,
Jean-Christophe

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Mise-en-page-reguliere-tp5137358p5140238.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

== En réponse au message du 04-06-2010, 20:00:50 ==

C'est "peut-etre" le point faible de Lilypond (jsq'à v2.12...) ?
Et "peut-etre" que la doc est "légèrement" floue sur la question?!!!...
Il y a bcp d'exemples, mais non exhaustifs, et peu d'explication techniques
précises... (c'est en tout cas ce que je pense...)

C'est sans doute la "grande évolution" de la version 2.13, mais difficile de s'y retrouver dans la doc, que ce soit en français ou même en anglais.

3. par conséquent la manière de régler l'espacement vertical pour
    les versions 2.13 et ultérieures est complètement différente :
    consulter la doc 2.13 pour plus d'infos
    LilyPond Notation Reference: 4.4 Vertical spacing

On n'y parle malheureusement pas (ou ais-je mal vu ?) du paramètre "strechability" qui représente un must de LilyPond, au moins dans les partitions orchestrales : ce paramètre permet d'espacer certaines parties plus que d'autres, par exemple, le groupe des bois, des cuivres, des percussions et des cordes.

Le résultat est remarquable, mais souffre d'un bug gênant : la "strechability" concerne l'espace entre la portée concernée et la suivante. Malheureusement, quand on utilise le paramètre \RemoveEmptyStaffContext, la portée générant un espace plus important n'a plus aucun effet si elle est vide, et donc, retirée du calcul des espaces verticaux.

Mais difficile de générer un "exemple minimal" ...

Amicalement,

Jean-François

···

View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Mise-en-page-reguliere-tp5137358p5140238.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.
_______________________________________________
liste de diffusion lilypond-user-fr
lilypond-user-fr@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user-fr

========================================

C'est "peut-etre" le point faible de Lilypond (jsq'à v2.12...) ?
Et "peut-etre" que la doc est "légèrement" floue sur la question?!!!...
Il y a bcp d'exemples, mais non exhaustifs, et peu d'explication
techniques précises... (c'est en tout cas ce que je pense...)

Mmh, oui, et comme le diraient les développeurs et autres contributeurs
"help appreciated" : "si toi pas content toi pouvoir aider à rendre ça
meilleur !"... (c'est en tout cas ce que je pense...)

Donc \Staff.VerticalAxisGroup #'Y-extent = #'(-3 . 3) par exemple,
ne donne pas la taille du système, mais seulement la taille d'UNE
portée du système ?

Bah si tu diminues la place occupée par les portées au sein du système,
forcément ça diminuera la taille du système. :smiley:
Maintenant il y a aussi des variables pour l'espacement entre les
systèmes. Il y a toute une section de la doc à ce sujet.

Je ne vais pas m'amuser à répéter bêtement ce qui est dans la doc.
Commence par lire ces parties du manuel de notation (OK, c'est pas
co traduit, les traducteurs francophones manquent de moyens : temps
et humains...).
ENSUITE viens poser des questions sur ce que tu n'as pas compris.

  4.4 Vertical spacing
    4.4.1 Vertical spacing inside a system
    4.4.2 Vertical spacing between systems
    4.4.3 Explicit staff and system positioning
    4.4.4 Vertical collision avoidance

mais aussi

  4.6 Réduction du nombre de pages de la partition
    4.6.1 Mise en évidence de l’espacement
    4.6.2 Modification de l’espacement

Tu peux aussi définir toi-même les sauts de lignes, sauts de page :
  4.3 Breaks
changer la taille globale des portées : #(set-global-staff-size 18) ,

Mon but est cependant de fixer la taille de mes systèmes... pour pas qu'il
n'y en ait trop peu par page. J'aurais voulu un truc du genre :
#'maximal-Y-extent
ou bien la possibiliter de forcer par exemple 4 systèmes par page... En
v2.13 ?...

  \paper {
    system-count = #12
  }

mais attention, si mes souvenirs sont bons ce n'est pas par page, mais
*par \score* (erreur dans 2.12 fr).

Dans la 2.13 il y a :

  \paper {
    systems-per-page = #4
    % on peut utiliser aussi :
    % max-systems-per-page = #4
    % min-systems-per-page = #4
  }

et l'espacement entre les systèmes, au sein d'un système, au sein d'un
"sous-groupe" du système, entres les portées (aussi de manière
individuelle), entre les paroles, ... peut être réglé très très
finement (bref, les possibilités de réglages sont nombreuses).

Bon, plus de possibilités implique un peu plus de "complexité" dans la
mise en place (et plus de mal à comprendre comment ça fonctionne). :stuck_out_tongue:
Je rappelle que tout ceci est en *version de développement*, donc celui
qui veut déjà en profiter doit s'attendre à s'impliquer davantage pour
comprendre et accepter les éventuels défauts encore présents...

Peut-etre puis-je forcer le nb de pages total au niveau de chaque
Score (et pas seulement globalement pour tout le Book) ? (pas encore
essayé... Ce soir...)

Euh... sauf erreur de ma part

  \paper {
    page-count = #4
  }

définit le nombre de page _par score_ (et non par book).

C'est ma première partition importante, et j'ai passé tellement de
temps à trouver toutes les petites et grandes astuces, que changer
de version avant d'avoir terminé me donne des frissons...
La conversion est-elle simple et immédiate ?... (j'ai peur de la
réponse )

J'ai envie de dire oui mais sans avoir vu le fichier .ly ...
Les principaux changement sont au niveau de l'espacement vertical et
en ce qui concerne les règles de ligature automatique.
Mais la conversion n'est pas si compliquée normalement.
Joins ton fichier si tu as besoin d'aide.

Cordialement,
Xavier

···

2010/6/4 Jean-Christophe D <****@****>:

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

2010/6/4 j-f.lucarelli <****@****> :

On n'y parle malheureusement pas (ou ais-je mal vu ?) du paramètre
"strechability" qui représente un must de LilyPond, au moins dans
les partitions orchestrales : ce paramètre permet d'espacer
certaines parties plus que d'autres, par exemple, le groupe des bois,
des cuivres, des percussions et des cordes.

L'explication de "strechability" est ici.
http://lilypond.org/doc/v2.13/Documentation/notation/page-formatting#vertical-dimensions
Je suis bien d'accord que la doc au sujet du nouveau système
d'espacement vertical nécessite encore d'être "étoffée", mieux
expliquée (avec des exemples bien choisis etc.)... et réorganisée !

Le résultat est remarquable, mais souffre d'un bug gênant : la
"strechability" concerne l'espace entre la portée concernée et la
suivante. Malheureusement, quand on utilise le paramètre
\RemoveEmptyStaffContext, la portée générant un espace plus important
n'a plus aucun effet si elle est vide, et donc, retirée du calcul des
espaces verticaux.

Je ne vois pas pourquoi ce serait "un bug gênant". Au contraire,
selon moi, c'est tout à fait logique et même souhaitable : pourquoi
voudrait-on garder un espace dû à une portée _qui n'existe plus_ !?

Si tu utilises la "strechability" de la dernière portée d'un groupe
ou sous-groupe pour gérer l'espacement entre ce groupe (bois, cuivres,
percussions ou cordes par exemple) et le suivant (groupe ou autre)
[d'où le problème lorsque cette dernière portée "disparaît" avec
\RemoveEmptyStaffContext ], je t'informe officiellement que tu devrais,
il me semble, utiliser plutôt "StaffGrouper"...

  \override StaffGrouper #'after-last-staff-spacing #'space = #8

http://lilypond.org/doc/v2.13/Documentation/notation/vertical-spacing-inside-a-system

Ou bien j'ai mal compris tes intentions, auquel cas une explication
plus précise serait souhaitable (à défaut d'un exemple minimal).
Tu peux aussi m'envoyer une page PDF où on peut voir le problème en
question.

Cordialement,
Xavier

···

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

Bonjour,

Mmh, oui, et comme le diraient les développeurs et autres contributeurs
"help appreciated" : "si toi pas content toi pouvoir aider à rendre ça
meilleur !"... (c'est en tout cas ce que je pense...)

Cela viendra... pour le moment je me considère encore en "apprentissage", et
pas encore à la hauteur pour vous aider... Si je vois une question dans mes
corde, j'essaie de répondre. En général, c'est assez simple (pour vous...)

> Donc \Staff.VerticalAxisGroup #'Y-extent = #'(-3 . 3) par exemple,
> ne donne pas la taille du système, mais seulement la taille d'UNE
> portée du système ?
Bah si tu diminues la place occupée par les portées au sein du système,
forcément ça diminuera la taille du système. :smiley:

Déjà essayé, cela donne des portées plus aérées (trop...)

Maintenant il y a aussi des variables pour l'espacement entre les
systèmes. Il y a toute une section de la doc à ce sujet.
GNU LilyPond Notation Reference: 4.4.2 Vertical spacing between systems

Déjà lu et testé en long et en large...

Je ne vais pas m'amuser à répéter bêtement ce qui est dans la doc.
Commence par lire ces parties du manuel de notation (OK, c'est pas
co traduit, les traducteurs francophones manquent de moyens : temps
et humains...).
ENSUITE viens poser des questions sur ce que tu n'as pas compris.

DEJA lu et testé en long, en large et en profondeur...
Je posais justement une question pour comprendre un peu mieux ce que je
n'avais pas compris tout à fait...

  4.4 Vertical spacing
    4.4.1 Vertical spacing inside a system
    4.4.2 Vertical spacing between systems
    4.4.3 Explicit staff and system positioning
    4.4.4 Vertical collision avoidance
mais aussi
  4.6 Réduction du nombre de pages de la partition
    4.6.1 Mise en évidence de l’espacement
    4.6.2 Modification de l’espacement

La réduction du nombre de pages de la partition donne qq-chose d'affreux :
tout est quasiment comme si de rien d'était, et toute la fin de la partition
est... sur la dernière ligne de la dernière page. Ou la dernière page est
toute compressée pour y faire tout tenir.

Tu peux aussi définir toi-même les sauts de lignes, sauts de page :
  4.3 Breaks
changer la taille globale des portées : #(set-global-staff-size 18) ,

Mes sauts de lignes sont tous définis, s'agissant d'une repro.
Mais avec ou sans, mon pb reste.

> Mon but est cependant de fixer la taille de mes systèmes... pour pas
qu'il
> n'y en ait trop peu par page. J'aurais voulu un truc du genre :
> #'maximal-Y-extent
> ou bien la possibiliter de forcer par exemple 4 systèmes par page... En
> v2.13 ?...

  \paper {
    system-count = #12
  }

mais attention, si mes souvenirs sont bons ce n'est pas par page, mais
*par \score* (erreur dans 2.12 fr).

Non, sans parler de la doc, mon expérience m'indique que \paper s'applique a
\book et \bookpart (un \score peut commencer en milieu de page, suite au
\score précédent, et l'on ne peut modifier la définition du papier en milieu
de page...). Je n'ai pas essayé de mettre une balise \paper A L'INTERIEUR
d'un \score... Ce n'est pas du tout présenté ainsi dans les docs, et cela
semble illogique.

Dans la 2.13 il y a :
  \paper {
    systems-per-page = #4
    % on peut utiliser aussi :
    % max-systems-per-page = #4
    % min-systems-per-page = #4
  }

:o))) CA C'EST GENIAL !!! Rien que pour cela, dès que j'aurais une version
potable en v2.12, je serai tenté de passer en V2.13 !

et l'espacement entre les systèmes, au sein d'un système, au sein d'un
"sous-groupe" du système, entres les portées (aussi de manière
individuelle), entre les paroles, ... peut être réglé très très
finement (bref, les possibilités de réglages sont nombreuses).

En V2.12, pratiqument tous les réglages de hauteur sont des minima, pas de
maxima, et trop peu de réglages fixes (ex: #'minimum-Y-extent existe, mais
on lit au paragraphe #'Y-extent qu'il s'agit également d'un minimum...)
Si la V2.13 introduit les Maxima, et les valeurs vraiment fixes, c'est une
vraie plus-value !

Euh... sauf erreur de ma part
  \paper {
    page-count = #4
  }
définit le nombre de page _par score_ (et non par book).

Non, si l'on a deux scores de 3 pages chacuns, les deux (la totalité) seront
resserrés sur 4 pages.

> La conversion est-elle simple et immédiate ?... (j'ai peur de la
> réponse )
J'ai envie de dire oui mais sans avoir vu le fichier .ly ...
Les principaux changement sont au niveau de l'espacement vertical et
en ce qui concerne les règles de ligature automatique.
Mais la conversion n'est pas si compliquée normalement.
Joins ton fichier si tu as besoin d'aide.

Avec du chant, je dois forcer ou interdire un certain nombre de ligatures
automatiques...
Je fignolerai donc ma v2.12, puis vous recontacterai si j'ai des pb pour
passer en v2.13 !

SEULES QUESTIONS DU JOUR :
- Techniquement, pour monter de version, doit-on désinstaller la version
précédente ?
- Peut-on repasser facilement à la version précédente ?
( - Peut-on avoir deux versions sur le meme PC ? (semble difficile...) )

Merci beaucoup,
Jean-Christophe

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Mise-en-page-reguliere-tp5137358p5148740.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Jean-Christophe D wrote:

SEULES QUESTIONS DU JOUR :
- Techniquement, pour monter de version, doit-on désinstaller la version
précédente ?
- Peut-on repasser facilement à la version précédente ?
( - Peut-on avoir deux versions sur le meme PC ? (semble difficile...) )

il faut indiquer où on veut installer la nouvelle version - personellement
j'installe (sous Windows) la nouvelle version dans le dossier C:\program
files\lilypond (après avoir renommé l'ancien fichier lilypond en C:\program
files\lilypond2.12.3, par exemple).

la nouvelle version sera alors choisie en première ligne si on invoque
lilypond avec la commande simple lilypond.

pour invoquer une ancienne version il faudra utiliser "c:\Program
Files\LilyPond2.12.3\usr\bin\lilypond[.exe]" … (attention aux
guillemets!)

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Mise-en-page-reguliere-tp5137358p5148937.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Eluze wrote:

pour invoquer une ancienne version il faudra utiliser "c:\Program
Files\LilyPond2.12.3\usr\bin\lilypond[.exe]" … (attention aux
guillemets!)

Les "..." représentent alors seulement le nom du fichier (avec son chemin
complet et entre guillemets) ?
Ou y a-t-il tout plein de paramètre à connaitre (j'avoue n'avoir pas regardé
ce chapitre...) ?

A lancer dans la fenetre Run de Windows, peut-on/doit-on le lancer depuis
l'émulateur DOS ("cmd") ?

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Mise-en-page-reguliere-tp5137358p5153661.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Jean-Christophe D wrote:

Eluze wrote:

pour invoquer une ancienne version il faudra utiliser "c:\Program
Files\LilyPond2.12.3\usr\bin\lilypond[.exe]" … (attention aux
guillemets!)

Les "..." représentent alors seulement le nom du fichier (avec son chemin
complet et entre guillemets) ?
Ou y a-t-il tout plein de paramètre à connaitre (j'avoue n'avoir pas
regardé ce chapitre...) ?

A lancer dans la fenetre Run de Windows, peut-on/doit-on le lancer depuis
l'émulateur DOS ("cmd") ?

de préférence dans le box dos, comme-ça on peut regarder le log (sinon il
disparait tout de suite)

on peut utiliser le chemin du fichier entier ou acceder au fichier (avec cd)
et ensuite on invoque lilypond avec le nom tout court

lilypond (sans paramètre) montre les paramètres possibles

on peut dérouter le log dans un fichier de cette manière:

lilypond test.ly 2>test.log

les guillemets sont nécessaires que lorsqu'il y a des charactères spéciaux,
par exemple: lilypond "my test file.ly"

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Mise-en-page-reguliere-tp5137358p5153729.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.