On Thu, Oct 3, 2024 at 2:24 PM Matthew Fong <oxen...@gmail.com> wrote:
> Dear LilyPonders, > > I've been trying to combine two solutions in the LSR, but I haven't been > able to figure out how. I want *square brackets* for parenthesizing a group > of notes > > 1/ Parenthesize a group of notes using a Scheme function > https://lsr.di.unimi.it/LSR/Item?id=902 > > 2/ Using brackets instead of parentheses for \parenthesize > https://lsr.di.unimi.it/LSR/Item?id=564 > > Any advice would be appreciated. > Hi Matt, LSR gives these: %%% LSR 564 %%% #(define-public (bracket-stencils grob) (let ((lp (grob-interpret-markup grob (markup #:fontsize 3.5 #:translate (cons -0.3 -0.5) "["))) (rp (grob-interpret-markup grob (markup #:fontsize 3.5 #:translate (cons -0.3 -0.5) "]")))) (list lp rp))) %%% LSR 902 %%% startParenthesis = { \once \override Parentheses.stencils = #(lambda (grob) (let ((par-list (parentheses-interface::calc-parenthesis-stencils grob))) (list (car par-list) point-stencil ))) } endParenthesis = { \once \override Parentheses.stencils = #(lambda (grob) (let ((par-list (parentheses-interface::calc-parenthesis-stencils grob))) (list point-stencil (cadr par-list)))) } %%% END %%% So plugging 564 into 902 maybe looks something like this: %%% 564 + 902 %%% \version "2.25.19" openBracket = { \once \override Parentheses.stencils = #(lambda (grob) (let ((par-list (*bracket-stencils* grob))) (list (car par-list) point-stencil ))) } closeBracket = { \once \override Parentheses.stencils = #(lambda (grob) (let ((par-list (*bracket-stencils* grob))) (list point-stencil (cadr par-list)))) } { \override Parentheses.font-size = #5 \once \override Parentheses.extra-offset = #'(-1 . 0) \openBracket <c \parenthesize c'> d' e' f' \closeBracket \parenthesize g' } %%% END %%% [image: square-brackets.png] HTH, Trevor. -- Trevor Bača www.trevorbaca.com soundcloud.com/trevorbaca