1.4 Errores comunes

Las condiciones de error que se describen más abajo se producen con frecuencia, aunque su causa no es obvia o fácil de encontrar. Una vez se han visto y comprendido, se manejan sin problema.


La música se sale de la página

La música que se sale de la página por el margen derecho o que aparece exageradamente comprimida está causada casi siempre por haber introducido una duración incorrecta para una nota, produciendo que la nota final de un compás se extienda más allá de la línea divisoria. Esto no es inválido si la nota final de un compás no termina sobre la línea divisoria introducida automáticamente, pues simplemente se supone que la nota se solapa encima del siguiente compás. Pero si se produce una larga secuencia tales notas solapadas, la música puede aparecer comprimida o salirse de la página porque los saltos de línea automáticos solamente se pueden insertar al final de compases completos, es decir, aquellos en que todas las notas terminan antes de o justo al final del compás.

Nota: Una duración incorrecta puede hacer que se inhiban los saltos de línea, lo que llevaría a una sola línea de música muy comprimida o que se salga de la página.

La duración incorrecta se puede encontrar fácilmente si se utilizan comprobaciones de compás, véase número de compás Comprobación de compás y de número de compás.

Si realmente queremos tener una serie de estos compases con notas solapadas, debemos insertar una línea divisoria invisible donde queramos el salto de línea. Para ver más detalles, consulte Barras de compás.


Aparece un pentagrama de más

Si no se crean los contextos explícitamente con \new o con \context, se crearán discretamente tan pronto como se encuentra una instrucción que no se puede aplicar a un contexto existente. En partituras sencillas, la creación automática de los contextos es útil, y casi todos los ejemplos de los manuales de LilyPond se aprovechan de esta simplificación. Pero ocasionalmente la creación discreta de contextos puede hacer aflorar pentagramas o partituras nuevos e inesperados. Por ejemplo, podría esperarse que el código siguiente hiciera que todas las notas dentro del pentagrama siguiente estuvieran coloreadas de rojo, pero de hecho el resultado son dos pentagramas, permaneciendo el de abajo con las notas en el color negro predeterminado.

\override Staff.NoteHead #'color = #red
\new Staff { a }

[image of music]

Esto es así porque no existe ningún contexto Staff cuando se procesa la instrucción override de sobreescritura, se crea uno implícitamente y la sobreescritura se aplica a éste, pero entonces la instrucción \new Staff crea un pentagrama nuevo y distinto, en el que se colocan las notas. El código correcto para colorear todas las notas de rojo es

\new Staff {
  \override Staff.NoteHead #'color = #red
  a
}

[image of music]

Como segundo ejemplo, si una instrucción \relative se escribe dentro de una instrucción \repeat, el resultado son dos pentagramas, el segundo desplazado respecto al primero, porque la instrucción \repeat genera dos bloques \relative, cada uno de los cuales crea implícitamente bloques Staff y Voice.

\repeat unfold 2 {
  \relative c' { c4 d e f }
}

[image of music]

El problema se resuelve instanciando el contexto Voice explícitamente:

\new Voice {
  \repeat unfold 2 {
    \relative c' { c4 d e f }
  }
}

[image of music]


Error aparente en ../ly/init.ly

Pueden aparecer varios mensajes de error extraños acerca de errores de sintaxis en ‘../ly/init.ly’ si el archivo de entrada no está correctamente formado, por ejemplo si no contiene llaves o comillas correctamente emparejados.

El error más común es la falta de una llave de cierre, (}), al final de un bloque score. Aquí la solución es obvia: compruebe que el bloque score está correctamente cerrado. La estructura correcta de un archivo de entrada está descrita en funcionan los archivos de entrada de LilyPond Cómo funcionan los archivos de entrada de LilyPond. Usando un editor que resalte automáticamente las llaves correspondientes es de mucha ayuda para evitar estos errores.

Una segunda causa frecuente es la falta de un espacio entre la última sílaba de un bloque lyrics (de letra) y la llave de cierre, (}). Sin esta separación, se considera que la llave forma parte de la sílaba. Siempre se aconseja asegurarse de que hay espacios antes y después de todas las llaves. Para conocer la importancia de este asunto al utilizar letras de canciones, consulte Introducir la letra.

Este mensaje de error también puede aparecer si se omiten las comillas de terminación ("). En este caso, un mensaje de error adicional debería indicar un número de línea cercano al de aquella donde está el error. Las comillas desbalanceadas estarán por lo general una o dos líneas por encima.


Mensaje de error Unbound variable %

Este mensaje de error aparece al final de los mensajes de la consola o del archivo de registro junto a un mensaje “GUILE señaló un error …” cada vez que se llame a una rutina de Scheme que (incorrectamente) contenga un comentario de LilyPond en lugar de un comentario de Scheme.

Los comentarios de LilyPond comienzan con un símbolo de porcentaje, (%), y no se deben utilizar dentro de las rutinas de Scheme. Los comentarios de Scheme comienzan con punto y coma, (;).


Mensaje de error FT_Get_Glyph_Name

Este mensaje de error aparece en la salida de la consola o en el archivo log de registro si un archivo de entrada contiene un carácter que no es ASCII y no se ha guardado en la codificación de caracteres UTF-8. Para ver más detalles, consulte texto Codificación del texto.


Advertencia sobre que las afinidades del pentagrama sólo deben decrecer

Esta advertencia puede aparecer si no hay ningún pentagrama en la salida impresa, por ejemplo si sólo hay un contexto ChordName y un contexto Lyrics como en una hoja guía de acordes. Los mensajes de advertencia se pueden evitar haciendo que uno de los contextos se comporte como un pentagrama, insertando

\override VerticalAxisGroup #'staff-affinity = ##f

al comienzo. Para ver más detalles, consulte “Espaciado de las líneas que no son pautas” en de los sistemas Espaciado vertical flexible dentro de los sistemas.


Otros idiomas: English, deutsch, français, magyar, italiano, 日本語.
Acerca de la selección automática del idioma.

LilyPond — Utilización