|
From: | Pierre Perol-Schneider |
Subject: | Re: Toc with counter |
Date: | Mon, 2 Jul 2018 22:43:47 +0200 |
Try this:tocItemWithDotsMarkupFixed = \markup {\fill-line {\fromproperty #'toc:text\fill-with-pattern #1 #RIGHT . "" \fromproperty #'toc:page}}\paper {tocItemMarkup = \tocItemWithDotsMarkupFixed}On Mon, Jul 2, 2018 at 12:57 PM Pierre Perol-Schneider <address@hiddencom > wrote:Thank you Saul.I understood that fill-with-pattern initiated the problem but could not see why. So thank you for your detailed explanation.Now, if someone has a workaround...Cheers,Pierre2018-07-02 21:12 GMT+02:00 Saul Tobin <address@hidden>:If I understand correctly, counter gets incremented whenever interpret-markup is called on a markup containing the counter. If you look in define-markup-commands.scm, \fill-line calls interpret-markup only once, but \fill-with-pattern calls interpret-markup twice, first to find out the width of the left and right text, then it calls interpret-markup again on the entire line.On Mon, Jul 2, 2018 at 9:01 AM Pierre Perol-Schneider <address@hiddencom > wrote:______________________________> ... counter shows only pairs." counter shows only even numbers"... sorry.Pierre2018-07-02 17:23 GMT+02:00 Pierre Perol-Schneider <address@hiddencom >:Hi All,I'd like to add a counter (LSR 543) in a table of content.However, when 'tocItemWithDotsMarkup is set, counter shows only pairs.Any idea how to solve this ?Snippet :%%%%\version "2.19.82" %% or 2.18
%%% Counter defs
% => http://lsr.di.unimi.it/LSR/Item?id=543
#(define counter-alist '())
#(define-markup-command (counter layout props name) (string?)
"Increases and prints out the value of the given counter named @var{name}.
If the counter does not yet exist, it is initialized with 1."
(let* ((oldval (assoc-ref counter-alist name))
(newval (if (number? oldval) (+ oldval 1) 1)))
(set! counter-alist (assoc-set! counter-alist name newval))
(interpret-markup layout props
(markup (number->string newval)))))
#(define-markup-command (setcounter layout props name value) (string? number?)
"Set the given counter named @var{name} to the given @var{value} and prints
out the value. The counter does not yet have to exist."
(set! counter-alist (assoc-set! counter-alist name (- value 1)))
(interpret-markup layout props (make-counter-markup name)))
%% Test:
\book {
\bookpart {
\markuplist \table-of-contents
\paper {
%% comment the following line:
tocItemMarkup = \tocItemWithDotsMarkup
}
}
\bookpart {
\tocItem \markup { "Étude" \counter #"counter" }
{ c' }
}
\bookpart {
\tocItem \markup { "Étude" \counter #"counter" }
{ c' }
}
\bookpart {
\tocItem \markup { "Étude" \counter #"counter" }
{ c' }
}
}%%%%TIA, cheers,Pierre_________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user
[Prev in Thread] | Current Thread | [Next in Thread] |