short-indent = 10\mm
mit einem passenden Wert. So wie indent für die Einrückung der ersten Zeile steht, sorgt short-indent für die Einrückung aller anderen Zeilen.\version "2.20.0"
\paper {
ragged-last-bottom = ##f
left-margin = 20\mm
right-margin = 20\mm
top-margin = 20\mm
bottom-margin = 10\mm
oddHeaderMarkup = \markup {
\fill-line {
" "
" "
\sans \on-the-fly \print-page-number-check-first \fromproperty #'page:page-number-string
}
}
evenHeaderMarkup = \markup {
\fill-line {
\sans \on-the-fly \print-page-number-check-first \fromproperty #'page:page-number-string
" "
" "
}
}
print-first-page-number = ##t
}
{
c'4 4 4 4
\pageBreak
c'4 4 4 4
}
generalShape =
#(define-music-function (offsets item) (list? key-list-or-music?)
(_i "Offset control points of @var{item} by @var{offsets}.
@var{offsets} is a list of number pairs @code{(@var{x} . @var{y})} or a list of
such lists. Each pair represents an offset to a control point. The @samp{y}
value of each pair is scaled by staff space.
If @var{item} is a string, the result is @code{\\once@/\\override} for the
specified grob type. If @var{item} is a music expression, the result is the
same music expression with an appropriate tweak applied.")
(define (shape-curve grob coords)
(let* ((orig (ly:grob-original grob))
(siblings (if (ly:spanner? grob)
(ly:spanner-broken-into orig) '()))
(total-found (length siblings))
(staff-space (ly:staff-symbol-staff-space grob))
(scaled-offsets
(map
(lambda (offset)
(if (number-pair? offset)
(cons (car offset) (* (cdr offset) staff-space))
offset))
offsets)))
(define (offset-control-points offsets)
(if (null? offsets)
coords
(map coord-translate coords offsets)))
(define (helper sibs offs)
(if (pair? offs)
(if (eq? (car sibs) grob)
(offset-control-points (car offs))
(helper (cdr sibs) (cdr offs)))
coords))
;; we work with lists of lists
(if (or (null? scaled-offsets)
(not (list? (car scaled-offsets))))
(set! scaled-offsets (list scaled-offsets)))
(if (>= total-found 2)
(helper siblings scaled-offsets)
(offset-control-points (car scaled-offsets)))))
(propertyTweak 'control-points
(grob-transformer 'control-points shape-curve)
item))
Und dann:x = \generalShape #'((0 . 0.5) (0 . 1) (0 . 1) (0 . 0.5)) Slur
bzw\undo \x
\temporary \override Slur.control-points =
#(grob-transformer 'control-points
(lambda (grob orig)
(map
(lambda (coord pair) (offset-add coord pair))
orig
'((0 . 0.5) (0 . 1) (0 . 1) (0 . 0.5)))))
mit \revert hinterher.\version "2.20.0"
x = \shape #'((0 . 0.5) (0 . 1) (0 . 1) (0 . 0.5)) Slur
{
\time 3/4
\key bes \major
% neutral
d'16( b' g'' b') g''( b' g'' b') d'( b' g'' b')
d'16( b' g'' b') g''( b' g'' b') d'( b' g'' b')
d'16( b' g'' b') g''( b' g'' b') d'( b' g'' b')
\break
% Bindebögen etwas höher
\x d'16( b' g'' b') \x g''( b' g'' b') \x d'( b' g'' b')
\x d'16( b' g'' b') \x g''( b' g'' b') \x d'( b' g'' b')
\x d'16( b' g'' b') \x g''( b' g'' b') \x d'( b' g'' b')
\bar "||"
\break
}
\version "2.22.0"
\paper{
line-width = 24
}
\relative c {
\time 2/4
\clef bass
\set tieWaitForNote = ##t \stemDown dis8~ fis~ b~ d!~ \break
<dis,! fis! b d!>2}