[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Signets de pages pdf
From: |
Jean Abou Samra |
Subject: |
Re: Signets de pages pdf |
Date: |
Thu, 25 Aug 2022 10:51:43 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 |
Le 25/08/2022 à 10:01, Vincent Gay a écrit :
Le 24/08/2022 à 23:10, Jean Abou Samra a écrit :
Voici une solution de contournement possible, à insérer
au début du fichier :
Merci Jean, c'est presque parfait. J'imagine avec ça pouvoir faire un
"vrai" RealBook d'environ 300 partitions. Je suis juste un peu inquiet
sur le temps de compilation...
Le seul petit problème restant est l'ordre des items
La table des matières en page 1 est parfaitement ordonnée
Mais pas le contenu :
Le code
\version "2.23.11"
Aïe, j'espérais que tu ne tomberais pas dans ce problème-là...
C'est un deuxième bug. Le pire, c'est que c'est moi-même qui l'ai
introduit en
2.23.11, en corrigeant un troisième bug. Allons bon. Je m'en suis rendu
compte
hier grâce à ce fil, et j'ai déjà posté un patch qui résout ce deuxième
bug :
https://gitlab.com/lilypond/lilypond/-/merge_requests/1575
Une solution de contournement en attendant la 2.23.13 :
\paper {
#(use-modules (ice-9 match)
(srfi srfi-1))
page-breaking =
#(lambda (paper-book)
(let* ((paper (ly:paper-book-paper paper-book))
(parent (ly:output-def-parent paper))
(top-paper (if (null? parent)
paper
parent))
(alist-before (ly:output-def-lookup top-paper
'label-page-table))
(result (ly:optimal-breaking paper-book))
(alist-after (ly:output-def-lookup top-paper
'label-page-table))
(alist-part (let loop ((after alist-after)
(acc '()))
(if (eq? after alist-before)
(reverse! acc)
(loop (cdr after)
(cons (car after)
acc)))))
(new-alist (let loop ((alist alist-part)
(acc '())
(same-pgnum '())
(last-pgnum #f))
(match alist
(()
(append-reverse same-pgnum acc))
(((label . page) . rest)
(if (or (not last-pgnum)
(eqv? last-pgnum page))
(loop rest
acc
(acons label page same-pgnum)
page)
(loop rest
(append-reverse same-pgnum acc)
(list (cons label page))
page)))))))
(ly:output-def-set-variable! top-paper 'label-page-table
(append-reverse new-alist alist-before))
result))
}
- Re: Signets de pages pdf, (continued)
- Re: Signets de pages pdf, Jean Abou Samra, 2022/08/24
- Re: Signets de pages pdf, Vincent Gay, 2022/08/24
- Re: Signets de pages pdf, Jean Abou Samra, 2022/08/24
- Re: Signets de pages pdf, Jean Abou Samra, 2022/08/24
- Re: Signets de pages pdf, Vincent Gay, 2022/08/24
- Re: Signets de pages pdf, Jean Abou Samra, 2022/08/24
- Re: Signets de pages pdf, Vincent Gay, 2022/08/24
- Re: Signets de pages pdf, Vincent Gay, 2022/08/24
- Re: Signets de pages pdf, Jean Abou Samra, 2022/08/24
- Re: Signets de pages pdf, Vincent Gay, 2022/08/25
- Re: Signets de pages pdf,
Jean Abou Samra <=
- Re: Signets de pages pdf, Jean Abou Samra, 2022/08/25
- Re: Signets de pages pdf, Vincent Gay, 2022/08/25
- Re: Signets de pages pdf, Vincent Gay, 2022/08/25
Re: Signets de pages pdf, Jean Abou Samra, 2022/08/24