Text und Akkorde (ohne Noten)

Begonnen von Bastiane, Montag, 11. März 2019, 12:35

« vorheriges - nächstes »

Manuela

#15
Zitat von: Bastiane am Freitag, 15. März 2019, 10:58
Ich habe das mit dem Markup hier jetzt so verstanden, dass unter die Akkorde der entsprechende Text kommt, den ich hier in das Markup schreibe. Wenn ich das richtig verstehe, gehört alles, was in {} oder "" steht, zu einem Markup. Du benutzt nun aber sowohl die Klammern als auch die Anführungsstriche. Muss das sein? Haben die beiden doch verschiedene Bedeutungen?

Ich werde mal versuchen, die verschiedenen Varianten auseinander zu klauben.

Besteht das Markup nur aus einem Ausdruck, kann man den auch zwischen Hochkomma schreiben und die {} weglassen. Ich schreibe die geschwungenen Klammern aus Gründen der Übersichtlichkeit und Änderungsfreundlichkeit dazu, auch wenn sie nicht unbedingt notwendig sind.

Nachfolgend ein Beispiel zur Demonstration der Unterschiede:
\markup "text"
\markup { text }
\markup text % ist gleichwertig mit den Varianten oberhalb

\markup "text1 text2"
\markup { text1 text2 } % noch kein Unterschied zu sehen
%\markup text1 text2 %% führt zu einer Fehlermeldung
oberen
\markup \box "text1 text2"
\markup \box { "text1 text2" } % kein Unterschied zum vorigen Markup
\markup { \box text1 text2 }   % text1 ist eingerahmt, text2 nicht
\markup \box { text1 text2 }   % text1 ist eingerahmt, text2 ist extra eingerahmt


Zitat von: Bastiane am Freitag, 15. März 2019, 10:58
Und dann bin ich noch nicht sicher, was es bedeutet, den Text in dieselbe bzw. eine neue Zeile zu schreiben. Ich dachte zuerst, dass jede Zeile, also jedes neue Markup, genau den Text zu einem Akkord angibt. Aber dann bräuchte ich doch keine Akkordlängen?

Ich hoffe, ich verzapfe jetzt keinen Blödsinn (weil ich bisher auch nicht so genau darüber nachgedacht habe,  weil ich bisher Liedtext immer mit \lyricsto zugeordnet habe).

Stell dir vor, die einzelnen Silben in einem Lyrics-Context wären Noten, wobei als eine Silbe alles zählt, was zwischen doppelten Hochkomma oder innerhalb eines Markups steht. (Wenn kein Notenwert angegeben wird, nimmt Lilypond den Standardwert, nämlich Viertel.) Die Akkorde und Silben werden von Lilypond von der horizontalen Raumaufteilung her genauso zusammengefügt, wie es passieren würde, wenn du Einzelnoten mit den entsprechenden Werten in einen Staff schreibst. Also der Akkord-Context wäre eine Stimme, und der Text wäre eine 2. Stimme, nur halt nicht mit Noten, sondern mit Texten.

Ich weiß nicht, ob das verständlich ist bzw wie ich es ausdrücken soll.

Der Anfang der ersten Strophe (ich verwende den Text der 1. Strophe, weil ich ihn besser zuordnen kann) würde dann so aussehen:

Verszwei = \lyricmode {
  Heute2 hier, mor4 -- gen dort,2 \break
  bin4 kaum da2 muss4 ich fort,2 \break
  hab4 mich nie -- mals2
  des4 -- we2 -- gen4 be -- klagt.2
}


Du schreibst an das Ende jeder Silbe den genauen Notenwert der Melodie, Pausen müssen durch entsprechend längere Notendauern überbrückt werden. Wörter ohne Akkorde brauchst du nicht auf einzelne Silben aufteilen (zB. "Heute" ganz am Anfang), so kannst du den Akkordtext aus dem Leadsheet verwenden.

