[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Re:_2_questions_:_Table_des _matières_et_espacement_vertical
From: |
j-f.lucarelli |
Subject: |
Re: Re:_2_questions_:_Table_des _matières_et_espacement_vertical |
Date: |
Mon, 22 Feb 2010 21:10:30 +0100 |
>>> - J'ai réalisé une table des matières selon les explications de la
>>> documentation, mais le résultat est assez décevant : les titres à
>>> gauches, les numéros de page à droite, et un énorme vide entre les
>>> deux.
>>>
>>> J'ai tenté de créer une fonction qui ajoute des blancs devant et
>>> derrière la ligne. C'est mieux, mais les titres sont centrés dans
>>> leur colonne et non plus justifiés à gauche.
>>
>Pour aller plus vite : il faut s'inspirer du code qui initialise le
>formattage des tables des matières, et qui se trouve dans ly/toc-init.ly.
>En l'occurence, c'est cette définition qu'il faut personnaliser :
>
>\paper {
> tocItemMarkup = \markup \fill-line {
> \fromproperty #'toc:text \fromproperty #'toc:page
> }
>}
>
>par exemple de la façon suivante (jouer sur le 70) :
>
>\paper {
> tocItemMarkup = \markup \fill-line {
> \override #'(line-width . 70) \fill-line {
> \fromproperty #'toc:text \fromproperty #'toc:page
> }
> }
>}
Impeccable : simple et efficace.
Voici le code utilisé :
Définition de la fonction :
#(define-markup-command (toc-line layout props label text) (symbol? markup?)
(interpret-markup layout props(markup #:abs-fontsize 14 #:fill-line
(text #:page-ref label "8" "?"))))
Utilisation :
\markup {
\column {
\fill-line { \lower #15 \couvCompositeur }
.......
\fill-line {\override #'(line-width . 70) \lower #10
\toc-line #'MvmtI "I - Allergo molto"}
.......
}
}
Les labels sont définis par :
\label #'MvmtI
situés au début de chaque bookpart.
Un grand merci,
Jean-François