lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Nombres de systèmes par page (2.10 -> 2.11)


From: discussions-sur-forums
Subject: Re: Nombres de systèmes par page (2.10 -> 2.11)
Date: Tue, 22 Jan 2008 07:19:43 +0100
User-agent: Thunderbird 2.0.0.9 (Windows/20071031)

Remarques et proposition dans le texte.

Nicolas Sceaux a écrit :

Quant à l'avantage du système de référence des numéros de page et des tables de matières en une seule compilation je suis assez mitigé. Il est, à mon humble avis, préférable d'avoir un nombre de système par page cohérent (et non résultant d'une vague estimation) plutôt que de "gagner" une compilation.
Je vois mal qu'un algorithme puisse être meilleur qu'un calcul *rigoureux*...

J'ai oublié un détail dans mon explication. Le nouvel algo
ly:optimal-page-breaking utilise des estimations des hauteurs
car il effectue à la fois le calcul des sauts de lignes *et*
des sauts de pages (c'est ça la raison première, les autres,
étirement et table des matières, ne sont que des conséquences)
Sur les forums lilypond, quand on voit la diversité des partitions, j'ai du mal à imaginer qu'un algorithme qui procède par des estimations, puisse donner un résultat correct dans tous les cas.
C'est-à-dire qu'il pourra tasser un peu plus les notes pour faire
tout rentrer sur une page quand l'ancien algo optimal-page-breaks
débordera sur deux pages.
Il ne faudrait pas que tout soit trop tassé? ou mettre une option de tassement?

Je suis d'accord pour dire que le nouvel algo est perfectible, et
n'atteint peut-être pas la qualité de l'ancien dans certains cas
(en particulier des systèmes à plusieurs portées).
Effectivement, essayant de faire de gros livres de musique, avec des systèmes à plusieurs portées, mais sans table des matières, je n'ai pas trouvé d'algorithme lilypond de mise en page qui donne des résultats corrects. Je m'explique. Ces livres sont constitués de multiples scores (plusieurs centaines), chaque score fait de 1 à 5 pages. Ils sont presque tous séparés par des sauts de page, ce qui *doit* simplifier grandement la mise en page. Voici pourquoi.

Actuellement, voici ce qui se passe classiquement avec tous les algorithmes, lors de la construction des livres score par score:

1) premier score: mise en page OK
2) saut de page, puis deuxième score: mise en page généralement OK
3) saut de page puis troisième score: dans le pdf, les deux derniers seront OK... mais la mise en page du premier score est chamboulée, la plupart du temps le nombre de système par page est réduit!! voire un seul système par page. 4) saut de page puis quatrième score: le premier score est OK, ce sont les 2ème et 4ème sont le nombre de systèmes par page a été réduit. 5) ... et ainsi de suite. En résumé, je fait une mini-modification au 31ème score, la mise en page du 7ème est changée.

Or un principe des logiciels de mise en page de quoi que ce soit, musique y compris, est le suivant:

<< Quand on insère un saut de page, cela *scelle* la mise en page du contenu précédent ce saut de page. >>

L'exception est le nombre de pages de la table des matières, si elle se situe au début du document. Et encore là, les logiciels procèdent comme suit: 1) construction de la table avec des numéros bidons pour réserver le nombre de pages de la table 2)
mise à jour de ces numéros. Donc le principe ci-dessus reste valable.

D'ailleurs, tu évoquais plus haut la complexité des algorithmes de mise en page de bouquins entiers: par expérience personnelle d'écriture de plusieurs logiciels de mises en pages dans d'autres contextes, mais valables ici, tu pourras nettement réduire la complexité de ces algorithmes, et donc les besoins en RAM et processeurs, en utilisant le principe évoqué ci-dessus. Plus précisément l'idée qu'utilisent les logiciels existants est, au lieu de mettre en page d'un coup tout le livre, il suffit de mettre en page ce qui est situé entre deux sauts de page consécutifs indépendemment du reste. Puis de boucler ainsi sur les sauts de page. Chacun de ces mini-livres demande bien moins de ressources à mettre en page. Même *mieux*: la quantité de ressources pour mettre en pages un livre de 1000 pages avec des sauts de pages toutes les 5 ou 10 pages n'est pas très supérieure à la quantité de ressources nécessaires pour mettre en page 10 pages et non PAS 1000! On a gagné un voire deux ordres de grandeur de ressources. Le truc génial, c'est qu'alors *on peut se permettre d'optimiser* son algorithme de mise en page comme on n'aurait pas pu le faire sinon. Ensuite côté utilisateur, on apprend à mettre les sauts de page là où il faut, suivant le contenu du livre, mais aussi suivant les ressources machine dont on dispose. (c'est valable pour de nombreux logiciels de mise en page, gratuits comme payants.) Bon, il faut que j'y aille.
   À ta disposition pour tout renseignement.

Mais son potentiel
est bien plus élevé, il demande juste à être tournevissé pour être
plus efficace. Pour cela, il faut l'utiliser et reporter des bugs ou
proposer des patches.
Cf ci-dessus.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]