+Las listas de elementos separados por puntos como
+@code{FretBoard.stencil} ya estaban contempladas a partir de la
+versión@tie{}2.18. Ahora también pueden contener enteros sin
+signo, y se pueden hacer separar opcionalmente mediante comas.
+Ello permite un uso semejante a
+@lilypond[quote,verbatim]
+{ \time 2,2,1 5/8 g'8 8 8 8 8 }
+@end lilypond
+y
+@example
+\tagGroup violin,oboe,bassoon
+@end example
+
+@item
+Tales listas se pueden usar también dentro de expresiones para
+asignaciones, conjuntos y sobreescrituras. Así, ahora puede
+usarse de la forma siguiente:
+@lilypond[quote,verbatim]
+{ \unset Timing.beamExceptions
+ \set Timing.beatStructure = 1,2,1
+ g'8 8 8 8 8 8 8 8 }
+@end lilypond
+
+@item
+Anteriormente se podían asignar valores a los elementos de las
+listas de asociación individualmente (por ejemplo, variables de
+papel como @code{system-system-spacing.basic-distance}). Ahora
+también pueden ser referenciadas de esta manera, como en
+@example
+\paper @{
+ \void \displayScheme \system-system-spacing.basic-distance
+@}
+@end example
+
+En combinación con los cambios mencionados anteriormente, esto
+permite el establecimiento de valores y la referenciación de
+pseudovariables como @code{violin.1}.
+
+@item
+Ahora se pueden incrustar los archivos de código fuente de
+LilyPond dentro de los archivos PDF generados. Esta funcionalidad
+experimental está inhabilitada de forma predeterminada y se puede
+calificar como de no segura, pues los documentos PDF con contenido
+oculto tienden a presentar un riesgo para la seguridad. Observe
+que no todos los visores de PDF son capaces de manejar documentos
+incrustados (en caso de que no sea así, la salida de PDF se verá
+normalmente y los archivos fuente serán invisibles). Esta
+funcionalidad solamente funciona con el backend PDF.
+
+@item
+Ahora se puden definir específicamente los nombres de las notas en
+idioma francés en lugar de constituir un alias de los nombres
+italianos: además de la sintaxis genérica derivada del italiano,
+la altura de la nota @var{d} (@var{re}) se puede escribir ahora
+como @code{ré}. Los dobles sostenidos se pueden escribir también
+usando el sufijo @code{-x}.
+
+@item
+Están contempladas cuerdas bajas adicionales (para la tablatura de
+laúd).
+@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
+Ahora está disponible la instrucción de lista de marcados
+@code{\table}. Cada columna se puede alinear de distinta forma.
+@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
+Una instrucción de marcado nueva, @code{\with-dimensions-from},
+hace que sea más fácil de usar @code{\with-dimensions} obteniendo
+las dimentiones nuevas a partir de un objeto de marcado, dado como
+primer argumento.
+@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
+La nueva función de salto de página
+@code{ly:one-line-auto-height-breaking} sitúa una partitura
+completa en una sola línea y cambia la anchura del papel de forma
+correspondiente, de igual manera que @code{ly:one-line-breaking}.
+La diferencia es que también modifica automáticamente la altura de
+la página para que se ajuste a la altura de la música.
+
+@item
+Está disponible la instrucción de marcado
+@code{\draw-squiggle-line}. Es posible la personalización a
+través de la sobreescritura de @code{thickness},
+@code{angularity}, @code{height} and @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
+Existe una instrucción nueva para eliminar los pentagramas vacíos,
+@code{\RemoveAllEmptyStaves}, que actúa de la misma forma que
+@code{\RemoveEmptyStaves}, excepto porque también elimina los
+pentagramas vacíos del primer sistema de una partitura.
+
+@item
+Las instrucciones de marcado @code{\undertie} y @code{\overtie}
+están disponibles, así como la instrucción de marcado genérica
+@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
+@code{TabStaff} puede ahora imprimir microtonos para las
+curvaturas de tono y otros efectos.
+@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
+Ahora están disponibles dos estilos nuevos de enmarcado en blanco
+para enmascarar el material de fondo. El estilo @code{outline}
+aproxima los contornos de la forma de un glifo, y la forma se
+produce a partir de un conjunto de copias desplazadas del glifo.
+El estilo @code{rounded-box} produce una forma de rectángulo
+redondeado. Para los tres estilos, incluido el estilo @code{box}
+predeterminado, se puede personalizar el @code{thickness} o grosor
+de la forma del enmarcado en blanco, como un múltiplo del grosor
+de una línea del pentagrama.
+
+@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
+Todas las instrucciones @code{\override}, @code{\revert},
+@code{\set} y @code{\unset} ahora funcionan con el prefijo
+@code{\once} para hacer ajustes de una sola vez.
+@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
+Al crear una salida MIDI, LilyPond ahora almacena el @code{title}
+que se ha definido en el bloque @code{\header} de la partitura (o,
+si no existe tal definición en el nivel de @code{\score}, la
+primera definición de ese tipo que aparezca en un bloque
+@code{\header} del @code{\bookpart}, @code{\book}, o ámbito de
+nivel superior que encierra a la partitura) como el nombre de la
+secuencia dentro del archivo MIDI. De forma opcional, el nombre
+de la secuencia MIDI se puede sobreescribir usando el nuevo campo
+@code{midititle} del bloque @code{\header} independientemente del
+@code{title} (por ejemplo, en caso de que @code{title} contenga
+código de elementos de marcado que no se convierta automáticamente
+a texto sencillo de manera satisfactoria).
+
+@item
+Las funciones musicales (además de las funciones vacías y de
+Scheme) e instrucciones de marcado que se limitan a aplicar los
+parámetros finales a una cadena de sobreescrituras, se pueden
+definir ahora de forma que solamente escriben la expresión
+interrumpida con @code{\etc}.
+
+@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
+Las funciones de LilyPond definidas con
+@code{define-music-function}, @code{define-event-function},
+@code{define-scheme-function} y @code{define-void-function} ahora
+se pueden llamar directamente desde Scheme como si fuesen
+procedimientos de Scheme reales. Se sigue efectuando una
+comprobación de los argumentos en su número y tipo de la misma
+forma que cuando se llama a la función a través de código de
+LilyPond. Esto incluye la inserción de valores predeterminados
+para los argumentos opcionales que no se corresponden con sus
+predicados. En lugar de usar @code{\default} en la propia lista
+de argumentos para saltar explícitamente una secuencia de
+argumentos opcionales, se puede emplear @code{*unspecified*}.