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 < pierre.schneider.pa...@gmail.com> 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, > Pierre > > 2018-07-02 21:12 GMT+02:00 Saul Tobin <saul.james.to...@gmail.com>: > >> 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