Übersicht über die Syntax von Lilypond

Begonnen von bersama, Freitag, 4. Oktober 2024, 10:04

« vorheriges - nächstes »

bersama

Ich setze seit Jahren quasi "immer mal wieder was" mit Lilypond. Habe also mittlerweile ein gutes Grundverständnis, aber muss stets Sachen nachschlagen.

Ich scheitere ständig daran, herauszufinden, wo man bestimmte Befehle/Elemente einsetzen kann, beziehungsweise, was ein bestimmter Befehl/Element wiederum selbst enthalten kann. Ich verwende hauptsächlich die Dokumentation mit dem blauen Linksmenü (Notation Reference), suche aber manchmal auch in der mit dem grünen (Learning Manual) und der mit dem braunen (Usage) Linksmenü. Jetzt bin ich kürzlich noch über eine mit lilanem Linksmenü gestolpert, die ja nicht leicht auffindbar ist, da sie nicht mit den anderen zusammen verlinkt ist.

Im lila Menü kann ich z.B. sehen, dass der \score-Kontext zwar ein SectionLabel kreiren kann, es aber nicht an sich enthalten kann. Oder doch? In der Aufzählung, was dieser Kontext beinhalten kann, steht auch z.B. \layout oder \midi nicht drin, die werden aber ja in den \score-Block geschrieben.

Anscheinend ist es ein Unterschied, ob sich etwas beim Kompilieren tatsächlich in einem logischen Kontext befindet (obwohl es von etwas anderem initiiert worden ist), oder ob sich etwas Dateistruktur-mässig in einem Programmabschnitt befindet.

Das ist erstens verwirrend, und zweitens weiss ich jetzt immer noch nicht, wo ich zweiteres eigentlich nachschlagen kann. Eigentlich sollte man es in der Notation Reference finden, weil "wie wird was notiert?", "NOTATION"-Reference, aber da stehen meistens nur Erklärungen, für was etwas gut ist, und dann ein-zwei Minimalbeispiele, wo alles immer direkt zwischen den Notennamen drinsteht, d.h. keine Info, wie man es in einem IRL-Dokument mit komplizierter Variabelstruktur einsetzt.

Beispiel: Ich habe ganz oft Textzeilen und Tonabfolgen, die ich mehrmals im Lied verwenden möchte, wo sie dann aber ja unterschiedliche Attribute haben. Einmal soll "Tenor:" davor stehen, einmal "Alt:", einmal sollen sie den Liedteil "A" einleiten, einmal "A2". Es kann ja nicht angehen, dass ich die Textzeile/Tonabfolgen mehrmals ausschreiben muss, mit jeweils verschiedenen Markups an der ersten Silbe. Aber als ich die Variable für die Textzeile mit einem Markup versehen habe, ging das nicht.

Beispiel 2: Zwei Stimmen gleichzeitig in einem Staff mit unterschiedlichem Text und Rhytmus, wollte eine davon grau einfärben. Musste letztendlich die Eigenschaften für Hals, Körper, Balken und Pausen je separat einfärben UND dazu ein Markup an jede einzelne Textsilbe für diese Zeile machen. Nur weil ich nicht nachschlagen kann, WO ÜBERALL ich ein Markup eigentlich einsetzen kann und es an der für mich logischen Stelle nicht ging.

Beispiel 3: Umbau der Dateistruktur, vorher ein Volta-Bau pro Stimme um jede Stimme komplett zum Schluss in DEN EINEN Staff im Dokument setzen zu können; nachher MEHRERE Staves im Score, daher den Volta-Bau auf die Staff-Ebene geholt. Da wollte der Volta-Engraver plötzlich nicht mehr die Brackets für die Alternativen Endungen zeichnen. Versuchte, den Engraver wo anders in der Datei hinzutun, aber das resultierte darin, dass ganz unrelatierte Elemente im fertigen PDF an ganz unlogische Stellen gezeichnet wurden.

Es müsste doch möglich sein, wo nachzuschlagen, welche Optionen man überhaupt hat...  :-\  :)

harm6

Hallo bersama,

Zitatmuss stets Sachen nachschlagen.
Nun, das geht uns allen so.

Die manuals (und anderes möglicherweise Interessantes) sind hier gelistet:
https://lilypond.org/doc/v2.24/Documentation/web/manuals

Es wird davon ausgegangen, daß das LM tatsächlich gelesen wird.
Die NR ist ein quasi weiterführendes Nachschlagewerk.
Die Snippets im besonderen bzw das LSR im allgemeinen für (teils ausführlichere) Anwendungsbeispiele.
Das Extending Manual zeigt weiterführende Möglichkeiten, insbesondere hier kommt aber auch das IR ins Spiel.
Das IR ist aber auch von der NR aus oft verlinkt, insoweit ist mir unverständlich, daSs du das Gegenteil schreibst!?

ZitatIm lila Menü kann ich z.B. sehen, dass der \score-Kontext zwar ein SectionLabel kreiren kann, es aber nicht an sich enthalten kann. Oder doch? In der Aufzählung, was dieser Kontext beinhalten kann, steht auch z.B. \layout oder \midi nicht drin, die werden aber ja in den \score-Block geschrieben.

Hier schmeisst du score und Score durcheinander.
score, klein geschrieben, ist der Name eines Befehls, der aus einem musikalischen Ausdruck, sowie möglicherweise einem header und output-definitionen (\layout, \midi) einen bestimmten Ausdruck erzeugt welcher, dann unter Berücksichtigung anderer Elemente (weitere \score, toplevel-markups, header, etc) gedruckt wird und/oder als midi ausgegeben wird.
Score, gross geschrieben, ist der Name eines context. Wie er definiert ist kannst du im wesentlichen in der IR nachschlagen.

Zu den Beipielen kann ich nichts sagen, da sie mir ohne Beipielcode nicht klar genug sind.
Bitte poste Fragen dazu in separaten threads.

ZitatEs müsste doch möglich sein, wo nachzuschlagen, welche Optionen man überhaupt hat.
Falls dir nicht klar ist wie geht was du willst, dann liegt es entweder an deinem mangelnden Verständnis oder an magelhaften manual.
Im erstem Fall frag einfach hier.
Falls letzteres der Fall ist, so schreib hier was du willst (aber nicht mehr als ein Thema per thread) und beschreibe inwieweit, welches manual unklar ist bzw nicht geholfen hat. Nur so können die manuals verbessert werden.
Im Idealfall poste auch einen Verbesserungsvorschlag.

Gruß,
  Harm