2004-09-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * input/regression/system-overstrike.ly: new file.
+
+ * scm/page-layout.scm (ly:optimal-page-breaks): add
+ betweensystempadding also to fixed distance for the spring.
+
* scm/define-grobs.scm (all-grob-descriptions): fix order of
key-cancellation.
--- /dev/null
+\version "2.3.16"
+\header { texidoc = "By setting betweensystempadding to a negative
+value, it is possible to eliminate the anti-collision constraints.
+Then setting @code{betweensystemspace} to a low (nonzero) value,
+print systems in overstrike. "
+}
+
+\bookpaper {
+ raggedbottom =##t
+ betweensystempadding = - 4\cm
+ betweensystemspace = 3\mm
+}
+
+{
+ c1 \break
+ c'''1
+}
+
(- (car (vector-ref real-extents (1- no-systems))))
))
+ (fixed-dist (ly:output-def-lookup bookpaper 'betweensystempadding))
(calc-spring
(lambda (idx)
(let*
((this-system-ext (vector-ref staff-extents idx))
(next-system-ext (vector-ref staff-extents (1+ idx)))
- (fixed (- (cdr next-system-ext)
- (car this-system-ext)))
+ (fixed (max 0 (- (+ (cdr next-system-ext)
+ fixed-dist)
+ (car this-system-ext))))
(ideal (+ inter-system-space fixed))
(hooke (/ 1 (- ideal fixed)))
)
))
(springs (map calc-spring (iota (1- no-systems))))
- (fixed-dist (ly:output-def-lookup bookpaper 'betweensystempadding))
(calc-rod
(lambda (idx)
(let*
((this-system-ext (vector-ref real-extents idx))
(next-system-ext (vector-ref real-extents (1+ idx)))
- (distance (- (+ (cdr next-system-ext)
+ (distance (max (- (+ (cdr next-system-ext)
fixed-dist)
- (car this-system-ext)
- ))
+ (car this-system-ext)
+ ) 0))
(entry (list idx (1+ idx) distance)))
entry)))
(rods (map calc-rod (iota (1- no-systems))))
(cdr result)))
)
- (if #f ;; debug.
+ (if #t ;; debug.
(begin
(display (list "\n# systems: " no-systems
"\nreal-ext" real-extents "\nstaff-ext" staff-extents
"\ninterscore" inter-system-space
"\nspace-letf" space-left
- "\npage empty" page-very-empty
+ "\npage empty" page-very-empty?
"\nspring,rod" springs rods
"\ntopskip " topskip
" space " space