]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/es/usage/updating.itely
Doc-es: update Usage/Running and Usage/Updating.
[lilypond.git] / Documentation / es / usage / updating.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
2
3 @ignore
4     Translation of GIT committish: 8a23eef94ec7ab83e10646ab3502f2d82b888a03
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
14 @node Actualizar ficheros con convert-ly
15 @chapter Actualizar ficheros con @command{convert-ly}
16 @translationof Updating files with convert-ly
17
18 @cindex actualización de un archivo de LilyPond
19 @cindex convert-ly
20
21 La sintaxis del lenguaje de entrada de LilyPond se modifica de forma
22 habitual para simplificarla o mejorarla de distintas maneras.  Como
23 efecto secundario, el intérprete de LilyPond a menudo ya no es
24 compatible con los archivos de entrada antiguos.  Para poner remedio a
25 esto se puede utilizar el programa @command{convert-ly} para manejar
26 casi todos los cambios de sintaxis entre versiones de LilyPond.
27
28 @menu
29 * ¿Por qué cambia la sintaxis?::
30 * Invocar convert-ly::
31 * Opciones de la línea de órdenes para convert-ly::
32 * Problemas con convert-ly::
33 * Conversiones manuales::
34 @end menu
35
36
37 @node ¿Por qué cambia la sintaxis?
38 @section ¿Por qué cambia la sintaxis?
39 @translationof Why does the syntax change?
40
41 @cindex convert-ly
42 @cindex actualizar archivos de entrada antiguos
43
44 La sintaxis de la entrada de LilyPond cambia de manera ocasional.  A
45 medida que el propio LilyPond mejora, la sintaxis (el lenguaje de la
46 entrada) se modifica en consonancia.  A veces estos cambios se hacen
47 para conseguir que la entrada sea más fácil de leer y escribir, y
48 otras veces estos cambios son para dar cabida a nuevas funcionalidades
49 de LilyPond.
50
51 Por ejemplo, se supone que todos los nombres de las propiedades de
52 @code{\paper} y de @code{\layout} están escritos en la dorma
53 @code{primero-segundo-tercero}.  Sin embargo, en la versión 2.11.60,
54 observamos que la propiedad @code{printallheaders} no seguía esta
55 convención.  ¿Deberíamos dejarla como está (confundiendo a los nuevos
56 usuarios que tienen que tratar con un formato de entrada
57 inconsistente), o cambiarla (fastidiando a los usuarios con
58 experiencia que tienen partituras antiguas)?  En este caso, decidimos
59 cambiar el nombre a @code{print-all-headers}.  Afortunadamente, este
60 cambio se puede automatizar con nuestra herramienta
61 @command{convert-ly}.
62
63 Sin embargo, lamentablemente @code{convert-ly} no puede tratar todos
64 los cambios en la entrada.  Por ejemplo, en la versión 2.4 y
65 anteriores de LilyPond, los acentos y las letras no inglesas se
66 introducían utilizando LaTeX: por ejemplo, @code{No\"el} (que
67 significa @q{Navidad} en francés).  En LilyPond 2.6 y siguientes, el
68 carácter especial @code{ë} debe introducirse directamente en el
69 archivo de LilyPond como un carácter UTF-8.  @code{convert-ly} no
70 puede cambiar todos los caracteres especiales de LaTeX a caracteres de
71 UTF-8; tendrá que actualizar manualmente sus archivos de LilyPond
72 antiguos.
73
74
75 @node Invocar convert-ly
76 @section Invocar @command{convert-ly}
77 @translationof Invoking convert-ly
78
79 @command{convert-ly} utiliza los enunciados @code{\version} de los
80 archivos de entrada para detectar el número de versión antiguo.  En
81 casi todos los casos, para actualizar el archivo de entrada basta con
82 ejecutar
83
84 @example
85 convert-ly -e miarchivo.ly
86 @end example
87
88 @noindent
89 dentro del directorio que contiene el archivo.  Con esto se actualiza
90 @file{miarchivo.ly} @emph{in situ} y se preserva el archivo original
91 @file{miarchivo.ly~}.
92
93 @warning{@command{convert-ly} siempre convierte hasta el último cambio
94 de sintaxis que es capaz de manejar.  Esto significa que el número de
95 @code{\version} que aparece en el archivo convertido suele ser
96 inferior al número de versión del propio programa
97 @command{convert-ly}.}
98
99 Para convertir de una vez todos los archivos de entrada que hay en un
100 directorio, use
101
102 @example
103 convert-ly -e *.ly
104 @end example
105
106 De forma alternativa, si queremos especificar un nombre distinto para
107 el archivo actualizado, preservando el archivo original con el mismo
108 nombre, haga
109
110 @example
111 convert-ly miarchivo.ly > minuevoarchivo.ly
112 @end example
113
114 El programa imprime una relación de los números de versión para los
115 que se han hecho conversiones.  Si no se imprime ningún número de
116 versión, el archivo ya está actualizado.
117
118 @noindent
119 Los usuarios de MacOS@tie{}X pueden ejecutar esta instrucción bajo el
120 menú @code{Compilar > Actualizar sintaxis}.
121
122 Los usuarios de Windows deben introducir esta instrucción en una
123 ventana del terminal del sistema, que se encuentra por lo general bajo
124 @code{Inicio > Accesorios > Símbolo del sistema}.
125
126
127 @node Opciones de la línea de órdenes para convert-ly
128 @section Opciones de la línea de órdenes para @command{convert-ly}
129 @translationof Command line options for convert-ly
130
131 En general, el programa se invoca de la manera siguiente:
132
133 @example
134 convert-ly [@var{opción}]@dots{} @var{archivo}@dots{}
135 @end example
136
137 Se pueden dar las siguientes opciones:
138
139 @table @code
140 @item -d,--diff-version-update
141 actualizar la @code{\version} a la última o, si ésta es mayor, no
142 hacer nada.
143
144 @item -e,--edit
145 Aplicar las conversiones directamente al archivo de entrada,
146 modificándolo in situ.
147
148 @item -f,--from=@var{versión_de_origen}
149 Establece la versión desde la que convertir.  Si no aparece esta
150 opción, @command{convert-ly} tratará de adivinarla, basándose en el
151 enunciado @code{\version} del archivo.  Ejemplo: @option{--from=2.10.25}
152
153 @item -h, --help
154 Imprimir la ayuda de utilización.
155
156 @item -l @var{loglevel}, --loglevel=@var{loglevel}
157 Fijar el grado en que la salida es prolija a @var{loglevel}. Los
158 valores posibles son @code{NONE} (ninguno), @code{ERROR} (errores),
159 @code{WARNING} (advertencias), @code{PROGRESS} (avance;
160 predeterminado) y @code{DEBUG} (depuración).
161
162 @item -n,--no-version
163 Normalmente @command{convert-ly} añade un indicador @code{\version} a
164 la salida.  La especificación de esta opción lo suprime.
165
166 @item -s, --show-rules
167 Mostrar todas las conversiones conocidas y salir.
168
169 @item -t, --to=@var{versión_final}
170 Fijar explícitamente a qué @code{\version} convertir, en caso
171 contrario el valor predeterminado es la versión más actual.
172
173 @example
174 convert-ly --to=2.14.1 miarchivo.ly
175 @end example
176
177 @end table
178
179 Para actualizar fragmentos de LilyPond en archivos de texinfo, use
180
181 @example
182 convert-ly --from=... --to=... --no-version *.itely
183 @end example
184
185 Para ver los cambios en la sintaxis de LilyPond entre dos versiones
186 dadas, use
187
188 @example
189 convert-ly --from=... --to=... -s
190 @end example
191
192
193 @node Problemas con convert-ly
194 @section Problemas con @code{convert-ly}
195 @translationof Problems running convert-ly
196
197 Al ejecutar convert-ly en una ventana del Símbolo del Sistema bajo
198 Windows sobre un archivo que tiene espacios en el nombre o en la ruta,
199 es necesario encerrar todo el nombre del archivo de entrada con tres
200 (!) pares de comillas:
201
202 @example
203 convert-ly """D:/Mis partituras/Oda.ly""" > "D:/Mis partituras/nueva Oda.ly"
204 @end example
205
206 Si la orden simple @command{convert-ly -e *.ly} no funciona porque la
207 instrucción expandida se hace muy larga, en vez de ello la orden
208 @command{convert-ly} se puede poner dentro de un bucle.  Este ejemplo
209 para UNIX actualiza todos los documentos @file{.ly} del directorio
210 actual
211
212 @example
213 for f in *.ly; do convert-ly -e $f; done;
214 @end example
215
216 En la ventana del terminal de órdenes de Windows, la instrucción
217 correspondiente es
218
219 @example
220 for %x in (*.ly) do convert-ly -e """%x"""
221 @end example
222
223 No se manejan todos los cambios en el lenguaje.  Sólo se puede
224 especificar una opción de salida.  La actualización automática de
225 Scheme y los interfaces Scheme de LilyPond es bastante improbable;
226 prepárese para trucar el código de Scheme a mano.
227
228 @node Conversiones manuales
229 @section Conversiones manuales
230 @translationof Manual conversions
231
232 En teoría, un programa como @command{convert-ly} debería poder tratar
233 cualquier cambio en la sintaxis.  Después de todo, un programa de
234 ordenador interpreta las versiones antigua y nueva, por lo que otro
235 programa de ordenador podría traducir un archivo al otro@footnote{Al
236 menos, esto es posible en cualquier archivo de LilyPond que no
237 contenga Scheme.  Si hay Scheme dentro del archivo, contiene un
238 lenguaje Turing-completo, y nos encontramos con el famoso @qq{Problema
239 de la parada} en informática.}.
240
241 Sin embargo, el proyecto LilyPond cuenta con unos recursos limitados:
242 no todas las conversiones se efectúan automáticamente.  A continuación
243 aparece una lista de los problemas conocidos.
244
245
246 @verbatim
247 1.6->2.0:
248  No siempre convierte el bajo cifrado correctamente, específicamente cosas como {<
249 >}.  El comentario de Mats sobre cómo solventar el problema:
250    Para poder ejecutar convert-ly
251    sobre él, primero sustituí todas las apariciones de '{<' a algo mudo como '{#'
252    y de forma similar sustituí '>}' con '&}'.  Después de la conversión, pude
253    volver a cambiarlos de '{ #' a '{ <' y de '& }' a '> }'.
254  No convierte todos los marcados de texto correctamente.  En sintaxis antigua,
255  se podían agrupar varios marcados entre paréntesis, p.ej.
256    -#'((bold italic) "cadena")
257    Esto se convierte incorrectamente en
258    -\markup{{\bold italic} "cadena"}
259    en vez del correcto
260    -\markup{\bold \italic "cadena"}
261 2.0->2.2:
262  No maneja \partcombine
263  No hace \addlyrics => \lyricsto, esto rompe algunas partituras con varias estrofas.
264 2.0->2.4:
265  \magnify no se cambia por \fontsize.
266     - \magnify #m => \fontsize #f, donde f = 6ln(m)/ln(2)
267  remove-tag no se cambia.
268     - \applyMusic #(remove-tag '. . .) => \keepWithTag #'. . .
269  first-page-number no se cambia.
270     - first-page-number no => print-first-page-number = ##f
271  Los saltos de línea en las cadenas de cabecera no se convierten.
272     - \\\\  como salto de línea en las cadenas de \header  => \markup \center-align <
273       "Primera línea" "Segunda línea" >
274  Los terminadores de crescendo y decrescendo no se convierten.
275     - \rced => \!
276     - \rc => \!
277 2.2->2.4:
278  \turnOff (usado en \set Staff.VoltaBracket = \turnOff) no se convierte
279 adecuadamente.
280 2.4.2->2.5.9
281  \markup{ \center-align <{ ... }> } se tendría que convertir en:
282  \markup{ \center-align {\line { ... }} }
283  pero ahora, falta el \line.
284 2.4->2.6
285  Los caracteres especiales de LaTeX como $~$ en el texto no se convierten a UTF8.
286 2.8
287  \score{} ahora debe empezar con una expresión musical.  Cualquier otra cosa
288  (en particular, \header{}) debe ir después de la música.
289 @end verbatim
290
291