Manual de aprendizaje de GNU LilyPond: 2.4.1 Organizar las piezas mediante variables

### 2.4.1 Organizar las piezas mediante variables

Cuando los elementos que hemos discutido anteriormente se combinan para producir archivos mayores, las expresiones musicales se hacen enormes. En música polifónica con muchos pentagramas, los archivos de entrada pueden volverse muy propensos a la confusión. Podemos reducir esta confusión utilizando las variables.

Con las variables (también conocidas como identificadores o macros), podemos trocear las expresiones musicales complejas. Una variable se asigna de la manera siguiente:

>     musicaConNombre = { … }

El contenido de la expresión musical `musicaConNombre` se puede usar posteriormente colocando una barra invertida delante del nombre (`\musicaConNombre`, igual que una orden normal de LilyPond).

>     violin = \new Staff {
>       \relative c'' {
>         a4 b c b
>       }
>     }

>     cello = \new Staff {
>       \relative c {
>         \clef "bass"
>         e2 d
>       }
>     }

>     {
>       <<
>         \violin
>         \cello
>       >>
>     }

El nombre de una variable debe consistir enteramente en caracteres alfabéticos, es decir sin números, guiones ni guiones bajos.

Las variables se deben definir antes de la expresión musical principal, pero se pueden usar tantas veces como se quiera, en cualquier lugar, una vez que han sido definidas. Incluso se pueden usar dentro de la definición de otra variable, proporcionando una vía para acortar el código si una sección musical se repite muchas veces.

>     tresilloA = \times 2/3 { c,8 e g }
>     compasA = { \tresilloA \tresilloA \tresilloA \tresilloA }

>     \relative c'' {
>      \compasA \compasA
>     }

Las variables se pueden usar para otros muchos tipos de objetos dentro del código de entrada. Por ejemplo,

>     ancho = 4.5\cm
>     nombre = "Wendy"
>     papelAcinco = \paper { paperheight = 21.0 \cm }

Dependiendo de su contenido, la variable se puede usar en distintos lugares. El siguiente ejemplo utiliza las variables anteriores:

>     \paper {
>       \papelAcinco
>       line-width = \ancho
>     }

>     {
>       c4^\nombre
>     }

Otros idiomas: English, česky, deutsch, français, magyar, italiano, 日本語, nederlands.

#### LilyPond — Manual de aprendizaje