• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

Text unter einer ganzen Note

Begonnen von Matt34, Donnerstag, 4. November 2010, 12:50

Vorheriges Thema - Nächstes Thema

Matt34

Hallo!
Ich bin noch ein absolutes Greenhorn als Lilypondnutzer, versuche aber trotzdem, das Programm für meine Zwecke zu nutzen.
Ich bin gerade dabei eine Komposition eines Bekannten von mir zu setzen und stoße da an ein Problem:
Er schreibt eine ganze Note und darunter den Text. Ich schaffe es nicht, die Taktlänge an die Textlänge anzupassen.

Für Hilfe bin ich sehr dankbar

lg Matt34

ding-dong


Matt34

Zitat von: ding-dong am Donnerstag,  4. November 2010, 13:35
da hilft
\textLengthOn
Das habe ich schon versucht, aber irgendwie gab es da keine Veränderung

ding-dong

dann müsstest du einen kleinen auszug aus deinen noten schicken!

derHindemith

In diesem Fall, empfehle ich 
\override Score.PaperColumn #'keep-inside-line = ##t
Siehe 1.8.1 in den Notationsreferenz.

ding-dong

klar, ich hatte nicht bemerkt dass du den Lyrics-text meinst (und deine noten hatte ich auch übersehen...); sorry!

Matt34

Hallo!
Ich wollte nur kurz berichten, wie ich die Sache erledigt habe.
Nachdem ich wieder herumprobiert habe, schien es für mich die zufriedenstellenste Lösung zu sein, den Text an dieser Stelle nicht als Liedtext, sondern als normalen Untertext zu behandeln, so kam ich zu meinem gewünschten Ergebnis.
Danke für eure Hilfe, da werde ich noch öfter fragen.
Lg Matt34

RobUr

#7
Hallo Matt34,

der gesuchte ,,magische Befehl" ist wohl \override Score.SpacingSpanner #'packed-spacing = ##t! Er wird bspw. bei Gregorianik eingebunden und sorgt iVm \override LyricText #'self-alignment-X = #LEFT für die linksbündige und horizontale Berücksichtigung des Liedtextes.

Dein Beispiel wäre also ganz ohne Markup, bei dem der Liedtext eben nicht automatisch, sondern nur ungefähr, auf einer gemeinsamen Grundlinie sitzt, auch folgendermaßen zu schreiben:

% !TEX TS-program = Lilypond-unstable
\version "2.13.35"

\include "deutsch.ly"

%#(set-global-staff-size 17.82)

\header {
title = "Test"
}

Global = {
\override Score.SpacingSpanner #'packed-spacing = ##t
%\key c \major
s1*11
\bar "|."
}

TenorNoten = \relative c' {
\set Staff.instrumentName = "Tenor"
\set Staff.midiInstrument = "choir aahs"
\clef "treble_8"

R1*3 f,1^\pp f1 R1
f1 f2. f4 ~ f1 ~ f ~ f8 r r4 r2
}

TenorText = \lyricmode {
\override LyricText #'self-alignment-X = #LEFT
"Da wurden die Krotts polizeilich verhört,"
"und man hielt sie natürlich für geistesgestört."
"So kamen sie alle ins Irrenhaus,"
"in der Villa Krott wohnt jetzt nur noch die"
%\once \set lyricMelismaAlignment = #CENTER
"Maus." __
}

RHNoten = \relative c' {
R1*3 R1*2
es4( c'2 b4)
as1 ~ as4 r r2
fis4( dis' cis dis ~ dis2 cis)
R1
}

LHNoten = \relative c {
\clef "bass"
r8 c,8 c4( a' g ~ g8 c,) c4( a'4. g8)
f1 f1 ~ f1 ~ f1
f1 ~ f1 ~ f1 ~ f1 ~ f
}


\score {
<<
\new Staff = "Tenor"
<<
\new Voice = "Tenor" { << \Global \TenorNoten >> }
\new Lyrics \with {
alignBelowContext = "Tenor" }
\lyricsto "Tenor" { \TenorText }
>>

\new PianoStaff = "Piano" \with {
instrumentName = #"Piano"
}
<<
\new Staff = "RH" { << \Global \RHNoten >> }
\new Staff = "LH" { << \Global \LHNoten >> }
>>
>>

\midi {}

\layout {}
}


Grüße, Robert

EDIT: Auch Dir ein herzliches willkommen!

Matt34

Hallo RobUr!

Danke, genau das habe ich gesucht. ;D

Matt

Matt34

Hallo Robert!

Jetzt habe ich dann doch noch ein Problem:


Der gesuchte ,,magische Befehl" ist wohl doch genau das, was ich gesucht habe, allerdings ist dieser kurze, rezitativische Einwurf meines Beispiels nur ein kleiner in einer ganz konventionellen Notierung.
Wenn ich das "packed-spacing auf die gesamte Partitur anwende, bin ich mit dem Notenbild unzufrieden, weil es ja zu eng wird.
Kann man diesen Befehl auch nur in einem kleinen Bereich einfügen, und wenn ja, wie (ich habe es nicht geschafft  :()

RobUr

Ja, das funktioniert, und zwar per \newSpacingSection (siehe auch NR 4.5.2). Es sollte also klappen mit:

\newSpacingSection
\override Score.SpacingSpanner #'packed-spacing = ##t
< hier das Rezitativ >
\newSpacingSection
\override Score.SpacingSpanner #'packed-spacing = ##f
< ab hier wieder normales Spacing >


Grüße, Robert