3.2.2 Plusieurs partitions dans un même ouvrage

Un ouvrage peut se composer de plusieurs morceaux et de texte. C’est le cas des cahiers d’exercices ou d’une partie d’orchestre avec ses différents mouvements. Chaque mouvement fait l’objet d’un bloc \score,

\score {
  …musique…
}

et le texte est contenu dans un bloc \markup,

\markup {
  …texte…
}

Les différents mouvements et textes qui apparaissent dans un même fichier .ly ne composeront en principe qu’un seul fichier résultant.

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

Attention cependant si vous travaillez avec lilypond-book : il vous faudra explicitement mentionner le bloc \book, en l’absence de quoi seul le premier \score ou \markup apparaîtra après traitement.

L’entête de chaque pièce peut se placer au sein du bloc \score ; le contenu du champ piece viendra s’imprimer avant chaque mouvement. De même, le titre de l’ouvrage peut se placer au sein du bloc \book. Dans le cas contraire, le contenu du bloc \header placé en début de fichier sera utilisé.

\header {
  title = "Huit miniatures"
  composer = "Igor Stravinsky"
}
\score {
  \header { piece = "Romance" }
  …
}
\markup {
   …texte du second couplet…
}
\markup {
   …texte du troisième couplet…
}
\score {
  \header { piece = "Menuet" }
  …
}

Plusieurs pièces seront regroupées dans un même « chapitre » à l’aide d’un bloc \bookpart. Ces différents « chapitres » sont séparés par un saut de page et peuvent comporter un titre à l’instar de l’ouvrage dès lors que vous y insérez un bloc \header.

\bookpart {
  \header {
    title = "Titre de l'ouvrage"
    subtitle = "Première partie"
  }
  \score { … }
  …
}
\bookpart {
  \header {
    subtitle = "Deuxième partie"
  }
  \score { … }
  …
}

De par leur conception, il n’est pas possible de définir des variables au sein d’un bloc \book ou \bookpart – c’est d’ailleurs aussi le cas pour les blocs \score. Ceci s’avère particulièrement important lorsque l’on veut répartir la musique dans de multiples fichiers à l’aide de variables « locales ». On peut toutefois adopter la structure suivante en pareil cas :

% mouvement1.ly
variableI = { ... }
bookpartI = \bookpart { \score { ... utilise \variableI ... } }

% mouvement2.ly
variableII = { ... }
bookpartII = \bookpart { \score { ... utilise \variableII ... } }

% principal.ly
\include "mouvement1.ly"
\include "mouvement2.ly"
\book {
  \bookpart { \bookpartI }
  \bookpart { \bookpartII }
}

De la même manière, un bloc \layout ne peut se trouver au sein d’un bloc \book ou \bookpart. Il doit se trouver au sein d’un bloc \score qui, lui, peut être inclus dans un bloc \book ou \bookpart.


GNU LilyPond – Manuel de notation v2.25.22 (development-branch).