--- /dev/null
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
+@ignore
+ Translation of GIT committish: 3b1c477ab2212f124f865c46df350c5a1c1f2412
+
+ 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.13.4"
+
+@c Translators: Jean-Charles Malahieude, John Mandereau, Gauvain Pocentek
+@c Translation checkers:
+
+@node La gravure musicale
+@chapter La gravure musicale
+@translationof Music engraving
+
+Ce chapitre traite des objectifs et de l'architecture de LilyPond.
+
+@c TODO:
+@c remove 3mm eps bounding box left padding for Sarabande (This will
+@c require adding a new snippet option to lilypond-book.py
+@c check formatting of HTML output
+@c
+
+@menu
+* L'histoire de LilyPond:: ce qui ne va pas avec les logiciels
+* La gravure en détails:: de l'homme à la machine
+* La gravure automatisée:: de la machine à l'homme
+* De la théorie à la pratique:: qui fait quoi
+* Démonstration par l'exemple::
+* Comparatif (BWV 861)::
+@end menu
+
+@node L'histoire de LilyPond
+@section L'histoire de LilyPond
+@translationof The LilyPond story
+
+Bien avant que LilyPond soit à l'origine de tout un matériel d'orchestre
+d'excellente facture ou qu'il participe à la création d'ouvrages
+universitaires, avant même qu'il serve à imprimer la plus simple des
+mélodies, avant que la communauté des utilisateurs de LilyPond
+s'étende sur toute la planète, LilyPond est parti du constat suivant@tie{}:
+
+@quotation
+Pourquoi la plupart des partitions qui sortent d'un ordinateur ne
+parvient-elle pas à égaler la beauté et l'élégance des partitions
+gravées à la main@tie{}?
+@end quotation
+
+@noindent
+Certaines réponses sont évidentes si l'on considère les deux partitions
+@ifnottex
+ci-dessous.
+@end ifnottex
+@iftex
+des pages qui suivent.
+@end iftex
+La première, qui date des années 1950, a été gravée à la main ; la
+seconde est une édition informatisée contemporaine.
+
+@ifnottex
+@quotation
+@noindent
+Bärenreiter BA 320, @copyright{}1950 :
+
+@sourceimage{baer-suite1-fullpage,,,png}
+@end quotation
+
+@quotation
+@noindent
+Henle n° 666, @copyright{}2000 :
+
+@sourceimage{henle-suite1-fullpage,,,png}
+@end quotation
+@end ifnottex
+
+Il s'agit de la même musique, tirée de la première suite pour
+violoncelle solo de Bach, mais ce n'est pas si évident, surtout
+lorsqu'on imprime ces deux pages et les considère à distance.
+@ifnottex
+(Les images contenues dans la version PDF de ce manuel sont en haute
+résolution, en vue de leur impression.)
+@end ifnottex
+Si vous posez ces pages sur un pupitre et les lisez ou prenez votre
+archet, vous constaterez que la gravure manuelle est nettement plus
+agréable à la vue. Ses lignes sont fluides et il y a du mouvement,
+c'est de la musique et c'est vivant. Quant à l'édition moderne, elle a
+l'air terne et mécanique.
+
+Ce qui rend cette nouvelle édition différente n'est pas évident au
+premier coup d'œil : c'est propre et condensé, presque @qq{mieux} que
+l'autre dans la mesure où tout y est @qq{calculé} pour atteindre
+l'uniformité. À vrai dire, il nous a fallu un moment pour nous en
+rendre compte. Notre but étant d'améliorer la notation informatisée, il
+nous fallait mettre le doigt sur ce qui ne va pas.
+
+Le problème se situe au niveau même de la précision toute mathématique
+qui amène à l'uniformité de cette nouvelle édition. Considérons les
+barres de mesure en milieu de ligne@tie{}: dans la partition
+traditionnelle, leur emplacement varie quelque peu, à l'inverse de la
+nouvelle, où toutes les barres sont rigoureusement alignées. Pour que
+ce soit bien clair, le schéma ci-dessous montre en parallèle ce
+positionnement, tant pour la version traditionnelle -- à gauche -- que
+pour la version moderne -- à droite.
+
+@quotation
+@iftex
+@sourceimage{pdf/page-layout-comparison,,,}
+@end iftex
+@ifnottex
+@sourceimage{page-layout-comparison,,,png}
+@end ifnottex
+@end quotation
+@noindent
+
+Sur la partition générée par l'ordinateur, même les notes sont alignées
+et la mélodie finit par disparaître derrière un quadrillage à base de
+signes musicaux.
+
+Il y a bien sûr d'autres divergences. En ce qui concerne l'édition
+traditionnelle, les traits verticaux sont plus épais, les liaisons plus
+rapprochées des têtes de note, et la pente des ligatures -- liens
+groupant les croches -- pas toujours la même. D'aucuns diront que tout
+ceci n'est que pinaillerie, il n'en demeure pas moins que cette
+partition a plus de lisibilité. Dans la partition informatisée, il n'y
+a pratiquement aucune différence d'une ligne à l'autre, et si
+l'interprète la quitte des yeux un instant, il risque de ne plus savoir
+où il en était sur la page.
+
+LilyPond a été conçu dans le but de résoudre les problèmes que nous
+avons décelés dans divers logiciels existant et aussi dans l'optique
+d'atteindre une qualité comparable aux meilleures partitions gravées à
+la main.
+
+@iftex
+@page
+@noindent
+Bärenreiter BA 320, @copyright{}1950 :
+
+@sourceimage{baer-suite1-fullpage,16cm,,}
+@page
+@noindent
+Henle no 666, @copyright{}2000 :
+@sp 3
+@sourceimage{henle-suite1-fullpage,16cm,,}
+@page
+@end iftex
+
+@node La gravure en détails
+@section La gravure en détails
+@translationof Engraving details
+
+@cindex gravure
+@cindex typographie musicale
+@cindex musique et typographie
+@cindex plate engraving
+@cindex music engraving
+
+L'art de la typographie musicale est celui de la @emph{gravure
+musicale}. Ce terme vient du procédé traditionnel de l'impression
+musicale@footnote{Dès le début, les imprimeurs européens ont essayé
+plusieurs techniques, allant de la matrice en bois sculpté à la fine
+plaque de métal ciselée, en passant par des typons mobiles. L'avantage
+de ces derniers résidait dans la possibilité d'effectuer aisément des
+corrections et de facilement ajouter à la musique texte et paroles.
+Néanmoins seule la gravure offrait l'avantage d'appréhender le rendu
+global. C'est la raison pour laquelle la gravure est devenue le
+standard en matière de musique imprimée, à l'exception près de certains
+livres de cantiques, y compris au XXe siècle, essentiellement pour des
+raisons de simplicité et de coût.}. Il y a encore quelques décennies,
+les partitions étaient réalisées en taillant et ciselant la musique dans
+des plaques de zinc ou d'étain, en inverse, comme dans un miroir. Ces
+plaques étaient encrées et les reliefs créés par les poinçons et les
+découpes retenaient l'encre. La partition était alors réalisée en
+pressant le papier contre la plaque. Découpes et poinçons étaient
+entièrement faits à la main. Dans la mesure où les corrections étaient
+presque irréalisables, la gravure devait être correcte dès le premier
+essai. Cela demande évidemment une très grande habileté. La gravure
+musicale est un métier d'artisan, appris sur le tas. Un graveur ne
+devenait un maître accompli qu'après une dizaine d'années de pratique.
+
+@quotation
+@iftex
+@sourceimage{hader-slaan,,7cm,}
+@end iftex
+@ifnottex
+@sourceimage{hader-slaan,,,jpg}
+@end ifnottex
+@end quotation
+
+LilyPond s'inspire du travail réalisé par les maîtres graveurs qui
+officiaient chez les éditeurs européens jusque dans les années 1950.
+Ceux-ci sont bien souvent considérés comme ayant atteint le sommet de
+leur art, et comptent dans leurs rangs des maisons telles que
+Bärenreiter, Duhem, Durand, Hofmeister, Peters ou Schott. Au fil de
+notre analyse de ces éditions, nous en avons appris encore plus sur ce
+qu'il faut pour obtenir une partition d'excellente facture, et ce sur
+quoi LilyPond devait porter ses efforts.
+
+@c Now all newly printed music is produced with computers. This has
+@c obvious advantages: prints are cheaper to make, editorial work can be
+@c delivered by email, and the original data can be easily stored.
+@c Unfortunately, computer-generated scores rarely match the quality of
+@c hand-engraved scores. Instead, computer printouts have a bland,
+@c mechanical look, which makes them unpleasant to play from.
+
+@menu
+* Fontes et polices:: De la création des polices musicales
+* Espacement:: Considérations sur les espacements
+* Lignes supplémentaires:: Cas particulier en matière de notation
+* Tailles:: Considérations sur la taille des portées
+* La raison de tous ces efforts:: Pourquoi s'attacher aux détails
+@end menu
+
+@node Fontes et polices
+@unnumberedsubsec Fontes et polices
+@translationof Music fonts
+
+Les images ci-dessous mettent en évidence certaines différences entre
+l'art du graveur traditionnel et le résultat habituel sorti d'un
+ordinateur. L'image de gauche est un @emph{fac simile} d'un bémol tiré
+d'une édition Bärenreiter traditionnelle ; celle de droite est issue de
+la même partition, éditée en 2000. Bien que toutes deux soient
+imprimées avec le même encrage, la version @qq{ancienne} paraît plus
+noire : les lignes de la portée y sont plus épaisses et le galbe du
+bémol de Bärenreiter est à la limite de la volupté. Sur l'autre image,
+les lignes sont plus fines et le bémol semble raide, coincé.
+
+@multitable @columnfractions .25 .25 .25 .25
+@item @tab
+@ifnotinfo
+@iftex
+@sourceimage{baer-flat-gray,,4cm,}
+@end iftex
+@ifnottex
+@sourceimage{baer-flat-gray,,,png}
+@end ifnottex
+
+@tab
+@iftex
+@sourceimage{henle-flat-gray,,4cm,}
+@end iftex
+@ifnottex
+@sourceimage{henle-flat-gray,,,png}
+@end ifnottex
+
+@end ifnotinfo
+@ifinfo
+@sourceimage{henle-flat-bw,,,png}
+@sourceimage{baer-flat-bw,,,png}
+@sourceimage{lily-flat-bw,,,png}
+@end ifinfo
+
+
+@item @tab
+Bärenreiter (1950)
+@tab
+Henle (2000)
+
+@end multitable
+
+@cindex symboles musicaux
+@cindex police
+@cindex densité
+@cindex contraste
+
+Lorsque nous nous sommes décidés à écrire un programme permettant de
+typographier la musique, aucune police librement accessible ne
+correspondait à l'esthétique de nos partitions préférées. Sans
+toutefois nous décourager, nous avons créé notre propre jeu de symboles
+musicaux à partir des éditions traditionnelles dont nous disposions.
+L'expérience aidant, notre goût typographique s'est développé et nous
+avons pu appréhender certaines subtilités stylistiques qui nous font
+trouver maintenant de piètre qualité des polices que nous avions tout
+d'abord appréciées.
+
+À titre d'exemple, voici deux fontes musicales : la première ligne
+comporte des caractères de la police par défaut du logiciel Sibelius --
+la police @emph{Opus} -- et la deuxième, ces mêmes caractères dans notre
+propre police pour LilyPond.
+
+@quotation
+@iftex
+@sourceimage{pdf/OpusAndFeta,,,}
+@end iftex
+@ifnottex
+@sourceimage{OpusAndFeta,,,png}
+@end ifnottex
+@end quotation
+
+Les symboles de LilyPond sont plus forts et leur épaisseur plus
+équilibrée, ce qui d'ailleurs les rend plus lisibles. Les extrémités en
+pointe, comme pour le soupir, devraient avoir une terminaison légèrement
+arrondie plutôt qu'un angle tranchant. Ceci s'explique par la fragilité
+des poinçons qui s'émoussent rapidement lors du martellement et de la
+ciselure. Par ailleurs, la densité de la police doit tenir compte de
+l'épaisseur des lignes, ligatures et liaisons afin d'obtenir un rendu
+plein d'intensité et d'équilibre.
+
+Vous noterez aussi que notre ronde n'est pas ovoïde, mais plutôt en
+forme de losange. La barre de notre bémol est comme brossée, le haut
+étant de fait un peu plus large. Notre dièse et notre bécarre sont plus
+évidents à reconnaître à distance du fait que leurs barres transversales
+n'ont pas la même pente et que les verticales sont plus épaisses.
+
+@node Espacement
+@unnumberedsubsec Espacement
+@translationof Optical spacing
+
+Si l'on considère l'espacement, sa répartition devrait refléter la durée
+des notes. Néanmoins, et comme nous l'avons vu plus haut avec la suite
+de Bach, la plupart des éditions modernes se basent sur des durées à la
+précision mathématique, ce qui entraine un effet des plus monotones.
+Dans l'exemple qui suit, le même motif est imprimé deux fois@tie{}: la
+première en appliquant un espacement chronométrique, la seconde avec
+quelques corrections. Quelle version remporte vos suffrages@tie{}?
+
+@cindex optique et espacement
+@cindex espacement et effet d'optique
+
+
+@lilypond
+\paper {
+ ragged-right = ##t
+ indent = #0.0
+}
+
+music = {
+ c'4 e''4 e'4 b'4 |
+ \stemDown
+ b'8[ e'' a' e'']
+ \stemNeutral
+ e'8[ e'8 e'8 e'8]
+}
+\score
+{
+ \music
+ \layout {
+ \context {
+ \Staff
+ \override NoteSpacing #'stem-spacing-correction = #0.0
+ \override NoteSpacing #'same-direction-correction = #0.0
+ \override StaffSpacing #'stem-spacing-correction = #0.0
+ }
+ }
+}
+@end lilypond
+
+@lilypond
+\paper {
+ ragged-right = ##t
+ indent = #0.0
+}
+
+music = {
+ c'4 e''4 e'4 b'4 |
+ \stemDown
+ b'8[ e'' a' e'']
+ \stemNeutral
+ e'8[ e'8 e'8 e'8]
+}
+
+\score
+{
+ \music
+ \layout {
+ \context {
+ \Staff
+ \override NoteSpacing #'stem-spacing-correction = #0.6
+ }
+ }
+}
+@end lilypond
+
+@cindex rythmes réguliers
+@cindex espacement régulier
+@cindex régulier, espacement
+
+Chaque mesure de ce fragment comporte des notes d'égale valeur, ce qui
+devrait se constater au niveau de l'espacement. Malheureusement, notre
+œil nous trompe@tie{}: non seulement il considère la distance séparant
+deux têtes de notes mais, de surcroît, il prend en compte l'espace
+entre deux hampes. Par voie de conséquence, une succession de notes
+hampe en haut puis hampe en bas devrait comporter un espace accru et,
+dans une situation inverse, être plus resserrée, sans oublier de
+considérer la hauteur de chacune de ces notes. La deuxième ligne
+comporte de tels aménagements alors que, dans la première ligne, la
+succession hampe descendante puis montante laisse apparaître des notes
+resserrées. Un maître graveur ajusterait les espaces pour obtenir un
+rendu qui flatte l'œil.
+
+Autre effet d'optique -- que d'ailleurs LilyPond prend en considération
+-- l'espace entre la hampe et la barre de mesure. Lorsqu'une barre est
+précédée d'une hampe montante, il est judicieux d'accroître l'espace
+qui les sépare pour éviter cette sensation de tassement. Une note dont
+la hampe va vers le bas ne nécessite pas un tel ajustement.
+
+@node Lignes supplémentaires
+@unnumberedsubsec Lignes supplémentaires
+@translationof Ledger lines
+
+@cindex lignes supplémentaires
+@cindex collisions
+
+Les lignes supplémentaires sont une gageure pour le typographe@tie{}:
+les différents symboles musicaux doivent être suffisamment rapprochés
+pour que le lecteur identifie la hauteur au premier coup d'œil. Vous
+noterez, dans l'exemple qui suit, que les lignes supplémentaires sont un
+peu plus épaisses que celles de la portée. Par ailleurs, un maître
+graveur écourtera la ligne supplémentaire en présence d'une altération.
+LilyPond, dans sa recherche d'efficacité, adopte ces pratiques.
+
+@multitable @columnfractions .25 .25 .25 .25
+@item @tab
+
+@iftex
+@sourceimage{baer-ledger,3cm,,}
+@end iftex
+@ifnottex
+@sourceimage{baer-ledger,,,png}
+@end ifnottex
+
+@tab
+
+@iftex
+@sourceimage{lily-ledger,3cm,,}
+@end iftex
+@ifnottex
+@sourceimage{lily-ledger,,,png}
+@end ifnottex
+
+@end multitable
+
+
+@node Tailles
+@unnumberedsubsec Tailles
+@translationof Optical sizing
+
+Une même œuvre peut être imprimée dans différents formats -- d'une
+partie instrumentale au conducteur format de poche. Les graveurs
+traditionnels utilisaient alors des poinçons différents pour obtenir le
+meilleur rendu selon la taille de la partition. L'avènement des fontes
+digitalisées permet d'obtenir n'importe quelle taille à partir d'un
+simple tracé. Bien que ceci constitue un progrès en soi, il nous faut
+cependant nuancer@tie{}: les glyphes sont moins forts lorsqu'ils sont de
+taille réduite.
+
+Pour les besoins de lilyPond, nous avons créé des polices de graisse
+différente selon la taille. Voici ce que produit LilyPond dans une
+taille de portée de 26@tie{}points@tie{}:
+
+@quotation
+@iftex
+@sourceimage{pdf/size26,,23mm,}
+@end iftex
+@ifnottex
+@sourceimage{size26,,,png}
+@end ifnottex
+@end quotation
+
+@noindent
+et la même musique en 11@tie{}points, grossie de 236@tie{}% pour obtenir
+une taille identique à l'image précédente@tie{}:
+
+@quotation
+@iftex
+@sourceimage{pdf/size11,,23mm,}
+@end iftex
+@ifnottex
+@sourceimage{size11,,,png}
+@end ifnottex
+@end quotation
+
+@noindent
+Comme vous le constatez, LilyPond imprime des lignes un peu plus
+épaisses pour garantir une meilleure lecture à taille réduite.
+
+@ignore
+This also allows staves of different sizes to coexist peacefully when
+used together on the same page:
+
+@c TODO: are the stems in this example the right thickness? How should
+@c line weights be scaled for small staves?
+
+@c Grieg's Violin Sonata Op. 45
+@lilypond[indent=1.5cm]
+global = {
+ \time 6/8
+ \key c \minor
+}
+
+\new Score <<
+ \new Staff \with {
+ fontSize = #-4
+ \override StaffSymbol #'staff-space = #(magstep -4)
+ \override StaffSymbol #'thickness = #(magstep -3)
+ }
+ \relative c' {
+ \global
+ \set Staff.instrumentName = #"Violin"
+ c8.(\f^> b16 c d) ees8.(^> d16 c b)
+ g8.(^> b16 c ees) g8-.^> r r
+ R2.
+ }
+ \new PianoStaff <<
+ \set PianoStaff.instrumentName = #"Piano"
+ \new Staff \relative c' {
+ \global
+ s2.
+ s4. s8 r8 r16 <c f aes c>
+ <c f aes c>4.^> <c ees g>8 r r
+ }
+ \new Staff \relative c {
+ \global
+ \clef "bass"
+ << {
+ \once \override DynamicText #'X-offset = #-3
+ <ees g c>2.~->^\f
+ <ees g c>4.~ <ees g c>8
+ } \\ {
+ <c g c,>2.~
+ <c g c,>4.~ <c g c,>8
+ } >>
+ r8 r16 <f, c' aes'>16
+ <f c' aes'>4.-> <c' g'>8 r r
+ }
+ >>
+>>
+@end lilypond
+@end ignore
+
+@node La raison de tous ces efforts
+@unnumberedsubsec La raison de tous ces efforts
+@translationof Why work so hard?
+
+Les musiciens sont normalement plus concentrés sur la manière dont ils
+jouent la musique que sur son apparence, aussi ces pinailleries sur des
+détails de typographie peuvent paraître académiques. Il n'en est rien.
+La partition contribue, au même titre que bien d'autres éléments, à
+l'existence même d'une représentation@tie{}: tout doit être fait pour
+que l'interprète donne le meilleur de lui-même, et ce qui est peu clair
+ou pas agréable à lire constitue un frein.
+
+La musique gravée de manière traditionnelle présente des symboles denses
+et des lignes épaisses. Ceci produit un résultat équilibré, à plus
+forte raison si la partition est éloignée du lecteur, comme lorsqu'elle
+est posée sur un pupitre. Une répartition attentive des blancs permet
+de resserrer la musique sans pour autant tasser les symboles et, au
+final, diminue le nombre de tournes -- avantage indéniable.
+
+C'est une caractéristique commune de la typographie. La présentation
+devrait être soignée, non seulement pour l'amour de l'art, mais plus
+spécialement parce qu'elle vient en aide au lecteur dans sa tâche.
+Pour du matériel d'interprétation tel que les partitions de musique,
+ceci est doublement important@tie{}: les musiciens sont limités dans
+leur attention. Au moins leur attention se porte sur la lecture, au
+plus ils peuvent se concentrer sur l'exécution. En d'autres termes, une
+meilleure typographie se traduit par une meilleure interprétation.
+
+Ces considérations montrent bien que la typographie musicale est un art
+à la fois complexe et plein de subtilités, et qu'elle recquiert des
+compétences particulières que la majorité des musiciens ne possède pas.
+LilyPond s'efforce de transposer le degré d'excellence de la gravure
+traditionnelle à l'ère de l'ordinateur et donc de le mettre à
+disposition de tous les musiciens. Nous avons affiné nos algorithmes,
+le @emph{design} de nos fontes et les réglages du programme de manière à
+produire des partitions d'une qualité comparable aux bonnes vieilles
+éditions que nous avons toujours autant de plaisir à voir et à
+interpréter.
+
+
+@node La gravure automatisée
+@section La gravure automatisée
+@translationof Automated engraving
+
+@cindex gravure automatisée
+@cindex automatisée, gravure
+
+Nous allons maintenant examiner les éléments nécessaires à la création
+d'un logiciel capable d'imiter le rendu des partitions gravées à
+l'ancienne. Nous commencerons par voir comment inculquer à l'ordinateur
+les @qq{bonnes manières} de la présentation. Nous nous attarderons
+ensuite sur l'analyse comparative par rapport aux éditions
+traditionnelles, avant de considérer le degré de flexibilité à y inclure
+pour être en mesure de gérer les différents cas de figure particuliers à
+la notation.
+
+@menu
+* Concours de beauté:: l'option du moindre mal
+* Modélisation et banc d'essai:: l'évaluation des performances
+* Règles de formatage:: l'architecture flexible
+@end menu
+
+@node Concours de beauté
+@unnumberedsubsec Concours de beauté
+@translationof Beauty contests
+
+Quels sont en réalité nos critères de formatage@tie{}? Considérant
+l'image suivante, laquelle de ces trois configurations devrions-nous
+choisir pour formater la liaison@tie{}?
+
+@lilypond
+\relative c {
+ \clef bass
+ \once \override Slur #'positions = #'(1.5 . 1)
+ e8[( f] g[ a b d,)] r4
+ \once \override Slur #'positions = #'(2 . 3)
+ e8[( f] g[ a b d,)] r4
+ e8[( f] g[ a b d,)] r4
+}
+@end lilypond
+
+Seuls quelques ouvrages traitent de l'art de graver la musique. Ils ne
+contiennent malheureusement que des généralités et quelques exemples.
+La lecture de telles règles est certes instructive, mais est très loin
+de nous conduire à un algorithme prêt à être implémenté dans un
+programme. Dans la pratique, suivre les instructions de ces traités
+aboutirait à des algorithmes qui figent bon nombre d'exceptions.
+Répertorier tous ces cas de figure demanderait un travail considérable,
+qui finalement ne les couvrirait pas tous.
+
+@quotation
+@iftex
+@sourceimage{ross-beam-scan,7cm,,}
+@end iftex
+@ifnottex
+@sourceimage{ross-beam-scan,,,.jpg}
+@end ifnottex
+@end quotation
+
+@emph{Règles de formatages définies par l'exemple. Image tirée de
+l'ouvrage de Ted Ross @qq{The Art of Music Engraving}}
+
+Plutôt que d'écrire une foultitude de règles qui embrasserait tous les
+cas de figure possibles et imaginables en matière de mise en forme, nous
+avons préféré inculquer à LilyPond un certain nombre d'objectifs qui lui
+permette de choisir entre différentes alternatives selon leur
+esthétique. Pour ce faire, chacune des configurations est analysée en
+terme de moins bonne qualité, et nous opterons pour celle étant la moins
+mauvaise.
+
+Voici, à titre d'exemple, trois configurations possibles pour le tracé
+d'une liaison@tie{}; Lilypond leur attribue individuellement une @qq{note
+de laideur}. Le premier essai se voit attribuer 15,39 points notamment
+pour l'effleurement de la tête de note.
+
+@lilypond
+\relative c {
+ \clef bass
+ \once \override Slur #'positions = #'(1.5 . 1)
+ e8[(_"15.39" f] g[ a b d,)] r4
+}
+@end lilypond
+
+La liaison ci-dessous reste à une distance uniforme des notes, mais il
+faut tenir compte du fait qu'elle n'est pas rattachée aux première et
+dernière notes. Ceci nous fait 1,71 points pour le début de la
+liaison et 9,37 pour la terminaison -- qui est beaucoup plus éloignée de
+la dernière note. Par ailleurs, la liaison monte alors que la mélodie
+redescend, ce qui entraîne une pénalité de 2 points. Ceci nous fait un
+total de 13,08 points de laideur.
+
+@lilypond
+\relative c {
+ \clef bass
+ \once \override Slur #'positions = #'(2 . 3)
+ e8[(_"13.08" f] g[ a b d,)] r4
+}
+@end lilypond
+
+Quant à la liaison qui suit, seule la terminaison reste éloignée de la
+dernière note, ce qui donne 10,04 points de laideur auxquels nous
+ajoutons 2 autres points pour la pente ascendante. Cette configuration
+étant la moins laide, ou plutôt la version la plus satisfaisante, nous
+la sélectionnons.
+
+@lilypond
+\relative c {
+ \clef bass
+ e8[(_"12.04" f] g[ a b d,)] r4
+}
+@end lilypond
+
+Cette manière de procéder est générique, et nous y avons recours dans
+bon nombre de situations, comme pour déterminer la pente d'un lien de
+croches, formater des accords liés, formater des accords avec des
+valeurs pointées, positionner les sauts de ligne ou de page. Cette
+technique est consommatrice de temps de calcul, dans la mesure où elle
+examine de nombreuses possibilités ; néanmoins, le jeu en vaut la
+chandelle, puisque le résultat final est bien meilleur et nous rapproche
+des éditions traditionnelles.
+
+@node Modélisation et banc d'essai
+@unnumberedsubsec Modélisation et banc d'essai
+@translationof Improvement by benchmarking
+
+Au fil du temps, le rendu de LilyPond a évolué, et continue de
+s'améliorer lorsqu'on le compare aux partitions gravées à la main.
+
+Voici un extrait de l'une de nos éditions de référence (Bärenreiter BA
+320)@tie{}:
+
+@iftex
+@sourceimage{baer-sarabande-hires,16cm,,}
+@end iftex
+@ifnottex
+@sourceimage{baer-sarabande,,,png}
+@end ifnottex
+
+@noindent
+et ce que génère l'une des anciennes versions de LilyPond -- la 1.4,
+publiée en mai 2001@tie{}:
+
+@iftex
+@sourceimage{pdf/lily14-sarabande,16cm,,}
+@end iftex
+@ifnottex
+@sourceimage{lily14-sarabande,,,png}
+@end ifnottex
+
+@noindent La sortie LilyPond est certes lisible, et acceptable pour
+beaucoup de gens. Cependant, une comparaison minutieuse avec une
+édition gravée à la main révèle de nombreuses erreurs de
+formatage@tie{}:
+
+@iftex
+@sourceimage{lily14-sarabande-annotated-hires,16cm,,}
+@end iftex
+@ifnottex
+@sourceimage{lily14-sarabande-annotated,,,png}
+@end ifnottex
+
+@itemize @bullet
+@item trop d'espace avant la métrique
+@item la hampe des notes ligaturées est trop longue
+@item les deuxième et quatrième mesures sont trop tassées
+@item la liaison est affreuse
+@item les indications de trille sont trop grosses
+@item les hampes sont trop fines
+@end itemize
+
+@noindent
+Passons sous silence les notes et indications absentes, tout comme
+la faute de hauteur@tie{}!
+
+En ajustant les algorithmes, paramètres et polices concernés, nous avons
+pu améliorer le résultat. La deuxième ligne ci-dessous a été générée
+par la version la plus récente de LilyPond (@version{}).
+
+@iftex
+@sourceimage{baer-sarabande-hires,16cm,,}
+@end iftex
+@ifnottex
+@sourceimage{baer-sarabande,,,png}
+@end ifnottex
+
+@lilypond[staffsize=17.5,line-width=15.9\cm]
+\relative c {
+ \clef "bass"
+ \key d \minor
+ \time 3/4
+ \mergeDifferentlyDottedOn
+ << {\slurDashed d8.-\flageolet( e16) e4.-\trill( d16 e)}
+ \\ {d4_2 a2}
+ >>
+ \slurDashed
+ <f' a, d,>4. e8( d c)
+ \slurSolid
+ bes g' f e16( f g_1 a_2 bes_3 d,_2)
+ \slurDashed
+ cis4.-\trill b8_3( a g)
+ << {\slurDashed d'8.( e16) e4.-\trill( d16 e)}
+ \\ {<f, a>4 a2}
+ >>
+}
+@end lilypond
+
+@noindent
+Sans être un clone de l'édition de référence, cette sortie est plus
+proche d'une qualité de publication que les précédentes.
+
+@node Règles de formatage
+@unnumberedsubsec Règles de formatage
+@translationof Getting things right
+
+Nous pouvons aussi évaluer les capacités de LilyPond dans ses choix, en
+comparant ses résultats avec ce que génèrent d'autres d'autres logiciels
+du marché. Notre choix s'est porté sur Finale@tie{}2008, l'un des
+logiciels les plus populaires notamment en Amérique du Nord. Son plus
+proche concurrent est Sibelius, très répandu sur le marché européen.
+
+Pour cette analyse comparative, nous avons choisi la fugue en sol mineur
+du premier livre du Clavier bien tempéré de Bach (BWV@tie{}861). En
+voici le thème@tie{}:
+
+@lilypond
+\relative c' {
+ \key g \minor
+ \clef "treble_8"
+ r8 d ees g, fis4 g
+ r8 a16 bes c8 bes16 a bes8
+}
+@end lilypond
+
+@noindent
+
+Nous nous sommes intéressés aux sept dernières mesures (27 à 34) de
+l'œuvre, que nous avons saisies à la fois avec Finale et avec LilyPond.
+C'est à cet endroit que le sujet est rappelé, dans une strette à trois
+voix, avant de mener à la conclusion. Pour ce qui est de Finale, nous
+nous sommes abstenus d'effectuer quelque ajustement que ce soit dans le
+but d'obtenir un résultat par défaut. Ceci permet de vraiment apprécier
+conjointement ce que génère chacun des deux logiciels sans retouche
+aucune. Nous avons toutefois redimensionné la page pour les besoins de
+cet essai et forcé la musique à tenir sur deux systèmes pour que la
+comparaison soit plus évidente. En effet, Finale crée par défaut deux
+systèmes de trois mesure, et un troisième -- s'étalant sur toute la
+ligne -- pour la dernière mesure.
+
+La plupart des différences entre ces deux éditions -- Finale pour la
+première image -- se situent dans les mesures 28 et 29@tie{}:
+
+@iftex
+@sourceimage{pdf/bwv861mm28-29,14cm,,}
+@end iftex
+@ifnottex
+@sourceimage{bwv861mm28-29,,,png}
+@end ifnottex
+
+@lilypond[staffsize=19.5,line-width=14\cm]
+global = {\key g \minor}
+
+partI = \relative c' {
+ \voiceOne
+ fis8 d' ees g, fis4 g
+ r8 a16 bes c8 bes16 a d8 r r4
+}
+
+partII = \relative c' {
+ \voiceTwo
+ d4 r4 r8 d'16 c bes8 c16 d
+ ees8 d c ees a, r r4
+}
+partIII = \relative c' {
+ \voiceOne
+ r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a
+}
+partIV = \relative c {
+ \voiceTwo
+ d4 r r2
+ r8 d ees g, fis4 a
+}
+
+\score {
+ <<
+ % \set Score.barNumberVisibility = #all-bar-numbers-visible
+ % required in 2.13
+ \set Score.currentBarNumber = #28
+ \bar ""
+ \new PianoStaff <<
+ \new Staff = "RH" <<
+ \global
+ \new Voice = "voiceI" { \partI }
+ \new Voice = "voiceII" { \partII }
+ >>
+
+ \new Staff = "LH" <<
+ \clef "bass"
+ \global
+ \new Voice = "voiceIII" { \partIII }
+ \new Voice = "voiceIV" { \partIV }
+ >>
+ >>
+ >>
+ \layout {
+ \context {
+ \Staff
+ \remove "Time_signature_engraver"
+ }
+ \context {
+ \PianoStaff
+ \override StaffGrouper #'between-staff-spacing #'padding = #1
+ }
+ }
+}
+@end lilypond
+
+Entre autres défauts du résultat brut de Finale, nous notons :
+@itemize @bullet
+@item La majorité des ligatures est trop éloignée de la portée.
+Lorsqu'une ligature se retrouve vers le milieu de la portée, la hauteur
+des hampes qui la portent est d'environ une octave. Néanmoins, un
+maître graveur les raccourcira dès lors que cette ligature est en dehors
+de la portée d'une section à plusieurs voix. Les règles de ligatures de
+Finale peuvent être améliorées à l'aide du greffon @emph{Patterson
+Beams}, que nous avons décidé de laisser de côté pour cet exemple.
+@item Finale n'ajuste pas la position des notes qui s'entrecroisent. Il
+en résulte une lecture peu évidente lorsque les voix supérieure et
+inférieure de croisent temporairement@tie{}:
+
+@c KEEPLY
+@lilypond
+collide = \once \override NoteColumn #'force-hshift = #0
+\new Score <<
+ \new Voice = "sample" \relative c''{
+ \key g \minor
+ <<
+ {\voiceOne g4 \collide g4}
+ \new Voice {\voiceTwo bes \collide bes}
+ >>
+ }
+ \new Lyrics \lyricsto "sample" \lyricmode { "bien " " mauvais" }
+>>
+@end lilypond
+
+@item Finale positionne tous les silences d'une même voix à une hauteur
+fixe de la portée. Si l'utilisatuer peut les déplacer à loisir, le
+logiciel ne se soucie en rien de ce qui se passe dans les autres voix.
+Par chance, il n'y a aucune collision entre un silence et une note dans
+cet exemple@tie{}; cela tient plutôt à la position des notes qu'à celle
+des silences. Tout compte fait, le mérite en revient à Bach plutôt qu'à
+Finale d'éviter les collisions.
+
+@end itemize
+
+Cet exemple ne vise en aucun cas à démontrer que Finale est incapable de
+fournir un résultat admirable. Au contraire, un utilisateur chevronné
+pourra obtenir quelque chose d'excellent, mais au prix d'une bonne dose
+tant de dextérité que de temps. La différence fondamentale entre
+LilyPond et les générateurs de partition commerciaux réside dans le fait
+suivant@tie{}: LilyPond tend à réduire l'intervention de l'utilisateur à
+sa plus imple expression, alors que les autres programmes font tout pour
+avoir une interface attractive pour effectuer toutes les retouches.
+
+Par ailleurs, Finale commet une erreur particulièrement flagrante@tie{}:
+il manque un bémol à la mesure 33
+
+@quotation
+@iftex
+@sourceimage{pdf/bwv861mm33-34-annotate,7.93cm,,}
+@end iftex
+@ifnottex
+@sourceimage{bwv861mm33-34-annotate,,,png}
+@end ifnottex
+@end quotation
+
+@noindent
+Il faut un bémol pour annuler le bécarre qui se trouve dans la même
+mesure, mais Finale ne s'en rend pas compte parce qu'il se trouve dans
+une autre voix. Ainsi, l'utilisateur doit non seulement recourir à un
+greffon pour gérer les ligatures, repositionner têtes de note et
+silences, il lui faut de surcroit vérifier qu'à chaque mesure les
+altérations sont en conformité indépendament des voix s'il veut être à
+l'abri de toute interruption d'une répétition pour une erreur dans la
+partition.
+
+S'il vous plaît d'examiner ces sept mesures de plus près, elles sont
+reproduites en intégralité à la fin de cet essai, ainsi que quatre
+autres versions. Vous noterez certaines variations entre les éditions
+traditionnelles, et LilyPond tient un rang acceptable. Il reste tout de
+même quelques petits défauts à régler, comme le raccourcissement peut
+être exagéré des hampes@tie{}; il y a donc encore de quoi faire pour les
+développeurs.
+
+La typographie relevant d'un jugement humain, les personnes ne peuvent
+être remplacées. Beaucoup de tâches rébarbatives peuvent cependant être
+automatisées@tie{}: si LilyPond parvenait à gérer la plupart des
+situations usuelles correctement, ce serait un grand pas en avant pour
+l'édition informatisée. Au fil du temps, le logiciel pourra être révisé
+afin d'automatiser de plus en plus d'actions, de sorte que les
+ajustements manuels seront de moins en moins nécessaires. Les cas
+particuliers peuvent être traités manuellement, notamment grâce à
+l'architecture flexible de LilyPond.
+
+
+@node De la théorie à la pratique
+@section De la théorie à la pratique
+@translationof Building software
+
+Nous allons nous intéresser, dans les paragraphes qui suivent, aux
+arbitrages en terme de programmation qui ont participé à l'élaboration
+de LilyPond.
+
+@menu
+* Représentation de la musique:: le format de saisie
+* Les constituants de la gravure:: quels symboles graver
+* Flexibilité architecturale::
+@end menu
+
+
+@node Représentation de la musique
+@unnumberedsubsec Représentation de la musique
+@translationof Music representation
+
+@cindex syntaxe
+@cindex structures récursives
+@cindex récursivité des structures
+
+Le format de saisie idéal pour un système évolué de formatage consiste
+en la description abstraite du contenu. Dans le cas qui nous occupe, il
+s'agit tout bonnement de la musique. Cela n'est pas sans poser un
+énorme problème@tie{}: comment définir @emph{ce qu'est} la
+musique@tie{}? Pour résoudre ce problème, nous l'avons inversé. Au
+lieu de définir ce qu'est la musique, notre programme sert de
+définition@tie{}: nous avons écrit un programme capable de produire des
+partitions, et avons ajusté son format de saisie pour être aussi léger
+que possible. Lorsque le format ne peut plus être simplifié, nous
+avons par définition atteint le contenu même. Autrement dit, notre
+programme utilise la définition formelle d'un document musical.
+
+La syntaxe est également celle de l'interface utilisateur de LilyPond,
+puisqu'elle peut être facilement tapée au clavier@tie{}:
+
+@example
+@{
+ c'4 d'8
+@}
+@end example
+
+@noindent
+sont un do médium noire et un ré croche juste au-dessus.
+
+@lilypond[quote]
+{
+ c'4 d'8
+}
+@end lilypond
+
+À petite échelle, une telle syntaxe est pratique. À plus grande
+échelle, une structuration est nécessaire. Sans cela, comment saisir
+des pièces aussi complexes qu'un opéra ou une symphonie@tie{}? La
+structure est construite selon le même concept que les expressions
+musicales@tie{}: c'est en combinant de petits fragments qu'une musique
+plus complexe peut être représentée. Par exemple@tie{}:
+
+@lilypond[quote,verbatim,fragment,relative=1]
+f4
+@end lilypond
+
+@noindent
+Quand des notes sont combinées simultanément, il suffit de les insérer
+entre @code{<<} et @code{>>}@tie{}:
+
+@example
+<<c4 d4 e4>>
+@end example
+
+@lilypond[quote,fragment,relative=1]
+\new Voice { <<c4 d4 e>> }
+@end lilypond
+
+@noindent
+Insérées dans une paire d'accolades @code{@{@tie{}@dots{}@tie{}@}}, ces
+expressions sont intégrées dans une séquence@tie{}:
+
+@example
+@{ f4 <<c4 d4 e4>> @}
+@end example
+
+@lilypond[quote,relative=1,fragment]
+{ f4 <<c d e4>> }
+@end lilypond
+
+@noindent
+Ceci constitue une nouvelle expression, qui peut être à son tour
+combinée avec une autre expression simultanée (en l'occurence une
+blanche) à l'aide de @code{<<}, @code{\\} et @code{>>}@tie{}:
+
+@example
+<< g2 \\ @{ f4 <<c4 d4 e4>> @} >>
+@end example
+
+@lilypond[quote,fragment,relative=2]
+\new Voice { << g2 \\ { f4 <<c d e>> } >> }
+@end lilypond
+
+De telles structures récursives peuvent être définies formellement et
+de manière ordonnée avec une @emph{grammaire libre de tout contexte}.
+Le code d'analyse de la saisie est également généré depuis cette
+grammaire. Autrement dit, la définition de la syntaxe de LilyPond est
+claire et sans ambiguïté.
+
+Ce sont la syntaxe et l'interface qui concernent les utilisateurs.
+Elles sont sujettes à discussion, puisque relatives aux goûts de chacun.
+Bien que ces discussions soient intéressantes, elles ne sont pas
+productives. À l'échelle de LilyPond, l'importance du format de saisie
+est minime@tie{}: inventer une syntaxe claire est bien plus aisé
+qu'écrire un code de mise en page décent. Ceci est d'ailleurs
+illustré par le nombre de lignes de code de ces composants
+respectifs@tie{}: l'analyse du texte de saisie et sa représentation
+pèsent moins de 10@tie{}% du code.
+
+Dans la conception des structures utilisées par LilyPond, nous avons
+pris certaines options divergentes des autres logiciels. Considérons la
+nature par essence hiérarchique de la notation musicale@tie{}:
+
+@lilypond[quote,fragment]
+<<
+\new Staff \relative c'' {
+ \key g \major
+ \time 3/4
+ d4 g,8 a b c d4 g, g
+}
+\new Staff \relative c' {
+ \clef "bass"
+ \key g \major
+ <g b d>2 a4 b2.
+}
+>>
+@end lilypond
+
+Nous y voyons des hauteurs regroupées en accords appartenant à des
+mesures elles-même rattachées à des portées. On pourrait représenter
+cela par un système de boîtes imbriquées@tie{}:
+
+@quotation
+@iftex
+@sourceimage{pdf/nestedboxes,,4cm,}
+@end iftex
+@ifnottex
+@sourceimage{nestedboxes,,,png}
+@end ifnottex
+@end quotation
+
+Cette structure est cependant réductrice car reposant sur des postulats
+extrêmement restrictifs. Cela devient plus évident dès lors que la
+musique se complique@tie{}:
+
+@lilypond[quote]
+\layout {
+ \context {
+ \Score
+ \remove "Timing_translator"
+ \remove "Default_bar_line_engraver"
+ }
+ \context {
+ \Staff
+ \consists "Timing_translator"
+ \consists "Default_bar_line_engraver"
+ }
+}
+
+\new PianoStaff <<
+ \new Staff = "RH" <<
+ \new Voice = "I" \relative c''' {
+ \time 3/4
+ \voiceOne
+ \times 6/7 {g8 g g g g g g}
+ \oneVoice
+ r4 <b,, fis' g bes> r4\fermata
+ }
+ \new Voice = "II" \relative c' {
+ \voiceTwo
+ c4
+ \times 4/5 {
+ <c ees>8 f g
+ \change Staff = "LH" \oneVoice
+ \stemUp g,( c}
+ r4
+ \override Stem #'cross-staff = ##t
+ \override Stem #'length = #12
+ <fis, b>) r\fermata
+ }
+ >>
+ \new Staff = "LH" <<
+ \new Voice = "III" \relative c' {
+ \time 2/4
+ \clef "bass"
+ g4 \stopStaff s
+ \startStaff s2*2
+ }
+ >>
+>>
+@end lilypond
+
+Ici, les portées débutent et s'arrêtent n'importe où, les voix passent
+d'une portée à l'autre, et parfois même occupent deux portées. Nombre
+de logiciels auront d'énormes difficultés à reproduire cet exemple, pour
+la bonne et simple raison qu'ils se basent sur le modèle hiérarchique de
+boîtes imbriquées. LilyPond, quant à lui, tend à préserver la
+dichotomie entre le fromat de saisie et une structure aussi flexible que
+possible.
+
+
+@node Les constituants de la gravure
+@unnumberedsubsec Les constituants de la gravure
+@translationof What symbols to engrave?
+
+@cindex gravure
+@cindex typographie
+@cindex graveur
+@cindex greffon
+@cindex module
+
+Si le processus de formatage se charge de décider où positionner les
+symboles, encore faudrait-il savoir @emph{quels} symboles doivent
+apparaitre -- ou bien, quelle notation utiliser.
+
+La notation musicale consitue une forme d'enregistrement de la musique
+qui a d'ailleurs évolué sur un millier d'années. La forme que nous
+utilisons de nos jours remonte au début de la Renaissance. Bien que ses
+fondements n'aient pas changé -- des têtes de note réparties sur une
+portée à cinq lignes --, certains détails sont apparus qui permettent de
+rendre compte des apports de la notation contemporaine. La notation
+musicale couvre cinq siècles de musique, allant de la simple monodie à
+de gigantesques contrepoints orchestraux.
+
+Comment intégrer un tel monstre aux si nombreux visages ? Notre solution
+est de clairement distinguer la notation -- @emph{quels} symboles
+utiliser -- de la gravure -- @emph{où} les placer. Pour appréhender la
+notation, nous l'avons disséquée en éléments simples (et
+programmables)@tie{}: chaque type de symbole est géré par un module --
+ou greffon -- différent. Tous ces modules sont entièrement
+configurables et indépendants, chacun pouvant être développé et amélioré
+séparément. Nous appelons ces modules des graveurs (@emph{engravers} en
+anglais), par analogie avec ces professionels qui mettent en forme
+graphiquement les idées musicales.
+
+
+Le module le plus basique, qu'on appelle @code{Note_heads_engraver},
+crée les têtes de notes@tie{}:
+
+@lilypond[quote,ragged-right]
+\include "engraver-example.ily"
+
+\score {
+ \topVoice
+ \layout {
+ \context {
+ \Voice
+ \remove "Stem_engraver"
+ \remove "Phrasing_slur_engraver"
+ \remove "Slur_engraver"
+ \remove "Script_engraver"
+ \remove "Beam_engraver"
+ \remove "Auto_beam_engraver"
+ }
+ \context {
+ \Staff
+ \remove "Accidental_engraver"
+ \remove "Key_engraver"
+ \remove "Clef_engraver"
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
+ \remove "Staff_symbol_engraver"
+ \consists "Pitch_squash_engraver"
+ }
+ }
+}
+@end lilypond
+
+@noindent
+Puis le module @code{Staff_symbol_engraver} génère les objets représentant
+les lignes de portée@tie{}:
+
+@lilypond[quote,ragged-right]
+\include "engraver-example.ily"
+
+\score {
+ \topVoice
+ \layout {
+ \context {
+ \Voice
+ \remove "Stem_engraver"
+ \remove "Phrasing_slur_engraver"
+ \remove "Slur_engraver"
+ \remove "Script_engraver"
+ \remove "Beam_engraver"
+ \remove "Auto_beam_engraver"
+ }
+ \context {
+ \Staff
+ \remove "Accidental_engraver"
+ \remove "Key_engraver"
+ \remove "Clef_engraver"
+ \remove "Bar_engraver"
+ \consists "Pitch_squash_engraver"
+ \remove "Time_signature_engraver"
+ }
+ }
+}
+@end lilypond
+
+@noindent
+le module @code{Clef_engraver} fournit au @code{Note_head_engraver}
+la hauteur à laquelle doit être placée chaque tête de note@tie{}:
+
+@lilypond[quote,ragged-right]
+\include "engraver-example.ily"
+
+\score {
+ \topVoice
+ \layout {
+ \context {
+ \Voice
+ \remove "Stem_engraver"
+ \remove "Phrasing_slur_engraver"
+ \remove "Slur_engraver"
+ \remove "Script_engraver"
+ \remove "Beam_engraver"
+ \remove "Auto_beam_engraver"
+ }
+ \context {
+ \Staff
+ \remove "Accidental_engraver"
+ \remove "Key_engraver"
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
+ }
+ }
+}
+@end lilypond
+
+@noindent
+et, enfin, les hampes et leurs crochets sont gérés par le
+@code{Stem_engraver}@tie{}:
+
+@lilypond[quote,ragged-right]
+\include "engraver-example.ily"
+
+\score {
+ \topVoice
+ \layout {
+ \context {
+ \Voice
+ \remove "Phrasing_slur_engraver"
+ \remove "Slur_engraver"
+ \remove "Script_engraver"
+ \remove "Beam_engraver"
+ \remove "Auto_beam_engraver"
+ }
+ \context {
+ \Staff
+ \remove "Accidental_engraver"
+ \remove "Key_engraver"
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
+ }
+ }
+}
+@end lilypond
+
+@noindent
+Le module @code{Stem_engraver} est appelé dès qu'une tête de note
+apparaît. Pour chaque note rencontrée -- ou groupe de notes s'il s'agit
+d'un accord --, un objet hampe est créé et attaché à la tête de note.
+Si l'on ajoute les modules en charge des ligatures, des liaisons, des
+accents, des barres de mesure, de la métrique et de l'armure, nous avons
+tout ce qui est nécessaire à une partition.
+
+@lilypond[quote,ragged-right]
+\include "engraver-example.ily"
+\score { \topVoice }
+@end lilypond
+
+@cindex polyphony
+@cindex engraving multiple voices
+@cindex contexts
+
+Le principe décrit plus haut fonctionne très bien pour de la musique
+monophonique, mais qu'en est-il de la polyphonie@tie{}? Dans ce cas,
+plusieurs voix peuvent partager la même portée@tie{}:
+
+@lilypond[quote,ragged-right]
+\include "engraver-example.ily"
+\new Staff << \topVoice \\ \botVoice >>
+@end lilypond
+
+Ici, la portée et les altérations sont partagées mais les hampes,
+liaisons, liens, etc. dépendent de chaque voix. De plus, les graveurs
+doivent être regroupés. Les graveurs de têtes de note, hampes,
+liaisons, etc. sont donc inclus dans un groupe appelé @emph{Voice context}
+(contexte de voix), alors que l'armure, les altérations, les
+barres de mesures, etc. sont placées dans un groupe @emph{Staff context}
+(contexte de portée). Dans le cas d'une polyphonie, un contexte de
+portée contient plusieurs contextes de voix. De même, plusieurs
+contextes de portée peuvent être assemblés dans un contexte de partition
+(@emph{Score context})@tie{}:
+
+@lilypond[quote,ragged-right]
+\include "engraver-example.ily"
+\score {
+ <<
+ \new Staff << \topVoice \\ \botVoice >>
+ \new Staff << \pah \\ \hoom >>
+ >>
+}
+@end lilypond
+
+@seealso
+Référence des propriétés internes :
+@rinternals{Contexts}.
+
+
+@node Flexibilité architecturale
+@unnumberedsubsec Flexibilité architecturale
+@translationof Flexible architecture
+
+Pour ses premiers pas, LilyPond était totalement écrit en langage
+C++@tie{}; les programmeurs gravaient les fonctionnalités du programme
+dans le marbre. Cela s'est avéré peu satisfaisant pour plusieurs
+raisons@tie{}:
+
+@itemize
+
+@item Il peut arriver que LilyPond commette une erreur, auquel cas
+l'utilisateur doit pouvoir déroger aux décisions arbitraires, et donc
+se servir du moteur de formatage. Par conséquent, les règles et
+paramètres ne peuvent être fixés lors de la compilation, mais doivent
+être accessibles lors de l'exécution.
+
+@item Graver est une affaire de jugement visuel, donc une affaire de goût.
+Nous savons que les utilisateurs peuvent ne pas être d'accord avec nous.
+Il faut donc qu'il aient accès aux définitions des styles
+typographiques.
+
+@item Enfin, nous redéfinissons continuellement les règles de formatage,
+et avons donc besoin d'une approche souple des règles. Le C++ implique
+une méthode de groupement des règles qui ne correspond pas au
+fonctionnement de la notation musicale.
+
+@end itemize
+
+@cindex Scheme, langage de programmation
+@cindex langage de programmation Scheme
+
+Nous avons résolu ces problème par l'adjonction d'un interpréteur pour
+le Scheme et la réécriture de parties entières de LilyPond dans ce
+langage. L'architecture du programme repose sur la notion d'objets
+graphiques que l'on peut décrire par des variables ou des fonctions
+Scheme. Elle doit prendre en compte les règles de formatage, le style
+typographique et les décisions de formatage individuelles.
+L'utilisateur de LilyPond peut accéder directement à la majorité de ces
+contrôles.
+
+La mise en page dépend des variables Scheme. Par exemple, la variable
+@var{direction} définie pour de nombreux objets, encode le choix entre
+haut et bas (ou gauche et droite). L'image qui suit présente deux
+accords, accentués et arpégés. Pour le premier accord, la direction de
+chaque objet est vers le bas (ou la gauche). Les objets sont dirigés
+vers le haut (ou la droite) pour le second.
+
+@lilypond[quote,ragged-right]
+\new Score \with {
+ \override SpacingSpanner #'spacing-increment = #3
+ \override TimeSignature #'transparent = ##t
+} \relative c' {
+ \stemDown <e g b>4_>-\arpeggio
+ \override Arpeggio #'direction = #RIGHT
+ \stemUp <e g b>4^>-\arpeggio
+}
+@end lilypond
+
+@cindex score formatting
+@cindex formatting a score
+@cindex formatting rules
+
+@noindent
+Le processus de mise en forme d'une partition consiste à lire et
+écrire des variables d'objets. Certaines variables ont une valeur
+prédéfinie. Par exemple, l'épaisseur de nombreuses lignes --
+caractéristiques d'un style typographique -- est préétablie. La changer
+entraîne un changement du style typographique.
+
+@lilypond[quote,ragged-right]
+fragment = {
+ \clef bass f8 as8
+ c'4-~ c'16 as g f e16 g bes c' des'4
+}
+<<
+ \new Staff \fragment
+ \new Staff \with {
+ \override Beam #'beam-thickness = #0.3
+ \override Stem #'thickness = #0.5
+ \override Bar #'thickness = #3.6
+ \override Tie #'thickness = #2.2
+ \override StaffSymbol #'thickness = #3.0
+ \override Tie #'extra-offset = #'(0 . 0.3)
+ }
+ \fragment
+>>
+@end lilypond
+
+Les valeurs prédéfinies de certaines variables font aussi partie des
+règles de formatage. Chaque objet possède des variables contenant des
+procédures. Ces procédures réalisent le formatage prédéfini, dont
+l'apparence peut être changée en remplaçant ces procédures par d'autres.
+Dans l'exemple suivant, la règle permettant à l'objet @qq{tête de note}
+de dessiner son symbole est modifiée au cours de l'extrait musical :
+
+@lilypond[quote,ragged-right]
+#(set-global-staff-size 30)
+
+#(define (mc-squared grob orig current)
+ (let* ((interfaces (ly:grob-interfaces grob))
+ (pos (ly:grob-property grob 'staff-position)))
+ (if (memq 'note-head-interface interfaces)
+ (begin
+ (ly:grob-set-property! grob 'stencil
+ (grob-interpret-markup grob
+ (make-lower-markup 0.5
+ (case pos
+ ((-5) "m")
+ ((-3) "c ")
+ ((-2) (make-smaller-markup (make-bold-markup "2")))
+ (else "bla")))))))))
+
+\new Voice \relative c' {
+ \stemUp
+ \set autoBeaming = ##f
+ \time 2/4
+ <d f g>4
+ \once \override NoteHead #'stencil = #note-head::brew-ez-stencil
+ \once \override NoteHead #'font-size = #-7
+ \once \override NoteHead #'font-family = #'sans
+ \once \override NoteHead #'font-series = #'bold
+ <d f g>4
+ \once \override NoteHead #'style = #'cross
+ <d f g>4
+ \applyOutput #'Voice #mc-squared
+ <d f g>4
+ <<
+ { d8[ es-( fis^^ g] fis2-) }
+ \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
+ >>
+}
+@end lilypond
+
+
+@node Démonstration par l'exemple
+@section Démonstration par l'exemple
+@translationof Putting LilyPond to work
+
+@cindex simple examples
+@cindex examples, simple
+
+Nous vous avons montré ce que devrait être la gravure musicale, et
+comment nous avons construit notre logiciel pour imiter cette apparence.
+Nous nous sommes énormément investis dans cette construction. En guise
+de récompense pour ce long travail, vous pouvez à votre tour
+utiliser le programme pour imprimer votre musique.
+Commençons par quelques notes@dots{}
+
+@lilypond[quote,relative=1]
+{
+ \time 2/4
+ c4 c g'4 g a4 a g2
+}
+@end lilypond
+
+@noindent
+Lorsqu'on leur ajoute des accords et des paroles, on obtient une chanson
+populaire@dots{}
+
+@lilypond[quote,ragged-right]
+<<
+ \chords { c2 c f2 c }
+ \new Staff
+ \relative c' {
+ \time 2/4
+ c4 c g' g a a g2
+ }
+ \addlyrics { twin -- kle twin -- kle lit -- tle star }
+>>
+@end lilypond
+
+On peut aussi éditer de la polyphonie ou une partition pour piano.
+Quant à ce qui suit, admirez l'exotisme de certaines
+constructions@dots{}
+
+@lilypond[quote]
+\header {
+ title = "Screech and boink"
+ subtitle = "Random complex notation"
+ composer = "Han-Wen Nienhuys"
+}
+
+\score {
+ \context PianoStaff <<
+ \new Staff = "up" {
+ \time 4/8
+ \key c \minor
+ << {
+ \revert Stem #'direction
+ \change Staff = down
+ \set subdivideBeams = ##t
+ g16.[
+ \change Staff = up
+ c'''32
+ \change Staff = down
+ g32
+ \change Staff = up
+ c'''32
+ \change Staff = down
+ g16]
+ \change Staff = up
+ \stemUp
+ \set followVoice = ##t
+ c'''32([ b''16 a''16 gis''16 g''32)]
+ } \\ {
+ s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d'']
+ } \\ {
+ s4 \autoBeamOff d''8.. f''32
+ } \\ {
+ s4 es''4
+ } >>
+ }
+
+ \new Staff = "down" {
+ \clef bass
+ \key c \minor
+ \set subdivideBeams = ##f
+ \override Stem #'french-beaming = ##t
+ \override Beam #'beam-thickness = #0.3
+ \override Stem #'thickness = #4.0
+ g'16[ b16 fis16 g16]
+ << \makeClusters {
+ as16 <as b>
+ <g b>
+ <g cis>
+ } \\ {
+ \override Staff.Arpeggio #'arpeggio-direction =#down
+ <cis, e, gis, b, cis>4\arpeggio
+ }
+ >> }
+ >>
+ \midi {
+ \context {
+ \Score
+ tempoWholesPerMinute = #(ly:make-moment 60 8)
+ }
+ }
+ \layout {
+ \context {
+ \Staff
+ \consists Horizontal_bracket_engraver
+ }
+ }
+}
+@end lilypond
+
+Ces fragments ont tous été écrits à la main, mais ce n'est pas une
+obligation. Dans la mesur où le moteur de formatage est presque
+complètement automatisé, il peut servir à générer du matériel imprimable
+pour d'autres programmes en charge de manipuler de la musique. LilyPond
+est parfaitement en mesure de convertir des bases de données musicales
+aux fins de les utiliser dans des sites internet ou des présentations
+multimédia.
+
+Vous avez constaté, au fil de notre propos, que le format source est
+purement textuel et peut donc être réutilisé dans d'autres formats
+basés sur une description textuelle comme @LaTeX{}, HTML ou -- ce qui
+est le cas pour la documentation de LilyPond -- Texinfo. À l'aide du
+script @command{lilypond-book} fournit avec LilyPond, les fragments
+de code insérés feront place à une image dans le fichier résultant,
+qu'il soit au format PDF ou HTML. Il existe aussi une extension pour
+OpenOffice.org -- OOoLilyPond -- qui permet d'insérer des extraits dans
+un document.
+
+Pour mieux voir LilyPond en action, consulter la documentation ou
+accéder directement au logiciel, rendez-vous sur www.lilypond.org.
+
+@page
+@node Comparatif (BWV 861)
+@section Comparatif (BWV 861)
+@translationof Engraved examples (BWV 861)
+
+Cette annexe présente quatre éditions de référence et deux éditions
+informatisées des sept dernières mesures de la fugue en sol mineur
+extraite du Premier livre du clavier bien tempéré de Bach
+(BWV@tie{}861).
+
+@noindent
+Bärenreiter BA5070 (Neue Ausgabe Sämtlicher Werke, Serie V, Band 6.1,
+1989) :
+
+@iftex
+@sourceimage{bwv861-baer,16cm,,}
+@end iftex
+@ifnottex
+@sourceimage{bwv861-baer-small,,,png}
+@end ifnottex
+
+@noindent
+Bärenreiter BA5070 (Neue Ausgabe Sämtlicher Werke, Serie V, Band 6.1,
+1989), à partir d'une autre source. En plus de différences au niveau
+des éléments textuels, ce travail montre que, au sein d'une même maison
+d'édition, les appréciations peuvent être différentes selon le
+graveur@tie{}:
+
+@iftex
+@sourceimage{bwv861-baer-alt,16cm,,}
+@end iftex
+@ifnottex
+@sourceimage{bwv861-baer-alt-small,,,png}
+@end ifnottex
+
+@noindent
+Breitkopf & Härtel, édité par Ferruccio Busoni (Wiesbaden, 1894),
+disponible à la Petrucci Music Library (IMSLP #22081). Les éléments
+éditoriaux tels que doigtés et articulations en ont été gommés aux fins
+de comparaison avec les autres éditions@tie{}:
+
+@iftex
+@sourceimage{bwv861-breitkopf,16cm,,}
+@end iftex
+@ifnottex
+@sourceimage{bwv861-breitkopf-small,,,png}
+@end ifnottex
+
+@noindent
+Bach-Gesellschaft edition (Leipzig, 1866), disponible à la Petrucci
+Music Library (IMSPL #02221) :
+
+@iftex
+@sourceimage{bwv861-gessellschaft,16cm,,}
+@end iftex
+@ifnottex
+@sourceimage{bwv861-gessellschaft-small,,,png}
+@end ifnottex
+
+@noindent
+Finale 2008 :
+
+@iftex
+@sourceimage{pdf/bwv861-finale2008a,,,}
+@end iftex
+@ifnottex
+@sourceimage{bwv861-finale2008a,,,png}
+@end ifnottex
+
+@sp 4
+@noindent
+LilyPond, version @version{} :
+
+@lilypond[staffsize=14.3,line-width=15.9\cm]
+global = {\key g \minor}
+
+partI = \relative c' {
+ \voiceOne
+ fis8 d' ees g, fis4 g
+ r8 a16 bes c8 bes16 a d8 r r4
+ r2 r8 d16 ees f8 ees16 d
+ ees4 ~ ees16 d c bes a4 r8 ees'16 d
+ c8 d16 ees d8 e16 fis g8 fis16 g a4 ~
+ a8 d, g f ees d c bes
+ a2 g\fermata \bar "|."
+}
+
+partII = \relative c' {
+ \voiceTwo
+ d4 r4 r8 d'16 c bes8 c16 d
+ ees8 d c ees a, r r4
+ r8 fis16 g a8 g16 fis g2 ~
+ g2 r8 d' ees g,
+ fis4 g r8 a16 bes c8 bes16 a
+ bes4. <g b>8 <a c> r <d, g> r
+ <ees g>4 <d fis> d2
+}
+partIII = \relative c' {
+ \voiceOne
+ r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a
+ bes2 ~ bes8 b16 a g8 a16 b
+ c4 r r2
+ R1
+ r8 d ees g, fis4 g
+ r8 a16 bes c8 bes16 a b2
+}
+partIV = \relative c {
+ \voiceTwo
+ d4 r r2
+ r8 d ees g, fis4 a
+ d,8 d'16 c bes8 c16 d ees2 ~
+ ees8 ees16 d c8 d16 ees fis,8 a16 g fis8 g16 a
+ d,8 d'16 c bes8 c16 d ees8 c a fis'
+ g f ees d c bes a g
+ c a d d, g2\fermata
+}
+
+\score {
+ <<
+ % \set Score.barNumberVisibility = #all-bar-numbers-visible
+ % required in 2.13
+ \set Score.currentBarNumber = #28
+ \bar ""
+ \new PianoStaff <<
+ \new Staff = "RH" <<
+ \global
+ \new Voice = "voiceI" { \partI }
+ \new Voice = "voiceII" { \partII }
+ >>
+
+ \new Staff = "LH" <<
+ \clef "bass"
+ \global
+ \new Voice = "voiceIII" { \partIII }
+ \new Voice = "voiceIV" { \partIV }
+ >>
+ >>
+ >>
+ \layout {
+ \context {
+ \Staff
+ \remove "Time_signature_engraver"
+ }
+ \context {
+ \PianoStaff
+ \override StaffGrouper #'between-staff-spacing #'padding = #1
+ }
+ }
+}
+@end lilypond
+
+
+