Deutsches Lilypond Forum (Archiv)

Allgemein => Fragen zu Funktionen => Thema gestartet von: Notensatzzweifel am Dienstag, 19. April 2016, 09:56

Titel: Textspanner in Notenzeile schreiben
Beitrag von: Notensatzzweifel am Dienstag, 19. April 2016, 09:56
Hallo,

ich habe mir diesen Textspanner gebaut

\override TextSpanner.style =#'line
  \override TextSpanner.font-series =#'bold
  \override TextSpanner.font-shape =#'normal-flag
  \override TextSpanner.font-size = #-3
  \override TextSpanner.color = #(x11-color 'sienna1)
  \override TextSpanner.thickness =#2
 \override TextSpanner.Y-offset = #-5
 
  \override TextSpanner.bound-details.left.text = #"1."
 
  \override TextSpanner.bound-details.left.stencil-align-dir-y = #down

Ich hätte diesen Textspanner gerne direkt in der Notenzeile stehen. Bloß wenn Y-offset < #-4 springt mir dieser Spanner unter die Zeile. Wie bekomme ich es hin, dass ich ihn in der Höhe beliebig platzieren kann?
Titel: Re: Textspanner in Notenzeile schreiben
Beitrag von: harm6 am Dienstag, 19. April 2016, 11:03
Geht mit:

  \override TextSpanner.staff-padding = #'()
  \override TextSpanner.outside-staff-priority = #'()

Da Du LilyPond somit gesagt hast "Bitte kümmere Dich nicht drum", bist Du jetzt selbst dafür verantwortlich wie der TextSpanner in Y-Richtung ausgerichtet werden soll.

Gruß,
  Harm

P.S.
Bitte poste immer ein kurzes und kompilierbares Code-Beispiel
Titel: Re: Textspanner in Notenzeile schreiben
Beitrag von: fugenkomponist am Dienstag, 19. April 2016, 12:13
Kurze Verständnisfrage (ich bin vorhin selbst nicht auf diese Lösung gekommen …): Wär in diesem Fall #'() äquivalent zu ##f (oder zumindest äquivalent zu verwenden)? Ich frag bloß, weil ich mit '() immer noch was listenartiges verbinde und mein persönlicher Geschmack deshalb zu ##f tendieren würde ;)
Titel: Re: Textspanner in Notenzeile schreiben
Beitrag von: harm6 am Mittwoch, 20. April 2016, 00:46
Zitat von: fugenkomponist
Kurze Verständnisfrage (ich bin vorhin selbst nicht auf diese Lösung gekommen …): Wär in diesem Fall #'() äquivalent zu ##f (oder zumindest äquivalent zu verwenden)? Ich frag bloß, weil ich mit '() immer noch was listenartiges verbinde und mein persönlicher Geschmack deshalb zu ##f tendieren würde ;)

#f ist ein boolean-value. Um ein property-unset zu machen solltest Du '() verwenden.
Zumindest habe ich das irgendwo so gelernt. Meistens macht es keinen Unterschied, aber noch nicht lange her, da gabs ein Problem mit einem LSR-snippet wo genau das der Knackpunkt war.

Es ist ja auch tatsächlich nicht das gleiche:
Zitat
guile> (->bool #f)
#f
guile> (->bool '())
#t
guile>

Wär natürlich schön ich könnte ein konkretes Beispiel angeben, aber außer der vagen Erinnerung an dieses LSR-snippet fällt mir momentan nichts ein.

Gruß,
  Harm
Titel: Re: Textspanner in Notenzeile schreiben
Beitrag von: Notensatzzweifel am Mittwoch, 20. April 2016, 09:09
Geht mit:

  \override TextSpanner.staff-padding = #'()
  \override TextSpanner.outside-staff-priority = #'()

Da Du LilyPond somit gesagt hast "Bitte kümmere Dich nicht drum", bist Du jetzt selbst dafür verantwortlich wie der TextSpanner in Y-Richtung ausgerichtet werden soll.


Vielen Danke. Das hat auch sehr weiter geholfen. Aber ich bin an der anderen Sache noch dran. Zu dem Textspanner werden noch ein paar Fragen kommen.

Aber ich habe schon mit verschiedenen Sprachen als Anfänger rumgebastelt. PHP, VisualBasic, MySYL, HTML und CSS. Wie und wo finde ich so etwas in der Lilyponddokumentation. Weil eigentlich müsste ich so etwas von selber finden.