2.2.2 Trabajar sobre los archivos de entrada (Manual de aprendizaje de GNU LilyPond)

#### 2.2.2 Trabajar sobre los archivos de entrada

Los archivos de entrada de LilyPond son como los archivos fuente de muchos lenguajes de programación corrientes. Contienen un enunciado de versión, son sensibles a las mayúsculas y generalmente los espacios se ignoran. Las expresiones se forman con llaves `{ }` y los comentarios se denotan por un signo de porcentaje (`%`) o por `%{ … %}` .

Si la frase anterior no tiene sentido para usted ¡no se preocupe! A continuación explicaremos el significado de todos estos términos:

- Enunciado de la versión: Todo archivo de LilyPond debe contener un enunciado de versión. Un enunciado de versión es una línea que describe la versión de LilyPond para la que se escribió este archivo, como en el ejemplo siguiente:

      \version "2.26.0"

  Por convenio, el enunciado de versión se coloca al principio del archivo de LilyPond.

  El enunciado de versión es importante por dos motivos como mínimo. En primer lugar, permite la actualización automática del código de entrada conforme se va modificando la sintaxis de LilyPond. En segundo lugar, indica la versión de LilyPond que se necesita para compilar el archivo.

  Si no se escribe ningún enunciado de versión en el archivo de entrada, LilyPond imprime una advertencia durante la compilación del mismo.

- Sensible a las mayúsculas: tiene importancia el hecho de que introduzca una letra en minúsculas (p.ej. `a, b, s, t`) o en mayúsculas (p.ej. `A, B, S, T`). Las notas son minúsculas: ‘`{ c d e }`’ es una entrada válida; ‘`{ C D E }`’ produciría un mensaje de error.
- Insensible al número de espacios: no importa cuántos espacios (o saltos de línea o de tabulación) añada. ‘`{ c4 d e }`’ significa lo mismo que ‘`{ c4 d e }`’ y que

      { c4                       d
                         e   }

  Por supuesto, el ejemplo anterior es difícil de leer. Una regla práctica es sangrar los bloques de código con un carácter de tabulación, o bien con dos espacios:

      {
        c4 d e
      }

  Sin embargo, sí se necesitan espacios para separar muchos elementos sintácticos unos de otros. En otras palabras, los espacios se pueden siempre añadir, pero no siempre eliminar. Dado que la falta de espacios puede dar lugar a extraños errores, recomendamos insertar espacios siempre antes y después de cualquier elemento sintáctico, por ejemplo, antes y después de las llaves.

- Expresiones: Todo fragmento de código de entrada para LilyPond ha de llevar { llaves } antes y después de la entrada. Estas llaves le dicen a LilyPond que la entrada es una expresión musical unitaria, igual que los paréntesis ‘`()`’ de las matemáticas. Las llaves deben ir rodeadas de un espacio a no ser que se encuentren al comienzo o al final de una línea, para evitar cualquier ambigüedad.

  Una instrucción de LilyPond seguida de una expresión simple entre llaves (como por ejemplo ‘`\relative { … }`’) también es una expresión musical unitaria.

- Comentarios: Un comentario es una nota para el lector humano de la entrada musical; se ignora cuando esta entrada se analiza, de manera que no tiene ningún efecto sobre la salida impresa. Existen dos tipos de comentarios. El símbolo de porcentaje ‘`%`’ introduce un comentario de línea; todo lo que se encuentra después de ‘`%`’ en esa línea se ignora. Por convenio, una línea de comentario se coloca por encima del código a que se refiere el comentario.

      a4 a a a
      % este comentario se refiere a las notas Si
      b2 b

  Un comentario de bloque marca una sección entera de entrada musical como comentario. Todo lo que está encerrado dentro de `%{` y `%}` se ignora (pero los comentarios no pueden anidarse, lo que significa que un comentario de bloque no puede incluir otros comentarios de bloque). Si lo hiciera, el primer `%}` daría por terminado los dos comentarios de bloque. El siguiente fragmento muestra algunos posibles usos para los comentarios:

      % a continuación van las notas de campanitas del lugar
        c4 c g' g a a g2

      %{
        Esta línea y las notas que aparecen más abajo
        se ignoran, por estar dentro de un
        comentario de bloque.

        f4 f e e d d c2
      %}

