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