]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/ca/usage/updating.itely
New upstream version 2.19.65
[lilypond.git] / Documentation / ca / usage / updating.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: ca -*-
2
3 @ignore
4     Translation of GIT committish: b381556a3132e765159edc75107b31259dbf5988
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.16.0"
12
13 @c Translators: Walter Garcia-Fontes
14 @c Translation checkers:
15
16
17 @node Actualització de fitxers amb convert-ly
18 @chapter Actualització de fitxers amb @command{convert-ly}
19 @translationof Updating files with convert-ly
20
21 @cindex actualització d'un fitxer del LilyPond
22 @cindex convert-ly
23
24 La sintaxi del llenguatge d'entrada del LilyPond es modifica de
25 forma habitual per a simplificar-la o millorar-la de diferents
26 maneres. Com a efecte secundari, l'intèrpret del LilyPond sovint
27 ja no és compatible amb els fitxers d'entrada antics.  Per posar
28 remei a això es pot utilitzar el programa @command{convert-ly} per
29 actualitzar fitxers a versions més noves del LilyPond.
30
31 @menu
32 * Perquè canvia la sintaxi?::
33 * Invocació de convert-ly::
34 * Opcions de la línia d'ordres per a convert-ly::
35 * Problemes amb convert-ly::
36 * Conversions manuals::
37 @end menu
38
39
40 @node Perquè canvia la sintaxi?
41 @section Perquè canvia la sintaxi?
42 @translationof Why does the syntax change?
43
44 @cindex convert-ly
45 @cindex actualització de fitxers d'entrada antics
46
47 La sintaxi de l'entrada del LilyPond canvia de manera ocasional.
48 A mesura que el propi LilyPond millora,  la sintaxi (el llenguatge
49 de l'entrada) es modifica en consonància.  A vegades aquests
50 canvis es fan per aconseguir que l'entrada sigui més fàcil de
51 llegir i escriure, i d'altres vegades aquests canvis són per
52 donar cabuda a noves funcionalitats del LilyPond.
53
54 Per exemple, se suposa que tots els noms de les propietats de
55 @code{\paper} i de @code{\layout} estan escrits sota la norma
56 @code{primer-segon-tercer}.  Tot i així, a la versió 2.11.60,
57 observem que la propietat @code{printallheaders} no seguia aquesta
58 convenció.  Hauríem de deixar-la tal com està (confonent als nous
59 usuaris que han de tractar amb un format d'entrada inconsistent),
60 o canviar-la (empipant als usuaris amb experiència que tenen
61 partitures antigues)?  En aquest cas, vam decidir canviar el nom a
62 @code{print-all-headers}.  Afortunadament, aquest
63 canvi es pot automatitzar amb la nostra eina
64 @command{convert-ly}.
65
66 Tanmateix, lamentablement @command{convert-ly} no pot tractar tots
67 els canvis d'entrada.  Per exemple, a la versió 2.4 i anteriors de
68 LilyPond els accents i les lletres no angleses s'introdueixen
69 utilitzant el LaTeX: per exemple @code{No\"el} (que significa
70 @q{Nadal} en francès).  Al LilyPond 2.6 i següents el caràcter
71 especial @code{ë} s'ha d'introduir directament al fitxer del
72 LilyPond com un caràcter UTF-8.  @command{convert-ly} no pot
73 canviar tots els caràcters especials del LaTeX a caràcters de
74 UTF-8: haureu d'actualitzar manualment els vostres fitxers del
75 LilyPond antics.
76
77 Les regles de conversió de @command{convert-ly} funcionen usant
78 correspondència i substitució de patrons de text enlloc d'una
79 comprensió profunda de la sintaxi del LilyPond.  Això té diverses
80 conseqüències:
81 @itemize @bullet
82 @item
83 El bon funcionament de la conversió depèn de la qualitat de cada
84 conjunt de regles que s'apliquen i de la complexitat del canvi
85 corresponent.  A vegades les conversions poden necessitar
86 correccions manuals, per la qual cosa la versió antiga hauria de
87 conservar-se a efectes de comparació.
88 @item
89 Solament són possibles les conversions de formats més nous: no hi
90 ha cap conjunt de regles per a la desactualització.  Així doncs,
91 la còpia principal de treball d'un fitxer del LilyPond solament
92 s'ha d'actualitzar quan ja no hi ha necessitat de seguir mantenint
93 versions antigues del LilyPond.  Els sistemes de control de
94 versions com ara el Git poden ser de gran ajuda per realitzar el
95 manteniment de diverses versions dels mateixos fitxers.
96 @item
97 Els propis programes del LilyPond i de l'Scheme són força robustos
98 enfront als espais afegits i suprimits de manera @qq{creativa},
99 però les regles utilitzades per @command{convert-ly} tendeixen a
100 fer certes suposicions d'estil.  El millor que pot fer-se és
101 seguir l'estil que s'usa als manuals per fer actualitzacions
102 indolores, especialment perquè els propis manuals s'actualitzen
103 usant @command{convert-ly}.
104 @end itemize
105
106 @node Invocació de convert-ly
107 @section Invocació de @command{convert-ly}
108 @translationof Invoking convert-ly
109
110 @command{convert-ly} utilitza el enunciats @code{\version} dels
111 fitxers d'entrada per detectar el número de versió antic.  En
112 gairebé tots els casos, per actualitzar el fitxer d'entrada sols
113 cal executar
114
115 @example
116 convert-ly -e elmeufitxer.ly
117 @end example
118
119 @noindent
120 dins del directori que conté el fitxer.  Amb això s'actualitza
121 @file{elmeufitxer.ly} @emph{in situ} i es preserva el fitxer
122 original @file{elmeufitxer.ly~}.
123
124 @warning{@command{convert-ly} sempre converteix fins l'últim canvi
125 de sintaxi que és capaç de gestionar.  Això significa que el
126 número de @code{\version} que apareix al fitxer convertit sol ser
127 inferior al número de versió del propi programa
128 @command{convert-ly}.}
129
130 Per convertir d'un cop tots els fitxers d'entrada que hi ha a un
131 directori, useu
132
133 @example
134 convert-ly -e *.ly
135 @end example
136
137 De forma alternativa, si volem especificar un nom diferent per al
138 fitxer actualitzar, preservant el fitxer original amb el mateix
139 nom, feu
140
141 @example
142 convert-ly elmeufitxer.ly > elmeunoufitxer.ly
143 @end example
144
145 El programa imprimeix una relació dels números de versió per als
146 que s'han fet conversions.  Si no s'imprimeix cap número de
147 versió, el fitxer ja està actualitzat.
148
149 @noindent
150 Els usuaris del MacOS@tie{}X poden executar aquesta instrucció sota
151 el menú @code{Compilar > Actualitzar sintaxi}.
152
153 Els usuaris del Windows han d'introduir aquesta instrucció a una
154 nova ventana del terminal del sistema, que es troba en general sota
155 @code{Inici > Accessoris > Símbol del sistema}.
156
157 @node Opcions de la línia d'ordres per a convert-ly
158 @section Opcions de la línia d'ordres per a @command{convert-ly}
159 @translationof Command line options for convert-ly
160
161 En general, el programa s'invoca de la manera següent:
162
163 @example
164 convert-ly [@var{opció}]@dots{} @var{fitxer}@dots{}
165 @end example
166
167 Es poden donar les opcions següents:
168
169 @table @code
170 @item -d, --diff-version-update
171 Incrementa la cadena @code{\version} solament si el fitxer
172 efectivament ha canviat.  En tal cas, la capçalera de versió
173 correspondrà a la versió següent a l'últim canvi efectiu.  Sense
174 aquesta opció la versió reflecteix l'última conversió que es
175 @emph{va intentar} fer.
176
177 @item -e, --edit
178 Aplica les conversions directament al fitxer d'entrada,
179 modificant-lo in situ.  El fitxer original es canvia de nom a
180 @file{elmeufitxer.ly~}.  Aquest fitxer de còpia de seguretat
181 podria ser un fitxer ocult en alguns sistemes operatius.
182
183 @item -b, --backup-numbered
184 Quan s'usa amb l'opció @samp{-e}, numera els fitxers de còpia de
185 seguretat de forma que no se sobreescrigui cap versió anterior.
186 Els fitxers de còpia de seguretat podrien ser fitxer ocults en
187 alguns sistemes operatius.
188
189 @item -f, --from=@var{versió_d_origen}
190 Estableix la versió des de la qual s'ha de convertir.  Si no
191 apareix aquesta opció @command{convert-ly} intentarà endevinar-la,
192 bastant-se en la instrucció @code{\version} del fitxer. Exemple:
193 @option{--from=2.10.25}
194
195 @item -h, --help
196 Imprimeix l'ajuda d'utilització.
197
198 @item -l @var{nivellderegistre}, --loglevel=@var{nivellderegistre}
199 Fixa el grau en el qual la sortida és detallada a
200 @var{nivellderegistre}.  Els valors possibles són @code{NONE}
201 (cap), @code{ERROR} (errors), @code{WARNING} (advertiments),
202 @code{PROGRESS} (avenç;predeterminat) i @code{DEBUG} (depuració).
203
204 @item -n, --no-version
205 Normalment @command{convert-ly} afegeix un indicador
206 @code{\version} a la sortida.  L'especificació d'aquesta opció el
207 suprimeix.
208
209 @item -s, --show-rules
210 Mostra totes les conversions conegudes i surt.
211
212 @item -t, --to=@var{versió_final}
213 Fixa explícitament a quina @code{\version} convertir, en cas
214 contrari el valor predeterminat és la versió més actual.  Ha de
215 ser més alta que la versió de partida.
216
217 @example
218 convert-ly --to=2.14.1 elmeufitxer.ly
219 @end example
220
221 @end table
222
223 Per actualitzar fragments del LilyPond en fitxer de texinfo, useu
224
225 @example
226 convert-ly --from=@dots{} --to=@dots{} --no-version *.itely
227 @end example
228
229 Per veure els canvis en la sintaxi del LilyPond entre dues
230 versions donades, useu
231
232 @example
233 convert-ly --from=@dots{} --to=@dots{} -s
234 @end example
235
236
237 @node Problemes amb convert-ly
238 @section Problemes amb @code{convert-ly}
239 @translationof Problems running convert-ly
240
241 En executar convert-ly a una finestra del Símbol de Sistema sota
242 el Windows sobre un fitxer que té espais al nom o la ruta, és
243 necessari tancar tot el nom del fitxer d'entrada amb tres (!)
244 parelles de cometes:
245
246 @example
247 convert-ly """D:/Les meves partitures/Oda.ly""" > "D:/Les meves partitures/nova Oda.ly"
248 @end example
249
250 Si l'ordre simple @command{convert-ly -e *.ly} no funciona perquè
251 la instrucció expandida es fa massa llarga, en comptes de fer això
252 l'ordre @command{convert-ly} es pot posar dins d'un bucle.  Aquest
253 exemple per a UNIX actualitza tots els documents @file{.ly} del
254 directori actual
255
256 @example
257 for f in *.ly; do convert-ly -e $f; done;
258 @end example
259
260 A la finestra del terminal d'ordres del Windows, la instrucció
261 corresponent és
262
263 @example
264 for %x in (*.ly) do convert-ly -e """%x"""
265 @end example
266
267 No es gestionen tots els canvis al llenguatge.  Sols es pot
268 especificar una opció de sortida.   L'actualització automàtica del
269 Scheme i les interfícies Scheme del LilyPond és força improbable;
270 prepareu-vos per manipular el codi del Scheme a mà.
271
272 @node Conversions manuals
273 @section Conversions manuals
274 @translationof Manual conversions
275
276 En teoria, un programa com @command{convert-ly} hauria de poder
277 tractar qualsevol canvi de sintaxi.  Després de tot, un programa
278 d'ordinador interpreta les versions antiga i nova, per la qual
279 cosa un altre programa d'ordinador podria traduir un fitxer a
280 l'altre@footnote{Almenys això és possible en qualsevol fitxer del
281 LilyPond que no contingui Scheme.  Si hi ha Scheme dins del
282 fitxer, conté un llenguatge Turing-complet, i ens trobem amb el
283 famós @qq{Problema de l'aturada}  informàtica.}.
284
285 Tot i així, el projecte LilyPond compta amb uns recursos limitats:
286 no totes les conversions s'efectuen automàticament.  A continuació
287 hi ha una llista de problemes coneguts.
288
289 @verbatim
290 1.6->2.0:
291 No sempre converteix el baix xifrat correctament, específicament
292 coses com ara {<
293 >}.  El comentari de Mats sobre com solucionar el
294 problema:
295    Per poder executar convert-ly
296    sobre ell, primer vaig sustituir totes les aparicions de '{<' a quelcom mut com ara '{#'
297    i de forma semblant vaig sustituir '>}' amb '&}'.  Després de la conversió, vaig poder
298    tornar a canviar-los de '{ #' a '{ <' i de '& }' a '> }'.
299  No converteix tot l'etiquetatge de text correctament.  En sintaxi antiga,
300  es podien agrupar diverses etiquetes entre parèntesis, per exemple
301    -#'((bold italic) "cadena")
302    Això es converteix incorrectament a
303    -\markup{{\bold italic} "cadena"}
304    en comptes del correcte
305    -\markup{\bold \italic "cadena"}
306 2.0->2.2:
307  No gestiona \partcombine
308  No va \addlyrics => \lyricsto, això trenca algunes partitures amb diverses estrofes
309 2.0->2.4:
310  \magnify no es canvia per \fontsize.
311     - \magnify #m => \fontsize #f, on f = 6ln(m)/ln(2)
312  remove-tag no es canvia.
313     - \applyMusic #(remove-tag '. . .) => \keepWithTag #'. . .
314  first-page-number no es canvia.
315     - first-page-number no => print-first-page-number = ##f
316  Els salts de línia a les cadenes de capçalera no es converteixen.
317     - \\\\  com salt de línia a les cadenes de \header  => \markup \center-align <
318       "Primera línia" "Segona línia" >
319  Els terminadors de crescendo i descrecendo no es converteixen.
320     - \rced => \!
321     - \rc => \!
322 2.2->2.4:
323  \turnOff (usat a \set Staff.VoltaBracket = \turnOff) no es converteix
324 adequadament.
325 2.4.2->2.5.9
326  \markup{ \center-align <{ ... }> } s'hauria de convertir a:
327  \markup{ \center-align {\line { ... }} }
328  però ara, falta el \line.
329 2.4->2.6
330  Els caràcters especials del LaTeX com $~$ al text no es converteixen a UTF8.
331 2.8
332  \score{} ara ha de començar amb una expressió musical.  Qualsevol alta cosa
333  (en particular, \header{}) ha d'anar després de la música.
334 @end verbatim