Autor Thema: Zeilenweiser Einzug  (Gelesen 3502 mal)

Martin

  • Member
Zeilenweiser Einzug
« am: Donnerstag, 14. Juni 2012, 19:49 »
Hallo Lilypond-Forum,

jetzt habe ich mich doch mal angemeldet, weil ich mit einer Aufgabe nicht weiterkomme.
Nach einigen Stücken, die ich nun schon mit Lily gesetzt habe, stehe ich vor folgender Aufgabe:

Ich möchte die Notenzeilen (einstimmige Musik) zeilenweise einrücken.
also in etwa so:

Notenzeile 1
     Notenzeile2
Notenzeile 3
     Notenzeile 4

etc. pp.

Leider konnte ich im HB nichts dazu finden. Hat jemand einen Tipp, wie ich vorgehen kann?

herzlichen Gruß

harm6

  • Member
Re: Zeilenweiser Einzug
« Antwort #1 am: Samstag, 16. Juni 2012, 21:34 »
Hallo Martin,

herzlich willkommen im forum.

Zu Deiner Frage:
Vorgesehen ist in LilyPond lediglich `indent' für die erste und `short-indent' für alle anderen Zeilen, deshalb hast Du in den docs auch nichts finden können.

Allerdings kommt Deine Frage öfters. Insofern hast Du drei Möglichkeiten:

(1) Du könntest Dich an David Kastrup wenden und ihn bitten ein entsprechendes feature (natürlich gegen Bezahlung) zu implementieren.
http://lilypond.org/website/sponsoring.html
Zufällig weiß ich, daß man ihm auf deutsch schreiben kann.

(2)  Du könntest es mit http://lsr.dsi.unimi.it/LSR/Item?id=701 versuchen. Du müßtest das snippet natürlich etwas anpassen.

(3) Oder versuch es mit meinem eigenen workaround.
Das file ist sehr lang. Hauptsächlich jedoch, weil man mit diesem Ansatz öfter tweaken muß und ich habe alle möglichen tweaks und overrides bereits vorbereitet.
Folgende Idee habe ich umgesetzt: Man kann ja die Systeme manuell platzieren. Wenn man nun horizontal verschiebt, so wird natürlich auch die rechte Seite verschoben (letztendlich sogar außerhalb des Druckbereichs).
Also habe ich den Taktstrich und was sonst noch am Ende einer Zeile passieren kann wieder zurückgeschoben und die überflüssige Zeilenlänge verdeckt. Soweit es geht habe ich das automatisiert.

Zur Anwendung:
Benutze eine zweite Stimme (hier: spaceLayout).
Dort: \space #'(0 0 -5) wobei der erste Wert der Einzug links ist.
Der zweite Wert sollte derselbe wie der erste sein, falls man die Zeilen rechtsbündig haben will. (Man kann natürlich auch andere Werte einsetzen und bekommt dadurch noch größere Flexibilität)
Der dritte Wert ist die vertikale Ausdehnung der "Überdeckung" am Zeilenende. Um besser sehen zu können was man hier braucht suche nach \with-color #white, kommentier es aus und die direkt drüber stehende Zeile ein.

tweak-Möglichkeiten:
\shapePhrasingSlur
\shapeSlur
\shapeTie
\textSpanner
\trillSpanner
\dynamicTextSpanner
\override Hairpin #'stencil = #my-broken-hairpin-callback
\addStemSpace

Einige dieser tweaks verursachen zur Demonstration einen farbigen Output. Aber das solltest Du problemlos ändern können.

HTH,
  Harm

Martin

  • Member
Re: Zeilenweiser Einzug
« Antwort #2 am: Dienstag, 19. Juni 2012, 11:27 »
Hallo Harm,

vielen Dank für die Antwort. Ich werde mir Deinen Workaround einmal anschauen und sehen, ob ich damit zurecht komme.
Ich staune etwas darüber, das das so nicht einfacher geht - eigentlich (dachte ich) keine so seltene Anwendung - aber vllt. irre ich da.

herzlich,
Martin