Paper-Variable

Begonnen von hotte, Dienstag, 20. April 2021, 21:38

« vorheriges - nächstes »

hotte

Liebe Leute,

kann man für eine \book-\bookpart-Umgebung mit Scheme eine Paper-Variable definieren um auf den verschiedenen Buchseiten Scores mit unterschiedlichem Abstand schreiben zu können? Wenn man ein etwas dickeres Buch schreibt wird das sonst leicht unübersichtlich.

Also z.B. statt ...

\version "2.22.0"
\language "deutsch"

\book {
  \bookpart {
    \paper { system-system-spacing.basic-distance = #15 }
    \score { ...  }
  }
  \bookpart {
    \paper { system-system-spacing.basic-distance = #18 }
    \score { ... }
  }
}


... vielleicht ...

\version "2.22.0"
\language "deutsch"

\book {
  \bookpart {
    \myDist #15
    \score { ...  }
  }
  \bookpart {
    \myDist #18
    \score { ... }
  }
}


... oder so ähnlich.

Ich bin einfach noch nicht so firm mit dieser Sprache.

Danke und Grüße
hotte

harm6

Du kannst folgendes machen:

\version "2.22.0"

tst =
#(define-scheme-function (val)(number?)
#{
  \paper { system-system-spacing.basic-distance = #val }
#})

\book {
  \bookpart {
    \tst #30
    \score { { R1 \break R1 } }
  }
  \bookpart {
    \tst #60
    \score { { R1 \break R1 } }
  }
}

Allerdings setzt die scheme-function einen einzigen Wert für eine einzige Variable.
\paper kann natürlich viel mehr enthalten, dann mußt Du zusätzliche \paper benutzen oder entsprechende Funktionen.
Mit anderen Worten, auf lange Sicht bezweifel ich die Sinnhaftigkeit dieser Vorgehensweise.

Gruß,
  Harm

hotte

Vielen Dank Harm,

ich habe natürlich einen ganz normalen globalen Paper-Block mit allen Einstellungen die für alle Seiten gleich bleiben.
Nur diese Abstands-Variable brauche ich auf verschiedene Arten. Deshalb ist das für mich prima so.

Grüße
hotte