]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/de/user/introduction.itely
5932fd1ae5588e9fb89ac1a765160ec1feac2b20
[lilypond.git] / Documentation / de / user / introduction.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
2 @c This file is part of lilypond.tely
3 @ignore
4     Translation of GIT committish: d415427752fa5fd83b0da189d677481d1c7f3043
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  See TRANSLATION for details.
8 @end ignore
9
10 @c \version "2.12.0"
11 @c Translators: Till Rettig, Reinhold Kainhofer
12 @c Translation checkers: Hajo Bäß
13
14 @node Introduction
15 @chapter Introduction
16
17 Dieses Kapitel stellt dem Leser die Idee hinter LilyPond und die Dokumentation
18 von LilyPond vor.
19
20 @menu
21 * Background::
22 * About the documentation::
23 @end menu
24
25
26 @node Background
27 @section Background
28
29 Dieser Abschnitt behandelt die allgemeinen Ziele und die Architektur von LilyPond.
30
31 @menu
32 * Engraving::
33 * Automated engraving::
34 * What symbols to engrave?::
35 * Music representation::
36 * Example applications::
37 @end menu
38
39
40 @node Engraving
41 @unnumberedsubsec Engraving
42
43 @cindex Notensatz
44 @cindex Typographie
45 @cindex Notengravur
46 @cindex Gravur, Notensatz
47 @cindex Plattendruck, Noten
48
49 Die Kunst des Notensatzes wird auch als Notenstich bezeichnet. Dieser 
50 Begriff stammt aus dem traditionellen Notendruck. Noch bis vor etwa 20 
51 Jahren wurden Noten erstellt, indem man sie in eine Zink- oder Zinnplatte 
52 schnitt oder mit Stempeln schlug. Diese Platte wurde dann mit Druckerschwärze
53  versehen, so dass sie in den geschnittenen und gestempelten Vertiefungen 
54 blieb. Diese Vertiefungen schwärzten dann ein auf die Platte gelegtes 
55 Papier. Das Gravieren wurde vollständig von Hand erledigt. Es war darum 
56 sehr mühsam, Korrekturen anzubringen, weshalb man von vornherein richtig
57  schneiden musste. Es handelte sich dabei um ein sehr spezialisiertes Handwerk.
58
59 Heutzutage wird fast alle gedruckte Musik von Computern erstellt. Das 
60 hat einige deutliche Vorteile: Drucke sind billiger als die gravierten
61 Platten und der Computersatz kann per E-Mail verschickt werden. Leider
62 hat der intensive Einsatz des Computers die graphische Qualität
63 des Notensatzes vermindert. Mit dem Computer erstellte Noten sehen 
64 langweilig und mechanisch aus, was es erschwert, von ihnen zu spielen.
65
66
67 @c introduce illustrating aspects of engraving, font...
68 Die Abbildung unten illustriert den Unterschied zwischen  
69 traditionellem Notensatz und einem typischen Computersatz. Das 
70 dritte Bild zeigt, wie LilyPond die Formen des traditionellen
71 Satzes nachahmt. Das linke Bild zeigt ein eingescanntes b-Vorzeichen 
72 aus einer 2000 herausgegebenen Edition. Das mittlere Bild
73 zeigt das b-Vorzeichen derselben Musik aus einer handgestochenen 
74 Bärenreiter-Ausgabe. Das linke Bild zeigt die typischen Makel
75 des Computer-Satzes: Die Notenlinien sind sehr dünn, die Schwärze 
76 des Vorzeichens entspricht den dünnen Linien und hat eine gerade 
77 Form mit scharfen Ecken und Kanten. Im Gegensatz dazu hat das
78 Bärenreiter-Vorzeichen dicke, geradezu sinnlich rundliche
79 Formen. Unser Symbol für das Vorzeichen hat neben anderen 
80 auch dieses b als Vorbild. Es ist abgerundet und passt zu unseren
81 Notenlinien, die sehr viel dicker sind als die der entsprechenden
82 Computer-Ausgabe.
83
84 @multitable @columnfractions .125 .25 .25 .25 .125
85 @item @tab
86 @ifnotinfo
87 @iftex
88 @image{henle-flat-gray,,4cm}
89 @end iftex
90 @ifnottex
91 @image{henle-flat-gray,,,png}
92 @end ifnottex
93
94 @tab
95 @iftex
96 @image{baer-flat-gray,,4cm}
97 @end iftex
98 @ifnottex
99 @image{baer-flat-gray,,,png}
100 @end ifnottex
101
102 @tab
103 @iftex
104 @image{lily-flat-bw,,4cm}
105 @end iftex
106 @ifnottex
107 @image{lily-flat-bw,,,png}
108 @end ifnottex
109 @end ifnotinfo
110 @ifinfo
111 @image{henle-flat-bw,,,png}
112 @image{baer-flat-bw,,,,png}
113 @image{lily-flat-bw,,,png}
114 @end ifinfo
115
116 @item @tab
117 Henle (2000)
118 @tab
119 Bärenreiter (1950)
120 @tab
121 LilyPond Feta-Schriftart (2003)
122
123 @end multitable
124
125
126 @cindex Musiksymbole
127 @cindex Schriftart
128 @cindex Dichte
129 @cindex Balance
130
131 @c introduce illustrating aspects of engraving, spacing...
132 Die Verteilung der Noten innerhalb des Taktes sollte ihrer Dauer
133 entsprechen. Moderne Partituren zeigen diese Verhältnisse jedoch 
134 mit einer mathematischen Präzision, die nur sehr schlechte 
135 Ergebnisse bringt. Im nächsten Beispiel ist ein Motiv zweimal
136 gesetzt: einmal mit den exakten mathematischen Längenverhältnissen, dann
137 mit kleinen Korrekturen. Welches von beiden ist mit dieser Korrektur
138 gesetzt?
139
140 @cindex Optischer Ausgleich
141 @c file spacing-optical.
142 @c need to include it here,  because we want two images.
143 @lilypond
144 \paper {
145   ragged-right = ##t
146   indent = #0.0
147 }
148
149 music = {
150    c'4 e''4 e'4 b'4 |
151    \stemDown
152    b'8[ e'' a' e'']
153    \stemNeutral
154    e'8[ e'8 e'8 e'8]
155 }
156
157 \score
158 {
159   \music
160   \layout {
161     \context {
162       \Staff
163       \override NoteSpacing #'stem-spacing-correction = #0.6
164     }
165   }
166 }
167 @end lilypond
168
169 @lilypond
170 \paper {
171   ragged-right = ##t
172   indent = #0.0
173 }
174
175 music = {
176    c'4 e''4 e'4 b'4 |
177    \stemDown
178    b'8[ e'' a' e'']
179    \stemNeutral
180    e'8[ e'8 e'8 e'8]
181 }
182 \score
183 {
184   \music
185   \layout {
186     \context {
187       \Staff
188       \override NoteSpacing #'stem-spacing-correction = #0.0
189       \override NoteSpacing #'same-direction-correction = #0.0
190       \override StaffSpacing #'stem-spacing-correction = #0.0
191     }
192   }
193 }
194 @end lilypond
195
196 @cindex normale Rhythmen
197 @cindex normale Abstände
198 @cindex Abstände, normal
199 @cindex Rhythmen, normal
200
201 In diesem Ausschnitt kommen nur Viertel vor, Noten, die in einem
202  gleichmäßigen Rhythmus gespielt werden. Die Abstände sollten das
203  widerspiegeln. Leider lässt uns aber das Auge im Stich: es beachtet
204  nicht nur den Abstand von aufeinander folgenden Notenköpfen, sondern
205  auch den ihrer Hälse. Also müssen Noten, deren Hälse in direkter
206  Folge zuerst nach oben und dann nach unten ausgerichtet sind, weiter
207  auseinander gezogen werden, während die unten/oben-Folge engere
208  Abstände fordert, und das alles auch noch in Abhängigkeit von der 
209 vertikalen Position der Noten. Das obere Beispiel ist mit dieser 
210 Korrektur gesetzt, das untere ohne. In letzterem Fall bilden sich 
211 für das Auge bei unten/oben-Folgen Notenklumpen mit schmalen Abständen 
212 zwischen den Notenhälsen.
213
214 @cindex Typographie
215
216 Musiker sind üblicherweise zu sehr damit beschäftigt, die Musik aufzuführen, 
217 als dass sie das Aussehen der Noten studieren könnten; und diese 
218 Beschäftigung mit typographischen Details mag akademisch wirken. 
219 Das ist sie aber nicht. Unser Beispielstück hat einen 
220 monotonen Rhythmus, und wenn alle Zeilen einförmig aussehen, wird 
221 das Notenblatt zu einem Labyrinth. Wenn der Spieler auch nur 
222 einmal wegschaut oder kurze Zeit unkonzentriert ist, findet er 
223 nicht mehr zurück zu der Stelle, an der er war.
224
225 Der dichtere Eindruck, den die dickeren Notenlinien und schwereren
226 Notationssymbole schaffen, eignet sich auch besser für Noten,
227 die weit vom Leser entfernt stehen, etwa auf einem Notenständer.
228 Eine sorgfältige Verteilung der Zwischenräume erlaubt es, die 
229 Noten sehr dicht zu setzen, ohne dass die Symbole zusammenklumpen. 
230 Dadurch werden unnötige Seitenumbrüche vermieden, so dass man 
231 nicht so oft blättern muss.
232
233 Dies sind die Anforderungen der Typographie: Das Layout sollte
234 schön sein -- nicht aus Selbstzweck, sondern um dem Leser zu helfen. Für 
235 Aufführungsmaterial ist das umso wichtiger, denn Musiker haben eine begrenzte
236 Aufnahmefähigkeit. Je weniger Mühe nötig ist, die Noten zu erfassen, desto mehr
237 Zeit bleibt für die Gestaltung der eigentlichen Musik. Das heißt: Gute 
238 Typographie führt zu besseren Aufführungen!
239
240 Die Beispiele haben gezeigt, dass der Notensatz eine subtile und 
241 komplexe Kunst ist und gute Ergebnisse nur mit viel Erfahrung 
242 erlangt werden können, die Musiker normalerweise nicht haben.
243 LilyPond stellt unser Bemühen dar, die graphische Qualität
244 handgestochener Notenseiten ins Computer-Zeitalter zu transportieren 
245 und sie für normale Musiker erreichbar zu machen. Wir haben 
246 unsere Algorithmen, die Gestalt der Symbole und die Programm-Einstellungen
247 darauf abgestimmt, einen Ausdruck zu erzielen, der der Qualität 
248 der alten Editionen entspricht, die wir so gerne betrachten 
249 und aus denen wir gerne spielen.
250
251
252
253 @node Automated engraving
254 @unnumberedsubsec Automated engraving
255
256 @cindex Notensatz, automatisch
257 @cindex automatischer Notensatz
258
259 Wie sollen wir also jetzt die Typographie anwenden?
260 Wie können wir erwarten, dass wir in der Lage wären, 
261 ein Programm zu schreiben, dass den Beruf des 
262 Notenstechers ersetzt, wo dieser doch mehr als zehn 
263 Jahre braucht, um ein Meister zu werden?
264
265 Wir können es tatsächlich nicht! Da Typographie allein 
266 durch das menschliche Auge bestimmt ist, kann der Mensch 
267 nicht ersetzt werden. Aber sehr viel mechanische Arbeit 
268 kann automatisiert werden. Indem etwa LilyPond die üblichen 
269 Situationen kennt und bewältigt, können die restlichen 
270 Fehler von Hand beseitigt werden. Das ist schon ein 
271 großer Fortschritt im Vergleich zu den existierenden 
272 Programmen. Und mit der Zeit können immer mehr Fälle 
273 automatisiert werden, so dass immer weniger Eingriffe 
274 von Hand notwendig werden.
275
276
277 Als wir anfingen, haben wir LilyPond vollständig in der Programmiersprache C++
278 geschrieben. Das hieß, dass der Funktionsumfang des Programms vollständig durch
279 die Programmierer festgelegt war. Das stellte sich aus einer Reihe von Gründen
280 als unzureichend heraus:
281
282 @itemize @bullet
283 @item Wenn LilyPond Fehler macht, muss der Benutzer die
284 Einstellungen ändern können. Er muss also Zugang zur 
285 Formatierungsmaschinerie haben. Deshalb können die Regeln und 
286 Einstellungen nicht beim Kompilieren des Programms festgelegt 
287 werden, sondern sie müssen zugänglich sein, während das Programm
288 aktiv ist.
289
290
291 @item Notensatz ist eine Frage des Augenmaßes, und damit auch vom
292  Geschmack abhängig. Benutzer können mit unseren Entscheidungen 
293 unzufrieden sein. Darum müssen also auch die Definitionen des 
294 typographischen Stils dem Benutzer zugänglich sein.
295
296 @item Schließlich verfeinern wir unseren Formatierungsalgorithmus 
297 immer weiter, also müssen die Regeln auch flexibel sein. Die
298 Sprache C++ zwingt zu einer bestimmten Gruppierungsmethode, 
299 die nicht den Regeln für den Notensatz entspricht.
300 @end itemize
301
302 @cindex Scheme-Programmiersprache
303
304 Diese Probleme wurden angegangen, indem ein Übersetzer für 
305 die Programmiersprache Scheme integriert wurde und Teile
306 von LilyPond in Scheme neu geschrieben wurden. Die derzeitige 
307 Formatierungsarchitektur ist um die Notation von graphischen 
308 Objekten herum aufgebaut, die von Scheme-Variablen und -Funktionen
309 beschrieben werden. Diese Architektur umfasst Formatierungsregeln,
310 typographische Stile und individuelle Formatierungsentscheidungen. 
311 Der Benutzer hat direkten Zugang zu den meisten dieser Einstellungen.
312
313 Scheme-Variablen steuern Layout-Entscheidungen. Zum Beispiel haben 
314 viele graphische Objekte eine Richtungsvariable, die zwischen 
315 oben und unten (oder rechts und links) wählen kann. Hier etwa 
316 sind zwei Akkorde mit Akzenten und Arpeggien. 
317 Beim ersten Akkord sind alle Objekte nach unten (oder links)
318  ausgerichtet, beim zweiten nach oben (rechts).
319
320 @lilypond[quote,ragged-right]
321 \new Score \with {
322    \override SpacingSpanner #'spacing-increment = #3
323    \override TimeSignature #'transparent = ##t
324 } \relative c' {
325    \stemDown <e g b>4_>-\arpeggio
326    \override Arpeggio #'direction = #RIGHT
327    \stemUp <e g b>4^>-\arpeggio
328 }
329 @end lilypond
330
331 @cindex Formatierung einer Partitur
332 @cindex Partitur, Formatierung
333 @cindex Formatierungsregeln
334
335 @noindent
336 Der Prozess des Notensetzens besteht für das Programm darin,
337 die Variablen der graphischen Objekte zu lesen und zu
338 schreiben. Einige Variablen haben festgelegte Werte. So 
339 ist etwa die Dicke von vielen Linien – ein Charakteristikum 
340 des typographischen Stils – von vornherein festgelegt. 
341 Wenn sie geändert werden, ergibt sich ein anderer typographischer Eindruck.
342
343 @lilypond[quote,ragged-right]
344 fragment = {
345    \clef bass f8 as8
346    c'4-~ c'16 as g f e16 g bes c' des'4
347 }
348 <<
349    \new Staff \fragment
350    \new Staff \with {
351       \override Beam #'thickness = #0.3
352       \override Stem #'thickness = #0.5
353       \override Bar #'thickness = #3.6
354       \override Tie #'thickness = #2.2
355       \override StaffSymbol #'thickness = #3.0
356       \override Tie #'extra-offset = #'(0 .  0.3)
357       }
358       \fragment
359 >>
360 @end lilypond
361
362 Formatierungsregeln sind auch vorbelegte Variablen. Zu jedem Objekt gehören
363 Variablen, die Prozeduren enthalten. Diese Prozeduren machen die eigentliche 
364 Satzarbeit aus, und wenn man sie durch andere ersetzt, kann die Darstellung 
365 von Objekten verändert werden. Im nächsten Beispiel wird die Regel, nach der 
366 die Notenköpfe gezeichnet werden, während des Ausschnitts verändert.
367
368 @lilypond[quote,ragged-right]
369 #(set-global-staff-size 30)
370
371 #(define (mc-squared grob orig current)
372   (let* ((interfaces (ly:grob-interfaces grob))
373          (pos (ly:grob-property grob 'staff-position)))
374     (if (memq 'note-head-interface interfaces)
375         (begin
376           (ly:grob-set-property! grob 'stencil
377             (grob-interpret-markup grob
378               (make-lower-markup 0.5
379                 (case pos
380                   ((-5) "m")
381                   ((-3) "c ")
382                   ((-2) (make-smaller-markup (make-bold-markup "2")))
383                   (else "bla")))))))))
384
385 \new Voice \relative c' {
386   \stemUp
387   \set autoBeaming = ##f
388   \time 2/4
389   <d f g>4
390   \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
391   \once \override NoteHead #'font-size = #-7
392   \once \override NoteHead #'font-family = #'sans
393   \once \override NoteHead #'font-series = #'bold
394   <d f g>4
395   \once \override NoteHead #'style = #'cross
396   <d f g>4
397   \applyOutput #'Voice #mc-squared
398   <d f g>4
399   <<
400     { d8[ es-( fis^^ g] fis2-) }
401     \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
402   >>
403 }
404 @end lilypond
405
406
407
408 @node What symbols to engrave?
409 @unnumberedsubsec What symbols to engrave?
410
411 @cindex Notensatz
412 @cindex Typographie
413 @cindex Stempel
414 @cindex Matrize
415 @cindex Engraver
416 @cindex Plugin
417
418 Während des Notensatzprozesses entscheidet sich, wo
419 Symbole platziert werden. Das kann aber nur gelingen, 
420 wenn vorher entschieden wird, @emph{welche} Symbole
421 gesetzt werden sollen, also welche Art von Notation benutzt
422 werden soll.
423
424 Die heutige Notation ist ein System zur Musikaufzeichnung,
425 das sich über die letzten 1000 Jahre entwickelt hat. Die 
426 Form, die heute üblicherweise benutzt wird, stammt aus dem 
427 Barock. Auch wenn sich die grundlegenden Formen (also
428 die Notenköpfe, das Fünfliniensystem) nicht verändert haben, 
429 entwickeln sich die Details trotzdem immer noch weiter, um 
430 die Errungenschaften der Neuen Musik darstellen zu können. Die 
431 Notation umfasst also 500 Jahre Musikgeschichte. Ihre Anwendung 
432 reicht von monophonen Melodien bis zu ungeheuer komplexem Kontrapunkt 
433 für großes Orchester.
434
435 Wie bekommen wir dieses vielköpfige Monster zu fassen? 
436 Unsere Lösung ist es, eine strikte Trennung zwischen der Notation, 
437 also welche Symbole benutzt werden, und dem Satz, also wohin sie 
438 gesetzt werden, zu machen. Um das Problem anzupacken, haben wir 
439 es in kleine (programmierbare) Happen zerteilt, so dass jede Art 
440 von Symbol durch ein eigenes Plugin verarbeitet wird. Alle Plugins
441  kooperieren durch die LilyPond-Architektur. Sie sind vollständig 
442 modular und unabhängig und können somit auch unabhängig voneinander
443  entwickelt werden. Der Schreiber, der die Musik in Graphik umwandelt,
444  ist ein Kopist oder Notenstecher (engl. engraver). Darum werden 
445 die Plugins  als @code{engraver} bezeichnet.
446
447 Im nächsten Beispiel wird gezeigt, wie mit dem Plugin für die Notenköpfe, 
448 dem @code{Note_heads_engraver} (@qq{Notenkopfstecher}) der Satz begonnen wird.
449
450 @lilypond[quote,ragged-right]
451 \include "engraver-example.ily"
452
453 \score {
454   \topVoice
455   \layout {
456     \context {
457       \Voice
458       \remove "Stem_engraver"
459       \remove "Phrasing_slur_engraver"
460       \remove "Slur_engraver"
461       \remove "Script_engraver"
462       \remove "Beam_engraver"
463       \remove "Auto_beam_engraver"
464     }
465     \context {
466       \Staff
467       \remove "Accidental_engraver"
468       \remove "Key_engraver"
469       \remove "Clef_engraver"
470       \remove "Bar_engraver"
471       \remove "Time_signature_engraver"
472       \remove "Staff_symbol_engraver"
473       \consists "Pitch_squash_engraver"
474     }
475   }
476 }
477 @end lilypond
478
479 @noindent
480 Dann fügt ein @code{Staff_symbol_engraver} (@qq{Notensystemstecher}) 
481 die Notenlinien hinzu.
482
483 @lilypond[quote,ragged-right]
484 \include "engraver-example.ily"
485
486 \score {
487   \topVoice
488   \layout {
489     \context {
490       \Voice
491       \remove "Stem_engraver"
492       \remove "Phrasing_slur_engraver"
493       \remove "Slur_engraver"
494       \remove "Script_engraver"
495       \remove "Beam_engraver"
496       \remove "Auto_beam_engraver"
497     }
498     \context {
499       \Staff
500       \remove "Accidental_engraver"
501       \remove "Key_engraver"
502       \remove "Clef_engraver"
503       \remove "Bar_engraver"
504       \consists "Pitch_squash_engraver"
505       \remove "Time_signature_engraver"
506     }
507   }
508 }
509 @end lilypond
510
511 @noindent
512 Der @code{Clef_engraver} (@qq{Notenschlüsselstecher}) definiert 
513 eine Referenzstelle für das System.
514
515 @lilypond[quote,ragged-right]
516 \include "engraver-example.ily"
517
518 \score {
519   \topVoice
520   \layout {
521     \context {
522       \Voice
523       \remove "Stem_engraver"
524       \remove "Phrasing_slur_engraver"
525       \remove "Slur_engraver"
526       \remove "Script_engraver"
527       \remove "Beam_engraver"
528       \remove "Auto_beam_engraver"
529     }
530     \context {
531       \Staff
532       \remove "Accidental_engraver"
533       \remove "Key_engraver"
534       \remove "Bar_engraver"
535       \remove "Time_signature_engraver"
536     }
537   }
538 }
539 @end lilypond
540
541 @noindent
542 Der @code{Stem_engraver} (@qq{Halsstecher}) schließlich fügt
543  Hälse hinzu.
544
545 @lilypond[quote,ragged-right]
546 \include "engraver-example.ily"
547
548 \score {
549   \topVoice
550   \layout {
551     \context {
552       \Voice
553       \remove "Phrasing_slur_engraver"
554       \remove "Slur_engraver"
555       \remove "Script_engraver"
556       \remove "Beam_engraver"
557       \remove "Auto_beam_engraver"
558     }
559     \context {
560       \Staff
561       \remove "Accidental_engraver"
562       \remove "Key_engraver"
563       \remove "Bar_engraver"
564       \remove "Time_signature_engraver"
565     }
566   }
567 }
568 @end lilypond
569
570 @noindent
571 Dem @code{Stem_engraver} wird jeder Notenkopf mitgeteilt, 
572 der vorkommt. Jedes Mal, wenn ein Notenkopf erscheint (oder mehrere bei 
573 einem Akkord), wird ein Hals-Objekt erstellt und an den 
574 Kopf geheftet. Wenn wir dann noch engraver für Balken, Bögen, 
575 Akzente, Vorzeichen, Taktlinien, Taktangaben und Tonartbezeichnungen 
576 hinzufügen, erhalten wir eine vollständige Notation.
577
578
579 @lilypond[quote,ragged-right]
580 \include "engraver-example.ily"
581 \score { \topVoice }
582 @end lilypond
583
584 @cindex Polyphonie
585 @cindex Mehrstimmigkeit
586 @cindex Notensatz, Mehrstimmigkeit
587 @cindex Kontexte
588
589 Dieses System funktioniert gut für monophone Musik, aber wie geht 
590 es mit Polyphonie? Hier müssen sich mehrere Stimmen ein System teilen.
591
592 @lilypond[quote,ragged-right]
593 \include "engraver-example.ily"
594 \new Staff << \topVoice \\ \botVoice >>
595 @end lilypond
596
597 In diesem Fall benutzen beide Stimmen das System und die Vorzeichen gemeinsam,
598 aber die 
599 Hälse, Bögen, Balken usw. sind jeder einzelnen Stimme eigen. Die engraver 
600 müssen also gruppiert werden. Die Köpfe, Hälse, Bögen usw. werden 
601 in einer Gruppe mit dem Namen @qq{Voice context} (Stimmenkontext) 
602 zusammengefasst, die engraver für den Schlüssel, die Vorzeichen, 
603 Taktstriche usw. dagegen in einer Gruppe mit dem Namen @qq{Staff context} 
604 (Systemkontext). Im Falle von Polyphonie hat ein Staff-Kontext dann also 
605 mehr als nur einen Voice-Kontext. Auf gleiche Weise können auch mehrere Staff-Kontexte
606 in einen großen Score-Kontext (Partiturkontext) eingebunden werden.
607
608
609 @seealso
610 Programmreferenz: @rinternals{Contexts}.
611
612
613 @lilypond[quote,ragged-right]
614 \include "engraver-example.ily"
615 \score {
616    <<
617       \new Staff << \topVoice \\ \botVoice >>
618       \new Staff << \pah \\ \hoom >>
619    >>
620 }
621 @end lilypond
622
623 @node Music representation
624 @unnumberedsubsec Music representation
625
626 @cindex Syntax
627 @cindex rekursive Strukturen
628
629 Idealerweise ist das Eingabeformat für ein komplexes Satzsystem die 
630 abstrakte Beschreibung des Inhaltes. In diesem Fall wäre das die 
631 Musik selber. Das stellt uns aber vor ein ziemlich großes Problem, 
632 denn wie können wir definieren, was Musik wirklich ist? Anstatt darauf 
633 eine Antwort zu suchen, haben wir die Frage einfach umgedreht. Wir
634 schreiben ein Programm, das den Notensatz beherrscht und machen das 
635 Format so einfach wie möglich. Wenn es nicht mehr vereinfacht 
636 werden kann, haben wir per Definition nur noch den reinen Inhalt. Unser 
637 Format dient als die formale Definition eines Musiktextes.
638
639 Die Syntax ist gleichzeitig die Benutzerschnittstelle bei LilyPond, 
640 darum soll sie einfach zu schreiben sein; z. B. bedeutet
641
642 @example
643 c'4 d'8
644 @end example
645
646 @noindent
647 eine Viertel c' und eine Achtel d', wie in diesem Beispiel:
648
649 @lilypond[quote]
650 {
651   c'4 d'8
652 }
653 @end lilypond
654
655 In kleinem Rahmen ist diese Syntax sehr einfach zu benutzen. In 
656 größeren Zusammenhängen aber brauchen wir Struktur. Wie sonst kann 
657 man große Opern oder Symphonien notieren? Diese Struktur wird 
658 gewährleistet durch sog. music expressions (Musikausdrücke): indem 
659 kleine Teile zu größeren kombiniert werden, kann komplexere Musik 
660 dargestellt werden. So etwa hier:
661
662 @lilypond[quote,verbatim,fragment,relative=1]
663 f4
664 @end lilypond
665
666 @noindent
667 Gleichzeitig erklingende Noten werden hinzugefügt, indem man alle in @code{<<} und @code{>>} einschließt.
668
669 @c < > is not a music expression,
670 @c so we use <<>> iso. <> to drive home the point of
671 @c expressions.  Don't change this back --hwn.
672 @example
673 <<c4 d4 e4>>
674 @end example
675
676 @lilypond[quote,fragment,relative=1]
677 \new Voice { <<c4 d4 e>> }
678 @end lilypond
679
680 @noindent
681 Um aufeinanderfolgende Noten darzustellen, werden sie in geschweifte Klammern gefasst:
682
683 @code{@{@tie{}@dots{}@tie{}@}}
684
685 @example
686 @{ f4 <<c4 d4 e4>> @}
687 @end example
688
689 @lilypond[quote,relative=1,fragment]
690 { f4 <<c d e4>> }
691 @end lilypond
692
693 @noindent
694 Dieses Gebilde ist in sich wieder ein Ausdruck, und kann 
695 daher mit einem anderen Ausdruck kombiniert werden (hier mit einer Halben).
696
697 @example
698 << g2 \\ @{ f4 <<c4 d4 e4>> @} >>
699 @end example
700
701 @lilypond[quote,fragment,relative=2]
702 \new Voice { << g2 \\ { f4 <<c d e>> } >> }
703 @end lilypond
704
705 Solche geschachtelten Strukturen können sehr gut in einer 
706 kontextunabhängigen Grammatik beschrieben werden. Der Programmcode 
707 für den Satz ist auch mit solch einer Grammatik erstellt. Die Syntax 
708 von LilyPond ist also klar und ohne Zweideutigkeiten definiert.
709
710 Die Benutzerschnittstelle und die Syntax werden als erstes vom Benutzer 
711 wahrgenommen. Teilweise sind sie eine Frage des Geschmackes und werden viel
712 diskutiert. Auch wenn Geschmacksfragen ihre Berechtigung 
713 haben, sind sie nicht sehr produktiv. Im großen Rahmen von LilyPond 
714 spielt die Eingabe-Syntax nur eine geringe Rolle, denn eine logische 
715 Syntax zu schreiben ist einfach, guten Formatierungscode aber sehr viel 
716 schwieriger. Das kann auch die Zeilenzahl der Programmzeilen zeigen: 
717 Analysieren und Darstellen nimmt nur etwa 10% des Codes ein:
718
719 @node Example applications
720 @unnumberedsubsec Example applications
721
722 @cindex einfaches Beispiel
723 @cindex Beispiel, einfach
724
725 Wir haben LilyPond als einen Versuch geschrieben, wie man die Kunst des 
726 Musiksatzes in ein Computerprogramm gießen kann. Dieses 
727 Programm kann nun dank vieler harter Arbeitsstunden benutzt werden, 
728 um sinnvolle Aufgaben zu erledigen. Die einfachste ist dabei der 
729 Notendruck.
730
731 @lilypond[quote,relative=1]
732 {
733   \time 2/4
734   c4 c g'4 g a4 a g2
735 }
736 @end lilypond
737
738 @noindent
739 Indem wir Akkordsymbole und einen Text hinzufügen, erhalten wir 
740 ein Lead Sheet.
741
742 @lilypond[quote,ragged-right]
743 <<
744    \chords { c2 c f2 c }
745    \new Staff
746    \relative c' {
747      \time 2/4
748      c4 c g' g a a g2
749    }
750    \addlyrics { twin -- kle twin -- kle lit -- tle star }
751 >>
752 @end lilypond
753
754 Mehrstimmige Notation und Klaviermusik kann auch gesetzt werden. Das 
755 nächste Beispiel zeigt einige etwas exotischere Konstruktionen:
756
757 @lilypond[quote]
758 \header {
759   title = "Screech and boink"
760   subtitle = "Random complex notation"
761   composer = "Han-Wen Nienhuys"
762 }
763
764 \score {
765   \context PianoStaff <<
766     \new Staff = "up" {
767       \time 4/8
768       \key c \minor
769       << {
770         \revert Stem #'direction
771         \change Staff = down
772         \set subdivideBeams = ##t
773         g16.[
774           \change Staff = up
775           c'''32
776           \change Staff = down
777           g32
778           \change Staff = up
779           c'''32
780           \change Staff = down
781           g16]
782         \change Staff = up
783         \stemUp
784         \set followVoice = ##t
785         c'''32([ b''16 a''16 gis''16 g''32)]
786       } \\ {
787         s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d'']
788       } \\ {
789         s4 \autoBeamOff d''8.. f''32
790       } \\ {
791         s4 es''4
792       } >>
793     }
794
795     \new Staff = "down" {
796       \clef bass
797       \key c \minor
798       \set subdivideBeams = ##f
799       \override Stem  #'french-beaming = ##t
800       \override Beam  #'thickness = #0.3
801       \override Stem  #'thickness = #4.0
802       g'16[ b16 fis16 g16]
803       << \makeClusters {
804         as16 <as b>
805         <g b>
806         <g cis>
807       } \\ {
808         \override Staff.Arpeggio  #'arpeggio-direction =#down
809         <cis, e, gis, b, cis>4\arpeggio
810       }
811     >> }
812   >>
813   \midi {
814     \context {
815       \Score
816       tempoWholesPerMinute = #(ly:make-moment 60 8)
817     }
818   }
819   \layout {
820     \context {
821       \Staff
822       \consists Horizontal_bracket_engraver
823     }
824   }
825 }
826 @end lilypond
827
828 Die obenstehenden Beispiele wurde manuell erstellt, aber das ist nicht 
829 die einzige Möglichkeit. Da der Satz fast vollständig automatisch abläuft, 
830 kann er auch von anderen Programmen angesteuert werden, die Musik oder Noten
831 verarbeiten. So können etwa ganze Datenbanken musikalischer Fragmente automatisch 
832 in Notenbilder umgewandelt werden, die dann auf Internetseiten oder 
833 in Multimediapräsentation Anwendung finden.
834
835 Dieses Benutzerhandbuch zeigt eine weitere Möglichkeit: Die Noten werden als 
836 reiner Text eingegeben und können darum sehr einfach integriert werden
837 in andere textbasierte Formate wie etwa @LaTeX{}, HTML oder, wie in diesem 
838 Fall, Texinfo. Durch ein spezielles Programm werden die Eingabefragmente durch 
839 Notenbilder in der resultierenden PDF- oder HTML-Datei ersetzt. Dadurch ist
840 es sehr einfach, Noten und Text zu kombinieren.
841
842
843
844 @node About the documentation
845 @section About the documentation
846
847 @cindex Handbuch zum Lernen
848 @cindex Glossar
849 @cindex Anwendungsbenutzung
850 @cindex Schnipselliste
851 @cindex Referenz der Interna
852
853 Die Dokumentation zu LilyPond ist unterteilt in mehrere Handbücher.
854
855 @c leave these lines wrapping around.  It's some texinfo 4.12 thing. -gp
856 @c This is actually a limitation of texi2html. -jm
857 @menu
858 * About the Learning Manual::  Dieses Handbuch stellt LilyPond vor und vermittelt die Grundkenntnisse, um damit arbeiten zu können.
859 * About the Music Glossary::  Dieses Handbuch erklärt zahlreiche musikalische Fachausdrücke inklusive Übersetzungen in verschiedene Sprachen.
860 * About the Notation Reference::  Dieses Handbuch stellt den Hauptteil der Dokumentation dar.  Es liefert detaillierte Informationen zum Notensatz mit LilyPond.  Als Voraussetzung werden die Kenntnisse des @qq{Handbuchs zum Lernen} angenommen.
861 * About the Application Usage::  Dieses Handbuch diskutiert den konkreten Aufruf des @qq{lilypond}-Programms und wie LilyPond-Notensatz in andere Programme integriert werden kann.
862 * About the Snippet List::  Dies ist eine Sammlung von kurzen LilyPond-Beispielen.
863 * About the Internals Reference::  Dieses Dokument liefert Referenzwissen über LilyPonds interne Strukturen und ist vor allem bei der Erstellung von tiefergehenden Optimierungen und Anpassungen hilfreich.
864 * Other documentation::         Es existieren noch etliche weitere Teile der Dokumentation, wie etwa die @q{Neueigkeiten} Seite oder das Archiv der Mailingliste.
865 @end menu
866
867
868 @node About the Learning Manual
869 @unnumberedsubsec About the Learning Manual
870
871 @cindex Handbuch zum Lernen
872
873 Dieses Handbuch erklärt die Grundbegriffe von LilyPond und stellt 
874 die fundamentalen Konzepte hinter dem Programm vor. Diese Kapitel sollten
875 in linearer Reihenfolge gelesen werden.
876
877 Am Ende jedes Abschnitts findet sich ein Absatz @strong{Siehe auch}, der
878 Kreuzreferenzen zu anderen Abschnitten enthält. Beim ersten Durchlesen
879 empfiehlt es sich nicht, diesen gleich zu folgen, da meist noch
880 zahlreiche Grundbegriffe zum Verständnis fehlen. Wenn Sie sich durch
881 das Handbuch zum Lernen geackert haben, wollen Sie vielleicht einzelne 
882 Abschnitte nochmal durchgehen und dann den Kreuzverweisen zur Vertiefung
883 der Zusammenhänge folgen.
884
885 @itemize
886
887 @item
888 @ref{Introduction}: erklärt den Hintergrund und das Ziel von LilyPond.
889
890 @item
891 @ref{Tutorial}: liefert eine einfache Einführung in das Setzen von Musik 
892 mit LilyPond. Neulinge sollten mit diesem Kapitel beginnen.
893
894 @item
895 @ref{Fundamental concepts}: erklärt etliche allgemeine Konzepte
896 hinter dem Dateiformat von LilyPond. Wenn Sie sich nicht sicher 
897 sind, an welcher Stelle Sie einen Befehl in die Datei einfügen sollen,
898 ist dieses Kapitel genau das richtige!
899
900 @item
901 @ref{Tweaking output}: stellt dar, wie die Standardeinstellungen von 
902 LilyPond verändert werden können.
903
904 @item
905 @ref{Working on LilyPond projects}: liefert Tipps im praktischen Umgang mit
906 Lilypond und gibt Hinweise, wie gängige Fehler vermieden werden können. 
907 Bevor Sie mit einem großen Projekt beginnen, sollten Sie dieses Kapitel 
908 unbedingt gelesen haben!
909
910 @end itemize
911
912 Das Handbuch zum Lernen enthält auch zahlreiche Anhänge, die nicht
913 zum linearen Durchlesen geeignet sind.  Sie sind allerdings zur späteren
914 Referenz sehr gut geeignet:
915
916 @itemize
917
918 @item
919 @ref{Templates}: zeigt einige fertige Dokumentvorlagen für diverse
920 Stücke mit unterschiedlichen Charakteristika.  Kopieren Sie einfach 
921 die Vorlagen in Ihre eigene Datei, fügen Sie die Noten hinzu und Sie 
922 sind fertig!
923
924 @item
925 @ref{Scheme tutorial}: liefert eine kurze Einführung in Scheme, die
926 Programmiersprache, die die Musikfunktionen in LilyPond intern benutzen.  
927 Dies stellt tiefgehendes Wissen dar, wenn Sie LilyPond bis ins kleinste Detail
928 konfigurieren möchten. Die meisten Benutzer brauchen dies jedoch selten bis 
929 gar nicht.
930
931 @end itemize
932
933
934 @node About the Music Glossary
935 @unnumberedsubsec About the Music Glossary
936
937 @cindex Idiom
938 @cindex Jargon
939 @cindex Terminologie
940 @cindex Übersetzungen
941 @cindex Sprachen
942 @cindex Glossar
943 @cindex Thesaurus
944 @cindex Fremdsprache
945
946 @rglosnamed{Top,Das Glossar} erklärt musikalische Fachausdrücke und 
947 enthält auch deren Übersetzungen in diverse Sprachen.  Wenn Sie mit
948 Musiknotation oder der (englisch-sprachigen) Musikterminologie nicht vertraut 
949 sind (vor allem, wenn Englisch nicht Ihre Muttersprache ist), ist es
950 sehr empfehlenswert, das Glossar immer wieder zu Rate zu ziehen.
951
952
953 @node About the Notation Reference
954 @unnumberedsubsec About the Notation Reference
955
956 @cindex Notationsreferenz
957 @cindex Anhänge
958 @cindex Referenz zum Notensatz
959
960 In diesem Buch werden alle LilyPond-Befehle erklärt, die Notationszeichen 
961 produzieren. Es geht von der Annahme aus, dass der Leser sich mit den 
962 Grundkonzepten des Programmes im Handbuch zum Lernen bekannt gemacht hat.
963
964 @itemize @bullet
965
966 @item
967 @emph{@ruser{Musical notation}}:
968 erklärt alles über die grundlegenden Notationskonstruktionen. Dieses Kapitel 
969 ist für fast jedes Notationsprojekt nützlich.
970
971 @item
972 @emph{@ruser{Specialist notation}}:
973 erklärt spezifische Schwierigkeiten, die sich bei bestimmten Notationstypen 
974 ergeben. Dieses Kapitel ist nur in entsprechenden Fällen bestimmter Instrumente 
975 oder bei Gesang zu konsultieren.
976
977 @item
978 @emph{@ruser{General input and output}}:
979 erläutert allgemeine Informationen über die Eingabedateien von Lilypond und
980 wie die Ausgabe gesteuert werden kann.
981
982 @item
983 @emph{@ruser{Spacing issues}}:
984 befasst sich mit globalen Fragen wie der Definition von Papierformaten 
985 oder wie man Seitenumbrüche definiert.
986
987 @item
988 @emph{@ruser{Changing defaults}}:
989 erklärt, wie des Layout getrimmt werden kann um genau zum gewünschten Ergebnis 
990 zu kommen.
991
992 @item
993 @emph{@ruser{Interfaces for programmers}}:
994 demonstriert die Erstellung von musikalischen Funktionen.
995
996 @end itemize
997
998 Ds Benutzerhandbuch enthält auch Anhänge mit nützlichen Referenztabellen.
999
1000 @itemize
1001
1002 @item
1003 Die @ruser{Literature list}
1004 enthält einige wichtige Quellen für alle, die mehr über Notation und 
1005 den Notensatz erfahren wollen.
1006
1007 @item
1008 @ruser{Notation manual tables}
1009 sind Tabellen, in denen Akkordbezeichnungen, MIDI-Instrumente, 
1010 Farbbezeichnungen und die Zeichen der Feta-Schriftart gesammelt sind.
1011
1012 @item
1013 Die
1014 @emph{@ruser{Cheat sheet}}
1015 zeigt die wichtigsten LilyPond-Befehle.
1016
1017 @item
1018 Der
1019 @emph{@ruser{LilyPond command index}}
1020 listet alle Befehle auf, die mit @code{\} anfangen.
1021
1022 @item
1023 Der 
1024 @emph{@ref{LilyPond index}}
1025 ist ein vollständiger Index.
1026
1027 @end itemize
1028
1029
1030
1031 @node About the Application Usage
1032 @unnumberedsubsec About the Application Usage
1033
1034 @cindex Anwendungsbenutzung
1035 @cindex Benutzung, lilypond-Programm
1036 @cindex Integration von LilyPond in andere Programme
1037
1038 In diesem Buch wird erklärt, wie das Programm ausgeführt wird und 
1039 wie die Notation von LilyPond in andere Programme integriert werden 
1040 kann.
1041
1042 @itemize @bullet
1043
1044 @item
1045 @emph{@rprogram{Install}}:
1046 erklärt wie LilyPond installiert wird (inklusive Kompilation, wenn es 
1047 nötig sein sollte).
1048
1049 @item
1050 @emph{@rprogram{Setup}}:
1051 erklärt wie der Computer eingerichtet wird, damit LilyPond optimal genutzt 
1052 werden kann. Hierzu gehören etwa spezielle Umgebungen für bestimmte 
1053 Texteditoren.
1054
1055 @item
1056 @emph{@rprogram{Running LilyPond}}:
1057 zeigt, wie LilyPond und seine Hilfsprogramme gestartet werden. Zusätzlich 
1058 wird hier erklärt, wie Quelldateien von alten LilyPond-Versionen aktualisiert 
1059 werden können.
1060
1061 @item
1062 @emph{@rprogram{LilyPond-book}}:
1063 erklärt die Details, um einen Text mit eingefügten Notenbeispielen (wie 
1064 etwa dieses Handbuch) zu 
1065 erstellen.
1066
1067 @item
1068 @emph{@rprogram{Converting from other formats}}:
1069 erklärt, wie die Konvertierungsprogramme aufgerufen werden. Diese 
1070 Programme kommen mit LilyPond zusammen und konvertieren eine Vielzahl 
1071 von Notensatzformaten in das @code{.ly}-Format.
1072
1073 @end itemize
1074
1075
1076 @node About the Snippet List
1077 @unnumberedsubsec About the Snippet List
1078
1079 @cindex Schnipsel
1080 @cindex LSR
1081 @cindex LilyPond Snippet Repository
1082 @cindex LilyPond-Schnipsel-Depot
1083
1084 Die @rlsrnamed{Top,LilyPond-Schnipsel} sind eine ausführliche Sammlung kurzer 
1085 Beispiele, anhand derer Tricks, Tipps und Spezialfunktionen von LilyPond
1086 demonstriert werden. Die meisten dieser Schnipsel können auch im 
1087  @uref{http://lsr.dsi.unimi.it/,LilyPond-Schnipsel-Depot} betrachtet 
1088 werden. Diese Internetseite verfügt auch über ein 
1089 durchsuchbares LilyPond-Handbuch.
1090
1091 Die Liste der Schnipsel zu einem Abschnitt des Benutzerhandbuchs ist auch
1092 dort jeweils im Abschnitt @strong{Siehe auch} verlinkt.
1093
1094
1095 @node About the Internals Reference
1096 @unnumberedsubsec About the Internals Reference
1097
1098 @cindex Referenz der Interna
1099
1100 Die @rinternalsnamed{Top,Referenz der Interna} ist eine Sammlung intensiv 
1101 verlinkter HTML-Seiten, die alle Details jeder einzelnen 
1102 LilyPond-Klasse, jedes Objektes und jeder Funktion erklären. Sie wird 
1103 direkt aus den Satzdefinitionen im Quellcode produziert.
1104
1105 So gut wie alle Formatierungsmöglichkeiten, die intern verwendet werden, 
1106 sind auch direkt für den Benutzer zugänglich. Alle Variablen z. B., die
1107 Dicke-Werte, Entfernungen usw. kontrollieren, können in den Eingabe-Dateien 
1108 verändert werden. Es gibt eine riesige Anzahl von Formatierungsoptionen, und 
1109 alle haben einen @qq{Siehe}-Abschnitt, der auf die Dokumentation verweist.
1110 Im HTML-Handbuch haben diese Abschnitte klickbare Links.
1111
1112 Die Programmreferenz ist nur auf englisch verfügbar.
1113
1114
1115 @node Other documentation
1116 @unnumberedsubsec Other documentation
1117
1118 Es gibt noch eine Reihe weiterer wertvoller Informationsquellen zu LilyPond:
1119
1120
1121 @itemize
1122
1123 @item
1124 @ifhtml
1125 @ifset bigpage
1126 @uref{../topdocs/NEWS.html,Neuigkeiten}:
1127 @end ifset
1128 @ifclear bigpage
1129 @uref{../../topdocs/NEWS.html,Neuigkeiten}:
1130 @end ifclear
1131 @end ifhtml
1132 @ifnothtml
1133 Neuigkeiten:
1134 @end ifnothtml
1135 eine Zusammenfassung der Änderungen in LilyPond seit der letzten Version.
1136
1137 @item @uref{http://lists.gnu.org/archive/html/lilypond-user/,Das Archiv 
1138 der lilypond-user Mailing-Liste}: enthält alle bisher an die Liste
1139 gesendeten Mails.  Viele Fragen werden immer wieder gestellt und auch
1140 beantwortet.  Die Chance, dass Ihre Frage auch schon mal aufgetaucht ist,
1141 ist also relativ groß.  In diesem Fall finden Sie die Antwort in diesem
1142 Archiv.
1143
1144 @item @uref{http://lists.gnu.org/archive/html/lilypond-devel/,Das Archiv
1145 der lilypond-devel Mailing-Liste}: enthält alle bisher an die 
1146 Entwicklerliste gesendeten Mails.  Diese Diskussionen sind dementsprechend
1147 technisch gehalten.  Wenn Sie eine tiefergehende Frage zu den Interna von 
1148 LilyPond haben, finden Sie die Antwort vielleicht in diesem Archiv.
1149
1150 @item Eingebettete Musikbeispiele: Auf allen HTML-Seiten mit Notenbeispielen,
1151 die von LilyPond erzeugt wurden, kann die originale Quelldatei durch einen Klick auf das 
1152 Bild betrachtet werden.
1153
1154 @item Initialisierungsdateien von LilyPond:
1155
1156 Der Speicherort der Dokumentationsdateien unterscheidet sich evtl. je 
1157 nach Betriebssystem. Manchmal wird hier auf Initialisierungs- oder 
1158 Beispieldateien verwiesen. Das Handbuch nimmt dabei an, dass diese 
1159 Dateien sich relativ zum Quellverzeichnis befinden. Zum Beispiel würde 
1160 der Pfad @file{input/@/lsr/@/Verzeichnis/@/bla@/.ly} etwa auf die Datei 
1161 @file{lilypond@/2.x.y/@/input/@/lsr/@/Verzeichnis/@/bla@/.ly} verweisen. In den 
1162 Binärpaketen für Unix-Plattformen sind Dokumentation und Beispiele 
1163 üblicherweise in einem Verzeichnis wie @file{/usr/@/share/@/doc/@/lilypond/}
1164 gespeichert. Initialisierungsdateien, etwa  @file{scm/@/lily@/.scm}
1165 oder @file{ly/@/engraver@/-init@/.ly}, befinden sich normalerweise im 
1166 Verzeichnis @file{/usr/@/share/@/lilypond/}.
1167
1168 Weiterführende Informationen finden Sie unter @ref{Other sources of information}.
1169
1170 @end itemize
1171