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

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

Re: Table des matières ordonnée


From: Dominique Audéoud
Subject: Re: Table des matières ordonnée
Date: Wed, 13 Jan 2021 10:42:08 +0100

Voici encore un moyen (peut-être pas très académique !)  de contourner la compression de la table des matières en utilisant le script toc-init.ly :
%%%%%%%%%%%%%%%%
\version "2.21.82"
\include "toc-init.ly"

\paper {
  systems-per-page = 4
  max-systems-per-page = 4
  min-systems-per-page = 3
}

\tocItem B-pièce "S 1e vers strophe 1"
\tocItem B-pièce "S 1e vers strophe 1"
\tocItem B-pièce "U 1e vers strophe 2"
\tocItem B-pièce "D 1e vers strophe 3"

\tocItem A-pièce "X 1e vers strophe 1"
\tocItem A-pièce "X 1e vers strophe 1"
\tocItem A-pièce "B 1e vers strophe 2"
\tocItem A-pièce "G 1e vers strophe 3"
\tocItem A-pièce "K 1e vers strophe 4"

\bookpart {
  \paper {
    systems-per-page = ##f
    max-systems-per-page = ##f
    min-systems-per-page = ##f
    %%%tocItemMarkup = \tocItemWithDotsMarkup
  }
  \markuplist \table-of-contents
  \markuplist { #@(make-list 300 "entrée de tdm") }
}
%%%%%%%%%%%%%%%%

Bien cordialement

Le mer. 13 janv. 2021 à 09:36, Dominique Audéoud <domyck@gmail.com> a écrit :
Encore un petite question, si je n'abuse pas !

Tout fonctionne bien sur un ensemble important de pièces, sauf qu'en utilisant la commande

tocItemMarkup = \tocItemWithDotsMarkup

la numérotation nn:mm dans la TDM saute et donne simplement nn, avec un décalage des numéros nn.
La mise en commentaire de cette commande fait disparaître le problème.

Doit-on utiliser une autre commande ?
Merci encore par avance

---------- Forwarded message ---------
De : Dominique Audéoud <domyck@gmail.com>
Date: lun. 11 janv. 2021 à 19:47
Subject: Fwd: Table des matières ordonnée
To: <lilypond-user-fr@gnu.org>



Wouaouh, le résultat est impeccable ! Rien à dire, la présentation est irréprochable !
Merci mille fois pour ces améliorations significatives.
Le bug identifié dans le mail précédent sera déclaré dans la liste https://lists.gnu.org/mailman/listinfo/bug-lilypond dès que j'aurais reçu la validation de mon inscription.
Bon courage et bien cordialement !

Le lun. 11 janv. 2021 à 07:18, Jean Abou Samra <jean@abou-samra.fr> a écrit :

Bonjour,

(Pensez à garder la liste en copie pour que la
discussion puisse se prolonger collectivement.)

Le 10/01/2021 à 21:28, Dominique Audéoud a écrit :
Merci pour toutes vos réponses, et bravo pour le résultat !
Voici le résultat de mes essais, en prenant en compte tous vos conseils.

1) Pour les caractères spéciaux, ça marche très bien.
J'ai juste eu une surprise avec les guillemets typographiques (voir l'exemple ci-dessous).
L'insertion de l'élément ("« D" . "D") dans la liste to-ascii-replacements du fichier toc-init.ly n'a malheureusement rien donné de plus.
Si ce n'est pas résoluble, tant pis, je supprimerai les guillemets typographiques dans la TDM.


D'accord, j'ai réécrit la fonction pour opérer des
substitutions arbitraires et rajouté ("«" . ""),
etc. dans la liste pour supprimer les guillemets.

2) Après quelques tests, j'ai observé que ce sont les 2 commandes suivantes du paper qui compriment la page de la table des matières :
systems-per-page = 4
min-systems-per-page = 3
(La commande max-systems-per-page ne la comprime pas.)
Dommage, je les utilisais dans le paper pour toutes les partitions !


