Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: iugin am Sonntag, 8. September 2013, 10:38
-
Hallo miteinander,
kann mir jemand bitte erklären, wie ich den 3. \markup nach unten bringe, damit er den gleichen Abstand vom System hat, wie die andere zwei?
Ich schaffe es irgendwie nicht :)
Hier mein Code:
\version "2.16.0"
\language "deutsch"
#(set-global-staff-size 15)
Rap = \relative c' {
R1^\markup {
\column {
"Hier kommt eine erste Zeile"
"und hier die zweite"
}
}
R1^\markup {
\column {
"Hier kommt eine erste Zeile"
"und hier die zweite"
}
}
R1^\markup {
\hspace #20
\column {
"Das möchte ich näher am System"
"so wie die andere zwei"
}
}
R1
}
\score {
\new Staff {
\override Staff.StaffSymbol #'line-count = #1
\clef "percussion"
\Rap
}
\layout {
indent = 0
ragged-right = ##f
}
}
und im Anhang das Resultat.
Danke vielmals und schönen Tag!
Liebe Grüsse
Eugenio
-
hallo iugin
eine neuere version schafft das (schon 2.16.1)!
Eluze
-
Hallo Eluze,
ich habe eigendlich 2.16.2, der File war aber alt.
Es geht trotzdem nicht (habe nur die \version im File geändert, sonst nichts) :(
Ciao
Eugenio
-
die vertikale verschiebung kommt daher, dass der text den taktstrich überlappt
jetzt kommt die frage, warum du \hspace #20 verwendest - ist das ein ausweichversuch oder muss der text zwingend so notiert werden?
du könntest \textLengthOn verwenden oder \center-column oder das \hspace nur bei der untersten zeile oder …
Eluze
-
Hallo Eluze,
ich habe probiert, es geht einfach nicht :(
Ich poste mal den Code mit den richtigen Text:
\version "2.16.2"
\language "deutsch"
#(set-global-staff-size 15)
Rap = \relative c' {
R1^\markup {
\column {
"Wer meinen Zauber nicht mag,"
"der mag mich nicht..."
}
}
R1^\markup {
\column {
"Wer meinen Zauber nicht liebt,"
"der liebt mich nicht..."
}
}
R1^\markup {
\column {
"Die Menschen haben keine Ahnung mehr"
"von diesen Dingen"
"Deshalb müssen wir ihnen Magie und"
"Liebe zurückbringen!"
}
}
R1
}
\score {
\new Staff {
\override Staff.StaffSymbol #'line-count = #1
\clef "percussion"
\Rap
}
\layout {
indent = 0
ragged-right = ##f
}
}
Das Resultat siehst du im Anhang (pdf-File).
Und das was im möchte (ebenfalls als Anhang) ist in jpeg-File (mit GIMP bearbeitet).
Die 4 Zeilen müssen nach dem Taktstrich kommen, linksbündig, so tief wie die andere, und über die zwei Takte sein (deswegen kommt \textLengthOn nicht in Frage).
Auch der Versuch mit \once \override TextScript #'outside-staff-priority = ##f hat nichts gebracht.
\hspace #20 war einfach da, damit der Text nach dem Taktstrich kommt.
Liebe Grüsse
Eugenio
-
Hallo Eugenio,
folgendes scheint zu funktionieren, auch wenn es etwas Gefummel ist. ;)
\version "2.16.2"
\language "deutsch"
myTextLengthOn = {
\override TextScript #'extra-spacing-width = #'(-0.0 . -10)
\override TextScript #'extra-spacing-height = #'(-inf.0 . +inf.0)
}
#(set-global-staff-size 15)
Rap = \relative c' {
\myTextLengthOn
<>^\markup {
\column {
"Wer meinen Zauber nicht mag,"
"der mag mich nicht..."
}
}
R1
<>^\markup {
\column {
"Wer meinen Zauber nicht liebt,"
"der liebt mich nicht..."
}
}
R1
\textLengthOff
<>
^"Liebe zurückbringen!"
-\tweak #'padding #3.5
^\markup {
\column {
"Die Menschen haben keine Ahnung mehr"
"von diesen Dingen"
"Deshalb müssen wir ihnen Magie und"
}
}
R1
R1
}
\score {
\new Staff {
\override Staff.StaffSymbol #'line-count = #1
\clef "percussion"
\Rap
}
\layout {
indent = 0
ragged-right = ##f
}
}
HTH,
Harm
-
hallo Harm
super war gerade dabei meine lösung zu uploaden als deine antwort kam ::)
ich habe eine ähnliche lösung, die ich doch noch poste, weil sie ein paar weniger tweaks braucht:
\version "2.16.2"
\language "deutsch"
#(set-global-staff-size 15)
\layout {
\context {
% \Voice \override TextScript #'font-size = #1
}
indent = 0
ragged-right = ##f
}
Rap = \relative c' {
\textLengthOn
<>^\markup \column {
"Wer meinen Zauber nicht mag,"
"der mag mich nicht..."
}
R1
<>^\markup \column {
"Wer meinen Zauber nicht liebt,"
"der liebt mich nicht..."
}
R1
<>^\markup \column {
"Die Menschen haben keine Ahnung mehr"
"von diesen Dingen"
"Deshalb müssen wir ihnen Magie und"
"Liebe zurückbringen!"
}
R1
<>^\markup \with-color #magenta "that's it!"
R1
}
\score {
\new Staff {
\override Staff.StaffSymbol #'line-count = #1
\clef "percussion"
\Rap
}
}
gruss
Eluze
-
Hallo alle,
in diesem Fall ist das Objekt MultiMeasureRestText! Man bekommt es also mit folgendem Code bewegt:
\once \override MultiMeasureRestText #'extra-offset = #'(x-Wert . y-Wert)
R1^\markup { "Mein Text" }
Gruß, Robert
-
Hallo miteinander!
Also, vor allem ganz herzlichen Dank für eure Mühe! :)
Die Lösung von Harm funktionert super.
Die von Eluze auch, aber der Takt wird so gestreckt, dass der Text Platz hat. Der letzter Takt ist dafür kleiner, und ich brauche den Text auf die zwei Takte (wie im Bild vom gestrigen Post).
Ich bin aber ehrlich: wieso es funktioniert, habe ich (noch) nicht verstanden. Ich werde die Beispiele gut studieren.
Die Antwort von RobUr muss ich noch genau anschauen.
Liebe Grüsse
Eugenio
-
hallo iugin
es ist klar: LilyPond versucht das ganze in eine freigegebene zone einzupassen und ist dabei auch manchmal knausrig, respektive kennt sie nicht alle regeln der ästhetik…
du kannst, um den text des 3. taktes über den 4. takt laufen zu lassen, natürlich \textlengthOff
einschieben (dabei habe ich aber festgestellt dass die takte unterschiedliche längen haben - v.a. der erste ist zu lang.)
man könnte nun hier noch ein \override #'(line-width . 26)
oder so hinzufügen.
für speziellen wünsche braucht es eben speziellen aufwand :(
Eluze
-
Hallo Eluze,
mit \TextLenghtOff funktioniert prima, danke!
für speziellen wünsche braucht es eben speziellen aufwand :(
Ja, es stimmt, und ich danke euch, dass ihr den Aufwand nicht gescheut habt :)
Liebe Grüsse an alle
Eugenio