1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: hu -*-
4 Translation of GIT committish: b005971680bc6d01130420478dcd09bc6569de97
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 fájlok frissítése
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?
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.
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.
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.
64 @node A convert-ly futtatása
65 @section A @command{convert-ly} futtatása
66 @translationof Invoking convert-ly
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
73 convert-ly -e @var{fájlnév}.ly
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.
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é.}
85 Egy könyvtárban található összes bemeneti fájl frissítéséhez a következő
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:
96 convert-ly @var{fájlnév}.ly > @var{újfájlnév}.ly
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.
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.
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.
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
114 A program meghívása a következő módon történik:
117 convert-ly [@var{opció}]@dots{} @var{fájlnév}@dots{}
121 A következő opciók adhatóak meg:
125 A fájl helyben frissítése.
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}
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.
136 @item -s, --show-rules
137 Nem történik frissítés, csak a frissítési szabályok kiírása.
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}
144 Segítség kiírása az alkalmazás használatához.
147 Texinfo fájlokban található LilyPond részletek frissítéséhez az alábbi parancs
151 convert-ly --from=... --to=... --no-version *.itely
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ő:
158 convert-ly --from=... --to=... -s
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
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:
171 convert-ly """D:/Az én kottáim/Óda.ly""" > "D:/Az én kottáim/Óda - új.ly"
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:
180 for f in *.ly; do convert-ly -e $f; done;
183 A Windows parancssorában a megfelelő parancs:
186 for %x in (*.ly) do convert-ly -e """%x"""
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.
195 @section Kézi frissítés
196 @translationof Manual conversions
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.}.
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.
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"}
223 -\markup{\bold \italic "string"}
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.
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" >
241 A \turnOff parancs (pl. a következő esetben:
242 \set Staff.VoltaBracket = \turnOff) frissítése helytelen.
245 A \markup{ \center-align <{ ... }> } parancs a frissítés után
246 \markup{ \center-align {\line { ... }} } kellene, hogy legyen, de a \line
250 A speciális LaTeX karakterek (pl. $~$) nem alakulnak át az UTF-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.