[ << lilypond starten ] | [Anfang][Inhalt][Index] | [ Dateien mit convert-ly aktualisieren >> ] |
[ < Fehlermeldungen ] | [ Nach oben : lilypond starten ] | [ Noten laufen aus der Seite heraus > ] |
1.4 Häufige Fehlermeldungen
Die Fehlermeldungen, die unten beschrieben werden, treten of auf, es ist jedoch nicht immer einfach, die Urache zu finden. Wenn der Fehler einmal verstanden ist, kann er einfach behoben werden.
[ << lilypond starten ] | [Anfang][Inhalt][Index] | [ Dateien mit convert-ly aktualisieren >> ] |
[ < Häufige Fehlermeldungen ] | [ Nach oben : Häufige Fehlermeldungen ] | [ Ein zusätzliches System erscheint > ] |
Noten laufen aus der Seite heraus
Noten, die rechts aus der Seite herauslaufen oder sehr komprimiert aussehen, liegen in fast allen Fällen an einer falschen Notendauer einer Note, die dazu fürt, dass die letzte Note im Takt über die Taktgrenze hinwegdauert. Es ist nicht falsch, wenn die letzte Note eines Taktes über den Takt hinausdauert, weil einfach angenommen wird, dass sie im nächsten Takt fortgesetzt wird. Aber wenn eine längere Sequenz dieser überhängenden Noten auftritt, können die Noten sehr gedrängt aussehen oder über den Seitenrand fließen, weil die automatische Zeilenumbruchsfunktion einen Umbruch nur am Ende eines vollständigen Taktes einfügen kann, also wenn alle Noten zum Ende des Taktstriches auch wirklich aufhören.
Achtung: Eine falsche Dauer kann dazu führen, dass Zeilenumbrüche nicht möglich sein und die Zeile entweder sehr gedrängt dargestllt wird oder über den Seitenrand fließt.
Die falsche Dauer kann einfach gefunden werden, wenn Taktstrichüberprüfung eingesetzt wird, siehe Takt- und Taktzahlüberprüfung.
If you actually intend to have a series of such carry-over measures you will need to insert an invisible bar line where you want the line to break. For details, see Taktstriche.
Ein zusätzliches System erscheint
Wenn Kontext nicht explizit mit \new
oder
\context
erstellt werden, werden sie vom Programm erstellt,
sobald ein Befehl angetroffen wird, der im aktuellen Kontext nicht
funktioniert. In einfachen Partituren ist diese automatische
Erstellung sehr nützlich und die meisten Beispiele der LilyPond-Handbücher
benutzen diese Schreiberleicherterung. Manchmal jedoch kann es
vorkommen, dass durch die automatische Erstellung von Systemen aufeinmal
unerwartete Notensysteme erstellt werden. Beispielsweise könnte man
annehmen, dass folgendes Beispiel alle Notenköpfe in dem Notensystem
rot macht, aber als Resultat hat man zwei Systeme, während die
Notenköpfe immernoch schwarz im unteren System erscheinen.
\override Staff.NoteHead.color = #red \new Staff { a' }
Das liegt daran, dass kein Staff
-Kontext existiert, wenn
der \override
-Befehl verarbeitet wird, sodass ein System
für diesen Befehl erstellt wird. Dann aber erstellt \new Staff
noch ein zusätzliches System, wo die Noten gesetzt werden. Die
richtige Schreibweise wäre:
\new Staff { \override Staff.NoteHead.color = #red a' }
Ein zweites Beispiel zeigt, dass ein \relative
-Befehl innerhalb
von \repeat
zwei Systeme erstellt, wobei der zweite etwas verschoben
ist. Das liegt daran, dass \repeat
zwei \relative
-Umgebungen
erstellt, die jede implizit einen Staff
- und Voice
-Kontext
erstellen.
\repeat unfold 2 { \relative { c'4 d e f } }
Indem man die Voice
-Kontexte explizit erstellt, kann das Problem
umgangen werden.
\new Voice { \repeat unfold 2 { \relative { c'4 d e f } } }
Offensichtlicher Fehler in ../ly/init.ly
Verschiedene seltsame Fehlermeldungen können über Syntax-Fehler in ‘../ly/init.ly’ auftauchen, wenn die Eingabedatei nicht richtig formuliert ist, wenn sie etwa nicht richtig passende Klammerpaare oder Anführungszeichen enthält.
Der üblichste Fehler ist das Fehlen einer geschweiften Klammer
(}
) am Ende der score
-Umbgebung. Die Lösung ist hier
klar: überprüfen Sie, ob die score
-Umgebung richtig beendet
wurde. Die richtige Struktur einer Eingabedatei wird beschrieben
in
Wie eine LilyPond-Eingabe-Datei funktioniert.
Ein Editor, der die Klammerpaare automatisch anzeigt, ist sehr
hilfreich, um derartige Fehler zu vermeiden.
Eine weitere übliche Fehlerquelle ist kein Leerzeichen zwischen der
letzten Silbe einer lyrics
-Umgebung und der schließenden
Klammer (}
). Ohne diese Trennung wird die Klammer als
Teil der Silbe gewertet. Es bietet sich immer an, Leerzeichen vor
und hinter jede Klammer zu setzen. Wie wichtig das ist, wenn
Gesangstext eingesetzt wird, siehe
Eingabe von Text.
Diese Fehlermeldung kann auch mit einem fehlenden schließenden Anführungszeichen
("
) auftreten. In diesem Fall sollte die begleitende Fehlermeldung
eine Zeilenzahl angeben, die dicht am Fehler liegt. Die nicht paarigen
Anführungszeichen sind meistens ein oder zwei Zeilen darüber.
Fehlermeldung Ungebundene Variable %
Diese Fehlermeldung erscheint am Ende der Kommandozeilenausgabe oder in der Log-Datei mit einer Meldung „GUILE signalled an error ...“ jedes Mal, wenn eine Scheme-Routine aufgerufen wird, die (falscherweise) ein LilyPond-Kommentar und kein Scheme-Kommentar enthält.
LilyPond-Kommentare befginnen mit dem Prozent-Zeichen (%
) und
dürfen nicht in Scheme-Routinen benutzt werden. Scheme-Kommentare beginnen
mit einem Semikolon (;
).
Fehlermeldung FT_Get_Glyph_Name
Diese Fehlermeldung erscheint in der Kommandozeilenausgabe, wenn die Datei ein Zeichen enthält, das nicht zu ASCII gehört und die Datei nicht in UTF-8-Kodierung gespeichert wurd. Siehe auch Zeichenkodierung.
Warnung über absteigende staff affinities
Diese Warnung erscheint, wenn keine Notensysteme in der Ausgabe vorhanden
sind, wenn etwa nur ChordName
-Kontext und Lyrics
-Kontext
in einem Liedblatt vorhanden sind. Die Warnungen können vermieden werden,
indem man einen der Kontexte als System erscheinen lässt, indem man ihm
zu Beginn hinzufügt:
\override VerticalAxisGroup.staff-affinity = ##f
Zu Einzelheiten siehe „Abstand von Nicht-Notensystemzeilen“ in Flexible vertikale Abstände in Systemgruppen.