Autor Thema: Schriftart und -größe in Liedtexten  (Gelesen 3725 mal)

ulrich.goebel

  • Member
Schriftart und -größe in Liedtexten
« am: Montag, 10. November 2014, 13:19 »
Hallo zusammen,

in einem größeren Projekt (Liedersammlung von über 100 Liedern) möchte ich gerne die Schriftgröße der Strophen, die erst unter den Noten erscheinen, verändern (die Schrif ist mir zu klein). Die einzelnen Lieder haben bei mir im wesentlichen folgenden Aufbau:

  \version "2.18.2"  % Lily-Version
  \language "deutsch"
  #(set-global-staff-size 14)

  \paper{
    myStaffSize = #14 % dieser Wert muss mit dem in "global-staff-size" übereinstimmen (default: 20)
    #(define fonts
      (make-pango-font-tree "Linux Biolinum O"
                            "Linux Biolinum O"
                            "Linux Libertine Mono O"
                            (/ myStaffSize 20)))
  }
 
  %%%
  %%%  Stimmen
  %%%
  Alle = {
    % Wir schalten jegliche Taktnummerierung aus:
    \override Score.BarNumber.break-visibility = #'#(#f #f #f)
    % Wir wollen keine automatischen Balken über 1/8 Noten usw.:
    \autoBeamOff
    \key d \major
    \time 4/4
  }
 
  Sopran = { \Alle \clef treble
    d4. fis8 e[ d] cis[ h] | a4 d fis2 |
  }

 
  %%%
  %%%  Texte
  %%%
  SopranTe = \lyricmode {
    \set stanza = #"1.=3. "
    Aus den hel -- len Bir -- ken steigt
  }
 
  \header {  % Kopfdaten für aktuellen \bookpart-Block
    title = "Aus den hellen Birken"
  }

  \score {  % Partiturdefinition
    \new StaffGroup <<
      \new Staff
        <<
          \new Voice {
            \relative c' { \Sopran }
            \addlyrics { \SopranTe }
          }
        >>
    >>
    \layout { }
  }
 
  \markup {
    \column{
      \line{2. \column{
        \line{Droben aus dem Walde tönt
  }}}}}
 

Wie man sieht, habe ich in der \paper-Umgebung mit make-pango-font-tree die Schriftart verändert.

Ganz unten im Quelltext werden mit der \markup-Umgebung die zusätzlichen Strophen gesetzt.

Und da liegt das Problem: die dotr verwendete Schrift möchte ich gerne etwas größer haben.

Am liebsten wäre mir eine Lösung, die innerhalb der \paper-Umgebung oder meinetwegen auch in dem Vorspann darüber definiert wird. Das deswegen, weil in den dem Projekt eben diese Bereiche nicht wirklich in der Quelldatei stehen, sondern dort mit \include aus einer Datei geladen werden - dadurch kann ich durch Anpassungen dieser Dateien das ganze Dokument beeinflussen.

Aus der Dokumentation habe ich im Prinzip verstanden, dass es eine Möglichkeit mit \override geben müsste. Aber ich finde mich nicht zurecht, wie das für mein Problem genau geht.

Hat jemand eine Idee? Oder einen Hinweis, wo in der Dokumentation ich die Lösung für meine Frage finde?

Mit Dank und Gruß
Ulrich

RobUr

  • Member
Re: Schriftart und -größe in Liedtexten
« Antwort #1 am: Montag, 10. November 2014, 14:45 »
Oder einen Hinweis, wo in der Dokumentation ich die Lösung für meine Frage finde?
NR 1.8.2 Formatting text > Selecting font and font size

Man kann diese Befehle auch direkt vor die geschweifte Klammer setzen, dann gilt es für den gesamten Markup-Block:
\markup \larger { "Droben aus dem Walde tönt" }
Gruß, Robert

ulrich.goebel

  • Member
Re: Schriftart und -größe in Liedtexten
« Antwort #2 am: Montag, 10. November 2014, 15:36 »
Ja, das funktioniert prima. Vor allem der Hinweis, dass man die Befehle direkt vor die geschweifte Klammer sezten kann, war wichtig.

