Lilypond-book table des insertions lily

10 messages Options
Embed this post
Permalink
Christophe Godefroy

Lilypond-book table des insertions lily

Reply Threaded More More options
Print post
Permalink
Some javascript/style in this post has been disabled (why?)
Bonjour,

est-il possible d'obtenir une table des insertions de portée dans un document latex ? Je m'explique: dans un document latex, on a ces fonctions :
  1.  \listoffigures
  2. \listoftables
Qui permettent de rassembler en fin de document une table (liste) des objets.
Est-il possible d'avoir la même chose avec les insertions d'objets lilypond?

voila l'objet par exemple

\lilypondfile{op45_intro.ly}

est-ce qu'un truc comme \listoflilypond existe? sinon comment je peux procéder pour rassembler en fin de document cette liste?
J'espère que je suis assez claire dans mon explication ?

merci pour votre aide

Christophe


_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Remy Palezis

Re: Lilypond-book table des insertions lily

Reply Threaded More More options
Print post
Permalink
Bonsoir,

   J'ai posé quasiment la même question dans un autre post, et j'espère aussi une réponse positive... Mais malheureusement, je doute que lilypond-book possède une option en ce sens. Il faudrait pouvoir récupérer la chaîne title dans chaque fichier .ly et la replacer (comment ?) dans le fichier latex...
   Ça demande sans doute de fabriquer un script ou je ne sais quoi... Désolé de ne pas avoir de réponse valable !

Rémy
Frédéric Bron

Re: Lilypond-book table des insertions lily

Reply Threaded More More options
Print post
Permalink
In reply to this post by Christophe Godefroy
> est-il possible d'obtenir une table des insertions de portée dans un document latex ?
>
> Qui permettent de rassembler en fin de document une table (liste) des objets.
> Est-il possible d'avoir la même chose avec les insertions d'objets lilypond?
>
> voila l'objet par exemple
>
> \lilypondfile{op45_intro.ly}
>
> est-ce qu'un truc comme \listoflilypond existe? sinon comment je peux procéder pour rassembler en fin de document cette liste?

On peut faire quelque chose dans le genre :

grep "lilypondfile" fichier.tex  | sed "s=.*{\(.*\)}=\1=" | xargs grep
-h "title=" | sed 's;.*="\([^"]*\)".*;\1;' > listoflilypond.tex
Puis dans fichier.tex ajouter \input{listoflilypond.tex}

Frédéric



_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Nicolas Sceaux

Re: Lilypond-book table des insertions lily

Reply Threaded More More options
Print post
Permalink
In reply to this post by Christophe Godefroy
Le 14 juin 09 à 12:11, Christophe Godefroy a écrit :

> Bonjour,
>
> est-il possible d'obtenir une table des insertions de portée dans un  
> document latex ? Je m'explique: dans un document latex, on a ces  
> fonctions :
> •  \listoffigures
> • \listoftables
> Qui permettent de rassembler en fin de document une table (liste)  
> des objets.
> Est-il possible d'avoir la même chose avec les insertions d'objets  
> lilypond?
>
> voila l'objet par exemple
>
> \lilypondfile{op45_intro.ly}
>
> est-ce qu'un truc comme \listoflilypond existe? sinon comment je  
> peux procéder pour rassembler en fin de document cette liste?
> J'espère que je suis assez claire dans mon explication ?
En fait c'est plutôt une question LaTeX que LilyPond.

L'idée serait d'écrire une commande LaTeX qui :
- ajouter une ligne par exemple à la liste des figures, quelque chose  
à base de
  \addcontentsline
- réalise l'inclusion de la partition LilyPond (ie appelle  
\lilypondfile)

\mylilyPondfile[options]{nom du fichier}{Titre à afficher dans la table}

Se reporter à la documentation LaTeX.

nicolas




_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Remy Palezis

Re: Lilypond-book table des insertions lily

Reply Threaded More More options
Print post
Permalink
Nicolas Sceaux wrote:
Le 14 juin 09 à 12:11, Christophe Godefroy a écrit :

En fait c'est plutôt une question LaTeX que LilyPond.

L'idée serait d'écrire une commande LaTeX qui :
- ajouter une ligne par exemple à la liste des figures, quelque chose  
à base de
  \addcontentsline
- réalise l'inclusion de la partition LilyPond (ie appelle  
\lilypondfile)

\mylilyPondfile[options]{nom du fichier}{Titre à afficher dans la table}

Se reporter à la documentation LaTeX.

