texidoc = "The minimum distance between lyrics are determined by the
@code{minimum-distance} of @code{LyricHyphen} and
-@code{LyricSpace}. The hyphen is omitted when it would be shorter than
-its @code{minimum-length} setting."
+@code{LyricSpace}.
+
+The ideal length of a hyphen is determined by its @code{length}
+property, but it may be shortened down to @code{minimum-length} in
+tight situations. If in this it still does not fit, the hyphen will be
+omitted.
+
+Like all overrides within @code{\lyricsto} and @code{\addlyrics}, the
+effect of a setting is delayed is one syllable."
}
}
\addlyrics
{
- syl -- lab word
- \once \override LyricHyphen #'minimum-distance = #0.0
- syl -- lab word
- \override LyricSpace #'minimum-distance = #0.0
- syl -- lab word
+ %% tight spacing: hyphen disappears
+ syl -- lab word
+
+ %% increase minimum-distance: forces more space, so hyphen reappears
+ \override LyricHyphen #'minimum-distance = #1.0
+ syl -- lab word
+
+ %% minimum-distance 0 for LyricSpace: this places words next to each other.
+ \override LyricSpace #'minimum-distance = #0.0
+ syl -- lab word
}
(interfaces . (line-interface
tuplet-bracket-interface))))))
+
+ (LyricExtender
+ . (
+ (stencil . ,ly:lyric-extender::print)
+ (thickness . 0.8) ; line-thickness
+ (minimum-length . 1.5)
+ (Y-extent . (0 . 0))
+ (meta . ((class . Spanner)
+ (interfaces . (lyric-interface
+ lyric-extender-interface))))))
+
(LyricHyphen
. (
(thickness . 1.3)
lyric-hyphen-interface
spanner-interface))))))
- (LyricExtender
- . (
- (stencil . ,ly:lyric-extender::print)
- (thickness . 0.8) ; line-thickness
- (minimum-length . 1.5)
- (Y-extent . (0 . 0))
- (meta . ((class . Spanner)
- (interfaces . (lyric-interface
- lyric-extender-interface))))))
-
(LyricSpace
- . ((minimum-distance . 0.3)
+ . ((minimum-distance . 0.45)
(springs-and-rods . ,ly:hyphen-spanner::set-spacing-rods)
(padding . 0.0)
(Y-extent . #f)
(PaperColumn
. (
(axes . (0))
-
(before-line-breaking . ,ly:paper-column::before-line-breaking)
;; (stencil . ,ly:paper-column::print)
(X-extent . ,ly:axis-group-interface::width)
-
;; debugging
;; (font-size . -6) (font-name . "sans") (Y-extent . #f)
(meta . ((class . Paper_column)
spaceable-grob-interface))))))
(ParenthesesItem
- . (
- (stencil . ,parentheses-item::print)
+ . ((stencil . ,parentheses-item::print)
(font-size . -6)
(padding . 0.2)
(meta . ((class . Item)
(interfaces . (parentheses-interface font-interface))))
-
- ))
+ ))
+
(PhrasingSlur
. ((details . ,default-slur-details)
(control-points . ,ly:slur::calc-control-points)