]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/hu/usage/updating.itely
Imported Upstream version 2.14.2
[lilypond.git] / Documentation / hu / usage / updating.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: hu -*-
2
3 @ignore
4     Translation of GIT committish: b005971680bc6d01130420478dcd09bc6569de97
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.14.0"
12
13
14 @node A convert-ly használata
15 @chapter A @command{convert-ly} használata
16 @translationof Updating files with convert-ly
17
18 @cindex fájlok frissítése
19 @cindex convert-ly
20
21 A LilyPond nyelvtana rendszeresen változik, hogy egyszerűsödjön és fejlődjön.
22 Ennek mellékhatásaként a LilyPond olykor nem tudja értelmezni a régebbi
23 forrásfájlokat. Ezt az inkompatibilitást hidalja át a @command{convert-ly}
24 segédprogram, mely a verziók közötti nyelvváltozások legtöbbjét lekezeli.
25
26 @menu
27 * Miért változik a szintaxis?::
28 * A convert-ly futtatása::
29 * A convert-ly parancssori paraméterei::
30 * Problémák a convert-ly futtatása közben::
31 * Kézi frissítés::
32 @end menu
33
34
35 @node Miért változik a szintaxis?
36 @section Miért változik a szintaxis?
37 @translationof Why does the syntax change?
38
39 Ahogy a LilyPond maga fejlődik, a szintaxis (azaz a bemenet nyelve) is ennek
40 megfelelően változik. Ezek a változások azért mennek végbe, hogy a bemenetet
41 könnyebb legyen olvasni és írni, vagy a LilyPond új képességeihez igazodnak.
42
43 Például minden @code{\paper} és @code{\layout} blokkbeli tulajdonság nevében a
44 szavak konvenció szerint kötőjelekkel kerülnek elválasztásra. A 2.11.60-as
45 verzióban azonban észrevettük, hogy a @code{printallheaders} tulajdonság nem
46 követi ezt a konvenciót. Felmerült a kérdés: úgy hagyjuk, ahogy eddig volt
47 (így inkonzisztenciával megzavarva az új felhasználókat), vagy
48 megváltoztassuk (így arra kényszerítve a régi felhasználókat, hogy meglévő
49 kottáikat frissítsék)? Ebben az esetben amellett döntöttünk, hogy
50 megváltoztatjuk @code{print-all-headers}-re. Szerencsére ezt a változás
51 automatikusan kezelhető a @command{convert-ly} parancssori eszközzel.
52
53 Sajnos a @code{convert-ly} nem képes a nyelvtan minden változását lekezelni.
54 Például a LilyPond 2.4-es és korábbi verzióiban az ékezetes és egyéb, nem
55 angol ábécébe tartozó karaktereket a LaTeX-ben megszokott módszerrel kellett
56 megadni (pl. a francia Noël szót a következőképpen: @code{No\"el}). De a
57 @c keep "-matching straight in fancy editors
58 LilyPond 2.6-os verziója óta minden ilyen karakter, pl. az @code{ë} is
59 közvetlenül beleírható a bemeneti fájlba UTF-8 karakterkódolással. A
60 @code{convert-ly} nem képes minden LaTeX szintaxissal megadott speciális
61 karaktert átkonvertálni az UTF-8 megfelelőjébe; ezeket kézzel kell frissíteni.
62
63
64 @node A convert-ly futtatása
65 @section A @command{convert-ly} futtatása
66 @translationof Invoking convert-ly
67
68 A @command{convert-ly} a forrásfájlban található @code{\version} parancs
69 alapján állapítja meg a fájl verziószámát. A legtöbb esetben a forrásfájl
70 frissítéséhez elegendő kiadni a
71
72 @example
73 convert-ly -e @var{fájlnév}.ly
74 @end example
75
76 @noindent
77 parancsot abban a könyvtárban, ahol a fájl található. Ez a parancs helyben
78 frissíti a @code{@var{fájlnév}.ly} fájlt, az eredetit pedig megőrzi
79 @code{@var{fájlnév}.ly~} néven.
80
81 @warning{A @command{convert-ly} parancs alapesetben csak arra a verzióra
82 frissít, amelyikben a legutóbbi szintaxisváltozás történt. Így általában
83 a frissített fájl verziószáma kisebb lesz, mint az éppen használt programé.}
84
85 Egy könyvtárban található összes bemeneti fájl frissítéséhez a következő
86 parancs használható:
87
88 @example
89 convert-ly -e *.ly
90 @end example
91
92 Amennyiben az újabb fájlnak más nevet szeretnénk adni, és az eredeti fájlt
93 változatlanul szeretnénk hagyni, a következő parancsot adjuk ki:
94
95 @example
96 convert-ly @var{fájlnév}.ly > @var{újfájlnév}.ly
97 @end example
98
99 Futása során a program kiírja a verziószámokat, amelyekre frissítés történt.
100 Ha egy verziószám sincs kiírva, akkor a fájl teljesen friss.
101
102 A Mac OS@tie{}X-felhasználók ezt a parancsot a grafikus felületen is elérhetik
103 a @code{Compile > Update syntax} menüpontból.
104
105 A Windows-felhasználóknak ezeket a parancsokat a DOS parancssorba kell beírni,
106 amit tipikusan a Start menüben a @code{Programok > Kellékek > Parancssor}
107 kiválasztásával lehet elindítani.
108
109
110 @node A convert-ly parancssori paraméterei
111 @section A @command{convert-ly} parancssori paraméterei
112 @translationof Command line options for convert-ly
113
114 A program meghívása a következő módon történik:
115
116 @example
117 convert-ly [@var{opció}]@dots{} @var{fájlnév}@dots{}
118 @end example
119
120
121 A következő opciók adhatóak meg:
122
123 @table @code
124 @item -e,--edit
125 A fájl helyben frissítése.
126
127 @item -f,--from=@var{forrásverzió}
128 A forrásfájl verziójának megadása. Ha nincs megadva, a @command{convert-ly}
129 a fájlban található @code{\version} parancs alapján kitalálja.
130 Példa: @code{--from=2.10.25}
131
132 @item -n,--no-version
133 Alapesetben a @command{convert-ly} ellátja a kimenetét a megfelelő
134 @code{\version} paranccsal. Ez az opció ezt tiltja le.
135
136 @item -s, --show-rules
137 Nem történik frissítés, csak a frissítési szabályok kiírása.
138
139 @item --to=@var{célverzió}
140 Azt adja meg, hogy melyik verzióra frissüljön a fájl. Alapértéke a legfrissebb
141 elérhető verzió. Példa: @code{--to=2.12.2}
142
143 @item -h, --help
144 Segítség kiírása az alkalmazás használatához.
145 @end table
146
147 Texinfo fájlokban található LilyPond részletek frissítéséhez az alábbi parancs
148 használatos:
149
150 @example
151 convert-ly --from=... --to=... --no-version *.itely
152 @end example
153
154 A LilyPond két verziója közötti, a nyelvtanban bekövetkezett változások
155 megtekintéséhez pedig a következő:
156
157 @example
158 convert-ly --from=... --to=... -s
159 @end example
160
161
162 @node Problémák a convert-ly futtatása közben
163 @section Problémák a @command{convert-ly} futtatása közben
164 @translationof Problems running convert-ly
165
166 Amikor olyan forrásfájlt frissítünk a @command{convert-ly} segédprogrammal
167 Windows alatt parancssorból, amelynek elérési útja szóközt tartalmaz, a
168 forrásfájl elérési útját három-három (!) idézőjel közé kell írni:
169
170 @example
171 convert-ly """D:/Az én kottáim/Óda.ly""" > "D:/Az én kottáim/Óda - új.ly"
172 @end example
173
174 Ha az egyszerű @command{convert-ly -e *.ly} parancs futása meghiúsul a fájlok
175 nagy mennyisége miatt, a másik lehetőség a @command{convert-ly} futtatása
176 ciklusban. A következő, UNIX alatt használható példa minden @code{.ly} fájlt
177 frissít az aktuális könyvtárban:
178
179 @example
180 for f in *.ly; do convert-ly -e $f; done;
181 @end example
182
183 A Windows parancssorában a megfelelő parancs:
184
185 @example
186 for %x in (*.ly) do convert-ly -e """%x"""
187 @end example
188
189 A program nem minden változást képes kezelni.
190 A Scheme kód és a LilyPond Scheme felületének frissítése nem történik meg, a
191 Scheme kódrészleteket kézzel kell átírni.
192
193
194 @node Kézi frissítés
195 @section Kézi frissítés
196 @translationof Manual conversions
197
198 Ideális esetben a @command{convert-ly} minden változás kezelésére képes lenne.
199 Elvégre ha a régi verzió képes volt értelmezni a régi nyelvtant, az új verzió
200 pedig az újat, akkor elvileg létezhetne egy másik program, amelyik a kettő
201 közötti konverziót elvégzi@footnote{Legalábbis ez abban az esetben
202 lehetséges, ha a LilyPond fájl nem tartalmaz Scheme kódot. Ha viszont
203 tartalmaz, akkor egy Turing-teljes nyelvvel van dolgunk, és az
204 algoritmuselméletben jól ismert @qq{megállási problémába} ütközünk.}.
205
206 A gyakorlatban azonban a LilyPond erőforrásai korlátosak: nem minden konverzió
207 történik meg automatikusan. Íme az ismert problémák listája.
208
209
210 @verbatim
211 1.6 -> 2.0:
212 - A számozott basszus frissítése nem tökéletes, főleg a {< >} esetében.
213 Ez úgy kerülhető meg, hogy a '{<' karakterlánc összes előfordulását egy
214 ideiglenes másik karakterláncra cseréljük, pl. '{#'-re. Hasonlóképpen a
215 '>}' előfordulásai '&}'-re cserélendőek. A frissítés után pedig a következő
216 cseréket kell végrehajtani: '{ #' -> '{ <' és '& }' -> '> }'.
217 - A formázott szövegek frissítése sem mindig jó. Eddig zárójelekkel
218 csoportosítani lehetett több formázó parancsot, pl.:
219    -#'((bold italic) "string")
220 Ez sajnos helytelenül a következővé alakul:
221    -\markup{{\bold italic} "string"}
222 A helyes ez lenne:
223    -\markup{\bold \italic "string"}
224
225 2.0 -> 2.2:
226 - A \partcombine frissítése nem támogatott.
227 - Az \addlyrics => \lyricsto frissítés nem történik meg, ez több versszakkal
228 rendelkező kották esetében problémát okozhat.
229
230 2.0 -> 2.4:
231 A következő konverziók nem támogatottak:
232 - \magnify #m => \fontsize #f, ahol f = 6ln(m)/ln(2))
233 - \applyMusic #(remove-tag '...) => \keepWithTag #'...
234 - first-page-number no => print-first-page-number = ##f
235 - "Első sor" \\\\ "Második sor" =>
236   \markup \center-align < "Első sor" "Második sor" >
237 - \rced => \!
238 - \rc => \!
239
240 2.2 -> 2.4:
241 A \turnOff parancs (pl. a következő esetben:
242 \set Staff.VoltaBracket = \turnOff) frissítése helytelen.
243
244 2.4.2 -> 2.5.9
245 A \markup{ \center-align <{ ... }> } parancs a frissítés után
246 \markup{ \center-align {\line { ... }} } kellene, hogy legyen, de a \line
247 jelenleg hiányzik.
248
249 2.4 -> 2.6
250 A speciális LaTeX karakterek (pl. $~$) nem alakulnak át az UTF-8
251 megfelelőjükre.
252
253 2.8
254 A \score{} blokknak innentől kezdve egy zenei kifejezéssel kell kezdődnie.
255 Minden más (pl. a \header{} blokk) a zene után jöhet csak.
256 @end verbatim