]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/es/usage/running.itely
lily.git: Rewrite translation markers.
[lilypond.git] / Documentation / es / usage / running.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
2
3 @ignore
4     Translation of GIT committish: 3b870eb9ab448ebc11a2d6283ad35796b22351aa
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 Ejecutar LilyPond
15 @chapter Ejecutar LilyPond
16 @translationof Running LilyPond
17
18 Este capítulo detalla los aspectos técnicos de la ejecución de
19 LilyPond.
20
21 @menu
22 * Utilización normal::
23 * Utilización desde la línea de órdenes::
24 * Mensajes de error::
25 * Errores comunes::
26 @end menu
27
28
29 @node Utilización normal
30 @section Utilización normal
31 @translationof Normal usage
32
33 Casi todos los usuarios ejecutan LilyPond por medio de un interfaz
34 gráfico; consulte @rlearning{Primeros pasos} si no lo ha leído aún.
35
36
37 @node Utilización desde la línea de órdenes
38 @section Utilización desde la línea de órdenes
39 @translationof Command-line usage
40
41 Esta sección contiene información adicional sobre el uso de LilyPond
42 en la línea de órdenes.  Esta forma puede ser preferible para pasarle
43 al programa algunas opciones adicionales.  Además, existen algunos
44 programas complementarios @q{de apoyo} (como @code{midi2ly}) que sólo
45 están disponibles en la línea de órdenes.
46
47 Al hablar de la @q{línea de órdenes}, nos referimos a la consola del
48 sistema operativo.  Los usuarios de Windows posiblemente estén más
49 familiarizados con los términos @q{ventana de MS-DOS} o @q{línea de
50 comandos}; Los usuarios de MacOS@tie{}X puede que estén más
51 familiarizados con los términos @q{terminal} o @q{consola}.  Éstos
52 podrían requerir algunas configuraciones adicionales y deberían
53 consultar también el apartado @rweb{MacOS X}.
54
55 La descripción del uso de esta parte de los sistemas operativos se
56 sale del ámbito de este manual; le rogamos que consulte otros
57 documentos sobre este tema si no le resulta familiar la línea de
58 órdenes.
59
60 @menu
61 * Invocar a LilyPond::
62 * Opciones de la línea de órdenes para lilypond::
63 * Variables de entorno::
64 @end menu
65
66 @node Invocar a LilyPond
67 @unnumberedsubsec Invocar @command{lilypond}
68 @translationof Invoking lilypond
69
70 El ejecutable @command{lilypond} se puede llamar desde la línea de
71 órdenes de la siguiente manera:
72
73 @example
74 lilypond [@var{opción}]@dots{} @var{archivo}@dots{}
75 @end example
76
77 Cuando se invoca con un nombre de archivo sin extensión, se prueba en
78 primer lugar con la extensión @file{.ly}.  Para leer la entrada desde
79 stdin, utilice un guión (@code{-}) en sustitución de @var{archivo}.
80
81 Cuando se procesa @file{archivo.ly}, la salida resultante son los
82 archivos @file{archivo.ps} y @file{archivo.pdf}.  Se pueden
83 especificar varios archivos; cada uno de ellos se procesará de forma
84 independiente@footnote{El estado de GUILE no se restablece después de
85 procesar un archivo @code{.ly}, por lo que debe tener cuidado de no
86 modificar ningún valor predeterminado desde dentro de Scheme.}.
87
88 Si @file{archivo.ly} contiene más de un bloque @code{\score}, el resto
89 de las partituras se obtendrán como salida en archivos numerados,
90 empezando por @file{archivo-1.pdf}.  además, el valor de
91 @code{output-suffix} (sufijo de salida) se insertará entre el nombre
92 base y el número.  Un archivo de entrada que contenga
93
94 @example
95 #(define output-suffix "violin")
96 \score @{ @dots{} @}
97 #(define output-suffix "cello")
98 \score @{ @dots{} @}
99 @end example
100
101 @noindent
102 producirá como salida @var{base}@file{-violin.pdf} y
103 @var{base}@file{-cello-1.pdf}.
104
105
106 @node Opciones de la línea de órdenes para lilypond
107 @unnumberedsubsec Opciones de la línea de órdenes para @command{lilypond}
108 @translationof Command line options for lilypond
109
110 @cindex invocación de @command{lilypond}
111 @cindex opciones de la línea de órdenes para @command{lilypond}
112 @cindex línea de órdenes, opciones de
113 @cindex modificadores
114
115 Están contempladas las siguientes opciones:
116
117 @table @code
118
119 @item -e,--evaluate=@var{expresión}
120 Evaluar la @var{expresión} de Scheme antes de analizar los archivos
121 @file{.ly}.  Se pueden pasar varias opciones @code{-e}, que se
122 evaluarán en secuencia.
123
124 La expresión se evaluará en el módulo @code{guile-user}, de manera que
125 si quiere usar definiciones dentro de @var{expresión}, debe utilizar
126
127 @example
128 lilypond -e '(define-public a 42)'
129 @end example
130
131 @noindent
132 en la línea de órdenes, e incluir
133
134 @example
135 #(use-modules (guile-user))
136 @end example
137
138 @noindent
139 al principio del archivo @code{.ly}.
140
141 @item -f,--format=@var{formato}
142 Formato de la salida.  Como @code{formato} se puede elegir entre
143 @code{ps}, @code{pdf} y @code{png}.
144
145 Ejemplo: @code{lilypond -fpng @var{archivo}.ly}
146
147 @item -d,--define-default=@var{variable}=@var{valor}
148 Establece la opción interna del programa @var{variable} al valor de
149 Scheme @var{valor}.  Si no se proporciona ningún @var{valor}, se usa
150 @var{#t}.  Para desactivar una opción se puede anteponer @code{no-} a
151 la @var{variable}, p.ej.:
152
153 @cindex apuntar y pulsar, línea de órdenes
154
155 @example
156 -dno-point-and-click
157 @end example
158
159 @noindent
160 es lo mismo que
161 @example
162 -dpoint-and-click='#f'
163 @end example
164
165 A continuación veremos algunas opciones interesantes.
166
167 @cindex help (ayuda), línea de órdenes
168
169 @table @samp
170 @item help
171 La ejecución de @code{lilypond -dhelp} imprimirá todas las opciones
172 @code{-d} que están disponibles.
173
174 @cindex paper-size, línea de órdenes
175
176 @item paper-size
177 Esta opción establece el tamaño predeterminado del papel,
178 @example
179 -dpaper-size=\"letter\"
180 @end example
181
182 @noindent
183 Observe que la cadena se debe incluir dentro de comillas escapadas
184 ( @code{\"} ).
185
186 @c Match " in previous line to help context-sensitive editors
187
188 @cindex safe, línea de órdenes
189
190 @item safe
191 No confiar en la entrada @code{.ly}.
192
193 Cuando el proceso de tipografía de LilyPond se encuentra disponible a
194 través de un servidor web, @b{SE DEBEN} pasar las opciones
195 @code{--safe} (seguro) o @code{--jail} (jaula).  La opción
196 @code{--safe} evita que el código de Scheme en línea arme un desastre,
197 por ejemplo
198
199 @quotation
200 @verbatim
201 #(system "rm -rf /")
202 {
203   c4^#(ly:export (ly:gulp-file "/etc/passwd"))
204 }
205 @end verbatim
206 @end quotation
207
208 La opción @code{-dsafe} funciona evaluando las expresiones en línea de
209 Scheme dentro de un módulo especial seguro.  Este módulo seguro deriva
210 del módulo GUILE @file{safe-r5rs}, pero añade ciertas funciones del
211 API de LilyPond.  Estas funciones se relacionan en
212 @file{scm/@/safe@/-lily@/.scm}.
213
214 Además, el modo seguro prohíbe las directivas @code{\include} e
215 inhabilita el uso de barras invertidas en las cadenas de @TeX{}.
216
217 En el modo seguro, no es posible la importación de variables de
218 LilyPond dentro de Scheme.
219
220 @code{-dsafe} @emph{no} detecta la sobreutilización de recursos.  Aún
221 es posible hacer que el programa se cuelgue indefinidamente, por
222 ejemplo alimentando el backend con estructuras de datos cíclicas.  Por
223 tanto, si se está utilizando LilyPond sobre un servidor web accesible
224 públicamente, el proceso debe limitarse tanto en el uso de CPU como de
225 memoria.
226
227 El modo seguro impide que muchos fragmentos útiles de código de
228 LilyPond se puedan compilar.  La opción @code{--jail} es una
229 alternativa más segura, pero su preparación requiere más trabajo.
230
231 @cindex salida, establecer el formato de
232 @item backend
233 el formato de salida que usar para el back-end o extremo final.
234 Para el @code{formato} se puede elegir entre
235 @table @code
236 @item ps
237 @cindex PostScript, salida
238 para PostScript.
239
240 Los archivos PostScript incluyen las tipografías TTF, Type1 y OTF.  No
241 se seleccionan subconjuntos de estas tipografías.  Cuando se usan
242 conjuntos de caracteres orientales, esto puede dar lugar a archivos
243 enormes.
244
245 @item eps
246  para obtener PostScript encapsulado.  Esto vuelca cada una de las
247 páginas/sistemas como un archivo @file{EPS} distinto, sin tipografías,
248 y como un solo archivo @file{EPS} encuadernado con todas las
249 páginas/sistemas con las tipografías incluidas.
250
251 Este modo se usa de forma predeterminada por parte de
252 @command{lilypond-book}.
253
254 @item svg
255
256 @cindex SVG (Gráficos vectoriales escalables)
257
258  para obtener SVG (gráficos vectoriales escalables).
259
260 Crea un único archivo SVG que contiene toda la salida de música, con
261 las tipografías incrustadas.  Se necesita un visor de SVG que
262 contemple las tipografías incrustadas, o un visor de SVG que pueda
263 sustituir las tipografías incrustadas por tipografías OTF.  Bajo UNIX,
264 puede usar @uref{http://www.inkscape.org,Inkscape} (versión 0.42 o
265 posterior), después de copiar las tipografías OTF del directorio de
266 LilyPond (que normalmente es
267 @file{/usr/share/lilypond/VERSIÓN/fonts/otf/}) al directorio
268 @file{~/.fonts/}.
269
270 @item scm
271
272 @cindex Scheme, volcado de
273
274  para obtener un volcado de las instrucciones internas de dibujo
275 basadas en Scheme, en bruto.
276
277 @item null
278  no producir una salida impresa; tiene el mismo efecto que @code{-dno-print-pages}.
279 @end table
280
281 Ejemplo: @code{lilypond -dbackend=svg @var{archivo}.ly}
282
283 @item preview
284 @cindex vista previa, línea de órdenes
285 Generar un archivo de salida que contenga solamente los títulos de
286 cabecera y el primer sistema de música.  Si se usan bloques
287 @code{\bookpart}, los títulos y el primer sistema de todos los bloques
288 @code{\bookpart} aparecerán en la salida.  Los motores @code{ps},
289 @code{eps} y @code{svg} contemplan esta opción.
290
291 @item print-pages
292 Generar las páginas completas, el ajuste predeterminado.
293 @code{-dno-print-pages} es útil en combinación con @code{-dpreview}.
294
295 @end table
296
297
298
299 @item -h,--help
300 Mostrar un resumen de las formas de utilización.
301
302 @item -H,--header=@var{CAMPO}
303 Volcar un campo de cabecera al archivo @file{NOMBREBASE.@var{CAMPO}}
304
305 @item --include, -I=@var{directorio}
306 Añadir el @var{directorio} a la ruta de búsqueda de archivos de
307 entrada.
308 @cindex archivos, búsqueda de
309 @cindex búsqueda, ruta de
310
311 @item -i,--init=@var{archivo}
312 Establecer el archivo de inicio a @var{archivo} (predeterminado:
313 @file{init.ly}).
314
315 @item -o,--output=@var{ARCHIVO}
316 Establecer el nombre del archivo de salida predeterminado a
317 @var{ARCHIVO}.  Se añade el sufijo correspondiente (por ejemplo,
318 @code{.pdf} para PDF).
319
320 @item --ps
321 Generar PostScript.
322
323 @item --png
324 Generar imágenes de las páginas en formato PNG.  Esto implica
325 @code{--ps}.  La resolución en PPP de la imagen se puede establecer
326 con
327 @example
328 -dresolution=110
329 @end example
330
331 @cindex PDF (formato de documento portátil), salida de
332
333 @item --pdf
334 Generar PDF.  Implica @code{--ps}.
335
336
337
338 @item -j,--jail=@var{usuario},@var{grupo},@var{jaula},@var{directorio}
339 Ejecutar @command{lilypond} en una jaula de chroot.
340
341 La opción @code{--jail} (jaula) proporciona una alternativa más
342 flexible a la opción @code{--safe} cuando el proceso de tipografía de
343 LilyPond está disponible a través de un servidor web o cuando LilyPond
344 ejecuta archivos fuente procedentes del exterior.
345
346 La opción @code{--jail} funciona cambiando la raíz de
347 @command{lilypond} a @var{jaula} justo antes de comenzar el proceso de
348 compilación en sí.  Entonces se cambian el usuario y el grupo a los
349 que se han dado en la opción, y el directorio actual se cambia a
350 @var{directorio}.  Esta instalación garantiza que no es posible, al
351 menos en teoría, escapar de la jaula.  Observe que para que funcione
352 @code{--jail} se debe ejecutar @command{lilypond} como root, lo que
353 normalmente se puede hacer de una forma segura utilizando
354 @command{sudo}.
355
356 La instalación de una jaula es un asunto algo delicado, pues debemos
357 asegurarnos de que LilyPond puede encontrar @emph{dentro de la jaula}
358 todo lo que necesita para poder compilar la fuente.  Una configuración
359 típica consta de los siguientes elementos:
360
361 @table @asis
362 @item Preparar un sistema de archivos separado
363 Se debe crear un sistema de archivos separado para LilyPond, de forma
364 que se pueda montar con opciones seguras como @code{noexec},
365 @code{nodev} y @code{nosuid}.  De esta forma, es imposible ejecutar
366 programas o escribir directamente a un dispositivo desde LilyPond.  Si
367 no quiere crear una partición separada, tan sólo tiene que crear un
368 archivo de un tamaño razonable y usarlo para montar un dispositivo
369 loop.  El sistema de archivos separado garantiza también que LilyPond
370 nunca pueda escribir en un espacio mayor del que se le permita.
371
372 @item Preparar un usuario separado
373 Se debe usar un usuario y grupo separados (digamos
374 @code{lily}/@code{lily}) con bajos privilegios para ejecutar LilyPond
375 dentro de la jaula.  Debería existir un solo directorio con permisos
376 de escritura para este usuario, y debe pasarse en el valor
377 @var{directorio}.
378
379 @item Preparar la jaula
380 LilyPond necesita leer algunos archivos mientras se ejecuta.  Todos
381 estos archivos se deben copiar dentro de la jaula, bajo la misma ruta
382 en que aparecen en el sistema de archivos real de root.  Todo el
383 contenido de la instalación de LilyPond (por ejemplo
384 @file{/usr/share/lilypond}) se debe copiar.
385
386 Si surgen problemas, la forma más sencilla de rastrearlos es ejecutar
387 LilyPond usando @command{strace}, lo que le permitirá determinar qué
388 archivos faltan.
389
390 @item Ejecutar LilyPond
391 Dentro de una jaula montada con @code{noexec} es imposible ejecutar
392 ningún programa externo.  Por tanto, LilyPond se debe ejecutar con un
393 backend que no necesite tal programa.  Como ya mencionamos, también se
394 debe ejecutar con privilegios del superusuario (que por supuesto
395 perderá inmediatamente), posiblemente usando @command{sudo}.  Es buena
396 idea limitar el número de segundos de tiempo de CPU que LilyPond puede
397 usar (p.ej., usando @command{ulimit -t}), y, si su sistema operativo
398 lo contempla, el tamaño de la memoria que se puede reservar.
399 @end table
400
401
402 @item -v,--version
403 Mostrar la información de la versión.
404
405 @item -V,--verbose
406 Ser prolijo: mostrar las rutas completas de todos los archivos que se
407 leen, y dar información cronométrica.
408
409 @item -w,--warranty
410 Mostrar la garantía con que viene GNU LilyPond (¡no viene con
411 @strong{NINGUNA GARANTÍA}!).
412 @end table
413
414 @node Variables de entorno
415 @unnumberedsubsec Variables de entorno
416 @translationof Environment variables
417
418
419 @cindex LANG
420 @cindex LILYPOND_DATADIR
421
422 @command{lilypond} reconoce las siguientes variables de entorno:
423 @table @code
424 @item LILYPOND_DATADIR
425 Especifica un directorio en el que los mensajes de localización y de
426 datos se buscarán de forma predeterminada.  El directorio debe
427 contener subdirectorios llamados @file{ly/}, @file{ps/}, @file{tex/},
428 etc.
429
430 @item LANG
431 Selecciona el idioma de los mensajes de advertencia.
432
433 @item LILYPOND_GC_YIELD
434 Con esta variable se puede ajustar la huella y el desempeño de
435 memoria.  Es un porcentaje que ajusta el comportamiento de la
436 administración de memoria.  Con valores más altos, el programa usa más
437 memoria; con valores más bajos, usa más tiempo de CPU.  El valor
438 predeterminado es @code{70}.
439
440 @end table
441
442
443 @node Mensajes de error
444 @section Mensajes de error
445 @translationof Error messages
446
447 @cindex error, mensajes de
448 @cindex mensajes de error
449
450 Pueden aparecer distintos mensajes de error al compilar un archivo:
451
452 @table @emph
453
454 @item Advertencia
455 @cindex advertencia
456 Algo tiene un aspecto sospechoso.  Si estamos pidiendo algo fuera de
457 lo común, entenderemos el mensaje y podremos ignorarlo.  Sin embargo,
458 las advertencias suelen indicar que algo va mal con el archivo de
459 entrada.
460
461 @item Error
462 @cindex error
463 Algo va claramente mal.  El paso actual de procesamiento (análisis,
464 interpretación o formateo visual) se dará por terminado, pero el
465 siguiente paso se saltará.
466
467 @item Error fatal
468 @cindex error fatal
469 @cindex fatal, error
470 Algo va claramente mal, y LilyPond no puede seguir.  Rara vez sucede
471 esto.  La causa más frecuente son las tipografías mal instaladas.
472
473 @item Error de Scheme
474 @cindex traza de Scheme
475 @cindex llamadas, traza de
476 @cindex Scheme, error de
477 @cindex error de Scheme
478 Los errores que ocurren al ejecutar código de Scheme se interceptan
479 por parte del intérprete de Scheme.  Si se está ejecutando con las
480 opciones @code{-V} o @code{--verbose} (prolijo) entonces se imprime
481 una traza de llamadas de la función ofensiva.
482
483 @item Error de programación
484 @cindex error de programación
485 @cindex programación, error de
486 Ha habido algún tipo de inconsistencia interna.  Estos mensajes de
487 error están orientados a ayudar a los programadores y a los
488 depuradores.  Normalmente se pueden ignorar.  En ocasiones aparecen en
489 cantidades tan grandes que pueden entorpecer la visión de otros
490 mensajes de salida.
491
492 @item Abortado (volcado de core)
493 Esto señala un error de programación serio que ha causado la
494 interrupción abrupta del programa.  Estos errores se consideran
495 críticos.  Si se topa con uno, envíe un informe de fallo.
496 @end table
497
498 @cindex error, formato de los mensajes de
499
500 Se los errores y advertencias se pueden ligar a un punto del archivo
501 de entrada, los mensajes tienen la forma siguiente:
502
503 @example
504 @var{archivo}:@var{línea}:@var{columna}: @var{mensaje}
505 @var{línea de entrada problemática}
506 @end example
507
508 Se inserta un salto de línea en la línea problemática para indicar la
509 columna en que se encontró el error. Por ejemplo,
510
511 @example
512 prueba.ly:2:19: error: no es una duración: 5
513   @{ c'4 e'
514            5 g' @}
515 @end example
516
517 Estas posiciones son la mejor suposición de LilyPond sobre dónde se ha
518 producido el mensaje de error, pero (por su propia naturaleza) las
519 advertencias y errores se producen cuando ocurre algo inesperado.  Si
520 no ve un error en la línea que se indica del archivo de entrada, trate
521 de comprobar una o dos líneas por encima de la posición indicada.
522
523 Se ofrece más información sobre los errores en la sección @ref{Errores
524 comunes}.
525
526 @node Errores comunes
527 @section Errores comunes
528 @translationof Common errors
529
530 Las condiciones de error que se describen más abajo se producen con
531 frecuencia, aunque su causa no es obvia o fácil de encontrar.  Una vez
532 se han visto y comprendido, se manejan sin problema.
533
534
535 @menu
536 * La música se sale de la página::
537 * Aparece un pentagrama de más::
538 * Error aparente en ../ly/init.ly::
539 * Mensaje de error Unbound variable %::
540 * Mensaje de error FT_Get_Glyph_Name::
541 @end menu
542
543 @node La música se sale de la página
544 @unnumberedsubsec La música se sale de la página
545 @translationof Music runs off the page
546
547 La música que se sale de la página por el margen derecho o que aparece
548 exageradamente comprimida está causada casi siempre por haber
549 introducido una duración incorrecta para una nota, produciendo que la
550 nota final de un compás se extienda más allá de la línea divisoria.
551 Esto no es inválido si la nota final de un compás no termina sobre la
552 línea divisoria introducida automáticamente, pues simplemente se
553 supone que la nota se solapa encima del siguiente compás.  Pero si se
554 produce una larga secuencia tales notas solapadas, la música puede
555 aparecer comprimida o salirse de la página porque los saltos de línea
556 automáticos solamente se pueden insertar al final de compases
557 completos, es decir, aquellos en que todas las notas terminan antes de
558 o justo al final del compás.
559
560 @warning{Una duración incorrecta puede hacer que se inhiban los saltos
561 de línea, lo que llevaría a una sola línea de música muy comprimida o
562 que se salga de la página.}
563
564 La duración incorrecta se puede encontrar fácilmente si se utilizan
565 comprobaciones de compás, véase @ruser{Comprobación de compás y de
566 número de compás}.
567
568 Si realmente queremos tener una serie de estos compases con notas
569 solapadas, debemos insertar una línea divisoria invisible donde
570 queramos el salto de línea.  Para ver más detalles, consulte
571 @ruser{Barras de compás}.
572
573
574 @node Aparece un pentagrama de más
575 @unnumberedsubsec Aparece un pentagrama de más
576 @translationof An extra staff appears
577
578 Si no se crean los contextos explícitamente con @code{\new}, se
579 crearán discretamente tan pronto como se encuentra una instrucción que
580 no se puede aplicar a un contexto existente.  En partituras sencillas,
581 la creación automática de los contextos es útil, y casi todos los
582 ejemplos de los manuales de LilyPond se aprovechan de esta
583 simplificación.  Pero ocasionalmente la creación discreta de contextos
584 puede hacer aflorar pentagramas o partituras nuevos e inesperados.
585 Por ejemplo, podría esperarse que el código siguiente hiciera que
586 todas las notas dentro del pentagrama siguiente estuvieran coloreadas
587 de rojo, pero de hecho el resultado son dos pentagramas, permaneciendo
588 el de abajo con las notas en el color negro predeterminado.
589
590 @lilypond[quote,verbatim,relative=2]
591 \override Staff.NoteHead #'color = #red
592 \new Staff { a }
593 @end lilypond
594
595 Esto es así porque no existe ningún contexto @code{Staff} cuando se
596 procesa la instrucción override de sobreescritura, se crea uno
597 implícitamente y la sobreescritura se aplica a éste, pero entonces la
598 instrucción @code{\new Staff} crea un pentagrama nuevo y distinto, en
599 el que se colocan las notas.  El código correcto para colorear todas
600 las notas de rojo es
601
602 @lilypond[quote,verbatim,relative=2]
603 \new Staff {
604   \override Staff.NoteHead #'color = #red
605   a
606 }
607 @end lilypond
608
609 Como segundo ejemplo, si una instrucción @code{\relative} se escribe
610 dentro de una instrucción @code{\repeat}, el resultado son dos
611 pentagramas, el segundo desplazado respecto al primero, porque la
612 instrucción @code{\repeat} genera dos bloques @code{\relative},
613 cada uno de los cuales crea implícitamente bloques @code{Staff} y
614 @code{Voice}.
615
616 @lilypond[quote,verbatim]
617 \repeat unfold 2 {
618   \relative c' { c d e f }
619 }
620 @end lilypond
621
622 La forma correcta es invertir el orden de las instrucciones
623 @code{\repeat} y @code{\relative}, así:
624
625 @lilypond[quote,verbatim]
626 \relative c' {
627   \repeat unfold 2 { c d e f }
628 }
629 @end lilypond
630
631
632 @node Error aparente en ../ly/init.ly
633 @unnumberedsubsubsec Error aparente en @code{../ly/init.ly}
634 @translationof Apparent error in ../ly/init.ly
635
636 Pueden aparecer varios mensajes de error extraños acerca de errores de
637 sintaxis en @code{../ly/init.ly} si el archivo de entrada no está
638 correctamente formado, por ejemplo si no contiene llaves o comillas
639 correctamente emparejados.
640
641 El error más común es la falta de una llave de cierre, (@code{@}}), al
642 final de un bloque @code{score}.  Aquí la solución es obvia: compruebe
643 que el bloque @code{score} está correctamente cerrado.  La estructura
644 correcta de un archivo de entrada está descrita en @rlearning{Cómo
645 funcionan los archivos de entrada de LilyPond}.  Usando un editor que
646 resalte automáticamente las llaves correspondientes es de mucha ayuda
647 para evitar estos errores.
648
649 Una segunda causa frecuente es la falta de un espacio entre la última
650 sílaba de un bloque lyrics (de letra) y la llave de cierre,
651 (@code{@}}).  Sin esta separación, se considera que la llave forma
652 parte de la sílaba.  Siempre se aconseja asegurarse de que hay
653 espacios antes y después de @emph{todas} las llaves.  Para conocer la
654 importancia de este asunto al utilizar letras de canciones, consulte
655 @ruser{Explicación de la letra}.
656
657 Este mensaje de error también puede aparecer si se omiten las comillas
658 de terminación (@code{"}).  En este caso, un mensaje de error
659 adicional debería indicar un número de línea cercano al de aquella
660 donde está el error.  Las comillas desbalanceadas estarán por lo
661 general una o dos líneas por encima.
662
663
664 @node Mensaje de error Unbound variable %
665 @unnumberedsubsubsec Mensaje de error Unbound variable %
666 @translationof Error message Unbound variable %
667
668 Este mensaje de error aparece al final de los mensajes de la consola o
669 del archivo de registro junto a un mensaje @qq{GUILE señaló un error
670 ...} cada vez que se llame a una rutina de Scheme que
671 (incorrectamente) contenga un comentario @emph{de LilyPond} en lugar
672 de un comentario @emph{de Scheme}.
673
674 Los comentarios de LilyPond comienzan con un símbolo de porcentaje,
675 (@code{%}), y no se deben utilizar dentro de las rutinas de Scheme.
676 Los comentarios de Scheme comienzan con punto y coma, (@code{;}).
677
678
679 @node Mensaje de error FT_Get_Glyph_Name
680 @unnumberedsubsec Mensaje de error FT_Get_Glyph_Name
681 @translationof Error message FT_Get_Glyph_Name
682
683 Este mensaje de error aparece en la salida de la consola o en el
684 archivo log de registro si un archivo de entrada contiene un carácter
685 que no es ASCII y no se ha guardado en la codificación de caracteres
686 UTF-8.  Para ver más detalles, consulte @ruser{Codificación del
687 texto}.
688
689
690