Joli ! C'est clairement un bug. Vous seriez très gentil,
si vous parlez un peu l'anglais, de le signaler à la
liste bug-lilypond@gnu.org (voir
http://lilypond.org/contact.fr.html) avec un exemple minimal,
par exemple ceci :

\version "2.23.0"

\paper {
  systems-per-page = 3
}

\markuplist { #@(make-list 300 "a") }

Pour le contourner, on peut définir le systems-per-page
ou min-systems-per-page au niveau d'un \bookpart qui
contient toutes les partitions, et placer la table
des matières en dehors de ce \bookpart, soit schématiquement :

\markuplist \table-of-contents

\bookpart {
  \paper {
    systems-per-page = 4
  }
  \score { ... }
  \score { ... }
  ...
}

En effet, les variables d'espacement sont propres à
chaque bloc \bookpart comme indiqué sur

http://lilypond.org/doc/v2.22/Documentation/notation/page-breaking#manual-page-breaking


3) Le tri marche très bien, presque trop bien !
En effet, avec le code suivant :

%%%%%%%%%%%%%%%%%
% Identification de la 1e pièce (via le nom de sa strophe 1)
\tocItem B-pièce "S 1e vers strophe 1"
% Strophes successives
\tocItem B-pièce.strophe "S 1e vers strophe 1"
\tocItem B-pièce.strophe "U 1e vers strophe 2"
\tocItem B-pièce.strophe "« D » 1e vers strophe 3"

% Identification de la 2e pièce (via le nom de sa strophe 1)
\tocItem A-pièce "X 1e vers strophe 1"
% Strophes successives
\tocItem A-pièce.strophe "X 1e vers strophe 1"
\tocItem A-pièce.strophe "B 1e vers strophe 2"
\tocItem A-pièce.strophe "G 1e vers strophe 3"
\tocItem A-pièce.strophe "K 1e vers strophe 4"
%%%%%%%%%%%%%%%%%

J'obtiens le résultat suivant :
B 1e vers strophe 2 . . . .  2:2:2
G 1e vers strophe 3 . . . .  2:2:3
K 1e vers strophe 4 . . . .  2:2:4
S 1e vers strophe 1 . . . .    1:1
S 1e vers strophe 1 . . . .  1:2:1
U 1e vers strophe 2 . . . .  1:2:2
X 1e vers strophe 1 . . . .    2:1
X 1e vers strophe 1 . . . .  2:2:1
« D » 1e vers strophe 3 . .  1:2:3

Alors que j'attendais plutôt celui-ci :
B 1e vers strophe 2 . . . . .  2:2
« D » 1e vers strophe 3 . . .  1:3
G 1e vers strophe 3 . . . . .  2:3
K 1e vers strophe 4 . . . . .  2:4
S 1e vers strophe 1 . . . . .    1
S 1e vers strophe 1 . . . . .  1:1
U 1e vers strophe 2 . . . . .  1:2
X 1e vers strophe 1 . . . . .    2
X 1e vers strophe 1 . . . . .  2:1


Mon idée était plutôt de mettre toutes les pièces
qui sont au même niveau dans le même label, comme
ceci :

\tocItem B-pièce "S 1e vers strophe 1"
\tocItem B-pièce "S 1e vers strophe 1"
\tocItem B-pièce "U 1e vers strophe 2"
\tocItem B-pièce "« D » 1e vers strophe 3"

\tocItem A-pièce "X 1e vers strophe 1"
\tocItem A-pièce "X 1e vers strophe 1"
\tocItem A-pièce "B 1e vers strophe 2"
\tocItem A-pièce "G 1e vers strophe 3"
\tocItem A-pièce "K 1e vers strophe 4"

Et, par exemple, « X 1e vers strophe 1 » s'affiche
comme
« 2 : 1 ». Faut-il simplement « 2 » à la
place ? On pourrait enlever tous les « 1 » à la
fin de la liste.

Le code commence à devenir long, je le joins
à ce message.


J'ai bien conscience que je ne peux guère que tester les propositions...
Si j'avais quelques années de moins, je crois que je me lancerais dans le code !
Mais je veux bien continuer à tester, en pensant que cela pourra servir à d'autres.
Merci beaucoup, en tout cas, pour le temps passé pour nous offrir ces fonctionnalités !


De rien ! C'est un plaisir pour moi.

Cordialement,
Jean




reply via email to

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