#### Manual de aprendizaje de GNU LilyPond v2.26.0 (stable-branch).

- 1 Installing
  - 1.1 Graphical setup
  - 1.2 Command line setup
- 2 Tutorial
  - 2.1 Compilación del archivo
  - 2.2 Cómo escribir archivos de entrada
    - 2.2.1 Notación sencilla
      - Alturas
      - Duraciones (valores rítmicos)
      - Silencios
      - Indicación de compás
      - Indicaciones de tempo
      - Clave
      - Todo junto
    - 2.2.2 Trabajar sobre los archivos de entrada
  - 2.3 Tratar con los errores
    - 2.3.1 Consejos generales de solución de problemas
    - 2.3.2 Algunos errores comunes
  - 2.4 Cómo leer los manuales
    - 2.4.1 Material omitido
    - 2.4.2 Ejemplos con enlace
    - 2.4.3 Panorámica de los manuales
- 3 Notación corriente
  - 3.1 Notación en un solo pentagrama
    - 3.1.1 Líneas divisorias y comprobaciones de compás
      - Líneas divisorias
      - Comprobaciones de compás
    - 3.1.2 Alturas y armaduras
      - Alteraciones accidentales
      - Armaduras
      - Advertencia: armaduras y alturas
    - 3.1.3 Ligaduras de unión y de expresión
      - Ligaduras de unión
      - Ligaduras de expresión
      - Ligaduras de fraseo
      - Advertencias: ligaduras de expresión frente a ligaduras de unión
    - 3.1.4 Articulaciones y matices dinámicos
      - Articulaciones
      - Indicaciones de digitación
      - Matices dinámicos
    - 3.1.5 Añadir texto
    - 3.1.6 Barras automáticas y manuales
    - 3.1.7 Instrucciones rítmicas avanzadas
      - Compás parcial
      - Grupos especiales
      - Notas de adorno
  - 3.2 Varias notas a la vez
    - 3.2.1 Explicación de las expresiones musicales
      - Analogía: expresiones matemáticas
      - Expresiones musicales simultáneas: varios pentagramas
      - Expresiones musicales simultáneas: un solo pentagrama
    - 3.2.2 Varios pentagramas
    - 3.2.3 Grupos de pentagramas
    - 3.2.4 Combinar notas para formar acordes
    - 3.2.5 Polifonía en un solo pentagrama
  - 3.3 Canciones
    - 3.3.1 Elaborar canciones sencillas
    - 3.3.2 Alineación de la letra a una melodía
    - 3.3.3 Letra en varios pentagramas
  - 3.4 Retoques finales
    - 3.4.1 Organizar las piezas mediante variables
    - 3.4.2 Añadir títulos
    - 3.4.3 Nombres de nota absolutos
    - 3.4.4 Más allá del tutorial
- 4 Conceptos fundamentales
  - 4.1 Cómo funcionan los archivos de entrada de LilyPond
    - 4.1.1 Introducción a la estructura de los archivos de LilyPond
    - 4.1.2 La partitura es una (única) expresión musical compuesta
    - 4.1.3 Anidado de expresiones musicales
    - 4.1.4 Estructura de un elemento de nota
    - 4.1.5 Acerca de la no anidabilidad de llaves y ligaduras
  - 4.2 Las voces contienen música
    - 4.2.1 Oigo voces
    - 4.2.2 Voces explícitas
    - 4.2.3 Voces y música vocal
  - 4.3 Contextos y grabadores
    - 4.3.1 Explicación de los contextos
    - 4.3.2 Crear contextos
    - 4.3.3 Explicación de los grabadores
    - 4.3.4 Modificar las propiedades de los contextos
    - 4.3.5 Añadir y eliminar grabadores
  - 4.4 Extender las plantillas
    - 4.4.1 Soprano y violoncello
    - 4.4.2 Partitura vocal a cuatro voces SATB
    - 4.4.3 Crear una partitura partiendo de cero
    - 4.4.4 Ahorrar tecleo mediante variables y funciones
    - 4.4.5 Partituras y particellas
