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