@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: eae48078889d9cd100165deb7c5c0769f954850b
+ Translation of GIT committish: 95b372c451ea1586db8db66d3d00334382e8e103
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.15.17"
+@c \version "2.16.0"
@c Translators: Jean-Charles Malahieude, Valentin Villenave
mais plutôt du contenu des fichiers source et du résultat produit par
LilyPond.
-
@menu
* Agencement du code::
* Titres et entêtes::
* Extraction d'informations musicales::
@end menu
+
@node Agencement du code
@section Agencement du code
@translationof Input structure
@funindex \score
Un bloc @code{\score} contient obligatoirement une seule expression
-musicale délimitée par des accolades@tie{}:
+musicale délimitée par des accolades :
@example
\score @{
Cette unique expression musicale peut être de n'importe quelle taille et
contenir d'autres expressions musicales aussi complexes soient elles.
-Voici quelques exemples d'expression musicale@tie{}:
+Voici quelques exemples d'expression musicale :
@example
@{ c'4 c' c' c' @}
Lorsqu'un fichier ne comprend qu'un bloc @code{\score}, celui-ci est
implicitement inclus dans un bloc @code{\book}. Le bloc @code{\book}
d'un fichier source permet la production d'au moins un fichier dont le
-nom sera, par défaut, déduit du fichier source@tie{}: le traitement de
+nom sera, par défaut, déduit du fichier source : le traitement de
@file{fandangopourelephants.ly} produira donc
@file{fandangopourelephants.pdf}.
@}
@end example
-Attention cependant si vous travaillez avec lilypond-book@tie{}: il vous
+Attention cependant si vous travaillez avec lilypond-book : il vous
faudra explicitement mentionner le bloc @code{\book}, en l'absence de
quoi seul le premier @code{\score} ou @code{\markup} apparaîtra après
traitement.
-L'entête de chaque pièce peut se placer au sein du bloc
-@code{\score}@tie{}; le contenu du champ @code{piece} viendra s'imprimer
-avant chaque mouvement. De même, le titre de l'ouvrage peut se placer
-au sein du bloc @code{\book}. Dans le cas contraire, le contenu du bloc
+L'entête de chaque pièce peut se placer au sein du bloc @code{\score} ;
+le contenu du champ @code{piece} viendra s'imprimer avant chaque
+mouvement. De même, le titre de l'ouvrage peut se placer au sein du
+bloc @code{\book}. Dans le cas contraire, le contenu du bloc
@code{\header} placé en début de fichier sera utilisé.
@example
@funindex \bookpart
-Plusieurs pièces seront regroupées dans un même @qq{chapitre} à l'aide
-d'un bloc @code{\bookpart}. Ces différents @qq{chapitres} sont séparés
+Plusieurs pièces seront regroupées dans un même « chapitre » à l'aide
+d'un bloc @code{\bookpart}. Ces différents « chapitres » sont séparés
par un saut de page et peuvent comporter un titre à l'instar de
l'ouvrage dès lors que vous y insérez un bloc @code{\header}.
@}
@end example
-génèrera
+générera
@itemize
@item
@end example
La déclaration @code{\bookOutputName} vous permet de définir vous-même
-le nom du fichier généré pour un bloc @code{\book}@tie{}:
+le nom du fichier généré pour un bloc @code{\book} :
@example
\book @{
@}
@end example
-Le traitement de ce fichier produira@tie{}:
+Le traitement de ce fichier produira :
@itemize
@item
@funindex \book
@funindex \bookpart
-Un fichier @code{.ly} peut contenir un certain nombre d'expression de
-haut niveau. Les expressions de haut niveau sont les suivantes@tie{}:
+Un fichier @code{.ly} peut contenir un certain nombre d'expressions de
+haut niveau. Les expressions de haut niveau sont les suivantes :
@itemize
@item
Une définition de sortie, comme @code{\paper}, @code{\midi} et
@code{\layout}. Ces définitions, lorsqu'elles se trouvent à un niveau
supérieur, s'appliqueront à l'intégralité de l'ouvrage. Si l'une de ces
-expression apparaît à plusieurs reprises, la dernière aura préséance.
+expression apparaît à plusieurs reprises à un niveau supérieur, les
+différents contenus seront combinés, à ceci près qu'en cas de
+déclarations conflictuelles, la dernière aura préséance. Des
+informations complémentaires sont disponibles à la rubrique
+@ref{Le bloc \layout}.
@item
-Une expression scheme pure, telle que
-@w{@code{#(set-default-paper-size@tie{}"a7"@tie{}'landscape)}} ou
-@w{@code{#(ly:set-option@tie{}'point-and-click@tie{}#f)}}.
+Une expression Scheme pure, telle que
+@w{@code{#(set-default-paper-size "a7" 'landscape)}} ou
+@w{@code{#(ly:set-option 'point-and-click #f)}}.
@item
-Un bloc @code{\header}, dont le contenu sera de portée globale -- ce qui
-est le cas en général pour le titre ou l'auteur entre autres.
+Un bloc @code{\header}, dont le contenu sera valide pour tout le
+fichier. Il comporte en général les valeurs par défaut des champs de
+titrage, tels le titre ou l'auteur entre autres, communs à tous les
+blocs @code{\book} inclus dans le fichier -- voir
+@ref{Généralités en matière de titrages}.
@item
Un bloc @code{\score} pour la partition. Cette partition sera assemblée
avec les autres partitions se trouvant au même niveau pour composer le
@code{\book}. Vous pouvez modifier ce comportement à l'aide de la
-variable @code{toplevel-score-handler} placée en tête.
-@ignore
-@c FIXME - I cannot read "toplevel-score-handler" in scm/lily.scm -jcm
-The default handler is defined in the init file @file{../scm/lily.scm}.
-@end ignore
+variable @code{toplevel-score-handler} placée en tête. Le gestionnaire
+par défaut est défini dans le fichier d'initialisation
+@file{../scm/lily.scm}.
@item
Un bloc @code{\book} permet de regrouper naturellement plusieurs
mouvements -- autrement dit plusieurs blocs @code{\score} -- dans un
-même document. Lorsqu'il y a plusieurs @code{\score}s, LilyPond génère
+même document. Lorsqu'il y a plusieurs @code{\score}, LilyPond génère
un seul fichier dans lequel les mouvements sont mis les uns à la suite
des autres, ce pour chacun des blocs @code{\book} rencontrés. La seule
raison qui peut vous demander d'expliciter plusieurs blocs @code{\book}
dans un fichier @file{.ly} est lorsque vous avez besoin de générer
différents documents à partir d'une même source. La présence explicite
d'un bloc @code{\book} est aussi nécessaire lorsque vous travaillez sur
-un document lilypond-book qui reprendrait plusieurs @code{\score}s ou
-@code{\markup}s dans un même extrait. Vous pouvez modifier ce
+un document lilypond-book qui reprendrait plusieurs @code{\score} ou
+@code{\markup} dans un même extrait. Vous pouvez modifier ce
comportement à l'aide de la variable @code{toplevel-book-handler}
-placée en tête.
-@ignore
-@c FIXME - I cannot read "toplevel-book-handler" in scm/lily.scm -jcm
-The default handler is defined in the init file @file{../scm/lily.scm}.
-@end ignore
+placée en tête. Le gestionnaire par défaut est défini dans le fichier
+d'initialisation @file{../scm/lily.scm}.
@item
Un bloc @code{\bookpart}. Un ouvrage peut se découper en plusieurs
@end example
Ce bout de code sera placé dans un @code{\score} et intégré à l'ouvrage
-en même temps que tous les autres @code{\score}s ou expressions
+en même temps que tous les autres @code{\score} ou expressions
musicales. En d'autres termes, un fichier qui ne contiendrait que cette
simple expression musicale sera traduit en
@end example
Vous pouvez modifier ce comportement à l'aide de la variable
-@code{toplevel-music-handler} placée en tête.
-@ignore
-@c FIXME - I cannot read "toplevel-music-handler" in scm/lily.scm -jcm
-The default handler is defined in the init file @file{../scm/lily.scm}.
-@end ignore
+@code{toplevel-music-handler} placée en tête. Le gestionnaire par
+défaut est défini dans le fichier d'initialisation
+@file{../scm/lily.scm}.
@item
Du texte sous forme de @emph{markup} comme les paroles d'un couplet
@end example
Vous pourrez la réutiliser plus loin dans votre fichier en saisissant
-simplement @code{\toto}. Le nom des indentificateurs ne doit être
+simplement @code{\toto}. Le nom des identificateurs ne doit être
formés que de caractères alphabétiques -- sans chiffre ni caractère
souligné ou tiret.
@end itemize
-Voici trois éléments que vous pouvez placer à un niveau supérieur@tie{}:
+Voici trois éléments que vous pouvez placer à un niveau supérieur :
@example
\layout @{
@end example
Vous pouvez placer, n'importe où dans votre fichier, les instructions
-suivantes@tie{}:
+suivantes :
@itemize
@item @code{\version}
Vous pouvez insérer des espaces dans votre fichier source afin de lui
apporter une meilleure lisibilité. Les espaces superflus sont
normalement ignorés. Notez cependant qu'il est des cas où l'espace est
-requis pour éviter tout risque d'erreur@tie{}:
+requis pour éviter tout risque d'erreur :
@itemize
@item
-Autour d'une accolade, qu'elle soit ouvrant ou fermante ;
+Autour d'une accolade, qu'elle soit ouvrant ou fermante ;
@item
Après chaque commande ou variable, autrement dit tout élément qui
-commence par un@tie{}@code{\}@tie{};
+commence par un @code{\} ;
@item
Après tout élément qui sera interprété comme une expression Scheme,
-autrement dit tout élément qui commence par un @code{#}@tie{};
+autrement dit tout élément qui commence par un @code{#} ;
@item
-Pour séparer les éléments d'une expression Scheme ;
+Pour séparer les éléments d'une expression Scheme ;
@item
En mode parole -- @code{lyricmode} -- pour séparer les termes des
plus d'ajouter une espace avant et après l'intégralité de la commande,
vous devrez encadrer d'espaces le point et le signe égal qu'elle peut
contenir, comme dans
-@w{@code{\override Score . LyricText #'font-size = #5}}.
+@w{@code{\override Score . LyricText #'font-size = #5}}.
@end itemize
-
@seealso
Manuel d'initiation :
@rlearning{Organisation des fichiers LilyPond}.
+Manuel de notation :
+@ref{Généralités en matière de titrages},
+@ref{Le bloc \layout}.
+
@node Titres et entêtes
@section Titres et entêtes
@translationof Titles and headers
La plupart de la musique qui est éditée comporte un titre et le nom de
-son compositeur@tie{}; certains ouvrages divulguent beaucoup plus
-d'information.
+son compositeur ; certains ouvrages dispensent beaucoup plus
+d'informations.
@menu
* Création de titres et entête ou pied de page::
@translationof Creating titles headers and footers
@menu
-* Contenu des blocs de titrage::
-* Mise en forme par défaut des titrages::
+* Généralités en matière de titrages::
+* Mise en forme par défaut des titrages subalternes::
* Mise en forme par défaut des entête et pied de page::
@end menu
-@node Contenu des blocs de titrage
-@unnumberedsubsubsec Contenu des blocs de titrage
-@translationof Title blocks explained
+@node Généralités en matière de titrages
+@unnumberedsubsubsec Généralités en matière de titrages
+@translationof Titles explained
-@c TODO: figure out how \bookpart titles work
+Chaque bloc @code{\book} apparaissant dans un même fichier source
+résultera en un fichier indépendant, comme indiqué à la rubrique
+@ref{Structure de fichier}. Chacun de ces fichiers résultants
+comporte deux endroits où placer des titrages : les @strong{titrages
+de partie} au début de chaque partie (@emph{bookpart}) et les
+@strong{titrages de morceau} avant chaque pièce (@emph{score}). Tous
+deux peuvent comporter les mêmes champs bien que, par défaut, le titrage
+d'un morceau se limite à @code{piece} et @code{opus}.
-Il existe en fait deux types de blocs de titrage@tie{}: un bloc pour
-contenir le titre principal qui doit apparaître avant le tout premier
-@code{\score} d'un ouvrage, et un autre attaché à chacun des blocs
-@code{\score} qui le composent. Dans les deux cas, les champs qui
-composent un bloc de titrage se saisissent dans un bloc @code{\header}.
+Les blocs @code{\header} peuvent se placer à quatre endroits différents
+qui formeront une hiérarchie descendante :
-Lorsque l'ouvrage ne comporte qu'un seul morceau, le bloc @code{\header}
-peut se placer en dehors ou au sein même du bloc @code{\score}.
+@itemize
-Dans le cas où le bloc @code{\header} est défini à l'intérieur du bloc
-@code{\score}, seuls les champs @code{piece} et @code{opus} seront
-imprimés.
+@item
+En tête du fichier source, avant même tout bloc @code{\book},
+@code{\bookpart} ou @code{\score} ;
-@lilypond[papersize=a5,quote,verbatim,noragged-right]
-\score {
- { c'4 }
- \header {
- title = "title" % not printed
- piece = "piece"
- opus = "opus"
- }
-}
-@end lilypond
+@item
+Au sein d'un bloc @code{\book} et en dehors de tout bloc
+@code{\bookpart} ou @code{\score} qu'il contient ;
-@funindex print-all-headers
-@noindent
-Vous pouvez modifer ce comportement et imprimer tous les champs d'un
-bloc @code{\header} défini dans un bloc @code{\score} en ajoutant
+@item
+Au sein d'un bloc @code{\bookpart} et en dehors de tout bloc
+@code{\score} qu'il contient ;
-@example
-\paper@{
- print-all-headers = ##t
-@}
-@end example
+@item
+Après l'expression musicale incluse dans un bloc @code{\score}.
+
+@end itemize
+
+La valeur des différents champs sera filtrée en respectant cette
+hiérarchie ; les valeurs persisteront à moins d'être écrasées par une
+autre valeur à un niveau inférieur. Ainsi :
+
+@itemize
+@item
+Le titre d'une partie découle des champs définis en tête du fichier
+source, modifiés par les champs définis au sein du bloc @code{\book}
+puis par ceux définis au sein du bloc @code{\bookpart}. Les valeurs qui
+en résulteront permettront d'imprimer les titrages de partie pour cette
+partie.
+
+@item
+Le titre d'un morceau découle des champs définis en tête du fichier
+source, modifiés par les champs définis au sein du bloc @code{\book}
+puis par ceux définis au sein du bloc @code{\bookpart}, et enfin par
+ceux définis au sein du bloc @code{\score}. Les valeurs qui en
+résulteront permettront d'imprimer les titrages de morceau pour ce
+morceau. Notez toutefois que, pour un morceau, seuls les champs
+@code{piece} et @code{opus} seront imprimés, à moins d'avoir valorisé
+à @code{#t} la variable @code{print-all-headers} dans la section
+@code{\paper}.
+
+@end itemize
@warning{N'oubliez pas que lorsqu'il est placé à l'intérieur d'un bloc
@code{@bs{}score}, le bloc @code{@bs{}header} doit impérativement se
trouver @strong{à la suite} de l'expression musicale.}
+Nul n'est besoin de fournir un bloc @code{\header} à chacun des quatre
+niveaux ; on peut se passer aussi bien de l'un d'eux que de tous. Dans
+la même veine, un fichier source simpliste peut ne pas mentionner de
+bloc @code{\book} ou @code{\bookpart} qui seront alors créés
+implicitement.
+
+Lorsque l'ouvrage ne comporte qu'un seul morceau, le bloc @code{\header}
+devrait prendre place en tête de fichier, de telle sorte que soit produit
+un titrage de partie qui met à disposition tous les champs de titrage.
+
+Lorsque l'ouvrage comporte plusieurs morceaux, différents arrangements
+du bloc @code{\header} permettent d'obtenir différents styles de
+publication musicale. Par exemple, si la publication comprend plusieurs
+pièces du même compositeur, un bloc @code{\header} placé en tête de
+fichier définira le titre de l'ouvrage et le compositeur, que l'on
+complètera par un bloc @code{\header} dans chaque bloc @code{\score}
+pour définir les champs @code{piece} et @code{opus}, comme ici :
+
@lilypond[papersize=a5,quote,verbatim,noragged-right]
\header {
title = "SUITE I."
}
@end lilypond
-Tous les champs appartenant au titrage principal d'un ouvrage peuvent se
-reporter dans chaque bloc @code{\score} ou être supprimés
-manuellement@tie{}:
+Des agencements plus élaborés sont aussi réalisables. Par exemple, les
+champs appartenant au titrage principal d'un ouvrage peuvent se
+reporter dans chaque bloc @code{\score}, certains étant modifiés voire
+supprimés manuellement :
@c KEEP LY
@lilypond[papersize=a5,quote,verbatim,noragged-right]
\header {
title = "DAS WOHLTEMPERIRTE CLAVIER"
subtitle = "TEIL I"
- % Pas de pied en dernière page pour ce livret
+ % Pas de mention spéciale pour cet ouvrage
tagline = ##f
}
\markup { \vspace #1 }
@seealso
Manuel de notation :
@ref{Structure de fichier},
-@ref{Mise en forme personnalisée des blocs de titrage}.
+@ref{Mise en forme par défaut des titrages subalternes},
+@ref{Mise en forme personnalisée des titrages}.
-@node Mise en forme par défaut des titrages
-@unnumberedsubsubsec Mise en forme par défaut des titrages
-@translationof Default layout of book and score title blocks
+@node Mise en forme par défaut des titrages subalternes
+@unnumberedsubsubsec Mise en forme par défaut des titrages subalternes
+@translationof Default layout of bookpart and score titles
-La mise en forme des blocs de titrage est contrôlée par deux variables
-attachées au bloc @code{\paper}@tie{}: @code{bookTitleMarkup} pour le
-bloc @code{\header} principal, et @code{scoreTitleMarkup} pour les blocs
-@code{\header} relevant des blocs @code{\score}.
+Voici les différentes variables attachées au bloc @code{\header} :
@c KEEP LY
-@lilypond[papersize=a6,quote,verbatim,noragged-right]
-\header {
- % Les champs suivants sont centrés
- dedication = "Dédicace"
- title = "Titre"
- subtitle = "Sous-titre"
- subsubtitle = "Sous-sous-titre"
- instrument = "Instrument"
-
- % Les champs suivants sont alignés sur le bord gauche
- poet = "Librettiste"
- meter = "Tempo"
-
- % Les champs suivants sont alignés sur le bord droit
- composer = "Compositeur"
- arranger = "Arrangeur"
-}
-
-\score {
- { s1 }
+@lilypond[papersize=a7,quote,verbatim,noragged-right]
+\book {
\header {
- % Les champs suivants sont en opposition sur la même ligne
- piece = "Pièce"
- opus = "Opus"
+ % Les champs suivants sont centrés
+ dedication = "Dédicace"
+ title = "Titre"
+ subtitle = "Sous-titre"
+ subsubtitle = "Sous-sous-titre"
+ % Les champs suivants sont répartis sur une même ligne, et
+ % le champ "instrument" apparaîtra sur les pages suivantes
+ instrument = \markup \with-color #green "Instrument"
+ poet = "Librettiste"
+ composer = "Compositeur"
+ % Les champs suivants sont en opposition sur la même ligne
+ meter = "Tempo"
+ arranger = "Arrangeur"
+ % Les champs suivants sont centrés en bas de page
+ tagline = "« tagline » ou mention spéciale en pied de dernière page"
+ copyright = "copyright en pied de première page"
+ }
+ \score {
+ { s1 }
+ \header {
+ % Les champs suivants sont en opposition sur la même ligne
+ piece = "Pièce 1"
+ opus = "Opus 1"
+ }
+ }
+ \score {
+ { s1 }
+ \header {
+ % Les champs suivants sont en opposition sur la même ligne
+ piece = "Pièce 2 sur la même page"
+ opus = "Opus 2"
+ }
+ }
+ \pageBreak
+ \score {
+ { s1 }
+ \header {
+ % Les champs suivants sont en opposition sur la même ligne
+ piece = "Pièce 3 sur une nouvelle page"
+ opus = "Opus 3"
+ }
}
}
@end lilypond
-@c Is the bit about \null markups true? -mp
+Quelques précisions :
+
+@itemize
+@item
+Le nom de l'instrument sera répété en tête de chaque page.
+@item
+Seuls seront imprimés les champs @code{piece} et @code{opus} inclus dans
+un bloc @code{\score} dès lors que la variable @code{print-all-headers}
+reste désactivée (valeur à @code{##f}).
+
+@item
+@c Is the bit about \null markups true? -mp
Les champs d'un bloc @code{\header} qui n'auront pas été alimentés
seront remplacés par un @emph{markup} @code{\null} de façon à ne pas
gaspiller d'espace.
+@item
Par défaut, @code{scoreTitleMarkup} place les champs @code{piece} et
@code{opus} de part et d'autre sur une même ligne.
+@end itemize
+
+Les possibilités de modifier la mise en forme par défaut sont abordées à
+la rubrique @ref{Mise en forme personnalisée des titrages}.
+
@cindex breakbefore
La variable @code{breakbefore} activée dans un bloc @code{\header} situé
@rlearning{Organisation des fichiers LilyPond}.
Manuel de notation :
+@ref{Mise en forme personnalisée des titrages},
@ref{Structure de fichier}.
Fichiers d'initialisation :
@unnumberedsubsubsec Mise en forme par défaut des entête et pied de page
@translationof Default layout of headers and footers
-Les entête et pied -- @emph{headers} et @emph{footers} -- sont des
-lignes de textes qui apparaîssent en haut et en bas de chaque page,
+Les entête et pied -- @emph{header} et @emph{footer} -- sont des
+lignes de textes qui apparaissent en haut et en bas de chaque page,
indépendamment du texte de l'ouvrage. Ils sont contrôlés par les
-variables suivantes, attachées au bloc @code{\paper}@tie{}:
+variables suivantes, attachées au bloc @code{\paper} :
@itemize
@item @code{oddHeaderMarkup} -- entête de page impaire
Ces variables @emph{markup} n'accèdent qu'au contenu des champs du bloc
@code{\header} principal, celui qui s'appliquera à tous les blocs
@code{\score} du document. Ces variables sont définies dans le fichier
-@file{ly/titling-init.ly}, et sont par défaut@tie{}:
+@file{ly/titling-init.ly}, et sont par défaut :
@itemize
@item
les numéros sont placés en haut à gauche (si pair) ou à droite (si
-impair) de chaque page à compter de la deuxième@tie{};
+impair) de chaque page à compter de la deuxième ;
@item
le contenu du champ @code{instrument} est centré en haut de chaque page
-à compter de la deuxième@tie{};
+à compter de la deuxième ;
@item
-le texte du @code{copyright} est centré au bas de la première
-page@tie{};
+le texte du @code{copyright} est centré au bas de la première page ;
@item
le @code{tagline} -- mention spéciale -- se place au bas de la dernière
@node Titrages personnalisés
@subsection Titrages personnalisés
-@translationof Custom headers footers and titles
+@translationof Custom titles headers and footers
@c TODO: somewhere put a link to header spacing info
@c (you'll have to explain it more in NR 4).
@menu
* Mise en forme personnalisée des champs de titrage::
-* Mise en forme personnalisée des blocs de titrage::
+* Mise en forme personnalisée des titrages::
* Mise en forme personnalisée des entête et pied de page::
@end menu
@translationof Custom text formatting for title blocks
Toutes les commandes de mise en forme d'un @code{\markup} permettent de
-personnaliser le texte des entête, pied de page et éléments de titre
+personnaliser le texte des entête, pied de page et éléments de titrage
contenus dans un bloc @code{\header}.
@lilypond[quote,verbatim,noragged-right]
@ref{Mise en forme du texte}.
-@node Mise en forme personnalisée des blocs de titrage
-@unnumberedsubsubsec Mise en forme personnalisée des blocs de titrage
-@translationof Custom layout for title blocks
+@node Mise en forme personnalisée des titrages
+@unnumberedsubsubsec Mise en forme personnalisée des titrages
+@translationof Custom layout for titles
+
+@cindex bookTitleMarkup
+@cindex scoreTitleMarkup
+@funindex bookTitleMarkup
+@funindex scoreTitleMarkup
L'utilisation de commandes @code{\markup} au sein d'un bloc
@code{\header} permet de modifier aisément l'apparence du texte,
mais n'influence en rien le positionnement précis des éléments de
titrage. L'accès au positionnement des champs de titrage est géré par
-les deux variables suivantes, attachées au bloc @code{\paper}@tie{}:
+les deux variables suivantes, attachées au bloc @code{\paper} :
@itemize
@item @code{bookTitleMarkup}
@item @code{scoreTitleMarkup}
@end itemize
-Ces variables sont abordées à la rubrique
-@ref{Mise en forme par défaut des titrages}.
+Le positionnement des titres, avec les valeurs par défaut de ces
+variables @code{\markup}, est illustré à la rubrique
+@ref{Mise en forme par défaut des titrages subalternes}.
Voici les réglages par défaut de @code{scoreTitleMarkup}, tels que
-définis dans le fichier @file{ly/titling-init.ly}@tie{}:
+définis dans le fichier @file{ly/titling-init.ly} :
@example
scoreTitleMarkup = \markup @{ \column @{
@end example
Ceci aura donc pour effet de positionner les champs @code{piece} et
-@code{opus} sur la même ligne, en opposition@tie{}:
+@code{opus} sur la même ligne, en opposition :
@lilypond[quote,verbatim,noragged-right]
\score {
}
@end lilypond
-Voici comment positionner le champ @code{piece}, dont nous modifions
-la taille et la graisse, au centre de cette ligne@tie{}:
+Voici comment redéfinir le @code{scoreTitleMarkup} de telle sorte que le
+champ @code{piece}, dont nous modifions la taille et la graisse, se
+place au centre de cette ligne :
@lilypond[papersize=a5,quote,verbatim,noragged-right]
\book {
}
@end lilypond
-Les champs normalement réservés au bloc de titrage principal seront
-reportés au niveau au niveau inférieur dès lors que vous aurez activé
-l'instruction @code{print-all-headers} au sein du bloc @code{\paper}.
-Le principal inconvénient de cette fonction réside dans le fait que les
-champs réservés au bloc @code{\header} principal devront être supprimés
-dans chacun des blocs @code{\score} de votre fichier source -- voir
-@ref{Contenu des blocs de titrage}.
+Les champs normalement absents du @code{\header} d'un bloc @code{\score}
+seront toutefois imprimés dès lors que vous aurez activé l'instruction
+@code{print-all-headers} au sein du bloc @code{\paper}. Le principal
+inconvénient de cette fonction réside dans le fait que les champs
+dévolus au titrage des parties devront être supprimés dans
+chacun des blocs @code{\score} de votre fichier source -- voir
+@ref{Généralités en matière de titrages}.
Afin d'éviter ce désagrément, ajoutez le champ que vous désirez voir
apparaître à la définition de @code{scoreTitleMarkup}. Nous allons,
dans l'exemple suivant, ajouter au @code{scoreTitleMarkup} le champ
-@code{composer}, normalement associé au @code{bookTitleMarkup}@tie{};
-chaque @code{\score} pourra mentionner un compositeur différent.
+@code{composer}, normalement associé au @code{bookTitleMarkup} ;
+chaque @code{\score} pourra alors mentionner un compositeur différent.
@lilypond[papersize=a5,quote,verbatim,noragged-right]
\book {
@seealso
Manuel de notation :
-@ref{Contenu des blocs de titrage}.
+@ref{Généralités en matière de titrages}.
@node Mise en forme personnalisée des entête et pied de page
@code{\header} permet de modifier aisément l'apparence du texte,
mais n'influence en rien le positionnement précis des entête et pied
de page. L'accès au positionnement des champs concernés est géré par
-les quatre variables suivantes, attachées au bloc @code{\paper}@tie{}:
+les quatre variables suivantes, attachées au bloc @code{\paper} :
@itemize
@item @code{oddHeaderMarkup}
@item @code{evenFooterMarkup}
@end itemize
-L'exemple suivant illustre la manière de centrer son numéro au bas de
-chaque page. Il nous faut tout d'abord annuler la définition de
+@cindex markup conditionnel
+@cindex condition et markup
+@cindex on-the-fly (à la volée)
+
+@funindex \on-the-fly
+
+L'instruction @code{\on-the-fly} au sein d'un @code{\markup} permet
+d'ajouter, lorsque certaines conditions sont respectées, des éléments
+au texte des entête et pied de page définis dans le bloc @code{\paper}.
+En voici la syntaxe :
+
+@example
+@code{variable} = @code{\markup} @{
+ ...
+ @code{\on-the-fly} #@var{procédure} @var{markup}
+ ...
+@}
+@end example
+
+La @var{procédure} est appelée à chaque fois que la commande
+@code{\markup} où elle apparaît est évaluée. La @var{procédure}
+effectuera un test de conformité particulier et interprètera, autrement
+dit imprimera l'argument @var{markup} si et seulement si cette
+condition est remplie.
+
+LilyPond dispose d'ores et déjà d'un certain nombre de procédures :
+
+@quotation
+@multitable {print-page-number-check-first-----} {ce n'est la première page du book--}
+
+@headitem Nom de la procédure @tab Condition testée
+
+@item print-page-number-check-first @tab il faut imprimer ce numéro de page.
+@item create-page-number-stencil @tab 'print-page-numbers est vrai.
+@item print-all-headers @tab 'print-all-headers est vrai.
+@item first-page @tab c'est la première page du @emph{book}.
+@item (on-page nombre) @tab numéro de page = nombre
+@item last-page @tab c'est la dernière page du @emph{book}.
+@item not-first-page @tab ce n'est la première page du @emph{book}.
+@item part-first-page @tab c'est la première page de la partie.
+@item part-last-page @tab c'est la dernière page de la partie.
+@item not-single-page @tab cette partie fait plus d'une page.
+
+@end multitable
+@end quotation
+
+L'exemple suivant illustre la manière de centrer son numéro au bas de
+chaque page. Il nous faut tout d'abord annuler les définitions de
@code{oddHeaderMarkup} et @code{evenHeaderMarkup} à l'aide d'un
@emph{markup} @code{\null}. Nous redéfinissons ensuite
@code{oddFooterMarkup} pour qu'il contienne le numéro de page, centré.
}
@end lilypond
+Plusieurs conditions @code{\on-the-fly} mentionnées l'une à la suite de
+l'autre se cumulent. Ainsi, par exemple,
+
+@example
+ @code{\on-the-fly #first-page}
+ @code{\on-the-fly #last-page}
+ @code{@{ \markup ... \fromproperty #'header: ... @}}
+@end example
+
+teste si la sortie tient sur une page unique.
+
@seealso
Manuel de notation :
-@ref{Contenu des blocs de titrage},
-@ref{Mise en forme par défaut des titrages}.
+@ref{Généralités en matière de titrages},
+@ref{Mise en forme par défaut des titrages subalternes}.
+
+fichiers d'initialisation :
+@file{../ly/titling-init.ly}.
@node Notes de bas de page
@subsection Notes de bas de page
@translationof Creating footnotes
-LilyPond dispose de deux méthodes pour créer des notes de bas de page,
-l'une automatisée, et l'autre manuelle.
+@cindex bas de page, notes
+@cindex footnotes
+
+Les notes de bas de page sont utiles dans bien des situations. Dans
+tous les cas, un « appel de note » vient se placer en référence dans te
+texte ou la musique, et le « texte de la note » est reporté en bas de la
+page.
+
+Selon qu'elle est référencée dans une expression musicale ou dans du
+texte indépendant, une note de bas de page sera créée suivant une
+procédure différente.
@menu
-* Considérations générales en matière de note de bas de page::
-* Notes de bas de page automatiques::
-* Notes de bas de page manuelles::
+* Notes de bas de page dans une expression musicale::
+* Notes de bas de page dans du texte indépendant::
@end menu
-@node Considérations générales en matière de note de bas de page
-@unnumberedsubsubsec Considérations générales en matière de note de bas de page
-@translationof Footnotes overview
-Il est parfois judicieux, notamment lorsqu'une annotation ou un
-commentaire gènerait la lecture de la partition, de les reporter en bas
-de page.
+@node Notes de bas de page dans une expression musicale
+@unnumberedsubsubsec Notes de bas de page dans une expression musicale
+@translationof Footnotes in music expressions
+
+@cindex musique et note de bas de page
+@funindex \footnote
-Les notes de bas de page automatiques font appel à un compteur
-numérique incrémenté automatiquement@tie{}; les notes de bas de page
-manuelles vous laissent le libre choix de l'appel (l'indicateur). Tout
-objet graphique, @code{\markup} de haut niveau ou les notes d'un accord
-peuvent faire l'objet d'une annotation.
+@subsubsubheading Généralités sur l'annotation de musique
+@c VO Music footnotes overview
-L'ordre dans lequel les objets seront dessinés détermine l'ordre des
-appels et comment les annotations seront créées lors de la compilation.
+Il existe deux catégories d'annotation concernant une expression
+musicale :
+@table @emph
+@item Les annotations événementielles
+se rattachent à des événements particuliers, comme une note individuelle
+ou au sein d'un accord, un élément d'interprétation (ligature, liaison,
+doigté, accent ou nuance) et des paroles.
-@node Notes de bas de page automatiques
-@unnumberedsubsubsec Notes de bas de page automatiques
-@translationof Automatic footnotes
+@item Les annotations temporelles
+se rapportent à un point particulier du déroulement d'un contexte
+musical. Certaines commandes, telles @code{\time} et @code{\clef}, ne
+reposent pas sur un événement pour la création de l'objet métrique ou
+clef. Il en va de même pour un accord : sa hampe ou ses crochets ne
+sont créés qu'à la fin d'un moment (plus exactement au travers de l'un
+des événements note qui le composent). Une annotation temporelle permet
+d'annoter ces objets de rendus sans se référer à un événement.
-@cindex note de bas de page automatique
-@cindex bas de page, note automatique
+@end table
-@funindex \autoFootnote
-@funindex \autoFootnoteGrob
-@funindex \auto-footnote
+Examinons la forme développée d'une commande de note de bas de page,
+qu'elle soit événementielle ou temporelle :
-LilyPond dispose, selon l'objet à référencer, de deux différentes
-commandes pour créer des notes de bas de page automatiques. La commande
-@code{\autoFootnoteGrob} s'applique aux objets individuels, tels que
-tête de note, hampe, liaison, nuance ou @code{\markup} contenant un
-@code{TextScripts}. La commande @code{\autoFootnote}, quant à elle,
-permet de référencer l'une des notes d'un accord.
+@example
+[@var{position}] \footnote [@var{marque}] @var{décalage} [@var{nom-grob}] @var{annotation} @var{musique}
+@end example
-Ces deux commandes requièrent trois arguments@tie{}: l'@var{Objet de
-Rendu} devant être annoté, la position @var{(x@tie{}.@tie{}y)} de
-l'appel de note, et enfin un @code{\markup} contenant l'annotation qui
-apparaîtra en bas de la page.
+Ses arguments peuvent se définir ainsi :
+
+@table @var
+@item position
+Lorsque la commande @code{\footnote} s'applique à un élément
+d'interprétation ou un événement rattaché, et uniquement dans ces cas,
+elle doit être précédée d'un indicateur de positionnement (@code{-, _
+ou ^}) de façon à rattacher @var{musique} (avec sa marque) à la note ou
+au silence qui précède.
+
+@item marque
+Un @emph{markup} ou une chaîne de caractères identifiant l'annotation
+tant au niveau de l'appel que de la note qui apparaîtra au bas de la
+page. L'absence de cet élément -- ou une valeur de @code{\default} --
+incrémentera automatiquement le compteur. Ce compteur est réinitialisé
+à chaque page comportant une annotation.
+
+@item décalage
+Une paire de nombres -- @samp{#(2 . 1)} par exemple -- spécifiant le
+décalage de la marque, en abscisse et en ordonnée, par rapport au point
+de référence. Des valeurs positives décalent vers la droite ou le
+haut, des valeurs négatives vers la gauche ou le bas ; des valeurs à
+zéro centrent la marque sur le point de référence. Le décalage
+s'exprime en espace de portée.
+
+@item nom-grob
+Le type d'objet à annoter -- @samp{#'Flag} par exemple. Lorsque cet
+élément est spécifié, c'est l'objet en question qui servira de point de
+référence, même s'il trouve son origine non pas directement dans
+l'élément @var{musique} mais dans un objet en résultant. Son absence ou
+une valeur de @code{\default} ne permet d'annoter que des objets
+directement créés.
+
+@item annotation
+un @emph{markup} ou une chaîne de caractères qui sera reporté au bas de
+la page.
+
+@item musique
+l'élément qui fait l'objet du commentaire, qu'il s'agisse d'un
+événement musical, de l'un des constituants d'un accord ou d'un
+événement rattaché. Bien qu'il ne puisse être omis, il peut être
+remplacé par @code{\default}, auquel cas l'annotation ne sera pas
+rattachée à une expression musicale particulière, mais plutôt à un
+instant précis. L'argument @var{nom-grob} est alors obligatoire pour
+sélectionner le type d'objet affecté -- @samp{#'TimeSignature} par
+exemple.
+
+@end table
+
+@subsubsubheading Notes de bas de page événementielles
+@c VO Event-based footnotes
+
+@cindex événementielle, note de bas de page
+
+Le moyen le plus simple d'annoter un événement est :
-La commande @code{\autoFootnoteGrob} doit être mentionnée @strong{avant}
-l'objet auquel la note est attachée.
+@example
+\footnote @var{décalage} @var{annotation} @var{musique}
+@end example
+
+Ce type de note de bas de page s'attache à un objet de rendu généré par
+l'événement correspondant à @var{musique}.
@c KEEP LY
-@lilypond[verbatim,quote,ragged-right,papersize=a8]
+@lilypond[quote,verbatim,papersize=a8landscape]
\book {
\header { tagline = ##f }
- \relative c' {
- \autoFootnoteGrob #'NoteHead #'(0.5 . -2)
- \markup { La première note }
- a'4 b8
- \autoFootnoteGrob #'NoteHead #'(0.5 . 1)
- \markup { La troisième note }
- e c4 d4
+ \relative c'' {
+ a4_\footnote #'(0 . -1) "Une liaison arbitrairement en dessous" (
+ b8^\footnote #'(1 . 0.5) "Une ligature manuelle forcée en haut" [
+ b8 ]
+ c4 )
+ c-\footnote #'(1 . 1) "Tenuto" --
}
}
@end lilypond
-Lorsqu'il s'agit de notes inscrites dans un accord, la commande
-@code{\autoFootnote} doit être mentionnée @strong{après} la note à
-laquelle le @code{TextScript} fait référence.
+Les appels de note peuvent être personnalisés, et le trait reliant
+l'objet à l'appel supprimé :
@c KEEP LY
-@lilypond[verbatim,quote,ragged-right,papersize=a8]
+@lilypond[quote,verbatim,papersize=a8landscape]
\book {
\header { tagline = ##f }
\relative c' {
- <
- c-\autoFootnote #'(1 . -1.25) "Voici un do"
- es-\autoFootnote #'(2 . -0.25) \markup { \italic "Un mi bémol" }
- g-\autoFootnote #'(2 . 3) \markup { \bold "Ceci est un sol" }
- >1
+ \footnote "*" #'(0.5 . -2) \markup { \italic "* La première note" }
+ a'4 b8
+ \footnote \markup { \super "$" } #'(0.5 . 1)
+ \markup { \super "$" \italic " La deuxième note" }
+ e c4
+ \once \override Score.FootnoteItem #'annotation-line = ##f
+ b-\footnote \markup \tiny "+" #'(0.1 . 0.1)
+ \markup { \super "+" \italic " Éditorial" } \p
}
}
@end lilypond
-@warning{Lorsque plusieurs notes de bas de page se rapportent à un même
-empilement vertical, les notes apparaîtront dans l'ordre vertical des
-appels, autrement dit celui positionné le plus haut en premier, et ainsi
-de suite.}
-
-Voici quelques exemples d'objets annotés automatiquement. Vous pouvez
-constater l'agencement des annotations correspondantes avec le copyright
-et le pied de page.
+D'autres exemples de personnalisation des appels de note sont donnés à
+la rubrique @ref{Notes de bas de page dans du texte indépendant}.
-@lilypond[verbatim,quote,ragged-right,papersize=a8]
-\book {
- \header { copyright = \markup { "Copyright 1970" } }
- \relative c' {
- \autoFootnoteGrob #'DynamicText #'(-3 . 0)
- \markup { \bold Forte }
-
- \autoFootnoteGrob #'Slur #'(0 . 1.5)
- \markup { A slur }
- a'4\f(
+L'annotation d'un accord dans sa globalité n'est pas réalisable de cette
+manière dans la mesure où un accord ne génère pas d'événement en dehors
+de ses constituants. Les notes qui le composent peuvent cependant faire
+l'objet d'une annotation.
- \autoFootnoteGrob #'Beam #'(0 . -2)
- \markup { Beam }
- b8)[ e]
+Lorsque la note de bas de page se réfère à un objet de rendu résultant
+d'un événement -- @code{Accidental} ou @code{Stem} découlent d'un
+@code{NoteHead} --, l'argument additionnel @var{nom-grob} est requis
+avant le texte de l'annotation :
- \autoFootnoteGrob #'Stem #'(1 . -1)
- \markup { \teeny { This is a stem } }
- c4
-
- \autoFootnoteGrob #'AccidentalCautionary #'(0 . 0.5)
- \markup \italic { A cautionary accidental }
-
- \autoFootnoteGrob #'TextScript #'(0.5 . -0.5)
- \markup \italic { Slow Down }
- dis?4_"rit."
+@c KEEP LY
+@lilypond[quote,verbatim,papersize=a8landscape]
+\book {
+ \header { tagline = ##f }
+ \relative c'' {
+ % footnotes may be added to chord constituents
+ < \footnote #'(-1 . -3) #'Accidental "Un autre bémol" aes
+ c
+ \footnote #'(-1 . 0.5) #'Accidental "Un bémol" ees
+ >2
+ \footnote #'(-1 . 2) #'Stem "Une hampe" ees2
}
}
@end lilypond
-Une note de bas de page affectant un @code{\markup} de haut niveau
-s'introduit par la commande @code{\auto-footnote}@tie{}:
+@warning{Lorsque plusieurs notes de bas de page se rapportent à un même
+empilement vertical, elles sont numérotées et apparaîtront selon
+l'ordre vertical des éléments présentés, autrement dit celui positionné
+le plus haut en premier, non dans leur ordre d'apparition dans le
+fichier source.}
+
+@subsubsubheading Notes de bas de page temporelles
+@c VO Time-based footnotes
+
+@cindex temporelle, note de bas de page
+
+Les objets de rendu tels que changement de clef ou d'armure tirent leur
+origine dans la modification d'une propriété plutôt que d'un véritable
+événement. D'autres, comme les barres ou numéros de mesure, dépendent
+directement de la temporisation. C'est la raison pour laquelle de tels
+objets doivent s'annoter en fonction de leur survenance au fil de la
+musique. Les notes de bas de page temporelles sont la solution à
+privilégier lorsqu'il s'agit d'annoter les hampes ou ligature affectant
+des accords : bien qu'une telle fonctionnalité puisse s'appliquer à l'un
+des événements constituant l'accord, rien ne laisse présager lequel
+serait le plus adéquat.
+
+Une note de bas de page temporelle s'introduit de la même manière qu'une
+note événementielle, à ceci près que la mention @code{\default}
+remplacera l'argument @var{musique} qui indique l'événement à annoter.
+En matière de note de bas de page temporelle, l'objet de rendu considéré
+devrait toujours être mentionné explicitement, de telle sorte qu'il n'y
+ait pas d'erreur quant au positionnement de l'appel de note.
-@lilypond[verbatim,quote,ragged-right,papersize=a8]
+@c KEEP LY
+@lilypond[quote,verbatim,papersize=a8landscape]
\book {
\header { tagline = ##f }
- \markup { \auto-footnote "A simple tune" \italic "By me" }
- \relative c' {
- a'4 b8 e c4 d
+ \relative c'' {
+ r1 |
+ \footnote #'(-0.5 . -1) #'TimeSignature "Changement de métrique" \default
+ \time 3/4
+ \footnote #'(1 . -1) #'Stem "Hampe de l'accord" \default
+ <c e g>4 q q
+ \footnote #'(-0.5 . 1) #'BarLine "Barre de mesure" \default
+ q q
+ \footnote #'(0.5 . -1) #'KeySignature "Changement d'armure" \default
+ \key c\minor
+ q
}
}
@end lilypond
-@node Notes de bas de page manuelles
-@unnumberedsubsubsec Notes de bas de page manuelles
-@translationof Manual footnotes
+@node Notes de bas de page dans du texte indépendant
+@unnumberedsubsubsec Notes de bas de page dans du texte indépendant
+@translationof Footnotes in stand-alone text
-@cindex note de bas de page manuelle
-@cindex bas de page, note manuelle
+@cindex texte indépendant et note de bas de page
-@funindex \footnote
-@funindex \footnoteGrob
-
-LilyPond dispose, selon l'objet à référencer, de deux différentes
-commandes pour créer des notes de bas de page manuelles@tie{}: la
-commande @code{\footnote} pour les @code{\markup} de haut niveau ou les
-notes d'un accord, et la commande @code{\footnoteGrob} pour les objets
-individuels ou les @code{\markup} contenant un @code{TextScript}.
-
-S'agissant d'annoter un objet graphique, la commande @code{\footnote}
-requiert quatre arguments@tie{}: l'@var{Objet de Rendu} devant être
-annoté, la position @var{(x@tie{}.@tie{}y)} de l'appel de note, et deux
-@code{\markup} -- le premier contient l'appel qui s'attache à la note
-ou à l'objet, le second contient l'annotation qui est reportée en bas de
-page.
+De telles notes de bas de page affectent les @emph{markup} extérieurs
+aux expressions musicales. Il n'est pas nécessaire en pareil cas
+d'indiquer un point de référence par un trait ; l'appel de note vient
+juste s'accoler au @emph{markup} qui fait l'objet de l'annotation. Les
+appels de note peuvent être gérés automatiquement, auquel cas ils seront
+numériques, ou bien manuellement en fournissant un indicateur
+particulier.
-La commande @code{\footnoteGrob} doit être mentionnée @strong{après}
-l'objet auquel l'annotation fait référence, comme s'il s'agissait d'une
-articulation.
+Les notes de bas de page concernant du texte indépendant se gèrent
+différemment selon qu'elles sont automatiques ou manuelles.
-@lilypond[verbatim,quote,ragged-right,papersize=a8]
-\book {
- \header { tagline = ##f }
- \relative c' {
- a'4-\footnoteGrob #'NoteHead #'(0.5 . -2)
- "1" \markup { \italic "1. The first note" }
- b8
- e-\footnoteGrob #'NoteHead #'(0.5 . 1)
- \markup { \bold "2" } "2. The second note"
- c4
- d\p-\footnoteGrob #'DynamicText #'(0.5 . -1) "3" "3. Piano"
- }
-}
-@end lilypond
-S'agissant d'annoter l'une des notes d'un accord, la commande
-@code{\footnote} doit être mentionnée @strong{après} la note à laquelle
-l'annotation fait référence, comme s'il s'agissait d'une articulation.
+@subsubsubheading Notes de bas de page automatiques dans du texte
+@c VO Footnotes in stand-alone text with automatic marks
+
+La syntaxe consacrée dans le cas d'une gestion automatique des appels
+de note est :
+
+@example
+\markup @{ ... \auto-footnote @var{texte} @var{annotation} ... @}
+@end example
+
+Dont les éléments sont :
+
+@table @var
+
+@item texte
+le @emph{markup} ou la chaîne de caractères sur lequel porte
+l'annotation ;
+
+@item annotation
+un @emph{markup} ou une chaîne de caractères constituant le texte de
+l'annotation qui sera reportée en bas de page.
+
+@end table
+
+Par exemple :
@lilypond[verbatim,quote,ragged-right,papersize=a8]
\book {
\header { tagline = ##f }
+ \markup {
+ "A simple"
+ \auto-footnote "tune" \italic " By me"
+ "is shown below. It is a"
+ \auto-footnote "recent" \italic " Aug 2012"
+ "composition."
+ }
\relative c' {
- <
- c-\footnote #'(1 . -1.25) "1" "1. C"
- es-\footnote #'(2 . -0.25)
- \markup { \bold "b" } "b. E-flat"
- g-\footnote #'(2 . 3) "3" \markup { \italic "iii. G" }
- >1
+ a'4 b8 e c4 d
}
}
@end lilypond
-@warning{Lorsque plusieurs notes de bas de page se rapportent à un même
-empilement vertical, les notes apparaîtront dans l'ordre vertical des
-appels, autrement dit celui positionné le plus haut en premier, et ainsi
-de suite.}
-Voici quelques exemples d'objets annotés manuellement. Vous pouvez
-constater l'agencement des annotations correspondantes avec le copyright
-et le pied de page.
+@subsubsubheading Notes de bas de page personnalisées dans du texte
+@c VO Footnotes in stand-alone text with custom marks
+
+La syntaxe consacrée dans le cas d'une gestion personnalisée des appels
+de note est :
+
+@example
+\markup @{ ... \footnote @var{appel} @var{annotation} ... @}
+@end example
+
+Dont les éléments sont :
+
+@table @var
+
+@item appel
+un @emph{markup} ou une chaîne de caractères représentant l'appel de
+note affecté à ce point de référence. Notez bien que cette marque ne
+sera @strong{pas} reproduite automatiquement avant le texte proprement
+dit de l'annotation.
+
+@item annotation
+un @emph{markup} ou une chaîne de caractères constituant le texte de
+l'annotation qui sera reportée en bas de page, précédé de l'@var{appel}.
+
+@end table
+
+N'importe quel caractère simple tel que @code{*} ou @code{+} peut
+s'utiliser en tant qu'appel de note, comme nous l'avons vu à la rubrique
+@ref{Notes de bas de page dans une expression musicale}. D'autres
+caractères particuliers sont accessibles sous forme de raccourci -- voir
+la rubrique @ref{Équivalents ASCII} :
@lilypond[verbatim,quote,ragged-right,papersize=a8]
\book {
- \header { copyright = \markup { "Copyright 1970" } }
+ \paper { #(include-special-characters) }
+ \header { tagline = ##f }
+ \markup {
+ "A simple tune"
+ \footnote "*" \italic "* By me"
+ "is shown below. It is a recent"
+ \footnote \super † \concat {
+ \super † \italic " Aug 2012"
+ }
+ "composition."
+ }
\relative c' {
- \footnoteGrob #'DynamicText #'(-3 . 0)
- \markup { \teeny 1 }
- \markup { 1. \bold Forte }
-
- \footnoteGrob #'Slur #'(0 . 1.5)
- \markup { \teeny b }
- \markup { b. A slur }
- a'4\f(
-
- \footnoteGrob #'Beam #'(0 . -2)
- \markup { \teeny 3 }
- \markup { 3. Beam }
- b8)[ e]
-
- \footnoteGrob #'Stem #'(1 . -1)
- \markup { 4 }
- \markup { \bold 4. { This is a stem } }
- c4
-
- \footnoteGrob #'AccidentalCautionary #'(0 . 0.5)
- \markup \concat \teeny { "sharp (v)" }
- \markup \italic { v. A cautionary accidental }
-
- \footnoteGrob #'TextScript #'(0.5 . -0.5)
- \markup \concat \teeny { "a" }
- \markup \italic { a. Slow Down }
- dis?4_"rit."
-
- \breathe
- \footnoteGrob #'BreathingSign #'(1.5 . -0.25)
- \markup { \teeny \musicglyph #"rests.4" }
- \markup { \null }
+ a'4 b8 e c4 d
}
}
@end lilypond
-L'annotation manuelle d'un @code{\markup} de haut niveau répond à la
-syntaxe suivante@tie{}:
+Un appel de note peut aussi se libeller sous la forme d'un point de code
+unicode -- voir la rubrique @ref{Unicode} :
@lilypond[verbatim,quote,ragged-right,papersize=a8]
\book {
\header { tagline = ##f }
- \markup { "A simple tune" \footnote "*" \italic "* By me" }
+ \markup {
+ "A simple tune"
+ \footnote \super \char##x00a7 \concat {
+ \super \char##x00a7 \italic " By me"
+ }
+ "is shown below. It is a recent"
+ \footnote \super \char##x00b6 \concat {
+ \super \char##x00b6 \italic " Aug 2012"
+ }
+ "composition."
+ }
\relative c' {
- a'4 b8 e c4 d4
+ a'4 b8 e c4 d
}
}
@end lilypond
Manuel de notation :
@ref{Commentaires textuels},
+@ref{Équivalents ASCII},
@ref{Indications textuelles},
@ref{Info-bulle},
-@ref{Mise en forme de la page},
-@ref{Titres et entêtes}.
+@ref{Liste des caractères spéciaux},
+@ref{Unicode}.
Référence des propriétés internes :
@rinternals{FootnoteEvent},
@rinternals{Footnote_engraver}.
@knownissues
-Un silence multi-mesures ne peut se voir affecter une note de bas de
-page.
-
Les notes de bas de page ne peuvent que s'empiler l'une au-dessus de
-l'autre@tie{}; elles ne seront jamais présentées à la queue leu leu.
+l'autre ; elles ne seront jamais présentées à la queue leu leu.
+
+Silence multimesures et ligatures automatiques ne peuvent se voir
+affecter de note de bas de page.
+
Les notes de bas de page peuvent générer des chevauchements quand elles
sont trop nombreuses sur une même page.
-Dès lors que vous utilisez une commande de note de bas de page manuelle,
-le bloc @code{\paper} doit contenir la mention
-@w{@code{footnote-auto-number@tie{}=@tie{}##f}}.
-
@node Référencement des numéros de page
@subsection Référencement des numéros de page
LilyPond vous permet, à l'aide de la commande @code{\label}, d'insérer
des points de référence dans un ouvrage, aussi bien en dehors qu'au fil
de la musique. Ce point de référence pourra être ensuite repris à
-l'intérieur d'un @emph{markup}@tie{}; vous pourrez même y ajouter le
+l'intérieur d'un @emph{markup} ; vous pourrez même y ajouter le
numéro de page grâce à la commande de @emph{markup} @code{\page-ref}.
@c KEEP LY
-@lilypond[verbatim]
+@lilypond[verbatim,papersize=a8landscape]
\header { tagline = ##f }
\book {
\label #'firstScore
}
@end lilypond
-L'instruction @code{\page-ref} prend trois arguments@tie{}:
+L'instruction @code{\page-ref} prend trois arguments :
@enumerate
@item
-le point de référence, sous la forme d'un symbole scheme, comme par
+le point de référence, sous la forme d'un symbole Scheme, comme par
exemple @code{#'firstScore},
@item
un @qq{emporte-pièce} afin d'estimer la longueur totale du
-@emph{markup},
+@emph{markup}, et
@item
un texte de remplacement au cas où la référence ne serait pas retrouvée.
Vous pouvez, lorsque l'ouvrage contiendra plus de dix pages, stipuler un
emporte-pièce sur deux caractères -- soit @code{"00"}.
-
@predefined
@funindex \label
@code{\label},
se définissent dans le bloc @code{\paper}. Il s'agit par défaut de
@code{tocTitleMarkup} pour le titre de la table, et de
@code{tocItemMarkup} pour ses éléments -- composés de leur libellé et
-numéro de page. Vous pouvez bien entendu personnaliser ces
-variables@tie{}:
+numéro de page. Vous pouvez bien entendu personnaliser ces variables :
@verbatim
\paper {
la définition de @code{tocItemMarkup}.
N'hésitez pas à définir vous-même d'autres commandes et @emph{markups}
-afin de construire une table plus élaborée@tie{}:
+afin de construire une table plus élaborée :
@itemize
@item
commencez par définir une nouvelle variable de type @code{markup} au
@end itemize
Dans l'exemple qui suit, nous avons créé un nouveau style d'élément dans
-le but de mentionner les actes dans la table des matières d'un
-opéra@tie{}:
+le but de mentionner les actes dans la table des matières d'un opéra :
@verbatim
\paper {
(add-toc-item! 'tocActMarkup text))
@end verbatim
-@lilypond[line-width=11.0\cm]
+@lilypond[line-width=10.0\cm]
\header { tagline = ##f }
\paper {
tocActMarkup = \markup \large \column {
@end lilypond
L'élément et son numéro de page peuvent se rejoindre par une ligne
-pointillée@tie{}:
+pointillée :
-@lilypond[verbatim,quote]
+@lilypond[verbatim,line-width=10.0\cm]
\header { tagline = ##f }
\paper {
tocItemMarkup = \tocItemWithDotsMarkup
}
@end lilypond
-
-@seealso
-Fichiers d'initialisation :
-@file{../ly/toc-init.ly}.
-
-
@predefined
@funindex \table-of-contents
@code{\table-of-contents},
@code{\tocItem}.
@endpredefined
+@seealso
+Fichiers d'initialisation :
+@file{../ly/toc-init.ly}.
+
@node Travail sur des fichiers texte
@section Travail sur des fichiers texte
* Caractères spéciaux::
@end menu
+
@node Insertion de fichiers LilyPond
@subsection Insertion de fichiers LilyPond
@translationof Including LilyPond files
@cindex inclusion de fichiers
Lorsqu'un projet prend de l'importance en volume, il est judicieux de le
-scinder en plusieurs fichiers, auxquels vous fereez référence avec un
+scinder en plusieurs fichiers, auxquels vous ferez référence avec un
simple
@example
définies dans les fichiers séparés seront normalement reprises et
utilisables dans le fichier formant le conducteur. Les sections
balisées dans les fichiers individuels peuvent être réutilisées en
-différents endroit de la partition , comme expliqué à la rubrique
+différents endroit de la partition, comme expliqué à la rubrique
@ref{Différentes éditions à partir d'une même source}.
Lorsque le fichier auquel il est fait référence se trouve dans le même
... etc.
@end example
-Les fichiers à inclure peuvent eux-même contenir des instructions
+Les fichiers à inclure peuvent eux-mêmes contenir des instructions
@code{\include}. Ces instructions @code{\include} de second niveau ne
pourront, par défaut, être interprétées qu'une fois intégrées dans le
-fichier principal@tie{}; leur argument doit donc comporter le chemin
+fichier principal ; leur argument doit donc comporter le chemin
relativement au fichier principal et non par rapport au fichier dans
lequel cette inclusion est mentionnée. Vous pouvez toutefois influer
-sur ce comportement à l'aide de l'option @w{@code{-drelative-includes}}
-en ligne de commande ou en ajoutant une clause
-@code{@w{#(ly:set-option 'relative-includes #t)}} en tête du fichier
-principal. Une fois @code{relative-include} activé, le chemin à suivre
-pour chacune des commandes @code{\include} sera pris relativement au
-fichier qui la contient. Cette option est vouée à être activée par
+sur ce comportement de manière globale à l'aide de l'option
+@w{@code{-drelative-includes}} en ligne de commande ou en ajoutant une
+clause @code{#(ly:set-option 'relative-includes #t)} en tête du fichier
+principal.
+
+Lorsque @code{relative-include} est valorisé à @code{#t}, le chemin à
+suivre pour chacune des commandes @code{\include} sera pris relativement
+au fichier qui la contient. Cette option est vouée à être activée par
défaut dans une future version de LilyPond.
+Selon l'endroit où @code{relative-includes} est valorisé à @code{#t} ou
+@code{#f}, la commande @code{\include} permettra d'incorporer des
+fichiers contenus dans l'arborescence du répertoire principal et des
+fichiers situés ailleurs. Si, par exemple, une biblothèque générale
+libA a été créée pour utiliser des sous-fichiers à l'aide de
+d'inclusions dans un fichier catalogue, les clauses @code{\include}
+devront être précédées d'un@code{#(ly:set-option #relative-includes #t)}
+de telle sorte qu'elles soient interprétées correctement lorsque
+rapatriées dans le fichier @file{.ly} principal. Examinons cela dans
+les faits :
+
+@example
+libA/
+ libA.ly
+ A1.ly
+ A2.ly
+ ...
+@end example
+
+@noindent
+puis le fichier catalogue, @code{libA.ly}, qui contient
+
+@example
+#(ly:set-option 'relative-includes #t)
+\include "A1.ly"
+\include "A2.ly"
+...
+% retour au réglage par défaut
+#(ly:set-option 'relative-includes #f)
+@end example
+
+Tout fichier @code{.ly} peut désormais consulter l'intégralité de cette
+bibliothèque grâce à un simple
+
+@example
+\include "~/libA/libA.ly"
+@end example
+
+Un positionnement judicieux des commutateurs permet de gérer des
+structures de fichiers plus complexes.
+
Vous pouvez inclure des fichiers dont vous spécifierez le chemin d'accès
-sur la ligne de commande au moment de lancer la compilation. L'appel à
-ces fichiers ne mentionnerra alors que leur nom. Par exemple, si vous
+sur la ligne de commande au moment de lancer la compilation. L'appel à
+ces fichiers ne mentionnera alors que leur nom. Par exemple, si vous
voulez compiler avec cette méthode le fichier @file{principal.ly} qui
inclut des fichiers situés dans le sous-répertoire @file{parties},
placez vous dans le répertoire contenant @file{principal.ly}, puis tapez
Lorsqu'un fichier est voué à être inclus dans nombre de partitions, vous
pouvez le placer dans le répertoire de LilyPond @file{../ly}.
-Attention@tie{}: ce répertoire varie selon votre installation, comme
+Attention : ce répertoire varie selon votre installation, comme
indiqué au chapitre @rlearning{Autres sources de documentation}. Ce
fichier sera inclus dès lors que vous fournirez uniquement son nom en
argument à la fonction @code{\include}. C'est par exemple le cas du
fichier de définition particulier @file{gregorian.ly}.
Au moment où vous lancez LilyPond, un certain nombre de fichiers se
-retrouvent inclus par défaut@tie{}; il suffit d'activer le mode verbeux
+retrouvent inclus par défaut ; il suffit d'activer le mode verbeux
en faisant @w{@code{lilypond --verbose}} pour s'en rendre compte. Vous
verrez ainsi défiler, en plus de nombreuses informations, le nom d'un
certain nombre de fichiers et de chemins d'accès. Les fichiers les plus
Vous trouverez quelques exemples simples d'utilisation de la commande
@code{\include} au chapitre @rlearning{Conducteurs et parties}.
-
@seealso
Manuel d'initiation :
@rlearning{Autres sources de documentation},
@rlearning{Conducteurs et parties}.
-
@knownissues
Lorsque vous incluez un fichier qui porte le même nom que l'un des
fichiers d'initialisation de LilyPond, le fichier de la distribution de
Plusieurs méthodes permettent de générer différentes versions d'une
partition à partir d'une même source. Les variables -- ou
-idendificateurs -- sont sûrement le moyen le plus simple de combiner de
+identificateurs -- sont sûrement le moyen le plus simple de combiner de
différente manière des passages relativement longs, alors que les
balises permettront de sélectionner de courts fragments selon leur
utilisation.
* Globalisation des réglages::
@end menu
+
@node Utilisation de variables
@unnumberedsubsubsec Utilisation de variables
@translationof Using variables
endroits de la partition, comme nous l'avons vu à la rubrique
@rlearning{Organisation du code source avec des variables}. Par
exemple, une partition pour chœur @notation{a cappella} comporte souvent
-une réduction pour piano reprenant toutes les voix@tie{}; il s'agit de
+une réduction pour piano reprenant toutes les voix ; il s'agit de
la même musique, et vous ne devrez donc la saisir qu'une seule fois.
D'autre part, la musique issue de deux variables peut se combiner sur
une seule portée, comme nous l'avons vu à la rubrique
-@ref{Regroupement automatique de parties}. Prenons l'exemple
-suivant@tie{}:
+@ref{Regroupement automatique de parties}. Prenons l'exemple suivant :
@lilypond[verbatim,quote]
sopranoMusic = \relative c'' { a4 b c b8( a) }
La commande @code{\tag #'@var{partieA}} affecte à une expression
musicale le nom @var{partieA}. Les expressions ainsi balisées pourront
-être filtrées par la suite, à l'aide de
-@code{\keepWithTag@tie{}#'@var{nom}} ou
-@code{\removeWithTag@tie{}#'@var{nom}}. Ces filtres fonctionnent de la
-manière suivante@tie{}:
+être filtrées par la suite, à l'aide de @code{\keepWithTag #'@var{nom}}
+ou @code{\removeWithTag #'@var{nom}}. Ces filtres fonctionnent de la
+manière suivante :
@multitable @columnfractions .5 .5
@headitem Filtre
@item
Musique balisée précédée de @code{\keepWithTag #'@var{nom}}
@tab Musique non balisée et musique balisée par @var{nom} seront
- incluses@tie{}; la musique balisée autrement est exclue.
+ incluses ; la musique balisée autrement est exclue.
@item
Musique balisée précédée de @code{\removeWithTag #'@var{nom}}
@tab Musique non balisée et fragments appelés autrement que @var{nom}
- seront inclus@tie{}; la musique balisée par @var{nom} est exclue.
+ seront inclus ; la musique balisée par @var{nom} est exclue.
@item
Musique balisée non précédée de @code{\keepWithTag} ou
musicale.
Dans l'exemple qui suit, nous obtenons deux versions du même extrait,
-l'une pour le conducteur, l'autre pour l'instrumentiste, et qui
+l'une pour le conducteur, l'autre pour l'instrumentiste qui, elle,
comportera les ornements développés.
@lilypond[verbatim,quote]
@end lilypond
@noindent
-Il est parfois plus aisé d'exclure des fragments@tie{}:
+Il est parfois plus aisé d'exclure des fragments :
@lilypond[verbatim,quote]
music = \relative g' {
}
@end lilypond
-Ce principe de filtrage peut s'appliquer aux articulations, textes, etc.
+Ce principe de filtrage peut s'appliquer aux articulations, textes etc.
Il suffit de positionner
@example
@end example
@noindent
-avant l'articulation ou le texte, comme ici@tie{}:
+avant l'articulation ou le texte, comme ici :
@example
c1-\tag #'doigt ^4
un texte.
Vous pouvez baliser différemment la même expression musicale en
-saisissant plusieurs @code{\tag}@tie{}:
+saisissant plusieurs @code{\tag} :
@lilypond[quote,verbatim]
music = \relative c'' {
@end lilypond
L'application concomitante de plusieurs filtres @code{\removeWithTag} à
-la même expression musicale permet d'exclure plusieurs balisages@tie{}:
+la même expression musicale permet d'exclure plusieurs balisages :
@lilypond[verbatim,quote]
music = \relative c'' {
Il peut arriver que vous ayez besoin de raccorder quelque chose en un
point particulier d'une expression musicale. Les commandes
@code{\pushToTag} et @code{\appendToTag} permettent d'insérer du
-matériau, qu'il soit antérieur ou postérieur à des @code{éléments}
+matériau, qu'il soit antérieur ou postérieur, à des @code{éléments}
d'une construction musicale existante. La musique séquentielle ou
-simultanée comporte assurément des @code{éléments}@tie{}:
+simultanée comporte assurément des @code{éléments} :
@lilypond[verbatim,quote]
test = { \tag #'here { \tag #'here <<c''>> } }
}
@end lilypond
-Ces deux instructions sont afféctées d'une balise, le matériau à
+Ces deux instructions sont affectées d'une balise, le matériau à
raccorder à chaque instance de la balise, et l'expression balisée.
Ces instructions prennent soin de recopier tout ce qui doit être
modifié, de telle sorte que l'expression @code{\test} originale conserve
tout son sens.
-
@seealso
Manuel d'initiation :
@rlearning{Organisation du code source avec des variables}.
@c Should be deleted? -td
@knownissues
-
Lorsqu'elles comportent des silences, ceux-ci ne seront pas fusionnés
si vous imprimez une partition avec les deux sections balisées.
@cindex include-settings
Vous pouvez regrouper dans un fichier indépendant vos réglages
-personnels que vous incluerez au besoin@tie{}:
+personnels que vous inclurez au besoin :
@example
lilypond -dinclude-settings=MES_REGLAGES.ly MA_PARTITION.ly
obtiendrez facilement différentes éditions à partir d'une même source
quelle qu'elle soit.
-Ceete technique peut s'utiliser en combinaison avec des feuilles de
+Cette technique peut s'utiliser en combinaison avec des feuilles de
styles, comme indiqué au chapitre @rlearning{Feuilles de style}.
@seealso
@cindex UTF-8
LilyPond utilise le jeu de caractères défini par le consortium Unicode
-et la norme ISO/CEI@tie{}10646. Chaque caractère est identifié par un
+et la norme ISO/CEI 10646. Chaque caractère est identifié par un
nom unique et associé à un point de code, ce qui permet dans l'absolu de
couvrir tous les langages. Unicode permet de coder tous les caractères
utilisés par toutes les langues écrites du monde. LilyPond utilise le
la bibliothèque Pango pour assurer le rendu des textes multilingues.
LilyPond n'effectue aucune conversion d'encodage que ce soit. Ceci
-implique donc que tout texte, qu'il s'agisse d'un titre, de paroles ou
-même d'instruction musicale, comportant des caractères non ASCII, soit
+implique donc que tout texte -- un titre, des paroles ou même une
+instruction musicale -- comportant des caractères non ASCII soit
codé en UTF-8. Le plus sûr moyen de saisir du texte de la sorte
consiste à utiliser un éditeur supportant l'unicode et à enregistrer vos
fichier en UTF-8. C'est le cas pour la plupart des éditeurs actuels,
que ce soit vim, Emacs, jEdit et GEdit. Tous les systèmes Windows
-postérieurs à NT utilisent Unicode en natif@tie{}; même Notepad est
-capable d'éditer et sauvegarder un fichie en UTF-8 -- sans parler de
+postérieurs à NT utilisent Unicode en natif ; même Notepad est
+capable d'éditer et sauvegarder un fichier en UTF-8 -- sans parler de
l'excellente alternative qu'est BabelPad.
La compilation d'un fichier LilyPond comportant des caractères non ASCII
FT_Get_Glyph_Name () erreur : invalid argument
@end example
-Voici un exemple utilisant du texte en cyrilique, en hébreux et en
+Voici un exemple utilisant du texte en cyrillique, en hébreux et en
portugais.
@lilypond[quote]
Lorsque vous avez besoin d'un caractère dont vous connaissez le point de
code mais que votre éditeur ne permet pas de saisir directement, vous
-pouvez utitliser les instructions @code{\char@tie{}##xhhhh} ou
-@code{\char@tie{}#dddd} au sein d'un bloc @code{\markup} -- @code{hhhh}
+pouvez utiliser les instructions @code{\char ##xhhhh} ou
+@code{\char #dddd} au sein d'un bloc @code{\markup} -- @code{hhhh}
et @code{dddd} correspondant respectivement à la valeur hexadécimale ou
décimale. Même s'il est inutile de saisir les zéros superflus, il est
de bon ton de stipuler les quatre caractères formant la représentation
hexadécimale. Évitez cependant l'encodage UTF-8 d'un point de code
-après un @code{\char}@tie{}; les encodages UTF-8 comprennent un bit
+après un @code{\char} ; les encodages UTF-8 comprennent un bit
supplémentaire indiquant le nombre d'octets. Une table de
correspondance entre les codes Unicode et le nom des caractères ainsi
que leur code hexadécimal est disponible sur le site du consortium
@cindex copyright
Le signe @emph{copyright} dans le champ de titrage consacré s'inscrit de
-la manière suivante@tie{}:
+la manière suivante :
@example
\header @{
@translationof ASCII aliases
Dès lors que vous aurez inclus la liste de leur équivalent ASCII,
-LilyPond reconnaitra un certain nombre de caractères spéciaux@tie{}:
+LilyPond reconnaîtra un certain nombre de caractères spéciaux :
@lilypond[quote,verbatim]
\paper {
}
@end lilypond
-L'extension de cette liste est possible aussi bien de manière globale :
+L'extension de cette liste est possible aussi bien de manière globale :
@lilypond[quote,verbatim]
\paper {
\markup "A 100 dpi."
@end lilypond
-qu'en un point particulier de votre source :
+qu'en un point particulier de votre source :
@lilypond[quote,verbatim]
\markup \replace #'(("100" . "hundred")
* Changement des fontes musicales::
@end menu
+
@node Extraction de fragments musicaux
@subsection Extraction de fragments musicaux
@translationof Extracting fragments of music
-LilyPond vous permet d'extraire des fragments d'une partition à l'instar
-du choriste amateur qui alimente son album avec des coupures de
-journaux.
+LilyPond permet d'extraire des fragments d'une partition à l'instar du
+choriste amateur qui alimente son album avec des coupures de journaux.
Vous devrez pour cela définir les mesures à découper. La définition
suivante, incluse dans votre fichier source,
@noindent
vous permettra d'extraire un fragment compris entre le milieu de la
cinquième mesure et quelque part dans la septième. Le triplet
-@code{5@tie{}1@tie{}2} signifie@tie{}: après la durée d'une blanche dans
-la mesure 5@tie{}; le @code{7@tie{}3@tie{}4} signifie quant à lui que
-l'on s'arrête à la mesure 7, après la durée de trois noires.
+@code{5 1 2} signifie : après la durée d'une blanche dans la mesure 5 ;
+le @code{7 3 4} signifie quant à lui que l'on s'arrête à la mesure 7,
+après la durée de trois noires.
Rien ne vous empêche d'extraire plusieurs fragments, dès lors que vous
-définissez dans la liste d'autres paires d'emplacements ryhtmiques.
+définissez dans la liste d'autres paires d'emplacements rythmiques.
Cette fonctionnalité n'est toutefois effective que lorsque vous lancez
LilyPond avec l'option @w{@code{-dclip-systems}}. Les @qq{coupures}
propriété @code{showFirstLength} que vous utiliserez.
Vous pouvez contrôler très finement les parties à escamoter, grâce au
-commutateur @code{Score.skipTypesetting}@tie{}: lorsqu'il est activé,
+commutateur @code{Score.skipTypesetting} : lorsqu'il est activé,
aucune gravure n'est réalisée.
Ce commutateur agit aussi sur la sortie MIDI. Notez bien que tous les
événements seront escamotés, y compris les changements de tempo ou
-d'instrument -- vous voilà prévenu@tie{}!
+d'instrument -- vous voilà prévenu !
@lilypond[quote,relative=2,ragged-right,verbatim]
c8 d
Vous pouvez aussi obtenir des documents au format Scalable Vector
Graphics (SVG), Encapsulated PostScript (EPS) ou Portable Network
Graphics (PNG) dès lors que vous aurez lancé LilyPond en ligne de
-commande avec l'option @i{ad hoc} -- voir
-@rprogram{Options en ligne de commande pour lilypond} à ce sujet.
+commande avec l'option @i{ad hoc} -- voir
+@rprogram{Utilisation en ligne de commande} à ce sujet.
@node Changement des fontes musicales
@uref{http://www.chiark.greenend.org.uk/~sgtatham/gonville/ ,http://www.chiark.greenend.org.uk/~sgtatham/gonville/}
@end example
-Voici quelques mesures utilisant la police Gonville@tie{}:
+Voici quelques mesures utilisant la police Gonville :
@c NOTE: these images are a bit big, but that's important
@c for the font comparison. -gp
@sourceimage{Gonville_after,,,}
-Et ces même mesures avec la police de LilyPond, Feta@tie{}:
+Et ces même mesures avec la police de LilyPond, Feta :
@sourceimage{Gonville_before,,,}
répertoire @code{lilyfonts} en @code{fonts}. Il vous suffira, pour
retrouver la fonte Feta, de renommer @code{fonts_orig} en @code{fonts}.
-
@seealso
Manuel d'initiation :
@rlearning{Autres sources de documentation}.
@knownissues
-
Gonville ne permet pas de générer de la notation ancienne, et certains
glyphes ajoutés depuis lors aux jeux de caractères en soient absent.
Consultez le site de l'auteur pour de plus amples informations ainsi
MIDI (Musical Instrument Digital Interface) constitue un standard en
matière de connexion et de contrôle des instruments électroniques. Un
fichier MIDI contient une série de notes réparties dans différentes
-pistes. Il ne s'agit en rien d'un fichier sonore@tie{}; il vous faudra
+pistes. Il ne s'agit en rien d'un fichier sonore ; il vous faudra
un logiciel capable de traduire ces séries de notes en sons réels.
Vous pouvez convertir vos partition en fichier MIDI de manière à
entendre ce que vous avez saisi. Ceci vous permet de contrôler aisément
-ce que vous avez saisi@tie{}: octaves et altérations erronées heuteront
+ce que vous avez saisi : octaves et altérations erronées heurteront
votre oreille avertie grâce au MIDI.
Le fichier MIDI généré par LilyPond est relativement brut. Vous pouvez
cependant obtenir un meilleur rendu avec @ref{Le script Articulate}.
Dans une sortie MIDI, LilyPond alloue un canal à chaque portée, tout en
-réservant le canal@tie{}10 aux percussions. Dans la mesure ou un
+réservant le canal 10 aux percussions. Dans la mesure ou un
périphérique MIDI ne comprend que 16 canaux, un fichier MIDI qui
comportera plus de quinze portées verra le même canal réutilisé.
@subsection Création de fichiers MIDI
@translationof Creating MIDI files
-LilyPond génèrera un fichier MIDI dès que vous ajouterez un bloc
-@code{\midi} à la structure de votre partition, comme ici@tie{}:
+LilyPond générera un fichier MIDI dès que vous ajouterez un bloc
+@code{\midi} à la structure de votre partition, comme ici :
@example
\score @{
Hauteurs, durées, liaisons de prolongation, nuances et changements de
tempo seront interprétés et traduits en événements MIDI. Les
indications de nuances, crescendos et decrescendos sont traduits en
-niveau de volume@tie{}; les indications sous la forme d'une fraction
+niveau de volume ; les indications sous la forme d'une fraction
déterminée du volume disponible, et crescendos et decrescendos sous la
forme d'une progression linéaire entre les deux extrêmes. Le rendu des
indications de nuance peut être désactivé pour le MIDI -- voir
@ref{Le bloc MIDI}.
Le tempo initial ainsi que ses changements sont normalement indiqués au
-fil de la notation à l'aide de la commande @code{\tempo}@tie{}; ils
-seront retranscrits dans le fichier MIDI. La commande @code{\tempo}
-donne lieu à l'impression d'une indication métronomique que vous pouvez
-toutefois rendre invisible, comme indiqué à la rubrique
+fil de la notation à l'aide de la commande @code{\tempo} ; ils seront
+retranscrits dans le fichier MIDI. La commande @code{\tempo} donne lieu
+à l'impression d'une indication métronomique que vous pouvez toutefois
+rendre invisible, comme indiqué à la rubrique
@ref{Indication métronomique}. Une autre manière de spécifier le tempo
initial pour un fichier MIDI est indiquée plus avant -- voir
@ref{Le bloc MIDI}.
y porter l'extension @code{.mid}. D'autres systèmes utilisent
l'extension @code{.midi}. Si besoin est, placez la ligne suivante au
début de votre fichier source, avant l'ouverture de tout bloc
-@code{\book}, @code{\bookpart} ou @code{\score}@tie{}:
+@code{\book}, @code{\bookpart} ou @code{\score} :
@example
#(ly:set-option 'midi-extension "midi")
Cette ligne déterminera @code{.midi} comme extension par défaut pour les
fichiers MIDI.
-Vous pouvez aussi le faire en ligne de commande@tie{}:
+Vous pouvez aussi le faire en ligne de commande :
@example
lilypond … -dmidi-extension=midi fichierLily.ly
@funindex Staff.midiInstrument
L'instrument MIDI affecté à un canal particulier est déterminé par la
-propiété @code{Staff.midiInstrument}. Vous pouvez choisr l'un des
+propriété @code{Staff.midiInstrument}. Vous pouvez choisir l'un des
instruments répertoriés à l'annexe @ref{Instruments MIDI}.
@example
dénominations consacrées, LilyPond le replacera par un piano de concert
(@code{"acoustic grand"}).
-
@snippets
-
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{changing-midi-output-to-one-channel-per-voice.ly}
@knownissues
-
@c In 2.11 the following no longer seems to be a problem -td
@ignore
Un (de)crescendo non terminé ne sera pas correctement rendu en MIDI --
\score @{
@var{...musique...}
\midi @{
- \context @{
- \Score
- tempoWholesPerMinute = #(ly:make-moment 72 4)
- @}
+ \tempo 4 = 72
@}
@}
@end example
Ici, le tempo est fixé à 72 noires à la minute. Spécifier un tempo de
-la sorte ne permet pas de doner une valeur pour une note pointée. Vous
+la sorte ne permet pas de donner une valeur pour une note pointée. Vous
devrez, en pareil cas, subdiviser la note pointée en durée plus courte.
Par exemple, indiquer 90 à la noire pointée est équivalent à spécifier
-270 croches à la minute@tie{}:
+270 croches à la minute :
@example
tempoWholesPerMinute = #(ly:make-moment 270 8)
@}
@end example
-LilyPond ne génèrera de sortie MIDI que si vous incluez un bloc
+LilyPond ne générera de sortie MIDI que si vous incluez un bloc
@code{\midi} dans la structure de la partition, initialisée par la
commande @code{\score}.
@c TODO etc
Un fichier MIDI généré par LilyPond comprendra les éléments de notation
-suivants@tie{}:
+suivants :
@itemize
@item
@item
les microtonalités -- voir @ref{Altérations}. Leur rendu nécessite
-cependant un lecteur qui prenne en charge la modulation@tie{};
+cependant un lecteur qui prenne en charge la modulation ;
@item
les accords nommés ;
le rythme en tant que durée de note, y compris les nolets ;
@item
-les tremolos, exceptés ceux utilisant la syntaxe
-@qq{@code{:}[@var{nombre}]}@tie{};
+les trémolos, exceptés ceux utilisant la syntaxe
+@qq{@code{:}[@var{nombre}]} ;
@item
les liaisons de prolongation ;
les indications de nuance ;
@item
-les crescendos et decrescendos s'étalant sur plusieurs notes@tie{};
+les crescendos et decrescendos s'étalant sur plusieurs notes ;
@item
-les changements de tempo indiqués par un @code{\tempo}@tie{};
+les changements de tempo indiqués par un @code{\tempo} ;
@item
les paroles.
@end itemize
Si vous utilisez @ref{Le script Articulate}, d'autres éléments seront
-alors inclus@tie{}:
+alors inclus :
@itemize
-@item articulations (lié, staccato, etc.),
+@item articulations (lié, staccato, etc.),
@item trilles et groupettos,
@item rallentando et accelerando.
@end itemize
@c TODO index as above
LilyPond ne peut générer d'événement MIDI pour les éléments
-suivant, sauf à utiliser @ref{Le script Articulate}@tie{}:
+suivant, sauf à utiliser @ref{Le script Articulate} :
@itemize
@item
-le rythme indiqué sous forme d'annotation (p.ex. @emph{swing})@tie{};
+le rythme indiqué sous forme d'annotation (par ex. @emph{swing}) ;
@item
les changements de tempo indiqués sous forme d'annotation (sans
-@code{\tempo})@tie{};
+@code{\tempo}) ;
@item
-les staccatos et autres articulations ou ornementations@tie{};
+les staccatos et autres articulations ou ornementations ;
@item
-les liaisons d'articulation et de prhasé@tie{};
+les liaisons d'articulation et de phrasé ;
@item
-les crescendos ou decrescendos sur une sele note@tie{};
+les crescendos ou decrescendos sur une seule note ;
@item
-les tremolos indiqués par la syntaxe @qq{@code{:}[@var{nombre}]}@tie{};
+les trémolos indiqués par la syntaxe @qq{@code{:}[@var{nombre}]} ;
@item
-la basse chiffrée
+la basse chiffrée ;
@item
les accords en microtonalité.
soient mentionnée correctement dans @strong{toutes} les voix.
Lorsque l'on veut utiliser @code{\unfoldRepeats} seulement pour le rendu
-MIDI, il faut établir deux blocs @code{\score}@tie{}: un pour le MIDI,
+MIDI, il faut établir deux blocs @code{\score} : un pour le MIDI,
avec des reprises explicites, et l'autre pour la partition, avec des
reprises notées sous forme de barres de reprise, de trémolo ou de
symboles de pourcentage. Par exemple
Si vous étiez amené à devoir modifier l'intégralité du jeu des
correspondances, nous vous conseillons d'utiliser la procédure
@command{default-dynamic-absolute-volume} contenue dans le fichier
-@file{../scm/midi.scm} ansi que la table d'association comme base. Le
-dernier exemple de cette partie illustre la manière de procéder.
+@file{../scm/midi.scm} ainsi que la table d'association comme base.
+Le dernier exemple de cette partie illustre la manière de procéder.
@unnumberedsubsubsec Amplitude du volume en MIDI
Les valeurs extrêmes du volume MIDI des nuances se contrôlent à l'aide
des propriétés @code{midiMinimumVolume} et @code{midiMaximumVolume} qui
agissent au niveau @code{Score}. Ces propriétés sont effectives dès
-lors qu'une nuance est indiquée@tie{}; une nuance de départ est donc
+lors qu'une nuance est indiquée ; une nuance de départ est donc
requise pour que le volume soit ajusté dès le début de la partition.
Vous pouvez alors modifier la fraction correspondant à chaque nuance à
l'aide de la formule
@end example
Voici comment ajuster les nuances tout en limitant l'amplitude du volume
-entre 0,2 et 0,5@tie{}:
+entre 0,2 et 0,5 :
@lilypond[verbatim,quote]
\score {
>>
\layout {}
\midi {
- \context {
- \Score
- tempoWholesPerMinute = #(ly:make-moment 72 2)
- }
+ \tempo 2 = 72
}
}
@end lilypond
instrument MIDI et renverra une paire de fractions correspondant au
minimum et maximum de volume alloué à cet instrument. Cette
substitution fonctionne selon le même principe que celui que nous avons
-vu en dédut de chapitre avec @code{dynamicAbsoluteVolumeFunction}.
+vu en début de chapitre avec @code{dynamicAbsoluteVolumeFunction}.
L'égaliseur par défaut, @notation{default-instrument-equalizer}, est
-défini dans le fichier @file{../scm/midi.scm}@tie{}; son analyse vous
+défini dans le fichier @file{../scm/midi.scm} ; son analyse vous
aidera à construire votre propre procédure.
Nous allons, dans l'exemple suivant, régler le volume relatif de la
>>
\layout { }
\midi {
- \context {
- \Score
- tempoWholesPerMinute = #(ly:make-moment 72 2)
- }
+ \tempo 2 = 72
}
}
@end lilypond
La notation pour percussions recourt généralement à un contexte
particulier -- le @code{DrumStaff} -- qui permet d'affecter directement
-les instruments concernés au canal@tie{}10 qui leur est réservé.
+les instruments concernés au canal 10 qui leur est réservé.
Certains instruments, tels le xylophone, le marimba, le vibraphone ou
les timbales, se traitent cependant comme des instruments
@qq{classiques} puisqu'ils sont capables d'émettre des hauteurs
-différentes@tie{}; leurs notation relève donc d'un contexte @code{Staff}
+différentes ; leurs notation relève donc d'un contexte @code{Staff}
standard, et non d'un @code{DrumStaff} pour pouvoir être rendus
correctement en MIDI.
D'autres percussions, bien que n'émettant qu'un seul son et inclus dans
le standard @emph{general MIDI}, comme le tom mélodique ou le tambour
-taiko, ne sont pas attachés au canal@tie{}10. Ces instruments doivent
+taiko, ne sont pas attachés au canal 10. Ces instruments doivent
donc être saisi dans un contexte @code{Staff}, en utilisant la hauteur
-appropiée.
+appropriée.
De nombreux instruments de la famille des percussions, les castagnettes
par exemple, n'existent pas dans le standard @emph{general MIDI}.
@c TODO Expand with examples, and any other issues
@knownissues
-
-Le standard @emph{general MIDI} ne dispose pas du @emph{rim shot}@tie{};
-LilyPond lui subtitue un @emph{sidestick}.
+Le standard @emph{general MIDI} ne dispose pas du @emph{rim shot} ;
+LilyPond lui substitue un @emph{sidestick}.
@node Le script Articulate
Vous obtiendrez un rendu MIDI plus @qq{réaliste} grâce au script
@code{articulate}. Celui-ci va tout faire pour d'une part prendre en
-compte les articulations (liaisons, staccato, etc.) -- en ajoutant un
+compte les articulations (liaisons, staccato etc.) -- en ajoutant un
blanc aux notes raccourcies -- et, d'autre part, développer les trilles
ou groupettos ainsi que tenir compte des éventuels rallentando et
accelerando.
@end example
puis, dans le bloc @code{\score}, indiquer que toutes les répétitions
-seront développées et appliquer la commande à votre musique@tie{}:
+seront développées et appliquer la commande à votre musique :
@example
\unfoldRepeats \articulate <<
d'articulations tels les trilles.
@knownissues
-
-Dans la mesure où la script @code{articulate} tend à raccourcir les
+Dans la mesure où le script @code{articulate} tend à raccourcir les
accords, certaines musiques, notamment pour l'orgue, paraîtront de moins
bonne qualité.
@menu
* Affichage de notation au format LilyPond::
-* Affichage de la musique sous forme d'expression scheme::
+* Affichage de la musique sous forme d'expression Scheme::
* Enregistrement d'événements musicaux dans un fichier::
@end menu
@funindex \displayLilyMusic
La fonction musicale @code{\displayLilyMusic} permet d'afficher en
-notation LilyPond une expression musicale. Le réultat défilera dans le
+notation LilyPond une expression musicale. Le résultat défilera dans le
terminal après avoir lancé LilyPond en ligne de commande. Par exemple,
@example
fichier.
@example
-lilypond fichier.ly >affichage.txt
+lilypond fichier.ly > affichage.txt
@end example
@funindex \void
l'affichant. S'il est bien pratique d'insérer un
@code{\displayLilyMusic} dans une expression musicale pour en obtenir
des informations, l'interprétation de cette expression peut toutefois
-être évitée en ajoutant un @code{\void} avant l'instruction@tie{}:
+être évitée en ajoutant un @code{\void} avant l'instruction :
@example
@{
@end example
-@node Affichage de la musique sous forme d'expression scheme
-@subsection Affichage de la musique sous forme d'expression scheme
+@node Affichage de la musique sous forme d'expression Scheme
+@subsection Affichage de la musique sous forme d'expression Scheme
@translationof Displaying scheme music expressions
-Voir @rextend{Displaying music expressions}.
+Voir @rextend{Affichage d'expressions musicales}.
@node Enregistrement d'événements musicaux dans un fichier
LilyPond vous permet de sauvegarder dans un fichier séparé, sur la base
de la portée, les événements musicaux. Vous devrez pour ce faire
inclure dans votre fichier maître un fichier d'initialisation
-spécifique@tie{}:
+spécifique :
@example
\include "event-listener.ly"
Pour chaque portée que comporte votre partition, vous obtiendrez un
fichier @file{NOMFICHIER-PORTÉENOMMÉE.notes} ou
@file{NOMFICHIER-unnamed-staff.notes}. Notez bien que si plusieurs
-portées ne sont pas explicitement nomées, tous leurs événements seront
+portées ne sont pas explicitement nommées, tous leurs événements seront
regroupés et mélangés dans le même fichier. Le résultat ressemblera à
-ceci@tie{}:
+ceci :
@example
0.000 note 57 4 p-c 2 12
@var{temps} @var{type} @var{...paramètres...}
@end example
-Ces informations peuvent faire l'objet d'un retraîtement par d'autres
+Ces informations peuvent faire l'objet d'un retraitement par d'autres
programmes, comme des scripts python, aux fins de recherche en analyse
musicologique ou des expériences à partir du rendu de LilyPond.
-
@knownissues
-
Tous les événements ne sont pas pris en charge par
@file{event-listener.ly}. Il s'agit en premier lieu d'une
démonstration, un @qq{proof of concept} du potentiel de LilyPond. Si
-certains des éléments que vous cherchez à obtenir n'apparaîssent pas,
-recopiez le fichier @file{event-listener.ly} dans votre répoertoire et
+certains des éléments que vous cherchez à obtenir n'apparaissent pas,
+recopiez le fichier @file{event-listener.ly} dans votre répertoire et
modifiez-le de telle sorte qu'il travaille selon vos attentes.