On Sat, 2023-12-16 at 21:25 +0100, Andreas Schneider wrote: > Thank you very much for your help. One more question: how can I get > the > current indent
There are two indent commands Command: Indent Alter the indent of the opening system for the current movement. Location: Object Menu ▶ Movements ▶ Typesetter ▶ Print Layout Internal Name: Indent and Command: Indent Indent the first system of every movement by the given amount. Location: Object Menu ▶ Score ▶ Typesetter ▶ Print Layout Internal Name: ScoreIndent The Instrument name command Command: Instrument Name Print Instrument name before staff at start of score, Location: Object Menu ▶ Staffs/Voices ▶ Staff Properties Internal Name: InstrumentName runs the second (*) of those Indent commands, so to retrieve the value set you need (d-DirectiveGet-score-data "ScoreIndent") to get that value. The value set by InstrumentName is just a very crude guess based on the length of the name, a proper job would require querying LilyPond about how much space is required ... Richard (*) I don't know why this is so, it was a long time ago and perhaps it would be better to do otherwise... > so that I can compare to the incipit length and increase > it if necessary? I'm trying the following after looking at > Indent.scm, > but I always get #f > > ;;;StaffIncipit > (let ((tag "StaffIncipit") (current "") (incipitLength 10) (indent > "15.0") ) > (set! current (d-GetUserInput (_ "Incipit") (_ "Give incipit for > current staff:") current)) > (if (string? current) > (begin > (d-DirectivePut-voice-prefix tag (string-append "\\incipit { " > current " }")) > (d-DirectivePut-layout-postfix tag (string-append " incipit-width > = > " (number->string incipitLength) "\n")) > (set! indent (d-DirectiveGet-layout-data "Indent")) > (disp (number? indent) (string? indent) indent) > (if (and (string? indent) (string->number indent)) > (if (> incipitLength (string->number indent)) > (d-Indent incipitLength)))))) > > Andreas >