3.2.1 LaTeX

LaTeX peut être considéré comme le standard de publication dans le domaine des sciences exactes. Il repose sur le moteur typographique TeX, le nec plus ultra en la matière.

Consultez The Not So Short Introduction to LaTeX en français pour un aperçu des possibilités de LaTeX.

Afin d’insérer de la musique dans vos fichiers LaTeX, lilypond-book dispose des environnements et commandes suivants :

Il suffit, pour inclure de la musique, d’utiliser l’une des instructions suivantes :

\begin{lilypond}[liste,des,options]
  VOTRE CODE LILYPOND
\end{lilypond}

\lilypond[liste,des,options]{ VOTRE CODE LILYPOND }

\lilypondfile[liste,des,options]{fichier}

\musicxmlfile[liste,des,options]{fichier}

Par ailleurs, la commande \lilypondversion vous permet d’afficher le numéro de version de LilyPond. Lancer lilypond-book produira un fichier qui sera ensuite traité par LaTeX.

Voici quelques exemples. L’environnement lilypond

\begin{lilypond}[quote,fragment,staffsize=26]
  c'4 d' e' f' g'2 g'2
\end{lilypond}

produit

[image of music]

La version abrégée

\lilypond[quote,fragment,staffsize=11]{<c' e' g'>}

produit

[image of music]

Dans l’état actuel des choses, il n’est pas possible d’inclure des accolades – { ou } – dans un \lilypond{} ; cette commande n’est donc pertinente que lorsque conjuguée à l’option ‘fragment’.

La longueur par défaut des portées est déterminée en fonction des commandes contenues dans le préambule du document – ce qui précède la ligne \begin{document}. La commande lilypond-book les transmet à LaTeX afin de connaître la largeur du texte et, par voie de conséquence, déterminer la longueur des portées. Notez bien que cet algorithme heuristique n’est pas infaillible ; vous devrez alors recourir à l’option line-width.

Dès lors qu’elles auront été définies dans votre document, les macros suivantes seront appelées avant chaque extrait musical :

Morceaux choisis

Lorsque, pour les besoins de la démonstration, certains éléments musicaux tels que des liaisons – de phrasé ou de prolongation – continuent après le fragment qui vous intéresse, il suffit d’insérer un saut de ligne et de limiter le nombre de systèmes à inclure.

En ce qui concerne LaTeX, vous devrez définir \betweenLilyPondSystem de telle sorte que l’inclusion cesse dès que le nombre de systèmes requis est atteint. Dans la mesure où \betweenLilyPondSystem n’est appelé qu’après le premier système, inclure un seul système est un jeu d’enfant :

\def\betweenLilyPondSystem#1{\endinput}

\begin{lilypond}[fragment]
  c'1\( e'( c'~ \break c' d) e f\)
\end{lilypond}

Pour un plus grand nombre de systèmes, il suffit d’insérer un test conditionnel TeX avant le \endinput. À partir de l’exemple qui suit, remplacez le « 2 » par le nombre de systèmes dont vous aurez besoin :

\def\betweenLilyPondSystem#1{
  \ifnum##1<2\else\expandafter\endinput\fi
}

Étant donné que \endinput arrête immédiatement le traitement du fichier source en cours, l’insertion du \expandafter permet de repousser ce \endinput après le \fi ; la clause \if...-\fi sera alors respectée.

Gardez à l’esprit que \betweenLilyPondSystem est effectif jusqu’à la fin du groupe en cours – tel que l’environnement LaTeX – ou écrasé par une nouvelle définition pour la suite du document la plupart du temps. Pour réinitialiser cette définition, insérez

\let\betweenLilyPondSystem\undefined

dans votre document LaTeX.

La création d’une macro TeX permet de se simplifier la vie :

\def\onlyFirstNSystems#1{
  \def\betweenLilyPondSystem##1{%
    \ifnum##1<#1\else\expandafter\endinput\fi}
}

Il suffit alors, avant chacun des fragments à inclure, de spécifier le nombre de systèmes requis :

\onlyFirstNSystems{3}
\begin{lilypond}…\end{lilypond}
\onlyFirstNSystems{1}
\begin{lilypond}…\end{lilypond}

Voir aussi

lilypond-book dispose d’options en ligne de commande particulières. Elles sont consultables, ainsi que d’autres détails spécifiques au traitement de documents LaTeX, au chapitre Utilisation de lilypond-book.


LilyPond — Utilisation des programmes v2.24.4 (branche stable).