D-Noten, eine E-Note und eine F-Note,} unabhängig von den
Vorzeichen der Tonart. Mehr Information über den Unterschied
zwischen musikalischem Inhalt und der Präsentation dieses
- Inhalts siehe @ref{Accidentals and key signatures}.
+ Inhalts siehe @rlearning{Accidentals and key signatures}.
@lilypond[fragment,quote,ragged-right,verbatim,relative]
\key d \major
Versetzungszeichen und Vorzeichen können am Anfang etwas verwirrend sein,
da unveränderte Noten je nach Tonart ein Auflösungszeichen bekommen
können (Beispiel). Mehr Information in den Abschnitten @ref{Accidentals}
-oder @ref{Accidentals and key signatures}.
+oder @rlearning{Accidentals and key signatures}.
@lilypond[quote,ragged-right,verbatim,relative=2,fragment]
\key g \major
einfachen Begriffen werden einige Schlüsselkonzepte erklärt. Die Kapitel
sollten hintereinander gelsen werden.
+@c we need to completely rewrite this once GDP is finished. -gp
+@ignore
@itemize @bullet
@item
ist ein vollständiger Index.
@end itemize
+@end ignore
@subheading Program usage
@ref{\NAME\,,,lilypond-big-page}
@end macro
+@macro rlearning{NAME}
+@vindex \NAME\
+@ref{\NAME\,,,lilypond-learning-big-page}
+@end macro
+
@end ifset
@ref{\NAME\,,,lilypond}
@end macro
+@macro rlearning{NAME}
+@vindex \NAME\
+@ref{\NAME\,,,lilypond-learning}
+@end macro
+
@end ifclear
@ref{\NAME\,,,lilypond}
@end macro
+@macro rlearning{NAME}
+@vindex \NAME\
+@ref{\NAME\,,,lilypond-learning}
+@end macro
+
+@c to get decent German quotes in `foo'
@c to get decent German quotes in `foo'
@macro q{TEXT}
@html
@ref{\NAME\,,,lilypond}
@end macro
+@macro rlearning{NAME}
+@vindex \NAME\
+@ref{\NAME\,,,lilypond-learning}
+@end macro
+
+@macro usermanref{NAME}
@macro usermanref{NAME}
@inforef{\NAME\}
@end macro
erst einmal verwirrend sein. In diesem Kapitel soll darum ein Teil
dieser Strukturen dargestellt werden, vieles aber zur Vereinfachung
auch weggelassen werden. Für eine komplette Beschreibung des Eingabeformats
-siehe @ref{File structure}.
+siehe @ruser{File structure}.
Die meisten Beispiele in diesem Handbuch sind kleine Schnipsel, wie
etwa dieser:
gut @code{melodie}, @code{GLOBAL},
@code{rechteHandklavier}, oder @code{foofoobarbaz} heißen. Für mehr
Information siehe
-@ref{Saving typing with identifiers and functions}.
+@ruser{Saving typing with identifiers and functions}.
Eine komplette Definition des Eingabeformats findet sich
-im Kapitel @ref{File structure}.
+im Kapitel @ruser{File structure}.
@node Score is a single musical expression
@section Score is a single musical expression
-Im vorigen Kapitel, @ref{How LilyPond files work},
+Im vorigen Kapitel, @ruser{How LilyPond files work},
wurde die allgemeine Struktur einer LilyPond-Quelldatei
beschrieben. Aber anscheinend haben wir die wichtigste
Frage ausgelassen, nämlich wie man herausfindet, was nach
@noindent
Vielleicht wollen Sie noch einmal
-@ref{Music expressions explained} überfliegen. In diesem
+@ruser{Music expressions explained} überfliegen. In diesem
Kapitel wurde gezeigt, wie sich große musikalische Ausdrücke
aus kleinen Teilen zusammensetzen. Noten können zu Akkorden
verbunden werden usw. Jetzt gehen wir aber in die andere Richtung
@noindent
Nochmal: der Bezeichner kann aller möglicher Text sein. Die
Einschränkungen sind in
-@ref{File structure} genau aufgelistet.
+@ruser{File structure} genau aufgelistet.
Beim Schreiben (oder Lesen) einer @code{\score}-Umgebung
sollte man langsam und sorgfältig vorgehen. Am besten fängt
Tiefer gehende Information darüber, wie Stimmauszüge und Partituren
erstellt werden, finden sich im Notationshandbuch, siehe
-@ref{Orchestral music}.
+@ruser{Orchestral music}.
Das Setzen der Variablen, die das Verhalten von LilyPond beeinflussen
(@q{properties}), wird im Kapitel
-@ref{Changing context properties on the fly} besprochen.
+@ruser{Changing context properties on the fly} besprochen.
@qq{ly snippet} Abschnitt steht, und in eine Text-Datei
einfügen, haben Sie schon eine fertige Vorlage für weitere
Experimente. Wenn Sie auf diese Weise lernen, lohnt es
-sich wohl, das Kapitel @ref{Cheat sheet} auszudrucken oder
+sich wohl, das Kapitel @ruser{Cheat sheet} auszudrucken oder
ein Lesezeichen dafür im Browser zu setzen. Hier sind die wichtigsten
LilyPond-Befehle zum schnellen Nachschlagen aufgelistet.
@end ifhtml
von LilyPond für diese Übung beibehalten. Die @emph{Ausnahme} ist das h -- in
LilyPond muss man anstelle dessen b schreiben! Das deutsche b dagegen
wird als bes notiert, ein his dagegen würde bis geschrieben. Siehe auch
-Kap. @ref{Accidentals} und @ref{Note names in other languages}, hier wird beschrieben,
+Kap. @ruser{Accidentals} und @ruser{Note names in other languages}, hier wird beschrieben,
wie sich die deutschen Notennamen benutzen lassen.
@c end addition
@quotation
@table @asis
@item Eingabe von Tonhöhen und -dauern
-siehe @ref{Pitches} und @ref{Durations}.
+siehe @ruser{Pitches} und @ruser{Durations}.
@item Pausen
-siehe @ref{Rests}.
+siehe @ruser{Rests}.
@item Taktangeben und andere Zeitangaben
-siehe @ref{Time signature}.
+siehe @ruser{Time signature}.
@item Notenschlüssel
-siehe @ref{Clef}.
+siehe @ruser{Clef}.
@end table
@end quotation
Weitere Vorschläge zur Konstruktion von Quelldateien
finden sich in
-@ref{Suggestions for writing LilyPond files}.
+@ruser{Suggestions for writing LilyPond files}.
@node How to read the tutorial
@subsection How to read the tutorial
-Wie wir in @ref{Working on text files} gesehen haben, muss LilyPond-Code
+Wie wir in @ruser{Working on text files} gesehen haben, muss LilyPond-Code
immer von @{ @} Zeichen oder einem @code{\relative c'' @{ ... @}} umgeben sein.
Im Rest dieses Handbuchs werden die meisten Beispiel allerdings darauf
verzichten.
@node Relative note names
@subsection Relative note names
-Wie wir im Kapitel @ref{Simple notation} gesehen haben,
+Wie wir im Kapitel @ruser{Simple notation} gesehen haben,
errechnet LilyPond die Tonhöhe der folgenden Noten bezüglich
der vorhergehenden.@footnote{Es gibt noch einen anderen Eingabemodus
-für Tonhöhen, siehe @ref{Absolute note names}, aber für die Praxis ist
+für Tonhöhen, siehe @ruser{Absolute note names}, aber für die Praxis ist
der relative Modus viel einfacher und sicherer zu benutzen.} Wenn
keine
zusätzlichen Oktavierungszeichen (@code{'} und @code{,}) gesetzt sind,
@quotation
@table @asis
@item Relativer Oktaveintrag
-siehe @ref{Relative octaves}.
+siehe @ruser{Relative octaves}.
@item Oktaveüberprüfung
-siehe @ref{Octave check}.
+siehe @ruser{Octave check}.
@end table
@end quotation
stammt aus der Tradition der germanischen Sprachen und ist also für
deutsche Benutzer kein Problem. Es ist aber möglich, die Namen anderer
Sprachen zu benutzen, siehe
-@ref{Note names in other languages}.}
+@ruser{Note names in other languages}.}
@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
cis1 ees fisis, aeses
Transposition
sehr viel einfacher gemacht wird und der Druck von Versetzungszeichen nach
unterschiedlichen Regeln erfolgen kann. Siehe
-@ref{Automatic accidentals} für einige Beispiele, wie Vorzeichen
+@ruser{Automatic accidentals} für einige Beispiele, wie Vorzeichen
anhand von unterschiedlichen Regeln ausgegeben werden können.
@moreinfo
@quotation
@table @asis
@item Versetzungszeichen
-siehe @ref{Accidentals} und @ref{Automatic accidentals}.
+siehe @ruser{Accidentals} und @ruser{Automatic accidentals}.
@item Tonart (Vorzeichen)
-siehe @ref{Key signature}.
+siehe @ruser{Key signature}.
@end table
@end quotation
@quotation
@table @asis
@item Bindebögen
-siehe @ref{Ties}.
+siehe @ruser{Ties}.
@item Legatobögen
-siehe @ref{Slurs}.
+siehe @ruser{Slurs}.
@item Phrasierungsbögen
-siehe @ref{Phrasing slurs}.
+siehe @ruser{Phrasing slurs}.
@end table
@end quotation
@quotation
@table @asis
@item Artikulationszeichen
-siehe @ref{Articulations}.
+siehe @ruser{Articulations}.
@item Fingersatz
-siehe @ref{Fingering instructions}.
+siehe @ruser{Fingering instructions}.
@item Dynamik
-siehe @ref{Dynamics}.
+siehe @ruser{Dynamics}.
@end table
@end quotation
@quotation
@table @asis
@item Automatische Balken
-siehe @ref{Automatic beams}.
+siehe @ruser{Automatic beams}.
@item Manuelle Balken
-siehe @ref{Manual beams}.
+siehe @ruser{Manual beams}.
@end table
@end quotation
@quotation
@table @asis
@item Vorschläge, Verzierungen
-siehe @ref{Grace notes},
+siehe @ruser{Grace notes},
@item Triolen
-siehe @ref{Tuplets},
+siehe @ruser{Tuplets},
@item Auftakt
-siehe @ref{Partial measures}.
+siehe @ruser{Partial measures}.
@end table
@end quotation
@node Multiple staves
@subsection Multiple staves
-Wie wir in @ref{Music expressions explained} gesehen haben, sind
+Wie wir in @ruser{Music expressions explained} gesehen haben, sind
LilyPond-Quelldateien aus musikalischen Ausdrücken konstruiert.
Wenn die Noteneingabe mit parallelen Ausdrücken beginnt, werden
mehrere Notensysteme erstellt. Es ist aber sicherer und einfacherer
Die Taktangabe, die in einem einzelnen System angegeben wird, wirkt
sich auf alle anderen System aus.@footnote{Dies kann natürlich auch geändert
werden, siehe
-@ref{Polymetric notation} für Einzelheiten.} Die
+@ruser{Polymetric notation} für Einzelheiten.} Die
Angabe der Tonart in einem System hingegen beeinflusst @emph{nicht} die
Tonart der anderen Systeme.
die durch eine geschweifte Klammer verbunden sind (Akkolade).
Um ein derartiges
Notensystem zu erstellen, geht man ähnlich vor wie in dem Beispiel
-aus @ref{Multiple staves}, nur dass der gesamte Ausdruck jetzt in
+aus @ruser{Multiple staves}, nur dass der gesamte Ausdruck jetzt in
eine @code{PianoStaff}-Umgebung eingefügt wird.
@example
@moreinfo
@quotation
-Siehe @ref{Piano music}.
+Siehe @ruser{Piano music}.
@end quotation
@node Combining notes into chords
@moreinfo
@quotation
-Siehe @ref{Basic polyphony}.
+Siehe @ruser{Basic polyphony}.
@end quotation
@moreinfo
@quotation
Mehr Möglichkeiten, wie etwa mehrere Strophen unter der gleichen
-Melodie, werden im Kapitel @ref{Vocal music} gezeigt.
+Melodie, werden im Kapitel @ruser{Vocal music} gezeigt.
@end quotation
@moreinfo
@quotation
Eine vollständige Liste der Akkordbezeichnungen und andere
-Optionen für das Layout sind im Kapitel @ref{Chords} zu
+Optionen für das Layout sind im Kapitel @ruser{Chords} zu
finden.
@end quotation
Wenn die Datei übersetzt wird, werden Titel- und Komponisteneinträge
über der Musik ausgegeben. Mehr Information über die Titelei findet
-sich im Kapitel @ref{Creating
+sich im Kapitel @ruser{Creating
titles}.
Wenn Sie diese Übung absolviert haben, sollten Sie am
besten ein paar Stücke selber notieren. Beginnen Sie mit
-den @ref{Templates} und fügen Sie einfach Ihre Noten
+den @ruser{Templates} und fügen Sie einfach Ihre Noten
dazu. Wenn Sie irgendetwas brauchen, das nicht in der
Übung besprochen wurde, schauen Sie sich den Abschnitt Alles
- über die Notation an, angefangen mit @ref{Basic notation}.
+ über die Notation an, angefangen mit @ruser{Basic notation}.
Wenn Sie für ein Instrument oder Ensemble Noten schreiben
wollen, für das es keine Vorlage gibt, schauen Sie ins
-Kapitel @ref{Extending the templates}.
+Kapitel @ruser{Extending the templates}.
Wenn Sie ein paar kurze Stücke notiert haben, lesen Sie
den Rest des Lernhandbuchs (Kapitel 3--5). Natürlich können
@node How to read the manual
@subsection How to read the manual
-Wie wir im Kapitel @ref{How to read the tutorial} gesehen haben,
+Wie wir im Kapitel @ruser{How to read the tutorial} gesehen haben,
haben wir bei vielen Beispielen in der Übung die
@code{\relative c''}-Umgebung weggelassen.
mit der dieses Notenbild erstellt worden ist.
Mehr Information über die Struktur des restlichen Benutzerhandbuches
-erhalten Sie im Abschnitt @ref{About this manual}.
+erhalten Sie im Abschnitt @ruser{About this manual}.
kommt, verändert wird, müssen Sie den Befehl @code{\once} weglassen.
Um die Veränderung zu stoppen, benutzen Sie den Befehl @code{\revert}.
Das wird genauer im Kapitel
-@ref{The \override command} erklärt.
+@ruser{The \override command} erklärt.
@lilypond[quote,fragment,ragged-right,verbatim,relative=3]
% temporary code to break this example:
@seealso
-@ref{The \override command}, @ref{Common tweaks}.
+@ruser{The \override command}, @ruser{Common tweaks}.
@node Fixing overlapping notation
@section Fixing overlapping notation
-Im Kapitel @ref{Moving objects} wurde gezeigt, wie man Texte
+Im Kapitel @ruser{Moving objects} wurde gezeigt, wie man Texte
(@code{TextScript}-Objekte) verschiebt. Mit der gleichen
Technik können auch andere Objektklassen verschoben werden,
@code{TextScript} muss dann nur durch den Namen des Objektes
Um den Objektnamen zu finden, siehe die @q{@strong{see also}}-Hinweise
am Ende des jeweiligen Abschnittes. Zum Beispiel am Ende des
-Kapitels @ref{Dynamics} findet sich:
+Kapitels @ruser{Dynamics} findet sich:
@quotation
@seealso
@code{MetronomeMark}-Objekt vom @code{Score}-Kontext gesetzt
wird, werden Veränderungen innerhalb des @code{Voice}-Kontextes
nicht berücksichtigt. Genauere Details im Kapitel
-@ref{Constructing a tweak}.
+@ruser{Constructing a tweak}.
@cindex extra-offset
@cindex zusätzlicher Abstand
Wenn man versucht, das Layout zu verändern, kommt einem
der Befehl @code{annotate-spacing} zu Hilfe. Mit diesem
Befehl erhält man die Werte von verschiedenen Abstandsbefehlen
-ausgedruckt, mehr Information im Kapitel @ref{Displaying spacing}.
+ausgedruckt, mehr Information im Kapitel @ruser{Displaying spacing}.
Anhand dieser Angaben kann dann entschieden werden, welche
Werte verändert werden müssen.
@item
Die horizontalen Abstände können mit der
@code{SpacingSpanner}-Eigenschaft verändert werden. Siehe
-@ref{Changing horizontal spacing} für Einzelheiten.
+@ruser{Changing horizontal spacing} für Einzelheiten.
@lilypond[verbatim,quote]
\score {
@code{\override TextScript #'extra-offset = ( 1 . -1)} benutzt. Aber
noch mehr Einfluss auf die Formatierung kann durch den Einsatz von
Scheme genommen werden. Eine vollständige Erklärung findet sich in der
- @ref{Scheme tutorial} und den
-@ref{Interfaces for programmers}.
+ @ruser{Scheme tutorial} und den
+@ruser{Interfaces for programmers}.
Scheme kann benutzt werden, um einfach nur Befehle zu @qq{überschreiben}
(@code{\override}):
vor einem Jahr verwendet hat. Auch @code{convert-ly} benötigt die
Versionsnummer.
-@item @strong{Benutzen Sie Überprüfungen}: @ref{Bar check},
-@ref{Octave check} und
-@ref{Barnumber check}. Wenn Sie hier und da diese Überprüfungen
+@item @strong{Benutzen Sie Überprüfungen}: @ruser{Bar check},
+@ruser{Octave check} und
+@ruser{Barnumber check}. Wenn Sie hier und da diese Überprüfungen
einfügen, finden Sie einen möglichen Fehler weit schneller. Wie oft
aber
ist @qq{hier und da}? Das hängt von der Komplexität der Musik ab. Bei
eines Tages umarrangieren wollen.
@item @strong{Trennen Sie Einstellungen} von den eigentlichen
-Noten. Siehe auch @ref{Saving typing with identifiers and functions}
+Noten. Siehe auch @ruser{Saving typing with identifiers and functions}
und
-@ref{Style sheets}.
+@ruser{Style sheets}.
@end itemize
Sie jedes System, nachdem Sie es fertig kopiert haben. Mit dem
@code{showLastLength}-Befehl können Sie den Übersetzungsprozess
beschleunigen. Siehe auch
-@ref{Skipping corrected music}.
+@ruser{Skipping corrected music}.
@item Definieren Sie @code{mBreak = @{ \break @}} und schreiben Sie
@code{\mBreak} in der Quelldatei immer dann, wenn im Manuskript
@end example
@item @strong{Trennen Sie Einstellungen von den Noten}. Diese
-Empfehlung wurde schon im Abschnitt @ref{General suggestions} gegeben,
+Empfehlung wurde schon im Abschnitt @ruser{General suggestions} gegeben,
aber für große Projekte ist es unumgänglich. Muss z. B. die
Definition für @code{fdannp} verändert werden, so braucht
man es nur einmal vorzunehmen und die Noten in der Geigenstimme,
Die Benutzung von Variablen hilft auch, viele Schreibarbeit zu
vermeiden, wenn die Eingabesyntax von LilyPond sich verändert
-(siehe auch @ref{Updating old files}). Wenn nur eine einzige
+(siehe auch @ruser{Updating old files}). Wenn nur eine einzige
Definition (etwa @code{\dolce}) für alle Dateien verwendet wird
-(vgl. @ref{Style sheets}), muss nur diese einzige Definition
+(vgl. @ruser{Style sheets}), muss nur diese einzige Definition
verändert werden, wenn sich die Syntax ändert. Alle Verwendungen
des Befehles beziehen sich dann auf die neue Definition.
@section Style sheets
Die Ausgabe, die LilyPond erstellt, kann sehr start modifiziert
-werden, siehe @ref{Tweaking output} für Einzelheiten. Aber wie
+werden, siehe @ruser{Tweaking output} für Einzelheiten. Aber wie
kann man diese Änderungen auf eine ganze Serie von Dateien
anwenden? Oder die Einstellungen von den Noten trennen? Das
Verfahren ist ziemlich einfach.
Hier ist ein Beispiel. Es ist nicht schlimm, wenn Sie nicht auf
Anhieb die Abschnitte mit den ganzen @code{#()} verstehen. Das
-wird im Kapitel @ref{Advanced tweaks with Scheme} erklärt.
+wird im Kapitel @ruser{Advanced tweaks with Scheme} erklärt.
@lilypond[quote,verbatim,ragged-right]
mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
@end lilypond
Es treten einige Probleme mit überlappenden Symbolen auf. Sie
-werden beseitigt mit den Tricks aus dem Kapitel @ref{Moving objects}.
+werden beseitigt mit den Tricks aus dem Kapitel @ruser{Moving objects}.
Aber auch die @code{mpdolce} und @code{tempoMark}-Defintiionen
können verbessert werden. Sie produzieren das Ergebnis, das
gewünscht ist, aber es wäre schön, sie auch in anderen Stücken
Zeile finden.
Eine andere nützliche Technik zur Problemlösung ist es,
-@ref{Minimal examples} zu konstruieren.
+@ruser{Minimal examples} zu konstruieren.
@node Minimal examples