Deutschsprachiges LilyPond-Forum

Allgemeine Fragen und Probleme => Fragen und Probleme aller Art => Thema gestartet von: ingmar am Sonntag, 10. Mai 2020, 13:49

Titel: Mehr horizontaler Raum für eine Einzelnote
Beitrag von: ingmar am Sonntag, 10. Mai 2020, 13:49
Hallo Freunde,


ich würde gerne einer einzelnen Note sagen können, dass sie doch ein wenig mehr Raum nehmen soll als sich LilyPond vorstellt.

Ich finde die Raumaufteilung von LilyPond grundsätzlich sehr gut, aber manchmal bei langen Takten, wo plötzlich ein langer Notenwert kommt, erhält dieser doch für mein Gefühl zu wenig Raum – besonders, wenn diese Note über den Taktstrich hinausreicht.

Beispiel:
\version "2.19.83"
{
\repeat unfold 5 { c'8 c' c' c' c' c' c' c' }
d'8 8 8 8 8 8 e'2
d'8 8 8 8 8 8
\repeat unfold 4 { c' 8 c' c' c' c' c' c' c'  }
}


Das Beispiel zeigt das Problem leider nur ansatzweise. Aber nehmen wir es mal hin! Hier würde ich gerne erreichen, dass die Note e' mehr Raum bekommt.

Ich möchte also sowas in der Art schreiben wie
* "d'8 8 8 8 8 8 e'2\takeSpace d'8 8 8 8 8 8"
* "d'8 8 8 8 8 8 e'2\addSpace 0,5 d'8 8 8 8 8 8"

Ob der Ausdruck dabei zwei Zeilen behält oder drei draus werden, ist erstmal nicht Thema.


Danke, Gruß, : - )
--ingmar
Titel: re: Mehr horizontaler Raum für eine Einzelnote
Beitrag von: ingmar am Sonntag, 10. Mai 2020, 15:08
Es gab dazu mal einen Beitrag (https://archiv.lilypondforum.de/index.php/topic,1877.msg10288.html#msg10288); ich kann gerade jetzt aber nicht prüfen, ob das mein Problem schon löst... offenbar geht es dort nur um einstimmige Linien.

Ich hab mehrstimmige Partituren; die vertikale Zuordnung soll hier aber natürlich weiter richtig bleiben.

--ingmar

(EDIT: Hab inzwischen noch Snippet 481 (http://lsr.di.unimi.it/LSR/Item?id=481) gefunden, das am einfachsten aussieht, allerdings offenbar nur Töne einer Einzelstimme verschiebt. Ich setze es der Vollständigkeit halber auch noch hierher – vielleicht hilft es demand anders.)
Titel: Antw:Mehr horizontaler Raum für eine Einzelnote
Beitrag von: harm6 am Sonntag, 10. Mai 2020, 15:35
Hallo ingmar,

die Vorschläge aus dem Archiv funktionieren haben aber alle Vor- und Nachteile.

Hier noch einer. Auch dieser hat wieder Vor- und Nachteile, nicht zuletzt der höhere Tippaufwand:


{
\repeat unfold 5 { c'8 c' c' c' c' c' c' c' }
d'8 8 8 8 8 8
\newSpacingSection
\temporary \override Score.SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/64)
\temporary \override Score.BarLine.extra-spacing-width = #'(-4.5 . 1)
e'2
\newSpacingSection
\revert Score.SpacingSpanner.common-shortest-duration
\revert Score.BarLine.extra-spacing-width
d'8 8 8 8 8 8
\repeat unfold 4 { c' 8 c' c' c' c' c' c' c'  }
}


Gruß,
  Harm
Titel: re: Mehr horizontaler Raum für eine Einzelnote
Beitrag von: ingmar am Sonntag, 10. Mai 2020, 16:12
Danke!

Hab mal spaßeshalber, um den Effekt deutlicher zu sehen, den Wert von BarLine.extra-spacing-width wesentlich erhöht. Ich hatte ja extra eine Note für mein Beispiel gewählt, die die Taktgrenze überschreitet. Nun fällt auf, dass der Mehrraum ausschließlich VOR der Taktlinie hergestellt wird, nicht danach. Optisch wäre er m. E. hinter dem Taktstrich sinnvoller, oder er sollte eben gleichmäßig verteilt sein.

Das andere Problem ist natürlich, dass man das so nicht in eine Funktion auslagern kann (e'2\space, oder auch \space e'2). Dabei ist der von dir genannte Tippaufwand ja im Ernst kein Problem, aber die resultierende Unübersichtlichkeit des Codes für eine einzige Note, und dass man den genauen Text bei jeder Anwendung wieder würde nachschauen müssen, durchaus. Die beiden alten Lösungen sehen in dieser Hinsicht schon besser aus.

hm...

Danke trotzdem! -> ingmar