Compilation lilypond
Opened this issue · 1 comments
Luthaf commented
Pour pouvoir insérer les partitions lilypond dans les carnets compilés, je vois trois possibilités:
- Precompiler les fichiers .ly en PDF.
- Problèmes: il n'est pas évident de les avoir dans la bonne largeur pour les inclure ensuite, il faut les recompiler a chaque modifications
- Avantages: Solution relativement sécurisé, il faut tout de même échapper les entrées utilisateur, et se renseigner un peu.
- Problèmes: il n'est pas évident de les avoir dans la bonne largeur pour les inclure ensuite, il faut les recompiler a chaque modifications
- Compiler les fichier .ly a la volée. Il est possible d'activer
\write18
sélectivement pour certaines commandes, et donc autoriser l’exécution de lilypond.- Avantages: plus besoin de pre-compiler/recompiler les fichiers .ly
- Inconvénients: on a toujours besoin d’échapper les commandes utilisateurs et de tout vérifier.
Il faut ajouter au fichier texmf.cnf
les lignes:
shell_escape = p
shell_escape_commands = lilypond
- Exécuter LaTeX et Lilypond dans un environnement chrooté. C'est la plus sécurisée des solutions.
- Avantages: C'est sécurisé, pas de problèmes de vérification des commandes utilisateur
- Inconvénients: il faut trouver un moyen pour communiquer avec cet environnement chrooté pour qu'il ai accès aux fichier .sg et .ly (facile, on ecrit dans le chroot depuis l'exterieur), et qu'il lance automatiquement les compilations et renvoie le résultat. (Besoin de Python et TeXLive dans le chroot).
Pour ma part, je penche pour la seconde solution.
Luthaf commented
On peut aussi ajouter une option à la ligne de commande lilypond.
-
--safe
est un équivalent lilypond de--disabled-write18
en LaTeX -
--jail
utilise un environnement chrooté.A voir si cela vaut le coup d'être intégré dans songbook-core