[ << Association musique-texte avec lilypond-book ] | [Top][Contents][Index] | [ Programmes externes >> ] |
[ < Association musique-texte ] | [ Up : 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 est alors traité parmusicxml2ly
puislilypond
.
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
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 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
.
Note : Assurez-vous que votre préambule compile effectivement sans
erreur, au risque d’empêcher la déctetion de longueur de ligne. Ceci
peut se tester en traitant votre document avec LaTeX, sur un bloc
\begin{document} ... \end{document}
vide.
Si vous utilisez un format à l’italienne, assurez-vous d’ajouter le
mot-clé landscape
à la liste des options de la macro
\documentclass
.5
Dès lors qu’elles auront été définies dans votre document, les macros suivantes seront appelées avant chaque extrait musical :
-
\preLilyPondExample
avant la musique, -
\postLilyPondExample
après la musique, -
\betweenLilyPondSystem[1]
entre les systèmes, si tant est quelilypond-book
a 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 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
.
Footnotes
(5)
Ceci est nécessaire dans la mesure
où lilypond-book
ajoute \usepackage{graphics}
au
préambule si aucun des paquetages graphics
ou graphicx
ne
sont chargés, ce qui pourrait modifier de manière surprenante les
dimensions du papier pour certaines classes de document.
[ << Association musique-texte avec lilypond-book ] | [Top][Contents][Index] | [ Programmes externes >> ] |
[ < Association musique-texte ] | [ Up : Association musique-texte ] | [ Texinfo > ] |