Zitat von: Bastiane am Freitag, 15. März 2019, 10:58
Und wie ergeben sich neue Zeilen? Ich möchte die Zeilenumbrüche der Strophen auch sinnvoll haben und nicht einfach da, wo es gerade hinpasst.

\break einfügen (genau wie du es bei Noten machen würdest). Oder einen eigenen Context definieren, der nur dazu da ist, die Zeilenumbrüche zu erzeugen.

Zitat von: Bastiane am Freitag, 15. März 2019, 10:58
Zudem kam noch das Problem auf, dass bei den weiteren Strophen der Refrain nicht mehr explizit erwähnt wird, sodass dort auch nur die Akkorde von der Strophe stehen müssen. Ich dachte mir, dass ich dann einfach zwei Akkordfolgen definiere, eine für die Strophe und eine für den Refrain und dann bei der 2. und 3. Strophe nur die für die Strophe nehme. Allerdings gibt das dann ein Problem bei der ersten Strophe, da ich dort beide nehmen muss. Irgendwie habe ich es hinbekommen, dass ich dann beide hintereinander hatte, aber da fehlte dann plötzlich der Text des Refrains, obwohl ich für diesen, wie auch für die Melodie, auch zwei Variablen definiert hatte.

Ich vermute mal, das ist ein Problem mit der Klammernsetzung, um Näheres sagen zu können, müsste ich den Code dazu sehen.

Aber wie ich bereits geschrieben habe, deine Problemstellung ist ungewöhnlich, dafür gäbe es grundsätzlich geeignetere Werkzeuge. Ich denke, es ist knifflig, doch mit Lilypond machbar, erfordert halt ein wenig Schweiß ;)

Dir auch ein schönes Wochenende, im Laufe dieser Diskussion ist mir wieder einmal einiges klar geworden  :)
Danke für eure Hilfe
viele Grüße
-- Manuela

Bastiane

