1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: hu -*-
4 Translation of GIT committish: 02a351abc96257d0111a2df8843354160477da49
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..
14 @node A convert-ly használata
15 @chapter A @command{convert-ly} használata
16 @translationof Updating files with convert-ly
18 @cindex Updating a LilyPond file
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.
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::
35 @node Miért változik a szintaxis?
36 @section Miért változik a szintaxis?
37 @translationof Why does the syntax change?
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.
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.
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.
66 @node A convert-ly futtatása
67 @section A @command{convert-ly} futtatása
68 @translationof Invoking convert-ly
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
75 convert-ly -e @var{fájlnév}.ly
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.
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é.}
87 Egy könyvtárban található összes bemeneti fájl frissítéséhez a következő
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:
98 convert-ly @var{fájlnév}.ly > @var{újfájlnév}.ly
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.
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.
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.
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
116 A program meghívása a következő módon történik:
119 convert-ly [@var{opció}]@dots{} @var{fájlnév}@dots{}
123 A következő opciók adhatóak meg:
127 A fájl helyben frissítése.
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}
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.
138 @item -s, --show-rules
139 Nem történik frissítés, csak a frissítési szabályok kiírása.
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}
146 Segítség kiírása az alkalmazás használatához.
149 Texinfo fájlokban található LilyPond részletek frissítéséhez az alábbi parancs
153 convert-ly --from=... --to=... --no-version *.itely
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ő:
160 convert-ly --from=... --to=... -s
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
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:
173 convert-ly """D:/Az én kottáim/Óda.ly""" > "D:/Az én kottáim/Óda - új.ly"
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:
182 for f in *.ly; do convert-ly -e $f; done;
185 A Windows parancssorában a megfelelő parancs:
188 for %x in (*.ly) do convert-ly -e """%x"""
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.
197 @section Kézi frissítés
198 @translationof Manual conversions
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.}.
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.
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"}
225 -\markup{\bold \italic "string"}
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.
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" >
243 A \turnOff parancs (pl. a következő esetben:
244 \set Staff.VoltaBracket = \turnOff) frissítése helytelen.
247 A \markup{ \center-align <{ ... }> } parancs a frissítés után
248 \markup{ \center-align {\line { ... }} } kellene, hogy legyen, de a \line
252 A speciális LaTeX karakterek (pl. $~$) nem alakulnak át az UTF-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.