Subject: Re: Répéter le titre sur toute les pages

From: david <[email-masked]>
Date: Wed, 06 May 2020 12:59:18 +0200

Bonjour, 

Grâce à la réonse à une autre question que j'ai posée, je me suis permis
de modifier un peu le code, pour récupérer automatiquement le titre et
le sous-titre, peut-être que ça peut intéresser quelqu'un ?
(je suis parfois distrait, c'est mieux pour moi si les titres sont
recopiés automatiquement ...) 

D'ou ma nouvelle question :)
Est-ce qu'il y a un moyen de récupérer également automatiquement le
nombre total de pages du document, pour que le "?" soit automatiquement
remplacé par sa valeur ? 

d'avance merci,
David 

%%%%%%Titre sur toutes les pages et Nombre de pages
%%%%%%%%%%%%%%%%%%%%%%
Titre = \markup { \fromproperty #'header:title } %le titre pour la
numérotation de pages
SousTitre = \markup { \fromproperty #'header:subtitle ". " \fromproperty
#'header:subsubtitle } 
Titrentete = \markup { \concat { \Titre " - " \SousTitre } } 

\paper { %Numérotation des pages
oddHeaderMarkup = \markup \fill-line
{ \on-the-fly #not-first-page {\sans \fontsize #-2 
{ \Titrentete \concat{ \fromproperty #'page:page-number-string " / " 
\concat {\page-ref #'lastPage "0" "3"}} }}} % remplacer ? par le nombre
de pages total
evenHeaderMarkup = \markup \fill-line {\sans \fontsize #-2 
{ \concat{ \fromproperty #'page:page-number-string " / " 
\concat { \page-ref #'lastPage "0" "3"}} \Titrentete}} } % remplacer ?
par le nombre de pages total
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

---

From: Valentin Villenave <[email-masked]>
Date: Wed, 6 May 2020 15:45:38 +0200

> nombre total de pages du document, pour que le "?" soit automatiquement

Moui d’une certaine façon, mais ça reste du bricolage :

%%%%

#(define-markup-list-command (total-pages layout props) ()
   (map (lambda (toc-item)
          (if (memq 'tocEnd toc-item)
              (interpret-markup
               layout
               (cons
                (list
                 (cons 'toc:page
                       (markup #:page-ref (car toc-item) "X" "?")))
                props)
               (make-fromproperty-markup 'toc:page))))
        (toc-items)))

tocEnd =
#(define-music-function () ()
   (context-spec-music
    (make-sequential-music
     (list (add-toc-item! 'tocEnd "")
           (make-music 'Music 'void #t)))
    'Devnull))

\paper {
  oddFooterMarkup = \markup \fill-line {
    \line {\fromproperty #'page:page-number-string / \total-pages }
  }
  oddHeaderMarkup = ##f
  evenHeaderMarkup = ##f
}

\repeat unfold 48 {b1\break}

\tocEnd

%%%%

V. V.