Hallo Manuela!
Leider habe ich heute erst gesehen, dass deine Antwort auf der nächsten Seite gelandet ist.  :-\ Naja.
Meine beiden Strophen sehen jetzt so aus:
Verszwei = \lyricmode {
  \markup  { Dass man } \markup { mich kaum vermisst } 1 \break
  \markup  { schon nach }
  \markup  { Tagen ver }
  \markup  \line { \null \hspace #-1 gisst. } \break
  \markup  { wenn ich längst wieder }
%hier soll kein Zeilenumbruch hin, sondern "anderswo" soll direkt hinter "Wieder" aber mit dem Am Akkord
  \markup  { anderswo }
  \markup  { bin, } \break
  \markup  { stört und }
  \markup  { kümmert mich nicht } \break
  \markup  { vielleicht }
  \markup  { bleibt mein Ge}
  \markup  \line { \null \hspace #-1 sicht } \break
%Hier stimmt es nicht mehr: "doch" soll in die nächste Zeile, allerdings soll der Akkord erst auf "ein'" kommen
  \markup  { doch dem }
  \markup  { ein- oder }
  \markup  { andr'en im }
  \markup  { Sinn. }
}

Versdrei = \lyricmode {
  \markup  { Fragt mich } 2 \markup { einer, warum } 1 \break
%hier soll zwischen "so" und "bin" nur ein normales Leerzeichen, irgendwie ist der Abstand hier aber größer als normal?
  \markup  { ich so }
  \markup  { bin, bleib' ich }
  \markup  { stumm } \break
  \markup  { denn die }
  \markup  { Antwort  darauf fällt mir }
  \markup  { schwer. } \break
  \markup  { Denn was }
  \markup  { neu ist wird alt, } \break
  \markup  { und was }
  \markup  { gestern noch }
  \markup  { galt, } \break
%"stimmt" soll zwar in die nächste Zeile jedoch ohne den Akkord dazu!
  \markup  { stimmt schon }
  \markup  { heut' oder }
  \markup  { morgen nicht }
  \markup  { mehr. }
}


Ein bisschen stehen meine Probleme schon in den Kommentaren.
Es sieht so aus:
(Wie kann ich denn ein Bild direkt hier einfügen?)


Und hat diese Einrückungsfehler und kurz vor Schluss die Akkordfehler. Dort gehört eigentlich Am zu  "ein'" bzw. "heut'", G zu "andren" bzw. "morgen" und C zu "Sinn" bzw. "mehr".

Meine ganze Datei hänge ich nochmal an, denn es war ja auch noch das Problem mit den Akkorden bzw. dem Text in der ersten Strophe. Komischerweise steht da jetzt kein Text mehr im Refrain, und die Akkorde sind irgendwie unter den Noten gelandet. Weißt du, warum?

Viele Grüße
Bastiane

Manuela

#17
Ich fürchte, du hast einige Verschlimmbesserungen vorgenommen  ;)

Dein angehängtes Beispiel kompiliert nur mit Warnmeldungen, die zu lesen sich lohnt ;)

BTW, benutzt du einen Editor wie Frescobaldi? Das kann ich nur dringend empfehlen.

Der Reihe nach:
116:21: Warnung: Voice »melody« kann nicht gefunden werden

   \new Lyrics
                    \lyricsto melody


d.h. die Definition von "melody" kann von Lilypond nicht erkannt werden.

Du hast folgende Konstruktion:

\new Staff
    {
      \new Voice=melody \melodie
      \new Voice=melody \melodieRef
    }


Das kann nicht gutgehen, du hast die Voice "melody" doppelt definiert und verwirrst Lilypond dadurch. Wenn du beide Stimmen parallel haben willst, musst du folgendes schreiben:

    \new Staff
    <<
      \new Voice=melody \melodie
      \new Voice=melody \melodieRef
    >>


Das ergibt aber auch nicht wirklich Sinn. Wenn du \melodie und \melodieRef hintereinander hängen willst, musst du folgendes machen:

\new Staff
    <<
      \new Voice=melody { \melodie
      \melodieRef }
    >>


Die spitzen Klammern wären in diesem Fall nicht notwendig, weil es nur eine Stimme gibt. Wenn es eine 2. Stimme geben soll, kann sie innerhalb der spitzen Klammern gesetzt werden.

Wenn ich es recht verstanden habe, willst du folgendes erreichen:
\score {
  <<
    \new ChordNames { \harmonies \harmoniesRef }
    \new Staff \new Voice=melody { \melodie \melodieRef }
    \new Lyrics \lyricsto melody { \Verseins \VerseinsRef }
  >>
}


Nun zum Vers. Ich schreibe hier nur den Beginn der 2. Strophe auf, weil ich auf Anhieb nicht weiß, wie die Silben den Akkorden zuzuordnen sind. Wenn du die Verse direkt unter die Noten schreibst so wie die erste Strophe, dann findest du dich wahrscheinlich besser zurecht, zumindest gilt das für mich.

Verszwei = \lyricmode {
  Dass4 man4 mich2 kaum4 ver4 -- misst,2 \break
  schon4 nach4 Ta2 -- gen4 ver4 -- gisst.4 \break
  wenn4 ich4 längst4 wieder4 anderswo4 bin,4 \break
}


Die Zeilenlänge solltest du auf 75mm erhöhen, dann geht es sich mit den Wörtern pro Zeile aus. Es scheint, dass man hinter jeder Silbe explizit eine Notendauer schreiben muss.
Danke für eure Hilfe
viele Grüße
-- Manuela

Bastiane

Hi!
Danke nochmal.
Habe gerade nur kurz Zeit, deswegen nur zwei kleine Fragen:
Ich bin jetzt soweit:

Verszwei = \lyricmode {
  \set stanza = #"2."
  Dass4 man4 mich2 kaum4 vermisst,2. \break
  schon4 nach4 Ta2 -- gen4 ver4 -- gisst,2 \break
  wenn4 ich4 längst4 wieder2. an4 -- derswo2. bin,1. \break
  stört4 und4 küm2 -- mert4 mich4 nicht2 vielleicht2 bleibt2 mein4 Ge4 -- sicht2 \break
  doch4 dem4 ein-2 oder2 and'ren2. im4 Sinn.4 \break
}

Versdrei = \lyricmode {
  \set stanza = #"3."
  Fragt4 mich4 ei2 -- ner4 warum,2. \break
  ich4 so4 bin,2 bleib'4 ich4 stumm,2 \break
  denn4 die4 Ant4 -- wort2 da4 -- rauf4 fällt2 mir4 schwer.1. \break
  Denn4 was4 neu2 ist,4 wird4 alt,2 \break
  und4 was4 ges2 -- tern4 noch4 galt,2 \break
  stimmt4 schon4 heut'2 oder2 mor2 -- gen4 nicht4 mehr.1 \break
}


Und verstehe nicht, warum in der dritten Strophe das Wort "einer" mit Trennungsstrich geschrieben wird. In der zweiten Strophe bei "Tagen" habe ich die gleiche Taktverteilung auf einem mehrsilbigen Wort, und es wird nicht getrennt geschrieben.  :-\

Und noch eine kleine Frage:
Kann man die Strophenbezeichnung auch "vor" die Strohpe schreiben, also dass der Rest der Strophe etwas eingerückt wird? Falls ja, wie?

Viele Grüße
Bastiane

P.S.: Ich glaub', ich bin dem Ziel sehr nahe.  :) :D 8)

Manuela

Zitat von: Bastiane am Dienstag, 19. März 2019, 11:20
Und verstehe nicht, warum in der dritten Strophe das Wort "einer" mit Trennungsstrich geschrieben wird. In der zweiten Strophe bei "Tagen" habe ich die gleiche Taktverteilung auf einem mehrsilbigen Wort, und es wird nicht getrennt geschrieben.  :-\

bin,1.
erzeugt eine Länge von 6/4, und das ist wahrscheinlich nicht das, was du willst. Ich empfehle, Taktüberprüfungen einzubauen

Verszwei = \lyricmode {
  \set stanza = #"2."
  \partial 2
  Dass4 man4 | mich2 kaum4 ver4 -- misst,2 \break etc.


Zitat von: Bastiane am Dienstag, 19. März 2019, 11:20
Und noch eine kleine Frage:
Kann man die Strophenbezeichnung auch "vor" die Strohpe schreiben, also dass der Rest der Strophe etwas eingerückt wird? Falls ja, wie?

Ja, kann man, dazu muss man etwas programmieren. Das hat Harm dankenswerterweise für mich gemacht, das Programm findest du hier ab %%% Liedverse Formatierung
Zitat von: Bastiane am Dienstag, 19. März 2019, 11:20
P.S.: Ich glaub', ich bin dem Ziel sehr nahe.  :) :D 8)

Dran bleiben, es wird!  :)
Danke für eure Hilfe
viele Grüße
-- Manuela

Bastiane

Hallo Manuela!
Nochmal zu deinem etwas längeren Post von gestern:
ZitatIch fürchte, du hast einige Verschlimmbesserungen vorgenommen  ;)
Dank deiner Hinweise konnte ich das heute morgen dann sehr leicht korrigieren.  ;D Vielen Dank!

Nun zu meinen Problemen von heute morgen:
ZitatUnd verstehe nicht, warum in der dritten Strophe das Wort "einer" mit Trennungsstrich geschrieben wird. In der zweiten Strophe bei "Tagen" habe ich die gleiche Taktverteilung auf einem mehrsilbigen Wort, und es wird nicht getrennt geschrieben.  :-\
Hierauf hast du geantwortet:
Zitatbin,1.
erzeugt eine Länge von 6/4, und das ist wahrscheinlich nicht das, was du willst. Ich empfehle, Taktüberprüfungen einzubauen
Doch, genau das wollte ich, und es geht auch gar nicht hier drum, sondern um die erste Zeile der dritten Stophe. Ich habe jetzt nochmal alle Takte überprüft und soweit möglich (bei den Wörtern ohne Akkorde habe ich taktübergreifende Längen, die ich nicht aufteilen wollte) Taktstriche eingefügt. Ich finde keinen Fehler. Wenn ich "Tagen" aus der 2. Strophe mit "einer" aus der dritten Strophe vertausche, bleibt das Problem bestehen: Tagen steht richtig dort, einer steht weiterhin mit Bindestrich. Ich denke also nicht, dass dort irgendwo ein Taktfehler vorliegt. Woran könnte es aber sonst liegen? Hat irgendwas bei "ei" oder "ner" noch eine andere Bedeutung? Dass es irgendwie als etwas anderes interpretiert wird?

Die beiden Strophen sehen jetzt übrigens so aus:

Verszwei = \lyricmode {
  \set stanza = #"2."
  Dass4 man4 | mich2 kaum4 vermisst,2. \break
  schon4 nach4 | Ta2 -- gen4 ver4 -- | gisst,2 \break
  wenn4 ich4 | längst4 wieder2. | an4 -- derswo2. | bin,1. \break
  stört4 und4 | küm2 -- mert4 mich4 | nicht2 \break
  vielleicht2 | bleibt2 mein4 Ge4 -- | sicht2 \break
  doch4 dem4 | ein-2 oder2 | and'ren2. im4 | Sinn.1 \break
}

Versdrei = \lyricmode {
  \set stanza = #"3."
  Fragt4 mich4 | ei2 -- ner4 warum,2. \break
  ich4 so4 | bin,2 bleib'4 ich4 | stumm,2 \break
  denn4 die4 | Ant4 -- wort2 da4 -- | rauf4 fällt2 mir4 schwer.1. \break %| schwer.1. \break
  Denn4 was4 | neu2 ist,4 wird4 | alt,2 \break
  und4 was4  | ges2 -- tern4 noch4 | galt,2 \break
  stimmt4 schon4 | heut'2 oder2 | mor2 -- gen4 nicht4 | mehr.1 \break
}


Ein weiteres Problem:
Ich habe die Breite der beiden Strophen schon auf 95mm erweitert (Schrittweise, und das war das erste, was für die 2. Strophe gepasst hatte), und die 3. Zeile der 3. Strophe passt immer noch nicht. Seltsamerweise sieht es aber so aus, als wäre noch genug Platz in dieser Zeile.
Ich habe dort auch ein bisschen rumprobiert und die fehlenden Buchstaben erst gelöscht und dann schrittweise wieder hinzugefügt. Komischerweise passt es, wenn man in der 3. Zeile der 3. Strophe
  denn4 die4 | Ant4 -- wort2 da4 -- | rauf4 fällt2 mir4 schwer.1 \break %| schwer.1. \break
eingibt, also den Punkt hinter der 1 weglässt (im Kommentar dahinter ist er noch vorhanden - das war die Stelle, wo ich ausprobiert habe). Dann ist die Dauer aber zu kurz und die folgenden Akkorde kommen nicht auf die richtigen Silben. Auch ist der Text in dieser Zeile dann etwas seltsam verteilt (siehe Bild).

ZitatBTW, benutzt du einen Editor wie Frescobaldi? Das kann ich nur dringend empfehlen.
Ich weiß nicht mehr, warum ich mich anfangs dagegen entschieden hatte, nach deinem Hinweis nun habe ich in weniger als 5 Minuten Frescobaldi installiert und benutze es jetzt. Ist schön einfach und schnell.  :D
Allerdings verstehe ich die Fehlermeldungen nicht - er gibt mir zwei Taktüberprüfungsfehler:
ZitatC:/Users/pape/Desktop/Chris/Lieder/test ohne Akkorde7.ly:38:5: Warnung: Taktüberprüfung gescheitert bei: 1/2
s2
    | c1 | s | f | c | s | a:m | g | s | c| s | f | c | a:m | g | c | s

C:/Users/pape/Desktop/Chris/Lieder/test ohne Akkorde7.ly:72:16: Warnung: Taktüberprüfung gescheitert bei: 1/2
  Fragt4 mich4
               | ei2 -- ner4 warum,2. \break
die ich nicht verstehe. Das Lied hat einen Auftakt - ich meine, mit meiner Taktangabe
Zitat\time 2/2 \partial 2
die ich mir irgendwo anfangs rausgesucht hatte, hätte ich das angegeben. Wieso sind dann hier Fehler?

Ich hoffe, du hast noch ein paar Antworten für mich.   :o
Viele Grüße
Bastiane

P.S.: Mit dem Einrücken der Strophennummer beschäftige ich mich später...


harm6

#21
Hallo,

ich bin diesem thread nur mit 'nem halben Auge gefolgt, aber vielleicht hilft:


\version "2.19.82"

chrds =
  \chordmode {
    s2 c1  s  f  c  s  a:m  g  s  c s  f  c  a:m  g  c  s
  }

Verszwei =
  \lyricmode {
    foo4 foo4  foo2 foo4 foo -- bar,2 \break
    foo4 foo4  foo2 -- bar4 foo4 -- bar,2 \break
    foo4 foo4  foo4 foo2 -- bar4  foo4 -- bar2 -- buzz4 foo,1. \break
    foo4 foo4  foo2 -- bar4 foo4 foo2 \break
    foo4 -- bar  foo2 foo4 foo4 -- bar2 \break
    foo4 foo4  foo-2 foo4 -- bar foo2 -- bar4 foo4 foo.1.
  }

Versdrei =
  \lyricmode {
    foo4 foo4  foo2 -- bar4 foo4 -- bar,2 \break
    foo4 foo4  foo,2 foo'4 foo4  foo,2 \break
    foo4 foo4  foo4 -- bar2 foo4 -- bar4 foo2 foo4 foo.1. \break
    foo4 foo4  foo2 foo,4 foo4  foo,2 \break
    foo4 foo4  foo2 -- bar4 foo4  foo,2 \break
    foo4 foo4  foo'2 foo4 -- bar foo2 -- bar4 foo4  foo.1.
  }

generalLayout =
  \layout {
    indent = 0
    ragged-right = ##t
    \context {
      \Score
      \override SpacingSpanner.spacing-increment = 0
      \omit BarNumber
    }
    \context {
      \Lyrics
      \override VerticalAxisGroup.staff-affinity = -1
      \override LyricText.self-alignment-X = #-1
    }
  }
 
stropheIIChordsScore = 
  \markuplist
    \score-lines {
      <<
      \new ChordNames \chrds
      \new Lyrics \Verszwei
      >>
      \layout {
        \generalLayout
        \context {
          \Lyrics
          instrumentName = \markup \fontsize #-1 \bold "2."
        }
      }
    }
 
stropheIIIChordsScore = 
  \markuplist
    \score-lines {
      <<
      \new ChordNames \chrds
      \new Lyrics \Versdrei
      >>
      \layout {
        \generalLayout
        \context {
          \Lyrics
          instrumentName = \markup \fontsize #-1 \bold "3."
        }
      }
    }

\markup
  \override #'(baseline-skip . 6) %% adjust to taste
  \fill-line {
    \column \stropheIIChordsScore
    \column \stropheIIIChordsScore
  }


HTH,
  Harm

EDIT
Liedtext anonymisiert

Manuela

#22
Harm, danke, wie immer Retter in der Not  :)

An die Möglichkeit mit instrumentName habe ich gar nicht gedacht, die Variante mit deinem Scheme-Programm hätte eh nicht funktioniert, weil es sich um einen Lyrics-Context und nicht um ein Markup handelt  :-[

Harm, meinst du nicht, dass das was fürs LSR wäre? Die Notation von Gesang mit Akkorden wird für Gitarrenspieler besonders interessant sein, die Lösung dafür kommt mir letztlich nicht so kompliziert vor (nach mehreren umständlichen Ansätzen meinerseits).
Danke für eure Hilfe
viele Grüße
-- Manuela

Bastiane

Hallo zusammen!
Ich habe zwar den Unterschied nicht verstanden, aber mit der Version von Harm funktioniert es.  :) ;) :D ;D 8) Vielen Dank.
Ich musste ein bisschen rumprobieren, hatte auch noch eine andere Lilypondversion installiert, aber jetzt habe ich es geschafft, alles zusammenzufügen (siehe Anhang). Für dieses Lied könnte man es wohl so lassen, ich wüsste aber noch gerne, wo ich hier jetzt die Abstände der unteren Strophen einstellen kann, also wo wird eingestellt, wo die Strophen links beginnen und rechts enden und wie groß der Zwischenraum zwischen beiden ist. Ich könnte mir nämlich vorstellen, dass es bei anderen Liedern anders besser passt.
Vielleicht könnte auch jemand noch ein paar Kommentare einfügen, was die einzelnen Teile machen - die "einfachen" Sachen habe ich schon kommentiert. Und falls noch grobe Fehler irgendwo drin sind (ich bin auch nicht sicher, ob die Reihenfolge der einzelnen Teile so Sinn macht), könntet ihr das auch korrigieren? Dann hätte ich eine "perfekte" Grunddatei. :) (Und muss mich nur noch damit beschäftigen, wie ich das Ganze in Latex bekomme und ein Liederbuch draus mache...  :-[)
Viele Grüße und vieeeeeelen Dank!!!
Bastiane

Manuela

#24
Ich vermute, dieses Statement macht den Unterschied:
\override SpacingSpanner.spacing-increment = 0

Wie man den seitlichen Abstand beeinflusst, würde mich auch interessieren, ich habe noch keine (einfache) Möglichkeit gefunden, weder
\override #'(padding . x) noch \override #'(x-shift . x) bewirkt etwas. Durch Einfügen von
\null \hspace #-19 habe ich etwas bewirkt, aber elegant ist das nicht.

Bastiane, ich weiß nicht, wie genau du dein Liederbuch aufbauen willst und was du haben willst (Inhaltsverzeichnis vermute ich mal, Deck- und Zwischenblätter, Schmuckblätter etc.). Ich habe eine Variante entworfen, die nur mit Lilypond arbeitet und ohne Latex auskommt. Vll. geht es ja mit Latex eleganter und einfacher.
Danke für eure Hilfe
viele Grüße
-- Manuela

harm6

Zitat von: Manuela am Mittwoch, 20. März 2019, 05:07
Harm, meinst du nicht, dass das was fürs LSR wäre? Die Notation von Gesang mit Akkorden wird für Gitarrenspieler besonders interessant sein, die Lösung dafür kommt mir letztlich nicht so kompliziert vor (nach mehreren umständlichen Ansätzen meinerseits).

Ich denke, das es das Beste ist was momentan möglich ist (zumindest das Beste was mir einfällt), aber es gibt auch ungelöste Probleme:
(1)
Schau mal genau hin an die Stellen wo ein LyricHyphen eingegeben ist. Im pdf ist immer eine Lücke wahrnehmbar. Manchmal mehr manchmal weniger auffällig, je nach sich ergebender Buchstabenkombination.
Da weiß ich keine Lösung. Es sei denn man verzichtet komplett auf score-markup und macht alles mit den anderen markup-commands. Das wäre aber sehr viel weniger automatisiert.
(2)
Auch gibts Probleme mit Ligaturen, bei Af -- fe wird es nie eine geben, es sei denn man definiert eine Funktion, die alle getrennten Silben zusammenfasst (ähnlich wie \concat). Aber dann hat man wieder das Problem ein Akkordsymbof auf die 2. Silbe zu setzen, würde wieder nur manuell gehen ...

Du kannst das Snippet gerne ins LSR setzen, ich würd' es auch durchwinken, auch wenn ich nicht vollständig überzeugt bin...
Es lohnt sich aber herauszufinden, ob der Liedtext gemeinfrei ist ;)

