Grösse von notenbezogenem Text

Begonnen von der_xenakis, Donnerstag, 22. August 2019, 21:45

« vorheriges - nächstes »

der_xenakis

Hallo! Frage: Wie kann ich global die Grösse von an einzelnen Noten angehängten Text ändern, ohne jedesmal ein Extra-Markup erstellen zu müssen?

Also statt:
{c4_\markup{\small "Bla"} d_\markup{\small "Bla"} e_\markup{\small "Bla"} f_\markup{\small "Bla"}

sowas wie:
\set aendere_die_textgroesse_immer_auf_small
und dann nur noch:
{c4_Bla d_Bla e_Bla f_Bla}

Danke für Hilfe!! VGr, der_xenakis

Manuela

Auf Anhieb fällt mir nur folgende Konstruktion ein:

\version "2.19.82"

grosseSchrift = #0

\relative c'' {
  c4-\markup \fontsize #grosseSchrift "normalgröße"
}

grosseSchrift = #2

\relative c'' {
  c4-\markup \fontsize #grosseSchrift "doppelgröße"
}

grosseSchrift = #-2

\relative c'' {
  c4-\markup \fontsize #grosseSchrift "kleingröße"
}
Danke für eure Hilfe
viele Grüße
-- Manuela

ingmar

#2
Hallo,

du kannst Manuelas Vorschlag noch ein wenig abkürzen:
\version "2.19.83"

G = #(define-scheme-function (arg) (string?)
      #{ \markup { \fontsize #2 #arg }#})

\relative c'' { c4-\G "größer" }


"\G" ist nun der Name der Funktion, die das nötige Markup setzt.

Was du allerdings offenbar wolltest, ist, automatisch die Größe für alle Texte eines bestimmten Typs hochzusetzen. Das geht bestimmt auch, und vermutlich mit wenigen Zeilen Code - ich muss aber (für den Moment) passen, und es könnte natürlich ungewollte Seiteneffekte haben.

Edit: Ich hatte als Namen meiner Funktion einen Großbuchstaben verwendet, damit er nicht mit einem Notennamen verwechselt wird (vom Compiler oder von dir). Es gibt viele Zeichen, die Lilypond/Scheme als Bezeichner akzeptiert – auch ß oder ∆ oder ™ oder sowas; das könnte sich hier anbieten.

--ingmar

der_xenakis

Super. Das reicht für meine Zwecke. Danke Euch - der_xenakis

Malte

Hallo allerseits,

man kommt auch ohne eine Funktion aus. Die Lösung heißt nicht genau\set aendere_die_textgroesse_immer_auf_smallaber ganz ähnlich:\override TextScript.font-size = -1;)

\small entspricht einem Wert von -1, andere sind natürlich möglich.

Viele Grüße
Malte

Edit: Übrigens kannst du dir auch das händische Setzen der Richtung mit _ sparen und stattdessen einmal schreiben:
\override TextScript.direction = #DOWN

Manuela

Echt blöd von mir, notenbezogenen Text kann man natürlich per Context global ändern, weil die Textgröße mit der Staffgröße in Beziehung steht. Ich hatte bei meinem Vorschlag an Markups gedacht, die nicht an Noten gebunden sind.
Danke für eure Hilfe
viele Grüße
-- Manuela