lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Intégrer les caractères de Lilypond dans LaTeX


From: John Mandereau
Subject: Re: Intégrer les caractères de Lilypond dans LaTeX
Date: Mon, 28 Dec 2009 01:16:08 +0100

Le dimanche 27 décembre 2009 à 02:08 -0800, flup a écrit : 
> Je travaille actuellement sur un package LaTeX permettant d'utiliser les
> caractères de Lilypond dans un document LaTeX. Non pas en tant
> qu'illustration (comme avec Lilypond-book), mais en tant que caractère (ou
> chaîne de caractères) à part entière.

Ceci a déjà en quelque sorte existé, non pas en tant que paquet LaTeX
mais comme simples définitions TeX, dans les versions 2.2 et 2.4, puis a
cessé de bien fonctionner lorsque LilyPond a recouru à une sortie
PostScript directe au lieu de passer par TeX (depuis la version 2.6), et
enfin a été peu à peu supprimé dans les versions 2.7 à 2.11.  En fait,
ça n'a jamais été conçu pour l'utilisateur final, comme les bidouillages
tels que
http://lists.gnu.org/archive/html/lilypond-user/2005-02/msg00226.html
proposés en réponse aux utilisateurs peuvent le laisser penser, mais
cette fonctionnalité était une conséquence fortuite de l'utilisation de
TeX comme intermédiaire pour produire une partition en PostScript/PDF.


> La nécessité s'est fait sentir lors de la rédaction d'un aide-mémoire de
> théorie pour mes élèves; pas de problème pour les extraits de partitions,
> mais bien pour les symboles pris isolément (nuances, signes spéciaux genre
> coda, segno etc). À moins d'être intégrés comme minuscules graphiques, mais
> c'est assez lourd.

En effet.  Merci de te préoccuper de cette fonctionnalité qui a été
demandée environ une fois par an sur la liste anglohpone des
utilisateurs -- ce qui veut dire que la demande n'est pas négligeable. 


> Je me suis basé sur le package "
> http://www.ctan.org/tex-archive/macros/latex/contrib/harmony/ harmony "
> (disponible dans les distributions TeXLive). Ce dernier faisait appel à
> quelques commandes de MusicTeX. Vu la lourdeur de MusicTeX, j'ai donc
> récupéré les polices de Lilypond et adapté le code à ces polices.

Je ne sais pas ce que tu as fait, mais il y a (ou plutôt il y avait,
mais ça se ressucite facilement) du code pour générer des noms de
glyphes, je l'ai regénéré au cas où ça puisse servir, mais ce n'est pas
la panacée : les définitions de noms de glyphes avec des tirets dans
feta-braces.tex ne plaisent pas à pdfLaTeX, par exemple.  Plus
généralement on ne devrait pas avoir besoin de ces fichiers mais on
devrait plutôt recourir directement aux noms des glyphes définis dans
les encodages (fichiers .enc, dont pdfTeX a de toute façon besoin), mais
je ne sais pas comment on fait cela avec TeX ou pdfTeX.  Y a-t-il un
TeXpert sur la liste ? :-D


> Le problème principal est que tout ça est excessivement empirique: je n'y
> connais pas grand chose en packages LaTeX ni en polices Unix (encore moins
> la façon dont LaTeX gère tout ça).

Unix a peu à voir dans cette histoire.  C'est kpathsee et ses avatars
qui s'occupent de trouver les fichiers TeX/LaTeX au bon endroit, le
mieux est d'installer les fichiers dans une des arborescences Texmf
locale (pas celle contenant les fichiers de ta distribution TeX et qui
seront effacés ou deviendront inutilisés à la prochaine mise à jour de
ta distribution TeX) indiquée par "kpsepath tex", "kpsepath mf",
"kpsepath pk" etc.  Cependant, je n'y connais pas grand chose, mais
comme ça m'intéresse vraiment, j'ai expérimenté plusieurs heures
aujourd'hui, donc si ta distribution TeX est aussi TeXlive, en
décompressant l'archive
http://john.mandereau.free.fr/lilypond-fonts-texmf.tar.bz2
dans une de tes arborescences Texmf (disons TEXMF), et en invoquant

updmap-sys --enable Map=TEXMF/fonts/map/dvips/lilypond/lilypond.map

