]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/de/user/introduction.itely
Merge branch 'lilypond/translation' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond
[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: 2c00bdbfaf62dd90863331c4713e6b29e32c9322
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
375             (grob-interpret-markup grob
376               (make-lower-markup 0.5
377                 (case pos
378                   ((-5) "m")
379                   ((-3) "c ")
380                   ((-2) (make-smaller-markup (make-bold-markup "2")))
381                   (else "bla")))))))))
382
383 \new Voice \relative c' {
384   \stemUp
385   \set autoBeaming = ##f
386   \time 2/4
387   <d f g>4
388   \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
389   \once \override NoteHead #'font-size = #-7
390   \once \override NoteHead #'font-family = #'sans
391   \once \override NoteHead #'font-series = #'bold
392   <d f g>4
393   \once \override NoteHead #'style = #'cross
394   <d f g>4
395   \applyOutput #'Voice #mc-squared
396   <d f g>4
397   <<
398     { d8[ es-( fis^^ g] fis2-) }
399     \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
400   >>
401 }
402 @end lilypond
403
404
405
406 @node What symbols to engrave?
407 @unnumberedsubsec What symbols to engrave?
408
409 @cindex Notensatz
410 @cindex Typographie
411 @cindex Stempel
412 @cindex Matrize
413 @cindex Engraver
414 @cindex Plugin
415
416 Während des Notensatzprozesses entscheidet sich, wo
417 Symbole platziert werden. Das kann aber nur gelingen, 
418 wenn vorher entschieden wird, @emph{welche} Symbole
419 gesetzt werden sollen, also welche Notation benutzt
420 werden soll.
421
422 Die heutige Notation ist ein System zur Musikaufzeichnung,
423 das sich über die letzten 1000 Jahre entwickelt hat. Die 
424 Form, die heute üblicherweise benutzt wird, stammt aus dem 
425 frühen Barock. Auch wenn sich die grundlegenden Formen (also
426 die Notenköpfe, das Fünfliniensystem) nicht verändert haben, 
427 entwickeln sich die Details trotzdem immer noch weiter, um 
428 die Errungenschaften der Neuen Musik darstellen zu können. Die 
429 Notation umfasst also 500 Jahre Musikgeschichte. Ihre Anwendung 
430 reicht von monophonen Melodien bis zu ungeheurem Kontrapunkt 
431 für großes Orchester.
432
433 Wie bekommen wir dieses vielköpfige Monster zu fassen? 
434 Unsere Lösung ist es, eine strikte Trennung zwischen der Notation, 
435 also welche Symbole benutzt werden, und dem Satz, also wohin sie 
436 gesetzt werden, zu machen. Um das Problem anzupacken, haben wir 
437 es in kleine (programmierbare) Happen zerteilt, so dass jede Art 
438 von Symbol durch ein eigenes Plugin verarbeitet wird. Alle Plugins
439  kooperieren durch die LilyPond-Architektur. Sie sind vollständig 
440 modular und unabhängig und können somit auch unabhängig voneinander
441  entwickelt werden. Der Schreiber, der die Musik in Graphik umwandelt,
442  ist ein Kopist oder Notenstecher (engl. engraver). Darum werden 
443 die Plugins  als @code{engraver} bezeichnet.
444
445 Im nächsten Beispiel wird gezeigt, wie mit dem Plugin für die Notenköpfe, 
446 dem @code{Note_heads_engraver} (@qq{Notenkopfstecher}) der Satz begonnen wird.
447
448 @lilypond[quote,ragged-right]
449 \include "engraver-example.ily"
450
451 \score {
452   \topVoice
453   \layout {
454     \context {
455       \Voice
456       \remove "Stem_engraver"
457       \remove "Phrasing_slur_engraver"
458       \remove "Slur_engraver"
459       \remove "Script_engraver"
460       \remove "Beam_engraver"
461       \remove "Auto_beam_engraver"
462     }
463     \context {
464       \Staff
465       \remove "Accidental_engraver"
466       \remove "Key_engraver"
467       \remove "Clef_engraver"
468       \remove "Bar_engraver"
469       \remove "Time_signature_engraver"
470       \remove "Staff_symbol_engraver"
471       \consists "Pitch_squash_engraver"
472     }
473   }
474 }
475 @end lilypond
476
477 @noindent
478 Dann fügt ein @code{Staff_symbol_engraver} (@qq{Notensystemstecher}) 
479 die Notenlinien hinzu.
480
481 @lilypond[quote,ragged-right]
482 \include "engraver-example.ily"
483
484 \score {
485   \topVoice
486   \layout {
487     \context {
488       \Voice
489       \remove "Stem_engraver"
490       \remove "Phrasing_slur_engraver"
491       \remove "Slur_engraver"
492       \remove "Script_engraver"
493       \remove "Beam_engraver"
494       \remove "Auto_beam_engraver"
495     }
496     \context {
497       \Staff
498       \remove "Accidental_engraver"
499       \remove "Key_engraver"
500       \remove "Clef_engraver"
501       \remove "Bar_engraver"
502       \consists "Pitch_squash_engraver"
503       \remove "Time_signature_engraver"
504     }
505   }
506 }
507 @end lilypond
508
509 @noindent
510 Der @code{Clef_engraver} (@qq{Notenschlüsselstecher}) definiert 
511 eine Referenzstelle für das System.
512
513 @lilypond[quote,ragged-right]
514 \include "engraver-example.ily"
515
516 \score {
517   \topVoice
518   \layout {
519     \context {
520       \Voice
521       \remove "Stem_engraver"
522       \remove "Phrasing_slur_engraver"
523       \remove "Slur_engraver"
524       \remove "Script_engraver"
525       \remove "Beam_engraver"
526       \remove "Auto_beam_engraver"
527     }
528     \context {
529       \Staff
530       \remove "Accidental_engraver"
531       \remove "Key_engraver"
532       \remove "Bar_engraver"
533       \remove "Time_signature_engraver"
534     }
535   }
536 }
537 @end lilypond
538
539 @noindent
540 Der @code{Stem_engraver} (@qq{Halsstecher}) schließlich fügt
541  Hälse hinzu.
542
543 @lilypond[quote,ragged-right]
544 \include "engraver-example.ily"
545
546 \score {
547   \topVoice
548   \layout {
549     \context {
550       \Voice
551       \remove "Phrasing_slur_engraver"
552       \remove "Slur_engraver"
553       \remove "Script_engraver"
554       \remove "Beam_engraver"
555       \remove "Auto_beam_engraver"
556     }
557     \context {
558       \Staff
559       \remove "Accidental_engraver"
560       \remove "Key_engraver"
561       \remove "Bar_engraver"
562       \remove "Time_signature_engraver"
563     }
564   }
565 }
566 @end lilypond
567
568 @noindent
569 Dem @code{Stem_engraver} wird jeder Notenkopf mitgeteilt, 
570 der vorkommt. Jedes Mal, wenn ein Notenkopf erscheint (oder mehrere bei 
571 einem Akkord), wird ein Hals-Objekt erstellt und an den 
572 Kopf geheftet. Wenn wir dann noch engraver für Balken, Bögen, 
573 Akzente, Vorzeichen, Taktlinien, Taktangaben und Tonartbezeichnungen 
574 hinzufügen, erhalten wir eine vollständige Notation.
575
576
577 @lilypond[quote,ragged-right]
578 \include "engraver-example.ily"
579 \score { \topVoice }
580 @end lilypond
581
582 @cindex Polyphonie
583 @cindex Mehrstimmigkeit
584 @cindex Notensatz, Mehrstimmigkeit
585 @cindex Kontexte
586
587 Dieses System funktioniert gut für monophone Musik, aber wie geht 
588 es mit Polyphonie? Hier müssen sich mehrere Stimmen ein System teilen.
589
590 @lilypond[quote,ragged-right]
591 \include "engraver-example.ily"
592 \new Staff << \topVoice \\ \botVoice >>
593 @end lilypond
594
595 In diesem Fall benutzen beide Stimmen das System und die Vorzeichen gemeinsam,
596 aber die 
597 Hälse, Bögen, Balken usw. sind jeder einzelnen Stimme eigen. Die engraver 
598 müssen also gruppiert werden. Die Köpfe, Hälse, Bögen usw. werden 
599 in einer Gruppe mit dem Namen @qq{Voice context} (Stimmenkontext) 
600 zusammengefasst, die engraver für den Schlüssel, die Vorzeichen, 
601 Taktstriche usw. dagegen in einer Gruppe mit dem Namen @qq{Staff context} 
602 (Systemkontext). Im Falle von Polyphonie hat ein Staff-Kontext dann also 
603 mehr als nur einen Voice-Kontext. Auf gleiche Weise können auch mehrere Staff-Kontexte
604 in einen großen Score-Kontext (Partiturkontext) eingebunden werden.
605
606
607 @seealso
608 Programmreferenz: @rinternals{Contexts}.
609
610
611 @lilypond[quote,ragged-right]
612 \include "engraver-example.ily"
613 \score {
614    <<
615       \new Staff << \topVoice \\ \botVoice >>
616       \new Staff << \pah \\ \hoom >>
617    >>
618 }
619 @end lilypond
620
621 @node Music representation
622 @unnumberedsubsec Music representation
623
624 @cindex Syntax
625 @cindex rekursive Strukturen
626
627 Idealerweise ist das Eingabeformat für ein höheres Satzsystem die 
628 abstrakte Beschreibung des Inhaltes. In diesem Fall wäre das die 
629 Musik selber. Das stellt uns aber vor ein ziemlich großes Problem, 
630 denn wie können wir definieren, was Musik wirklich ist? Anstatt darauf 
631 eine Antwort zu suchen, haben wir die Frage einfach umgedreht. Wir
632 schreiben ein Programm, das den Notensatz beherrscht und passen das 
633 Format an, so einfach wie möglich zu sein. Wenn es nicht mehr vereinfacht 
634 werden kann, haben wir per Definition nur noch den reinen Inhalt. Unser 
635 Format dient als die formale Definition eines Musiktextes.
636
637 Die Syntax ist gleichzeitig die Benutzerschnittstelle bei LilyPond, 
638 darum soll sie einfach zu schreiben sein; z. B. bedeutet
639
640 @example
641 c'4 d'8
642 @end example
643
644 @noindent
645 eine Viertel c' und eine Achtel d', wie in diesem Beispiel:
646
647 @lilypond[quote]
648 {
649   c'4 d'8
650 }
651 @end lilypond
652
653 In kleinem Rahmen ist diese Syntax sehr einfach zu benutzen. In 
654 größeren Zusammenhängen aber brauchen wir Struktur. Wie sonst kann 
655 man große Opern oder Symphonien notieren? Diese Struktur wird 
656 gewährleistet durch sog. music expressions (Musikausdrücke): indem 
657 kleine Teile zu größeren kombiniert werden, kann komplexere Musik 
658 dargestellt werden. So etwa hier:
659
660 @lilypond[quote,verbatim,fragment,relative=1]
661 f4
662 @end lilypond
663
664 @noindent
665 Gleichzeitig erklingende Noten werden hinzugefügt, indem man alle in @code{<<} und @code{>>} einschließt.
666
667 @c < > is not a music expression,
668 @c so we use <<>> iso. <> to drive home the point of
669 @c expressions.  Don't change this back --hwn.
670 @example
671 <<c4 d4 e4>>
672 @end example
673
674 @lilypond[quote,fragment,relative=1]
675 \new Voice { <<c4 d4 e>> }
676 @end lilypond
677
678 @noindent
679 Um aufeinanderfolgende Noten darzustellen, werden sie in geschweifte Klammern gefasst:
680
681 @code{@{@tie{}@dots{}@tie{}@}}
682
683 @example
684 @{ f4 <<c4 d4 e4>> @}
685 @end example
686
687 @lilypond[quote,relative=1,fragment]
688 { f4 <<c d e4>> }
689 @end lilypond
690
691 @noindent
692 Dieses Gebilde ist in sich wieder ein Ausdruck, und kann 
693 daher mit einem anderen Ausdruck kombiniert werden (hier mit einer Halben).
694
695 @example
696 << g2 \\ @{ f4 <<c4 d4 e4>> @} >>
697 @end example
698
699 @lilypond[quote,fragment,relative=2]
700 \new Voice { << g2 \\ { f4 <<c d e>> } >> }
701 @end lilypond
702
703 Solche geschachtelten Strukturen können sehr gut in einer 
704 kontextunabhängigen Grammatik beschrieben werden. Der Programmcode 
705 für den Satz ist auch mit solch einer Grammatik erstellt. Die Syntax 
706 von LilyPond ist also klar und ohne Zweideutigkeiten definiert.
707
708 Die Benutzerschnittstelle und die Syntax werden als erstes vom Benutzer 
709 wahrgenommen. Teilweise sind sie eine Frage des Geschmackes und werden viel
710 diskutiert. Auch wenn Geschmacksfragen ihre Berechtigung 
711 haben, sind sie nicht sehr produktiv. Im großen Rahmen von LilyPond 
712 spielt die Eingabe-Syntax nur eine geringe Rolle, denn eine logische 
713 Syntax zu schreiben ist einfach, guten Formatierungscode aber sehr viel 
714 schwieriger. Das kann auch die Zeilenzahl der Programmzeilen zeigen: 
715 Analysieren und Darstellen nimmt nur etwa 10% des Codes ein:
716
717 @node Example applications
718 @unnumberedsubsec Example applications
719
720 @cindex einfaches Beispiel
721 @cindex Beispiel, einfach
722
723 Wir haben LilyPond als einen Versuch geschrieben, wie man die Kunst des 
724 Musiksatzes in ein Computerprogramm gießen kann. Dieses 
725 Programm kann nun dank vieler harter Arbeitsstunden benutzt werden, 
726 um sinnvolle Aufgaben zu erledigen. Die einfachste ist dabei der 
727 Notendruck.
728
729 @lilypond[quote,relative=1]
730 {
731   \time 2/4
732   c4 c g'4 g a4 a g2
733 }
734 @end lilypond
735
736 @noindent
737 Indem wir Akkordsymbole und einen Text hinzufügen, erhalten wir 
738 ein Lead Sheet.
739
740 @lilypond[quote,ragged-right]
741 <<
742    \chords { c2 c f2 c }
743    \new Staff
744    \relative c' {
745      \time 2/4
746      c4 c g' g a a g2
747    }
748    \addlyrics { twin -- kle twin -- kle lit -- tle star }
749 >>
750 @end lilypond
751
752 Mehrstimmige Notation und Klaviermusik kann auch gesetzt werden. Das 
753 nächste Beispiel zeigt einige etwas exotischere Konstruktionen:
754
755 @lilypond[quote]
756 \header {
757   title = "Screech and boink"
758   subtitle = "Random complex notation"
759   composer = "Han-Wen Nienhuys"
760 }
761
762 \score {
763   \context PianoStaff <<
764     \new Staff = "up" {
765       \time 4/8
766       \key c \minor
767       << {
768         \revert Stem #'direction
769         \change Staff = down
770         \set subdivideBeams = ##t
771         g16.[
772           \change Staff = up
773           c'''32
774           \change Staff = down
775           g32
776           \change Staff = up
777           c'''32
778           \change Staff = down
779           g16]
780         \change Staff = up
781         \stemUp
782         \set followVoice = ##t
783         c'''32([ b''16 a''16 gis''16 g''32)]
784       } \\ {
785         s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d'']
786       } \\ {
787         s4 \autoBeamOff d''8.. f''32
788       } \\ {
789         s4 es''4
790       } >>
791     }
792
793     \new Staff = "down" {
794       \clef bass
795       \key c \minor
796       \set subdivideBeams = ##f
797       \override Stem  #'french-beaming = ##t
798       \override Beam  #'thickness = #0.3
799       \override Stem  #'thickness = #4.0
800       g'16[ b16 fis16 g16]
801       << \makeClusters {
802         as16 <as b>
803         <g b>
804         <g cis>
805       } \\ {
806         \override Staff.Arpeggio  #'arpeggio-direction =#down
807         <cis, e, gis, b, cis>4\arpeggio
808       }
809     >> }
810   >>
811   \midi {
812     \context {
813       \Score
814       tempoWholesPerMinute = #(ly:make-moment 60 8)
815     }
816   }
817   \layout {
818     \context {
819       \Staff
820       \consists Horizontal_bracket_engraver
821     }
822   }
823 }
824 @end lilypond
825
826 Die obenstehenden Beispiele wurde manuell erstellt, aber das ist nicht 
827 die einzige Möglichkeit. Da der Satz fast vollständig automatisch abläuft, 
828 kann er auch von anderen Programmen angesteuert werden, die Musik oder Noten
829 verarbeiten. So können etwa ganze Datenbanken musikalischer Fragmente automatisch 
830 in Notenbilder umgewandelt werden, die dann auf Internetseiten oder 
831 in Multimediapräsentation Anwendung finden.
832
833 Dieses Benutzerhandbuch zeigt eine weitere Möglichkeit: Die Noten werden als 
834 reiner Text eingegeben und können darum sehr einfach integriert werden
835 in andere textbasierte Formate wie etwa @LaTeX{}, HTML oder, wie in diesem 
836 Fall, Texinfo. Durch ein spezielles Programm werden die Eingabefragmente durch 
837 Notenbilder in der resultierenden PDF- oder HTML-Datei ersetzt. Dadurch ist
838 es sehr einfach, Noten und Text zu kombinieren.
839
840
841
842 @node About the documentation
843 @section About the documentation
844
845 @cindex Handbuch zum Lernen
846 @cindex Glossar
847 @cindex Anwendungsbenutzung
848 @cindex Schnipselliste
849 @cindex Referenz der Interna
850
851 Die Dokumentation zu LilyPond ist unterteilt in mehrere Handbücher.
852
853 @c leave these lines wrapping around.  It's some texinfo 4.12 thing. -gp
854 @c This is actually a limitation of texi2html. -jm
855 @menu
856 * About the Learning Manual::  Dieses Handbuch stellt LilyPond vor und vermittelt die Grundkenntnisse, um damit arbeiten zu können.
857 * About the Music Glossary::  Dieses Handbuch erklärt zahlreiche musikalische Fachausdrücke inklusive Übersetzungen in verschiedene Sprachen.
858 * 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.
859 * About the Application Usage::  Dieses Handbuch diskutiert den konkreten Aufruf des @qq{lilypond}-Programms und wie LilyPond-Notensatz in andere Programme integriert werden kann.
860 * About the Snippet List::  Dies ist eine Sammlung von kurzen LilyPond-Beispielen.
861 * 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.
862 * Other documentation::         Es existieren noch etliche weitere Teile der Dokumentation, wie etwa die @q{Neueigkeiten} Seite oder das Archiv der Mailingliste.
863 @end menu
864
865
866 @node About the Learning Manual
867 @unnumberedsubsec About the Learning Manual
868
869 @cindex Handbuch zum Lernen
870
871 Dieses Handbuch erklärt die Grundbegriffe von LilyPond und stellt 
872 die fundamentalen Konzepte hinter dem Programm vor. Diese Kapitel sollten
873 in linearer Reihenfolge gelesen werden.
874
875 Am Ende jedes Abschnitts findet sich ein Absatz @strong{Siehe auch}, der
876 Kreuzreferenzen zu anderen Abschnitten enthält. Beim ersten Durchlesen
877 empfiehlt es sich nicht, diesen gleich zu folgen, da meist noch
878 zahlreiche Grundbegriffe zum Verständnis fehlen. Wenn Sie sich durch
879 das Handbuch zum Lernen geackert haben, wollen Sie vielleicht einzelne 
880 Abschnitte nochmal durchgehen und dann den Kreuzverweisen zur Vertiefung
881 der Zusammenhänge folgen.
882
883 @itemize
884
885 @item
886 @ref{Introduction}: erklärt den Hintergrund und das Ziel von LilyPond.
887
888 @item
889 @ref{Tutorial}: liefert eine einfache Einführung in das Setzen von Musik 
890 mit LilyPond. Neulinge sollten mit diesem Kapitel beginnen.
891
892 @item
893 @ref{Fundamental concepts}: erklärt etliche allgemeine Konzepte
894 hinter dem Dateiformat von LilyPond. Wenn Sie sich nicht sicher 
895 sind, an welcher Stelle Sie einen Befehl in die Datei einfügen sollen,
896 ist dieses Kapitel genau das richtige!
897
898 @item
899 @ref{Tweaking output}: stellt dar, wie die Standardeinstellungen von 
900 LilyPond verändert werden können.
901
902 @item
903 @ref{Working on LilyPond projects}: liefert Tipps im praktischen Umgang mit
904 Lilypond und gibt Hinweise, wie gängige Fehler vermieden werden können. 
905 Bevor Sie mit einem großen Projekt beginnen, sollten Sie dieses Kapitel 
906 unbedingt gelesen haben!
907
908 @end itemize
909
910 Das Handbuch zum Lernen enthält auch zahlreiche Anhänge, die nicht
911 zum linearen Durchlesen geeignet sind.  Sie sind allerdings zur späteren
912 Referenz sehr gut geeignet:
913
914 @itemize
915
916 @item
917 @ref{Templates}: zeigt einige fertige Dokumentvorlagen für diverse
918 Stücke mit unterschiedlichen Charakteristika.  Kopieren Sie einfach 
919 die Vorlagen in Ihre eigene Datei, fügen Sie die Noten hinzu und Sie 
920 sind fertig!
921
922 @item
923 @ref{Scheme tutorial}: liefert eine kurze Einführung in Scheme, die
924 Programmiersprache, die die Musikfunktionen in LilyPond intern benutzen.  
925 Dies stellt tiefgehendes Wissen dar, wenn Sie LilyPond bis ins kleinste Detail
926 konfigurieren möchten. Die meisten Benutzer brauchen dies jedoch selten bis 
927 gar nicht.
928
929 @end itemize
930
931
932 @node About the Music Glossary
933 @unnumberedsubsec About the Music Glossary
934
935 @cindex Idiom
936 @cindex Jargon
937 @cindex Terminologie
938 @cindex Übersetzungen
939 @cindex Sprachen
940 @cindex Glossar
941 @cindex Thesaurus
942 @cindex Fremdsprache
943
944 @rglosnamed{Top,Das Glossar} erklärt musikalische Fachausdrücke und 
945 enthält auch deren Übersetzungen in diverse Sprachen.  Wenn Sie mit
946 Musiknotation oder der (englisch-sprachigen) Musikterminologie nicht vertraut 
947 sind (vor allem, wenn Englisch nicht Ihre Muttersprache ist), ist es
948 sehr empfehlenswert, das Glossar immer wieder zu Rate zu ziehen.
949
950
951 @node About the Notation Reference
952 @unnumberedsubsec About the Notation Reference
953
954 @cindex Notationsreferenz
955 @cindex Anhänge
956 @cindex Referenz zum Notensatz
957
958 In diesem Buch werden alle LilyPond-Befehle erklärt, die Notationszeichen 
959 produzieren. Es geht von der Annahme aus, dass der Leser sich mit den 
960 Grundkonzepten des Programmes im Handbuch zum Lernen bekannt gemacht hat.
961
962 @itemize @bullet
963
964 @item
965 @emph{@ruser{Musical notation}}:
966 erklärt alles über die grundlegenden Notationskonstruktionen. Dieses Kapitel 
967 ist für fast jedes Notationsprojekt nützlich.
968
969 @item
970 @emph{@ruser{Specialist notation}}:
971 erklärt spezifische Schwierigkeiten, die sich bei bestimmten Notationstypen 
972 ergeben. Dieses Kapitel ist nur in entsprechenden Fällen bestimmter Instrumente 
973 oder bei Gesang zu konsultieren.
974
975 @item
976 @emph{@ruser{General input and output}}:
977 erläutert allgemeine Informationen über die Eingabedateien von Lilypond und
978 wie die Ausgabe gesteuert werden kann.
979
980 @item
981 @emph{@ruser{Spacing issues}}:
982 befasst sich mit globalen Fragen wie der Definition von Papierformaten 
983 oder wie man Seitenumbrüche definiert.
984
985 @item
986 @emph{@ruser{Changing defaults}}:
987 erklärt, wie des Layout getrimmt werden kann um genau zum gewünschten Ergebnis 
988 zu kommen.
989
990 @item
991 @emph{@ruser{Interfaces for programmers}}:
992 demonstriert die Erstellung von musikalischen Funktionen.
993
994 @end itemize
995
996 Ds Benutzerhandbuch enthält auch Anhänge mit nützlichen Referenztabellen.
997
998 @itemize
999
1000 @item
1001 Die @ruser{Literature list}
1002 enthält einige wichtige Quellen für alle, die mehr über Notation und 
1003 den Notensatz erfahren wollen.
1004
1005 @item
1006 @ruser{Notation manual tables}
1007 sind Tabellen, in denen Akkordbezeichnungen, MIDI-Instrumente, 
1008 Farbbezeichnungen und die Zeichen der Feta-Schriftart gesammelt sind.
1009
1010 @item
1011 Die
1012 @emph{@ruser{Cheat sheet}}
1013 zeigt die wichtigsten LilyPond-Befehle.
1014
1015 @item
1016 Der
1017 @emph{@ruser{LilyPond command index}}
1018 listet alle Befehle auf, die mit @code{\} anfangen.
1019
1020 @item
1021 Der 
1022 @emph{@ref{LilyPond index}}
1023 ist ein vollständiger Index.
1024
1025 @end itemize
1026
1027
1028
1029 @node About the Application Usage
1030 @unnumberedsubsec About the Application Usage
1031
1032 @cindex Anwendungsbenutzung
1033 @cindex Benutzung, lilypond-Programm
1034 @cindex Integration von LilyPond in andere Programme
1035
1036 In diesem Buch wird erklärt, wie das Programm ausgeführt wird und 
1037 wie die Notation von LilyPond in andere Programme integriert werden 
1038 kann.
1039
1040 @itemize @bullet
1041
1042 @item
1043 @emph{@rprogram{Install}}:
1044 erklärt wie LilyPond installiert wird (inklusive Kompilation, wenn es 
1045 nötig sein sollte).
1046
1047 @item
1048 @emph{@rprogram{Setup}}:
1049 erklärt wie der Computer eingerichtet wird, damit LilyPond optimal genutzt 
1050 werden kann. Hierzu gehören etwa spezielle Umgebungen für bestimmte 
1051 Texteditoren.
1052
1053 @item
1054 @emph{@rprogram{Running LilyPond}}:
1055 zeigt, wie LilyPond und seine Hilfsprogramme gestartet werden. Zusätzlich 
1056 wird hier erklärt, wie Quelldateien von alten LilyPond-Versionen aktualisiert 
1057 werden können.
1058
1059 @item
1060 @emph{@rprogram{LilyPond-book}}:
1061 erklärt die Details, um einen Text mit eingefügten Notenbeispielen (wie 
1062 etwa dieses Handbuch) zu 
1063 erstellen.
1064
1065 @item
1066 @emph{@rprogram{Converting from other formats}}:
1067 erklärt, wie die Konvertierungsprogramme aufgerufen werden. Diese 
1068 Programme kommen mit LilyPond zusammen und konvertieren eine Vielzahl 
1069 von Notensatzformaten in das @code{.ly}-Format.
1070
1071 @end itemize
1072
1073
1074 @node About the Snippet List
1075 @unnumberedsubsec About the Snippet List
1076
1077 @cindex Schnipsel
1078 @cindex LSR
1079 @cindex LilyPond Snippet Repository
1080 @cindex LilyPond-Schnipsel-Depot
1081
1082 Die @rlsrnamed{Top,LilyPond-Schnipsel} sind eine ausführliche Sammlung kurzer 
1083 Beispiele, anhand derer Tricks, Tipps und Spezialfunktionen von LilyPond
1084 demonstriert werden. Die meisten dieser Schnipsel können auch im 
1085  @uref{http://lsr.dsi.unimi.it/,LilyPond-Schnipsel-Depot} betrachtet 
1086 werden. Diese Internetseite verfügt auch über ein 
1087 durchsuchbares LilyPond-Handbuch.
1088
1089 Die Liste der Schnipsel zu einem Abschnitt des Benutzerhandbuchs ist auch
1090 dort jeweils im Abschnitt @strong{Siehe auch} verlinkt.
1091
1092
1093 @node About the Internals Reference
1094 @unnumberedsubsec About the Internals Reference
1095
1096 @cindex Referenz der Interna
1097
1098 Die @rinternalsnamed{Top,Referenz der Interna} ist eine Sammlung intensiv 
1099 verlinkter HTML-Seiten, die alle Details jeder einzelnen 
1100 LilyPond-Klasse, jedes Objektes und jeder Funktion erklären. Sie wird 
1101 direkt aus den Satzdefinitionen im Quellcode produziert.
1102
1103 So gut wie alle Formatierungsmöglichkeiten, die intern verwendet werden, 
1104 sind auch direkt für den Benutzer zugänglich. Alle Variablen z. B., die
1105 Dicke-Werte, Entfernungen usw. kontrollieren, können in den Eingabe-Dateien 
1106 verändert werden. Es gibt eine riesige Anzahl von Formatierungsoptionen, und 
1107 alle haben einen @qq{Siehe}-Abschnitt, der auf die Dokumentation verweist.
1108 Im HTML-Handbuch haben diese Abschnitte klickbare Links.
1109
1110 Die Programmreferenz ist nur auf englisch verfügbar.
1111
1112
1113 @node Other documentation
1114 @unnumberedsubsec Other documentation
1115
1116 Es gibt noch eine Reihe weiterer wertvoller Informationsquellen zu LilyPond:
1117
1118
1119 @itemize
1120
1121 @item
1122 @ifhtml
1123 @ifset bigpage
1124 @uref{../topdocs/NEWS.html,Neuigkeiten}:
1125 @end ifset
1126 @ifclear bigpage
1127 @uref{../../topdocs/NEWS.html,Neuigkeiten}:
1128 @end ifclear
1129 @end ifhtml
1130 @ifnothtml
1131 Neuigkeiten:
1132 @end ifnothtml
1133 eine Zusammenfassung der Änderungen in LilyPond seit der letzten Version.
1134
1135 @item @uref{http://lists.gnu.org/archive/html/lilypond-user/,Das Archiv 
1136 der lilypond-user Mailing-Liste}: enthält alle bisher an die Liste
1137 gesendeten Mails.  Viele Fragen werden immer wieder gestellt und auch
1138 beantwortet.  Die Chance, dass Ihre Frage auch schon mal aufgetaucht ist,
1139 ist also relativ groß.  In diesem Fall finden Sie die Antwort in diesem
1140 Archiv.
1141
1142 @item @uref{http://lists.gnu.org/archive/html/lilypond-devel/,Das Archiv
1143 der lilypond-devel Mailing-Liste}: enthält alle bisher an die 
1144 Entwicklerliste gesendeten Mails.  Diese Diskussionen sind dementsprechend
1145 technisch gehalten.  Wenn Sie eine tiefergehende Frage zu den Interna von 
1146 LilyPond haben, finden Sie die Antwort vielleicht in diesem Archiv.
1147
1148 @item Eingebettete Musikbeispiele: Auf allen HTML-Seiten mit Notenbeispielen,
1149 die von LilyPond erzeugt wurden, kann die originale Quelldatei durch einen Klick auf das 
1150 Bild betrachtet werden.
1151
1152 @item Initialisierungsdateien von LilyPond:
1153
1154 Der Speicherort der Dokumentationsdateien unterscheidet sich evtl. je 
1155 nach Betriebssystem. Manchmal wird hier auf Initialisierungs- oder 
1156 Beispieldateien verwiesen. Das Handbuch nimmt dabei an, dass diese 
1157 Dateien sich relativ zum Quellverzeichnis befinden. Zum Beispiel würde 
1158 der Pfad @file{input/@/lsr/@/Verzeichnis/@/bla@/.ly} etwa auf die Datei 
1159 @file{lilypond@/2.x.y/@/input/@/lsr/@/Verzeichnis/@/bla@/.ly} verweisen. In den 
1160 Binärpaketen für Unix-Plattformen sind Dokumentation und Beispiele 
1161 üblicherweise in einem Verzeichnis wie @file{/usr/@/share/@/doc/@/lilypond/}
1162 gespeichert. Initialisierungsdateien, etwa  @file{scm/@/lily@/.scm}
1163 oder @file{ly/@/engraver@/-init@/.ly}, befinden sich normalerweise im 
1164 Verzeichnis @file{/usr/@/share/@/lilypond/}.
1165
1166 Weiterführende Informationen finden Sie unter @ref{Other sources of information}.
1167
1168 @end itemize
1169