]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/es/user/tweaks.itely
Appearance of objects
[lilypond.git] / Documentation / es / user / tweaks.itely
index c9c85cbf7eda10edfc944b4ed40bd908f235eeb6..ae42047c6b56578b1778151a6d5a9e8a8e91abb9 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 13290c3922962e4538d3acaf1f7abe14fce6bbff
+    Translation of GIT committish: 2f036270de7077d87ffc4b204e7a0618f59e86f6
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -17,13 +17,14 @@ configurable; prácticamente todos los fragmentos de la salida se pueden cambiar
 @menu
 * Tweaking basics::             
 * The Internals Reference manual::  
+* Appearance of objects::       
 * Moving objects::              
 * Fixing overlapping notation::  
 * Common tweaks::               
 * Default files::               
 * Fitting music onto fewer pages::  
-* Advanced tweaks with Scheme::  
 * Avoiding tweaks with slower processing::  
+* Advanced tweaks with Scheme::  
 @end menu
 
 @node Tweaking basics
@@ -888,13 +889,552 @@ en la instrucción @code{\override}.
   @tab @code{#(#t #t #f)}
 @end multitable
 
+@node Appearance of objects
+@section Appearance of objects
+
+Ahora vamos a poner en práctica lo que hemos aprendido con unos
+cuantos ejemplos que muestran cómo se pueden usar los trucos para
+cambiar el aspecto de la música impresa.
+
+@menu
+* Visibility and color of objects::  
+* Size of objects::             
+* Length and thickness of objects::  
+@end menu
+
+@node Visibility and color of objects
+@subsection Visibility and color of objects
+
+Dentro de un uso educativo de la música, podríamos desear imprimir una
+partitura con ciertos elementos omitidos como ejercicio para el
+alumno, a quien se le pide que los complete.  A la manera de ejemplo
+sencillo, supongamos que el ejercicio es escribir las líneas
+divisorias que faltan en un fragmento musical.  Pero las líneas
+divisorias normalmente se insertan automáticamente. ¿Cómo hacemos para
+que no se impriman?
+
+Antes de enredarnos con esto, recordemos que las propiedades de los
+objetos se agrupan en lo que hemos llamado @emph{interfaces} (véase
+@ref{Properties found in interfaces}).  Esto es simplemente agrupar
+las propiedades que normalmente se necesitan juntas: si una de ellas
+se necesita para un objeto, también las otras.  Así, ciertos objetos
+necesitan las propiedades de algunos interfaces, otros necesitan las
+de otros interfaces.  Los interfaces que contienen las propiedades que
+un determinado grob necesita se ecuentran relacionadas en el manual
+RFI al final de la página que describe dicho grob, y esas propiedades
+se pueden ver mirando dichos interfaces.
+
+Hemos explicado cómo encontrar información sobre los grobs en
+@ref{Properties of layout objects}.  Usando el mismo enfoque, vamos al
+RFI para biscar el objeto de presentación que imprime las líneas
+divisorias.  A través del enlace @emph{Backend} y @emph{All layout
+objects} encontramos que hay un objeto de presentación llamado
+@code{BarLine}.  Entre sus propiedades se encuentran dos que controlan
+la visibilidad: @code{break-visibility} y @code{stencil}.  Las líneas
+divisorias también contemplan un número de interfaces, entre ellos el
+@code{grob-interface}, donde podemos encontrar las propiedades
+@code{transparent} y @code{color}.  Todas ellas pueden afectar la
+visibilidad de las barras de compás (y, por supuesto, por extensión,
+tambén la de muchos otros objetos de presentación).  Vamos a
+considerar cada uno de ellos por orden.
+
+@subheading stencil
+@cindex stencil (sello), propiedad
+
+Esta propiedad controla la apariencia de las barras de compás mediante
+la especificación del símbolo (o «glifo») que se debe imprimir.  Igual
+que como otras muchas propiedades, se puede establecer de forma que no
+imprima nada ajustando su valor a @code{#f}.  Vamos a probarlo, como
+antes, omitiendo el Contexto implícito, @code{Voice}:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 12/16
+  \override BarLine #'stencil = ##f
+  c4 b8 c d16 c d8 |
+  g, a16 b8 c d4 e16 |
+  e8
+}
+@end lilypond
+
+Las barras de compás todavía se imprimen.  ¿Qué es lo que está mal?
+Vuelva al RFI y mire de nuevo la página que ofrece las propiedades del
+objeto BarLine.  Al principio de la página dice @qq{Barline objects
+are created by: Bar_engraver} (los objetos Barline se crean por el
+grabador Bar_engraver).  Vaya a la página del grabador
+@code{Bar_engraver} siguiendo el enlace.  Al final da una lista de
+contextos en los que el grabador de líneas divisorias opera.  Todos
+ellos son del tipo @code{Staff}, y así la razón de que la instrucción
+@code{\override} no funcionara como esperábamos, es porque
+@code{Barline} no se encuentra en el contexto predeterminado
+@code{Voice}.  Si el contexto se especifica mal, la instrucción
+simplemente no funciona.  No se produce ningún mensaje de error, y no
+se registra nada en el archivo log de registro.  Vamos a intentar
+corregirlo escribiendo el contexto correcto:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 12/16
+  \override Staff.BarLine #'stencil = ##f
+  c4 b8 c d16 c d8 |
+  g, a16 b8 c d4 e16 |
+  e8
+}
+@end lilypond
+
+Ahora las barras de compás han desaparecido.
+
+@subheading break-visibility
+
+@cindex break-visibility property
+
+Vemos en las propiedades de @code{BarLine} que aparecen en el RFI que
+la propiedad @code{break-visibility} requiere un vector de tres
+valores booleanos.  Controlan respectivamente si las barras de compás
+se imprimen al final de una línea, en mitad de una línea, y al
+principio de las líneas.  Para nuestro ejemplo, queremos que todas las
+barras de compás se supriman, por lo que el valor que necesitamos es
+@code{#(#f #f #f)}.  Vamos a probarlo, recordando incluir el contexto
+de @code{Staff}.  Observa también que al escribir este valor tenemos
+dos símbolos de almohadilla antes del paréntesis de apertura.  Se
+necesita uno como parte del valor para introducir un vector, y se
+necesita otro más, como siempre, para precered el propio valor dentro
+de la instrucción @code{\override}.
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 12/16
+  \override Staff.BarLine #'break-visibility = ##(#f #f #f)
+  c4 b8 c d16 c d8 |
+  g, a16 b8 c d4 e16 |
+  e8
+}
+@end lilypond
+
+Y podemos ver que esto también quita todas las líneas divisorias.
+
+@subheading transparent
+@cindex transparente, propiedad
+
+En la relación de propiedades que se especifican en la página del
+@code{grob-interface} del RFI podemos ver que la propiedad
+@code{transparent} es un valor booleano.  Esto se debe establecer a
+@code{#t} para hacer que el grob sea transparente.  En el ejemplo
+siguiente vamos a hacer que la indicación de compás, y no las líneas
+divisorias, sea transparente.  Para hacerlo tenemos que buscar el
+nombre del grob de la indicación de compás.  Volviendo a la página
+@q{All layout objects} del RFI, buscamos las propiedades del objeto de
+presentación @code{TimeSignature}.  Se produce por parte del grabador
+@code{Time_signature_engraver} que como puede comprobar vive dentro
+del contexto de @code{Staff} y también contempla el interface
+@code{grob-interface}.  Así pues, la instrucción que hace transparente
+a la indicación de compás es:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 12/16
+  \override Staff.TimeSignature #'transparent = ##t
+  c4 b8 c d16 c d8 |
+  g, a16 b8 c d4 e16 |
+  e8
+}
+@end lilypond
+
+@noindent
+El compás ya no está, pero esta instrucción deja una separación en el
+lugar donde antes estaba la indicación de compás.  Quizá esto es lo
+que queremos para un ejercicio en que el alumno deba escribirlo, pero
+en otras circunstancias esta separación podría no ser deseable.  En
+vez de eso, para quitarla, el stencil o «sello» de la indicación de
+compás se debe establecer al valor @code{#f}:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 12/16
+  \override Staff.TimeSignature #'stencil = ##f
+  c4 b8 c d16 c d8 |
+  g, a16 b8 c d4 e16 |
+  e8
+}
+@end lilypond
+
+@noindent
+y la diferencia es obvia: al establecer el sello al valor @code{#f}
+quitamos el objeto por completo; al hacer el objeto @code{transparent}
+lo dejamos donde está, pero lo hacemos invisible.
+
+@subheading color
+@cindex color, propiedad
+
+PAra finalizar, podríamos hacer invisibles las barras de compás
+pintándolas de color blanco.  El interface @code{grob-interface}
+especifica que la propiedad del color es una lista, pero no hay
+ninguna explicación sobre lo que debe ir en esa lista.  La lista que
+requiere es realmente una lista de valores en unidades internas, pero
+para evitar tener que saber cuáles son, se ofrecen varias vías para la
+especificación de los colores.  La primera forma es utilizar uno de
+los colores @q{normales} que están relacionados en la primera tabla de
+la @ruser{List of colors}.  Para poner las líneas divisorias de color
+blanco, escribimos:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 12/16
+  \override Staff.BarLine #'color = #white
+  c4 b8 c d16 c d8 |
+  g, a16 b8 c d4 e16 |
+  e8
+}
+@end lilypond
+
+@noindent
+y de nuevo podemos comprobar que las barras de compás no son visibles.
+Observe que @emph{white} no viene precedido de un apóstrofe: no es un
+símbolo, sino una @emph{función}.  Cuando se invoca, proporciona la
+lista de valores internos que se requieren para establecer el color a
+blanco.  Los otros colores de la lista normal también son funciones.
+Para convencerse de que esto funciona, quizá quiera cambiar el color a
+una de las otras funciones de la lista.
+
+@cindex colores de X11
+@cindex X11, colores de
+
+La segunda forma de cambiar el color es utilizar la lista de nombres
+de colores de X11 que aparecen en la segunda lista de @ruser{List of
+colors}.  Sin embargo, éstos deben ir precedidos de otra función, que
+convierte los nombres de colores de X11 en la lista de valores
+internos, @code{x11-color}, de la siguiente manera:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 12/16
+  \override Staff.BarLine #'color = #(x11-color 'white)
+  c4 b8 c d16 c d8 |
+  g, a16 b8 c d4 e16 |
+  e8
+}
+@end lilypond
+
+@noindent
+Observe que en este caso la función @code{x11-color} toma un símbolo
+como argumento, así que el símbolo debe ir precedido de un apóstrofe y
+los dos deben ir entre paréntesis.
+
+@cindex rgb, colores
+@cindex color, rgb
+
+Aún hay una tercera función, que convierte valores RGB en colores
+internos: la función @code{rgb-color}.  Toma tres argumentos que dan
+las intensidades de rojo, verde y azul.  Cada uno de ellos puede tomar
+valores entre 0 y 1.  Por lo tanto, para establecer el color a rojo el
+valor debe ser @code{(rgb-color 1 0 0)} y para blanco debe ser
+@code{(rgb-color 1 1 1)}:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 12/16
+  \override Staff.BarLine #'color = #(rgb-color 1 1 1)
+  c4 b8 c d16 c d8 |
+  g, a16 b8 c d4 e16 |
+  e8
+}
+@end lilypond
+
+Finalmente, existe también una escala de grises como parte del
+conjunto de colores de X11.  Varían desde el negro, @code{'grey0'},
+hsta el blanco, @code{'grey100}, en pasos de 1.  Vamos a ilustrar esto
+estableciendo todos los objetos de presentación de nuestro ejemplo a
+varias gradaciones de gris:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 12/16
+  \override Staff.StaffSymbol   #'color = #(x11-color 'grey30)
+  \override Staff.TimeSignature #'color = #(x11-color 'grey60)
+  \override Staff.Clef          #'color = #(x11-color 'grey60)
+  \override Voice.NoteHead      #'color = #(x11-color 'grey85)
+  \override Voice.Stem          #'color = #(x11-color 'grey85)
+  \override Staff.BarLine       #'color = #(x11-color 'grey10)
+  c4 b8 c d16 c d8 |
+  g, a16 b8 c d4 e16 |
+  e8
+}
+@end lilypond
+
+@noindent
+Observe los contextos asociados con cada uno de los objetos de
+presentación.  Es importante que estén correctamente escritos, o las
+instrucciones ¡no funcionarán!  Recuerde que el contexto es aquel en
+que se encuentra el grabador correspondiente.  El contesto
+predeterminado para los grabadores puede encontrarse empezando por el
+objeto de presentación, de ahí al grabador que lo produce, y en la
+página del grabador del RFI aparece en qué contexto se puede encontrar
+normalmente el grabador.
+
+
+@node Size of objects
+@subsection Size of objects
+
+Empezaremos examinando de nuevo un ejemplo anterior (véase
+@ref{Nesting music expressions}) que nos mostraba cómo introducir un
+pentagrama temporal, como en un @rglos{ossia}.
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\new Staff ="main" {
+       \relative g' {
+         r4 g8 g c4 c8 d |
+         e4 r8
+         <<
+           { f c c }
+           \new Staff \with {
+             alignAboveContext = "main" }
+           { f8 f c }
+         >>
+         r4 |
+       }
+     }
+@end lilypond
+
+Los fragmentos de Ossia se escriben normalmente sin clave ni compás, y
+por lo normal se imprimen más pequeños que el pentagrama principal.
+Ya sabemos cómo quitar la clave y el compás: simplemente establecemos
+el sello de cada uno de ellos a @code{#f}, como sigue:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\new Staff ="main" {
+  \relative g' {
+    r4 g8 g c4 c8 d |
+    e4 r8
+    <<
+      { f c c }
+      \new Staff \with {
+        alignAboveContext = "main" 
+      }
+      {
+        \override Staff.Clef #'stencil = ##f
+        \override Staff.TimeSignature #'stencil = ##f
+        { f8 f c }
+      }
+    >>
+    r4 |
+  }
+}
+@end lilypond
+
+@noindent
+donde el par de llaves adicional después de la cláusula @code{\with}
+es necesario para asegurar que la sobreescritura encerrada y la música
+se aplican al pentagrama de ossia.
+
+Pero ¿cuál es la diferencia entre modificar el contexto de pentagrama
+usando @code{\with} y modificar los sellos de clave y de compás con
+\override?  La diferencia principal es que los cambios que se realizan
+enuna cláusula @code{\with} se hacen en el momento en que se crea el
+contexto, y permanecen activos como valores @strong{predeterminados}
+durante toda la duración de dicho contexto, mientras que las
+instrucciones @code{\set} o @code{\override} incluidas dentro de la
+música son dinámicas: hacen cambios sincronizados con un punto
+concreto de la música.  Si los cambios se deshacen o se devuelven
+mediante @code{\unset} o @code{\revert} volverán a su valor
+predeterminado que será el establecido en la cláusula @code{\with}, o
+si no se ha establecido ninguno en este lugar, los valores
+predeterminados normales.
+
+Ciertas propiedades de contexto se pueden modificar solamente dentro
+de cláusulas @code{\with}.  Son aquellas propiedades que no se pueden
+cambiar después de que el contexto se ha creado.
+@code{alignAboveContext} y su compañero, @code{alignBelowContext}, son
+dos de tales propiedades: una vez que el pentagrama se ha creado, su
+alineación está decidida y no tendría sentido intentar cambiarla más
+tarde.
+
+Los valores predeterminados de las propiedades de los objetos de
+presentación también se pueden establever dentro de cláusulas
+@code{\with}.  Simplemente utilice la instrucción @code{\override}
+normal dejando aparte el nombre del contextom ya que está definido sin
+ambigüedad como el contexto que la cláusula @code{\with} está
+modificando.  De hecho, se producirá un error si se especifica un
+contexto en este lugar.
+
+Así pues, podemos reemplazar el ejemplo anterior con
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\new Staff ="main" {
+  \relative g' {
+    r4 g8 g c4 c8 d |
+    e4 r8
+    <<
+      { f c c }
+      \new Staff \with {
+        alignAboveContext = "main" 
+        % Don't print clefs in this staff
+        \override Clef #'stencil = ##f
+        % Don't print time signatures in this staff
+        \override TimeSignature #'stencil = ##f
+      }
+        { f8 f c }
+    >>
+    r4 |
+  }
+}
+@end lilypond
+
+Finalmente llegamos a la forma de cambiar el tamaño de los objetos de
+presentación.
+
+Ciertos objetos de presentación se crean como glifos sacados de una
+fuente tipográfica.  Entre ellos se encuentran las cabezas,
+alteraciones, elementos de marcado, claves, indicaciones de compás,
+indicaciones dinámicas y la letra de las canciones.  Su tamaño se
+cambia mediante la modificación de la propiedad @code{font-size}, como
+veremos en breve.  Otros objetos de presentación como ligaduras de
+unión y de expresión (en general, objetos de extensión) se trazan
+individualmente, por lo que no hay un tamaño de tipografía
+@code{font-size} asociado a ellos.  Estos objetos generalmente derivan
+su tamaño de los objetos a los que están adosados, y por ello
+normalmente no hay necesidad de cambiarles el tamaño manualmente.  Aún
+otras propiedades como la longitud de las plicas y las barras de
+compás, el grosor de las barras de corchea y otras líneas, y la
+separación de las líneas del pentagrama se deben modificar de otras
+formas especiales.
+
+Volviendo al ejemplo del ossia, vamos a cambiar en primer lugar el
+tamaño de la tipografía.  Podemos hacerlo de dos formas.  Podemos
+cambiar el tamaño de las tipografías de cada uno de los tipos de
+objeto como las cabezas (@code{NoteHead}s) con instrucciones como
+
+@example
+\override NoteHead #'font-size = #-2
+@end example
+
+o podemos cambiar el tamaño de todas las tipografías estableciendo una
+propiedad especial, @code{fontSize}, utilizando @code{\set}, o
+mediante su inclusión dentro de una cláusula @code{\with} (pero sin el
+@code{\set}).
+
+@example
+\set fontSize = #-2
+@end example
+
+Los dos enunciados producirían una reducción del tamaño de la
+tipografía en dos pasos a partir de su valor previo, donde cada paso
+reduce o aumenta el tamaño aproximadamente en un 12%.
+
+Vamos a probarlo en nuestro ejemplo del ossia:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\new Staff ="main" {
+  \relative g' {
+    r4 g8 g c4 c8 d |
+    e4 r8
+    <<
+      { f c c }
+      \new Staff \with {
+        alignAboveContext = "main" 
+        \override Clef #'stencil = ##f
+        \override TimeSignature #'stencil = ##f
+        % Reduce all font sizes by ~24%
+        fontSize = #-2
+      }
+        { f8 f c }
+    >>
+    r4 |
+  }
+}
+@end lilypond
+
+Aún no está demasiado bien.  Las cabezas y los corchetes de las notas
+son más pequeños, pero las plicas son demasiado largas en proporción,
+y las líneas del pentagrama están demasiado separadas entre sí.  Se
+debe reducir su escala en proporción a la reducción de la tipografía.
+El siguiente apartado trata sobre cómo se hace esto.
+
+@node Length and thickness of objects
+@subsection Length and thickness of objects
+
+@cindex distancias
+@cindex grosor
+@cindex longitud
+@cindex magstep
+@cindex tamaño, cambiar
+@cindex plica, cambiar la longitud
+@cindex pentagrama, cambiar la separación de las líneas
+
+Las distancias y longitudes en LilyPond se miden generalmente en
+espacios de pentagrama, la distancia entre líneas adyacentes de la
+pauta (o de manera ocasional medios espacios), mientras que la mayoría
+de las propiedades de @code{thickness} (grosor) se miden en unidades
+de una propiedad interna llamada @code{line-thickness.}  Por ejemplo,
+de forma predeterminada, a las líneas de los reguladores se les da un
+grosor de 1 unidad de @code{line-thickness}, mientras que el
+@code{thickness} de una plica es 1.3.  Observe sin embargo que ciertas
+propiedades de grosor son diferentes; por ejemplo, el grosor de las
+barras de corchea se mide en espacios de pentagrama.
+
+Entonces ¿cómo se tienen que escalar las longitudes en proporción al
+tamaño de la tipografía?  Se puede hacer con la ayuda de una función
+especial que se llama @code{magstep}, pensada especialmente para este
+propósito.  Toma un argumento, el cambio de tamaño de la tipografía
+(#-2 en nuestro ejemplo) y devuelve un factor de escalado adecuado
+para reducir otros objetos en la misma proporción.  Se usa de la
+siguiente forma:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\new Staff ="main" {
+  \relative g' {
+    r4 g8 g c4 c8 d |
+    e4 r8
+    <<
+      { f c c }
+      \new Staff \with {
+        alignAboveContext = "main" 
+        \override Clef #'stencil = ##f
+        \override TimeSignature #'stencil = ##f
+        fontSize = #-2
+        % Reduce stem length and line spacing to match
+        \override StaffSymbol #'staff-space = #(magstep -2)
+      }
+        { f8 f c }
+    >>
+    r4 |
+  }
+}
+@end lilypond
+
+@noindent
+Puesto que la longitud de las plicas y muchas otras propiedades
+relacionadas con la longitudse calculan siempre con relación al valor
+de la propiedad @code{staff-space}, su longitud también ve reducida su
+escala automáticamente.  Observe que esto afecta solamente a la escala
+vertical del ossia: la escala horizontal se determina por medio de la
+disposición de la música principal con el objeto de mantenerse en
+sincronía con ella, de forma que no resulte afectada por ninguno de
+estos cambios de tamaño.  Por supuesto, si la escala de toda la música
+principal se cambiase de esta forma, entonces el espaciado horizontal
+se vería afectado.  Trataremos de esto más tarde en la sección sobre
+la disposición.
+
+Esto, en fin, completa la creación de un ossia.  Los tamaños y
+longitudes del resto de los objetos se pueden modificar de manera
+análoga.
+
+Para cambios de escala pequeños, como en el ejemplo de arriba, el
+grosor de las diversas líneas dibujadas como divisorias, barras de
+corchea, reguladores, ligaduras, etc, no requieren normalmente ningún
+ajuste global.  Si el grosor de cualquier objeto de presentación en
+particular necesita ajustarse, se puede hacer mejor mediante la
+sobreescritura de su propiedad @code{thickness}.  Anteriormente
+mostramos un ejemplo de cambio de grosor en las ligaduras, en
+@ref{Properties of layout objects}.  El grosor de todos los objetos
+trazados (es decir, aquellos que no se producen a partir de una
+tipografía) se pueden cambiar de la misma forma.
 
 @node Moving objects
 @section Moving objects
 
