-%% Do not edit this file; it is automatically
+%% DO NOT EDIT this file manually; it is automatically
%% generated from LSR http://lsr.dsi.unimi.it
+%% Make any changes in LSR itself, or in Documentation/snippets/new/ ,
+%% and then run scripts/auxiliar/makelsr.py
+%%
%% This file is in the public domain.
-\version "2.13.4"
+\version "2.14.0"
\header {
lsrtags = "rhythms, text"
% New command to add a three sided box, with sides north, west and south
% Based on the box-stencil command defined in scm/stencil.scm
-% Note that ";" is used to comment a line in Scheme
+% Note that ";;" is used to comment a line in Scheme
#(define-public (NWS-box-stencil stencil thickness padding)
- "Add a box around STENCIL, producing a new stencil."
- (let* ((x-ext (interval-widen (ly:stencil-extent stencil 0) padding))
- (y-ext (interval-widen (ly:stencil-extent stencil 1) padding))
- (y-rule (make-filled-box-stencil (cons 0 thickness) y-ext))
- (x-rule (make-filled-box-stencil
- (interval-widen x-ext thickness) (cons 0 thickness))))
-; (set! stencil (ly:stencil-combine-at-edge stencil X 1 y-rule padding))
- (set! stencil (ly:stencil-combine-at-edge stencil X -1 y-rule padding))
- (set! stencil (ly:stencil-combine-at-edge stencil Y 1 x-rule 0.0))
- (set! stencil (ly:stencil-combine-at-edge stencil Y -1 x-rule 0.0))
- stencil))
+ "Add a box around STENCIL, producing a new stencil."
+ (let* ((x-ext (interval-widen (ly:stencil-extent stencil X) padding))
+ (y-ext (interval-widen (ly:stencil-extent stencil Y) padding))
+ (y-rule (make-filled-box-stencil (cons 0 thickness) y-ext))
+ (x-rule (make-filled-box-stencil
+ (interval-widen x-ext thickness) (cons 0 thickness))))
+ ;; (set! stencil (ly:stencil-combine-at-edge stencil X 1 y-rule padding))
+ (set! stencil (ly:stencil-combine-at-edge stencil X LEFT y-rule padding))
+ (set! stencil (ly:stencil-combine-at-edge stencil Y UP x-rule 0.0))
+ (set! stencil (ly:stencil-combine-at-edge stencil Y DOWN x-rule 0.0))
+ stencil))
% The corresponding markup command, based on the \box command defined
% in scm/define-markup-commands.scm
#(define-markup-command (NWS-box layout props arg) (markup?)
- "Draw a box round @var{arg}. Looks at @code{thickness},
+ "Draw a box round @var{arg}. Looks at @code{thickness},
@code{box-padding} and @code{font-size} properties to determine line
thickness and padding around the markup."
- (let* ((th (chain-assoc-get 'thickness props 0.1))
- (size (chain-assoc-get 'font-size props 0))
- (pad (* (magstep size)
- (chain-assoc-get 'box-padding props 0.2)))
- (m (interpret-markup layout props arg)))
- (NWS-box-stencil m th pad)))
+ (let* ((th (chain-assoc-get 'thickness props 0.1))
+ (size (chain-assoc-get 'font-size props 0))
+ (pad (* (magstep size)
+ (chain-assoc-get 'box-padding props 0.2)))
+ (m (interpret-markup layout props arg)))
+ (NWS-box-stencil m th pad)))
% Test it:
-\layout { ragged-right = ##f }
\relative c' {
- c2^\markup { \NWS-box ABCD }
- c2^\markup { \NWS-box \note #"4" #1.0 }
+ c1^\markup { \NWS-box ABCD }
+ c1^\markup { \NWS-box \note #"4" #1.0 }
}