Subject: Relance : problème avec l'utilisation de lilypond-book

From: Luc De Rossi <[email-masked]>
Date: Sun, 10 Jun 2007 10:21:14 +0100

Bonjour à tous,

je me permets de relancer une (et une seule) fois mon précédent message pour le cas où il serait passé inaperçu (à moins que personne ait une idée).

Merci.

Lorsque je compile mon fichier psaumes.lytex, j'ai ce message que je ne comprends pas :

(/usr/share/texmf-texlive/tex/latex/psnfss/t1phv.fd) [1{/var/lib/texmf/fonts/ma
p/pdftex/updmap/pdftex.map}]
No file psaumes.toc.
[2]
! Argument of \lilysubtitle has an extra }.
<inserted text>
\par
l.42 \lilysubtitle
{1\ier dimanche}
? ! Interruption.
\begin #1->address@hidden {#1
}{\def address@hidden address@hidden@error {Environment #...
l.42 \lilysubtitle
{1\ier dimanche}
?
Au point d'interrogation, lorsque j'appuie sur "entrée" (est-ce ce qu'il faut faire !!), la compilation continue.

Au résultat pdf, *1er dimanche* apparaît nomralement mais la partition ce place à côté, 2e dimanche apparait en italique (?!) et la partition est en dessous (comme je le souhaite).

De plus, la table des matières n'apparaît pas (alors que dans le script j'ai relancé la compilation du **.tex (comme on me l'a conseillé - encore une fois peut-être de manière erronnée !)

Merci pour votre aide.
Ci-dessous, mon fichier psaumes.lytex : (et encore dessous le script)

Luc
Kubuntu festy / lilypond 2.10.19

\documentclass[[a4paper,12pt,french,halfparskip,parindent]{scrreprt}
% essayer parskip, parskip+, parskip*, parskip- halfparskip, halfparskip+, halfparskip*, halfparskip-
% essayer sans parindent
%essayer 9pt, 8pt ou plus petit

\usepackage{fancybox}
\usepackage{graphicx}
\usepackage{shadow}
\usepackage{extsizes}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{times}
\usepackage{graphicx}
\usepackage{color}
\usepackage[frenchb]{babel}
\usepackage[a4paper,tmargin=0cm,bmargin=2cm,rmargin=1.2cm,lmargin=1.2cm]{geometry}
\usepackage{fancyhdr}
\cfoot{La clef des chants}
\pagestyle{fancy}

\begin{document}

\newcommand{\lilytitle}[2]{\begin{center}{\LARGE{\textbf{#1}}\\\Large{#2}}\end{center}}
\newcommand{\lilysubtitle}[1]{\begin{flushleft}{\textsl{#1}}\end{flushleft}}

\title{Psaumes pour liturgie triennale}
\author{Luc De Rossi}
\date{}

\maketitle
\tableofcontents

\chapter*{Année A}

\lilytitle{Temps de l'Avent}
\lilysubtitle{1\ier dimanche}
\lilypondfile{A_Avent_1.ly}

\lilysubtitle{2\ieme dimanche}
\lilypondfile{A_Avent_2.ly}

\end{document}

le script :

lilypond-book --output out --pdf psaumes.lytex

cd out
mv psaumes.tex ../
cd ../
lilypond-book --output out --pdf psaumes.tex
cd out
pdflatex psaumes.tex
mv psaumes.pdf ../
cd ../

---

From: monique combescure maison <[email-masked]>
Date: Sun, 10 Jun 2007 17:53:51 +0200

Luc,

J'ai regardé un peu ton problème. Ca ressemble fort à un problème de  
LaTeX. Donc (mais au fait quel est l'intérêt de faire du "lilytitle"  
and so on... Tu peux faire tous les jolis titres que tu veux en LaTeX,  
avec les notations \section{psaumes} \subsection{cantique} ...)
j'ai compilé avec succès un fichier de ton type, avec les lilytitle  
tralala MAIS EN METTANT UN ESPACE APRES CHAQUE COMMANDE et mon fichier  
\lilypondfile
se compile tranquillement  sans partir dans le décor, tandis que si je  
ne mets pas de ligne d'espacement, il se place à droite. Ca fait  
d'ailleurs la même chose si j'écris du texte en LaTeX puis  
\begin{lilypond} ... \end{lilypond} SANS mettre d'espacement (la  
partition écrite entre les deux commandes \begin{lilypond} et  
\end(idem} se ballade à droite dans le .pdf)
Ceci dit LaTeX semble ne pas aimer les commandes \lilytitle and so on,  
puisque la compilation me mets également des ? ... auxquels je  
"réponds" par la commande "enter" comme toi.

Ca pourrait peut-être t'aider...
Bonne chance!

Monique
Le 10 juin 07, à 11:21, Luc De Rossi a écrit :

> Bonjour à tous,
>
> je me permets de relancer une (et une seule) fois mon précédent  
> message pour le cas où il serait passé inaperçu (à moins que personne  
> ait une idée).
>
> Merci.
>
>
>>  ?Au point d'interrogation, lorsque j'appuie sur "entrée" (est-ce ce  
>> qu'il faut faire !!), la compilation continue.
>
> Au résultat pdf, *1er dimanche* apparaît nomralement mais la partition  
> ce place à côté, 2e dimanche apparait en italique (?!) et la partition  
> est en dessous (comme je le souhaite).
>
> De plus, la table des matières n'apparaît pas (alors que dans le  
> script j'ai relancé la compilation du **.tex (comme on me l'a  
> conseillé - encore une fois peut-être de manière erronnée !)
>
> Merci pour votre aide.
>  le script : lilypond-book --output out --pdf psaumes.lytex
>>
>> cd out
>> mv psaumes.tex ../
>> cd ../
> _______________________________________________
> liste de diffusion lilypond-user-fr
> [email-masked]
> http://lists.gnu.org/mailman/listinfo/lilypond-user-fr
>
Monique Combescure
IPNL, Bât. Paul Dirac, 4 rue Enrico Fermi
69622 VILLEURBANNE
Tel: 33 (0)4 72 43 19 63
Fax: 33 (0) 4 72 44 80 04
e-mail: [email-masked]

"Caminante no hay camino,
se hace camino al andar..."

Tout passe
  et tout demeure
  Mais notre affaire est de passer
  De passer en traçant
  Des chemins
  Des chemins sur la mer
  Voyageur, le chemin
  C'est les traces
  de tes pas
  C'est tout ; voyageur,
  il n'y a pas de chemin,
  Le chemin se fait en marchant
  Le chemin se fait en marchant
  Et quand tu regardes en arrière
  Tu vois le sentier
  Que jamais
  Tu ne dois à nouveau fouler
  Voyageur! Il n'y a pas de chemins
  Rien que des sillages sur la mer

Antonio Machado ( Poète espagnol, 1875-1939)

---

From: Jean-Jacques Rétorré <[email-masked]>
Date: Sun, 10 Jun 2007 19:19:48 +0200

> je me permets de relancer une (et une seule) fois mon précédent message pour le cas où il serait passé inaperçu (à moins que personne ait une idée).

[SINP]

La solution d'un problème consiste le plus souvent à poser la question 
correctement.
Quand un fichier ne compile pas, il faut réaliser un ECM (Exemple 
complet minimal) en se sens que le code qu'il contient doit déclencher 
l'erreur, et que la suppression de tout code supplémentaire la fait 
disparaître.
Voir ici :
http://www.tex.ac.uk/cgi-bin/texfaq2html?label=minxampl

Dans la quasi-totalité des cas, la simple réalisation d'un ECM suffit 
pour trouver la faute.

Voici ce qu'aurait pu être un ECM (ou quasi ECM) dans ce cas :
8<-----------------------------
  \documentclass{article}
   \usepackage[frenchb]{babel}

     \begin{document}

     \end{document}
8<-----------------------------
Le message d'erreur concerne \lilysubtitle

ERROR: Argument of \lilysubtitle has an extra }.

Or \lilysubtitle n'a pas d'accolade intempestive.
LaTeX signale les erreurs quand il les détecte, et l'erreur provient du 
code qui précède, de *tout* ce qui précède.
\lilysubtitle tout seul ne déclenchant pas d'erreur, c'est l'appel à 
\lilytitle qui déclenche donc l'erreur.
Il est facile de voir que dans la déclaration de \lilytitle deux 
arguments sont *obligatoires*. Comme il n'en est fourni qu'un seul, le 
deuxième argument (#2) est remplacé par l'appel de  \lilysubtitle et 
LaTeX pète les plombs car il ne  s'y retrouve pas dans le parenthésage.

[SNIP]

Jean-Jacques Rétorré

% Les gens qui ne rient jamais ne sont pas des gens sérieux (A. Allais).
--

---

From: monique combescure maison <[email-masked]>
Date: Sun, 10 Jun 2007 21:18:17 +0200

Oui bref je suis d'accord avec cette analyse. N'empêche que je ne vois  
pas l'intérêt de créer des commandes de titre et sous-titre propres à  
lilypond, quand LaTeX a tout ce qu'il faut pour ça.
Bonne soirée

Monique
Le 10 juin 07, à 19:19, Jean-Jacques Rétorré a écrit :

> LaTeX signale les erreurs quand il les détecte, et l'erreur provient  
> du code qui précède, de *tout* ce qui précède.
Monique Combescure

Tout passe
  et tout demeure

---

From: "Nicolas Klutchnikoff" <[email-masked]>
Date: Mon, 11 Jun 2007 13:42:13 +0200

Bonjour,

J'ai juste une question à propos du script que tu utilises :

cd out
mv psaumes.tex ../
cd ../

Je me demande à quoi sert le deuxième lilypond-book sur le fichier .tex créé
par lilypond-book justement.

À mon avis c'est inutile : ce fichier .tex ne contient plus, en principe, de
pseudo-environement \begin{lilypond} ... \end{lilypond} car ils ont été
traités par le premier appel à cette commande.

Pour répondre à Monique, je pense au contraire que c'est une bonne manière
de procéder que d'utiliser des commandes spéciales pour les titres de
partitions. Surtout si l'on écrit un ouvrage ou un mémoire qui nécessitent
d'être structurés en sections et sous-sections et avec des exemples musicaux
courts et fréquents auxquels on veut donner un titre. On peut même imaginer
écrire une commande lilytitre assez complexe pour gérer par exemple une
table des partitions comme on peut créer une table des figures, etc.

Bonne journée à tous.

Nicolas.

---

From: Jean-Yves Baudais <[email-masked]>
Date: Mon, 11 Jun 2007 10:08:27 +0200

Bonjour,

> Lorsque je compile mon fichier psaumes.lytex, j'ai ce message que je ne 

   Il y a des erreurs dans le code, mais je ne sais pas si elles sont la 
cause du message.

>     \documentclass[[a4paper,12pt,french,halfparskip,parindent]{scrreprt}

   Un "bracket" ouvrant en trop.

> [...]

   Il y a deux arguments obligatoires dans la définition de \lilytitle. 
Ça ne peut donc pas fonctionner proprement.

>     \lilysubtitle{1\ier dimanche}

   Il doit manquer un espace entre "1er" et "dimanche", il faut coder 
"1\ier{} dimanche"

>     \lilysubtitle{2\ieme dimanche}

   Comme avec 1\ier.

--Jyb

---

From: Luc De Rossi <[email-masked]>
Date: Mon, 11 Jun 2007 17:52:32 +0100

Tout d'abord, un grand merci à tous.

On m'avait expliquer qu'il fallait compiler 2 fois pour la création de la table des matières : la première avec le fichier lytex, l'autre à partir du fichier .tex
Cela étant, je n'ai certainement pas compris correctement car la table n'est pas créée.
Je suis preneur d'une nouvelle explication.
Merci et bonne soirée.
Luc

Nicolas Klutchnikoff a écrit :
Bonjour,

cd out
mv psaumes.tex ../
cd ../

Je me demande à quoi sert le deuxième lilypond-book sur le fichier .tex créé par lilypond-book justement.

À mon avis c'est inutile : ce fichier .tex ne contient plus, en principe, de pseudo-environement \begin{lilypond} ... \end{lilypond} car ils ont été traités par le premier appel à cette commande.

Pour répondre à Monique, je pense au contraire que c'est une bonne manière de procéder que d'utiliser des commandes spéciales pour les titres de partitions. Surtout si l'on écrit un ouvrage ou un mémoire qui nécessitent d'être structurés en sections et sous-sections et avec des exemples musicaux courts et fréquents auxquels on veut donner un titre. On peut même imaginer écrire une commande lilytitre assez complexe pour gérer par exemple une table des partitions comme on peut créer une table des figures, etc.

Bonne journée à tous.

Nicolas.

---

From: "Nicolas Klutchnikoff" <[email-masked]>
Date: Mon, 11 Jun 2007 20:58:27 +0200

Bonjour !

Il s'agit de compiler deux fois le fichier .tex effectivement. Au premier
passage TeX construit un fichier auxiliaire (.toc) dans lequel (je simplifie
un peu je crois) il indique à quelles pages se trouvent les diverses
sections, sous-sections, etc. Au deuxième passage, il fabrique réellement la
table des matières. Il faut donc compiler deux fois un fichier pour être
certain que les pages sont bien numérotées dans la table des matières.

En pratique il faut modifier ton script :

> lilypond-book --output out --pdf psaumes.tex
 de la façon suivante :

ilypond-book --output out --pdf psaumes.lytex

cd out
pdflatex psaumes.tex
pdflatex psaumes.tex
mv psaumes.pdf ../
cd ../

Tout devrait fonctionner correctement.

Nicolas.

---

From: Jean-Yves Baudais <[email-masked]>
Date: Tue, 12 Jun 2007 09:23:28 +0200

Bonjour,

Luc De Rossi a écrit :

> On m'avait expliquer qu'il fallait compiler 2 fois pour la création de la table 
> des matières : la première avec le fichier lytex, l'autre à partir du fichier .tex

   Oui, deux fois, mais pas deux fois en tout : un fois lytex et deux 
fois .tex. Au premier passage LaTeX crée un fichier .toc à partir duquel 
il va construire la table des matières à la deuxième compilation. Pour 
en savoir un peu plus sur LaTeX/TeX il y a l'indispensable "Un courte 
(?) introduction à LaTeX 2e" sous 
http://www.ctan.org/tex-archive/info/lshort/french/, pour des raisons de 
licence ce n'est que la version 3.20 (alors que le traducteur a au moins 
fait la 4.17c). C'est une source sûre, ce qui n'est pas le cas de tous 
les documents sur LaTeX sur internet. Il y a aussi l'indispensable "Un 
guide pratique pour un LaTeX propre" ou " Une liste des péchés des 
utilisateurs de LaTeX 2e" pour apprendre à coder proprement ;-). 
Également une source sûre, 
http://www.ctan.org/tex-archive/info/l2tabu/french/. Ensuite pour aller 
plus loin http://www.grappa.univ-lille3.fr/FAQ-LaTeX/ et puis en cas de 
panne http://groups.google.fr/group/fr.comp.text.tex/.

--Jyb

---

From: monique.combescure <[email-masked]>
Date: Tue, 12 Jun 2007 09:38:58 +0200

Bonjour à tous

J'ai créé un document de musicologie avec beaucoup de texte en LaTeX et 
quelques exemples musicaux, en utilisant les commandes \begin{lilypond} 
et \end{lilypond}.
Par contre quand j'utilise la commande 
\lilypondfile{nom_du_fichier.ly}, il me "mange" une partie (le début) 
de la partition. Qu'est-ce que j'ai fait de mal?
Merci de vos lumières.

Monique

Monique Combescure

Tout passe
  et tout demeure

---

From: "Nicolas Klutchnikoff" <[email-masked]>
Date: Tue, 12 Jun 2007 11:46:02 +0200

Bonjour,

Pourrais-tu nous donner un court extrait des codes (.tex et .ly) posant
problème ?

Chez moi les deux façons de procéder fonctionnent bien. J'en suis à la
version 2.10.20 -- donc pas la toute dernière -- sous Linux (Fedora 7) et
MacOS X (10.4.9 PPC).

Bonne journée,

Nicolas.

---

From: Jean-Charles <[email-masked]>
Date: Tue, 12 Jun 2007 20:50:10 +0200

Le 12.06.2007 09:23, Jean-Yves Baudais disait :
> Bonjour,
> 
> Luc De Rossi a écrit :
> 
>> On m'avait expliquer qu'il fallait compiler 2 fois pour la création de 
>> la table des matières : la première avec le fichier lytex, l'autre à 
>> partir du fichier .tex
> 
> il va construire la table des matières à la deuxième compilation. 
> 
> [...]
> 

En effet, un fichier lytex est un fichier qui passera entre les mains de 
LilyPond. Viendra seulement ensuite le traitement purement *tex.

Je joins à toute fins utile ma dernière version de Makefile pour un tel 
cas. Quelques commentaires :

0- la liste des sources LilyPond n'est pas obligatoire
1- si j'inclus une image, je renseigne la variable LOGO
2- si je veux générer une table des matières, la variable TDM sera égale 
à oui

make prepare => génération du postscript
make visu => ouvre le postcript avec ghostview
make fini => génère le pdf
make distrib => met le pdf avec les sources et supprime le répertoire de 
travail

Par contre, j'ai un petit problème avec la commande :

\newcommand{\betweenLilyPondSystem}[1]{\linebreak \vspace{24pt}}

qui refuse obstinément d'insérer l'espace entre les deux premiers systèmes.

Bonne soirée à tous
Jean-Charles
# Assemblage du carnet de chants pour les médiévales
# lilypond version 2.10.25

# nom de l'ouvrage (fichier lytex)
OUVRAGE := Medieval

# liste des fichiers sources LilyPond
SOURCES = Avecvous claret 

# l'image que j'ajoute
LOGO := janequin.eps

# faut-il une table des matières ?
TDM := oui

# le dossier temporaire de travail
REP := out

# adjonction du suffixe aux sources
FLY := $(addsuffix .ly,${SOURCES})

# Commandes abrégées
LB_CMD = lilypond-book --output=${REP} --psfonts
PS_CMD = dvips -o -Ppdf -h

${REP}/$(OUVRAGE).ps : prepare

prepare : ${OUVRAGE}.lytex ${FLY}
	${LB_CMD} ${OUVRAGE}.lytex
ifdef LOGO 
	cp ${LOGO} ${REP}/${LOGO}
endif
	cd ${REP} && latex ${OUVRAGE}
ifdef TDM
	cd ${REP} && latex ${OUVRAGE}
endif
	cd ${REP} && ${PS_CMD} $(OUVRAGE).psfonts $(OUVRAGE).dvi

visu : ${REP}/${OUVRAGE}.ps
	gv --watch ${REP}/${OUVRAGE}.ps

fini: ${REP}/$(OUVRAGE).ps
	cd ${REP} && ps2pdf $(OUVRAGE).ps $(OUVRAGE).pdf 

distrib : fini
	cp ${REP}/${OUVRAGE}.pdf .
	rm -rf ${REP}

# nettoyage
clean :
	rm -f ${REP}/*.log ${REP}/*.aux ${REP}/lily-* *.log *.tmp *.aux 

nickel :
	rm -rf ${REP}
	rm -f *~ *.log *.tmp *.aux *.ps *.midi