| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Racine] | [Table des matières] | [Index] | [ ? ] |
@translationof Integrating music and text
Nous allons nous intéresser, dans les lignes qui suivent, à la manière d’intégrer LilyPond selon différents types de format.
| 3.2.1 LaTeX | ||
| 3.2.2 Texinfo | ||
| 3.2.3 HTML | ||
| 3.2.4 DocBook |
| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Racine] | [Table des matières] | [Index] | [ ? ] |
@translationof 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 :
\lilypond{…} qui permet de directement saisir
du code LilyPond simple ;
\begin{lilypond}…\end{lilypond} qui
permet de saisir directement du code LilyPond plus élaboré ;
\lilypondfile{…} qui permet d’insérer un
fichier LilyPond ;
\musicxmlfile{…} qui permet d’insérer un
fichier MusicXML qui sera alors traité par musicxml2ly puis
lilypond.
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 :
\preLilyPondExample avant la musique,
\postLilyPondExample après la musique,
\betweenLilyPondSystem[1] entre les systèmes, si tant est
que lilypond-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.
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}
|
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.
| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Racine] | [Table des matières] | [Index] | [ ? ] |
@translationof Texinfo
Texinfo est le format standard pour toute la documentation du projet GNU. À titre d’exemple, toute la documentation de LilyPond – qu’il s’agisse des versions HTML, PDF ou info – est générée à partir de documents Texinfo.
Afin d’insérer de la musique dans vos fichiers Texinfo,
lilypond-book dispose des environnements et commandes
suivants :
@lilypond{…} qui permet de directement
saisir du code LilyPond simple ;
@lilypond…@end lilypond qui permet
de saisir directement du code LilyPond plus élaboré ;
@lilypondfile{…} qui permet d’insérer un
fichier LilyPond ;
@musicxmlfile{…} qui permet d’insérer un
fichier MusicXML qui sera alors traité par musicxml2ly puis
lilypond.
Il suffit, pour inclure de la musique, d’utiliser l’une des instructions suivantes dans votre fichier source :
@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, l’utilisation d’un @lilypondversion permet
d’afficher la version de LilyPond utilisée.
Le traitement du fichier source par lilypond-book génère un
fichier Texinfo (extension ‘.itexi’) qui contiendra les balises
@image pour les formats HTML, Info ou imprimable. Les images
générées par lilypond-book sont au format EPS et PDF en vue
d’une impression, et au format PNG pour leur utilisation en HTML ou
Info.
En voici deux exemples. Un environnement lilypond
@lilypond[fragment] c' d' e' f' g'2 g' @end lilypond |
produit
La version abrégée
@lilypond[fragment,staffsize=11]{<c' e' g'>}
|
produit
Contrairement à LaTeX, @lilypond{…} ne va pas
intégrer d’image dans le document, mais générer un paragraphe.
| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Racine] | [Table des matières] | [Index] | [ ? ] |
@translationof HTML
Afin d’insérer de la musique dans vos fichiers HTML,
lilypond-book dispose des environnements et commandes
suivants :
<lilypond … /> qui permet de directement saisir
du code LilyPond simple ;
<lilyond>…</lilypond> qui permet de saisir
directement du code LilyPond plus élaboré ;
<lilypondfile>…</lilypondfile> qui permet
d’insérer un fichier LilyPond ;
<musicxmlfile>…</musicxmlfile> qui permet
d’insérer un fichier MusicXML qui sera alors traité par
musicxml2ly puis lilypond.
Il suffit, pour inclure de la musique, d’utiliser l’une des instructions suivantes dans votre fichier source :
<lilypond liste des options> VOTRE CODE LILYPOND </lilypond> <lilypond liste des options: VOTRE CODE LILYPOND /> <lilypondfile liste des options>fichier</lilypondfile> <musicxmlfile liste des options>fichier</musicxmlfile> |
Il suffit, pour inclure de la musique, d’utiliser
<lilypond fragment relative=2> \key c \minor c4 es g2 </lilypond> |
lilypond-book produira alors un fichier HTML contenant les
balises d’image pour les fragments de musique :
Pour insérer l’image au fil du texte, il suffit d’utiliser
<lilypond … />, tout en séparant options et musique par un
caractère deux points, comme ici :
De la musique <lilypond relative=2: a b c/> au milieu d'une ligne de texte. |
Lorsque l’inclusion concerne des fichiers indépendants, utilisez
<lilypondfile option1 option2…>fichier</lilypondfile> |
La syntaxe pour <musicXmlfile> est identique à celle de
<lilypondfile>, à ceci près qu’elle fait référence à un fichier
MusicXML plutôt qu’à un fichier LilyPond.
Une liste des différentes options utilisables avec les balises
lilypond et lilypondfile est disponible, à la rubrique
Options applicables aux fragments de musique.
Par ailleurs, la commande <lilypondversion/> vous permet
d’afficher le numéro de version de LilyPond.
| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Racine] | [Table des matières] | [Index] | [ ? ] |
@translationof DocBook
L’inclusion de documents LilyPond ne doit nuire en rien à la conformité du document DocBooK ; l’utilisation d’éditeurs spécialisés ainsi que d’outils de validation en sera ainsi préservée. C’est la raison pour laquelle nous ne définirons pas de balise spécifique ; nous respecterons plutôt les conventions des éléments standard de DocBook.
Quel que soit le type d’extrait à inclure, nous utiliserons les
éléments mediaobject et inlinemediaobject, de telle sorte
que ces inclusions soient incorporées directement ou non dans le
document final. Les options de formatage des extraits en question sont
fournies par la propriété role de l’élément central – voir les
paragraphes suivants. Les balises sont déterminées de manière à ce que
les éditeurs DocBook prennent en charge du mieux possible leur contenu.
Les fichiers DocBook destinés à un traitement par
lilypond-book doivent avoir une extension ‘.lyxml’.
Il s’agit en fait du cas le plus simple. Le fichier à inclure doit
avoir une extension ‘.ly’ et sera inséré comme n’importe quel
imageobject, en respectant la structure suivante :
<mediaobject>
<imageobject>
<imagedata fileref="music1.ly" role="printfilename" />
</imageobject>
</mediaobject>
|
Vous pouvez utiliser, en tant que balise externe, aussi bien
mediaobject que inlinemediaobject.
L’inclusion de code LilyPond se réalise à l’aide d’un
programlisting auquel on associe le langage lilypond. En
voici la syntaxe :
<inlinemediaobject>
<textobject>
<programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2">
\context Staff \with {
\remove "Time_signature_engraver"
\remove "Clef_engraver"}
{ c4( fis) }
</programlisting>
</textobject>
</inlinemediaobject>
|
Comme vous le remarquez, la balise externe – qu’il s’agisse d’un
mediaobject ou d’un inlinemediaobject – comporte un bloc
textobject qui contiendra le programlisting.
lilypond-book génère, à partir d’un fichier ‘.lyxml’, un
document DocBook tout à fait valide – extension ‘.xml’ – que vous
pourrez ensuite traiter avec votre application habituelle. Dans le cas
de dblatex, vous
obtiendrez alors automatiquement un fichier PDF. Les feuilles de style
XSL DocBook officielles permettent de générer du HTML (HTML Help,
JavaHelp, etc.) ; vous pourriez néanmoins devoir y apporter quelques
adaptations.
| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] |
Ce document a été généré le le 13 juillet 2020 par gub en utilisant texi2html 1.82.
Autres langues : English, català, deutsch, español, italiano, 日本語.
À propos de la sélection automatique de la langue.