Gruß,
  Harm

harm6

Zitat von: Manuela am Mittwoch, 20. März 2019, 19:18
Ich vermute, dieses Statement macht den Unterschied:
\override SpacingSpanner.spacing-increment = 0

Ja, LyricText, der nicht mittels \lyricsto einem anderen context zugeordnet ist, hat eigene Notenwerte. Die werden dann auch beachtet und somit unterliegt das spacing der sehr aufwändigen und ausgefeilten spacing-engine.
Als user hat man ein paar Möglichkeiten einzugreifen, z.B.
SpacingSpanner.spacing-increment ist ein Wert an dem sich (u.a.) das spacing verschieden langer Notenwerte orientiert.
Setzt man es auf null, so wird jeder Abstand erstmal null, es sei denn es kommt etwas anderes mit ins Spiel.
Bei LyricText ist es LyricText.word-space.

Gruß,
  Harm

harm6

Zitat von: Bastiane am Mittwoch, 20. März 2019, 11:59
ich wüsste aber noch gerne, wo ich hier jetzt die Abstände der unteren Strophen einstellen kann, also wo wird eingestellt, wo die Strophen links beginnen und rechts enden und wie groß der Zwischenraum zwischen beiden ist. Ich könnte mir nämlich vorstellen, dass es bei anderen Liedern anders besser passt.

