1 @c -*- coding: utf-8; mode: texinfo; -*-
4 Translation of GIT committish: ebe492ca408fb0d9abf80b94c56197eef8dc2f09
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.
13 @c Translators: Till Paala
16 @node Dateien mit convert-ly aktualisieren
17 @chapter Dateien mit @command{convert-ly} aktualisieren
18 @translationof Updating files with convert-ly
20 @cindex Aktualisierung von LilyPond-Datei
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.
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::
39 @node Warum verändert sich die Syntax?
40 @section Warum verändert sich die Syntax?
41 @translationof Why does the syntax change?
44 @cindex Aktualisierung von alten Eingabedateien
45 @cindex Update von alten Eingabedateien
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.
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.
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
74 @node convert-ly aufrufen
75 @section @command{convert-ly} aufrufen
76 @translationof Invoking convert-ly
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
83 convert-ly -e meineDatei.ly
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.
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.}
96 Um alle Dateien in einem Verzeichnis zu konvertieren, schreibt man auf der
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
107 convert-ly meineDatei.ly > meineneueDatei.ly
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.
114 MacOS@tie{}X-Benutzer können die Befehle unter dem Menü-Eintrag
115 @code{Compile > Update syntax} ausführen.
117 Windows-Benutzer sollten diese Befehle auf der Kommandozeile (Eingabeaufforderung),
118 die sich normalerweise unter @code{Start > Zubehör > Eingabeaufforderung} findet.
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
125 Das Programm wird folgendermaßen aufgerufen:
128 convert-ly [@var{Option}]@dots{} @var{Dateiname}@dots{}
131 Folgende Optionen können benutzt werden:
135 Die Konvertierung direkt am Original vornehmen, sodass es direkt verändert wird.
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}
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.
147 @item -s, --show-rules
148 Zeige alle bekannten Konversionen und beende.
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}
155 Zeigt Hilfe zur Benutzung.
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}.
164 Um LilyPond-Schnipsel in texinfo-Dateien zu aktualisieren, kann
167 convert-ly --from=... --to=... --no-version *.itely
173 Um sich die Änderungen der LilyPond-Syntax zwischen zwei Versionen anzeigen
174 zu lassen, schreibt man
177 convert-ly --from=... --to=... -s
181 @node Probleme mit convert-ly
182 @section Probleme mit @code{convert-ly}
183 @translationof Problems running convert-ly
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
191 convert-ly """D:/My Scores/Ode.ly""" > "D:/My Scores/new Ode.ly"
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
201 for f in *.ly; do convert-ly -e $f; done;
204 Für die Windows-Eingabeaufforderung lautet der entsprechende Befehl:
207 for %x in (*.ly) do convert-ly -e """%x"""
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
216 @node Manuelle Konversion
217 @section Manuelle Konversion
218 @translationof Manual conversions
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.}
229 Das LilyPond-Team ist jedoch verhältnismäßig klein, sodass nicht alle Konversionen
230 automatisch funktionieren. Unten eine Liste der bekannten Probleme:
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"}
247 -\markup{\bold \italic "string"}
249 Versteht nicht \partcombine
250 Kann nicht \addlyrics => \lyricsto, sodass einige Dateien mit vielen Strophen nicht
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.
266 \turnOff (benutzt in \set Staff.VoltaBracket = \turnOff) wird nicht richtig konvertiert
268 \markup{ \center-align <{ ... }> } sollte konvertiert werden in:
269 \markup{ \center-align {\line { ... }} }
270 jetzt fehlt aber \line.
272 Besondere LaTeX-Zeicehn wie $~$ in Text werden nicht in UTF-8 umgewandelt.
274 \score{} muss jetzt immer mit einem musikalischen Ausdruck beginnen. Alles
275 andere (insbesondere \header{}) darf erst nach den Noten kommen.