Deutsches Lilypond Forum (Archiv)

Allgemein => Fragen zu Funktionen => Thema gestartet von: Pondus am Mittwoch, 23. November 2016, 11:34

Titel: Absolute Angabe für vspace
Beitrag von: Pondus am Mittwoch, 23. November 2016, 11:34
Liebe LilyPonder!

Gerade habe ich eine Partitur mit Stimmenauszügen fertig gesetzt.

Für Stimmen benutze ich

#(set-global-staff-size 18)

für die Partitur

#(set-global-staff-size 15)
Nun gibt es folgendes Problem bei der Titelseite: Um diese einheitlich zu gestalten, verwende ich

\abs-fontsize
, so dass die Schriftgröße unabhängig von der globalen Systemgröße ist.

Wie aber ist es möglich, dass der vertikale Abstand

\vspace #20
in Partitur und Stimmen identisch ist?

(Natürlich könnte man set-global-staff-size zweimal in die globale Datei einfügen. Hieraus resultieren aber zwei PDF-Dateien. Wenn möglich, wäre es schön, dies zu umgehen.)

Danke Euch
Pondus
Titel: Re: Absolute Angabe für vspace
Beitrag von: Manuela am Mittwoch, 23. November 2016, 15:19
Hi,

ich denke, ohne ein kompilierbares Minimalbeispiel wirst du hier keine Antwort bekommen  ;)
Titel: Re: Absolute Angabe für vspace
Beitrag von: Pondus am Mittwoch, 23. November 2016, 17:48
Hi,

ich denke, ohne ein kompilierbares Minimalbeispiel wirst du hier keine Antwort bekommen  ;)

Stimmt! Daran soll es nicht scheitern  :D

\version "2.18.2"
\include "deutsch.ly"

#(set-global-staff-size 20)

\book {
  \bookpart {
    \markup \fill-line {
      \center-column {
        \abs-fontsize #20 { "Test" }
        \vspace #20
        \abs-fontsize #20 { "Test" }
      }
    }
  }
}

\version "2.18.2"
\include "deutsch.ly"

#(set-global-staff-size 10)

\book {
  \bookpart {
    \markup \fill-line {
      \center-column {
        \abs-fontsize #20 { "Test" }
        \vspace #20
        \abs-fontsize #20 { "Test" }
      }
    }
  }
}


Im Beispiel also zwei Titelseiten. Trotz unterschiedlicher globaler Systemgrößen soll vspace absolut identisch sein, analog zu den absoluten Schriftgrößen von abs-fontsize.

Danke Euch im Voraus!
Titel: Re: Absolute Angabe für vspace
Beitrag von: harm6 am Mittwoch, 23. November 2016, 22:24
Hallo,

schau mal, ob es hilft vspace durch mm-vspace zu ersetzen.

#(define-markup-command (mm-vspace layout props amount)
  (number?)
  (let* ((amount (* amount 3.0)))
    (ly:make-stencil
      ""
      empty-interval
      (cons 0 (* amount (ly:output-def-lookup layout 'mm))))))

Gruß,
  Harm
Titel: Re: Absolute Angabe für vspace
Beitrag von: Pondus am Donnerstag, 24. November 2016, 08:47
Super, Harm! Obwohl ich schon seit einigen Jahren mit LilyPond arbeite, habe ich mich noch nicht mit eigenen commands beschäftigt.

Danke für Eure Hilfe!

Viele Grüße
Pondus
Titel: Re: Absolute Angabe für vspace
Beitrag von: harm6 am Freitag, 25. November 2016, 01:25
Hier noch ein code von Robin Bannister, der nicht mm als Hilfskrücke verwendet:

% By Robin Bannister. Replacement for vspace with absolute dimensions.
#(define-markup-command (mm-feed layout props amount) (number?)
  (let ((o-s (ly:output-def-lookup layout 'output-scale)))
      (ly:make-stencil "" '(0 . 0) (cons 0 (abs (/ amount o-s))))))

Ich hatte noch vage in Erinnerung, daß es ihn gibt und bin jetzt zufällig in anderem Zusammenhang drüber gestolpert.

Gruß,
  Harm
Titel: Re: Absolute Angabe für vspace
Beitrag von: Pondus am Freitag, 25. November 2016, 15:43
Sehr praktisch! Danke Dir nochmals, Harm.

Grüße
Pondus