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 < pierre.schneider.pa...@gmail.com> wrote: > > ... counter shows only pairs. > " counter shows only even numbers"... sorry. > Pierre > > 2018-07-02 17:23 GMT+02:00 Pierre Perol-Schneider < > pierre.schneider.pa...@gmail.com>: > >> 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 > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user >
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user