lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: \footnote \tocItem


From: Valentin Villenave
Subject: Re: \footnote \tocItem
Date: Wed, 10 Apr 2019 20:32:31 +0000

On 4/10/19, Olivier C <address@hidden> wrote:
> Je désirerais savoir s'il est possible d'appeler les notes de bas de page
> "musicales" toutes ensembles dans une partie "Liste des notes de bas de
> page", et plus en bas de chaque page. En gros, définir une fonction
> associant \footnote et \tocItem. Le \tocItem appelerait les \footnote au
> lieu d'une table des matières.

Comme d’habitude, la réponse est : a priori, oui.
Il faut pour cela aller se pencher sur les définitions de la commande
footnote (dans ly/music-functions-init.ly) et de tocItem (dans
ly/toc-init.ly). Commençons par cette dernière :

tocItem =
#(define-music-function (text) (markup?)
   (add-toc-item! 'tocItemMarkup text))

OK, ça nous fait juste une petite ligne à insérer dans la définition
de footnote. Voici la définition modifiée :

tocFootnote =
#(define-music-function (mark offset footnote item)
   ((markup?) number-pair? markup? symbol-list-or-music?)
   (let ((mus (make-music
               'FootnoteEvent
               'X-offset (car offset)
               'Y-offset (cdr offset)
               'automatically-numbered (not mark)
               'text (or mark (make-null-markup))
               'footnote-text footnote)))
;; une ligne insérée :
     (add-toc-item! 'tocItemMarkup footnote)
     (once (propertyTweak 'footnote-music mus item))))

Le seul test que j’ai fait fonctionne concernant le contenu des notes,
mais concernant le numéro de page c’est une autre paire de manches. Il
me semble me souvenir que la table des matières automatique fonctionne
en faisant deux passages (au premier on collecte le contenu, au
deuxième on récupère les numéros de pages), il faudrait aller regarder
en détail comment fonctionnent les footnotes (je soupçonne que c’est
un peu pareil).

Cordialement,
V.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]