@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: ac3dd3ad38528113d97f6a8a7b81751c328f1c36
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Guide, node Updating translation committishes.
@end ignore
-@c \version "2.15.17"
+@c \version "2.19.2"
@c Translators: Till Paala
* Arbeiten an Eingabe-Dateien::
* Ausgabe kontrollieren::
* MIDI-Ausgabe::
+* Musikalische Information extrahieren::
@end menu
Eine Ausgabedefinition, wie @code{\paper}, @code{\midi} und
@code{\layout}. Derartige Definitionen auf oberster Ebene verändern
die globalen Einstellungen für das ganze @qq{Buch}. Wenn mehr
-als eine derartige Definition desselben Typs angegeben wird, hat
-die spätere Vorrang.
+als eine derartige Definition desselben Typs auf oberster Ebene
+angegeben wird, hat die spätere Vorrang. Für Einzelheiten, wie dadurch
+die @code{\layout}-Umgebung beeinflusst wird, siehe
+@ref{Die \layout-Umgebung}.
@item
Ein direkter Scheme-Ausdruck, wie etwa
@{ c'4 d' e'2 @}
@}
@}
+ \layout @{ @}
@}
- \layout @{ @}
- \header @{ @}
+ \paper @{ @}
+ \header @{ @}
@}
@end example
@code{\} beginnt,
@item
nach jeder Einheit, die als Scheme-Ausdruck interpretiert werden,
-also alle Einheiten, die mit @code{#} beginnen.
+also alle Einheiten, die mit@tie{}@code{#} beginnen.
@item
Alle Einheiten von Scheme-Ausdrücken müssen mit Leerzeichen getrennt
werden,
in Gesangstextabschnitten (@code{lyricmode}) müssen Leerzeichen
zwischen alle Ausdrücke in @code{\override}- und @code{\set}-Befehlen
gesetzt werden. Insbesondere müssen um Punkte und Gleichzeitszeichen
-in Befehlen wie @code{\override Score . LyricTex #'font-size = #5)}
+in Befehlen wie @code{\override Score.LyricTex.font-size = #5)}
und vor dem gesamten Befehl geschrieben werden.
@end itemize
Handbuch zum Lernen:
@rlearning{Wie eine LilyPond-Eingabe-Datei funktioniert}.
+Notationsreferenz:
+@ref{The \layout block}.
+
@node Titel
@section Titel
zur Verfügung gestellt.
@menu
-* Titel erstellen::
+* Titel Kopf und Fußzeilen erstellen::
* Eigene Kopf und Fußzeilen sowie Titel::
+* Fußnoten erstellen::
* Verweis auf die Seitenzahlen::
* Inhaltsverzeichnis::
@end menu
-@node Titel erstellen
-@subsection Titel erstellen
-@translationof Creating titles
+@node Titel Kopf und Fußzeilen erstellen
+@subsection Titel, Kopf- und Fußzeilen erstellen
+@translationof Creating titles headers and footers
-Überschriften können für jede @code{\score}-Umgebung erstellt werden, sowohl
-für die gesamte Datei (oder eine @code{\book}-Umgebung) als auch für
-einzelne Buchabschnitte (innerhalb einer @code{\bookpart}-Umgebung).
+@menu
+* Wie funktioniert die Titel-Umgebung?::
+* Standardlayout von book und Partitur Titelumgebungen::
+* Standardlayout von Kopf und Fußzeilen::
+@end menu
-Der Inhalt der Titelei wird aus der @code{\header}-Umgebung übernommen. Die
-@code{\header}-Umgebung eines Buches unterstützt folgende Felder:
-@table @code
-@funindex dedication
-@item dedication
-Die Widmung der Noten, wird auf oben auf der ersten Seite gesetzt.
+@node Wie funktioniert die Titel-Umgebung?
+@unnumberedsubsubsec Wie funktioniert die Titel-Umgebung?
+@translationof Title blocks explained
-@funindex title
-@item title
-Die Überschrift der Noten, wird unter der Widmung zentriert gesetzt.
+@c TODO: figure out how \bookpart titles work
-@funindex subtitle
-@item subtitle
-Untertitel, zentriert unter der Überschrift.
+Es gibt zwei Arten von Titelumgebungen: die Hauptumgebung, die über
+der ersten @code{\score}-Umgebung innerhalb eines @qq{book} notiert
+wird, und individuelle Titelumgebungen, die innerhalb von
+@code{\score} auftreten können. Textfelder für beide Typen werden
+in der @code{\header}-Umgebung eingegeben.
-@funindex subsubtitle
-@item subsubtitle
-Unteruntertitel, zentriert unter dem Untertitel.
+Wenn in dem @qq{book} nur eine einzelne Partitur vorkommt,
+kann die @code{\header}-Umgebung innheralb oder außerhalb der
+@code{\score}-Umgebung geschrieben werden.
-@funindex poet
-@item poet
-Name des Dichters, linksbündig unter dem Unteruntertitel.
+@warning{Denken Sie daran, dass zuerst ein musikalischer Ausdruck
+notiert werden muss, wenn Sie eine @bs{}@code{header}-Umgebung innheralb
+einer @bs{}@code{score}-Umgebung verwenden wollen.}
-@funindex instrument
-@item instrument
-Bezeichnung des Instruments, zentriert unter dem Unteruntertitel.
-Auch oben auf der Seite zentriert (andere als erste Seite).
+@lilypond[papersize=a5,quote,verbatim,noragged-right]
+\header {
+ title = "SUITE I."
+ composer = "J. S. Bach."
+}
-@funindex composer
-@item composer
-Name des Komponisten, rechtsbündig unter dem Unteruntertitel.
+\score {
+ \new Staff \relative g, {
+ \clef bass
+ \key g \major
+ \repeat unfold 2 { g16( d' b') a b d, b' d, } |
+ \repeat unfold 2 { g,16( e' c') b c e, c' e, } |
+ }
+ \header {
+ piece = "Prélude."
+ }
+}
-@funindex meter
-@item meter
-Metrum, linksbündig unter dem Dichter.
+\score {
+ \new Staff \relative b {
+ \clef bass
+ \key g \major
+ \partial 16 b16 |
+ <g, d' b'~>4 b'16 a( g fis) g( d e fis) g( a b c) |
+ d16( b g fis) g( e d c) b(c d e) fis( g a b) |
+ }
+ \header {
+ piece = "Allemande."
+ }
+}
+@end lilypond
-@funindex arranger
-@item arranger
-Name des Bearbeiters/Arrangeurs, rechtsbündig unter dem Komponisten.
+Textfelder der Haupttitelumgebung können in allen @code{\score}-Umgebungen
+gesetzt oder manuell unterdrückt werden:
-@funindex piece
-@item piece
-Bezeichnung des Stückes, linksbündig unter dem Metrum.
+@lilypond[papersize=a5,quote,verbatim,noragged-right]
+\book {
+ \paper {
+ print-all-headers = ##t
+ }
+ \header {
+ title = "DAS WOHLTEMPERIRTE CLAVIER"
+ subtitle = "TEIL I"
+ % Do not display the tagline for this book
+ tagline = ##f
+ }
+ \markup { \vspace #1 }
+ \score {
+ \new PianoStaff <<
+ \new Staff { s1 }
+ \new Staff { \clef "bass" s1 }
+ >>
+ \header {
+ title = "PRAELUDIUM I"
+ opus = "BWV 846"
+ % Do not display the subtitle for this score
+ subtitle = ##f
+ }
+ }
+ \score {
+ \new PianoStaff <<
+ \new Staff { s1 }
+ \new Staff { \clef "bass" s1 }
+ >>
+ \header {
+ title = "FUGA I"
+ subsubtitle = "A 4 VOCI"
+ opus = "BWV 846"
+ % Do not display the subtitle for this score
+ subtitle = ##f
+ }
+ }
+}
+@end lilypond
-@funindex opus
-@item opus
-Bezeichnung des Opus, rechtsbündig unter dem Bearbeiter.
+@seealso
+Notationsreferenz:
+@ref{Die Dateistruktur},
+@ref{Angepasstes Layout für Titelumgebungen}.
-@cindex Seitenumbruch, erzwingen
-@funindex breakbefore
-@item breakbefore
-Hiermit beginnt der Titel auf einer neuen Seite. (Kann die Werte
-##t (wahr) oder ##f (falsch) haben.)
+@node Standardlayout von book und Partitur Titelumgebungen
+@unnumberedsubsubsec Standardlayout von @code{book}- und Partitur-Titelumgebungen
+@translationof Default layout of book and score title blocks
-@funindex copyright
-@item copyright
-Anzeige eines Copyright, zentriert unten auf der ersten Seite. Um das
-Copyright-Symbol zu notieren, siehe @ref{Zeichenkodierung}.
+Dieses Beispiel zeigt alle @code{\header}-(Überschrifen)-Variablen:
-@funindex tagline
-@item tagline
-Zentriert unten auf der letzten Seite. Enthält standardmäßig: @qq{Music
-engraving by LilyPond (@var{version})---www.lilypond.org}
+@lilypond[papersize=a7,quote,verbatim,noragged-right]
+\book {
+ \header {
+ % The following fields are centered
+ dedication = "Dedication"
+ title = "Title"
+ subtitle = "Subtitle"
+ subsubtitle = "Subsubtitle"
+ % The following fields are evenly spread on one line
+ % the field "instrument" also appears on following pages
+ instrument = \markup \with-color #green "Instrument"
+ poet = "Poet"
+ composer = "Composer"
+ % The following fields are placed at opposite ends of the same line
+ meter = "Meter"
+ arranger = "Arranger"
+ % The following fields are centered at the bottom
+ tagline = "tagline goes at the bottom of the last page"
+ copyright = "copyright goes at the bottom of the first page"
+ }
+ \score {
+ { s1 }
+ \header {
+ % The following fields are placed at opposite ends of the same line
+ piece = "Piece 1"
+ opus = "Opus 1"
+ }
+ }
+ \score {
+ { s1 }
+ \header {
+ % The following fields are placed at opposite ends of the same line
+ piece = "Piece 2 on the same page"
+ opus = "Opus 2"
+ }
+ }
+ \pageBreak
+ \score {
+ { s1 }
+ \header {
+ % The following fields are placed at opposite ends of the same line
+ piece = "Piece 3 on a new page"
+ opus = "Opus 3"
+ }
+ }
+}
+@end lilypond
-@end table
+Beachten Sie:
-Hier eine Demonstration der möglichen Felder. Beliebige
-Formatierungsbefehle für Textbeschriftung können in der Titelei
-eingesetzt werden. Siehe hierzu auch @ref{Text formatieren}.
+@itemize
+@item
+Die Instrumentenbezeichnung wird auf jeder Seite wiederholt.
-@c KEEP LY
-@lilypond[quote,verbatim,line-width=11.0\cm]
-\paper {
- line-width = 9.0\cm
- paper-height = 10.0\cm
-}
+@item
+Nur @code{piece} (Stück)uand @code{opus} werden für eine Partitur
+(@code{\score}) gesetzt, wenn die @code{\paper}-Variable
+@code{print-all-headers} auf @code{##f} gesetzt ist (Standardeinstellung).
+
+@item
+@c Is the bit about \null markups true? -mp
+Textfelder, die in einer @code{\header}-Umgebung nicht benutzt werden,
+werden durch @code{\null}-Textbeschriftung ersetzt, sodass sie keinen
+leeren Platz belegen.
+
+@item
+Die Standardeinstellungen von @code{scoreTitleMarkup} platzieren
+die Felder @code{piece} (Stück) und @code{opus} zu den gegenüberliegenden
+Seiten der selben Zeile.
+
+@end itemize
+
+Um die Standardeinstellungen des Layouts zu ändern, siehe
+@ref{Angepasstes Layout für Titelumgebungen}.
+
+@funindex breakbefore
+Mit der Variable @code{breakbefore} innerhalb einer @code{\header}-Umgebung,
+die für sich auch eine @code{\score}-Umgebung darstellt, kann man
+die Hauptüberschriften auf der ersten Seite allein ausgeben, sodass die
+Noten (in der @code{score}-Umgebung definiert) erst auf der folgenden
+Seite beginnen.
+
+@lilypond[papersize=a8landscape,verbatim,noragged-right]
\book {
\header {
- dedication = "mir gewidmet"
- title = \markup \center-column { "Titel erste Zeile" "Titel zweite Zeile, länger" }
- subtitle = "Untertitel"
- subsubtitle = #(string-append "Unteruntertitel LilyPond-Version "
-(lilypond-version))
- poet = "Dichter"
- composer = \markup \center-column { "Komponist" \small "(1847-1973)" }
- texttranslator = "Übersetzer"
- meter = \markup { \teeny "m" \tiny "e" \normalsize "t" \large "r" \huge
-"um" }
- arranger = \markup { \fontsize #8.5 "Be" \fontsize #2.5 "ar" \fontsize
-#-2.5 "be" \fontsize #-5.3 "i" \fontsize #7.5 "ter" }
- instrument = \markup \bold \italic "Instrument"
- piece = "Stück"
+ title = "This is my Title"
+ subtitle = "This is my Subtitle"
+ copyright = "This is the bottom of the first page"
}
-
\score {
- { c'1 }
+ \repeat unfold 4 { e'' e'' e'' e'' }
\header {
- piece = "Stück zwei"
- opus = "Opus1"
+ piece = "This is the Music"
+ breakbefore = ##t
+ }
+ }
+}
+@end lilypond
+
+@seealso
+Handbuch zum Lernen:
+@rlearning{Wie eine LilyPond-Eingabe-Datei funktioniert},
+
+Notationsreferenz:
+@ref{Die Dateistruktur},
+@ref{Angepasstes Layout für Titelumgebungen}.
+
+Installierte Dateien:
+@file{ly/titling-init.ly}.
+
+
+@node Standardlayout von Kopf und Fußzeilen
+@unnumberedsubsubsec Standardlayout von Kopf- und Fußzeilen
+@translationof Default layout of headers and footers
+
+@emph{Kopf-} und @emph{Fußzeilen} sind Textzeilen, die ganz oben
+und ganz unten auf der Seite stehen, unabhängig vom Textbereich eines
+Buches. Sie können mit folgenden @code{\paper}-Variablen kontrolliert
+werden:
+
+@itemize
+@item @code{oddHeaderMarkup}
+@item @code{evenHeaderMarkup}
+@item @code{oddFooterMarkup}
+@item @code{evenFooterMarkup}
+@end itemize
+
+Diese Beschriftungsvariablen können nur auf Textfelder einer
+Haupttitelumgebung (eine @code{\header}-Umgebung auf höchster Ebene, die
+sich auf alle @code{\score}-Umgebungen einer Datei bezieht)
+zugreifen und sind definiert in der Datei @file{ly/titling-init.ly}. In
+den Standardeinstellungen
+
+@itemize
+
+@item
+werden Seitenzahlen automatisch ganz oben links (wenn gerade) oder ganz
+oben rechts (wenn ungerade) gesetzt, beginnend mit der zweiten Seite.
+
+@item
+wird das @code{instrument}-Textfeld auf jeder Seite zentriert, beginnend
+mit der zweiten Seite.
+
+@item
+wird der @code{copyright}-Text unten auf der ersten Zeite zentriert.
+
+@item
+wird der Inhalt von @code{tagline} unten auf der letzten Seite zentriert
+und unterhalb des @code{copyright}-Texts, wenn es sich nur um eine Seite
+handelt.
+
+@end itemize
+
+@lilypond[papersize=a8landscape]
+\book {
+ \score {
+ \relative c' {
+ c4 d e f
}
}
- \markup {
- und jetzt...
+}
+@end lilypond
+
+Die Standardeinstellung von @code{tagline} kann verändert werden,
+indem man ein @code{tagline}-Feld in die @code{\header}-Umgebung auf
+höchster Ebene schreibt.
+
+@lilypond[papersize=a8landscape,verbatim]
+\book {
+ \header {
+ tagline = "... music notation for Everyone"
}
\score {
- { c'1 }
- \header {
- piece = "Stück2"
- opus = "Opus2"
+ \relative c' {
+ c4 d e f
}
}
}
@end lilypond
-Wie schon oben gezeigt, können mehrfache @code{\header}-Umgebungen
-eingesetzt werden. Wenn das gleiche Feld in mehreren
-Umgebungen, wird die letzte vorkommende
-Version benutzt. Hier ein kurzes Beispiel:
+Um die @emph{tagline} ganz zu entfernen, wird ihr Inhalb als @code{##f}
+(falsch) definiert.
+
+
+@node Eigene Kopf und Fußzeilen sowie Titel
+@subsection Eigene Kopf- und Fußzeilen sowie Titel
+@translationof Custom headers footers and titles
+
+@c TODO: somewhere put a link to header spacing info
+@c (you'll have to explain it more in NR 4).
+
+@menu
+* Angepasste Textformatierung für Titelumgebungen::
+* Angepasstes Layout für Titelumgebungen::
+* Angepasstes Layout für Kopf und Fußzeilen::
+@end menu
+
+
+@node Angepasste Textformatierung für Titelumgebungen
+@unnumberedsubsubsec Angepasste Textformatierung für Titelumgebungen
+@translationof Custom text formatting for title blocks
+
+Standard-@code{\markup}-Befehle können eingesetzt werden, um jeglichen
+Text in Titeln, Kopf- und Fußzeilen innerhalb der @code{\header}-Umgebung
+zu verändern.
+
+@lilypond[quote,verbatim,noragged-right]
+\score {
+ { s1 }
+ \header {
+ piece = \markup { \fontsize #4 \bold "PRAELUDIUM I" }
+ subtitle = \markup { \italic "(Excerpt)" }
+ }
+}
+@end lilypond
+
+@seealso
+Notationsreferenz:
+@ref{Text formatieren}.
+
+
+@node Angepasstes Layout für Titelumgebungen
+@unnumberedsubsubsec Angepasstes Layout für Titelumgebungen
+@translationof Custom layout for title blocks
+
+@cindex bookTitleMarkup
+@cindex scoreTitleMarkup
+@funindex bookTitleMarkup
+@funindex scoreTitleMarkup
+
+@code{\markup}-Befehle in der @code{\header}-Umgebung sind sinnvoll
+für einfaches Formatieren von Text, aber sie gewähren keine genaue
+Kontrolle über die Positionierung von Titeln. Um die Positionierung
+von Titeltextfeldern vorzunehmen, eignen sich beide oder eine von
+folgenden Variablen (die man in der @code{\paper}-Umgebung einsetzen muss):
+
+@itemize
+@item @code{bookTitleMarkup}
+@item @code{scoreTitleMarkup}
+@end itemize
+
+Die Positionierung von Titeln, wenn die Standardeinstellung dieser
+Variablen benützt werden, wird anhand einem Beispiel gezeigt in
+@ref{Standardlayout von book und Partitur Titelumgebungen}.
+
+Die Standardeinstellungen von @code{scoreTitleMarkup}, wie in der
+Datei @file{ly/titling-init.ly} definiert, sind:
@example
-\header @{
- composer = "Komponist"
-@}
-\header @{
- piece = "Stück"
-@}
-\score @{
- \new Staff @{ c'4 @}
- \header @{
- piece = "Neues Stück" % überschreibt die die vorige Definition
+scoreTitleMarkup = \markup @{ \column @{
+ \on-the-fly #print-all-headers @{ \bookTitleMarkup \hspace #1 @}
+ \fill-line @{
+ \fromproperty #'header:piece
+ \fromproperty #'header:opus
@}
@}
+@}
@end example
-Wenn @code{\header} innerhalb der @code{\score}-Umgebung definiert wird,
-wird normalerweise nur die Information von @code{piece} und @code{opus}
-ausgegeben. Musikalische Ausdrücke innerhalb von @code{\score} müssen
-vor @code{\header} gesetzt werden.
+Dadurch werden die Textfelder @code{piece} (Stück) und @code{opus}
+an den gegenüberliegenden Enden der gleichen Zeile platziert:
-@lilypond[quote,verbatim,line-width=11.0\cm]
+@lilypond[quote,verbatim,noragged-right]
\score {
- { c'4 }
+ { s1 }
\header {
- title = "title" % not printed
- piece = "piece"
- opus = "opus"
+ piece = "PRAELUDIUM I"
+ opus = "BWV 846"
}
}
@end lilypond
-@funindex print-all-headers
+Das folgende Beispiel verändert die Einstellungen von
+@code{scoreTitleMarkup}, sodass das Textfeld @code{piece}
+zentriert wird und in fetter, größerer Schrift erscheint.
-@noindent
-Dieses Verhalten kann verändert werden (sodass alle Angaben aus der
-Überschrift gesetzt werden, wenn sich @code{\header} innerhalb von
-@code{\score} befindet), indem man schreibt:
+@lilypond[papersize=a5,quote,verbatim,noragged-right]
+\book {
+ \paper {
+ indent = 0\mm
+ scoreTitleMarkup = \markup {
+ \fill-line {
+ \null
+ \fontsize #4 \bold \fromproperty #'header:piece
+ \fromproperty #'header:opus
+ }
+ }
+ }
+ \header { tagline = ##f }
+ \score {
+ { s1 }
+ \header {
+ piece = "PRAELUDIUM I"
+ opus = "BWV 846"
+ }
+ }
+}
+@end lilypond
+
+Textfelder, die normalerweise nur im Haupttitel ausgegeben werden,
+können auch in die Titel einzelner Partituren aufgenommen werden,
+indem man @code{print-all-headers} in die @code{\paper}-Umgebung einfügt.
+Ein Nachteil dieser Methode ist, dass Textfelder, die tatsächlich nur
+im Haupttitel erscheinen sollen, manuell für jede Partitur unterdrückt
+werden müssen. Siehe auch @ref{Wie funktioniert die Titel-Umgebung?}.
+
+Um das zu vermeiden, kann das gewünschte Feld zur Definition von
+@code{scoreTitleMarkup} hinzugefügt werden. Im folgenden Beispiel
+wird das Komponistenfeld (@code{composer}) (normalerweise mit
+@code{bookTitleMarkup} assoziiert) zu @code{scoreTitleMarkup}
+hinzugefügt, sodass jede Partitur einen eigenen Komponisten haben kann.
+
+@lilypond[papersize=a5,quote,verbatim,noragged-right]
+\book {
+ \paper {
+ indent = 0\mm
+ scoreTitleMarkup = \markup {
+ \fill-line {
+ \null
+ \fontsize #4 \bold \fromproperty #'header:piece
+ \fromproperty #'header:composer
+ }
+ }
+ }
+ \header { tagline = ##f }
+ \score {
+ { s1 }
+ \header {
+ piece = "MENUET"
+ composer = "Christian Petzold"
+ }
+ }
+ \score {
+ { s1 }
+ \header {
+ piece = "RONDEAU"
+ composer = "François Couperin"
+ }
+ }
+}
+@end lilypond
+
+Es ist auch möglich, eigene Textfelder zu erstellen und dann auf sie
+in der Beschriftungsdefinition zu verweisen:
+
+@lilypond[papersize=a5,quote,verbatim,noragged-right]
+\book {
+ \paper {
+ indent = 0\mm
+ scoreTitleMarkup = \markup {
+ \fill-line {
+ \null
+ \override #`(direction . ,UP) {
+ \dir-column {
+ \center-align \fontsize #-1 \bold
+ \fromproperty #'header:mycustomtext %% User-defined field
+ \center-align \fontsize #4 \bold
+ \fromproperty #'header:piece
+ }
+ }
+ \fromproperty #'header:opus
+ }
+ }
+ }
+ \header { tagline = ##f }
+ \score {
+ { s1 }
+ \header {
+ piece = "FUGA I"
+ mycustomtext = "A 4 VOCI" %% User-defined field
+ opus = "BWV 846"
+ }
+ }
+}
+@end lilypond
+
+@seealso
+Notationsreferenz:
+@ref{Wie funktioniert die Titel-Umgebung?}.
+
+
+@node Angepasstes Layout für Kopf und Fußzeilen
+@unnumberedsubsubsec Angepasstes Layout für Kopf- und Fußzeilen
+@translationof Custom layout for headers and footers
+
+@c can make-header and make-footer be removed from
+@c paper-defaults-init.ly? -mp
+
+@code{\markup}-Befehle in der @code{\header}-Umgebung sind nützlich
+um einfachen Text zu formatieren, erlauben aber keine Kontrolle
+über die Positionierung von Kopf- und Fußzeilen. Um die Positionierung
+der Textfelder zu ändern, eignen sich beide oder eine von
+folgenden Variablen (die man in der @code{\paper}-Umgebung einsetzen muss):
+
+@itemize
+@item @code{oddHeaderMarkup}
+@item @code{evenHeaderMarkup}
+@item @code{oddFooterMarkup}
+@item @code{evenFooterMarkup}
+@end itemize
+
+@cindex Beschriftung mit Bedingung
+@cindex on-the-fly
+@funindex \on-the-fly
+
+Der @code{\markup}-Befehl @code{\on-the-fly} kann eingesetzt werden,
+um Beschriftung anhand einer Bedingung zu Kopf- und Fußzeilentext
+innerhalb der @code{\paper}-Umgebung hinzuzufügen. Hierzu wird folgende
+Syntax eingesetzt:
@example
-\paper@{
- print-all-headers = ##t
+@code{Variable} = @code{\markup} @{
+ ...
+ @code{\on-the-fly} #@var{Prozedur} @var{Beschriftung}
+ ...
@}
@end example
-@cindex Copyright
-@cindex Tagline
+Die @var{Prozedur} wird jedes mal aufgerufen, wenn dar
+@code{\markup}-Befehl, auf den sie sich auswirkt, ausgewertet wird.
+Die @var{Prozedur} sollte nach einer bestimmten Bedingung fragen und
+das @var{Beschriftung}-Argument ausführen (also setzen), wenn diese
+Bedinung wahr ist.
+
+Eine Anzahl von fertigen Prozeduren, um verschiedene Bedinungen zu testen,
+werden bereitgestellt:
+
+@quotation
+@multitable {print-page-number-check-first-----} {should this page be printed-----}
+
+@headitem Prozedurbezeichnung @tab Getestete Bedinung
+
+@item print-page-number-check-first @tab sollte diese Seitenzahl gesetzt werden?
+@item create-page-number-stencil @tab 'print-page-numbers wahr?
+@item print-all-headers @tab 'print-all-headers wahr?
+@item first-page @tab erste Seite im Buch?
+@item (on-page nmbr) @tab Seitenzahl = nmbr?
+@item last-page @tab letzte Seite im Buch?
+@item not-first-page @tab nicht erste Seite im Buch?
+@item part-first-page @tab erste Seite im book part?
+@item part-last-page @tab letzte Seite im book part?
+@item not-single-page @tab Seiten im book part > 1?
+
+@end multitable
+@end quotation
+
+Das folgende Beispiel zentriert die Seitenzahlen unten auf jeder Seite.
+Zuerst werden die Standardeinstellungen von @code{oddHeaderMarkup} und
+@code{evenHeaderMarkup} entfernt, indem sie als @qq{Null}-Beschriftung
+definiert werden. Dann wird @code{oddFooterMarkup} mit zentrierter
+Seitennummer neu definiert. Schließlich erhält @code{evenFooterMarkup}
+die selbe Layoutdefinition wie @code{\oddFooterMarkup}:
-Die Standardfußzeile ist leer mit Ausnahme der ersten Seite, auf der
-das @code{copyright}-Feld aus der @code{\header}-Umgebung eingefügt wird,
-und die letzte Seite, auf der das @code{tagline}-Feld eingefügt wird.
-Der Standardinhalt von @code{tagline} ist @qq{Music engraving by
-LilyPond (@var{version})---www.lilypond.org}. Gut gesetzte Noten werben sehr effektiv
-für LilyPond, darum bitten wir darum, diese Zeile stehen zu lassen,
-wenn es möglich ist.
+@lilypond[papersize=a8,quote,verbatim,noragged-right]
+\book {
+ \paper {
+ print-page-number = ##t
+ print-first-page-number = ##t
+ oddHeaderMarkup = \markup \null
+ evenHeaderMarkup = \markup \null
+ oddFooterMarkup = \markup {
+ \fill-line {
+ \on-the-fly #print-page-number-check-first
+ \fromproperty #'page:page-number-string
+ }
+ }
+ evenFooterMarkup = \oddFooterMarkup
+ }
+ \score {
+ \new Staff { s1 \break s1 \break s1 }
+ }
+}
+@end lilypond
-Ein Titelfeld kann vollständig entfernt werden, indem es auf
-falsch gesetzt wird:
+Verschiedene @code{\on-the-fly}-Bedingungen können mit dem Operator
+@qq{UND} verknüpft werden, beispielsweise bestimmt
@example
-\header @{
- tagline = ##f
- composer = ##f
-@}
+ @code{\on-the-fly #first-page}
+ @code{\on-the-fly #last-page}
+ @code{@{ \markup ... \fromproperty #'header: ... @}}
@end example
+@noindent
+ob es sich um eine einzelne Seite bei der Ausgabe handelt.
-@node Eigene Kopf und Fußzeilen sowie Titel
-@subsection Eigene Kopf- und Fußzeilen sowie Titel
-@translationof Custom headers footers and titles
+@seealso
+Notationsreferenz:
+@ref{Wie funktioniert die Titel-Umgebung?},
+@ref{Standardlayout von book und Partitur Titelumgebungen}.
-Kompliziertere Anpassungen können vorgenommen werden, indem die
-folgenden Variablen innerhalb der @code{\paper}-Umgebung geändert
-werden. Die Init-Datei @file{../ly/titling-init.ly} enthält das
-Standardverhalten.
+Installierte Dateien:
+@file{../ly/titling-init.ly}.
-@table @code
-@funindex bookTitleMarkup
+@node Fußnoten erstellen
+@subsection Fußnoten erstellen
+@translationof Creating footnotes
-@item bookTitleMarkup
-Das ist die Überschrift, die für das gesamte Dokument gilt. Üblicherweise
-wird hier der Komponist und die Überschrift des Werkes genannt.
+Zwei Arten an Fußnoten können erstellt werden: automatische und
+manuelle Fußnoten.
-@funindex scoreTitleMarkup
+@menu
+* Übersicht über Fußnoten::
+* Automatische Fußnoten::
+* Manuelle Fußnoten::
+@end menu
-@item scoreTitleMarkup
-Das ist die Überschrift, die vor jede @code{\score}-Umgebung gesetzt wird.
-Üblicherweise wird hier etwa die Bezeichnung eines Satzes notiert
-(im @code{piece}-Feld).
+@node Übersicht über Fußnoten
+@unnumberedsubsubsec Übersicht über Fußnoten
+@translationof Footnotes overview
-@funindex oddHeaderMarkup
+Automatische Fußnoten erstellen aufsteigende Zahlenverweise, während
+mit manuellen Fußnoten eigene angepasste Verweise erstellt werden
+können. Fußnoten werden normalerweise wie ein @code{\tweak}-Befehl
+an Noten gehängt und können deshalb auch direkt mit den Grobs
+(graphischen Objekten) verknüpft werden, die von den meisten
+musikalischen Elementen und Postelementen erstellt werden. In Fällen, wo
+das nicht funktioniert (etwa bei Taktstrichen und Taktartänderungen, wo
+die Grobs als Folge einer Eigenschaftsänderung erstellt werden), können
+Fußnoten als einzelnstehendes musikalisches Ereigenis ersetllt werden,
+das sich auf alle Grobs eines bestimmten Typs zu einer bestimmten Zeit
+bezieht.
-@item oddHeaderMarkup
-Das ist der Seitenkopf für ungerade Seiten.
+Der vollständige Befehl ist:
-@funindex evenHeaderMarkup
+@example
+\footnote @var{Zeichen} @var{Verschiebung} @var{Grob-Bezeichnung} @var{Fußnote}
+@var{Noten}
+@end example
-@item evenHeaderMarkup
-Das ist der Seitenkopf für gerade Seiten. Wenn undefiniert, wird der
-ungerade Seitenkopf eingesetzt.
+Die Elemente sind folgende:
-Standardmäßig werden die Kopfzeilen so definiert, dass die Seitennummer
-sich außen befindet und das Instrument zentriert gesetzt wird.
+@table @var
+@item
+Zeichen
+ist eine Beschriftung oder Zeichenkette, die das Fußnotenzeichen
+angbit, welches für den Referenzpunkt als auch für die Fußnote
+unten auf der Seite benützt wird. Es kann ausgelassen werden
+(oder durch @code{\default} ersetzt werden); in diesem Fall wird
+eine aufsteigende Zahlenfolge erstellt.
+
+@item Verschiebung (offset)
+ist ein Zahlenpaar wie etwa @samp{#(2 . 1)}, das die X- und Y-Verschiebung
+vom Referenzpunkt aus angibt, wo das Zeichen gesetzt werden soll.
+
+@item Grob-Bezeichnung
+gibt die Grob-Art an, der ein Fußnotenzeichen hinzugefügt werden soll
+(wie etwa @samp{#'Flag}). Wenn sie angegeben wird, wird der entsprechende
+Grob als Referenzpunkt eingesetzt, auch wenn das referenzierte Element
+nicht die @var{Noten} selber sind, sondern ein Grob, der durch sie
+erstellt wird. Das Element kann ausgelassen werden (oder durch
+@code{\default} ersetzt werden); dann wird nur ein direkt erstellter Grob
+mit Fußnote versehen.
+
+@item Fußnote
+Diese Beschriftung oder Zeichenkette bezeichnet den Fußnotentext, der
+am unteren Seitenrand gesetzt werden soll.
+
+@item Noten
+Das ist das Element, ein musikalisches Ereignis oder eine Akkordkonstruktion
+oder ein Post-Ereignis, das die Fußnote erhält. Man kann es nicht auslassen,
+aber man @emph{kann} es durch @code{\default} ersetzten. In diesem Fall
+wird die Fußnote aber nicht an einen bestimmten musikalischen Ausdruck
+angehänt, sondern an einen zeitlichen Moment. In diesem Fall muss man
+zwingend die @var{Grob-Bezeichnung} angeben, um den Grob-Typ auszuwählen, auf
+den sich die Fußnote bezieht (etwa @samp{#'TimeSignature}).
+@end table
-@funindex oddFooterMarkup
+Wie auch mit @code{\tweak} muss dem @code{\footnote}-Befehl @code{-}
+vorangestellt werde,n wenn er an ein Post-Ereignis oder eine
+Artikulation angehängt werden soll, damit der Parser das Ergebnis
+der vorherigen Note oder Pause zuordnen kann.
-@item oddFooterMarkup
-Das ist die Fußzeile für ungerade Seiten.
-@funindex evenFooterMarkup
+@node Automatische Fußnoten
+@unnumberedsubsubsec Automatische Fußnoten
+@translationof Automatic footnotes
-@item evenFooterMarkup
-Das ist die Fußzeile für gerade Seiten. Wenn undefiniert, wird die
-ungerade Fußzeile eingesetzt.
+@cindex Fußnoten, automatisch
-Standardmäßig wird in der Fußzeile auf der ersten Seite das Copyright
-und auf der letzten Seite die Tag-Zeile gesetzt.
+Automatische Fußnoten haben vier Argumente: die @var{(x . y)}-Position des Indikators,
+die optionale @var{Grob-Bezeichnung}, die die Anmerkung erhalten soll,
+die @var{Fußnote}-Beschriftung, die den Inhalt der Fußnote enthält, und
+natürlich die @var{Noten}, welche mit einer Fußnote versehen werden sollen.
-@end table
+Der Befehl @code{\footnote} muss @emph{vor} dem Grob geschrieben
+werden, auf den sich die Fußnote bezieht.
+@c KEEP LY
+@lilypond[verbatim,quote,ragged-right,papersize=a8]
+\book {
+ \header { tagline = ##f }
+ \relative c' {
+ \footnote #'(0.5 . -2)
+ \markup { Die erste Note }
+ a'4 b8
+ \footnote #'(0.5 . 1)
+ \markup { Die dritte Note } Flag
+ e\noBeam c4 d4
+ }
+}
+@end lilypond
-@funindex \paper
-@cindex Kopfzeile
-@cindex Fußzeile
-@cindex Seitenlayout
-@cindex Layout der Seite
-@cindex Titel
-@cindex Überschriften
+Noten in Akkorden stellen keine Schwierigkeit dar:
-Die folgende Definition setzt die Überschrift linksbündig und
-den Komponisten rechtsbündig auf einer einzelnen Zeile:
+@c KEEP LY
+@lilypond[verbatim,quote,ragged-right,papersize=a8]
+\book {
+ \header { tagline = ##f }
+ \relative c' {
+ <
+ \footnote #'(1 . -1.25) "Hier ein C" c
+ \footnote #'(2 . -0.25) \markup { \italic "Ein Es" } es
+ \footnote #'(2 . 3) \markup { \bold "Das ist ein G" } g
+ >1
+ }
+}
+@end lilypond
-@example
-\paper @{
- bookTitleMarkup = \markup @{
- \fill-line @{
- \fromproperty #'header:title
- \fromproperty #'header:composer
- @}
- @}
-@}
-@end example
+@warning {Wenn Fußnoten die selbe vertikale Position haben, werden
+sie von oben nach unten nummeriert.}
-Kopf- und Fußzeile werden mit den Funktionen @code{make-header} und
-@code{make-footer} erstellt, welche in @code{\paper} definiert werden.
-Die Standardimplementationen finden sich in @file{ly/paper-defaults-init.ly} und
-@file{ly/titling-init.ly}.
+Hier noch einige Beispiele von Grobs, die mit Fußnoten
+versehen sind, wobei auch die Position des Fußnotentextes relativ zu
+Tagline und Copyright gezeigt wird.
-Dieses Beispiel zentriert die Seitenzahlen unten auf jeder Seite:
+@c KEEP LY
+@lilypond[verbatim,quote,ragged-right,papersize=a8]
+\book {
+ \header { copyright = \markup { "Copyright 1970" } }
+ \relative c' {
+ a'4-\footnote #'(-3 . 0) \markup { \bold Forte } \f
+ -\footnote #'(0 . 1.5) \markup { Ein Bogen } (
+ b8)-\footnote #'(0 . -2) \markup { Balken } [ e]
+ \single\footnote #'(1 . -1)
+ \markup { \teeny { Das ist ein Hals } } Stem
+ c4
+ \single\footnote #'(0 . 0.5)
+ \markup \italic { Ein warnendes Versetzungszeichen } AccidentalCautionary
+ \footnote #'(1 . 1) "Die Note selber"
+ dis?4-\footnote #'(0.5 . -0.5) \markup \italic { langsamer werden }
+ _"rit."
+ }
+}
+@end lilypond
-@example
-\paper @{
- print-page-number = ##t
- print-first-page-number = ##t
- oddHeaderMarkup = \markup \fill-line @{ " " @}
- evenHeaderMarkup = \markup \fill-line @{ " " @}
- oddFooterMarkup = \markup @{
- \fill-line @{
- \bold \fontsize #3
- \on-the-fly #print-page-number-check-first
- \fromproperty #'page:page-number-string
- @}
- @}
- evenFooterMarkup = \markup @{
- \fill-line @{
- \bold \fontsize #3
- \on-the-fly #print-page-number-check-first
- \fromproperty #'page:page-number-string
- @}
- @}
-@}
-@end example
+Für eine @code{\markup}-Beschriftung auf oberster Ebene braucht man
+den Befehl @code{\auto-footnote}:
+
+@c KEEP LY
+@lilypond[verbatim,quote,ragged-right,papersize=a8]
+\book {
+ \header { tagline = ##f }
+ \markup { \auto-footnote "Eine einfache Melodie" \italic "Von mir" }
+ \relative c' {
+ a'4 b8 e c4 d
+ }
+}
+@end lilypond
+
+
+@node Manuelle Fußnoten
+@unnumberedsubsubsec Manuelle Fußnoten
+@translationof Manual footnotes
+
+@cindex Fußnoten, manuell
+
+Manuell erstellte Fußnoten haben ein zusätzliches erstes Argument
+@var{Zeichen}, das das Fußnotenzeichen erstellt. Im Gegensatz zu
+automatisch erstellten Fußnotenzeichen erscheinen sie nicht unbedingt
+vor dem Fußnotentext unten auf der Seite -- das Herstellen eines visualen
+Zusammenhanges ist dem Setzer überlassen. LilyPond stellt nur ischer, dass
+der zugehörige Text unten auf der selben Seite erscheint.
+
+Davon abgesehen ist die Benutzung identisch mit automatischen Fußnoten.
+
+@c KEEP LY
+@lilypond[verbatim,quote,ragged-right,papersize=a8]
+\book {
+ \header { tagline = ##f }
+ \relative c' {
+ \footnote
+ "1" #'(0.5 . -2)
+ \markup { \italic "1. Die erste Note" }
+ a'4
+ b8
+ \footnote
+ \markup { \bold "2" } #'(0.5 . 1)
+ "2. Die zweite Note"
+ e
+ c4
+ d-\footnote "3" #'(0.5 . -1) "3. Piano" \p
+ }
+}
+@end lilypond
+
+Fußnoten für Akkordnoten werden wie folgt notiert:
+
+@lilypond[verbatim,quote,ragged-right,papersize=a8]
+\book {
+ \header { tagline = ##f }
+ \relative c' {
+ <
+ \footnote "1" #'(1 . -1.25) "1. C" c
+ \footnote
+ \markup { \bold "b" } #'(2 . -0.25) "b. E-flat" es
+ \footnote "3" #'(2 . 3) \markup { \italic "iii. G" } g
+ >1
+ }
+}
+@end lilypond
+
+@warning {Wenn Fußnoten die selbe vertikale Position haben, werden
+sie von oben nach unten nummeriert.}
+
+Hier einige Beispiele manueller Fußnoten, die auch die relative
+Position der Fußnotentexte zu Tagline und Copyright anzeigen:
+
+@c KEEP LY
+@lilypond[verbatim,quote,ragged-right,papersize=a8]
+\book {
+ \header { tagline = ##f }
+ \relative c' {
+ a'4-\footnote
+ \markup { \teeny 1 } #'(-3 . 0)
+ \markup { 1. \bold Forte } \f
+ -\footnote
+ \markup { \teeny b } #'(0 . 1.5)
+ \markup { b. Ein Bogen } (
+ b8)-\footnote
+ \markup { \teeny 3 } #'(0 . -2)
+ \markup { 3. Balken } [
+ e]
+ \single\footnote
+ \markup { 4 } #'(1 . -1)
+ \markup { \bold 4. { Das ist ein Hals } } Stem
+ c4
+ \single\footnote
+ \markup \concat \teeny { "sharp (v)" }
+ #'(0 . 0.5)
+ \markup \italic { v. Ein warndendes Versetzungszeichen } AccidentalCautionary
+ dis?4-\footnote
+ \markup \concat \teeny { "a" } #'(0.5 . -0.5)
+ \markup \italic { a. Langsamer werden } _"rit."
+ \footnote
+ \markup { \teeny \musicglyph #"rests.4" }
+ #'(1.5 . -0.25)
+ \markup { \null } \breathe
+ }
+}
+@end lilypond
+
+Eine @code{\markup}-Beschriftung der höchsten Ebene wird wie folgt
+annotiert:
+
+@c KEEP LY
+@lilypond[verbatim,quote,ragged-right,papersize=a8]
+\book {
+ \header { tagline = ##f }
+ \markup { "Eine einfache Melodie" \footnote "*" \italic "* Von mir" }
+ \relative c' {
+ a'4 b8 e c4 d4
+ }
+}
+@end lilypond
+
+@seealso
+Handbuch zum Lernen:
+@rlearning{Objekte und Schnittstellen}.
+
+Notationsreferenz:
+@ref{Erklärungen in Ballonform},
+@ref{Seitenlayout},
+@ref{Textartige Zeichen},
+@ref{Textarten},
+@ref{Titel}.
+
+Referenz der Interna:
+@rinternals{FootnoteEvent},
+@rinternals{FootnoteItem},
+@rinternals{FootnoteSpanner},
+@rinternals{Footnote_engraver}.
+
+@knownissues
+Mehrere Fußnoten auf einer Seite können ausschließlich übereinander
+gedruckt werden und nicht auf der gleiche Zeile gesetzt werden.
+Fußnoten können nicht an @code{MultiMeasureRests} (mehrtaktige Pause)
+angehängt werden und können mit @code{Staff}-(Notensystem)-,
+@code{\markup}-(Beschriftungs)-Objekten und anderen Fußnoten
+zusammenstoßen. Wenn man den manuellen Fußnotenbefehl einsetzt,
+braucht man in der @code{\paper}-Umgebung den Eintrag
+@code{footnote-auto-number = ##f}.
@node Verweis auf die Seitenzahlen
von @code{\markup}).
@c KEEP LY
-@lilypond[verbatim,line-width=11.0\cm]
+@lilypond[verbatim]
\header { tagline = ##f }
\book {
\label #'ErstePartitur
c'1
}
}
-
\markup { Die erste Partitur fängt auf
Seite \page-ref #'ErstePartitur "0" "?" an.}
\markup { Zeichen A befindet sich auf Seite
(add-toc-item! 'tocActMarkup text))
@end verbatim
-@lilypond[line-width=11.0\cm]
+@lilypond[line-width=10.0\cm]
\header { tagline = ##f }
\paper {
tocActMarkup = \markup \large \column {
Die Zeile zwischen dem Inhalt und der Seitenzahl kann mit einer gepunkteten
Linie gefüllt werden:
-@lilypond[verbatim,quote]
+@lilypond[verbatim,quote,line-width=10.0\cm]
\header { tagline = ##f }
\paper {
tocItemMarkup = \tocItemWithDotsMarkup
@seealso
Installierte Dateien:
-@file{../ly/toc-init.ly}.
+@file{ly/toc-init.ly}.
@funindex \table-of-contents
@funindex \tocItem
@menu
* LilyPond-Dateien einfügen::
* Verschiedene Editionen aus einer Quelldatei::
-* Zeichenkodierung::
-* LilyPond-Notation anzeigen::
+* Sonderzeichen::
@end menu
sodass die Pfadangaben hier nicht relativ zur eingebundenen Datei,
sondern relativ zur Hauptdatei gesetzt werden müssen. Dieses Verhalten
kann jedoch auch verändert werden, indem man lilypond die Option
-@code{-drelative-includes} auf der Kommandozeile zuweist (oder indem
+@option{-drelative-includes} auf der Kommandozeile zuweist (oder indem
man den Befehl @code{#(ly:set-option 'relative-includes #t)} an den
Beginn der Quelldatei schreibt). Mit @code{relative-includes} wird
der Pfad jedes @code{\include}-Befehls als relativ zu der Datei angenommen,
Diese Dateien können verändert werden, aber Änderungen gehen verloren,
wenn eine neue LilyPond-Version installiert wird.
-Eine einfache Beispiele, die die Benutzung von @code{\include} demonstrieren,
+Einige einfache Beispiele, die die Benutzung von @code{\include} demonstrieren,
sind dargestellt in
@rlearning{Partituren und Stimmen}.
@rlearning{Partituren und Stimmen}.
@knownissues
-
Wenn eine Datei eingebunden wird, deren Name einer Datei aus
dem Installationsverzeichnis von LilyPond entspricht, wird die
installierte Datei anstelle der eigenen verwendet.
Notenpassagen und/oder Anmerkungen/Textmarken miteinander auf
verschiedene Weise zu kombinieren. Tag-Marken dagegen werden am
besten eingesetzt, wenn eine von mehreren kurzen alternativen
-Notenabschnitten ausgewählt werden soll. Egal welche Methode am
+Notenabschnitten ausgewählt werden soll und können auch eingesetzt
+werden, um Musikabschnitte an unterschiedlichen Stellen zusammenzufügen.
+
+Egal welche Methode am
Ende eingesetzt wird: Es erleichtert die Arbeit in jedem Fall, wenn
die eigentlichen Noten und die Struktur der Partitur voneinander
getrennt notiert werden -- so kann die Struktur geändert werden,
@cindex Marke
@cindex markierte Noten entfernen
@cindex markierte Noten behalten
+@cindex in markierte Noten einfügen
@funindex \tag
@funindex \keepWithTag
@funindex \removeWithTag
+@funindex \pushToTag
+@funindex \appendToTag
@funindex tag
@funindex keepWithTag
@funindex removeWithTag
+
Der @code{\tag #'@var{TeilA}}-Befehl markiert einen musikalischen
Ausdruck mit der Bezeichnung @var{TeilA}. Ausdrücke, die auf diese
Weise markiert werden, können mit ihrer Bezeichnung später ausgewählt
im Befehl genannten wegfiltert und der zweite Befehl dann auch diesen
eben genannten zusätzlich entfernt.
+Manchmal will man Noten an einem bestimmen Platz in existierenden
+Noten einfügen. Dafür kann entweder @code{\pushToTag} oder
+@code{\appendToTag} benutzt werden, um Material hinter bzw. vor den
+Elementen (@code{elements}) der existierenden Noten einzufügen. Nicht
+alle musikalischen Konstruktionen haben Elemente, aber sequentielle und
+simultane Noten sind ziemlich gute Kandidaten:
+
+@lilypond[verbatim,quote]
+test = { \tag #'here { \tag #'here <<c''>> } }
+
+{
+ \pushToTag #'here c'
+ \pushToTag #'here e'
+ \pushToTag #'here g' \test
+ \appendToTag #'here c'
+ \appendToTag #'here e'
+ \appendToTag #'here g' \test
+}
+@end lilypond
+
+Beide Befehle erhalten einen Tag, das Material, das bei jedem Auftreten
+des Tags eingefügt werden soll und den Ausdruck, der mit dem Tag versehen
+ist. Der Befehl stellt sicher, dass alle Änderungen kopiert werden, sodass
+das ursprüngliche @code{\test} seine Bedeutung behält.
@seealso
Handbuch zum Lernen:
@ref{LilyPond-Dateien einfügen}.
+@node Sonderzeichen
+@subsection sonderzeichen
+@translationof Special characters
+
+@cindex Sonderzeichen
+@cindex Nicht-ASCII-Zeichen
+
+@menu
+* Zeichenkodierung::
+* Unicode::
+* ASCII-Aliase::
+@end menu
+
+
@node Zeichenkodierung
-@subsection Zeichenkodierung
+@unnumberedsubsubsec Zeichenkodierung
@translationof Text encoding
-@cindex Unicode
+
@cindex UTF-8
-@cindex Nicht-ASCII-Zeichen
LilyPond benutzt alle Zeichen, die durch das Unicode-Konsortium
und ISO/IEC 10646 definiert sind. Hiermit wird den Zeichen
\addlyrics { \portuguese }
@end lilypond
+
+@node Unicode
+@unnumberedsubsubsec Unicode
+@translationof Unicode
+
+@cindex Unicode
+
Um einen einzelnen Buchstaben zu notieren, für den die Unicode-Ziffernfolge
bekannt ist, der aber nicht auf der Tastatur zu finden ist, kann
der Befehl @code{\char ##xhhhh} oder @code{\char #dddd} innerhalb einer
}
\addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } }
}
-\markup { "Copyright 2008--2012" \char ##x00A9 }
+\markup { "Copyright 2008--2015" \char ##x00A9 }
@end lilypond
@cindex Copyright-Zeichen
@end example
-@node LilyPond-Notation anzeigen
-@subsection LilyPond-Notation anzeigen
-@translationof Displaying LilyPond notation
+@node ASCII-Aliase
+@unnumberedsubsubsec ASCII-Aliase
+@translationof ASCII aliases
-@funindex \displayLilyMusic
+Eine Liste von ASCII-Befehlen für Sonderzeichen kann
+eingefügt werden:
-Ein musikalischer Ausdruck in LilyPond-Notation kann mit der Funktion
-@code{\displayLilyMusic} angezeigt werden. Der Code
+@lilypond[quote,verbatim]
+\paper {
+ #(include-special-characters)
+}
-@example
-@{
- \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
-@}
-@end example
+\markup "&flqq; – &OE;uvre incomplète… &frqq;"
-@noindent
-etwa wird ausgeben:
+\score {
+ \new Staff { \repeat unfold 9 a'4 }
+ \addlyrics {
+ This is al -- so wor -- kin'~in ly -- rics: –_&OE;…
+ }
+}
-@example
-@{ a,4 cis e fis g @}
-@end example
+\markup \column {
+ "The replacement can be disabled:"
+ "– &OE; …"
+ \override #'(replacement-alist . ()) "– &OE; …"
+}
+@end lilypond
-Normalerweise werden diese Zeilen zusammen mit allen anderen
-Kompilations-Nachrichten auf der Kommandozeile ausgegeben.
-Um sie separat zu speichern und das Ergebnis von @code{\displayLilyMusic}
-weiterzubenutzen,
-kann die Ausgabe mit folgendem Befehl in eine Datei umgeleitet werden:
+Man kann auch eigen Aliase erstellen, entweder global:
-@example
-lilypond file.ly >display.txt
-@end example
+@lilypond[quote,verbatim]
+\paper {
+ #(add-text-replacements!
+ '(("100" . "hundred")
+ ("dpi" . "dots per inch")))
+}
+\markup "A 100 dpi."
+@end lilypond
+
+@noindent
+oder lokal:
+
+@lilypond[quote,verbatim]
+\markup \replace #'(("100" . "hundred")
+ ("dpi" . "dots per inch")) "A 100 dpi."
+@end lilypond
+
+@seealso
+Notationsreferenz:
+@ref{Liste der Sonderzeichen}.
+Installierte Dateien:
+@file{ly/text-replacements.ly}.
@node Ausgabe kontrollieren
werden, indem mehrere derartige Paare definiert werden.
Um diese Funktion auch nutzen zu können, muss LilyPond mit dem
-Parameter @code{-dclip-systems} aufgerufen werden. Die Schnipsel
+Parameter @option{-dclip-systems} aufgerufen werden. Die Schnipsel
werden als EPS ausgegeben und dann zu PDF und PNG konvertiert, wenn
diese Formate auch als Parameter angegeben werden.
zurückbenennen, um wieder nach Feta zu wechseln.
@seealso
-Handbuch zum Lernen: @rlearning{Mehr Information}.
+Handbuch zum Lernen:
+@rlearning{Mehr Information}.
@knownissues
-Gonville kann nicht verwendet werden, um Alte Notation zu setzen.
+Gonville kann nicht verwendet werden, um Alte Notation zu setzen und es
+ist wahrscheinlich, dass neuere Glyphen in späteren Versionen von
+LilyPond nicht in Gonville enthalten sein werden.
Bitte lesen Sie die Webseite des Autoren zu mehr Information hierzu
und zu anderen Einzelheiten, wie auch der Lizenz von Gonville.
realistischere MIDI-Ausgabe mit einem @ref{Artikuliere-Skript}
erzeugt werden.
-Die MIDI-Ausgabe benötigt einen Kanal für jedes System und einen für
-globale Einstellungen. Darum sollte die Quelldatei für eine MIDI-Datei
-nicht mehr als 15 Systeme (oder 14 wenn kein Schlagzeug benützt wird)
-besitzen. Jedes weitere System bleibt stumm.
-
+Die MIDI-Ausgabe benötigt einen Kanal für jedes System und reserviert
+Kanal 10 für Schlagzeug. Es gibt nur 16 MIDI-Kanäle pro Gerät,
+sodass MIDI-Kanäle mehrfach benutzt werden, wenn eine Partitur mehr
+als 15 Notensysteme hat.
@menu
* MIDI-Dateien erstellen::
\score @{
@var{...Noten...}
\midi @{
- \context @{
- \Score
- tempoWholesPerMinute = #(ly:make-moment 72 4)
- @}
+ \tempo 4 = 72
@}
@}
@end example
-Hier wird das Tempo auf 72 Viertelnoten pro Minute definiert. Wenn
-das Tempo auf diese Weise definiert wird, kann keine punktierte
-Note als Einheit angegeben werden. Wenn sie benötigt wird, muss
-man sie in kleinere Einheiten auflösen. Ein Tempo von 90 punktierten
-Viertelnoten pro Minute kann beispielsweise dargestellt werden
-als 270 Achtelnoten pro Minute:
-
-@example
-tempoWholesPerMinute = #(ly:make-moment 270 8)
-@end example
+Hier wird das Tempo auf 72 Viertelnoten pro Minute definiert. @code{\tempo}
+ist eigentlich ein Musikbefehl, der die Eigenschaften während der Interpretation
+der Musik einstellt: im Kontext von Ausgabedefinitionen wie etwa einem
+@code{\midi}-Kontext werden sie neu interpretiert, als ob es sich um
+Kontextmodifikatoren handelte.
@cindex MIDI-Kontextdefinitionen
\bar "|."
@end lilypond
+In Parituren mit mehreren Stimmen funktioniert das Ausschreiben der
+Wiederholungen im MIDI nur richtig, wenn @emph{jede} Stimme vollständig
+notierte Wiederholungsanweisungen enthält.
+
Wenn eine Partitur mit diesem @code{\unfoldRepeats}-Befehl erstellt
wird, ist er notwendig,
zwei @code{\score}-Umgebungen einzurichten: in der einen werden die
\set Staff.midiInstrument = #"flute"
\new Voice \relative c''' {
r2 g\mp g fis~
- fis4 g8 fis e2~
- e4 d8 cis d2
+ 4 g8 fis e2~
+ 4 d8 cis d2
}
}
\new Staff {
>>
\layout {}
\midi {
+ \tempo 2 = 72
\context {
\Score
- tempoWholesPerMinute = #(ly:make-moment 72 2)
midiMinimumVolume = #0.2
midiMaximumVolume = #0.5
}
\set Staff.midiMaximumVolume = #0.9
\new Voice \relative c''' {
r2 g\mp g fis~
- fis4 g8 fis e2~
- e4 d8 cis d2
+ 4 g8 fis e2~
+ 4 d8 cis d2
}
}
\new Staff {
>>
\layout {}
\midi {
- \context {
- \Score
- tempoWholesPerMinute = #(ly:make-moment 72 2)
- }
+ \tempo 2 = 72
}
}
@end lilypond
\set Staff.midiInstrument = #"flute"
\new Voice \relative c''' {
r2 g\mp g fis~
- fis4 g8 fis e2~
- e4 d8 cis d2
+ 4 g8 fis e2~
+ 4 d8 cis d2
}
}
\new Staff {
>>
\layout { }
\midi {
- \context {
- \Score
- tempoWholesPerMinute = #(ly:make-moment 72 2)
- }
+ \tempo 2 = 72
}
}
@end lilypond
Articulate verkürzt Akkorde und manche Musik (besonders Orgelmusik)
kann schlechter klingen.
+
+
+
+@node Musikalische Information extrahieren
+@section Musikalische Information extrahieren
+@translationof Extracting musical information
+
+Neben graphischer Ausgabe und MIDI kann LilyPond auch die musikalische
+Information als Text anzeigen:
+
+@menu
+* LilyPond-Notation anzeigen::
+* Musikalische Scheme-Ausdrücke anzeigen::
+* Musikalische Ereignisse in einer Datei speichern::
+@end menu
+
+@node LilyPond-Notation anzeigen
+@subsection LilyPond-Notation anzeigen
+@translationof Displaying LilyPond notation
+
+@funindex \displayLilyMusic
+
+Mit der musikalischen Funktion @code{\displayLilyMusic} kann
+man einen musikalischen Ausdruck anzeigen. Um die Ausgabe zu
+sehen, wird LilyPond üblicherweise auf der Kommandozeile
+aufgerufen. Beispielsweise
+
+@example
+@{
+ \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
+@}
+@end example
+
+@noindent
+zeigt an:
+
+@example
+@{ a,4 cis e fis g @}
+@end example
+
+Standardmäßig gibt LilyPond diese Nachrichten auf die Kommandozeile
+aus, zusammen mit all den anderen LilyPond-Nachrichten über die
+Kompilation. Um die Nachrichten zu speichern, kann man die Ausgabe
+in eine Datei umleiten:
+
+@example
+lilypond file.ly >display.txt
+@end example
+
+@funindex \void
+
+LilyPond zeit nicht nur die musikalischen Ausdrücke an, sondern
+interpretiert sie auch (weil @code{\displayLilyMusic} sie an das
+Programm zurückgibt, zusätzlich zur Anzeige). Das ist sehr
+praktisch, denn man kann einfach @code{\displayLilyMusic}
+in vorhandene Noten einfügen, um Informationen darüber zu erhalten.
+Wenn Sie nicht wollen, dass LilyPond die angezeigten
+musikalischen Ausdrücke auch interpretiert, muss @code{\void}
+eingesetzt werden, damit der Ausdruck für die Interpretation ignoriert wird:
+
+@example
+@{
+ \void \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
+@}
+@end example
+
+
+@node Musikalische Scheme-Ausdrücke anzeigen
+@subsection Musikalische Scheme-Ausdrücke anzeigen
+@translationof Displaying scheme music expressions
+
+Siehe @rextend{Musikalische Funktionen darstellen}.
+
+
+@node Musikalische Ereignisse in einer Datei speichern
+@subsection Musikalische Ereignisse in einer Datei speichern
+@translationof Saving music events to a file
+
+Musikereignisse können in einer Datei Notensystem für Notensystem
+gespeichert werden, indem eine Datei in die Paritur eingefügt
+wird:
+
+@example
+\include "event-listener.ly"
+@end example
+
+Das erstellt Dateien mit der Bezeichnung @file{DATEINAME-SYSTEMNAME.notes} oder
+@file{DATEINAME-unnamed-staff.notes} für jedes Notensystem.
+Wenn mehrere Systeme ohne Bezeichnung auftreten, werden die
+Ereignisse aller Notensysteme zusammen in der selben Datei
+gemischt. Die Ausgabe sieht folgendermaßen aus:
+
+@example
+0.000 note 57 4 p-c 2 12
+0.000 dynamic f
+0.250 note 62 4 p-c 7 12
+0.500 note 66 8 p-c 9 12
+0.625 note 69 8 p-c 14 12
+0.750 rest 4
+0.750 breathe
+@end example
+
+Die Syntax ist eine durch Tabulatoren getrennte Zeile mit zwei
+festen Zellen, gefolgt von optionalen Parametern.
+
+@example
+@var{time} @var{type} @var{...params...}
+@end example
+
+Diese Information kann einfach ein ein anderes Programm wie
+etwa ein Python-Skript eingelsen werden und kann nützlich für
+Forscher sein, die musikalische Analyse- oder Wiedergabeexperimente
+mit LilyPond machen wollen.
+
+@knownissues
+
+Nicht alle musikalischen Ereignisse werden von
+@file{event-listener.ly} unterstützt. Es handelt sich eher um ein
+gut gemachtes @qq{proof of concept}. Wenn Ereignisse, die Sie
+brauchen, nicht in enthalten sind, können Sie @file{event-listener.ly}
+in Ihr LilyPond-Verzeichnis kopieren und die Datei verändern,
+sodass sie die benötigte Information ausgibt.