\input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 8e2eaf4959bec63a1128a444591a540f4f1e2937
+ Translation of GIT committish: f9d8763d2e83aa653582123d79731e029aea83d9
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@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
+
+@subheading Nouveautés en matière de notation musicale
+@c VO New for musical notation
+
+@strong{Améliorations de la représentation des hauteurs}
+
+@itemize
+
@item
-Il est désormais possible de déplacer des systèmes relativement à
-leur positionnement actuel, à l'aide de la sous-propriété
-@code{extra-offset} de
-@code{NonMusicalPaperColumn.line-break-system-details}, que ce soit sur
-l'axe horizontal ou vertical. Cette fonctionnalité s'avère très utile
-pour effectuer un léger ajustement dans le positionnement vertical par
-défaut d'un système particulier. Voir
-@ruser{Positionnement explicite des portées et systèmes} pour de plus
-amples explications.
+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
+
+@noindent
+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
-Il est désormais possible d'ajouter du texte à un crochet d'analyse,
-grâce à l'objet @code{HorizontalBracketText}.
+Les règles en matière d'altération peuvent désormais se définir au
+niveau d'un contexte @code{ChoirStaff}.
-@lilypond[quote,verbatim]
-\layout {
- \context {
- \Voice
- \consists "Horizontal_bracket_engraver"
+@item
+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.
+
+@lilypond[quote]
+musicA = {
+ <<
+ \relative { cis''8 fis, bes4 <a cis>8 f bis4 | cis2. <c, g'>4 | }
+ \\
+ \relative { ais'2 cis, | fis8 b a4 cis2 | }
+ >>
+}
+
+musicB = { \clef bass \new Voice { \voiceTwo \relative {
+ <fis a cis>8[ <fis a cis> \change Staff = up
+ cis' cis \change Staff = down
+ <fis, a> <fis a>] \showStaffSwitch \change Staff = up
+ dis'4 | \change Staff = down
+ <fis, a cis>4 gis <f a d>2 |
+ }
}
}
-{
- \once \override HorizontalBracketText.text = "a"
- c''\startGroup d''\stopGroup
- e''-\tweak HorizontalBracketText.text "a'" \startGroup d''\stopGroup
+\new ChoirStaff { << \context Staff = "up" {
+ \accidentalStyle choral \musicA }
+ \context Staff = "down" { \musicB } >>
}
@end lilypond
-@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é.
+@noindent
+Ceci constitue désormais le style par défaut pour un @code{ChoirStaff}.
-@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>}.
+@code{choral-cautionary}
-@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}.
+@lilypond[quote]
+musicA = {
+ <<
+ \relative { cis''8 fis, bes4 <a cis>8 f bis4 |
+ cis2. <c, g'>4 | }
+ \\
+ \relative { ais'2 cis, | fis8 b a4 cis2 | }
+ >>
+}
-@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.
+musicB = { \clef bass \new Voice { \voiceTwo \relative {
+ <fis a cis>8[ <fis a cis> \change Staff = up
+ cis' cis \change Staff = down
+ <fis, a> <fis a>] \showStaffSwitch \change Staff = up
+ dis'4 | \change Staff = down
+ <fis, a cis>4 gis <f a d>2 |
+ }
+ }
+}
-@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) >
+\new ChoirStaff { << \context Staff = "up" {
+ \accidentalStyle choral-cautionary \musicA }
+ \context Staff = "down" { \musicB } >>
}
@end lilypond
+@noindent
+Identique au style @code{choral}, à ceci près que les altérations
+supplémentaires apparaissent comme des altérations de précaution.
+
+@noindent
+Voir aussi : @ruser{Altérations accidentelles automatiques}.
+
@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.
+Quatre nouveaux glyphes de clef sont désormais disponibles : @emph{GG}
+ou @emph{double-G}, @emph{Tenor G}, @emph{varC}, ainsi que leur
+tessiture respective, et @emph{Varpercussion}.
-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.
+@multitable @columnfractions .30 .2 .30 .2
+
+@headitem
+Exemple
+@tab
+Résultat
+@tab
+Exemple
+@tab
+Résultat
@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 }
+@code{\clef GG}
+@tab
+@lilypond[line-width=3\cm,notime,ragged-right,relative=1]
+\clef GG c1
+@end lilypond
+@tab
+@code{\clef tenorG}
+@tab
+@lilypond[line-width=3\cm,notime,ragged-right,relative=1]
+\clef tenorG c1
@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 }
+@code{\clef varC}
+@tab
+@lilypond[line-width=3\cm,notime,ragged-right,relative=1]
+\clef varC c1
+@end lilypond
+@tab
+@code{\clef altovarC}
+@tab
+@lilypond[line-width=3\cm,notime,ragged-right,relative=1]
+\clef altovarC c1
@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}.
+@code{\clef tenorvarC}
+@tab
+@lilypond[line-width=3\cm,notime,ragged-right,relative=1]
+\clef tenorvarC c1
+@end lilypond
+@tab
+@code{\clef baritonevarC}
+@tab
+@lilypond[line-width=3\cm,notime,ragged-right,relative=1]
+\clef baritonevarC c1
+@end lilypond
@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.
+@code{\clef varpercussion}
+@tab
+@lilypond[line-width=3\cm,notime,ragged-right,relative=1]
+\clef varpercussion c1
+@end lilypond
+
+@end multitable
+
+@noindent
+Voir aussi : @ruser{Styles de clef}.
@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}.
+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é} ou @code{re}, 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 "|." }
+@lilypond[fragment,verbatim,quote,ragged-right,relative=1]
+\language "français"
+do ré mi fa | sol la si do | ré1
+@end lilypond
-\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")
- }
- }
-}
+@noindent
+Les doubles dièses s'indiquent par l'adjonction d'un @code{x}.
+
+@lilypond[fragment,verbatim,quote,ragged-right,relative=2]
+\language "français"
+dob, rebb misb fabsb | sold ladd six dosd | rédsd1
@end lilypond
+@end itemize
+
+
+@strong{Améliorations en matière de rythme}
+
+@itemize
+
@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"
- }
-}
+Les silences multimesures ont une longueur dépendant de leur durée
+totale, sous contrôle de @code{MultiMeasureRest.space-increment}. La
+valeur par défaut est fixée à @code{2.0}.
+
+@lilypond[fragment,verbatim,quote]
+\compressFullBarRests
+R1*2 R1*4 R1*64 R1*16
@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" "!"
- }
-}
+@lilypond[fragment,verbatim,quote]
+\compressFullBarRests
+\override Staff.MultiMeasureRest.space-increment = 2.5
+R1*2 R1*4 R1*64 R1*16
@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.
+La commande @code{\partial} a connu des améliorations notables afin
+d'éviter les problèmes en cas de contextes multiples ou parallèles.
@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
+Il est désormais possible d'utiliser @code{\time} et @code{\partial} de
+concert pour modifier une métrique en cours de mesure.
- \translate #'(3 . 3)
- \override #'(thickness . 4)
- \draw-squiggle-line #0.5 #'(3 . -3) ##t
+@lilypond[verbatim,quote,relative=1]
+f f f f | f2. \bar "||"
+\time 3/4 \partial 4
+f8 8 | f2 f8 f |
+@end lilypond
- \translate #'(6 . 0)
- \override #'(angularity . -5)
- \draw-squiggle-line #0.5 #'(-3 . -3) ##t
+@item
+Des durées isolées dans une séquence musicale sont désormais considérées
+comme des notes sans hauteur. Dans la partition finale, les hauteurs
+sont déterminées à partir de la note ou de l'accord qui précède. Ceci
+peut s'avérer utile pour affecter des rythmes à de la musique ou dans
+une fonction Scheme.
- \translate #'(3 . -3)
- \override #'(angularity . 2)
- \override #'(height . 0.3)
- \override #'(orientation . -1)
- \draw-squiggle-line #0.2 #'(-3 . 3) ##t
- }
+@lilypond[verbatim,quote,fragment,relative=2]
+c64[ 64] 32 16 8^- <g b d>4~ 2 | 1
@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.
+@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
@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"
-}
+Les exceptions en matière de ligature peuvent désormais se libeller à
+l'aide de la fonction Scheme @code{\beamExceptions}. Ce qui auparavant
+se définissait par
-m = {
- c''1 \prall -\tweak text \markup \tie "131" -1
-}
+@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
+ )))
-{ \voiceOne \m \voiceTwo \m }
+\time #'(2 1) 3/16
+c16 c c
+\repeat unfold 6 @{ c32 @}
+@end example
+
+@noindent
+se libelle, grâce à la fonction Scheme @code{\beamExceptions}
+
+@lilypond[verbatim,quote,relative=1]
+\set Timing.beamExceptions =
+ \beamExceptions { 32[ 32] 32[ 32] 32[ 32] }
+
+\time #'(2 1) 3/16
+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.
+
@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
- }
-}
+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 :
-mus = \relative { c'4 cih d dih }
+@lilypond[fragment,quote,relative=1]
+% This is a contrived example to simulate the previous behaviour
+\time 3/4
+\override Beam.auto-knee-gap = 3
+\override TupletNumber.knee-to-beam = ##f
+\once \override TupletBracket.bracket-visibility = ##t
+\tuplet 3/2 4 { g8 c'' e, }
+\tuplet 3/2 4 { g,,8 c'' e, }
+\once \override TupletBracket.bracket-visibility = ##t
+\tuplet 3/2 4 { c'8 g,, e'' }
+\tuplet 3/2 4 { c'8 g,, e'' }
+\once \override TupletBracket.bracket-visibility = ##t
+\tuplet 2/2 4 { g,8[ e''] }
+\tuplet 2/2 4 { g,,8[ e''] }
+@end lilypond
-<<
- \new Staff << \clef "G_8" \mus >>
- \new TabStaff \mus
->>
+@noindent
+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.
+
+@lilypond[fragment,quote,relative=1]
+% This is a contrived example to simulate the previous behaviour
+\time 3/4
+\override Beam.auto-knee-gap = 3
+\override TupletBracket.bracket-visibility = ##t
+\tuplet 3/2 4 { g8 c'' e, }
+\once \override TupletBracket.bracket-visibility = ##f
+\tuplet 3/2 4 { g,,8 c'' e, }
+\tuplet 3/2 4 { c'8 g,, e'' }
+\once \override TupletBracket.bracket-visibility = ##f
+\tuplet 3/2 4 { c'8 g,, e'' }
+\tuplet 2/2 4 { g,8[ e''] }
+\once \override TupletBracket.bracket-visibility = ##f
+\tuplet 2/2 4 { g,,8[ e''] }
@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.
+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,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
-}
+@lilypond[fragment,quote,relative=1]
+\time 2/4
+\override Beam.auto-knee-gap = 3
+\tuplet 3/2 4 { g8 c'' e, c'8 g,, e'' }
+\tuplet 3/2 4 { g,,8 e''' g,, g,8 e''' ges,, }
@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 |
-}
+@noindent
+L'ancien comportement des n-olets en présence de ligature coudée reste
+disponible au moyen d'une nouvelle propriété @code{knee-to-beam}
+affectée àl'objet de rendu @code{TupletNumber}.
+
+@lilypond[verbatim,fragment,quote,relative=1]
+\time 2/4
+\override Beam.auto-knee-gap = 3
+\override TupletNumber.knee-to-beam = ##f
+\override TupletBracket.bracket-visibility = ##t
+\tuplet 3/2 4 { g8 c'' e, }
+\once \override TupletBracket.bracket-visibility = ##f
+\tuplet 3/2 4 { g,,8 c'' e, }
@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.
+@end itemize
+
+
+@strong{Améliorations en matière d'expressivité}
+
+@itemize
@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}.
+Les terminaisons des soufflets peut désormais s'affiner à l'aide de la
+propriété de @code{grob} @code{shorten-pair}. Celle-ci n'affectait
+auparavant que les extensions de type textuel tels que
+@code{TupletBracket} et @code{OttavaBracket}.
-@lilypond[verbatim,quote]
-bold-red-markup = \markup \bold \with-color #red \etc
-highlight = \tweak font-size 3 \tweak color #red \etc
+@noindent
+Les valeurs positives décalent vers la droite, les négatives vers la
+gauche.
-\markup \bold-red "text"
-\markuplist \column-lines \bold-red { One Two }
+@lilypond[quote,verbatim,relative=2]
+\once \override Hairpin.shorten-pair = #'(0 . 2)
+a1\< | a2 a\!
-{ c' \highlight d' e'2-\highlight -! }
+\once \override Hairpin.shorten-pair = #'(2 . 0)
+\once \override Hairpin.stencil = #constante-hairpin
+a1\< | a2 a\!
+
+\once \override Hairpin.shorten-pair = #'(-1 . -1)
+\once \override Hairpin.stencil = #flared-hairpin
+a1\< | a2 a\!
@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.
+Les liaisons, qu'elles soient d'articulation ou de phrasé, peuvent
+désormais débuter sur une hauteur particulière d'un accord.
+
+@lilypond[quote,verbatim,relative=1]
+<f a( c>1 | <c') e g(> | <a c) e>
+@end lilypond
+
+@lilypond[quote,verbatim,relative=1]
+<f( a\( c>1 | <c'\) e\( g> | <a c e\)>
+@end lilypond
@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.
+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 ; l'identificateur est soit un entier positif, soit
+un symbole.
-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}.
+@noindent
+Ceci s'avère utile en présence de multiples liaisons ou lorsqu'une
+liaison en recouvre une autre ou bien encore lorsque plusieurs courtes
+laisons sont englobées dans une plus grande.
-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
+@lilypond[verbatim,quote]
+\fixed c' {
+ <c~ f\=1( g\=2( >2 <c e\=1) a\=2) >
+}
+@end lilypond
-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é.
+@noindent
+Voir aussi : @ruser{Signes d'interprétation sous forme de courbe}.
+
+@end itemize
+
+
+@strong{Améliorations en matière de reprises}
+
+@itemize
@item
Le style visuel des traits de tremolo (allure, style et pente) est
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.
+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é.
-@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
+@end itemize
-@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
+@strong{Améliorations en matière de notation sur la portée}
-@item
-Amélioration de l'alignement horizontal lors de l'utilisation de
-@code{TextScript}, à l'aide de @code{DynamicText} ou @code{LyricText}.
+@itemize
@item
Ajout d'une nouvelle commande @code{\magnifyStaff}, qui échelonne 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}.
+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.
-@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
+@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
- \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 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
+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
+
+@end itemize
+
+
+@strong{Améliorations en matière d'annotations éditoriales}
+
+@itemize
+
+@item
+Il est désormais possible d'ajouter du texte à un crochet d'analyse,
+grâce à l'objet @code{HorizontalBracketText}.
+
+@lilypond[quote,verbatim]
+\layout {
+ \context {
+ \Voice
+ \consists "Horizontal_bracket_engraver"
+ }
+}
+
+{
+ \once \override HorizontalBracketText.text = "a"
+ c''\startGroup d''\stopGroup
+ e''-\tweak HorizontalBracketText.text "a'" \startGroup d''\stopGroup
+}
+@end lilypond
+
+@end itemize
+
+
+@strong{Améliorations en matière de mise en forme du texte}
+
+@itemize
@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.
+@ruser{Changement des fontes musicales} pour de plus amples
+informations.
+
+@item
+Les fontes textuelles par défaut -- @code{Century Schoolbook L},
+@code{sans-serif} et @code{monospace} -- ont été modifiées.
+
+Pour le moteur @code{svg} :
+@multitable @columnfractions .15 .30
+@headitem Famille @tab Fonte par défaut
+@item @emph{roman} @tab @code{serif}
+@item @emph{sans} @tab @code{sans-serif}
+@item @emph{typewriter} @tab @code{monospace}
+@end multitable
+
+@code{serif}, @code{sans-serif} et @code{monospace} sont des
+@code{generic-family} au titre des spécifications SVG et CSS.
+
+Pour les autres moteurs :
+@multitable @columnfractions .15 .30 .55
+@headitem Famille @tab Fonte par défaut (alias) @tab Listes de définition des alias
+@item @emph{roman}
+@tab @code{LilyPond Serif}
+@tab
+TeX Gyre Schola,
+C059, Century SchoolBook URW, Century Schoolbook L,
+DejaVu Serif,
+..., serif
+@item @emph{sans}
+@tab @code{LilyPond Sans Serif}
+@tab
+TeX Gyre Heros,
+Nimbus Sans, Nimbus Sans L, DejaVu Sans,
+..., sans-serif
+@item @emph{typewriter}
+@tab @code{LilyPond Monospace}
+@tab
+TeX Gyre Cursor,
+Nimbus Mono PS, Nimbus Mono, Nimbus Mono L,
+DejaVu Sans Mono,
+..., monospace
+@end multitable
+
+@code{LilyPond Serif}, @code{LilyPond Sans Serif} et @code{LilyPond
+Monospace} sont des alias de fonte définis dans le fichier de
+configuration de FontConfig spécifique à LilyPond
+@code{00-lilypond-fonts.conf}. Lorsqu'un caractère est absent de la
+première fonte listée, il sera remplacé par celui de la fonte suivante.
+Pour plus de détails sur les définitions des alias, consultez le fichier
+@code{00-lilypond-fonts.conf} dans le répertoire d'installation.
+
+@item
+Le recours aux fontes OpenType permet d'utiliser certaines
+fonctionnalités de ces fontes. Toutefois, les fontes OpenType ne
+disposent pas toutes de l'intégralité de ces fonctions.
+
+@lilypond[quote,verbatim]
+% Vraies petites capitales
+\markup { Style normal : Hello HELLO }
+\markup { \caps { Petites capitales : Hello } }
+\markup { \override #'(font-features . ("smcp"))
+ { Vraies petites capitales : Hello } }
+
+% Styles numériques
+\markup { Style numérique normal : 0123456789 }
+\markup { \override #'(font-features . ("onum"))
+ { Style numérique ancien : 0123456789 } }
+
+% Alternatives stylistiques
+\markup { \override #'(font-features . ("salt 0"))
+ { Alternative stylistique 0 : εφπρθ } }
+\markup { \override #'(font-features . ("salt 1"))
+ { Alternative stylistique 1 : εφπρθ } }
+
+% Fonctionnalités multiples
+\markup { \override #'(font-features . ("onum" "smcp" "salt 1"))
+ { Fonctionnalités multiples : Hello 0123456789 εφπρθ } }
+@end lilypond
@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.
+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
-La commande @code{\partial} a connu des améliorations notables afin
-d'éviter les problèmes en cas de contextes multiples et parallèles.
+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
-@code{\chordmode} prend désormais en charge les constructions @code{< >}
-et @code{<< >>}.
+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{\tagGroup} vient en complément des commandes
-@code{\keepWithTag} et @code{\removeWithTag} déjà existantes. Par exemple,
+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"
+}
-@example
-\tagGroup #'(violinI violinII viola cello)
-@end example
+m = {
+ c''1 \prall -\tweak text \markup \tie "131" -1
+}
-déclare une liste de balises appartenant à un unique « groupe de
-balises ».
+{ \voiceOne \m \voiceTwo \m }
+@end lilypond
-@example
-\keepWithTag #'violinI
-@end example
+@end itemize
-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}.
+@subheading Nouveautés en matière de notation spécialisée
+@c VO New for specialist notation
+
+
+@strong{Améliorations pour la musique vocale}
+
+@itemize
@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
+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
-La propriété @code{thin-kern} du @emph{grob} @code{BarLine} est renommée
-en @code{segno-kern}.
+@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}).
+
+@end itemize
+
+
+@strong{Améliorations pour les cordes frettées ou non}
+
+@itemize
@item
-Les objets @code{KeyCancellation} ignorent désormais les clefs de
-citation, à l'instar des objets @code{KeySignature}.
+Ajout d'un nouveau style de tête de note pour les tablature :
+@code{TabNoteHead.style = #'slash}.
@item
-Prise en charge de @code{\once@tie{}\unset}
+L'écartement entre les diagrammes de fret et entre les cordes peut
+désormais s'ajuster de manière indépendante, à l'aide des
+sous-propriétés de @code{fret-diagram-details} @code{fret-distance} et
+@code{string-distance}.
+@lilypond[verbatim,quote]
+fretMrkp = \markup { \fret-diagram-terse #"x;x;o;2;3;2;" }
+
+\markuplist
+\override #'(padding . 2)
+\table #'(0 -1) {
+ "default"
+
+ \fretMrkp
+
+ "fret-distance"
+
+ \override #'(fret-diagram-details . ((fret-distance . 2)))
+ \fretMrkp
+
+ "string-distance"
+
+ \override #'(fret-diagram-details . ((string-distance . 2)))
+ \fretMrkp
+}
+@end lilypond
@item
Dans le cadre de l'utilisation de la commande de @emph{markup}
@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.
+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 "|." }
-@lilypond[quote,verbatim,papersize=a6]
-\markup \fill-line {oooooo oooooo oooooo oooooo}
-\markup \fill-line {ooooooooo oooooooo oo ooo}
+\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
-@lilypond[quote,verbatim,papersize=a6]
-\markup \justify-line {oooooo oooooo oooooo oooooo}
-\markup \justify-line {ooooooooo oooooooo oo ooo}
+@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 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
- }
+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
+@end itemize
+
+
+@strong{Amélirations pour la notation des accords}
+
+@itemize
+
@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}.
+@code{\chordmode} prend désormais en charge les constructions @code{< >}
+et @code{<< >>}.
@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.
+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
+
+@end itemize
+
+
+
+@subheading Nouveautés en matière d'entrée et sortie
+@c VO New for input and output
+
+
+@strong{Améliorations pour la structure}
+
+@itemize
+
+@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.
+
+@end itemize
+
+
+@strong{Améliorations pour les titrages et entêtes}
+
+@itemize
+
+@item
+Les numéros de page peuvent désormais s'imprimer en chiffres romains, en
+ajustant la variable de papier @code{page-number-type}.
+
+@end itemize
+
+
+@strong{Améliorations pour les fichiers source}
+
+@itemize
+
+@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é.
+
+@end itemize
+
+
+@strong{Améliorations pour les fichiers résultants}
+
+@itemize
+
+@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
+La procédure @code{output-classic-framework} et l'option
+@code{-dclip-systems} sont désormais prises en charge par le moteur
+@code{SVG}.
+
+@item
+Le nouvel argument @code{-dcrop} permet de formater une sortie
+@code{SVG} ou @code{PDF} sans marges ni saut de page.
+
+@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
+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.
+
+@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}.
+
+@end itemize
+
+
+@strong{Améliorations pour le MIDI}
+
+@itemize
+
+@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
+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
+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
+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.
+
+@end itemize
+
+
+@strong{Améliorations en matière d'extraction de la musique}
+
+@itemize
+
+@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
+
+@end itemize
-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}.
+@subheading Nouveautés en matière d'espacements
+@c VO New for spacing issues
-@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}).
+@strong{Améliorations pour les sauts de page}
-@item
-Les définitions et identificateurs Scheme peuvent désormais s'utiliser
-en tant que définition de sortie.
+@itemize
@item
-Les expressions Scheme peuvent désormais s'utiliser en tant que
-constituants d'un accord.
+Il est désormais possible de déplacer des systèmes relativement à
+leur positionnement actuel, à l'aide de la sous-propriété
+@code{extra-offset} de
+@code{NonMusicalPaperColumn.line-break-system-details}, que ce soit sur
+l'axe horizontal ou vertical. Cette fonctionnalité s'avère très utile
+pour effectuer un léger ajustement dans le positionnement vertical par
+défaut d'un système particulier. Voir
+@ruser{Positionnement explicite des portées et systèmes} pour de plus
+amples explications.
@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
+aussi améliorés dans les styles Aiken et Harpe sacrée normaux ou leurs
variantes fines.
@item
verticale) définissable. Voir @rinternals{LeftEdge}.
@item
-Une nouvelle fonction -- @code{make-path-stencil} -- supporte toutes les
-commandes @code{path}, tant relatives qu'absolues :
+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.
-@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 :
+@end itemize
-@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}.
+
+
+@subheading Nouveautés en matière de modification des réglages par défaut
+@c VO New for changing defaults
+
+@itemize
+
+@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
+
+@end itemize
+
+
+
+@subheading Nouveautés en matière d'interfaces et fonctions internes
+@c VO New for Internal interfaces and functions
+
+@itemize
+
+@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
Les propriétés de contexte nommées dans la propriété
@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}.
+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
-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}.
+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.
-@lilypond[verbatim,quote,fragment]
- \override Staff.Clef.full-size-change = ##t
+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}.
- \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
+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.
- \break
- \override Staff.Clef.full-size-change = ##f
+@item
+Les définitions et identificateurs Scheme peuvent désormais s'utiliser
+en tant que définition de sortie.
- \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
+Les expressions Scheme peuvent désormais s'utiliser en tant que
+constituants d'un accord.
@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 :
+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]
-\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
+bold-red-markup = \markup \bold \with-color #red \etc
+highlight = \tweak font-size 3 \tweak color #red \etc
-@lilypond[verbatim,quote]
-\new Staff { r16 c'16 ~ 8 ~ 4 ~ 2 | }
+\markup \bold-red "text"
+\markuplist \column-lines \bold-red { One Two }
+
+{ c' \highlight d' e'2-\highlight -! }
@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
-
+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
-@{ c4 d4 8 @}
+\tagGroup violin,oboe,bassoon
@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 } |
+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
-@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 :
-
+@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
-\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
- )))
+\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
-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.
+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
-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
+@code{InstrumentName} prend désormais en charge la
+@code{text-interface}.
@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.
+La propriété @code{thin-kern} du @emph{grob} @code{BarLine} est renommée
+en @code{segno-kern}.
-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.
+@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}
@end itemize