Ein minimal: \markup \fill-line { left right }
Hier ist gar nichts eingestellt!
Vielmehr wird das Argument für \fill-line, die markup-list { left right } bearbeitet. In einem ersten Schritt werden die stencils für die einzelnen markups berechnet und dann so über die default-line-width verteilt, daß der erste stencil am line-width-Anfang beginnt, der letzte am line-width-Ende aufhört.
Falls die markup-list nur ein Element hat, wird es zentriert. Bei mehr als zweien wird das erste und letzte platziert wie beschrieben, die anderen dann dazwischen.
Da kann es natürlich Kollisionen geben.

Man kann die line-width beeinflussen: \override #'(line-width . <whatever>), aber sie beginnt dann immer noch ganz links, endet aber am angegebenen Wert.

Aber es geht:

\markup
  \box
  \fill-line {
    \box
    \override #'(line-width . 30)
    \fill-line {
      "left"
      "right"
    }
  }




Oder man nimmt andere markup-(list-)commands, da gibts viel.
Oder man macht eins selbst.
Oder man fragt hier (sobald man weiß was genau man will)
;)


Gruß,
  Harm

harm6

Zitat von: harm6 am Mittwoch, 20. März 2019, 21:58
Es lohnt sich aber herauszufinden, ob der Liedtext gemeinfrei ist

Wenn man hier Titel und Autor eingibt erhält man Treffer.
In soweit gehe ich davon aus, daß der Text dem copy-right unterliegt und deshalb meinen Beitrag anonymisiert.

Gruß,
  Harm

Manuela

Zitat von: harm6 am Mittwoch, 20. März 2019, 21:58
Du kannst das Snippet gerne ins LSR setzen, ich würd' es auch durchwinken, auch wenn ich nicht vollständig überzeugt bin...
Es lohnt sich aber herauszufinden, ob der Liedtext gemeinfrei ist ;)

Ich würde natürlich einen anderen Text nehmen, es gibt genug Beispiele in der Dokumentation. "foo bar baz" finde ich als Beispiel eher grauslich, würde ich so nicht verwenden ;)
Danke für eure Hilfe
viele Grüße
-- Manuela