Autor Thema: Absolute Angabe für vspace  (Gelesen 2259 mal)

Pondus

  • Member
Absolute Angabe für vspace
« 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

Manuela

  • Member
Re: Absolute Angabe für vspace
« Antwort #1 am: Mittwoch, 23. November 2016, 15:19 »
Hi,

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

Pondus

  • Member
Re: Absolute Angabe für vspace
« Antwort #2 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!

harm6

  • Member
Re: Absolute Angabe für vspace
« Antwort #3 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

Pondus

  • Member
Re: Absolute Angabe für vspace
« Antwort #4 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

harm6

  • Member
Re: Absolute Angabe für vspace
« Antwort #5 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

Pondus

  • Member
Re: Absolute Angabe für vspace
« Antwort #6 am: Freitag, 25. November 2016, 15:43 »
Sehr praktisch! Danke Dir nochmals, Harm.

Grüße
Pondus