Lilypond-book table des insertions lily

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

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.

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

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

···

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 ?

Frédéric Bron wrote:

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

   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.

Nicolas Sceaux wrote:

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

   Bonne soirée à tous,
Rémy

···

Le 14 juin 09 à 12:11, Christophe Godefroy a écrit :

--
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.

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

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 !

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.

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

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

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.