X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fde%2Fnotation%2Fnotation-appendices.itely;h=b28d312d84ab99768e2e554fc360a386093ecf64;hb=c5ac00e8063f9a0d6e5acd295d7e71ea2b973459;hp=d18e8ec67ff2b2bff487adf79e22b14013913d8f;hpb=0318702e7e3905cbdfc9f705078ce6fdd59b2eda;p=lilypond.git diff --git a/Documentation/de/notation/notation-appendices.itely b/Documentation/de/notation/notation-appendices.itely index d18e8ec67f..b28d312d84 100644 --- a/Documentation/de/notation/notation-appendices.itely +++ b/Documentation/de/notation/notation-appendices.itely @@ -1,38 +1,21 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*- @ignore - Translation of GIT committish: 6bf3e9149eb97e66b4c813e41dc7625f06c501aa + Translation of GIT committish: 144cd434d02e6d90b2fb738eeee99119a7c5e1d2 When revising a translation, copy the HEAD committish of the - version that you are working on. See TRANSLATION for details. + version that you are working on. For details, see the Contributors' + Guide, node Updating translation committishes.. @end ignore -@c \version "2.12.0" - @c Translators: Till Paala +@c \version "2.12.0" + @node Notationsübersicht @appendix Notationsübersicht @translationof Notation manual tables -@c Please do not delete the following @ignore block. -@ignore -Note for editors and translators: In the following menu, two entries -are needed to link to a pair of automatically generated sections. -Please keep them and, if using emacs, do not run -texinfo-all-menus-update without manually restoring them back. These -menu entries are: - -* Text markup commands:: -* Text markup list commands:: - -and they should go just after -* Notenkopfstile:: - -and just before -* Liste der Arktikulationszeichen:: -@end ignore - @menu * Liste der Akkordbezeichnungen:: * Übliche Akkord-Variablen:: @@ -41,13 +24,15 @@ and just before * Liste der Farben:: * Die Feta-Schriftart:: * Notenkopfstile:: -* Text markup commands:: -* Text markup list commands:: -* Liste der Arktikulationszeichen:: +* Textbeschriftungsbefehle:: +* Textbeschriftungslistenbefehle:: +* Liste der Artikulationszeichen:: * Schlagzeugnoten:: -* Alle Kontexteigenschaften:: +* Technisches Glossar:: +* Alle Kontexteigenschaften:: * Eigenschaften des Layouts:: -* Bezeichner:: +* Erhältliche Musikfunktionen:: +* Vordefinierte Typprädikate:: * Scheme-Funktionen:: @end menu @@ -213,9 +198,9 @@ Verminderter Dreklang, kleine Sept @item Kleine MollSept @tab -Molldreiklang, Durseptime +Molldreiklang, große Septime @tab -@code{maj7.5-} +@code{maj7.3-} @tab @lilypond[line-width=3\cm,noragged-right, notime] \chordmode { @@ -263,7 +248,7 @@ Dominantsept, große None @end lilypond @item -Dur None +Dur-None @tab Große None, große Septime @tab @@ -276,7 +261,7 @@ Große None, große Septime @end lilypond @item -Moll None +Moll-None @tab Große None, kleine Septime @tab @@ -304,7 +289,7 @@ Dominantnone, perfekte Undezime @item Durundezime @tab -Große None, perfekte Unidezime +Große None, perfekte Undezime @tab @code{maj11} @tab @@ -343,6 +328,8 @@ Dominantnone, große 13 @item Dominant-13 @tab +Dominant-Undezime, große 13 +@tab @code{13.11} @tab @lilypond[line-width=3\cm,noragged-right, notime] @@ -411,10 +398,13 @@ perfekte Quarte, perfekte Quinte @appendixsec Vordefinierte Bund-Diagramme @translationof Predefined fretboard diagrams -Die Tabelle zeigt alle vordefinierten Bunddiagramme. +Die Tabelle zeigt alle vordefinierten Bunddiagramme für Gitarre. @lilypondfile{display-predefined-fretboards.ly} +Die folgende Tabelle zeigt vordefinierte Bunddiagramme für Ukulele. + +@lilypondfile{display-predefined-ukulele-fretboards.ly} @node MIDI-Instrumente @@ -422,7 +412,8 @@ Die Tabelle zeigt alle vordefinierten Bunddiagramme. @translationof MIDI instruments Hier eine Liste von Musikinstrumentenbezeichnungen, die als Name für -@code{midiInstrument} benutzt werden können. +@code{midiInstrument} benutzt werden können. Die Anordnung der +Instrumente entspricht den 128 Prgrammnummern des MIDI-Standards. @c Todo: translate music instrument's names to German @cindex MIDI-Instrumentenbezeichnungen @@ -593,7 +584,285 @@ benutzt. @code{\musicglyph} greift direkt auf die Notationsschriftart zu (bspw. @code{g^\markup @{ \musicglyph #"scripts.segno" @}}). Siehe auch @ref{Text formatieren}. -@lilypondfile[noindent]{font-table.ly} +@menu +* Notenschlüssel-Glyphen:: +* Taktart-Glyphen:: +* Zahlen-Glyphen:: +* Versetzungszeichen-Glyphen:: +* Standard-Notenkopf-Glyphen:: +* Spezielle Notenkopf-Glyphen:: +* Geformte Notenkopf-Glyphen:: +* Pausen-Glyphen:: +* Fähnchen-Glyphen:: +* Punkt-Glyphen:: +* Dynamik-Glyphen:: +* Schrift-Glyphen:: +* Pfeilkopf-Glyphen:: +* Klammerspitzen-Glyphen:: +* Pedal-Glyphen:: +* Akkordeon-Glyphen:: +* Vaticana-Glyphen:: +* Medicaea-Glyphen:: +* Hufnagel-Glyphen:: +* Mensural-Glyphen:: +* Neomensural-Glyphen:: +* Petrucci-Glyphen:: +* Solesmes-Glyphen:: +@end menu + + +@node Notenschlüssel-Glyphen +@unnumberedsubsec Notenschlüssel-Glyphen +@translationof Clef glyphs + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #clefs +@end lilypond + + +@node Taktart-Glyphen +@unnumberedsubsec Taktart-Glyphen +@translationof Time Signature glyphs + + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #timesig +@end lilypond + + +@node Zahlen-Glyphen +@unnumberedsubsec Zahlen-Glyphen +@translationof Number glyphs + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #numbers +@end lilypond + + +@node Versetzungszeichen-Glyphen +@unnumberedsubsec Versetzungszeichen-Glyphen +@translationof Accidental glyphs + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #accidentals +@end lilypond + + +@node Standard-Notenkopf-Glyphen +@unnumberedsubsec Standard-Notenkopf-Glyphen +@translationof Default Notehead glyphs + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #default-noteheads +@end lilypond + + +@node Spezielle Notenkopf-Glyphen +@unnumberedsubsec Spezielle Notenkopf-Glyphen +@translationof Special Notehead glyphs + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #special-noteheads +@end lilypond + + +@node Geformte Notenkopf-Glyphen +@unnumberedsubsec Geformte Notenkopf-Glyphen +@translationof Shape-note Notehead glyphs + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #shape-note-noteheads +@end lilypond + + +@node Pausen-Glyphen +@unnumberedsubsec Pausen-Glyphen +@translationof Rest glyphs + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #rests +@end lilypond + + +@node Fähnchen-Glyphen +@unnumberedsubsec Fähnchen-Glyphen +@translationof Flag glyphs + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #flags +@end lilypond + + +@node Punkt-Glyphen +@unnumberedsubsec Punkt-Glyphen +@translationof Dot glyphs + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #dots +@end lilypond + + +@node Dynamik-Glyphen +@unnumberedsubsec Dynamik-Glyphen +@translationof Dynamic glyphs + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #dynamics +@end lilypond + + +@node Schrift-Glyphen +@unnumberedsubsec Schrift-Glyphen +@translationof Script glyphs +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #scripts +@end lilypond + + +@node Pfeilkopf-Glyphen +@unnumberedsubsec Pfeilkopf-Glyphen +@translationof Arrowhead glyphs + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #arrowheads +@end lilypond + + +@node Klammerspitzen-Glyphen +@unnumberedsubsec Klammerspitzen-Glyphen +@translationof Bracket-tip glyphs + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #brackettips +@end lilypond + + +@node Pedal-Glyphen +@unnumberedsubsec Pedal-Glyphen +@translationof Pedal glyphs + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #pedal +@end lilypond + + +@node Akkordeon-Glyphen +@unnumberedsubsec Akkordeon-Glyphen +@translationof Accordion glyphs + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #accordion +@end lilypond + + +@node Vaticana-Glyphen +@unnumberedsubsec Vaticana-Glyphen +@translationof Vaticana glyphs + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #vaticana +@end lilypond + + +@node Medicaea-Glyphen +@unnumberedsubsec Medicaea-Glyphen +@translationof Medicaea glyphs + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #medicaea +@end lilypond + + +@node Hufnagel-Glyphen +@unnumberedsubsec Hufnagel-Glyphen +@translationof Hufnagel glyphs + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #hufnagel +@end lilypond + + +@node Mensural-Glyphen +@unnumberedsubsec Mensural-Glyphen +@translationof Mensural glyphs + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #mensural +@end lilypond + + +@node Neomensural-Glyphen +@unnumberedsubsec Neomensural-Glyphen +@translationof Neomensural glyphs + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #neomensural +@end lilypond + + +@node Petrucci-Glyphen +@unnumberedsubsec Petrucci-Glyphen +@translationof Petrucci glyphs + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #petrucci +@end lilypond + + +@node Solesmes-Glyphen +@unnumberedsubsec Solesmes-Glyphen +@translationof Solesmes glyphs + +@lilypond[quote] +\include "font-table.ly" +\markuplines \override-lines #'(word-space . 4) + \doc-chars #solesmes +@end lilypond + @node Notenkopfstile @@ -608,20 +877,37 @@ Folgende Stile können zur Darstellung der Notenköpfe verwendet werden: @lilypondfile[noindent]{note-head-style.ly} + + +@node Textbeschriftungsbefehle +@appendixsec Textbeschriftungsbefehle +@translationof Text markup commands + @include markup-commands.tely + +@node Textbeschriftungslistenbefehle +@appendixsec Textbeschriftungslistenbefehle +@translationof Text markup list commands + +Folgende Befehle können mit dem Befehl @code{\markuplines} zusammen +benutzt werden: + @include markup-list-commands.tely -@node Liste der Arktikulationszeichen -@appendixsec Liste der Arktikulationszeichen + +@node Liste der Artikulationszeichen +@appendixsec Liste der Artikulationszeichen @translationof List of articulations @cindex Akzent @cindex Marcato -@cindex Staccatissimo +@cindex Accentus +@cindex Circulus @cindex Espressivo @cindex Fermate @cindex Gedämpft +@cindex Ictus @cindex Staccato @cindex Portato @cindex Tenuto @@ -631,6 +917,7 @@ Folgende Stile können zur Darstellung der Notenköpfe verwendet werden: @cindex Orgelpedalbezeichnung @cindex Triller @cindex Offen +@cindex Halboffen @cindex Flageolet @cindex Praller @cindex Mordent @@ -641,8 +928,75 @@ Folgende Stile können zur Darstellung der Notenköpfe verwendet werden: @cindex Segno @cindex Coda @cindex Varcoda +@cindex Semicirculus +@cindex signum congruentiae + +Die Skripte unten sind in der Feta-Schriftart definiert und können +an Noten angehängt werden (etwa @samp{c\accent}). + +@menu +* Artikulationsskripte:: +* Ornamentale Skripte:: +* Fermatenskripte:: +* Instrumentenspezifische Skripte:: +* Wiederholungszeichensrkipte:: +* Skripte der alten Notation:: +@end menu + +@node Artikulationsskripte +@unnumberedsubsec Artikulationsskripte +@translationof Articulation scripts + +@lilypond[quote] +\include "script-chart.ly" +\new RhythmicStaff { \scriptStaff #articulations } +@end lilypond + +@node Ornamentale Skripte +@unnumberedsubsec Ornamentale Skripte +@translationof Ornament scripts + +@lilypond[quote] +\include "script-chart.ly" +\new RhythmicStaff { \scriptStaff #ornaments } +@end lilypond + +@node Fermatenskripte +@unnumberedsubsec Fermatenskripte +@translationof Fermata scripts + +@lilypond[quote] +\include "script-chart.ly" +\new RhythmicStaff { \scriptStaff #fermatas } +@end lilypond + +@node Instrumentenspezifische Skripte +@unnumberedsubsec Instrumentenspezifische Skripte +@translationof Instrument-specific scripts + +@lilypond[quote] +\include "script-chart.ly" +\new RhythmicStaff { \scriptStaff #instrument-specific } +@end lilypond + +@node Wiederholungszeichensrkipte +@unnumberedsubsec Wiederholungszeichensrkipte +@translationof Repeat sign scripts + +@lilypond[quote] +\include "script-chart.ly" +\new RhythmicStaff { \scriptStaff #repeats } +@end lilypond + +@node Skripte der alten Notation +@unnumberedsubsec Ancient scripts + +@lilypond[quote] +\include "script-chart.ly" +\include "gregorian.ly" +\new VaticanaStaff { \scriptStaffAncient #ancient } +@end lilypond -@lilypondfile[quote,texidoc]{script-chart.ly} @node Schlagzeugnoten @@ -652,6 +1006,362 @@ Folgende Stile können zur Darstellung der Notenköpfe verwendet werden: @lilypondfile[quote]{percussion-chart.ly} +@node Technisches Glossar +@appendixsec Technisches Glossar +@translationof Technical glossary + +Ein Glossar der technischen Ausdrücke und Konzepte, die von +LilyPond intern benutzt werden. Die Ausdrücke kommen in den +Handbüchern, auf den Mailinglisten oder im Quellcode vor. + +@menu +* alist:: +* callback:: +* closure:: +* glyph:: +* grob:: +* immutable:: +* interface:: +* lexer:: +* mutable:: +* output-def:: +* parser:: +* parser variable:: +* prob:: +* simple closure:: +* smob:: +* stencil:: +@end menu + +@node alist +@unnumberedsubsec alist +@translationof alist + +@cindex alist +@cindex assoziative Liste + +Eine assoziative Liste oder @strong{alist} in kurz ist ein +Scheme-Paar, das einen Wert mit einem Schlüssel assoziiert: +@w{@code{(Schlüssel . Wert)}}. In der Datei @file{scm/lily.scm} +beispielsweise assoziiert die alist @w{@qq{type-p-name-alist}} +bestimmte Prädikate (etwa@tie{}@code{ly:music?}) mit +Bezeichnungen (wie@tie{}@qq{music}) sodass Fehler der +Typüberprüfung über eine Konsolennachricht mitgeteilt werden +können, die auch die Bezeichnung des erwarteten Typprädikats +mitteilt. + +@node callback +@unnumberedsubsec callback +@translationof callback + +@cindex callback + +Ein @strong{callback} ist eine Routine, Funktion oder Methode, +deren Referenz in einem Aufruf als Argument an eine andere +Routine weitergereicht wird, sodass die aufgerufene Routine +ermöglicht wird, das Argument zu aktivieren. Die Technik +ermöglicht es einer niedrigeren Ebene des Programmes, eine +Funktion aufzurufen, die auf höherer Ebene definiert wurde. +Callbacks werden sehr ausgiebig in LilyPond eingesetzt, um +es Scheme-Code auf der Benutzerebene zu erlauben, wie viele +Funktionen der niedrigeren Ebene ausgeführt werden sollen. + +@node closure +@unnumberedsubsec closure +@translationof closure + +@cindex closure +@cindex einfache closure + +In Scheme entsteht ein @strong{closure} (Abschluss), wenn eine +Funktion, normalerweise ein Lambda-Ausdruck, als Variable +weitergegeben wird. Das closure enthält den Code der Funktion +plus Verweise zu den lexikalischen Verknüpfungen der +freien Variablen der Funktion (also die Variablen, die in +Ausdrücken benutzt werden, aber außerhalb von ihnen definiert +werden). Wenn diese Funktion später einem anderen Argument +zugewiesen wird, werden die freien Variabel-Verknüpfungend, die +in das closure eingeschlossen sind, benutzt um die Werte der +freien Variablen, die in der Rechnung benutzt werden sollen, +zu errechnen. Eine nützliche Eigenschaft von closures ist, +dass man interne variable Werte zwischen den Aufrufen +wiederverwerten kann, sodass ein Status erhalten bleiben kann. + +Ein @strong{simple closure} (einfacher Abschluss) ist ein +closure, dessen Ausdruck keine freien Variablen und auch keine +freien Variablel-Verknüpfungen hat. + +Ein simple closure wird in LilyPond von einem smob dargestellt, +der den Ausdruck und eine Methode, wie der Ausdruck auf eine +Liste von Argumenten angewendet werden soll, enthält. + + +@node glyph +@unnumberedsubsec glyph +@translationof glyph + +@cindex glyph +@cindex Glyphe +@cindex font +@cindex typeface +@cindex Schriftfamilie + +Ein @strong{glyph} (Glyphe) ist eine bestimmte graphische Repräsentation +eines typographischen Charakters oder einer Kombination von +zwei oder mehr Charakteren, die dann eine Ligatur bilden. Eine +Gruppe an Glyphen des gleichen Stils bilden ein Font, und +eine Gruppe an Fonts, die mehrere Stile darstellen, bilden +eine Schriftfamilie (engl. typeface). + + +@seealso +Notationsreferenz: +@ref{Fonts}, +@ref{Text encoding}. + + +@node grob +@unnumberedsubsec grob +@translationof grob + +@cindex grob +@cindex layout objects +@cindex graphical objects +@cindex Layoutobjekte +@cindex graphische Objekte + +LilyPond-Objekte, die Elemente der Notation in der graphischen +Ausgabe des Programmen darstellen, wie etwa Notenköpfe, Hälse, +Bögen, Bindebögen, Fingersatz, Schlüssel usw., werden +@qq{Layout-Objekte} genannt, auch oft als @qq{GRaphische OBjekte} +bezeichnet, was dann zu @strong{grob} abgekürzt wird. + +@seealso +Handbuch zum Lernen: +@rlearning{Objects and interfaces}, +@rlearning{Naming conventions of objects and properties}, +@rlearning{Properties of layout objects}. + +Referenz der Interna: +@rinternals{All layout objects}. + + +@node immutable +@unnumberedsubsec immutable +@translationof immutable + +@cindex immutable-Objekte +@cindex immutable-Eigenschaften + +Ein @strong{immutable} (unberührbares) Objekt ist ein, dessen Status nach der Erstellung +nicht mehr verändert werden kann, entgegen einem mutable Objekt, das +nach der Erstellung noch verändert werden kann. + +In LilyPond sind unberührbare oder geteilte Eigenschaften das +Standardverhalten von Grobs. Sie werden zwischen vielen Objekten +geteilt. Entgegen ihrer Bezeichnung können sie jedoch mit +@code{\override} und @code{\revert} verändert werden. + +@seealso +Notationsreferenz: +@ref{mutable}. + + + +@node interface +@unnumberedsubsec interface +@translationof interface + +@cindex interface +@cindex grob-interface +@cindex Schnittstelle von graphischen Objekten +@cindex graphische Objekte, Schnittstellen + +Aktionen und Eigenschaften, die eine Gruppe von Grobs gemeinsam +haben, werden in ein Objekt gesammelt, das als @code{grob-interface} +oder auch @qq{Schnittstelle} (engl. interface) bezeichnet wird. + + +@seealso +Handbuch zum Lernen: +@rlearning{Objekte und Schnittstellen}, +@rlearning{Regeln zur Benennung von Objekten und Eigenschaften}, +@rlearning{Eigenschaften, die Schnittstellen besitzen können}. + +Notationsreferenz: +@ref{Layout-Schnittstellen}. + +Referenz der Interna: +@rinternals{Graphical Object Interfaces}. + + +@node lexer +@unnumberedsubsec lexer +@translationof lexer + +@cindex lexer + +Ein @strong{lexer} ist ein Programm, das eine Charaktersequenz +in eines Sequenz von Tokens übersetzt. Dieser Prozess wird als +lexikalische Analyse bezeichnet. Der LilyPond-Lexer konvertiert +eine Eingabedatei (@code{.ly} in eine Datei mit Tokens, die sich +besser für den nächsten Schritt der Verarbeitung, nämlich das +Parsen, eignet. Siehe @ref{parser}. + + +@node mutable +@unnumberedsubsec mutable +@translationof mutable + +@cindex mutable-Objekte +@cindex veränderbare (mutable) Objekte + +Ein @strong{mutable} (veränderbares) Objekt ist ein Objekt, dessen +Status verändert werden kann, im Gegenteil zu einem immutable +Objekt, dessen Status zur Entstehungszeit festgelegt ist. + +In LilyPond enthalten mutable Eigenschaften Werte, die nur für +einen Grob gelten. Normalerweise werden Listen von anderen +Objekten oder Resultate einer Berechnung in mutablen Eigenschaften +gespeichert. + +@seealso +Notationsreferenz: +@ref{immutable}. + + +@node output-def +@unnumberedsubsec output-def +@translationof output-def + +@cindex output-def + +Eine Instanz der @code{Output-def}-Klasse enthält die Methoden und +Datenstruktur, die mit einem Ausgabeabschnitt assoziiert wird. +Instanzen werden für @code{midi}, @code{layout} und @code{paper}-Umgebungen +erstellt. + + +@node parser +@unnumberedsubsec parser +@translationof parser + +@cindex parser +@cindex Grammatik von LilyPond +@cindex Bison +@cindex BNF + +Ein @strong{parser} (Syntaxanalysierer) analysiert die Tokensequenzen, die von einem +Lexer erstellt wurden, um deren grammatikalische Struktur zu entschlüsseln, +wie sie von den Regeln des Eingabeformates vorgegeben werden. Dabei werden +die Sequenzen in immer größere Gruppen entsprechend den grammatischen +Regeln zusammengefasst. Wenn die Kette der Tokens gültig ist, ist das +Endprodukt ein Token-Baum, dessen Wurzel das Startsymbol der Grammatik ist. +Wenn dies nicht erreicht werden kann, ist die Datei nicht korrekt und +ensprechende Fehlermeldungen werden ausgegeben. Die syntaktischen Gruppierungen +und die Regeln, nach welchen die Gruppen aus ihren Einzelteilen nach der +LilyPond-Syntax erstellt werden, finden sich in der Datei @file{lily/parser.yy} +und werden in der Backus Normal Form (BNF) in @ref{LilyPond-Grammatik} +gezeigt. Diese Datei wird benutzt, um den Parser während der Programmkompilation +zu erstellen. Hierzu wird der Parser-Ersteller Bison verwendet. Er ist +Teil des Quellcodes und nicht in die binäre Installation von LilyPond +integriert. + + +@node parser variable +@unnumberedsubsec parser variable +@translationof parser variable + +Diese Variablen werden direkt in Scheme definiert. Von ihrer direkten +Benutzung durch den Benutzer wird streng abgeraten, weil ihre +Semantikzuordnung sehr verwirrend sein kann. + +Wenn der Wert einer derartigen Variable in einer @code{.ly}-Datei +verändert wird, ist diese Änderung global, und wenn sie nicht +explizit rückgängig gemacht wird, wird der neue Wert bis zum Ende +der Datei gelten und dabei sowohl aufeinander folgende +@code{\score}-Umgebungen als auch externe Dateien, die mit +@code{\include} geladen werden, beeinflussen. Das kann zu nicht +gewollten Konsequenzen führen, und in komplizierteren Projekten +kann es sehr schwer sein, die immer wieder auftretenden Fehler +zu beheben. + +LilyPond benutzt folgende Parser-Variablen: + +@itemize +@item afterGraceFraction +@item musicQuotes +@item mode +@item output-count +@item output-suffix +@item parseStringResult +@item partCombineListener +@item pitchnames +@item toplevel-bookparts +@item toplevel-scores +@item showLastLength +@item showFirstLength +@end itemize + + +@node prob +@unnumberedsubsec prob +@translationof prob + +Property OBjects, also Eigenschaftsobjekte, oder kurz @strong{Prob}, +sind Mitglieder der @code{Prob}-Klasse, eine einfache Basisklasse für +Objekte, die mutable oder immutable alists haben und die Methoden, +mit denen sie verändert werden können. Die @code{Music}- und +@code{Stream_event}-Klassen stammen von @code{Prob} ab. Verkörperungen +der @code{Prob}-Klasse werden auch erstellt, um formatierte Inhalte von +Systemgrobs und Titelblöcken während der Erstellung des Seitenlayouts zu +speichern. + +@node simple closure +@unnumberedsubsec simple closure +@translationof simple closure + +Siehe @ref{closure}. + +@node smob +@unnumberedsubsec smob +@translationof smob + +@cindex smob +@cindex Scheme objekt + +@strong{Smobs} sind ScheMe-OBjekte, Teile des Mechanismus von Guile, um +C- und C++-Ojekte in Scheme-Code zu exportieren. In LilyPond werden +Smobs von C++-Objekten mithilfe von Makros erstellt. Es gibt zwei +Arten von Smob-Objekten: einfache Smobs, die da sind für einfach +immutable Objekte wie Nummern, und komplexe Smobs, benutzt für Objekte +mit einer Identität. Wenn Sie auf die LilyPond-Quellen zurückgreifen +können, findet sich mehr Information hierzu in @file{lily/includes/smob.hh}. + +@node stencil +@unnumberedsubsec stencil +@translationof stencil + +@cindex stencil +@cindex Matrize (stencil) + +Eine Einheit der @strong{stencil}-Klasse enthält die Information, +die benötigt wird um ein typographisches Objekt zu setzen. Es handelt +sich um einen sehr einfachen Smob, der eine begrenzende Box enthält, +welche die vertikale und horizontale Ausdehnung des Objekt beschreibt, +und einen Scheme-Ausdruck, der das Objekt ausgibt, nachdem es ausgewertet +wurde. Stencil-Objekte können kombiniert werden, um komplexere +Stencil zu bilden, die aus einem Baum von Scheme-Ausdrücken des Typs +Stencil bestehen. + +Die @code{stencil}-Eigenschaft, die einen Grob mit seinem Stencil +verbindet, ist in der @code{grob-interface}-Schnittstelle definiert. + +@seealso +Referenz der Interna: +@rinternals{grob-interface}. + + @node Alle Kontexteigenschaften @appendixsec Alle Kontexteigenschaften @translationof All context properties @@ -665,14 +1375,21 @@ Folgende Stile können zur Darstellung der Notenköpfe verwendet werden: @include layout-properties.tely - -@node Bezeichner -@appendixsec Bezeichner -@translationof Identifiers +@node Erhältliche Musikfunktionen +@appendixsec Erhältliche Musikfunktionen +@translationof Available music functions @include identifiers.tely +@node Vordefinierte Typenprädikate +@appendixsec Vordefinierte Typenprädikate +@translationof Predefined type predicates + +@include type-predicates.tely + + + @node Scheme-Funktionen @appendixsec Scheme-Funktionen @translationof Scheme functions