1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
4 Translation of GIT committish: a6039d8aa56d66e91952a3b92ca7878d342e6ebe
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. For details, see the Contributors'
8 Guide, node Updating translation committishes..
11 @include included/generating-output.itexi
14 @c Translators: Till Paala, Reinhold Kainhofer
15 @c Translation checkers: Hajo Bäß
19 @translationof Tutorial
21 Dieses Kapitel stellt dem Leser das grundlegende Arbeiten mit LilyPond
25 * Eine Quelldatei übersetzen::
26 * Arbeiten an Eingabe-Dateien::
27 * Wie soll das Handbuch gelesen werden::
31 @node Eine Quelldatei übersetzen
32 @subsection Eine Quelldatei übersetzen
33 @translationof Compiling a file
35 Dieser Abschnitt führt in die @qq{Kompilation} ein -- den
36 Bearbeitungsprozess von LilyPond-Eingabedateien (die Sie geschrieben
37 haben) um eine Ausgabedatei zu erstellen.
47 @subsection Noten eingeben
48 @translationof Entering input
51 @cindex erstes Beispiel
52 @cindex Beispiel, erstes
53 @cindex Übersetzen von Quelltext
54 @cindex Groß- und Kleinschreibung
55 @cindex Quelltext, übersetzen
56 @cindex Großbuchstaben
57 @cindex Kleinbuchstaben
59 @qq{Kompilation} ist der Begriff, der benutzt wird, um eine
60 Lilypond-Eingabedatei mit dem Programm LilyPond in eine
61 Notenausgabe umzuwandeln. Ausgabedateien sind in erster Linie
62 PDF-Dateien (zum Anschauen und Drucken), MIDI (zum Abspielen)
63 und PNG (für die Benutzung auf Internetseiten). Die Eingabedateien
64 von LilyPond sind einfache Textdateien.
66 Das erste Beispiel zeigt, wie
67 solch eine einfache Eingabedatei ausschauen kann.
75 Die graphische Ausgabe ist:
77 @c in this case we don't want verbatim
84 @warning{In jeder LilyPond-Datei müssen
85 @strong{@{ geschweifte Klammern @}} um die Noten
87 gesetzt werden. Vor und hinter den Klammern sollten
88 Leerzeichen eingegeben werden, damit keine Unklarheiten
89 in Verbindung mit den eigentlichen Notensymbolen entstehen.
90 An Anfang und Ende der Zeile können diese Leerzeichen auch
91 weggelassen werden. Es kann sein, dass in diesem Handbuch
92 die Klammern in manchen Beispielen fehlen, aber man sollte
93 immer daran denken, sie in den eigenen Dateien zu benutzen!
94 Mehr Informationen zu der Darstellung der Beispiele in diesem
95 Handbuch gibt der Abschnitt @ref{Wie soll das Handbuch gelesen werden}.}
97 Zusätzlich unterscheidet LilyPond @strong{Groß- und Kleinschreibung}.
98 @w{@code{ @{ c d e @}}} ist zulässiger Code,
99 @w{@code{ @{ C D E @}}} dagegen resultiert in einer Fehlermeldung.
103 @subheading Ansicht des Ergebnisses
106 @cindex Noten anzeigen
107 @cindex Anzeigen der Noten
108 @cindex Ansicht von Noten
111 @cindex LilyPond unter MacOS X
112 @cindex MacOS X, LilyPond starten
113 @cindex Starten von LilyPond
115 Das Erstellen der Notenausgabe hängt davon ab, welches Betriebssystem
116 und welche Programme Sie benutzen.
121 @ref{MacOS X, @sourceimage{logo-macosx,,,}}
122 @ref{MacOS X, MacOS X} (graphisch)
125 @ref{Windows, @sourceimage{logo-windows,,,}}
126 @ref{Windows, Microsoft Windows} (graphisch)
129 @ref{Kommandozeile, @sourceimage{logo-linux,,,}
130 @sourceimage{logo-freebsd,,,}
131 @sourceimage{logo-macosx,,,}
132 @sourceimage{logo-windows,,,}
134 @ref{Kommandozeile, Alle Betriebssysteme} (Kommandozeile)
138 Beachten Sie, dass es eine Reihe an Texteditoren mit besserer
139 Unterstützung für LilyPond gibt. Mehr dazu im Abschnitt
140 @rprogram{Unterstützung von Texteditoren}.
141 @c FIXME: link to @rweb{Alternate input}
143 @warning{Das erste Mal, wenn Sie LilyPond benutzen, kann es eine
144 Minute oder länger dauern, weil das Programm zuerst alle Schriftarten,
145 die auf dem System zur Verfügung stehen, untersucht. Aber nach
146 diesem ersten Mal läuft LilyPond sehr viel schneller.}
154 @translationof MacOS X
156 @cindex Starten des Programms, MacOS X
157 @cindex MacOS X, LilyPond starten
164 @translationof Windows
166 @cindex Windows, LilyPond starten
172 @subsection Kommandozeile
173 @translationof Command-line
175 @cindex Unix, LilyPond starten
181 @node Wie werden Eingabe-Dateien geschrieben
182 @section Wie werden Eingabe-Dateien geschrieben
183 @translationof How to write input files
185 Dieser Abschnitt erklärt die grundlegende LilyPond-Syntax und hilft
186 bei den ersten Anfängen, eine LilyPond-Eingabedatei zu schreiben.
189 * Einfache Notation::
190 * Arbeiten an Eingabe-Dateien::
195 @node Einfache Notation
196 @subsection Einfache Notation
197 @translationof Simple notation
199 @cindex einfache Notation
200 @cindex Notation, einfach
202 LilyPond fügt einige Bestandteile des Notenbildes automatisch hinzu. Im
203 nächsten Beispiel sind nur vier Tonhöhen angegeben, aber LilyPond setzt
204 trotzdem einen Schlüssel, eine Taktangabe und Notendauern.
206 @lilypond[verbatim,quote]
213 Diese Einstellungen können verändert werden, aber in den meisten Fällen
214 sind die automatischen Werte durchaus brauchbar.
219 @cindex relativer Modus
222 @cindex Versetzungszeichen und relativer Modus
223 @cindex relativer Modus und Versetzungszeichen
231 Glossar: @rglos{pitch}, @rglos{interval},
232 @rglos{scale}, @rglos{middle C}, @rglos{octave},
235 @c Addition for German users about pitch naming conventions
236 Die Tonhöhen werden mit Kleinbuchstaben eingegeben, die den Notennamen
237 entsprechen. Es ist jedoch wichtig zu wissen, dass LilyPond in seiner
238 Standardeinstellung die englischen Notennamen verwendet. Bis auf eine
239 Ausnahme entsprechen sie den deutschen, deshalb wird die Voreinstellung
240 von LilyPond für diese Übung beibehalten. Die @emph{Ausnahme} ist das h -- in
241 LilyPond muss man anstelle dessen b schreiben! Das deutsche b dagegen
242 wird als bes notiert, ein his dagegen würde bis geschrieben. Siehe auch
243 @ruser{Versetzungszeichen} und @ruser{Notenbezeichnungen in anderen Sprachen}, hier
245 wie sich die deutschen Notennamen benutzen lassen.
248 Am einfachsten können Noten im @code{\relative}-Modus
249 eingegeben werden. In diesem Modus wird die Oktave der Note automatisch
250 gewählt, indem angenommen wird, dass die folgende Note immer so nah
251 wie möglich in Bezug auf die vorhergehende gesetzt wird, d. h. sie
252 wird höchstens drei Notenzeilen höher oder tiefer als die vorhergehende
254 wir unser erstes Notationsbeispiel mit einer @notation{Tonleiter} an, wo also
255 die nächste Note immer nur eine Notenlinie über der vorherigen steht.
258 @lilypond[verbatim,quote]
259 % Beginnpunkt auf das mittlere C setzen
266 Die erste Note ist ein @notation{eingestrichenes C}. Jede folgende Note
267 befindet sich so nah wie möglich bei der vorherigen -- das erste
268 @q{C} ist also das nächste C vom
269 eingestrichenen C aus gerechnet. Darauf folgt das nächstmögliche
270 D in Bezug auf die vorhergehende Note. Mit diesen Regeln können
271 auch Melodien mit größeren Intervallen im @code{\relative}-Modus
274 @lilypond[verbatim,quote]
282 Es ist nicht notwendig, dass die erste Note der Melodie mit der
283 Note beginnt, die die erste Tonhöhe angibt.
284 Die erste Note (das @q{D}) des vorigen Beispiels ist das nächste D
285 vom eingestrichenen C aus gerechnet.
287 Indem man Apostrophe @code{'} (Taste Shift+#) oder Kommata @code{,}
288 zu dem @w{@code{\relative c' @{}} hinzufügt oder entfernt, kann die
289 Oktave der ersten Tonhöhe verändert werden:
292 @lilypond[verbatim,quote]
299 Der relative Modus kann zunächst verwirrend erscheinen, aber es ist die
300 einfachste Art, die meisten Melodien zu notieren. Schauen wir uns an,
301 wie diese relative Berechnung in der Praxis funktioniert. Wenn wir mit
302 einem H beginnen (@code{b} in der LilyPond-Syntax), welches sich auf der
303 mittleren Linie im Violinschlüssel befindet, können wir C, D und E
304 aufwärts notieren, und A, G und F unter dem H. Wenn also die Note, die
305 auf das H folgt, ein C, D oder E ist, setzt LilyPond es oberhalb des
306 Hs, wenn es ein A, G oder F ist, wird es darunter gesetzt.
309 @lilypond[verbatim,quote]
311 b c % c ist 1 Zeile aufwärts, also c über dem b
312 b d % d ist 2 Zeilen aufwärts, oder 5 runter, also d über dem b
313 b e % e ist 3 aufwärts oder 4 runter, also e über dem b
314 b a % a ist 6 aufwärts oder 1 runter, also a unter dem b
315 b g % g ist 5 aufwärts oder 2 runter, also g unter dem b
316 b f % f ist 4 aufwärts oder 3 runter, also f unter dem b
320 Die gleiche Berechnung findet auch statt, wenn eine der Noten erhöht
321 oder erniedrigt ist. @notation{Versetzungszeichen} werden
322 @strong{vollständig ignoriert} bei der Berechnung. Genau die
323 gleiche Berechnung wird analog von jeder folgenden Tonhöhe aus
324 für die nächste Tonhöhe neu ausgeführt.
326 Um Intervalle zu notieren, die größer als drei Notenzeilen sind, kann man die Oktave verändern. Mit einem Apostroph @code{'} (Taste Shift+#)
327 direkt hinter dem Notennamen wird die Oktave um eins erhöht, mit einem Komma @code{,} um eins erniedrigt.
329 @lilypond[verbatim,quote]
337 Um eine Notenhöhe um zwei (oder mehr!) Oktaven zu verändern,
338 werden sukzessive @code{''} oder @code{,,} benutzt -- es muss
339 sich dabei wirklich um zwei einzelne Apostrophen und nicht um das
340 Anführungszeichen @code{"}@tie{} (Taste Shift+2) handeln! Auch
341 die Anfangsoktave für einen @code{@w{\relative c'}}-Abschnitt kann so
345 @subheading Tondauern (Rhythmen)
353 @cindex punktierte Noten
355 Glossar: @rglos{beam}, @rglos{duration},
356 @rglos{whole note}, @rglos{half note}, @rglos{quarter note},
359 Die @notation{Dauer} einer Note wird durch eine Zahl bezeichnet,
360 die direkt auf den Notennamen folgend eingegeben wird.
361 @code{1} für eine @notation{ganze Note}, @code{2} für eine
362 @notation{halbe Note}, @code{4} für eine @notation{Viertelnote}
363 und so weiter. @notation{Notenhälse} und @notation{Balken} werden
364 automatisch hinzugefügt.
366 Wenn keine Dauer bezeichnet wird, wird die der vorhergehenden Note
367 verwendet. Für die erste Note ist eine Viertel als Standard definiert.
369 @lilypond[verbatim,quote]
373 a16 a a a a32 a a a a64 a a a a a a a a2
377 Um @notation{punktierte Noten} zu erzeugen, wird einfach ein Punkt
378 @code{.} hinter die Notendauer geschrieben. Die Dauer einer
379 punktierten Note muss explizit, also inklusive der Nummer,
382 @lilypond[verbatim,quote]
393 @cindex schreiben von Pausen
394 @cindex notieren von Pausen
396 Eine @notation{Pause} wird genauso wie eine Noten eingegeben; ihre
397 Bezeichnung ist @code{r}@tie{}:
399 @lilypond[verbatim,quote]
407 @subheading Taktangabe
414 Glossar: @rglos{time signature}.
416 Die @notation{Taktart} kann mit dem
417 @code{\time}-Befehl definiert werden:
419 @lilypond[verbatim,quote]
431 @subheading Notenschlüssel
442 Glossar: @rglos{clef}.
444 Der @notation{Notenschlüssel} kann mit dem @code{\clef}-Befehl
447 @lilypond[verbatim,quote]
461 @subheading Alles zusammen
463 Hier ist ein kleines Beispiel, dass all diese Definitionen beinhaltet:
465 @lilypond[verbatim,quote]
476 Notationsreferenz: @ruser{Tonhöhen setzen},
477 @ruser{Rhythmen eingeben}, @ruser{Pausen eingeben},
478 @ruser{Taktangabe}, @ruser{Notenschlüssel}.
481 @node Arbeiten an Eingabe-Dateien
482 @subsection Arbeiten an Eingabe-Dateien
483 @translationof Working on input files
485 @cindex geschweifte Klammern
486 @cindex Klammern, geschweift
488 @cindex Zeilenkommentare
489 @cindex Block-Kommentare
490 @cindex Groß- und Kleinschreibung
492 @cindex Großbuchstaben
493 @cindex Kleinbuchstaben
497 @funindex %@{ ... %@}
500 LilyPonds Quelldateien ähneln Dateien in den meisten
501 Programmiersprachen: Sie enthalten eine Versionsbezeichnung,
502 es ist auf Groß- und Kleinschreibung
503 zu achten und Leerzeichen werden ignoriert. Ausdrücke werden
504 mit geschweiften Klammern @{ @} eingeklammert und Kommentare
505 mit dem Prozentzeichen @code{%} auskommentiert
506 oder mit @code{%@{ ... %@}} umgeben.
508 Wenn das jetzt unverständlich erscheint, sind hier die Erklärungen:
512 @strong{Versionsbezeichnung}:
513 Jede LilyPond-Datei soll eine Versionsbezeichnung enthalten. Eine
514 Versionsbezeichnung ist eine Zeile, die die Version von LilyPond
515 deklariert, für die die Datei geschrieben wurde, wie in dem
519 \version "@w{@version{}}"
522 Üblicherweise wird die Versionsbezeichnung oben in die Datei
525 Die Versionsbezeichnung ist aus zwei Gründen sehr wichtig: 1. kann
526 man mit ihrer Hilfe automatische Aktualisierungen der Eingabedateien
527 vornehmen, wenn sich die LilyPond-Syntax ändern sollte. 2. wird
528 hier die Version von LilyPond beschrieben, die nötig ist, um die
529 Datei zu kompilieren.
531 Wenn die Versionsbezeichnung in einer Datei fehlt, gibt LilyPond
532 eine Warnung während der Kompilation der Datei aus.
535 @strong{Groß- und Kleinschreibung:}
536 Die Bedeutung eines Zeichens verändert sich, je
537 nachdem, ob es groß (@w{@code{A, B, S, T}}) oder klein
538 (@w{@code{a, b, s, t}}) geschrieben wird. Noten müssen
539 immer klein geschrieben werden, @w{@code{@{ c d e @}}} funktioniert,
540 während @w{@code{@{ C D E @}}} einen Fehler produziert.
542 @item @strong{Leerzeichen:}
543 Es spielt keine Rolle, wie viele Leerzeichen oder Tabulatoren oder
544 leere Zeilen sich zwischen den Zeichen der Quelldatei befinden.
545 @w{@code{@{ c d e @}}} bedeutet das Gleiche wie
546 @w{@code{@{ c @ @ @ @ @ d e @}}} oder
553 Natürlich ist das letzte Beispiel etwas schwer zu lesen. Eine gute Daumenregel
554 ist es, Code-Blöcke mit der Tab-Taste oder zwei Leerzeichen einzurücken:
561 Leerzeichen @emph{sind} jedoch nötig, um viele syntaktische Elemente
562 voneinander zu trennen. Leerzeichen können also immer @emph{hinzugefügt}
563 werden, aber sie dürfen nicht @emph{entfernt} werden. Da fehlende
564 Leerzeichen sehr seltsame Fehlermeldungen hervorrrufen können, wird
565 es nahe gelegt, immer ein Leerzeichen vor und nach jedem syntaktischen
566 Element, etwa vor und nach geschweiften Kklammern, einzufügen.
568 @item @strong{Ausdrücke:}
569 Auch der kleinste Abschnitt an LilyPond-Code muss in
570 @strong{@{ geschweifte Klammern @}} eingeschlossen werden. Diese
571 Klammern zeigen LilyPond an, dass es sich um einen zusammengehörenden
572 musikalischen Ausdruck handelt, genauso wie Klammern @q{()} in der Mathematik.
573 Die Klammern sollten von jeweils einem Leerzeichen umgeben sein, um
574 Zweideutigkeiten auszuschließen, es sei denn, sie
575 befinden sich am Anfang oder Ende einer Zeile.
576 Ein LilyPond-Befehl gefolgt von einem einfachen Ausdruck
577 in Klammern (wie etwa @code{\relative @{ @}})
578 wird auch als ein einzelner Musikausdruck gewertet.
581 @cindex Zeilenkommentare
582 @cindex Blockkommentare
586 Ein Kommentar ist eine Bemerkung für den menschlichen Leser
587 einer Quelldatei, es wird bei der Dateianalyse durch das Programm
588 ignoriert, so dass es also keine Auswirkung auf die Druckausgabe der
589 Noten hat. Es gibt zwei verschiedene Typen von Kommentaren. Das
590 Prozentzeichen @q{%} geht einem Zeilen-Kommentar voraus: Alles
591 nach diesem Zeichen wird in dieser Zeile ignoriert.
592 Üblicherweise wird ein Kommentar @emph{über} dem Code gesetzt,
593 auf den es sich bezieht.
597 % Dieser Kommentar bezieht sich auf das H
602 Ein Block-Kommentar ist ein ganzer Abschnitt mit einem
603 Kommentar. Alles, was von @code{%@{}
604 und @code{%@}} umgeben ist, wird ignoriert. Das heißt,
605 dass sich ein Block-Kommentar nicht ein einem anderen
606 Blockkommentar befinden kann. Wenn Sie das versuchen sollten,
607 beendet schon das erste @code{%@}} @emph{beide}
608 Block-Kommentare. Das folgende Beispiel zeigt eine
609 mögliche Anwendung von Kommentaren:
612 % Noten für twinkle twinkle hier
616 Diese Zeilen, und die Noten unten werden
617 ignoriert, weil sie sich in einem Block-Kommentar
628 @node Wie die Handbücher gelesen werden sollen
629 @section Wie die Handbücher gelesen werden sollen
630 @translationof How to read the manuals
632 Dieser Abschnitt zeigt, wie die Dokumenation effizient gelesen
633 werden kann und erklärt auch einige nützliche Interaktionseigenschaften
637 * Ausgelassenes Material::
638 * Anklickbare Beispiele::
639 * Überblick über die Handbücher::
643 @node Ausgelassenes Material
644 @subsection Ausgelassenes Material
645 @translationof Omitted material
647 @cindex Handbuch, Lesen
648 @cindex Wie soll das Handbuch gelesen werden
649 @cindex Lesen des Handbuchs
650 @cindex Beispiele, klickbar
651 @cindex klickbare Beispiele
654 @cindex Dateien konstruieren, Hinweise
655 @cindex Konstruieren von Dateien, Hinweise
656 @cindex Hinweise zur Konstruktion von Dateien
658 LilyPond-Code muss immer von @{ @} Zeichen oder einem
659 @code{@w{\relative c'' @{ ... @}}} umgeben sein, wie
660 gezeigt in @ref{Arbeiten an Eingabe-Dateien}.
661 Im Rest dieses Handbuchs werden die meisten Beispiel allerdings darauf
662 verzichten. Um sie zu reproduzieren, können Sie den entsprechenden
663 Quellcode kopieren und in eine Textdatei einfügen, aber Sie
664 @strong{müssen} dabei
665 @code{@w{\relative c'' @{ @}}} einfügen, wie hier gezeigt:
669 ... hier das Beispiel ...
673 Warum werden die Klammern hier meist weggelassen? Die meisten
674 der Beispiele können in ein längeres Musikstück hineinkopiert
675 werden, und dann ist es natürlich nicht sinnvoll, wenn auch noch
676 @code{@w{\relative c'' @{ @}}} dazukommt; ein @code{\relative} darf
677 nicht innerhalb eines anderen @code{\relative} gesetzt werden,
678 deshalb wird es hier weggelassen, damit die Beispiele auch innerhalb
679 eines anderen Kontextes funktionieren. Wenn bei jedem
680 Beispiel @code{@w{\relative c'' @{ @}}} eingesetzt würde,
681 könnten Sie die kleinen Beispiele der Dokumentation
682 nicht einfach zu Ihrem eigenen Notentext hinzufügen.
683 Die meisten Benutzer wollen
684 Noten zu einer schon bestehenden Datei irgendwo in der Mitte
685 hinzufügen, deshalb wurde der relative Modus für die Beispiele
686 im Handbuch weggelassen.
688 Denken Sie auch daran, dass jede LilyPond-Datei eine Versionsbezeichnung
689 haben sollte. Weil die Beispiele in den Handbüchern Schnipsel
690 und keine vollständigen Dateien sind, fehlt hier die Versionsbezeichnung.
691 Sie sollten sie aber immer in Ihre eigenen Dateien einfügen.
694 @node Anklickbare Beispiele
695 @subsection Anklickbare Beispiele
696 @translationof Clickable examples
698 @warning{Diese Eigenschaft gibt es nur in der HTML-Dokumentation.}
700 Viele Leute lernen Programme, indem sie einfach herumprobieren. Das
701 geht auch mit LilyPond. Wenn Sie in der HTML-Version dieses Handbuchs
702 eine Abbildung in der HTML-Version dieses Handbuches anklicken,
703 erhalten sie exakt den LilyPond-Code, der
704 zum Satz der Abbildung benutzt wurde. Versuchen Sie es mit dieser
711 c-\markup { \bold \huge { Hier klicken! } }
715 Wenn Sie einfach alles kopieren, was im
716 @qq{ly snippet}-Abschnitt steht, und in eine Text-Datei
717 einfügen, haben Sie schon eine fertige Vorlage für weitere
718 Experimente. Damit Sie genau das gleiche Erscheinungsbild wie
719 bei dem Beispiel selber erreichen, müssen Sie alles kopieren ab der
721 cut-&-pastable section} bis ganz zum Ende der Datei.
726 @n ode Navigation mit der Tastatur
727 @s ubsection Navigation mit der Tastatur
728 @translationof Keyboard navigation
730 @warning{Diese Funktion gibt es nur für die HTML-Version der Handbücher.}
732 @c TODO: once this is figured out, insert it here.
734 Es wird gegenwärtig an dieser Funktion gearbeitet.
738 @node Überblick über die Handbücher
739 @subsection Überblick über die Handbücher
740 @translationof Overview of manuals
743 Es gibt sehr viele Dokumentation für LilyPond. Neue Benutzer sind
744 oft verwirrt, welche Teile davon sie lesen sollen, und so kommt
745 es vor, dass machnmal wichtige Abschnitte nicht gelesen werden.
747 @warning{Bitte überspringen Sie keine wichtigen Teile der
748 Dokumentation. Sonst wird es Ihnen später sehr viel schwerer
749 fallen, spätere Abschnitte zu verstehen.}
754 @strong{Bevor Sie @emph{irgendetwas} ausprobieren}: Lesen Sie die
755 Abschnitte @ref{Übung} und @ref{Übliche Notation}. Wenn
756 Sie auf musikalische Fachbegriffen stoßen, die Sie nicht kennen,
757 schauen Sie diese im @rglosnamed{Top, Glossar} nach.
760 @strong{Bevor Sie ein vollständiges Stück notieren}: Lesen
761 Sie den Abschnitt @ref{Grundbegriffe} im Handbuch zum Lernen.
762 Danach können Sie sich die für Ihr Projekt wichtigen Abschnitte
764 @rusernamed{Top, Notationsreferenz} anschauen.
767 @strong{Bevor Sie versuchen, die Standardnotation zu verändern}:
768 Lesen Sie @ref{Die Ausgabe verändern} im Handbuch zum Lernen.
771 @strong{Bevor Sie sich an ein größeres Projekt machen}: Lesen
773 @rprogram{Vorschläge, wie man Dateien schreibt}
774 in der Programmbenutzung.