--- /dev/null
+\input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+@ignore
+ Translation of GIT committish: a9bf7727fb66d7a17abe31b9004c846fc781fcf9
+
+ 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 Translators: Jean-Charles Malahieude
+@c Translation checkers:
+
+@setfilename lilypond-changes.info
+@settitle LilyPond Changes
+
+@include macros.itexi
+
+@ifhtml
+@macro inputfileref{DIR,NAME}
+@uref{../../\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c
+@end macro
+@macro usermanref{NAME}
+@inforef{\NAME\,,../user/lilypond/lilypond}@c
+@end macro
+@end ifhtml
+
+@ifnothtml
+@macro inputfileref{DIR,NAME}
+@file{\DIR\/\NAME\}@c
+@end macro
+@macro usermanref{NAME}
+Voir le manuel d'utilisation, \NAME\
+@end macro
+@end ifnothtml
+
+@macro textanchor{NAME}
+@html
+<a name="\NAME\"></a>
+@end html
+@end macro
+
+
+@documentencoding UTF-8
+@documentlanguage fr
+@afourpaper
+
+@finalout
+
+@node Top
+@top Nouvelles fonctionnalités de la version 2.20 (depuis 2.18)
+
+@allowcodebreaks false
+
+@itemize
+
+@ignore
+
+HINTS
+
+* add new items at the top
+
+* only show verbatim input for syntax/input changes
+
+* try to be as brief possible in those cases
+
+* don't try to provide real-world examples, they often get too big,
+which scares away people.
+
+* Write complete sentences.
+
+* only show user-visible changes.
+
+@end ignore
+
+@item
+Les règles en matière d'altération peuvent désormais se définir au
+niveau d'un contexte @code{ChoirStaff}. Deux nouvelles règles --
+@code{choral} et @code{choral-cautionary} -- sont disponibles. Elles
+combinent les caractéristiques de @code{modern-voice} et @code{piano} ou
+leurs équivalents avec altérations de précaution.
+
+@item
+La fonction musicale @code{\unfoldRepeats} peut maintenant prendre en
+argument optionnel une liste spécifiant le ou les types de musique à
+répéter dans le développement. Sont disponibles les arguments
+@code{percent}, @code{tremolo} et @code{volta}. En l'absence de liste
+optionnelle d'arguments, sera utilisé @code{repeated-music} et tout sera
+développé.
+
+@item
+La propriété d'objet graphique @code{output-attributes} remplace, dans
+les sorties SVG, la propriété de @emph{grob} @code{id}. Ceci permet de
+définir, à l'aide d'une liste associative, de multiples attributs. Par
+exemple, @code{#'((id . 123) (class . foo) (data-whatever . @qq{bar}))}
+produira dans un fichier SVG le groupe de balise : @code{<g id=@qq{123}
+class=@qq{foo} data-whatever=@qq{bar}> @dots{} </g>}.
+
+@item
+Liaisons d'articulation ou de phrasé peuvent dorénavant débuter sur une
+note particulière d'un accord. Des liaisons simultanées dans un même
+contexte @code{Voice} devront se distinguer par l'attribution d'un
+@code{spanner-id}.
+
+@item
+La propriété musicale et d'objet graphique @code{spanner-id}, qui permet
+de distinguer des liaisons d'articulation ou de phrasé simultanées,
+prend en argument une « clé » -- entrier positif ou symbole -- au lieu
+d'une chaîne.
+
+@item
+Le nouvelle commande @code{\=} permet de spécifier le @code{spanner-id}
+(identificateur d'extension) pour des liaisons d'articulation ou de
+phrasé simultanées.
+@lilypond[verbatim,quote]
+\fixed c' {
+ <c~ f\=1( g\=2( >2 <c e\=1) a\=2) >
+}
+@end lilypond
+
+@item
+Les blocs introduits par @code{\header} peuvent être stockés dans des
+variables et utilisés en argument à la musique ou à des fonctions Scheme
+ainsi que dans le corps de constructions @code{#@{@dots{}#@}}. Ils sont
+représentés en tant que module Guile.
+
+Les blocs @code{\book}, @code{\bookpart}, @code{\score}, @code{\with},
+@code{\layout}, @code{\midi} et @code{\paper} peuvent être passés de
+façon similaire, mais sont représentés par des types de donnée différents.
+
+@item
+Les listes de symboles séparés par des points, à l'instar de
+@code{FretBoard.stencil} sont pris en charge depuis la version 2.18.
+Elles peuvent désormais contenir des entiers non signés, et leurs
+membres être séparés par des virgules. Ceci permet des libellés tels que
+@lilypond[quote,verbatim]
+{ \time 2,2,1 5/8 g'8 8 8 8 8 }
+@end lilypond
+ou
+@example
+\tagGroup violin,oboe,bassoon
+@end example
+
+@item
+De telles listes peuvent aussi apparaître au sein d'expressions aux fins
+d'assignation, de définition ou de dérogation. Ceci permet des libellés
+tels que
+@lilypond[quote,verbatim]
+{ \unset Timing.beamExceptions
+ \set Timing.beatStructure = 1,2,1
+ g'8 8 8 8 8 8 8 8 }
+@end lilypond
+
+@item
+Les éléments d'une liste associative pouvaient déjà se voir attribuer
+des valeurs individuellement, comme par exemple
+@code{system-system-spacing.basic-distance} pour les variables
+concernant le papier. Ils peuvent désormais être référencés de la même
+manière, comme ici
+@example
+\paper @{
+ \void \displayScheme \system-system-spacing.basic-distance
+@}
+@end example
+
+Par extension à ces modifications, il est dorénavant possible de définir
+et faire référence à des pseudovariables telles que @code{violon.1}.
+
+@item
+Les fichiers sources LilyPond peuvent désormais être empaquetés dans les
+fichiers PDF générés. Cette fonctionnalité est pour l'instant désactivée
+par défaut car susceptible d'être considérée comme peu sure dans la
+mesure où des documents PDF comportant des fichiers cachés peuvent
+présenter des risques en matière de sécurité. Attention cependant :
+les lecteurs de PDF ne sont pas tous capables de gérer les fichiers
+joints ; si tel est le cas, le rendu PDF apparaîtra normalement mais les
+fichiers joints seront invisibles. Cette fonctionnalité n'est
+opérationnelle qu'avec le moteur PDF.
+
+@item
+Les noms de note en français sont maintenant définis spécifiquement,
+plutôt qu'en alias de l'italien. En plus de la syntaxe dérivée de
+l'italien, la hauteur @var{d} peut se saisir @var{ré}, et un
+double-dièse par le suffice @var{-x}.
+
+@item
+Dans le cadre des tablatures pour luth sont désormais disponibles les
+cordes de basse additionnelles.
+@lilypond[quote,verbatim]
+m = { f'4 d' a f d a, g, fis, e, d, c, \bar "|." }
+
+\score {
+ \new TabStaff \m
+ \layout {
+ \context {
+ \Score
+ tablatureFormat = #fret-letter-tablature-format
+ }
+ \context {
+ \TabStaff
+ stringTunings = \stringTuning <a, d f a d' f'>
+ additionalBassStrings = \stringTuning <c, d, e, fis, g,>
+ fretLabels = #'("a" "b" "r" "d" "e" "f" "g" "h" "i" "k")
+ }
+ }
+}
+@end lilypond
+
+@item
+La commande @code{\table}, pour gérer des listes de @emph{markups} est
+disponible. Chaque colonne peut disposer de son propre alignement.
+@lilypond[quote,verbatim]
+\markuplist {
+ \override #'(padding . 2)
+ \table
+ #'(0 1 0 -1)
+ {
+ \underline { center-aligned right-aligned center-aligned left-aligned }
+ one "1" thousandth "0.001"
+ eleven "11" hundredth "0.01"
+ twenty "20" tenth "0.1"
+ thousand "1000" one "1.0"
+ }
+}
+@end lilypond
+
+@item
+Une nouvelle commande de @emph{markup}, @code{\with-dimensions-from},
+rend plus aisée l'utilisation de @code{\with-dimensions} en adoptant les
+dimensions d'un objet @emph{markup} fourni en premier argument.
+@lilypond[quote,verbatim]
+\markup {
+ \pattern #5 #Y #0 "x"
+ \pattern #5 #Y #0 \with-dimensions-from "x" "f"
+ \pattern #5 #Y #0 \with-dimensions-from "x" "g"
+ \override #'(baseline-skip . 2)
+ \column {
+ \pattern #5 #X #0 "n"
+ \pattern #5 #X #0 \with-dimensions-from "n" "m"
+ \pattern #5 #X #0 \with-dimensions-from "n" "!"
+ }
+}
+@end lilypond
+
+@item
+Deux nouvelles fonctions permettent de gérer les sauts de page.
+@code{ly:one-page-breaking} ajuste automatiquement la hauteur de la page
+de telle sorte que toute la musique tienne sur une seule page.
+@code{ly:one-line-auto-height-breaking} fonctionne comme
+@code{ly:one-line-breaking} mais, en plus de placer la musique sur une
+seule ligne et d'adapter la largeur de la page en conséquence, elle
+adapte la hauteur de la page automatiquement.
+
+@item
+La nouvelle commande de @emph{markup} @code{\draw-squiggle-line} permet
+de tracer des lignes ondulées. Sont adaptables l'épaisseur du trait
+(@code{thickness}), l'amplitude (@code{angularity}), la hauteur
+(@code{height}) et l'orientation (@code{orientation}).
+@lilypond[quote,verbatim]
+\markup
+ \overlay {
+ \draw-squiggle-line #0.5 #'(3 . 3) ##t
+
+ \translate #'(3 . 3)
+ \override #'(thickness . 4)
+ \draw-squiggle-line #0.5 #'(3 . -3) ##t
+
+ \translate #'(6 . 0)
+ \override #'(angularity . -5)
+ \draw-squiggle-line #0.5 #'(-3 . -3) ##t
+
+ \translate #'(3 . -3)
+ \override #'(angularity . 2)
+ \override #'(height . 0.3)
+ \override #'(orientation . -1)
+ \draw-squiggle-line #0.2 #'(-3 . 3) ##t
+ }
+@end lilypond
+
+@item
+La nouvelle commande @code{\RemoveAllEmptyStaves} agit exactement comme
+@code{\RemoveEmptyStaves}, à ceci près qu'elle supprime aussi les lignes
+du premier système de la partition.
+
+@item
+Deux commandes de @emph{markup} font leur apparition : @code{\undertie}
+et @code{\overtie}, ainsi qu'une version générique @code{\tie}.
+@lilypond[quote,verbatim]
+\markup {
+ \undertie "undertied"
+ \overtie "overtied"
+}
+
+m = {
+ c''1 \prall -\tweak text \markup \tie "131" -1
+}
+
+{ \voiceOne \m \voiceTwo \m }
+@end lilypond
+
+@item
+Les microaltérations peuvent désormais s'imprimer aussi sur des
+@code{TabStaff}, notamment pour indiquer des @emph{bends}.
+@lilypond[quote,verbatim]
+\layout {
+ \context {
+ \Score
+ supportNonIntegerFret = ##t
+ }
+}
+
+mus = \relative { c'4 cih d dih }
+
+<<
+ \new Staff << \clef "G_8" \mus >>
+ \new TabStaff \mus
+>>
+@end lilypond
+
+@item
+Deux nouveaux styles de contours à blanc sont disponibles. Le style
+@code{outline} agit un peu comme un ombrage des glyphes, son galbe étant
+le résultat de multiples copies du glyphe. Le style @code{rounded-box}
+produit un rectangle aux coins arrondis. Pour tous les styles, y
+compris le style par défaut @code{box}, l'épaisseur (@code{thickness})
+du contour, mesuré en épaisseur de ligne de portée, est adaptable.
+
+@lilypond[verbatim,quote]
+\markup {
+ \combine
+ \filled-box #'(-1 . 15) #'(-3 . 4) #1
+ \override #'(thickness . 3)
+ \whiteout whiteout-box
+}
+\markup {
+ \combine
+ \filled-box #'(-1 . 24) #'(-3 . 4) #1
+ \override #'(style . rounded-box)
+ \override #'(thickness . 3)
+ \whiteout whiteout-rounded-box
+}
+\markup {
+ \combine
+ \filled-box #'(-1 . 18) #'(-3 . 4) #1
+ \override #'(style . outline)
+ \override #'(thickness . 3)
+ \whiteout whiteout-outline
+}
+\relative {
+ \override Staff.Clef.whiteout-style = #'outline
+ \override Staff.Clef.whiteout = 3
+ g'1
+}
+@end lilypond
+
+@item
+Les différentes instructions @code{\override}, @code{\revert},
+@code{\set} et @code{\unset} acceptent désormais le préfixe @code{\once}
+qui en réduit les effets à un seule occurrence.
+@lilypond[quote,verbatim]
+\relative {
+ c'4 d
+ \override NoteHead.color = #red
+ e4 f |
+ \once \override NoteHead.color = #green
+ g4 a
+ \once \revert NoteHead.color
+ b c |
+ \revert NoteHead.color
+ f2 c |
+}
+@end lilypond
+
+@item
+Lorsqu'il génère un fichier MIDI, LilyPond enregistre désormais le
+@code{title} défini dans le bloc @code{\header} d'une partition en tant
+que nom de la séquence MIDI du fichier MIDI. En l'absence de
+@code{title} au niveau @code{\score}, sera retenue la première
+définition trouvée dans l'ordre suivant : @code{\bookpart}, @code{\book}
+et enfin @code{\header} de premier niveau. De manière optionnelle, le
+nom de la séquence MIDI peut se définir à l'aide du nouveau champ de
+@code{\header} @code{midititle} indépendamment au cas où le champ
+@code{title} contiendrait du code @emph{markup} qui ne serait pas rendu
+correctement en texte plat.
+
+@item
+Les fonctions, qu'elles soient musicales, Scheme ou fantômes, ainsi que
+les commandes de @emph{markup} pour lesquelles le paramètre final est
+l'objet de dérogations en chaîne peuvent se définir en remplaçant
+l'expression à laquelle elle s'appliquera par @code{\etc}. Il en va de
+même pour les appels à une fonction ou une commande de @emph{markup}.
+
+@lilypond[verbatim,quote]
+bold-red-markup = \markup \bold \with-color #red \etc
+highlight = \tweak font-size 3 \tweak color #red \etc
+
+\markup \bold-red "text"
+\markuplist \column-lines \bold-red { One Two }
+
+{ c' \highlight d' e'2-\highlight -! }
+@end lilypond
+
+@item
+Les fonctions LilyPond définies à l'aide de
+@code{define-music-function}, @code{define-event-function},
+@code{define-scheme-function} et @code{define-void-function} peuvent
+désormais être appelées directement à partir de Scheme, comme s'il
+s'agissait de pures procédures Scheme. Le contrôle et la correspondance
+des arguments seront réalisés de manière identique à ce qui se passe
+lorsque la fonction est appelée au fil du code LilyPond. Ceci inclut
+l'insertion de valeurs par défaut pour des arguments optionnels qui ne
+correspondraient pas à leur prédicat. Dans la liste des arguments, il
+est possible d'utiliser @code{*unspecified*} au lieu de @code{\default}
+pour omettre explicitement une séquence d'argument optionnels.
+
+@item
+Les données @code{location} pour la saisie courante et @code{parser}
+sont désormais gérées directement dans les flux GUILE ; elles peuvent
+donc être référencées par des appels de fonction@code{(*location*)}
+et @code{(*parser*)}. Par voie de conséquence, nombre de fonctions ont
+vu disparaître leur argument @code{parser} explicite.
+
+Les fonctions définies par @code{define-music-function},
+@code{define-event-function}, @code{define-scheme-function} et
+@code{define-void-function} n'ont désormais nul besoin d'argument
+@code{parser} ou @code{location}.
+
+Avec ces définitions particulières, LilyPond tentera de reconnaître
+l'utilisation héritée des arguments @code{parser} et @code{location},
+fournissant ainsi une compatibilité ascendante de la sémantique pour un
+certain temps.
+
+@item
+Dans la langue de notes @code{english}, le nom développé des notes
+altérées comprend désormais un trait d'union, pour une meilleure
+lisibilité. Il faut donc maintenant saisir
+@example
+\key a-flat \major
+@end example
+au lieu de
+@example
+\key aflat \major
+@end example
+
+Les altérations doubles ne prennent pas de trait d'union
+supplémentaire ; le @code{cisis} batave s'écrit @code{c-sharpsharp} en
+anglais développé.
+
+@item
+Le style visuel des traits de tremolo (allure, style et pente) est
+maintenant plus finement contrôlé.
+@lilypond[quote,relative=2]
+ a8:32 b: c: d:
+ \override StemTremolo.shape = #'beam-like
+ a: b: c: d:
+ \override StemTremolo.style = #'constant
+ a: b: c: d:
+ g,2
+@end lilypond
+
+
+@item
+Les silences multimesures ont une longueur dépendant de leur durée
+totale, sous contrôle de @code{MultiMeasureRest.space-increment}.
+@lilypond[quote]
+{ \compressFullBarRests
+ \override Staff.MultiMeasureRest.space-increment = 3.0
+ R1*2 R1*12 R1*64 }
+@end lilypond
+
+@item
+Les numéros de page peuvent désormais s'imprimer en chiffres romains, en
+ajustant la variable de papier @code{page-number-type}.
+
+@item
+Il est désormais possible d'utiliser @code{\time} et @code{\partial} de
+concert pour modifier une métrique en cours de mesure.
+
+@lilypond[verbatim,quote,relative=1]
+\override Score.BarNumber.break-visibility = #end-of-line-invisible
+\partial 4 \time 3/4 f4 | 2 4 | 2 \bar "||"
+\time 9/8 \partial 4. f8 8 8 | 2. 8 8 8 |
+@end lilypond
+
+@item
+Il est désormais possible de modifier la propriété @code{text} des noms
+d'accord.
+
+@lilypond[verbatim,fragment,quote]
+<<
+\new ChordNames \chordmode {
+ a' b c:7
+ \once \override ChordName.text = #"foo"
+ d
+}
+>>
+@end lilypond
+
+@item
+Amélioration de l'alignement horizontal lors de l'utilisation de
+@code{TextScript}, à l'aide de @code{DynamicText} ou @code{LyricText}.
+
+@item
+Ajout d'une nouvelle commande @code{\magnifyStaff}, qui échelonne de
+façon globale, au niveau d'un contexte @code{Staff}, sa taille, les
+lignes de portée, les barres de mesure, les hampes et l'espacement
+horizontal. Les lignes de la portée considérée ne seront toutefois pas
+plus fines que la taille par défaut dans la mesure où l'épaisseur des
+hampes, liaisons et autres est basée sur l'épaisseur des lignes de
+portée.
+
+@item
+@code{InstrumentName} prend désormais en charge la
+@code{text-interface}.
+
+@item
+Il est désormais possible de contrôler le « niveau d'expression » des
+canaux MIDI à l'aide de la propriété de contexte
+@code{Staff.midiExpression}. Ceci permet d'altérer le volume perçu y
+compris des notes tenues, bien que légèrement. L'ajustement prend une
+valeur entre @code{0.0} et @code{1.0}.
+
+@example
+\score @{
+ \new Staff \with @{
+ midiExpression = #0.6
+ midiInstrument = #"clarinet"
+ @}
+ <<
+ @{ a'1~ a'1 @}
+ @{
+ \set Staff.midiExpression = #0.7 s4\f\<
+ \set Staff.midiExpression = #0.8 s4
+ \set Staff.midiExpression = #0.9 s4
+ \set Staff.midiExpression = #1.0 s4
+
+ \set Staff.midiExpression = #0.9 s4\>
+ \set Staff.midiExpression = #0.8 s4
+ \set Staff.midiExpression = #0.7 s4
+ \set Staff.midiExpression = #0.6 s4\!
+ @}
+ >>
+ \midi @{ @}
+@}
+@end example
+
+@item
+La prise en charge de fontes musicales alternative, autrement dit autres
+que Emmentaler, est facilitée. Voir
+@uref{http://fonts.openlilylib.org/} pour de plus amples informations.
+
+@item
+Les objets graphiques et leurs parents peuvent désormais s'aligner de
+manière indépendante, ce qui permet une flexibilité accrue dans le
+positionnement des @emph{grobs}. Par exemple, le bord « gauche » d'un
+objet peut désormais s'aligner sur le « centre » de son parent.
+
+@item
+La commande @code{\partial} a connu des améliorations notables afin
+d'éviter les problèmes en cas de contextes multiples et parallèles.
+
+@item
+@code{\chordmode} prend désormais en charge les constructions @code{< >}
+et @code{<< >>}.
+
+@item
+La nouvelle commande @code{\tagGroup} vient en complément des commandes
+@code{\keepWithTag} et @code{\removeWithTag} déjà existantes. Par exemple,
+
+@example
+\tagGroup #'(violinI violinII viola cello)
+@end example
+
+déclare une liste de balises appartenant à un unique « groupe de
+balises ».
+
+@example
+\keepWithTag #'violinI
+@end example
+
+n'est maintenant plus concerné que par les balises du groupe auquel
+« violinI » appartient.
+
+Tout élément balisé par une ou plusieurs balises du groupe, à
+l'exception de @var{violinI}, sera ignoré.
+
+@item
+La fonction @code{\addlyrics} est désormais fonctionnelle avec n'importe
+quel contexte arbitraire, y compris @code{Staff}.
+
+@item
+Les numéros de cordes peuvent désormais s'imprimer en chiffres romains,
+pour les instruments à cordes non frettées par exemple.
+@lilypond[verbatim,quote,relative=2]
+c2\2
+\romanStringNumbers
+c\2
+\arabicStringNumbers
+c1\3
+@end lilypond
+
+@item
+La propriété @code{thin-kern} du @emph{grob} @code{BarLine} est renommée
+en @code{segno-kern}.
+
+@item
+Les objets @code{KeyCancellation} ignorent désormais les clefs de
+citation, à l'instar des objets @code{KeySignature}.
+
+@item
+Prise en charge de @code{\once@tie{}\unset}
+
+@item
+Dans le cadre de l'utilisation de la commande de @emph{markup}
+@code{\fret-diagram-verbose}, il est désormais possible de coloriser
+individuellement les points et les parenthèses des diagrammes de fret.
+
+@lilypond[verbatim,quote,relative=1]
+\new Voice {
+ c1^\markup {
+ \override #'(fret-diagram-details . (
+ (finger-code . in-dot))) {
+ \fret-diagram-verbose #'((mute 6)
+ (place-fret 5 3 1 red)
+ (place-fret 4 5 2 inverted)
+ (place-fret 3 5 3 green)
+ (place-fret 2 5 4 blue inverted)
+ (place-fret 1 3 1 violet)
+ (barre 5 1 3 ))
+ }
+ }
+ c1^\markup {
+ \override #'(fret-diagram-details . (
+ (finger-code . below-string))) {
+ \fret-diagram-verbose #'((mute 6)
+ (place-fret 5 3 1 red parenthesized)
+ (place-fret 4 5 2 yellow
+ default-paren-color
+ parenthesized)
+ (place-fret 3 5 3 green)
+ (place-fret 2 5 4 blue )
+ (place-fret 1 3 1)
+ (barre 5 1 3))
+ }
+ }
+}
+@end lilypond
+
+@item
+Deux propriétés sont ajoutées à @code{fret-diagram-details} pour une
+utilisation avec la commande de @emph{markup}
+@code{\fret-diagram-verbose} : @code{fret-label-horizontal-offset}
+affecte le @code{fret-label-indication}, et @code{paren-padding}
+contrôle l'espacement entre le point et les parenthèses qui l'entourent.
+
+@lilypond[verbatim,quote,relative=1]
+\new Voice {
+ c1^\markup {
+ \fret-diagram-verbose #'((mute 6)
+ (place-fret 5 3 1)
+ (place-fret 4 5 2)
+ (place-fret 3 5 3)
+ (place-fret 1 6 4 parenthesized)
+ (place-fret 2 3 1)
+ (barre 5 2 3))
+ }
+ c1^\markup {
+ \override #'(fret-diagram-details . (
+ (fret-label-horizontal-offset . 2)
+ (paren-padding . 0.25))) {
+ \fret-diagram-verbose #'((mute 6)
+ (place-fret 5 3 1)
+ (place-fret 4 5 2)
+ (place-fret 3 5 3)
+ (place-fret 1 6 4 parenthesized)
+ (place-fret 2 3 1)
+ (barre 5 2 3))
+ }
+ }
+}
+@end lilypond
+
+@item
+Ajout de la commande de @emph{markup} @code{\justify-line}. Cette
+fonction est comparable à @code{\fill-line}, à ceci près qu'au lieu de
+répartir les @emph{mots} en colonnes, la commande @code{\justify-line}
+répartit les vides de telle sorte qu'en présence de trois @emph{mots} ou
+plus, ces blancs soient d'égale longueur.
+
+@lilypond[quote,verbatim,papersize=a6]
+\markup \fill-line {oooooo oooooo oooooo oooooo}
+\markup \fill-line {ooooooooo oooooooo oo ooo}
+@end lilypond
+
+@lilypond[quote,verbatim,papersize=a6]
+\markup \justify-line {oooooo oooooo oooooo oooooo}
+\markup \justify-line {ooooooooo oooooooo oo ooo}
+@end lilypond
+
+@item
+La nouvelle commande @code{\magnifyMusic} permet de modifier la
+taille de la musique sans changer la taille de la portée, tout en
+ajustant automatiquement les hampes, ligatures et l'espacement
+horizontal.
+
+@lilypond[verbatim,quote]
+\new Staff <<
+ \new Voice \relative {
+ \voiceOne
+ <e' e'>4 <f f'>8. <g g'>16 <f f'>8 <e e'>4 r8
+ }
+ \new Voice \relative {
+ \voiceTwo
+ \magnifyMusic 0.63 {
+ \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63)
+ r32 c'' a c a c a c r c a c a c a c
+ r c a c a c a c a c a c a c a c
+ }
+ }
+>>
+@end lilypond
+
+@item
+Création d'un gabarit flexible dans le domaine de la musique chorale.
+Il s'utilise pour de la musique chorale simple, avec ou sans
+accompagnement de piano, sur deux ou quatre portées. Contrairement aux
+autres gabarits, celui-ci est directement intégré à LilyPond ; il n'est
+donc pas besoin d'être recopié et édité, mais simplement appelé à l'aide
+d'un @code{\include} dans le fichier source. Pour de plus amples
+détails, voir @rlearning{Gabarits préprogrammés}.
+
+@item
+Amélioration significative du positionnement du nombre des n-olets dans
+le cas de ligatures coudées. Jusqu'à présent, ce nombre était placé
+selon la position du crochet même lorsque ce dernier n'était pas
+imprimé, ce qui pouvait amener à un positionnement disgracieux. Le
+nombre est désormais positionné plus près du coude en présence d'un
+tronçon de ligature approprié à son placement et en l'absence de
+crochet.
+
+De plus, la détection de collision ajoutée décalera horizontalement le
+nombre s'il était trop proche d'un empilement adjacent, tout en
+préservant son écartement de la ligature. Dans le cas où ce nombre
+serait trop large pour tenir dans l'espace disponible, LilyPond
+reviendra au positionnement basé sur le crochet. Dans le cas d'une
+collision avec, par exemple, une altération accidentelle, le nombre sera
+plutôt écarté verticalement.
+
+@lilypond[verbatim,fragment,quote,relative=1]
+\time 3/4
+\override Beam.auto-knee-gap = 3
+\tuplet 3/2 4 {
+ g8 c'' e,
+ c'8 g,, e''
+ g,,8 e''' c,,
+}
+@end lilypond
+
+@noindent
+L'ancien comportement des n-olets en présence de ligature coudée reste
+disponible au moyen d'un @code{\override} sur la nouvelle propriété
+@code{knee-to-beam}.
+
+@lilypond[verbatim,fragment,quote,relative=1]
+\time 3/4
+\override Beam.auto-knee-gap = 3
+\override TupletNumber.knee-to-beam = ##f
+\tuplet 3/2 4 {
+ g8 c'' e,
+ c'8 g,, e''
+ g,,8 e''' c,,
+}
+@end lilypond
+
+@item
+@code{\lyricsto} et @code{\addLyrics} ont été « harmonisés ». Tous deux
+acceptent désormais la même sorte de liste délimitée d'arguments, à
+l'instar de @code{\lyrics} et @code{\chords}. Une rétrocompatibilité a
+été ajoutée, de sorte à accepter des identificateurs musicaux (tel
+@code{\mus}) en tant qu'arguments. Une règle a été ajoutée à
+@code{convert-ly} visant à supprimer les utilisations redondantes de
+@code{\lyricmode} et réarranger les combinaisons avec les déclencheurs
+de contexte afin d'appliquer @code{\lyricsto} généralement en dernier
+(comme le ferait @code{\lyricmode}).
+
+@item
+Les définitions et identificateurs Scheme peuvent désormais s'utiliser
+en tant que définition de sortie.
+
+@item
+Les expressions Scheme peuvent désormais s'utiliser en tant que
+constituants d'un accord.
+
+@item
+Amélioration de l'espacement visuel du « MI », tant à taille réduite que
+normale, dans les styles Funk et Walker, de telle sorte qu'il ait la
+même taille que les autres têtes de note profilées. Les « SOL » sont
+aussi améliorés dans les styles Aiken et Harpe sacrée normaux ou leur
+variantes fines.
+
+@item
+@code{LeftEdge} dispose désormais d'un @code{Y-extent} (extension
+verticale) définissable. Voir @rinternals{LeftEdge}.
+
+@item
+Une nouvelle fonction -- @code{make-path-stencil} -- supporte toutes les
+commandes @code{path}, tant relatives qu'absolues :
+
+@code{lineto}, @code{rlineto}, @code{curveto}, @code{rcurveto},
+@code{moveto}, @code{rmoveto}, @code{closepath}. La fonction prend
+aussi en charge la syntaxe « lettre unique » utilisée dans les commandes
+de chemin du standard SVG :
+
+@code{L}, @code{l}, @code{C}, @code{c}, @code{M}, @code{m}, @code{Z} et
+@code{z}. Cette nouvelle commande est rétrocompatible avec la fonction
+originale @code{make-connected-path-stencil}. Voir aussi le fichier
+@file{scm/stencil.scm}.
+
+@item
+Les propriétés de contexte nommées dans la propriété
+@samp{alternativeRestores} sont restaurées à la valeur qu'elles avaient
+juste avant la @b{première} alternative, ce pour toutes les suivantes.
+
+Pour l'instant, le jeu par défaut restaure la « métrique courante » :
+
+@lilypond[verbatim,fragment,quote,relative=2]
+\time 3/4
+\repeat volta 2 { c2 e4 | }
+\alternative {
+ { \time 4/4 f2 d | }
+ { f2 d4 | }
+}
+g2. |
+@end lilypond
+
+@noindent
+la « position dans la mesure » :
+
+@lilypond[verbatim,fragment,quote,relative=2]
+\time 3/4
+\repeat volta 2 { c2 e4 | }
+\alternative {
+ { \time 4/4
+ \set Timing.measurePosition = #(ly:make-moment -1/2)
+ f2 | }
+ { f2 d4 | }
+}
+g2. |
+@end lilypond
+
+@noindent
+et les « changements d'accord »:
+
+@lilypond[verbatim,fragment,quote]
+<<
+ \new ChordNames {
+ \set chordChanges = ##t
+ \chordmode { c1:m d:m c:m d:m }
+ }
+ \new Staff {
+ \repeat volta 2 { \chordmode { c1:m } }
+ \alternative {
+ { \chordmode { d:m } }
+ { \chordmode { c:m } }
+ }
+ \chordmode { d:m }
+}
+>>
+@end lilypond
+
+@item
+Amélioration du rendu MIDI des respirations. Après une note liée, la
+respiration prend son temps uniquement sur la dernière note de la
+prolongation. Autrement dit, @code{@{ c4~ c8 \breathe @}} s'entendra
+comme @code{@{ c4~ c16 r @}} au lieu de @code{@{ c4 r8 @}}. Ceci est
+plus cohérent en matière d'articulation et avec la manière dont un
+instrumentiste interprète une respiration après une note prolongée par
+une liaison. Ceci permet aussi d'aligner plus facilement une
+respiration simultanée à plusieurs parties dont les notes différent dans
+leur durée.
+
+@item
+Ajout d'un nouveau style de tête de note pour les tablature :
+@code{TabNoteHead.style = #'slash}.
+
+@item
+Quatre nouveaux glyphes de clef, ainsi que leur tessiture respective,
+sont désormais disponibles : @emph{Double G}, @emph{Tenor G},
+@emph{Varpercussion} et @emph{varC}.
+
+@lilypond[verbatim,quote,fragment]
+ \override Staff.Clef.full-size-change = ##t
+
+ \clef "GG" c c c c
+ \clef "tenorG" c c c c
+ \clef "varC" c c c c
+ \clef "altovarC" c c c c
+ \clef "tenorvarC" c c c c
+ \clef "baritonevarC" c c c c
+ \clef "varpercussion" c c c c
+
+ \break
+ \override Staff.Clef.full-size-change = ##f
+
+ \clef "GG" c c c c
+ \clef "tenorG" c c c c
+ \clef "varC" c c c c
+ \clef "altovarC" c c c c
+ \clef "tenorvarC" c c c c
+ \clef "baritonevarC" c c c c
+ \clef "varpercussion" c c c c
+@end lilypond
+
+@item
+Des durées isolées dans une séquence musicale sont désormais considérées
+comme des notes sans hauteur. Ceci peut s'avérer utile pour affecter
+des rythmes à de la musique ou dans une fonction Scheme. Dans la
+partition finale, les hauteurs sont déterminées à partir de la note ou
+de l'accord qui précède. Les deux exemples suivant ont un code tout à
+fait lisible :
+
+@lilypond[verbatim,quote]
+\new DrumStaff \with { \override StaffSymbol.line-count = 1 }
+\drummode {
+ \time 3/4
+ tambourine 8 \tuplet 3/2 { 16 16 16 }
+ 8 \tuplet 3/2 { 16 16 16 } 8 8 |
+}
+@end lilypond
+
+@lilypond[verbatim,quote]
+\new Staff { r16 c'16 ~ 8 ~ 4 ~ 2 | }
+@end lilypond
+
+@item
+@code{\displayLilyMusic} et ses fonctions Scheme sous-jacentes
+n'omettent plus les durées de note redondantes. Il est désormais plus
+facile et sûr de reconnaître et formater les durées isolées dans des
+expressions telles que
+
+@example
+@{ c4 d4 8 @}
+@end example
+
+@item
+Les exceptions en matière de ligature peuvent désormais se libeller à
+l'aide de la fonction Scheme @code{\beamExceptions}. Il suffit d'écrire
+
+@lilypond[verbatim,quote,relative=1]
+\time #'(2 1) 3/16
+\set Timing.beamExceptions =
+ \beamExceptions { 32[ 32] 32[ 32] 32[ 32] }
+c16 c c |
+\repeat unfold 6 { c32 } |
+@end lilypond
+
+@noindent
+tout en séparant les exceptions par un @code{|} (contrôle de barre de
+mesure) -- l'absence de hauteur dans les motifs d'exception n'est pas
+obligatoire. Auparavant, une telle règle d'exception devait se définir
+ainsi :
+
+@example
+\set Timing.beamExceptions =
+#'( ;début de la liste associative
+ (end . ;entrée pour la terminaison des ligatures
+ ( ;début de la liste des terminaisons
+ ((1 . 32) . (2 2 2)) ;règle pour les triples croches -- groupées à la double
+ )))
+@end example
+
+@item
+La plupart des articulations communes sont réflétées dans le rendu MIDI.
+Accent et marcato donnent des notes plus fortes ; staccato,
+staccatissimo et portato abrègent les notes. Une marque de respiration
+raccourcit la note qui précède.
+
+Ce comportement est ajustable au travers des propriétés
+@code{midiLength} et @code{midiExtraVelocity} affectées à
+@code{ArticulationEvent}. Voir le fichier @file{script-init.ly} pour
+des exemples.
+
+@item
+La fonctionnalité PostScript d'ajustement des traits ne s'applique plus
+de manière automatique ; elle est désormais laissée à l'appréciation du
+périphérique PostScript -- Ghostscript l'utilise par défaut pour des
+résolutions inférieures à 150 dpi lorsqu'il génère des images
+@emph{raster}. Lorsqu'elle est activée, un algorithme de dessin plus
+complexe tirant profit des ajustements de trait servira notamment pour
+les ligatures et barres de mesure.
+
+L'ajustement des traits peut se forcer, en ligne de commande, à l'aide
+de l'option @samp{-dstrokeadjust}. En ce qui concerne la génération de
+fichiers @code{PDF}, ceci améliorera nettement la prévisualisation, au
+détriment cependant de la taille du fichier. La qualité d'impression à
+haute résolution n'est pas affectée.
+
+@end itemize
+
+@ifhtml
+Pour des annonces plus anciennes, rendez-vouz aux pages
+@uref{http://lilypond.org/doc/v2.18/Documentation/changes/},
+@uref{http://lilypond.org/doc/v2.16/Documentation/changes/},
+ou @uref{../,remontez} à l'index de la documentation.
+
+
+@end ifhtml
+
+@bye