Autor Thema: Textformatierung  (Gelesen 1743 mal)

DocTaxon

  • Member
Textformatierung
« am: Montag, 6. Mai 2013, 21:46 »
Hallo!

Folgendes Problemchen:

habe z. B. eine Tonleiter aufwärts von 14 halben Noten mit Notenhals nach oben
- an die 2. und an die 8. Note möchte ich oberhalb einen Text heften, der eigentlich zusammengehört, deshalb sollen die beiden Worte automatisch in der gleichen Höhe über dem Notensystem stehen.

Anderenfalls möchte ich das gleiche für eine Tonleiter abwärts mit ebenfalls Notenhals nach oben erreichen.

Somit sollen beide Texte in gleicher Höhe, aber über der höheren Note im default-Abstand stehen.

Danke dafür,
Doc Taxon ...

RobUr

  • Member
Re: Textformatierung
« Antwort #1 am: Montag, 6. Mai 2013, 22:28 »
Kompilierbares Beispiel?

DocTaxon

  • Member
Re: Textformatierung
« Antwort #2 am: Dienstag, 7. Mai 2013, 11:37 »
klar, mit Beispiel ist es doch einfacher:

\version "2.16.0"
     
\score {
  \new Staff \relative c' {
    \stemUp
    c2 d2^\markup { \italic "Text 1" } e2 f2 g2 a2 b2 c2 d2^\markup { \italic "Text 2" } e2 f2 g2 a2 b2
    \break
    b2 a2^\markup { \italic "Text 1" } g2 f2 e2 d2 c2 b2 a2^\markup { \italic "Text 2" } g2 f2 e2 d2 c2
  }
  \layout { }
}

wegen der unterschiedlichen Notenhöhen stehen die Texte hier in unterschiedlicher Höhe über dem Notensystem. Und da Text 1 und Text 2 was miteinander zu tun haben, wie z. B. irgendwelche agogischen Vortragsanweisungen oder so was, sollen sie in gleicher Höhe über dem Notensystem stehen, bestenfalls im default-Abstand über der höheren Note.

Besten Dank, -- Doc Taxon

harm6

  • Member
Re: Textformatierung
« Antwort #3 am: Mittwoch, 8. Mai 2013, 12:09 »
Hallo Doc,

Du kannst den Befehl
\override TextScript #'padding = #4
benutzen und den Wert (hier 4) solange verändern bis er paßt.

Ich würde aber eher TextSpanner benutzen.

Im Beispiel sind beide Möglichkeiten umgesetzt.
Beim TextSpanner habe ich den Text links normal gesetzt, beim Text rechts den default (italic) belassen, sowie den Linienstil auf 'none gesetzt.

\version "2.16.0"
     
\score {
  \new Staff \relative c' {
    \override TextSpanner #'bound-details #'left #'text = \markup \normal-text "Text 1"
    \override TextSpanner #'bound-details #'right #'text = "Text 2"
    \override TextSpanner #'style = #'none
    \stemUp
    c2 d2\startTextSpan e2 f2 g2 a2 b2 c2 d2\stopTextSpan e2 f2 g2 a2 b2
    \break
    \override TextScript #'padding = #4
    b2 a2^\markup { \italic "Text 1" } g2 f2 e2 d2 c2 b2 a2^\markup { \italic "Text 2" } g2 f2 e2 d2 c2
  }
  \layout { }
}

HTH,
  Harm

Be-3

  • Member
Re: Textformatierung
« Antwort #4 am: Mittwoch, 8. Mai 2013, 12:52 »
Du kannst den Befehl
\override TextScript #'padding = #4
benutzen und den Wert (hier 4) solange verändern bis er paßt.

Ich würde aber eher TextSpanner benutzen.

Der TextSpanner hat einen wesentlichen Vorteil gegenüber #'padding: Die Grundlinie des Textes wird berücksichtigt, was dann von Bedeutung ist, sobald Unterlängen ins Spiel kommen.
Im Beispiel habe ich "Tegst 1" (sic!) und Text 2 direkt daneben gestellt damit man den Effekt sieht.

Bei mehr als zwei Texten wird's leider auch mit dem TextSpanner-Trick eng...

Wenn man statt #'padding den #'Y-offset erhöht, stehen die Texte auch auf der Grundlinie und wenn man dann noch #'outside-staff-padding auf 0 setzt, kommt man näher an die Noten ran:

\version "2.16.0"
     
\score {
  \new Staff \relative c' {
     \stemUp

     \override TextScript #'padding = #4
     b''2 a2^\markup { \italic "Tegst 1" } g2^\markup { \italic "Text 2" } f2 e2 d2 c2 b2 a2^\markup { \italic "Text 3" } g2 f2 e2 d2 c2

     \break

    \override TextScript #'outside-staff-padding = #0
    \override TextScript #'Y-offset = #6
    b''2 a2^\markup { \italic "Tegst 1" } g2^\markup { \italic "Text 2" } f2 e2 d2 c2 b2 a2^\markup { \italic "Text 3" } g2 f2 e2 d2 c2
   
  }
  \layout { indent = 0 }
}

Obere Zeile: Man sieht die #'padding-Grundlinien-Problematik bei Unterlängen.
Untere Zeile: so geht's.

Viele Grüße
Torsten

DocTaxon

  • Member
Re: Textformatierung
« Antwort #5 am: Mittwoch, 8. Mai 2013, 19:46 »
Ja, das funktioniert auch perfekt. Super, vielen Dank , Doc Taxon ...