| [ << lilypond-book ] | [Racine][Table des matières][Index] | [ Programmes externes >> ] |
| [ < Association musique-texte ] | [Plus haut: Association musique-texte ] | [ Texinfo > ] |
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 :
-
la commande
\lilypond{…}qui permet de directement saisir du code LilyPond simple ; -
l’environnement
\begin{lilypond}…\end{lilypond}qui permet de saisir directement du code LilyPond plus élaboré ; -
la commande
\lilypondfile{…}qui permet d’insérer un fichier LilyPond ; -
la commande
\musicxmlfile{…}qui permet d’insérer un fichier MusicXML qui sera alors traité parmusicxml2lypuislilypond.
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' d' e' f' g'2 g'2
\end{lilypond}
produit
La version abrégée
\lilypond[quote,fragment,staffsize=11]{<c' e' g'>}
produit
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 sera ajusté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 :
-
\preLilyPondExampleavant la musique, -
\postLilyPondExampleaprès la musique, -
\betweenLilyPondSystem[1]entre les systèmes, si tant est quelilypond-booka découpé la partition en plusieurs fichiers PostScript. Elle requiert un paramètre et reçoit le nombre de fichiers inclus dans l’extrait. Par défaut, elle insère simplement un\linebreak.
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 tant
que TeX n’est pas sorti 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-book ] | [Racine][Table des matières][Index] | [ Programmes externes >> ] |
| [ < Association musique-texte ] | [Plus haut: Association musique-texte ] | [ Texinfo > ] |