]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/de/usage/updating.itely
Doc-de: update commitsh strings to reflect status as up-to-date
[lilypond.git] / Documentation / de / usage / updating.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2
3 @ignore
4     Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
5
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.
9 @end ignore
10
11 @c \version "2.16.0"
12
13 @c Translators: Till Paala
14
15
16 @node Dateien mit convert-ly aktualisieren
17 @chapter Dateien mit @command{convert-ly} aktualisieren
18 @translationof Updating files with convert-ly
19
20 @cindex Aktualisierung von LilyPond-Datei
21 @cindex convert-ly
22
23 Die Eingabesyntax von LilyPond wird immer wieder verändert um Dinge zu
24 vereinfachen oder verschiedene Verbesserungen und Entwicklungen einzubringen.
25 Ein Nebeneffekt davon ist jedoch, dass LilyPond älter Eingabdateien oft
26 nicht mehr richtig bearbeiten kann.  Um dieses Problem zu umgehen, kann
27 das Programm @command{convert-ly} benutzt werden, welches die meisten
28 Syntaxveränderungen zwischen unterschiedlichen LilyPond-Versionen beherrscht.
29
30 @menu
31 * Warum verändert sich die Syntax?::
32 * convert-ly aufrufen::
33 * Optionen auf der Kommandozeile für convert-ly::
34 * Probleme mit convert-ly::
35 * Manuelle Konversion::
36 @end menu
37
38
39 @node Warum verändert sich die Syntax?
40 @section Warum verändert sich die Syntax?
41 @translationof Why does the syntax change?
42
43 @cindex convert-ly
44 @cindex Aktualisierung von alten Eingabedateien
45 @cindex Update von alten Eingabedateien
46
47 Die LilyPond-Eingabesyntax verändert sich von Zeit zu Zeit.
48 Wenn das Programm LilyPond verbessert wird, wird auch die
49 Syntax (die Eingabesprache) entsprechend angepasst.  Manche
50 Änderungen machen den Eingabetext leichter zum Schreiben und zum
51 Lesen, andere implementieren neue Eigenschaften in LilyPond.
52
53 Beispielsweise alle @code{\paper}- und @code{\layout}-Eigenschaftsnamen
54 sollen in der Form @code{erstens-zweitens-drittens} geschrieben
55 werden.  In der Version 2.11.60 bemerkten wir jedoch, dass die
56 @code{printallheaders}-Eigenschaft sich nicht an diese Regel hielt.
57 Sollten wir das jetzt lassen (womit neue Benutzer verwirrt werden, weil
58 die Eingabe nicht logisch ist), oder sollten wir es ändern (womit
59 wir alte Benutzer mit ihren schon geschriebenen Partituren ärgern)?
60 In diesem Fall haben wir uns entschieden, den Namen in
61 @code{print-all-headers} zu ändern.  Zum Glück kann diese Änderung
62 mit dem @command{convert-ly}-Programm automatisch vorgenommen werden.
63
64
65 Leider kann @code{convert-ly} nicht mit allen Syntax-Änderungen umgehen.
66 Beispielsweise wurden in LilyPond 2.4 und früher Akzente für verschiedene
67 Sprachen mit LaTeX-Befehlen eingegeben -- beispielsweise Änderung wurde
68 geschrieben @code{\"Anderung}.  Ab Version 2.6 jedoch muss man Akzente
69 und Sonderzeichen dirket als UTF-8-Zeichen notieren.  @code{convert-ly}
70 kann nicht alle LaTeX-Zeichen umwandeln, sodass man das manuell übernehmen
71 muss.
72
73
74 @node convert-ly aufrufen
75 @section @command{convert-ly} aufrufen
76 @translationof Invoking convert-ly
77
78 @command{convert-ly} benutzt den Befehl @code{\version} mit Angabe der
79 Versionsnummer der ursprünglichen LilyPond-Version.  In den meisten Fällen
80 genügt es, einfach auf der Kommandozeile
81
82 @example
83 convert-ly -e meineDatei.ly
84 @end example
85
86 @noindent
87 im Verzeichnis, in welchem die Datei liegt, aufzurufen.  Hierdurch wird
88 @file{meineDatei.ly} direkt aktualisiert und das Original nach
89 @file{meineDatei.ly~} gesichert.
90
91 @warning{@command{convert-ly} konvertiert immer bis zur letzten Syntax-Änderung,
92 die das Programm beherrscht.  Das heißt, dass die @code{\version}-Nummer,
93 die nach der Konversion in der Datei steht, normalerweise niedriger ist als
94 die Version von @command{convert-ly} selbst.}
95
96 Um alle Dateien in einem Verzeichnis zu konvertieren, schreibt man auf der
97 Kommandozeile:
98
99 @example
100 convert-ly -e *.ly
101 @end example
102
103 Man kann auch einen neuen Namen für die konvertierte Datei angeben, sodass die
104 originale Datei unverändert bleibt.  Dazu schreibt man auf der Kommandozeile
105
106 @example
107 convert-ly meineDatei.ly > meineneueDatei.ly
108 @end example
109
110 Das Programm gibt die Versionsnummern für alle Versione aus, für die eine
111 Konversion durchgeführt wurde.  Wenn keine Versionsnummern ausgegeben werden,
112 ist die Datei aktuell.
113
114 MacOS@tie{}X-Benutzer können die Befehle unter dem Menü-Eintrag
115 @code{Compile > Update syntax} ausführen.
116
117 Windows-Benutzer sollten diese Befehle auf der Kommandozeile (Eingabeaufforderung),
118 die sich normalerweise unter @code{Start > Zubehör > Eingabeaufforderung} findet.
119
120
121 @node Optionen auf der Kommandozeile für convert-ly
122 @section Optionen auf der Kommandozeile für @command{convert-ly}
123 @translationof Command line options for convert-ly
124
125 Das Programm wird folgendermaßen aufgerufen:
126
127 @example
128 convert-ly [@var{Option}]@dots{} @var{Dateiname}@dots{}
129 @end example
130
131 Folgende Optionen können benutzt werden:
132
133 @table @code
134 @item -e,--edit
135 Die Konvertierung direkt am Original vornehmen, sodass es direkt verändert wird.
136
137 @item -f,--from=@var{von-Versionsnummer}
138 Stellt die Versionsnummer ein, ab welcher die Konvertierung begonnen werden
139 soll.  Wenn die Option nicht benutzt wird, rät @command{convert-ly} die Versionsnummer
140 anhand des @code{\version}-Eintrags in der Datei.  Beispielsweise
141 @option{--from=2.10.25}
142
143 @item -n,--no-version
144 Normalerweise fügt @command{convert-ly} einen @code{\version}-Eintrag
145 zu der konvertierten Datei hinzu.  Mit dieser Option wird das unterdrückt.
146
147 @item -s, --show-rules
148 Zeige alle bekannten Konversionen und beende.
149
150 @item --to=@var{bis-Versionsnummer}
151 Die Zielversion der Konversion setzen.  Standard ist die letzte mögliche
152 Version, die das Programm beherrscht.  Beispielsweise @option{--to=2.12.2}
153
154 @item -h, --help
155 Zeigt Hilfe zur Benutzung.
156
157 @item -l @var{Logstufe}, --loglevel=@var{Logstufe}
158 Passt die Ausführlichkeit der Ausgabe entsprechend @var{Logstufe} an.
159 Mögliche Werte sind @code{NONE}, @code{ERROR}, @code{WARNING},
160 @code{PROGRESS} (Standard) und @code{DEBUG}.
161
162 @end table
163
164 Um LilyPond-Schnipsel in texinfo-Dateien zu aktualisieren, kann
165
166 @example
167 convert-ly --from=... --to=... --no-version *.itely
168 @end example
169
170 @noindent
171 benutzt werden.
172
173 Um sich die Änderungen der LilyPond-Syntax zwischen zwei Versionen anzeigen
174 zu lassen, schreibt man
175
176 @example
177 convert-ly --from=... --to=... -s
178 @end example
179
180
181 @node Probleme mit convert-ly
182 @section Probleme mit @code{convert-ly}
183 @translationof Problems running convert-ly
184
185 Wenn man @command{convert-ly} auf einer Eingabeaufforderung unter Windows
186 mit einer Datei benutzt, die Leerzeichen im Dateinamen oder Pfad hat,
187 muss der gesamte Dateiname mit drei (!) doppelten Anführungszeichen
188 umgeben werden:
189
190 @example
191 convert-ly """D:/My Scores/Ode.ly""" > "D:/My Scores/new Ode.ly"
192 @end example
193
194 Wenn der einfache @command{convert-ly -e *.ly}-Befehl nicht funktioniert,
195 weil die ausgeschriebene Kommandozeile zu lang wird, kann man
196 @command{convert-ly} auch als Loop wiederholt laufen lassen.  Dieses
197 Beispiel für UNIX konvertiert alle @file{-ly}-Dateien im aktuellen
198 Verzeichnis:
199
200 @example
201 for f in *.ly; do convert-ly -e $f; done;
202 @end example
203
204 Für die Windows-Eingabeaufforderung lautet der entsprechende Befehl:
205
206 @example
207 for %x in (*.ly) do convert-ly -e """%x"""
208 @end example
209
210 Nicht alle Syntax-Änderungen werden konvertiert.  Nur eine Ausgabeoption kann
211 angegeben werden.  Automatische Aktualisierung von Scheme- und LilyPond
212 Scheme-Code ist eher unwahrscheinlich, sehr wahrscheinlich muss hier manuell
213 aktualisiert werden.
214
215
216 @node Manuelle Konversion
217 @section Manuelle Konversion
218 @translationof Manual conversions
219
220 Theoretisch könnte ein Programm wie @command{convert-ly} alle möglichen
221 Syntax-Änderungen berücksichtigen.  Schließlich ist es auch ein Computerprogramm,
222 das die alte und die neue Version der Notationsdatei interpretiert, so
223 dass ein anderes Computerprogramm eine Datei in die andere verwandeln
224 könnte.@footnote{Das ist auf jeden Fall möglich für jede LilyPond-Datei,
225 die kein Scheme beinhaltet.  Wenn Scheme in der Datei verwendet wurde,
226 enthält die Datei Turing-complete Sprache und es gibt Probleme mit dem
227 @qq{Halteproblem} der Informatik.}
228
229 Das LilyPond-Team ist jedoch verhältnismäßig klein, sodass nicht alle Konversionen
230 automatisch funktionieren.  Unten eine Liste der bekannten Probleme:
231
232
233 @verbatim
234 1.6->2.0:
235  Bezifferter Bass wird nicht immer richtig konvertiert, besonders {<
236  >}.  Mats' Kommentar zu einer Lösung:
237    To be able to run convert-ly
238    on it, I first replaced all occurrences of '{<' to some dummy like '{#'
239    and similarly I replaced '>}' with '&}'.  After the conversion, I could
240    then change back from '{ #' to '{ <' and from '& }' to '> }'.
241  Nicht alle Textbeschriftung wird richtig konvertiert.  In der alten Syntax
242  konnte man mehrere Beschriftungen mit Klammern gruppieren, etwa:
243    -#'((bold italic) "string")
244    Das wird falsch konvertiert zu:
245    -\markup{{\bold italic} "string"}
246    anstelle von:
247    -\markup{\bold \italic "string"}
248 2.0->2.2:
249  Versteht nicht \partcombine
250  Kann nicht \addlyrics => \lyricsto, sodass einige Dateien mit vielen Strophen nicht
251  funktionieren
252 2.0->2.4:
253  \magnify wird nicht nach \fontsize verändert.
254     - \magnify #m => \fontsize #f, where f = 6ln(m)/ln(2)
255  remove-tag wird nicht verändert.
256     - \applyMusic #(remove-tag '. . .) => \keepWithTag #'. . .
257  first-page-number wird nicht verändert.
258     - first-page-number no => print-first-page-number = ##f
259  Zeilenumbrüche in Titelköpfen werden nicht umgewandelt.
260     - \\\\  als Zeilenumbruch in \header-Feldern => \markup \center-align <
261       "Erste Zeile" "Zweite Zeile" >
262  Crescendo und decrescendo-Endpunkte werden nicht umgewandelt.
263     - \rced => \!
264     - \rc => \!
265 2.2->2.4:
266  \turnOff (benutzt in \set Staff.VoltaBracket = \turnOff) wird nicht richtig konvertiert
267 2.4.2->2.5.9
268  \markup{ \center-align <{ ... }> } sollte konvertiert werden in:
269  \markup{ \center-align {\line { ... }} }
270  jetzt fehlt aber \line.
271 2.4->2.6
272  Besondere LaTeX-Zeicehn wie $~$ in Text werden nicht in UTF-8 umgewandelt.
273 2.8
274  \score{} muss jetzt immer mit einem musikalischen Ausdruck beginnen. Alles
275 andere (insbesondere \header{}) darf erst nach den Noten kommen.
276 @end verbatim