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