----- Original Message -----
Sent: Saturday, May 24, 2008 3:48
PM
Subject: Re: layout commun à plusieurs
scores
1. Est-il possible d'avoir d'une part un \layout local à chaque
\score, où je ne modifierais que la valeur de \indent, et d'autre part
toutes les modifications de contexte réunies dans un autre bloc \layout,
global, qui ne serait interprété qu'une seule fois, et qui s'appliquerait à
tous les \score ?
Oui.
Il suffit de mettre un \layout (ou plusieurs ),
en dehors du bloc \score et un \layout à l'intérieur de chaque
\score.
par exemple :
%%%%%%%
\layout
{ \context {
\ChoirStaff
\consists Instrument_name_engraver
\override InstrumentName
#'self-alignment-X = #LEFT }
\context { \Score
\remove Bar_number_engraver }
\context {
\Staff
\remove Time_signature_engraver
\override InstrumentName #'self-alignment-X = #RIGHT
}
} % layout commun à tous
les Score
\score
{
\score \patati %
1er
\layout { \indent = 60\mm } %
layout valable uniquement que pour ce score
}
\score
{
\score \patata % 2ème
\layout { \indent = 50\mm
}
}
%%%%%%%%
Pour chaque \score, Lilypond collecte tous les
\layout accessibles qu'il a rencontrés pour en faire un seul et
unique.
NB : le \book est optionnel si on veut un
seul pdf en sortie.
2. A défaut d'une unique interprétation, et pour économiser au moins la
frappe, quelle syntaxe employer pour réunir toutes les modifications de
contexte dans une "macro symbolique", à appeler dans chaque \layout local ? (à
la manière d'un #define en C, qui est appliqué au source avant la
compilation)
J'ai appris il y a
quelques jours qu'on peut utiliser les \layout dans une variable, avec
quelques restrictions.
Je te renvoie à la
discussion qui a eu lieu sur la liste anglaise :
3. Autre approche : peut-on "surcharger" les définitions par défaut des
contextes \ChoirStaff, \Score, \Staff une fois pour toutes (càd à
l'échelle du fichier) (ce qui éviterait d'avoir à le rappeler pour chq
\score) ? Ou peut-être faut-il créer des alias de ces contextes
(\MyChoirStaff, \MyScore, \MyStaff) et les utiliser dans la définition de
des systèmes ?
Encore une fois oui.
On peut ainsi se faire des fichiers d'inclusions
(qu'on appelle avec la commande \include), définissant des contextes
personnalisés, dérivés des Staff , Score et consoeurs.
Gilles
Je vais "investiguer"...