20.2 Varias partituras en un libro

Un documento puede contener varias piezas de música y texto. Son ejemplos un libro de estudios o una parte orquestal con varios movimientos. Cada movimiento se introduce con un bloque \score:

\score {
  …música…
}

y los textos se introducen con un bloque \markup:

\markup {
  …texto…
}

Todos los movimientos y textos que aparecen en el mismo archivo .ly se tipografían normalmente en la forma de un solo archivo de salida.

\score {
  
}
\markup {
  
}
\score {
  
}

Una excepción importante se da dentro de los documentos de lilypond-book, en los que tenemos que escribir explícitamente un bloque \book, pues en caso contrario solo aparecerá en la salida el primer \score o \markup.

El encabezamiento de cada pieza se puede poner dentro del bloque \score. Antes de cada movimiento, se imprime el nombre de la pieza (piece) extraído del encabezamiento. El título del libro entero se puede poner dentro del bloque \book, pero si no está presente se inserta el encabezamiento \header que está al principio del archivo.

\header {
  title = "Ocho miniaturas"
  composer = "Igor Stravinsky"
}
\score {
  \header { piece = "Romanze" }
  …
}
\markup {
   …texto de la segunda estrofa…
}
\markup {
   …texto de la tercera estrofa…
}
\score {
  \header { piece = "Menuetto" }
  …
}

Se pueden agrupar distintas piezas de música en partes de un libro utilizando bloques \bookpart. Las partes de libro se separan por medio de saltos de página, y pueden dar comienzo con un título, como el libro propiamente dicho, mediante la especificación del bloque \header.

\bookpart {
  \header {
    title = "Título del libro"
    subtitle = "Primera parte"
  }
  \score { … }
  …
}
\bookpart {
  \header {
    subtitle = "Segunda parte"
  }
  \score { … }
  …
}

Por principio de diseño, no se pueden definir variables dentro de un bloque \book o \bookpart (por cierto, lo mismo puede decirse de \score); esto es de especial importancia si queremos usar varios archivos para preparar la música con variables que deberían ser ‘locales’ a archivos individuales. Se puede usar la siguiente estructura en tales situaciones.

% movement1.ly
variableI = { ... }
bookpartI = \bookpart { \score { ... usar la \variableI ... } }

% movement2.ly
variableII = { ... }
bookpartII = \bookpart { \score { ... usar la \variableII ... } }

% main.ly
\include "movement1.ly"
\include "movement2.ly"
\book {
  \bookpart { \bookpartI }
  \bookpart { \bookpartII }
}

De forma similar, no podemos tener directamente un bloque \layout dentro de \book o de \bookpart. En su lugar, escríbalo dentro de un bloque \score que esté a su vez incluido dentro de bloques \book o \bookpart.


Referencia de la notación de GNU LilyPond v2.25.30 (development-branch).