Hallo jpv,
das mit dem "eigentlich passen" ist halt so eine Sache ... Wenn ich bei meinen Geschichten das Spacing anzeigen lasse, kann ich nur auch manchmal den Kopf schütteln, warum in aller Welt das eine verdammte System partout nicht auf die Seite will, wo doch rechnerisch Platz sein müsste!
Aber wie kann ich dir helfen: mit dem Gefrickel an der Vertical-Axis-Group leider nicht, da ich Lily hier immer noch nicht folgen kann. Meine Hauptansatzpunkte, um Lily zu schönem Spacing zu überreden, sind folgende:
- vertikale Ränder und Abstände selbst definieren, um nicht Lilys Defaults nehmen zu müssen. Im Einzelnen:
- top-margin und bottom-margin
- head-separation und foot-separation
- after-title-space und page-top-space
- between-system-space und between-system-padding
- wirkt manchmal wahre Wunder:
- ragged-bottom = ##t oder ##f (default)
- ragged-last-bottom = ##t (default) oder ##f
- Padding und Position der Dynamikangaben überschreiben, damit ein f oder pp auch mal auf der Zeile landen kann:
- \once \override DynamicText #'Y-extent = #'( 0 . 0 ), um die vertikale Ausdehnung überhaupt erstmal zurückzusetzen, danach mit
- \once \override DynamicText #'extra-offset = #'( X . Y ) schön platzieren.
Wenn du mehrere Sätze in einem Buch zusammenfassen möchtest, kannst du aber trotzdem das Seitenlayout individuell anpassen, indem du jeden Satz in einen eigenen
bookpart-Block packst. Damit sind pro Block alle layoutspezifischen Angaben umdefinierbar, ohne die globalen Einstellungen ändern zu müssen. Hier ein Schema:
\version "2.12.2"
\include "deutsch.ly"
#(ly:set-option 'point-and-click #f)
#(ly:set-option 'delete-intermediate-files #t)
#(set-global-staff-size 15.87)
% Variablen mit Musik und Text definieren
SopranNotenErstesStueck = \relative { ... }
...
BassNotenErstesStueck = \relative { \clef "bass" ... }
SopranTextErstesStueck = \lyricmode { ... }
...
BassTextErstesStueck = \lyricmode { ... }
SopranNotenZweitesStueck = \relative { ... }
...
BassNotenZweitesStueck = \relative { \clef "bass" ... }
SopranTextZweitesStueck = \lyricmode { ... }
...
BassTextZweitesStueck = \lyricmode { ... }
\book { % erzeugt einen Buchblock
\header { % hier die globalen Titelangaben für den aktuellen Buchblock definieren
title = "Mein Liederbuch"
} % beendet \header
\paper { % hier die globale Seitenformatierung für den aktuellen Buchblock definieren
left-margin = 20\mm
line-width = 170\mm
} % beendet \paper
\bookpart { % neuer Buchteil für erstes Stück;
% hierin werden die Systeme definiert und abweichende Layoutangaben gemacht
\score { % Systeme definieren
\new ChoirStaff
<<
\new Staff = Sopran
\new Voice = "Sopran" { \SopranNotenErstesStueck }
\new Lyrics \with { alignBelowContext = Sopran }
\lyricsto "Sopran" { \SopranTextErstesStueck }
...
\new Staff = Bass
\new Voice = "Bass" { \BassNotenErstesStueck }
\new Lyrics \with { alignBelowContext = Bass }
\lyricsto "Bass" { \BassTextErstesStueck }
>>
\header { % hier abweichende Titelangaben machen
title = "In einem kühlen Grunde"
} % beendet \header
\layout { % veranlasst die Ausgabe der Systeme
system-count = #6 % versucht, Musik auf 6 Systeme zu verteilen
page-count = #2 % und zwar auf 2 Seiten
} % beendet \layout
} % beendet \score
\paper { % hier abweichende Layoutangaben machen
head-separation = 0\mm % default: 4 mm
foot-separation = 2\mm % default: 4 mm
page-top-space = 5\mm % default: 12 mm
} % beendet \paper
} % beendet \bookpart
\bookpart { % neuer Buchteil für zweites Stück; erzeugt Seitenumbruch
\score {
\new ChoirStaff
<<
\new Staff = Sopran
\new Voice = "Sopran" { \SopranNotenZweitesStueck }
\new Lyrics \with { alignBelowContext = Sopran }
\lyricsto "Sopran" { \SopranTextZweitesStueck }
...
\new Staff = Bass
\new Voice = "Bass" { \BassNotenZweitesStueck }
\new Lyrics \with { alignBelowContext = Bass }
\lyricsto "Bass" { \BassTextZweitesStueck }
>>
\header { % hier abweichende Titelangaben machen
title = "Ich weiß nicht, was soll es bedeuten"
} % beendet \header
\layout { % veranlasst die Ausgabe der Systeme
system-count = #3 % versucht, Musik auf 3 Systeme zu verteilen
page-count = #1 % und zwar auf 1 Seite
} % beendet \layout
} % beendet \score
\paper { % hier abweichende Layoutangaben machen
left-margin = 15\mm % überschreibt globale Angabe für den aktuellen Block
line-width = 180\mm % dito
head-separation = 0\mm % default: 4\mm
foot-separation = 2\mm % default: 4\mm
page-top-space = 5\mm % default: 12\mm
after-title-space = 0\mm % default: 5\mm
} % beendet \paper
} % beendet \bookpart
} % beendet \book
Jeder weitere
\bookpart erzeugt wieder einen eigenen Abschnitt in
derselben Ausgabedatei.
Jedes weitere
\book erzeugt eine eigene
neue Ausgabedatei. Sehr praktisch, um ganz bequem Einzelstimmen zu erzeugen. Für umfangreichere Bücher ist es ratsam, die Variablen mit Musik und Text in eigene Eingabedateien auszulagern und per
\include "ErstesStueck.ly" o.ä. einzubinden. Die Zeilenanzahl würde sonst einfach nicht überschaubar bleiben. Wichtig ist, dass Variablen eindeutig benannt und
vor der Verwendung definiert sind.
Du kannst auch gern einmal eine Datei von dir posten, die man sich anschauen kann.
Beste Grüße,
Robert