- 5 Trucar la salida
  - 5.1 Elementos de trucaje
    - 5.1.1 Objetos e interfaces
    - 5.1.2 Convenciones de nombres de objetos y propiedades
    - 5.1.3 Métodos de trucaje
      - La instrucción `\override`
      - La instrucción `\revert`
      - El prefijo `\once`
      - Las instrucciones `\tweak` y `\offset`
      - El prefijo `\single`
  - 5.2 Manual de referencia de funcionamiento interno
    - 5.2.1 Propiedades de los objetos de presentación
    - 5.2.2 Propiedades de las interfaces
    - 5.2.3 Tipos de propiedades
  - 5.3 Apariencia de los objetos
    - 5.3.1 Visibilidad y color de los objetos
      - La propiedad `stencil` (sello)
      - La propiedad `break-visibility` (visibilidad en el salto)
      - La propiedad `transparent` (transparente)
      - La propiedad `color`
    - 5.3.2 Tamaño de los objetos
    - 5.3.3 Longitud y grosor de los objetos
  - 5.4 Desplazamientos y alineaciones
  - 5.5 Colocación de los objetos
    - 5.5.1 Comportamiento automático
    - 5.5.2 Objetos interiores al pentagrama
      - La propiedad `direction` (dirección)
      - Digitaciones
    - 5.5.3 Objetos fuera del pentagrama
      - La propiedad `outside-staff-priority` (prioridad fuera del pentagrama)
      - La instrucción `\textLengthOn`
      - Posicionamiento de los matices dinámicos
      - Escalado de un «Grob»
  - 5.6 Espaciado vertical
  - 5.7 Colisiones de objetos
    - 5.7.1 Mover objetos
    - 5.7.2 Arreglar notación con superposiciones
      - La propiedad `padding` (relleno)
      - La propiedad `right-padding` (relleno por la derecha)
      - La propiedad `staff-padding` (relleno de pentagrama)
      - La propiedad `self-alignment-X` (auto-alineación en X)
      - La propiedad `staff-position` (posición en el pentagrama)
      - La propiedad `extra-offset` (desplazamiento adicional)
      - La propiedad `positions` (posiciones)
      - La propiedad `force-hshift` (forzar desplazamiento horizontal)
    - 5.7.3 Ejemplos reales de música
  - 5.8 Trucajes adicionales
    - 5.8.1 Otras aplicaciones de los trucos
      - Unir notas entre voces distintas
      - Simulación de un calderón en el MIDI
    - 5.8.2 Uso de variables para los ajustes de disposición
    - 5.8.3 Hojas de estilo
    - 5.8.4 Otras fuentes de información
    - 5.8.5 Trucos avanzados con Scheme
- Appendix A Plantillas
  - A.1 Plantillas incorporadas
    - A.1.1 Plantilla coral SATB
    - A.1.2 Plantilla coral SSAATTBB
  - A.2 Plantillas de pentagrama único
    - A.2.1 Sólo notas
    - A.2.2 Notas y letra
    - A.2.3 Notas y acordes
    - A.2.4 Notas, letra y acordes
  - A.3 Plantillas de piano
    - A.3.1 Piano solo
    - A.3.2 Piano y melodía con letra
    - A.3.3 Piano con letra centrada
  - A.4 Plantillas de cuarteto de cuerda
    - A.4.1 Cuarteto de cuerda simple
    - A.4.2 Particellas de cuarteto de cuerda
  - A.5 Plantillas de conjuntos vocales
    - A.5.1 Partitura vocal SATB
    - A.5.2 Partitura vocal SATB y reducción para piano automática
    - A.5.3 SATB con contextos alineados
    - A.5.4 SATB sobre cuatro pentagramas
    - A.5.5 Estrofas a solo y estribillo a dos voces
    - A.5.6 Melodías de himnos
    - A.5.7 Salmos
  - A.6 Plantillas orquestales
    - A.6.1 Orquesta, coro y piano
  - A.7 Plantillas para notación antigua
    - A.7.1 Transcripción de música mensural
    - A.7.2 Plantilla para transcripción de canto gregoriano
  - A.8 Otras plantillas
    - A.8.1 Combo de jazz
- Appendix B GNU Free Documentation License
- Appendix C Índice