tu devrais avoir toutes les polices LilyPond accessibles depuis
TeX/pdfTeX.  Avec une distribution autre que TeXlive (c'est-à-dire
MikTeX, à moins qu'il n'existe une autre distribution TeX active sur
MacOS ou un OS peu courant ?), ça peut se passer un peu différemment au
niveau de la prise en compte du fichier .map, et il faut peut-être
refaire un hachage du contenu des arbres Texmf (texhash ou équivalent).
Chez moi j'ai pris TEXMF=$HOME/texmf.


> Au-delà des symboles eux-même, j'ai repris l'idée réalisée dans le package
> harmony: les chiffres de mesure. Il est donc possible d'afficher les
> chiffres de mesures (même en "rythmes bulgares") de cette façon:
> http://n2.nabble.com/file/n4220131/mesure.png 

Ça me fait penser qu'il existe des exemples LSR qui permettent de graver
avec beaucoup d'\overrides de tels chiffrages composés (et que ça serait
bien qu'on propose ça en standard dans LilyPond avec une jolie syntaxe).
Cependant, ça n'a pas grand chose à voir au niveau de la réalisation
technique, puisque dans ton cas ça s'écrit en TeX/LaTeX et dans LilyPond
ça s'écrit en markup Scheme.


> Avant de soumettre la chose à vos tests (pour ceux que ça intéresse), je
> dois installer la chose sur une machine avec une install LaTeX "de base",
> histoire de voir quels sont réellement les fichiers à placer dans
> l'arborescence LaTeX.

> Actuellement, en dehors du package lui-même, j'ai placé dans l'arborescence
> LaTeX les fichiers .mf (trouvés dans les sources de Lilypond) et les
> fichiers Type1 .pfb, les fichiers .pk et .tmf étant générés lors de la
> compilation d'un document.

Les sources .mf ne sont pas nécessaires pour pdfTeX ; les fichiers .pk
sont des polices bitmap, donc à éviter pour un meilleur rendu : en
zoomant le PDF compilé à partir du fichier LaTeX de test (c'est un
affreux mélange de TeX pur et de LaTeX, ne le prends surtout pas comme
exemple pour écrire ton paquet LaTeX), on voit clairement que les
symboles de la police feta26 font partie d'une police bitmap, ce qui est
normal puisque que le fichier fonts/map/dvips/lilypond/lilypond.map que
j'ai écrit est très incomplet, en particulier il ne déclare pas feta26.


> Tout ça devra bien évidemment être modifié en fonction des évolutions des
> polices Feta.

À part l'ajout ponctuel de symboles et le redressement en cours de la
clé de sol, la police Feta évolue peu. Par contre, ce serait super si ça
pouvait fonctionner avec d'autres polices compatibles LilyPond, par
exemple Gonville ; ce ne sera bien sûr qu'une cerise sur le gâteau.

En tout cas, comme les polices sont compilées directement dans LilyPond
et que le système de compilation peut facilement produire des noms de
glyphes pour TeX/LaTeX, si tu es d'accord pour que ton paquet soit en
licence GPLv3+ (ou une autre licence libre que les développeurs de Lily
acceptent), nous pourrons l'inclure dans LilyPond (en tout cas
j'appuierai dans ce sens), avec des cibles de makefiles (ou plutôt
scripts Waf) spéciales pour produire un paquet LaTeX qui se suffit à
lui-même (c'est-à-dire incluant les polices) ou installer directement le
paquet dans une arborescence Texmf. 


> Pour terminer, une autre application: la combinaison des caractères Feta
> (pour créer les figures de notes) et du package pgf (permettant de faire
> divers dessins, dont des arbres hiérarchiques dans LaTeX):
> http://n2.nabble.com/file/n4220131/notes.png 

Chouette ; tu as obtenu les notes avec des extraits ly compilés via
lilypond-book ?

Envoie-nous vite ton paquet LaTeX, même en cours de développement.

Salutations lilyesques,
John

Attachment: feta-font-test.pdf
Description: Adobe PDF document

Attachment: feta-font-test.tex
Description: Text Data

Attachment: signature.asc
Description: Ceci est une partie de message numériquement signée


reply via email to

[Prev in Thread] Current Thread [Next in Thread]