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