[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Ordre d'exécution
From: |
Nicolas Sceaux |
Subject: |
Re: Ordre d'exécution |
Date: |
Mon, 6 Dec 2010 23:47:30 +0100 |
Le 6 déc. 2010 à 23:15, Cécile Huneau a écrit :
> J'ai donc paramétré mes titres, les espacements et tout le blabla, et puis je
> me suis mise en tête de faire une bête fonction pour numéroter
> automatiquement les exercices et les leçons, et c'est là que les ennuis
> commencent.
> Après pas mal de tentatives... Ouéééééééé ça marche ! J'ai des numéros qui
> s'incrémentent tous seuls !!! Youpiiiii ! Je remplis plein de pages avec des
> numéros qui se suivent tellement je suis contente... puis je me décide à
> placer le numéro d'exo là où je veux qu'il apparaisse, c'est à dire à
> l'emplacement du nom d'instrument en début de 1ère portée de chaque morceau.
> Et là c'est le drame. Ah les numéros s'incrémentent toujours, ça oui : le
> dernier exercice porte le n°1, l'avant dernier le n°2, etc. (arrêtez de rire
> je vous ai dit que ce n'était drôle !) Il doit y avoir quelque chose avec
> l'ordre de compilation non ?
>
> Auriez-vous des pistes pour que je puisse obtenir le résultat que je souhaite
> ?
> Ci-joint un exemple minimal.
J'ai du mal à comprendre ce qui se passe dans ton exemple, quoiqu'il en soit
voici une version qui fonctionne : en passant par des fonctions musicales on
garde un meilleur contrôle sur l'ordre d'exécution des opérations, et en
l'occurence sur l'ordre d'évaluation de la fonction d'incrément.
%%% Numérotation des exos
#(let ((i 0))
(set! lesson-number
(lambda ()
(set! i (1+ i))
(format #f "~a" i))))
#(define-markup-command (exo layout props num) (number?)
(interpret-markup layout props
(markup #:center-column (#:abs-fontsize 18 #:bold num))))
exoNumber =
#(define-music-function (parser location) ()
(let ((mynum (exo-number)))
#{ \set Staff.instrumentName = \markup \exo #$mynum #}))
Nicolas
- Ordre d'exécution, Cécile Huneau, 2010/12/06
- Re: Ordre d'exécution,
Nicolas Sceaux <=