-Aunque pueda sorprenderle, LilyPond no es perfecto.  Ciertos
-elementos de notación se pueden superponer, lo que es una lástima,
-pero en casi todos los casos se resuelve fácilmente.
+Aunque pueda sorprenderle, LilyPond no es perfecto.  Ciertos elementos
+de notación se pueden superponer, lo que es una lástima, pero en casi
+todos los casos se resuelve fácilmente.
 
 @c  FIXME: find a better example for 5.1 Moving Objects.  -gp
 @c  yes, I want this TODO to be visible to end-users.  It's better
@@ -1197,14 +1737,6 @@ se mide en espacios de pentagrama.  Para más información, consulte la porción
 correspondiente de la referencia del programa.
 
 
-@menu
-* Size of objects::             
-@end menu
-
-@node Size of objects
-@subsection Size of objects
-
-UNTRANSLATED NODE: IGNORE ME
 
 @node Default files
 @section Default files
@@ -1326,6 +1858,17 @@ Altere el espaciado horizontal por medio de @code{SpacingSpanner}.  Consulte
 
 @end itemize
 
+@node Avoiding tweaks with slower processing
+@section Avoiding tweaks with slower processing
+
+LilyPond puede llevar a cabo comprobaciones adicionales al tiempo que
+procesa los archivos.  Estos comandos consumen tiempo, pero el
+resultado puede necesitar menos trucos manuales.
+
+@example
+%%  asegura que las marcas de texto y letras de las canciones se encuentran dentro de los márgenes de la página
+\override Score.PaperColumn #'keep-inside-line = ##t 
+@end example
 
 @node Advanced tweaks with Scheme
 @section Advanced tweaks with Scheme
@@ -1387,17 +1930,6 @@ pattern = #(define-music-function (parser location x y) (ly:music? ly:music?)
 @end lilypond
 
 
-@node Avoiding tweaks with slower processing
-@section Avoiding tweaks with slower processing
-
-LilyPond puede llevar a cabo comprobaciones adicionales al tiempo que
-procesa los archivos.  Estos comandos consumen tiempo, pero el
-resultado puede necesitar menos trucos manuales.
-
-@example
-%%  asegura que las marcas de texto y letras de las canciones se encuentran dentro de los márgenes de la página
-\override Score.PaperColumn #'keep-inside-line = ##t 
-@end example