Subject: Lilypond-book table des insertions lily

From: Christophe Godefroy <[email-masked]>
Date: Sun, 14 Jun 2009 12:11:53 +0200

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 ?

merci pour votre aide

Christophe

---

From: Remy Palezis <[email-masked]>
Date: Sun, 14 Jun 2009 12:32:27 -0700 (PDT)

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
-- 
View this message in context: http://n2.nabble.com/Lilypond-book-table-des-insertions-lily-tp3075231p3076736.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Frédéric Bron <[email-masked]>
Date: Sun, 14 Jun 2009 22:05:42 +0200

> est-il possible d'obtenir une table des insertions de portée dans un document latex ?
>

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

---

From: Nicolas Sceaux <[email-masked]>
Date: Sun, 14 Jun 2009 22:11:58 +0200

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
> est-ce qu'un truc comme \listoflilypond existe? sinon comment je  
> peux procéder pour rassembler en fin de document cette liste?

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

---

From: Remy Palezis <[email-masked]>
Date: Mon, 15 Jun 2009 05:15:35 -0700 (PDT)

> Puis dans fichier.tex ajouter \input{listoflilypond.tex}

   Bonjour, je mets mon grain de sel ici aussi... J'ai essayé la ligne de
commande que tu proposes, mais le fichier listoflilypond.tex reste vide...
Évidemment, Frédéric, je ne comprends pas tes commandes sed :
permettent-elles à grep de lire le contenu de chaque fichier .ly ? J'imagine
que c'est le but, mais je n'obtiens rien.
   On dirait que ... | xargs grep -h "title=" ... ne lit pas le contenu des
fichiers .ly ; la commande sed précédente se contente de renvoyer le nom du
fichier.

Rémy.
-- 
View this message in context: http://n2.nabble.com/Lilypond-book-table-des-insertions-lily-tp3075231p3079964.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Remy Palezis <[email-masked]>
Date: Mon, 15 Jun 2009 11:46:22 -0700 (PDT)

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 je peux faire grep -h "toto"... Je
m'y suis mal prix sans doute ?!

   Bonne soirée à tous,
Rémy

-- 
View this message in context: http://n2.nabble.com/Lilypond-book-table-des-insertions-lily-tp3075231p3082046.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Frédéric Bron <[email-masked]>
Date: Tue, 16 Jun 2009 12:06:17 +0200

> 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

---

From: Remy Palezis <[email-masked]>
Date: Tue, 16 Jun 2009 04:25:57 -0700 (PDT)

> fichiers partitions avec la bonne arborescence de répertoires).

   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 !

http://n2.nabble.com/file/n3085761/Lilypond.zip Lilypond.zip 
-- 
View this message in context: http://n2.nabble.com/Lilypond-book-table-des-insertions-lily-tp3075231p3085761.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Frédéric Bron <[email-masked]>
Date: Tue, 16 Jun 2009 20:34:49 +0200

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

---

From: Frédéric Bron <[email-masked]>
Date: Tue, 16 Jun 2009 20:39:10 +0200

> \lilypondfile[noindent,line-width=18\cm]{${f}}\addcontentsline{toc}{subsection}{${title}}

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

---

From: Remy Palezis <[email-masked]>
Date: Tue, 16 Jun 2009 13:17:20 -0700 (PDT)

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
-- 
View this message in context: http://n2.nabble.com/Lilypond-book-table-des-insertions-lily-tp3075231p3088599.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.