Paper-Definition wird bei einseitigem Dokument nicht beachtet [gelöst]

Begonnen von ingmar, Donnerstag, 9. Juli 2026, 22:06

Vorheriges Thema - Nächstes Thema

ingmar

Hallo Freunde,

ich habe hier einen Notentext mytext, den ich mit Hilfe einer Funktion mypart als einstimmige Linie ausdrucken möchte.

Zunächst definiere ich per paper, wie viele Zeilen auf das Papier gehen sollen. Meine Funktion erlaubt mir, anzugeben, wieviele Zeilen mein Notentext insgesamt lang sein soll:

\version "2.24.3"
mytext = \relative {
\repeat unfold 70 { c'4 d e f g a b } }
mypart = #(define-scheme-function (anzahl-zeilen) (integer? ) #{
    \score {
        \new Staff \mytext
        \layout { system-count = $anzahl-zeilen }
    }
#})

% - - - - - - - - - - -
\paper { max-systems-per-page = 10 }
\mypart #12

* Auf mein Notenpapier passen also 10 Systeme pro Seite, und mein Notenstrom soll insgesamt 12 Systeme umfassen: Funktioniert einwandfrei, die letzten beiden Systeme stehen auf der zweiten Seite.
* Nun ändere ich das Argument im Funktionsaufruf (die letze Zahl unten im Code) von 12 Sytemen Gesamtlänge auf 11: Auch das funktioniert, auf der zweiten Seite steht nur noch ein System.
* Mutig ändere ich nun das Argument auf 10.

Was ich erwarte: Der Ausdruck soll nur eine Seite umfassen, mit gleichem Zeilenabstand wie zuvor.

Was hingegen passiert: Der Ausdruck ist nun wesentlich enger. Der durch die paper-Definition von mir festgelegte Zeilenabstand wird offenbar nicht beachtet. Alles wird nach Standard gedruckt: Wesentlich enger.

Ist das ein Bug? Wie kann ich einen Zeilenabstand definieren, der von der Anzahl der tatsächlich benötigten Systeme unabhängig ist?


mit verwirrtem Gruß – und Dank im Voraus... : - )
--ingmar

(EDIT: Etwas klarer formuliert.)

Lilysetter

#1
\paper { max-systems-per-page = 10 ragged-last-bottom = ##f }
löst das Problem auf Seite 1, aber dafür sieht Seite 2 nicht wie gewünscht aus, daher:
\paper{max-systems-per-page=10 system-system-spacing.basic-distance=16 tagline=#f }

ingmar

#2
Zitat von: Lilysetter am Samstag, 11. Juli 2026, 14:50\paper { system-system-spacing.basic-distance=16 }

Ah – danke! : - )

Dieses Statement ist die Lösung. max-systems-per-page davor hat dann offenbar keine Wirkung mehr, und tagline hat damit natürlich nichts zu tun.

Manchmal wundert man sich doch, dass man nicht selbst drauf gekommen ist... es ist schließlich naheliegend, dass systems-per-page nicht viel (halt nichts..) bewirkt, wenn die Seite eben weniger Systeme umfasst. Aber ich benutze es seit ewig, da bin ich gar nicht auf die Idee gekommen, mich nach etwas anderem umzusehen.

Gruß an alle, : - )
--ingmar