nicolas
Bonsoir,

   Alors, en ce qui me concerne, j'ai justement utilisé des environnements figure pour empêcher mes partitions de s'étaler sur plusieurs pages en se coupant n'importe comment (ce sont des morceaux courts).
   Les noms de morceaux sont récupérables grâce à la ligne de commande donnée par Frédéric Bron juste au-dessus (j'avais un problème mais en fait ça marche bien), on les retrouve dans listoflilypond.tex.
   Sauf que je veux rajouter une ligne \addcontentsline{toc}{subsection}{toto} après chaque figure pour pouvoir utiliser la table des matières. Problème : comment je fais pour avoir le titre de chacun des morceaux à la place de toto (ou ..... ou n'importe quoi de "fixe") ?
   Mon résultat actuel, c'est une belle table des matières avec uniquement des morceaux appelés toto !!! C'est rageant puisque d'un côté j'ai la liste ligne par ligne des titres, et de l'autre il y a des morceaux bêtement appelés "toto"... Je m'y suis mal pris sans doute ?!

   Bonne soirée à tous,
Rémy
Frédéric Bron

Re: Lilypond-book table des insertions lily

Reply Threaded More More options
Print post
Permalink
>   Alors, en ce qui me concerne, j'ai justement utilisé des environnements

> figure pour empêcher mes partitions de s'étaler sur plusieurs pages en se
> coupant n'importe comment (ce sont des morceaux courts).
>   Les noms de morceaux sont récupérables grâce à la ligne de commande
> donnée par Frédéric Bron juste au-dessus (j'avais un problème mais en fait
> ça marche bien), on les retrouve dans listoflilypond.tex.
>   Sauf que je veux rajouter une ligne
> \addcontentsline{toc}{subsection}{toto} après chaque figure pour pouvoir
> utiliser la table des matières. Problème : comment je fais pour avoir le
> titre de chacun des morceaux à la place de toto (ou ..... ou n'importe quoi
> de "fixe") ?
>   Mon résultat actuel, c'est une belle table des matières avec uniquement
> des morceaux appelés toto !!! C'est rageant puisque d'un côté j'ai la liste
> ligne par ligne des titres, et de l'autre je peux faire grep -h "toto"... Je
> m'y suis mal prix sans doute ?!
Il faut t'y prendre autrement : récupérer la liste des partitions avec
une commande find et traiter toutes les partitions pour en extraire le
titre et créer la commande Latex qui insère la partition et le
addcontentsline avec le bon titre. Ce serait peut-être plus simple si
tu pouvais joindre 2 exemples courts (zipper le fichier latex et les
fichiers partitions avec la bonne arborescence de répertoires).

Frédéric



_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Remy Palezis

Re: Lilypond-book table des insertions lily

Reply Threaded More More options
Print post
Permalink
Frédéric Bron wrote:
Il faut t'y prendre autrement : récupérer la liste des partitions avec
une commande find et traiter toutes les partitions pour en extraire le
titre et créer la commande Latex qui insère la partition et le
addcontentsline avec le bon titre. Ce serait peut-être plus simple si
tu pouvais joindre 2 exemples courts (zipper le fichier latex et les
fichiers partitions avec la bonne arborescence de répertoires).

Frédéric
   Voilà, je mets en PJ un répertoire calqué sur ce que j'ai réellement, avec deux morceaux (dans un répertoire Irish), et un répertoire Lilybook contenant l'en-tête LaTeX.
   Je voulais trouver par moi-même, mais c'est trop compliqué finalement. Merci pour ton aide !

Lilypond.zip
Frédéric Bron

Re: Lilypond-book table des insertions lily

Reply Threaded More More options
Print post
Permalink
Voilà un petit script qui peut t'aider peut-être à faire ce que tu
souhaites. Tu peux bien sûr ajouter ce que tu veux entre les deux DELIMITER.
Attention, le deuxième DELIMITER doit être au tout début de la ligne.

Frédéric

#!/bin/bash
for f in `find ../ -type f -name "*.ly"` ; do
       title=`grep "title *=" $f | sed 's;.*= *"\([^"]*\).*;\1;'`
       cat - << DELIMITER
\lilypondfile[noindent,line-width=18\cm]{${f}}\addcontentsline{toc}{subsection}{${title}}
DELIMITER
done



_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Frédéric Bron

Re: Lilypond-book table des insertions lily

Reply Threaded More More options
Print post
Permalink
> Voilà un petit script qui peut t'aider peut-être à faire ce que tu

> souhaites. Tu peux bien sûr ajouter ce que tu veux entre les deux DELIMITER.
> Attention, le deuxième DELIMITER doit être au tout début de la ligne.
>
> Frédéric
>
> #!/bin/bash
> for f in `find ../ -type f -name "*.ly"` ; do
>       title=`grep "title *=" $f | sed 's;.*= *"\([^"]*\).*;\1;'`
>       cat - << DELIMITER
> \lilypondfile[noindent,line-width=18\cm]{${f}}\addcontentsline{toc}{subsection}{${title}}
> DELIMITER
> done

Bien sûr tu peux ajouter la commande sort :

#!/bin/bash
for f in `find ../ -type f -name "*.ly"|sort` ; do
        title=`grep "title *=" $f | sed 's;.*= *"\([^"]*\).*;\1;'`
        cat - << DELIMITER
\lilypondfile[noindent,line-width=18\cm]{${f}}\addcontentsline{toc}{subsection}{${title}}
DELIMITER
done



_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Remy Palezis

Re: Lilypond-book table des insertions lily

Reply Threaded More More options
Print post
Permalink
C'est super, Frédéric, je te remercie franchement de m'avoir donné la solution ! J'ajouterai un post au topic que j'avais ouvert, au cas où ça pourrait aider quelqu'un d'autre (ce qui est plausible).

Bonne soirée.
Rémy