|
From: | Pierre Perol-Schneider |
Subject: | Re: Toc with counter |
Date: | Mon, 2 Jul 2018 21:57:49 +0200 |
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] |