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

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

Re: Description erronée de la commande book


From: Ben
Subject: Re: Description erronée de la commande book
Date: Sun, 12 Mar 2023 21:02:06 +0100



Le 12 mars 2023 à 00:00, Jean Abou Samra <jean@abou-samra.fr> a écrit :



Le 11 mars 2023 à 14:32, Ben <ben@eulogia.ch> a écrit :

Bonjour Jean, 

Merci pour votre réponse. 

Je faisais allusion à ce texte:

"Lorsqu’un fichier ne comprend qu’un bloc \score, celui-ci est implicitement inclus dans un bloc \book. Le bloc \book d’un fichier source permet la production d’au moins un fichier dont le nom sera, par d ́efaut, d ́eduit du fichier source : le traitement de fandangopourelephants.ly produira donc fandangopourelephants.pdf. " 



Désolé d’être contrariant, mais je ne vois pas le problème dans ce paragraphe. Le code

variable = { c' }
\score { { \variable \variable } }

est bien (sauf dans certains contextes particuliers comme à l’intérieur de lilypond-book) équivalent à

variable = { c' }
\book { \score { { \variable \variable } } }

Ce n’est juste pas équivalent à

\book {
variable = { c' }
\score { { \variable \variable } }
}

Dans votre exemple, vous avez raison, mais si je prends cet autre exemple, cela rend la proposition erronée: 

\version "2.25.1"

\bookpart { \markup "" }

var = "coucou"

\bookpart { \score { \relative c { c d e } } }


Ici, je n'ai bien qu'un seul bloc \score, mais dès lors que j'aimerais rendre le \book explicite, cela va retourner soit une erreur, soit un résultat différent. 


e
t combiné au nom "\bookpart", qui laisserait entendre qu'un \book peut avoir plusieurs \bookpart, alors qu'en fait le \bookpart est au final indépendant du \book. 


Je ne comprends pas ce que vous voulez dire, qu’entendez-vous par « indépendant du \book » ?

Un \book peut absolument avoir plusieurs \bookpart, je ne saisis pas la raison pour laquelle vous pensez le contraire.

Dans l'exemple précédent les \bookpart n'appartiennent en réalité à aucun \book, puisque je ne peux mettre l'instruction \book sans changer le résultat. 


Une possibilité serait de mettre tout le \bookpart dans une variable et d'avoir cela: 

\book
{
\bookpart { \ViolonIMouvementI }
\bookpart { \ViolonIMouvementII }
\bookpart { \ViolonIMouvementIII }
}


Oui, tout à fait.


Sauf que j'ai des "book conceptuels" qui contiennent facilement une centaine de \bookpart, les bookpart se partagent les mêmes structures de header / paper / layout, etc, d'où la grande utilité de ne changer que quelques variables entre chaque bookpart au lieu de réécrire cent fois la même page de code.


Je ne comprends pas la contradiction avec le code ci-dessus. Je pense qu’il me manque trop de contexte sur votre travail. Pourriez-vous détailler un peu comment vous vous y prenez ou donner un exemple de code ?

Je vais essayer: 

*) Soit 3 chants, Chant1.ly, Chant2.ly, Chant3.ly, etc. avec tous la même structure:

\version "2.25.1"
Deroulement = << \new Staff << \relative c { c d e } >> >>
\include "Modele.ily"


*) Soit le fichier Modele.ily avec la structure suivante:

Modele.ily
\bookpart { \score { \Deroulement } }


*) Je peux donc travailler chaque chant de manière indépendante et si je veux un recueil de tous les chants, il suffit de faire cela:

\version "2.25.1"
\include "chant1.ly"
\include "chant2.ly"
\include "chant3.ly"

=> grâce au \bookpart, chaque chant s'intègre directement au recueil. 

Mais là de nouveau, l'instruction \book ne peut être placée nulle part, alors que de facto, Recueil.ly est un book. 




Pour ces gros books conceptuels, j'ai pris le temps de développer des scripts shell et python, qui utilisent même une compilation optionnelle via un \include. 


Pour le quatuor, j'ai trouvé plus rapide et plus pratique de tout mettre dans un seul fichier pdf, cela fait juste un peu bizarre d'avoir des parties qui commencent aux pages 28, 38, etc. (vu qu'on ne peut pas non plus facilement redéfinir les numéros de page), mais cela permet aussi une table des matières sur le tout, c'est donc un compromis que je trouve acceptable.


Par « tout mettre dans un seul fichier PDF », est-ce que vous voulez dire « faire un \book » ou bien « combiner plusieurs fichiers PDF générés par LilyPond en un seul fichier à l’aide d’un outil externe » ?

Je voulais dire "faire un \book". 


Pour les numéros de pages, connaissez-vous les variables \paper first-page-number et bookpart-level-page-numbering ?

Ah merci, je ne connaissais pas la deuxième et c'est vrai qu'elle me permettrait d'y arriver, mais de manière assez compliquée:

Car un carnet peut comporter jusqu'à 5 \bookpart, cela veut dire que je ne peux pas juste définir le premier à 1, il faut que je calcule la page de départ pour chaque bookpart de chaque carnet, donc une vingtaine de chiffres à écrire en dur, ce n'est pas très élégant, mais faisable. 


Au plaisir, 

Ben


reply via email to

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