Aber eine Einschränkung: ich muss das in jeder der vielen Dateien eintragen; und vor allem muss ich es dann in jeder der Dateien auch anpassen, wenn ich etwas ändern möchte.

Meine erste Idee war nun, das \larger (oder z.B. \abs-fontsize #8) in eine Datei Defs.ly zu schreiben und die dann so einzubinden:
\markup \include "Defs.ly" { Droben aus dem Walde tönt }
Das funktioniert aber nicht, \include wird offenbar an dieser Stelle nicht akzeptiert.

Ich suche also weiter nach einer Möglichkeit, das "global", also im Vorspann oder in der \paper-Umgebung zu lösen.

Gruß
Ulrich

RobUr

  • Member
Re: Schriftart und -größe in Liedtexten
« Antwort #3 am: Montag, 10. November 2014, 16:59 »
Hallo Ulrich,

dann definiere einen eigenen Befehl in der Include-Datei:
#(define-markup-command (mySize layout props arg) (markup?)
(interpret-markup layout props
(markup #:abs-fontsize 12 #:medium arg)))
Die Zahl hinter abs-fontsize bestimmt die absolute Schriftgröße und kann dort geändert werden. In den Schnippseln genügt nun der Aufruf mittels \mySize (ohne weitere Argumente). medium habe ich nur der Vollständigkeit wegen hinzugefügt: es schaltet auf „normale“ Schriftauszeichnung um. Alternativen wären bold oder italic oder beides. Prinzipiell sind hier auch alle weiteren Arten hinzufügbar, z.B. sans für serifenlos, roman für serif oder typewriter für Festbreitenschrift.

Ich persönlich verwende folgende Definitionen für Schriftgrößen gemäß den TeX-Proportionen:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%   5  .......  ttiny
%%   6  .......  tteeny
%%   7  .......  sscriptsize
%%   8  .......  ffootnotesize
%%   9  .......  ssmall
%%  10  .......  nnormalsize
%%  12  .......  llarge
%%  14  (14.40)  LLarge
%%  18  (17.28)  LLARGE
%%  20  (20.74)  hhuge
%%  24  (24.88)  HHuge
%%  30  (29.86)
%%  36  (35.83)
%%  43
%%  52  (51.60)
%%  62  (61.92)
%%  74  (74.30)
%%  90  (89.16)
%% 107
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

#(define-markup-command (ttiny layout props arg) (markup?)
(interpret-markup layout props
(markup #:abs-fontsize 5 #:medium arg)))

#(define-markup-command (tteeny layout props arg) (markup?)
(interpret-markup layout props
(markup #:abs-fontsize 6 #:medium arg)))

#(define-markup-command (sscriptsize layout props arg) (markup?)
(interpret-markup layout props
(markup #:abs-fontsize 7 #:medium arg)))

#(define-markup-command (ffootnotesize layout props arg) (markup?)
(interpret-markup layout props
(markup #:abs-fontsize 8 #:medium arg)))

#(define-markup-command (ssmall layout props arg) (markup?)
(interpret-markup layout props
(markup #:abs-fontsize 9 #:medium arg)))

#(define-markup-command (nnormalsize layout props arg) (markup?)
(interpret-markup layout props
(markup #:abs-fontsize 10 #:medium arg)))

#(define-markup-command (llarge layout props arg) (markup?)
(interpret-markup layout props
(markup #:abs-fontsize 12 #:medium arg)))

#(define-markup-command (LLarge layout props arg) (markup?)
(interpret-markup layout props
(markup #:abs-fontsize 14.4 #:medium arg)))

#(define-markup-command (LLARGE layout props arg) (markup?)
(interpret-markup layout props
(markup #:abs-fontsize 17.28 #:medium arg)))

#(define-markup-command (hhuge layout props arg) (markup?)
(interpret-markup layout props
(markup #:abs-fontsize 20.74 #:medium arg)))

#(define-markup-command (HHuge layout props arg) (markup?)
(interpret-markup layout props
(markup #:abs-fontsize 24.88 #:medium arg)))
Um Lily nicht zu verwirren, ist bei diesen Befehlen der erste Buchstabe gedoppelt – das könnte man natürlich auch anders machen, z.B. myLarge oder so.

Gruß, Robert