\input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 714ec3008267aa3abd4f3bfb05da7eede2eb4e27
+ Translation of GIT committish: 93d725094ee629b2d5200ab5a75b609579a62973
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@end ignore
+@item
+Ya no se aplica automáticamente la funcionalidad de ajuste de los
+trazos de PostScript, sino que se deja a la discreción del
+dispositivo PostScript (de forma predeterminada, Ghostscript la
+usa para resoluciones de hasta 150ppp cuando se generan imágenes
+de matriz de puntos). Cuando se habilita, se emplea
+(principalmente para las plicas y las barras de compás) un
+algoritmo de trazado más complejo diseñado para sacar provecho del
+ajuste de los trazos.
+
+El ajuste de trazos se puede forzar mediante la especificación de
+la opción de línea de órdenes @samp{-dstrokeadjust} para la
+instrucción LilyPond. Cuando se generan archivos @code{PDF}, esto
+normalmente produce una vista previa de los @code{PDF}
+marcadamente mejorada, pero con un tamaño de archivo
+significativamente más grande. A altas resoluciones, la calidad
+de la impresión puede no resultar afectada.
+
+@item
+Ahora hay un nuevo tipo de contexto llamado @code{NullVoice} que,
+si bien no aparece en la salida impresa, se puede usar para
+alinear la letra de las canciones. Esto puede ser especialmente
+conveniente cuando se usa en paralelo con una construcción
+@code{\partcombine}.
+
+@lilypond[verbatim,quote]
+soprano = \relative c' { c e g c }
+alto = \relative c' { a c e g }
+verse = \lyricmode { This is my song }
+
+\score {
+ \new Staff <<
+ \partcombine \soprano \alto
+ \new NullVoice = "aligner" \soprano
+ \new Lyrics \lyricsto "aligner" \verse
+ >>
+ \layout {}
+}
+@end lilypond
+
+
@item
Pueden colocarse dentro de una sola variable, o ser devueltas por
una función de evento, varias articulaciones:
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 6e4e9c4eacb94d68c11fd6b9062da4f724114860
+ Translation of GIT committish: 7ec0c02a1520974682d2e3e3aa2dd59a1a05988d
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
orientadas a su utilización en páginas web y presentaciones
multimedia.
-Este manual muestra también una aplicación: el formato de entrada es
-texto, y puede ser por tanto fácilmente empotrado dentro de otros
-formatos basados en texto como @LaTeX{}, HTML, o en el caso de este
-manual, Texinfo. Utilizando el programa @command{lilypond-book}, que
-viene incluido con LilyPond, los fragmentos de entrada se pueden
-reemplazar por imágenes de la música en los archivos de salida PDF o
-HTML resultantes. Otro ejemplo es la extensión (de terceras partes)
-OOoLilyPond para OpenOffice.org, que hace de la inclusión de ejemplos
-musicales dentro de los documentos, una tarea extremadamente sencilla.
+Este manual muestra también una aplicación: el formato de entrada
+es texto, y puede ser por tanto fácilmente empotrado dentro de
+otros formatos basados en texto como @LaTeX{}, HTML, o en el caso
+de este manual, Texinfo. Utilizando el programa
+@command{lilypond-book}, que viene incluido con LilyPond, los
+fragmentos de entrada se pueden reemplazar por imágenes de la
+música en los archivos de salida PDF o HTML resultantes. Otro
+ejemplo es la extensión (de terceras partes) OOoLilyPond para
+OpenOffice.org o LibreOffice, que hace de la inclusión de ejemplos
+musicales dentro de los documentos, una tarea extremadamente
+sencilla.
Para ver más ejemplos de LilyPond en acción, la documentación
completa, y el programa propiamente dicho, visite nuestra página
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of extending.tely
@ignore
- Translation of GIT committish: 6bbc01872dd4e9cced2524c378628d9219ac08ae
+ Translation of GIT committish: 41c8bf63a7cc180746eace9b9e5278f541be0229
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
El procedimiento siempre toma un argumento único, que es el grob (el
objeto gráfico).
+Dicho procedimiento puede acceder al valor usual de la propiedad,
+llamando en primer lugar a la función que es el @q{callback} usual
+para esa propiedad, y que puede verse en el manual de referencia
+interna o en el archivo 'define-grobs.scm':
+
+@example
+\relative c'' @{
+ \override Flag #'X-offset = #(lambda (flag)
+ (let ((default (ly:flag::calc-x-offset flag)))
+ (* default 4.0)))
+ c4. d8 a4. g8
+@}
+@end example
+
Si se deben llamar rutinas con varios argumentos, el grob actual se
puede insertar con una cerradura de grob. He aquí un ajuste
procedente de @code{AccidentalSuggestion},
@c contributor/introduction.itely
@ignore
- Translation of GIT committish: f6443f01a56112f080b8d2e7e646007397bdf6ec
+ Translation of GIT committish: 6671c51302bd71216a7d4c698c475e2abf0d78b4
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Para un proyecto polifacético como LilyPond, a veces es difícil saber
por dónde empezar. Además de las vías que se proponen más abajo,
-puede enviar un correo electrónico al
-@email{mike@@mikesolomon.org,Frog meister} (maestro del equipo de
-cazadores de bugs) haciéndole conocer su conjunto de habilidades y
-preguntándole cómo puede ayudar, o proponiendo un proyecto. Él le
-dará unas indicaciones sobre cómo iniciarse.
+puede enviar un correo electrónico a la lista de correo
+@uref{https://lists.gnu.org/mailman/listinfo/lilypond-devel, lilypond-devel@@gnu.org},
+y nosotros le ayudaremos a iniciarse.
@end macro
fallos} adecuados, y/o apúntese al Escuadrón de Fallos para
la organización de los @rcontribnamed{Issues,Problemas}.
-@item
-@rcontrib{Grand Regression Test Checking} (la Magna Comprobación de
-las Pruebas de Regresión): verificar que LilyPond funciona
-correctamente examinando el resultado a la salida de los fragmentos de
-código de prueba. ¡Se tarda menos de un minuto en comprobar un
-fragmento de código!
-
@item
Documentación: se pueden proponer cambios pequeños siguiendo las
indicaciones de @rcontribnamed{Documentation suggestions,Sugerencias
the website,Traducir la página web}.
@item
-Corrección de fallos o funcionalidades nuevas: la mejor forma de
-comenzar es unirse a los cazadores de bugs, los Frogs, y leer
+Corrección de fallos o funcionalidades nuevas: lea
@rcontribnamed{Programming work,Trabajos de programación}.
@end itemize
@macro helpusProjects
@subheading Proyectos
-@subsubheading Frogs
-
-Página y lista de distribución de correo:
-
-@example
-@uref{http://frogs.lilynet.net}
-@end example
-
-Los Frogs son usuarios de LilyPond normales que voluntariamente se
-implican en el desarrollo de su programa favorito. Arreglar fallos,
-implementar funcionalidades nuevas, documentar el código fuente: es
-mucho lo que hay que hacer, pero lo principal es: hay una oportunidad
-para todos de aprender más sobre LilyPond, sobre el Software Libre,
-sobre programación@dots{} y pasarlo bien. Si siente curiosidad sobre
-cualquiera de ellos, el lema es: @emph{Join the Frogs!}
-
-
@subsubheading El proyecto GLISS (Grand LilyPond Input Syntax Standardization)
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 11cf358d3e89f42616c4361fc3203add5662cf4e
+ Translation of GIT committish: 7fdce4f39834cc8c83f176480cc1d20900eb09f8
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@seealso
+Manual de aprendizaje:
+@ref{Mover objetos}.
+
Referencia de la notación:
@ruser{Varias voces}.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: ff7d82711b47d3d31f26e1e6fc012c4055a20059
+ Translation of GIT committish: 7fdce4f39834cc8c83f176480cc1d20900eb09f8
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
resolución de colisiones entre objetos de presentación como silencios
multi-compás, ligaduras de unión y notas en distintas voces.
+@item
+@code{horizontal-shift}
+
+@cindex horizontal-shift, propiedad
+@cindex nota, columna de
+@cindex nota, colisiones
+@cindex colisiones de notas
+@cindex desplazamiento, instrucciones de
+@funindex \shiftOff
+@funindex shiftOff
+@funindex \shiftOn
+@funindex shiftOn
+@funindex \shiftOnn
+@funindex shiftOnn
+@funindex \shiftOnnn
+@funindex shiftOnnn
+
+Dentro de una vozm todas las notas que se producen en el mismo
+moemtno se agrupan en una columna de notas, y se crea un objeto
+@code{NoteColumn} para controlar el posicionamiento horizonal de
+dicho grupo de notas (véase @qq{Columnas de nota} en @ref{Voces
+explícitas}). Si @emph{y sólo si} dos o más columnas de nota
+dentro de un solo contexto de pauta, las dos con las plicas en la
+misma dirección, aparecen en el mismo momento musical, los valores
+de sus propiedades @code{horizontal-shift} se usan para asignarles
+una puntuación y las columnas con puntuaciones más altas se
+desplazan progresivamente para evitar las colisiones entre las
+cabezas de las notas. Esta propiedad se establece con las
+instrucciones @code{\voiceXXX} y se pueden sobreescribir
+directamente con una instrucción @code{\override} o, de forma más
+común con las instrucciones @code{\shiftOn}. Observe que esta
+propiedad se usa para @emph{calificar} las columnas de nota o para
+aplicar desplazamientos: no especifica la magnitud del
+desplazamiento, que se va incrementando progresivamente en pasos
+basándolse en la anchura de las cabezas de nota para cada
+puntuación. Los pasos son normalmente de la mitad de la anchura
+de una cabeza de nota, pero puede ser el ancho completo de la
+cabeza de una nota cuando está implicado un grupo de notas muy
+apretadas entre sí.
+
@item
@code{force-hshift} (forzar desplazamiento horizontal)
@cindex force-hshift, propiedad
-Las notas muy juntas de un acorde, o aquellas que ocurren al mismo
-tiempo en voces distintas, se disponen en dos (y ocasionalmente más)
-columnas para evitar la superposición de las cabezas. Éstas reciben
-el nombre de columnas de notas, y se crea un objeto llamado
-@code{NoteColumn} para disponer las notas en dicha columna.
-
La propiedad @code{force-hshift} es una propiedad de una
@code{NoteColumn} (realmente lo es del interface
-@code{note-column-interface}). Modificarlo permite mover una columna
-de notas en unidades adecuadas a una columna de notas, por ejemplo la
-anchura de la cabeza de la nota de la primera voz. Se debe usar en
-situaciones complejas donde las instrucciones @code{\shiftOn} normales
-(véase @ref{Voces explícitas}) no resuelven el
-conflicto entre las notas. Es preferible a la propiedad
-@code{extra-offset} para este propósito porque no hay necesidad de
-averiguar la distancia en espacios de pentagrama, y mover las notas
-dentro o fuera de una @code{NoteColumn} afecta a otras acciones como a
-la fusión entre cabezas de nota.
+@code{note-column-interface}). Modificarlo permite mover una
+columna de notas en situaciones donde las columnas de notas se
+superponen. Observe que no tiene efecto sobre las columnas de
+nota que no se superponen. Se especifica en unidades adecuadas a
+una columna de notas, por ejemplo la anchura de la cabeza de la
+nota de la primera voz. Se debe usar en situaciones complejas
+donde las instrucciones @code{\shiftOn} normales (véase @ref{Voces
+explícitas}) no resuelven el conflicto entre las notas de forma
+satisfactoria. Es preferible a la propiedad @code{extra-offset}
+para este propósito porque no hay necesidad de averiguar la
+distancia en espacios de pentagrama, y mover las notas dentro o
+fuera de una @code{NoteColumn} afecta a otras acciones como a la
+fusión entre cabezas de nota.
@end itemize
@end lilypond
@noindent
-Es necesario que la nota interior del primer acorde (el La bemol de la
-cuarta voz) no se aparte de la columna vertical de la nota aguda.
-Para corregirlo, ajustamos a cero el valor para esta nota de
-@code{force-hshift}, que es una propiedad de @code{NoteColumn}.
-
-En el segundo acorde preferimos que el Fa esté alineado con el La bemol
-y que la nota grave se coloque ligeramente a la derecha para evitar una
-colisión de las plicas. Lo conseguimos ajustando el valor de
-@code{force-hshift} en la @code{NoteColumn} del Re bemol grave para
-moverlo a la derecha medio espacio de pentagrama.
+Es necesario que la nota interior del primer acorde (el La bemol
+de la cuarta voz) no se aparte de la columna vertical de la nota
+aguda. Podríamos esperar corregirlo mediante el uso de
+@code{\shiftOff}, pero esto produce advertencias sobre columnas de
+notas que colisionan. En lugar de ello, ajustamos a cero el valor
+para esta nota de @code{force-hshift}, que es una propiedad de
+@code{NoteColumn}.
+
+En el segundo acorde preferimos que el Fa esté alineado con el La
+bemol y que la nota grave se coloque ligeramente a la derecha para
+evitar una colisión de las plicas. Lo conseguimos ajustando el
+valor de @code{force-hshift} en la @code{NoteColumn} del Re bemol
+grave para moverlo a la derecha medio espacio de pentagrama, y
+fijando @code{force-hshift} para el Fa al vaor cero. Observe que
+usamos @code{\once} para evitar que los ajustes se propaguen más
+allá del momento musical inmediato, aunque en este pequeño ejemplo
+podrían omitirse el @code{\once} y el segundo @code{\override} de
+la cuarta voz. Ello no supondría una buena práctica.
Presentamos a continuación el resultado final:
<<
{ c2 aes4. bes8 }
\\
- {
- <ees, c>2
- \once \override NoteColumn.force-hshift = #0.5
- des2
- }
+ { <ees, c>2 \once \override NoteColumn.force-hshift = 0.5 des }
\\
\\
- {
- \override NoteColumn.force-hshift = #0
- aes'2 f4 fes
- }
+ { \once \override NoteColumn.force-hshift = 0 aes'2
+ \once \override NoteColumn.force-hshift = 0 f4 fes }
>> |
<c ees aes c>1 |
}