]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/es/usage/running.itely
Doc-es: update Usage/Running.
[lilypond.git] / Documentation / es / usage / running.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
2
3 @ignore
4     Translation of GIT committish: cd1ac38996d3de35770ea31f819b392fe686bf39
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.19.21"
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 LilyPond básicas de la línea de órdenes::
63 * Opciones avanzadas de línea de órdenes para LilyPond::
64 * Variables de entorno::
65 * LilyPond en una jaula de chroot::
66 @end menu
67
68 @node Invocar a LilyPond
69 @unnumberedsubsec Invocar @command{lilypond}
70 @translationof Invoking lilypond
71
72 El ejecutable @command{lilypond} se puede llamar desde la línea de
73 órdenes de la siguiente manera:
74
75 @example
76 lilypond [@var{opción}]@dots{} @var{archivo}@dots{}
77 @end example
78
79 Cuando se invoca con un nombre de archivo sin extensión, se prueba en
80 primer lugar con la extensión @file{.ly}.  Para leer la entrada desde
81 stdin, utilice un guión (@code{-}) en sustitución de @var{archivo}.
82
83 Cuando se procesa @file{archivo.ly}, la salida resultante son los
84 archivos @file{archivo.ps} y @file{archivo.pdf}.  Se pueden
85 especificar varios archivos; cada uno de ellos se procesará de forma
86 independiente@footnote{El estado de GUILE no se restablece después de
87 procesar un archivo @code{.ly}, por lo que debe tener cuidado de no
88 modificar ningún valor predeterminado desde dentro de Scheme.}.
89
90 Si @file{archivo.ly} contiene más de un bloque @code{\score}, el resto
91 de las partituras se obtendrán como salida en archivos numerados,
92 empezando por @file{archivo-1.pdf}.  además, el valor de
93 @code{output-suffix} (sufijo de salida) se insertará entre el nombre
94 base y el número.  Un archivo de entrada que contenga
95
96 @example
97 #(define output-suffix "violin")
98 \score @{ @dots{} @}
99 #(define output-suffix "cello")
100 \score @{ @dots{} @}
101 @end example
102
103 @noindent
104 produce como salida @var{base}@file{-violin.pdf} y
105 @var{base}@file{-cello-1.pdf}.
106
107
108 @unnumberedsubsubsec Uso de LilyPond con las posibilidades básicas del shell
109
110 Dado que LilyPond es una aplicación de consola, las posibilidades
111 del @q{shell} usado para la llamada a LilyPond también pueden
112 aprovecharse.
113
114 Por ejemplo:
115
116 @example
117 lilypond *.ly
118 @end example
119
120 @noindent
121 procesa todos los archivos de LilyPond dentro del directorio
122 actual.
123
124 También puede ser útil redireccionar la salida de consola
125 (p.ej. hacia un archivo):
126
127 @example
128 lilypond file.ly 1> salida_estandar.txt
129
130 lilypond file.ly 2> error_estandar.txt
131
132 lilypond file.ly &> todo.txt
133 @end example
134
135 @noindent
136 Redirecciona la salida @q{normal}, solo los @q{errores} o
137 @q{todo}, respectivamente, hacia un archivo de texto.  Consulte la
138 documentación de su shell concreto, Command (Windows), las
139 aplicaciones Terminal o Console (MacOS X) para ver si el
140 redireccionamiento de la salida está contemplado o si la sintaxis
141 es distinta.
142
143 El ejemplo siguiente busca y procesa todos los archivos de
144 entradas que estén en el directorio actual y en todos los que
145 están por debajo de él, recursivamente.  Los archivos de salida se
146 pondrán en el mismo directorio desde el que se ejecutó la
147 instrucción, en lugar de aquellos en los que estaban los archivos
148 de entrada originales.
149
150 @example
151 find . -name '*.ly' -exec lilypond '@{@}' \;
152 @end example
153
154 @noindent
155 También debe funcionar para los usarios de MacOS@tie{}X.
156
157 Un usuario de Windows haría los siguiente:
158
159 @example
160 forfiles /s /M *.ly /c "cmd /c lilypond @@file"
161 @end example
162
163 @noindent
164 introduciendo esstas instrucciones desde un @code{indicador de
165 órdenes} que normalmente está en @code{Inicio > Accessorios >
166 Símbolo del sistema} o para los usuarios de la versión 8,
167 escribiendo en la ventana de búsqueda @q{indicador de órdenes}.
168
169 De forma alternativa, una ruta explícita al nivel superior de su
170 carpeta que contenga todas las subcarpetas con archivos de entrada
171 en su interior se puede especificat mediante la opción @code{/p};
172
173 @example
174 forfiles /s /p C:\Documentos\MisPartituras /M *.ly /c "cmd /c lilypond @@file"
175 @end example
176
177 Si el nombre de la ruta del directorio de nivel superior contiene
178 espacios, entonces es necesario incluir toda la ruta entre
179 comillas:
180
181 @example
182 forfiles /s /p "C:\Documentos\Mis Partituras" /M *.ly /c "cmd /c lilypond @@file"
183 @end example
184
185
186 @node Opciones de LilyPond básicas de la línea de órdenes
187 @unnumberedsubsec Opciones de LilyPond básicas de la línea de órdenes
188 @translationof Basic command line options for LilyPond
189
190 @cindex Invoca a @command{lilypond}
191 @cindex opciones de la línea de órdenes para @command{lilypond}
192 @cindex opciones, línea de órdenes
193 @cindex opciones
194
195 Están contempladas las siguientes opciones:
196
197 @table @code
198
199 @item -b, --bigpdfs
200 @cindex bigpdfs
201
202 Los archivos PDF generados serán mucho más grandes de lo normal (a
203 causa de la poca o ninguna optimización de las fuentes
204 tipográficas).  Sin embargo, si dos o más archivos PDF se incluyen
205 dentro de @w{@code{pdftex}}, @w{@code{xetex}} o @w{@code{luatex}}
206 los documentos producidos pueden procesarse después a través de
207 ghostscript (mezclando los datos de tipografías duplicados) dando
208 como resultado archivos PDF @emph{significativamente} más
209 pequeños.
210
211 @example
212 lilypond -b archivo
213 @end example
214
215 Después, ejecute @code{ghostscript};
216
217 @example
218 gs -q -sDEVICE=pdfwrite -o gsout.pdf archivo.pdf
219 @end example
220
221 Se puede entonces usar @code{pdfsizeopt.py} para optimizar aún más
222 el tamaño del archivo:
223
224 @example
225 pdfsizeopt.py --use-multivalent=no gsout.pdf final.pdf
226 @end example
227
228 @item -d, --define-default=@var{variable}=@var{valor}
229 Véase @ref{Opciones avanzadas de línea de órdenes para LilyPond}.
230
231 @cindex Scheme, evaluación de expresiones
232 @cindex expresiones de Scheme, evaluación
233
234 @item -e, --evaluate=@var{expresión}
235 Evaluar la @var{expresión} de Scheme antes de analizar los archivos
236 @file{.ly}.  Se pueden pasar varias opciones @option{-e}, que se
237 evaluarán en secuencia.
238
239 La expresión se evaluará en el módulo @code{guile-user}, de manera que
240 si quiere usar definiciones dentro de @var{expresión}, debe utilizar
241
242 @example
243 lilypond -e '(define-public a 42)'
244 @end example
245
246 @noindent
247 en la línea de órdenes, e incluir
248
249 @example
250 #(use-modules (guile-user))
251 @end example
252
253 @noindent
254 al principio del archivo @file{.ly}.
255
256 @warning{Los usuarios de Windows deben utilizar comillas dobles en lugar de apóstrofos simples.}
257
258 @cindex output, format
259 @cindex format, output
260
261 @item -f, --format=@var{format}
262 which formats should be written.  Choices for @code{format} are
263 @code{ps}, @code{pdf}, and @code{png}.
264
265 Example: @code{lilypond -fpng @var{filename}.ly}
266
267 @noindent
268 Para los formatos @code{svg} y @code{eps} utilice
269 la opción @code{-dbackend}.
270 Véase @ref{Opciones avanzadas de línea de órdenes para LilyPond}.
271
272 @item -h, --help
273 Mostrar un resumen de las formas de utilización.
274
275 @item -H, --header=@var{CAMPO}
276 Volcar un campo de cabecera al archivo @file{NOMBREBASE.@var{CAMPO}}
277
278 @item -i, --init=@var{archivo}
279 Establecer el archivo de inicio a @var{archivo} (predeterminado:
280 @file{init.ly}).
281
282 @cindex archivos, búsqueda de
283 @cindex búsqueda, ruta de
284
285 @item -I, --include=@var{directorio}
286 Añadir el @var{directorio} a la ruta de búsqueda de archivos de
287 entrada.
288
289 Se pueden escribir varias opciones -I.  La búsqueda se inicia en el
290 primer directorio definido, y si el archivo que se debe incluir no se
291 encuentra, la búsqueda continúa en los directorios siguientes.
292
293 @cindex chroot, ejecutar dentro de una jaula
294
295 @item -j, --jail=@var{usuario},@var{grupo},@var{jaula},@var{directorio}
296 Ejecutar @command{lilypond} en una jaula de chroot.
297
298 La opción @option{--jail} (jaula) proporciona una alternativa más
299 flexible a la opción @option{-dsafe} cuando el proceso de tipografía de
300 LilyPond está disponible a través de un servidor web o cuando LilyPond
301 ejecuta instrucciones enviadas por fuentes externas
302 (véase @ref{Opciones avanzadas de línea de órdenes para LilyPond}).
303
304 La opción @option{--jail} funciona cambiando la raíz de
305 @command{lilypond} a @var{jaula} justo antes de comenzar el proceso de
306 compilación en sí.  Entonces se cambian el usuario y el grupo a los
307 que se han dado en la opción, y el directorio actual se cambia a
308 @var{directorio}.  Esta instalación garantiza que no es posible, al
309 menos en teoría, escapar de la jaula.  Observe que para que funcione
310 @option{--jail}, se debe ejecutar @command{lilypond} como root, lo que
311 normalmente se puede hacer de una forma segura utilizando
312 @command{sudo}.
313
314 La instalación de una jaula puede ser un asunto relativamente
315 complejo, pues debemos asegurarnos de que LilyPond puede encontrar
316 @emph{dentro} de la propia jaula todo lo que necesita para poder
317 compilar la fuente.  Una típica configuración de jaula de chroot
318 consta de los siguientes elementos:
319
320 @table @asis
321
322 @item Preparar un sistema de archivos separado
323 Se debe crear un sistema de archivos separado para LilyPond, de forma
324 que se pueda montar con opciones seguras como @code{noexec},
325 @code{nodev} y @code{nosuid}.  De esta forma, es imposible ejecutar
326 programas o escribir directamente a un dispositivo desde LilyPond.  Si
327 no quiere crear una partición separada, tan sólo tiene que crear un
328 archivo de un tamaño razonable y usarlo para montar un dispositivo
329 loop.  El sistema de archivos separado garantiza también que LilyPond
330 nunca pueda escribir en un espacio mayor del que se le permita.
331
332 @item Preparar un usuario separado
333 Se debe usar un usuario y grupo separados (digamos
334 @code{lily}/@code{lily}) con bajos privilegios para ejecutar LilyPond
335 dentro de la jaula.  Debería existir un solo directorio con permisos
336 de escritura para este usuario, y debe pasarse en el valor
337 @var{directorio}.
338
339 @item Preparar la jaula
340 LilyPond necesita leer algunos archivos mientras se ejecuta.  Todos
341 estos archivos se deben copiar dentro de la jaula, bajo la misma ruta
342 en que aparecen en el sistema de archivos real de root.  Todo el
343 contenido de la instalación de LilyPond (por ejemplo
344 @file{/usr/share/lilypond}) se debe copiar.
345
346 Si surgen problemas, la forma más sencilla de rastrearlos es ejecutar
347 LilyPond usando @command{strace}, lo que le permitirá determinar qué
348 archivos faltan.
349
350 @item Ejecutar LilyPond
351 Dentro de una jaula montada con @code{noexec} es imposible ejecutar
352 ningún programa externo.  Por tanto, LilyPond se debe ejecutar con un
353 backend que no necesite tal programa.  Como ya hemos mencionado, se
354 debe ejecutar con privilegios del superusuario (que por supuesto
355 perderá inmediatamente), posiblemente usando @command{sudo}.  También
356 es una práctica recomendable limitar el número de segundos de tiempo
357 de CPU que LilyPond puede usar (p.ej., usando
358 @command{ulimit@tie{}-t}), y, si su sistema operativo lo contempla, el
359 tamaño de la memoria que se puede reservar.  Véase también
360 @ref{LilyPond en una jaula de chroot}.
361
362 @end table
363
364 @cindex loglevel
365 @cindex registro, nivel de
366 @cindex salida prolija, fijar el nivel
367
368 @item -l, --loglevel=@var{LEVEL}
369 Fijar el grado en que la salida de consola es prolija al nivel
370 @var{LEVEL}. Los valores posibles son:
371
372 @table @code
373
374 @item NONE
375 Ninguna salida en absoluto, ni siquiera mensajes de error.
376
377 @item ERROR
378 Solamente mensajes de error, no advertencias o indicaciones de progreso.
379
380 @item WARN
381 Advertencias y mensajes de error, no de progreso.
382
383 @item BASIC_PROGRESS
384 Mensajes de progreso básicos (éxito), advertencias y errores.
385
386 @item PROGRESS
387 Todos los mensajes de progreso, advertencias y errores.
388
389 @item INFO (predeterminado)
390 Mensajes de progreso, advertencias, errores e información de ejecución
391 adicional.
392
393 @item DEBUG
394 Todos los mensajes posibles, incuida la información de depuración
395 prolija.
396 @end table
397
398 @cindex carpeta, dirigir la salida hacia
399 @cindex salida, establecer el nombre del archivo de
400
401 @item -o, --output=@var{ARCHIVO} o @var{CARPETA}
402 Establecer el nombre del archivo de salida predeterminado a
403 @var{ARCHIVO} o, si existe una carpeta con ese nombre, dirigir la
404 salida hacia @var{CARPETA}, tomando el nombre de archivo del documento
405 de entrada.  Se añade el sufijo correspondiente (por ejemplo,
406 @code{.pdf} para PDF) en los dos casos.
407
408 @cindex PS (Postscript), salida
409 @cindex Postscript (PS), salida
410 @cindex salida, PS (Postscript)
411
412 @item --ps
413 Generar PostScript.
414
415 @cindex PNG (Portable Network Graphics), salida
416 @cindex salida, PNG (Portable Network Graphics)
417
418 @item --png
419 Generar imágenes de las páginas en formato PNG.  Esto implica
420 @option{--ps}.  La resolución en PPP de la imagen se puede establecer
421 con
422 @example
423 -dresolution=110
424 @end example
425
426 @cindex PDF (formato de documento portátil), salida de
427 @cindex salida, PDF (formato de documento portátil)
428
429 @item --pdf
430 Generar PDF.  Implica @option{--ps}.
431
432 @item -v, --version
433 Mostrar la información de la versión.
434
435 @item -V, --verbose
436 Ser prolijo: mostrar las rutas completas de todos los archivos que se
437 leen, y dar información cronométrica.
438
439 @item -w, --warranty
440 Mostrar la garantía con que viene GNU LilyPond (¡no viene con
441 @strong{NINGUNA GARANTÍA}!).
442
443 @end table
444
445
446 @node Opciones avanzadas de línea de órdenes para LilyPond
447 @unnumberedsubsec Opciones avanzadas de línea de órdenes para LilyPond
448 @translationof Advanced command line options for LilyPond
449
450 @table @code
451
452 @item -d@var{[option-name]}=@var{[value]},
453 --define-default=@var{[option-name]}=@var{[value]}
454 Establece la función de Scheme interna equivalente a @var{valor}.
455 Por ejemplo:
456
457 @example
458 -dbackend=svg
459 @end example
460
461 Si no se proporciona ningún @var{valor}, se usa el valor predeterminado.
462 Para desactivar una opción se puede anteponer @code{no-} a la
463 @var{variable}.  Por ejemplo:
464
465 @cindex point and click, command line
466
467 @example
468 -dpoint-and-click=#f
469 @end example
470
471 @noindent
472 is the same as
473 @example
474 -dno-point-and-click
475 @end example
476 @end table
477
478 @noindent Están contempladas las siguientes opciones junto a sus respectivos
479 valores predeterminados:
480
481 @multitable @columnfractions .33 .16 .51
482 @item @strong{Símbolo}
483 @tab @strong{Valor}
484 @tab @strong{Explicación/Opciones}
485
486 @item @code{anti-alias-factor} (factor de antialias)
487 @tab @code{1}
488 @tab Renderizar a mayor resolución (utilizando el factor dado)
489 y reducir la escala del resultado para así evitar @q{escaleras} en
490 las imágenes @code{PNG}.
491
492 @item @code{aux-files} (archivos auxiliares)
493 @tab @code{#t}
494 @tab Crear archivos @code{.tex}, @code{.texi} y @code{.count}
495 cuando se usa con la opción de @q{back-end} @code{EPS}.
496
497 @item @code{backend}
498 @tab @code{ps}
499 @tab Es el ajuste predeterminado.
500 Los archivos Postscript (la opción predeterminada) incluyen las
501 fuentes tipográficas @code{TTF}, @code{Type1} y @code{OTF}.  No se
502 hace ningún subconjunto de estas fuentes.  Tenga en cuenta que el
503 uso de conjuntos de caracteres @q{orientales} puede dar lugar a
504 archivos muy grandes.
505
506 @item
507 @tab @code{eps}
508 @tab Usado como opción predeterminada por la instrucción @command{lilypond-book}.
509 Vuelca cada página al mismo tiempo como un solo archivo con todas
510 las ṕaginas y fuentes tipográficas incluidas y como archivos
511 postscript separados para cada página pero sin las fuentes
512 tipográficas incluidas.
513
514 @item
515 @tab @code{null}
516 @tab No producir ninguna partitura impresa a la salida; tiene el mismo
517 efecto que @code{-dno-print-pages}.
518
519 @item
520 @tab @code{scm}
521 @tab Volcado de las instrucciones de dibujo internas basadas en Scheme, en
522 bruto.
523
524 @item
525 @tab @code{svg}
526 @tab Gráficos vectoriales escalables.
527 Por cada página de la salida, se crea un solo archivo @code{SVG}.
528 Los glifos musicales se codifican como gráficos vectoriales,
529 pero las fuentes tipográficas del texto
530 @emph{no} se incrustan en los archivos SVG.
531 Cualquier visor de SVG necesita que las fuentes de texto
532 correspondientes estén disponibles para
533 la correcta representación tanto del texto como de la letra. Se
534 recomienda no utilizar @q{alias} ni @q{listas} de fuentes
535 tipográficas por si el visor de SVG no es capaz de
536 manejarlas.  Al usar archivos de fuente abierta para la web
537 @emph{Web Open Font Format} (WOFF), es necesario indicar la opción
538 @code{--svg-woff}.
539 @end multitable
540
541 @noindent
542 @strong{Nota para el backend de salida svg:}
543 En la salida SVG, LilyPond usa por defecto los valores
544 de @code{font-family} genéricos @code{serif}, @code{sans-serif}, o
545 @code{monospace}.  Por tanto, al usar el
546 backend @code{svg} debemos definir explícitamente
547 las fuentes predeterminadas deseadas en el archivo de entrada:
548
549 @quotation
550 @verbatim
551 \paper  {
552   #(define fonts
553     (make-pango-font-tree "TeX Gyre Schola"
554                           "TeX Gyre Heros"
555                           "TeX Gyre Cursor"
556                           (/ staff-height pt 20)))
557 }
558 @end verbatim
559 @end quotation
560
561 Véase también @ruser{Fuentes tipográficas del documento completo}.
562
563 @multitable @columnfractions .33 .16 .51
564 @item @code{check-internal-types}
565 @tab @code{#f}
566 @tab Comprobar el tipo de cada asignación de propiedades.
567
568 @item @code{clip-systems} (recortar los sistemas)
569 @tab @code{#f}
570 @tab Extraer fragmentos de música de la partitura.  Requiere que la función
571 @code{clip-regions} esté definida dentro del bloque
572 @code{\layout}.  Véase @ruser{Extracción de fragmentos de música}.
573 No se extrae ningún fragmento si se usa con la copción
574 @option{-dno-print-pages}.
575
576 @item @code{datadir} (directorio de datos)
577 @tab
578 @tab Prefijo de los archivos de datos (sólo lectura).
579
580 @item @code{debug-gc}
581 @tab @code{#f}
582 @tab Volcar estadísticas de depuración de memoria.
583
584 @item @code{debug-gc-assert-parsed-dead}
585 @tab @code{#f}
586 @tab Para la depuración de memoria: asegurarse de que todas las referencias
587 a objetos analizados están muertas.  Es una opción interna, y se
588 activa automáticamente para @code{`-ddebug-gc'}.
589
590 @item @code{debug-lexer}
591 @tab @code{#f}
592 @tab Depuración del analizador léxico flex.
593
594 @item @code{debug-page-breaking-scoring}
595 @tab @code{#f}
596 @tab Volcar las partituras para muchas configuraciones de saltos de página
597 diferentes.
598
599 @item @code{debug-parser}
600 @tab @code{#f}
601 @tab Depuración del analizador sintáctico bison.
602
603 @item @code{debug-property-callbacks}
604 @tab @code{#f}
605 @tab Depuración de las cadenas cíclicas de funciones de callback.
606
607 @item @code{debug-skylines}
608 @tab @code{#f}
609 @tab Depuración de las líneas de horizonte.
610
611 @item @code{delete-intermediate-files}
612 @tab @code{#t}
613 @tab Eliminar los archivos intermedios @code{.ps} inútiles ques e crean
614 durante la compilación.
615
616 @item @code{dump-cpu-profile}
617 @tab @code{#f}
618 @tab Volcar información de cuenta de tiempo (dependiente del sistema).
619
620 @item @code{dump-profile}
621 @tab @code{#f}
622 @tab Volcar de la información de memoria y de tiempo para cada archivo.
623
624 @item @code{dump-signatures}
625 @tab @code{#f}
626 @tab Volcar las firmas de salida de cada sistema.  Usado para las pruebas
627 de regresión.
628
629 @item @code{embed-source-code}
630 @tab @code{#f}
631 @tab Empotrar los archivos de entrada en código de LilyPond
632 dentro del documento PDF generado.
633
634 @item @code{eps-box-padding}
635 @tab @code{#f}
636 @tab Rellenar el borde izquierdo de la caja contenedora del EPS de salida
637 en la cantidad dada (en mm).
638
639 @item @code{font-export-dir}
640 @tab @code{#f [dir]}
641 @tab Directorio para exportar las fuentes como archivos de Postscript.
642
643 @item @code{gs-load-fonts}
644 @tab @code{#f}
645 @tab Cargar las fuentes tipográficas a través de Ghostscript.
646
647 @item @code{gs-load-lily-fonts}
648 @tab @code{#f}
649 @tab Cargar sólo las fuentes de LilyPond por medio de Ghostscript.
650
651 @item @code{gs-never-embed-fonts}
652 @tab @code{#f}
653 @tab Hacer que Ghostscript incruste solo las fuentes TrueType y no cualquier otro formato de fuente.
654
655 @item @code{gui}
656 @tab @code{#f}
657 @tab Se ejecuta silenciosamente y se redirige toda la salida a un archivo
658 de registro.
659 @end multitable
660
661 @noindent
662 @strong{Nota para los usuarios de Windows:} De manera predeterminada,
663 @code{lilypond.exe} dirige toda la salida de la información de avance
664 hacia la ventana de consola, @code{lilypond-windows.exe} no lo hace y
665 devuelve un indicador del sistema, sin ninguna indicación del avance,
666 inmediatamente en la línea de órdenes.  La opción @option{-dgui} se
667 puede usar en este caso para redirigir la salida a un archivo de
668 registro.
669
670 @multitable @columnfractions .33 .16 .51
671 @item @code{help}
672 @tab @code{#f}
673 @tab Mostrar esta ayuda.
674
675 @item @code{include-book-title-preview}
676 @tab @code{#t}
677 @tab Incluir los títulos de libro en las imágenes de vista previa.
678
679 @item @code{include-eps-fonts}
680 @tab @code{#t}
681 @tab Incluir las fuentes tipográficas en los archivos EPS de cada uno de
682 los sistemas.
683
684 @item @code{include-settings}
685 @tab @code{#f}
686 @tab Incluir el archivo de los ajustes globales, se incluye antes de que la
687 partitura se procese.
688
689 @item @code{job-count}
690 @tab @code{#f}
691 @tab Procesar en paralelo, usando el número de tareas dado.
692
693 @item @code{log-file}
694 @tab @code{#f [file]}
695 @tab Si se da una cadena @code{NOMBRE} como segundo argumento,
696 redirigir la salida al archivo de registro @code{NOMBRE.log}.
697
698 @item @code{max-markup-depth}
699 @tab @code{1024}
700 @tab Profundidad máxima del árbol de marcado. Si un marcado tiene más niveles,
701 suponer que no terminará por sí mismo, imprimiento una advertencia y
702 devolviendo en su lugar un elemento de marcado nulo.
703
704 @item @code{midi-extension}
705 @tab @code{"midi"}
706 @tab Fijar la extensión de archivo predeterminada para el archivo de salida
707 MIDI a la cadena dada.
708
709 @item @code{music-strings-to-paths}
710 @tab @code{#f}
711 @tab Convertir las cadenas de texto a rutas cuando los glifos pertenecen a
712 una fuente de tipografía musical.
713
714 @item @code{paper-size}
715 @tab @code{\"a4\"}
716 @tab Establecer el tamaño predeterminado del papel.  Observe que la cadena
717 debe ir encerrada entre comillas dobles.
718
719 @item @code{pixmap-format}
720 @tab @code{png16m}
721 @tab Fijar el formato de salida de Ghostscript para las imágenes de píxeles.
722
723 @item @code{point-and-click}
724 @tab @code{#t}
725 @tab Añadir enlaces de @q{apuntar y pulsar} a la salida PDF y SVG. Véase
726 @ref{Apuntar y pulsar}.
727
728 @item @code{preview}
729 @tab @code{#f}
730 @tab Crear imágenes de vista previa además de la salida normal.
731 @end multitable
732
733 @noindent
734 Esta opción está contemplada por todos los @q{back-ends}: @code{pdf},
735 @code{png}, @code{ps}, @code{eps} y @code{svg}, pero no por
736 @code{scm}.  Genera un archivo de salida, en la forma
737 @code{miArchivo.preview.extensión}, que contiene los títulos y el
738 primer sistema de la música.  Si se están utilizando bloques
739 @code{\book} o @code{\bookpart}, aparecen en la salida los títulos de
740 @code{\book}, @code{\bookpart} o @code{\score}, incluido el primer
741 sistema de cada bloque @code{\score} si la variable de @code{\paper}
742 @code{print-all-headers} está fijada al valor @code{#t}.
743
744 Para suprimir la salida usual, utilice las opciones
745 @option{-dprint-pages} o @option{-dno-print-pages} según sus
746 necesidades.
747
748 @multitable @columnfractions .33 .16 .51
749 @item @code{print-pages}
750 @tab @code{#t}
751 @tab Generar páginas completas (es la opción predeterminada).  Es útil
752 @option{-dno-print-pages} en combinación con @option{-dpreview}.
753
754 @item @code{profile-property-accesses}
755 @tab @code{#f}
756 @tab Conservar las estadísticas de las llamadas de función
757 @code{get_property()}.
758
759 @item @code{protected-scheme-parsing}
760 @tab @code{#t}
761 @tab Continuar cuando se captan en el analizador sintáctico errores del
762 Scheme empotrado.  Si se fija a @code{#f}, detenerse cuando haya
763 errores e imprimir un registro de traza de pila.
764
765 @item @code{read-file-list}
766 @tab @code{#f [archivo]}
767 @tab Especificar el nobmre de un archivo que contiene una lista de archivos
768 de entrada para procesar.
769
770 @item @code{relative-includes}
771 @tab @code{#f}
772 @tab Cuando se procesa una instrucción @code{\include} command, buscar el
773 archivo incluido de forma relativa al archivo actual (en lugar del
774 archivo principal).
775
776 @item @code{resolution}
777 @tab @code{101}
778 @tab Fijar la resolución para generar imágenes de píxeles @code{PNG} al
779 valor dado (en ppp).
780
781 @item @code{safe}
782 @tab @code{#f}
783 @tab No confiar en la entrada @code{.ly}.
784 @end multitable
785
786 @noindent
787 Cuando el servicio de tipografía está disponible a través de un
788 servidor web, @b{SE DEBEN} pasar las opciones @option{--safe} o
789 @option{--jail}.  La opción @option{--safe} evita que el código de
790 Scheme monte un desastre, p.ej.:
791
792 @quotation
793 @verbatim
794 #(s ystem "rm -rf /")  % demasiado peligroso para escribirlo correctamente
795 {
796   c4^$(ly:gulp-file "/etc/passwd") % malicioso aunque no tan destructivo
797 }
798 @end verbatim
799 @end quotation
800
801 La opción @option{-dsafe} funciona evaluando las expresiones de Scheme
802 en línea dentro de un módulo seguro especial.  Deriva del módulo
803 @file{safe-r5rs} de GUILE, pero además añade unas cuantas funciones de
804 la API de LIlyPond que están relacionadas en @file{scm/safe-lily.scm}.
805
806 Además, el modo seguro prohíbe las directivas @code{\include} y
807 desactiva la utilización de barras invertidas en las cadenas de
808 @TeX{}.  Asimismo, no es posible importar variables de LilyPond dentro
809 de Scheme cuando se está en modo seguro.
810
811 @option{-dsafe} @emph{no} detecta la sobreutilización de recursos, por
812 lo que aún es posible hacer que el programa se cuelgue
813 indefinidamente, por ejemplo suministrando estructuras de datos
814 cíclicas en el backend.  Por ello, si está usando LilyPond en un
815 servidor web accesible públicamente, el proceso se debe limitar tanto
816 en el uso de memoria como de CPU.
817
818 El modo seguro evita que se puedan compilar muchos fragmentos de
819 código útiles.
820
821 La opción @option{--jail} es una alternativa más segura aún, pero
822 requiere más trabajo para su configuración.  Véase
823 @ref{Opciones de LilyPond básicas de la línea de órdenes}.
824
825 @multitable @columnfractions .33 .16 .51
826 @item @code{separate-log-files}
827 @tab @code{#f}
828 @tab Para los archivos de entrada @code{ARCHIVO1.ly}, @code{ARCHIVO2.ly},
829 etc. sacar los datos de registro hacia los archivos @code{ARCHIVO1.log},
830 @code{ARCHIVO2.log}@dots{}
831
832 @item @code{show-available-fonts}
833 @tab @code{#f}
834 @tab Listar todos los nombres de las fuentes tipográficas disponibles.
835
836 @item @code{strict-infinity-checking}
837 @tab @code{#f}
838 @tab Forzar una terminación abrupta si se encuentran las excepciones de
839 punto flotante @code{Inf} y @code{NaN}.
840
841 @item @code{strip-output-dir}
842 @tab @code{#t}
843 @tab No usar los directorios de los archivos de entrada al construir los
844 nombres de los archivos de salida.
845
846 @item @code{strokeadjust}
847 @tab @code{#f}
848 @tab Forzar el ajuste de los trazos de PostScript.  Esta opción es
849 relevante principalmente cuando se genera un PDF a partir de la
850 salida de PostScript (el ajuste del trazo está por lo general
851 activado automáticamente para dispositivos de mapa de puntos de
852 baja resolución).  Sin esta opción, los visores de PDF tienden a
853 producir anchuras de plica muy poco consistentes a las
854 resoluciones típicas de las pantallas de ordenador.  La opción no
855 afecta de forma muy significativa a la calidad de la impresión y
856 causa grandes incrementos en el tamaño del archivo PDF.
857
858 @item @code{svg-woff}
859 @tab @code{#f}
860 @tab Esta opción es necesaria al usar archivos de fuente abierta para la Web,
861 Web Open Font Format (WOFF) con la instrucción de backend
862 @code{svg}.  Se crea un solo archivo SVG para cada página de
863 salida.  Aparte de los glifos musicales propios de LilyPond, no se
864 incluye ninguna otra información de fuente tipográfica.  Todo
865 visor de SVG necesita, por ello, tener las fuentes disponibles
866 para la representación correcta tanto del texto como de la letra.
867 Asimismo se recomienda no usar alias de fuentes ni listas, por si
868 el visor de SVG no es capaz de manejarlos.
869
870 @item @code{trace-memory-frequency}
871 @tab @code{#f}
872 @tab Registrar el uso de células de Scheme esta cantidad de veces por
873 segundo.  Volcar los resultados en @code{ARCHIVO.stacks} y en
874 @code{ARCHIVO.graph}.
875
876 @item @code{trace-scheme-coverage}
877 @tab @code{#f}
878 @tab Registrar la cobertura de los archivos de Scheme en @code{ARCHIVO.cov}.
879
880 @item @code{verbose}
881 @tab @code{#f}
882 @tab Salida prolija, es decir el nivel de registro en DEBUG (sólo lectura).
883
884 @item @code{warning-as-error}
885 @tab @code{#f}
886 @tab Cambiar todos los mensajes de advertencia y de @q{error de
887 programación} a errores.
888 @end multitable
889
890
891 @node Variables de entorno
892 @unnumberedsubsec Variables de entorno
893 @translationof Environment variables
894
895 @cindex LANG
896 @cindex LILYPOND_DATADIR
897
898 @command{lilypond} reconoce las siguientes variables de entorno:
899 @table @code
900 @item LILYPOND_DATADIR
901 Especifica un directorio en el que los mensajes de localización y de
902 datos se buscarán de forma predeterminada.  El directorio debe
903 contener subdirectorios llamados @file{ly/}, @file{ps/}, @file{tex/},
904 etc.
905
906 @item LANG
907 Selecciona el idioma de los mensajes de advertencia.
908
909 @item LILYPOND_LOGLEVEL
910 Nivel de registro predeterminado.  Si LilyPond se llama sin ningún
911 nivel de registro explícito (es decir, sin opción de línea de órdenes
912 @option{--loglevel}), se usa este valor.
913
914 @item LILYPOND_GC_YIELD
915 Una variable, como porcentaje, que ajusta el comportamiento de la
916 administración de memoria.  Con valores más altos, el programa usa más
917 memoria; con valores más bajos, usa más tiempo de CPU.  El valor
918 predeterminado es @code{70}.
919
920 @end table
921
922
923 @node LilyPond en una jaula de chroot
924 @unnumberedsubsec LilyPond en una jaula de chroot
925 @translationof LilyPond in chroot jail
926
927 La preparación del servidor para que ejecute LilyPond en una jaula de
928 chroot es una tarea muy complicada.  Los pasos están relacionados más
929 abajo.  Los ejemplos que aparecen en cada uno de los pasos son válidos
930 para Ubuntu GNU/Linux, y pueden requerir el uso de @code{sudo} según
931 corresponda.
932
933 @itemize
934
935 @item Instale los paquetes necesarios: LilyPond, Ghostscript e ImageMagick.
936
937 @item Cree un usuario nuevo con el nombre de @code{lily}:
938
939 @example
940 adduser lily
941 @end example
942
943 @noindent
944 Esto también creará un nuevo grupo para el usuario @code{lily}, y una
945 carpeta personal, @code{/home/lily}
946
947 @item En la carpeta personal del usuario @code{lily}, cree un archivo para usarlo como un sistema de archivos separado:
948
949 @example
950 dd if=/dev/zero of=/home/lily/loopfile bs=1k count= 200000
951 @end example
952
953 @noindent
954 Este ejemplo crea un archivo de 200MB para su uso como el sistema de
955 archivos de la jaula.
956
957 @item Cree un dispositivo loop, haga un sistema de archivos y móntelo,
958 después cree una carpeta que sea escribible por el usuario
959 @code{lily}:
960
961 @example
962 mkdir /mnt/lilyloop
963 losetup /dev/loop0 /home/lily/loopfile
964 mkfs -t ext3 /dev/loop0 200000
965 mount -t ext3 /dev/loop0 /mnt/lilyloop
966 mkdir /mnt/lilyloop/lilyhome
967 chown lily /mnt/lilyloop/lilyhome
968 @end example
969
970 @item En la configuración de los servidores, JAIL será @code{/mnt/lilyloop}
971 y DIR será @code{/lilyhome}.
972
973 @item Cree un gran árbol de directorios dentro de la jaula copiando los
974 archivos necesarios, como se muestra en el guión de ejemplo que aparece
975 más abajo.
976
977 Puede usar @code{sed} para crear los archivos de copia necesarios para
978 un ejecutable dado:
979
980 @example
981 for i in "/usr/local/lilypond/usr/bin/lilypond" "/bin/sh" "/usr/bin/;  \
982   do ldd $i | sed 's/.*=> \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\&  \
983     cp -L \/\1\2 \1\2/' | sed 's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p  \
984       \1 \&\& cp -L \/\1\2 \1\2/' | sed '/.*=>.*/d'; done
985 @end example
986
987 @end itemize
988
989 @subheading Guión de ejemplo para Ubuntu 8.04 de 32 bits
990
991 @example
992 #!/bin/sh
993 ## aquí se fijan los valores predeterminados
994
995 username=lily
996 home=/home
997 loopdevice=/dev/loop0
998 jaildir=/mnt/lilyloop
999 # prefijo (¡sin la barra inicial!)
1000 lilyprefix=usr/local
1001 # el directorio en que lilypond se encuentra instalado en el sistema
1002 lilydir=/$lilyprefix/lilypond/
1003
1004 userhome=$home/$username
1005 loopfile=$userhome/loopfile
1006 adduser $username
1007 dd if=/dev/zero of=$loopfile bs=1k count=200000
1008 mkdir $jaildir
1009 losetup $loopdevice $loopfile
1010 mkfs -t ext3 $loopdevice 200000
1011 mount -t ext3 $loopdevice $jaildir
1012 mkdir $jaildir/lilyhome
1013 chown $username $jaildir/lilyhome
1014 cd $jaildir
1015
1016 mkdir -p bin usr/bin usr/share usr/lib usr/share/fonts $lilyprefix tmp
1017 chmod a+w tmp
1018
1019 cp -r -L $lilydir $lilyprefix
1020 cp -L /bin/sh /bin/rm bin
1021 cp -L /usr/bin/convert /usr/bin/gs usr/bin
1022 cp -L /usr/share/fonts/truetype usr/share/fonts
1023
1024 # Ahora la magia de copiar las bibliotecas
1025 for i in "$lilydir/usr/bin/lilypond" "$lilydir/usr/bin/guile" "/bin/sh"  \
1026   "/bin/rm" "/usr/bin/gs" "/usr/bin/convert"; do ldd $i | sed 's/.*=>  \
1027     \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/' | sed  \
1028       's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/'  \
1029         | sed '/.*=>.*/d'; done | sh -s
1030
1031 # Los archivos compartidos para ghostscript...
1032       cp -L -r /usr/share/ghostscript usr/share
1033 # Los archivos compartidos para ImageMagick
1034       cp -L -r /usr/lib/ImageMagick* usr/lib
1035
1036 ### Ahora, suponiendo que tenemos test.ly en /mnt/lilyloop/lilyhome,
1037 ### deberíamos poder ejecutar:
1038 ### Observe que /$lilyprefix/bin/lilypond es un guión, que establece
1039 ### un valor para LD_LIBRARY_PATH : esto es crucial
1040       /$lilyprefix/bin/lilypond -jlily,lily,/mnt/lilyloop,/lilyhome test.ly
1041 @end example
1042
1043 @c " keep quote signs balanced for context-sensitive editors
1044
1045 @node Mensajes de error
1046 @section Mensajes de error
1047 @translationof Error messages
1048
1049 @cindex error, mensajes de
1050 @cindex mensajes de error
1051
1052 Pueden aparecer distintos mensajes de error al compilar un archivo:
1053
1054 @table @emph
1055
1056 @item Advertencia
1057 @cindex advertencia
1058 Algo tiene un aspecto sospechoso.  Si estamos pidiendo algo fuera de
1059 lo común, entenderemos el mensaje y podremos ignorarlo.  Sin embargo,
1060 las advertencias suelen indicar que algo va mal con el archivo de
1061 entrada.
1062
1063 @item Error
1064 @cindex error
1065 Algo va claramente mal.  El paso actual de procesamiento (análisis,
1066 interpretación o formateo visual) se dará por terminado, pero el
1067 siguiente paso se saltará.
1068
1069 @item Error fatal
1070 @cindex error fatal
1071 @cindex fatal, error
1072 Algo va claramente mal, y LilyPond no puede seguir.  Rara vez sucede
1073 esto.  La causa más frecuente son las tipografías mal instaladas.
1074
1075 @item Error de Scheme
1076 @cindex traza de Scheme
1077 @cindex llamadas, traza de
1078 @cindex Scheme, error de
1079 @cindex error de Scheme
1080 Los errores que ocurren al ejecutar código de Scheme se interceptan
1081 por parte del intérprete de Scheme.  Si se está ejecutando con las
1082 opciones @option{-V} o @option{--verbose} (prolijo) entonces se imprime
1083 una traza de llamadas de la función ofensiva.
1084
1085 @item Error de programación
1086 @cindex error de programación
1087 @cindex programación, error de
1088 Ha habido algún tipo de inconsistencia interna.  Estos mensajes de
1089 error están orientados a ayudar a los programadores y a los
1090 depuradores.  Normalmente se pueden ignorar.  En ocasiones aparecen en
1091 cantidades tan grandes que pueden entorpecer la visión de otros
1092 mensajes de salida.
1093
1094 @item Abortado (volcado de core)
1095 Esto señala un error de programación serio que ha causado la
1096 interrupción abrupta del programa.  Estos errores se consideran
1097 críticos.  Si se topa con uno, envíe un informe de fallo.
1098 @end table
1099
1100 @cindex error, formato de los mensajes de
1101
1102 Si los errores y advertencias se pueden ligar a un punto del archivo
1103 de entrada, los mensajes tienen la forma siguiente:
1104
1105 @example
1106 @var{archivo}:@var{línea}:@var{columna}: @var{mensaje}
1107 @var{línea de entrada problemática}
1108 @end example
1109
1110 Se inserta un salto de línea en la línea problemática para indicar la
1111 columna en que se encontró el error. Por ejemplo,
1112
1113 @example
1114 prueba.ly:2:19: error: no es una duración: 5
1115   @{ c'4 e'
1116            5 g' @}
1117 @end example
1118
1119 Estas posiciones son la mejor suposición de LilyPond sobre dónde se ha
1120 producido el mensaje de error, pero (por su propia naturaleza) las
1121 advertencias y errores se producen cuando ocurre algo inesperado.  Si
1122 no ve un error en la línea que se indica del archivo de entrada, trate
1123 de comprobar una o dos líneas por encima de la posición indicada.
1124
1125 Observe que los diagnósticos se pueden activar en cualquier punto
1126 durante las numerosas fases del procesado.  Por ejemplo, si hay
1127 partes de la entrada que se procesan varias veces (como en la
1128 salida midi y de disposición de la página), o si la misma variable
1129 musical se utiliza en más de un contexto, puede aparecer el mismo
1130 mensaje varias veces.  Los diagnósticos producidos en un estado
1131 @q{tardío} (como las comprobaciones de compás) también podrían
1132 emitirse más de una vez.
1133
1134 Se ofrece más información sobre los errores en la sección @ref{Errores
1135 comunes}.
1136
1137
1138 @node Errores comunes
1139 @section Errores comunes
1140 @translationof Common errors
1141
1142 Las condiciones de error que se describen más abajo se producen con
1143 frecuencia, aunque su causa no es obvia o fácil de encontrar.  Una vez
1144 se han visto y comprendido, se manejan sin problema.
1145
1146
1147 @menu
1148 * La música se sale de la página::
1149 * Aparece un pentagrama de más::
1150 * Mensaje de error Unbound variable %::
1151 * Mensaje de error FT_Get_Glyph_Name::
1152 * Advertencia sobre que las afinidades del pentagrama sólo deben decrecer::
1153 * Mensaje de error Unexpected new::
1154 * Advertencia de que una voz requiere ajustes voiceXx o shiftXx::
1155 @end menu
1156
1157 @node La música se sale de la página
1158 @unnumberedsubsec La música se sale de la página
1159 @translationof Music runs off the page
1160
1161 La música que se sale de la página por el margen derecho o que aparece
1162 exageradamente comprimida está causada casi siempre por haber
1163 introducido una duración incorrecta para una nota, produciendo que la
1164 nota final de un compás se extienda más allá de la línea divisoria.
1165 Esto no es inválido si la nota final de un compás no termina sobre la
1166 línea divisoria introducida automáticamente, pues simplemente se
1167 supone que la nota se solapa encima del siguiente compás.  Pero si se
1168 produce una larga secuencia tales notas solapadas, la música puede
1169 aparecer comprimida o salirse de la página porque los saltos de línea
1170 automáticos solamente se pueden insertar al final de compases
1171 completos, es decir, aquellos en que todas las notas terminan antes de
1172 o justo al final del compás.
1173
1174 @warning{Una duración incorrecta puede hacer que se inhiban los saltos
1175 de línea, lo que llevaría a una sola línea de música muy comprimida o
1176 que se salga de la página.}
1177
1178 La duración incorrecta se puede encontrar fácilmente si se utilizan
1179 comprobaciones de compás, véase @ruser{Comprobación de compás y de
1180 número de compás}.
1181
1182 Si realmente queremos tener una serie de estos compases con notas
1183 solapadas, debemos insertar una línea divisoria invisible donde
1184 queramos el salto de línea.  Para ver más detalles, consulte
1185 @ruser{Barras de compás}.
1186
1187
1188 @node Aparece un pentagrama de más
1189 @unnumberedsubsec Aparece un pentagrama de más
1190 @translationof An extra staff appears
1191
1192 Si no se crean los contextos explícitamente con @code{\new} o con
1193 @code{\context}, se crearán discretamente tan pronto como se encuentra
1194 una instrucción que no se puede aplicar a un contexto existente.  En
1195 partituras sencillas, la creación automática de los contextos es útil,
1196 y casi todos los ejemplos de los manuales de LilyPond se aprovechan de
1197 esta simplificación.  Pero ocasionalmente la creación discreta de
1198 contextos puede hacer aflorar pentagramas o partituras nuevos e
1199 inesperados.  Por ejemplo, podría esperarse que el código siguiente
1200 hiciera que todas las notas dentro del pentagrama siguiente estuvieran
1201 coloreadas de rojo, pero de hecho el resultado son dos pentagramas,
1202 permaneciendo el de abajo con las notas en el color negro
1203 predeterminado.
1204
1205 @lilypond[quote,verbatim,fragment]
1206 \override Staff.NoteHead.color = #red
1207 \new Staff { a' }
1208 @end lilypond
1209
1210 Esto es así porque no existe ningún contexto @code{Staff} cuando se
1211 procesa la instrucción override de sobreescritura, se crea uno
1212 implícitamente y la sobreescritura se aplica a éste, pero entonces la
1213 instrucción @code{\new Staff} crea un pentagrama nuevo y distinto, en
1214 el que se colocan las notas.  El código correcto para colorear todas
1215 las notas de rojo es
1216
1217 @lilypond[quote,verbatim]
1218 \new Staff {
1219   \override Staff.NoteHead.color = #red
1220   a'
1221 }
1222 @end lilypond
1223
1224 @node Mensaje de error Unbound variable %
1225 @unnumberedsubsec Mensaje de error Unbound variable %
1226 @translationof Error message Unbound variable %
1227
1228 Este mensaje de error aparece al final de los mensajes de la consola o
1229 del archivo de registro junto a un mensaje @qq{GUILE señaló un error
1230 @dots{}} cada vez que se llame a una rutina de Scheme que
1231 (incorrectamente) contenga un comentario @emph{de LilyPond} en lugar
1232 de un comentario @emph{de Scheme}.
1233
1234 Los comentarios de LilyPond comienzan con un símbolo de porcentaje,
1235 (@code{%}), y no se deben utilizar dentro de las rutinas de Scheme.
1236 Los comentarios de Scheme comienzan con punto y coma, (@code{;}).
1237
1238 @node Mensaje de error FT_Get_Glyph_Name
1239 @unnumberedsubsec Mensaje de error FT_Get_Glyph_Name
1240 @translationof Error message FT_Get_Glyph_Name
1241
1242 Este mensaje de error aparece en la salida de la consola o en el
1243 archivo log de registro si un archivo de entrada contiene un carácter
1244 que no es ASCII y no se ha guardado en la codificación de caracteres
1245 UTF-8.  Para ver más detalles, consulte @ruser{Codificación del
1246 texto}.
1247
1248
1249 @node Advertencia sobre que las afinidades del pentagrama sólo deben decrecer
1250 @unnumberedsubsec Advertencia sobre que las afinidades del pentagrama sólo deben decrecer
1251 @translationof Warning staff affinities should only decrease
1252
1253 Esta advertencia puede aparecer si no hay ningún pentagrama en la
1254 salida impresa, por ejemplo si sólo hay un contexto @code{ChordName} y
1255 un contexto @code{Lyrics} como en una hoja guía de acordes.  Los
1256 mensajes de advertencia se pueden evitar haciendo que uno de los
1257 contextos se comporte como un pentagrama, insertando
1258
1259 @example
1260 \override VerticalAxisGroup.staff-affinity = ##f
1261 @end example
1262
1263 @noindent
1264 al comienzo.  Para ver más detalles, consulte @qq{Espaciado de las
1265 líneas que no son pautas} en @ruser{Espaciado vertical flexible dentro
1266 de los sistemas}.
1267
1268
1269 @node Mensaje de error Unexpected new
1270 @unnumberedsubsec Mensaje de error Unexpected @code{@bs{}new}
1271 @translationof Error message unexpected new
1272
1273 Un bloque @code{\score} debe contener una @emph{única} expresión
1274 musical.  Si en vez de ello contiene varias instrucciones
1275 @code{\new Staff}, @code{\new StaffGroup} o contextos similares
1276 introducidos con @code{\new} sin que se hayan encerrado entre
1277 llaves curvas, @code{@{ @dots{} @}}, o dobles paréntesis en
1278 ángulo, @code{<< @dots{}  >>}, así:
1279
1280 @example
1281 \score @{
1282   % Invalid! Generates error: syntax error, unexpected \new
1283   \new Staff @{ @dots{} @}
1284   \new Staff @{ @dots{} @}
1285 @}
1286 @end example
1287
1288 @noindent
1289 entonces se producirá el mensaje de error.
1290
1291 Para evitar el error, encierre todas las instrucciones @code{\new}
1292 dentro de llaves curvas o dobles paréntesis en ángulo.
1293
1294 El uso de llaves curvas introduce las instrucciones @code{\new} de
1295 forma secuencial:
1296
1297 @lilypond[quote,verbatim]
1298 \score {
1299   {
1300     \new Staff { a' a' a' a' }
1301     \new Staff { g' g' g' g' }
1302   }
1303 }
1304 @end lilypond
1305
1306 @noindent
1307 pero es más probable que se encuentre utilizando dobles ángulos de
1308 manera que los pentagramas nuevos se inserten en paralelo, es
1309 decir, simultáneamente:
1310
1311 @lilypond[quote,verbatim]
1312 \score {
1313   <<
1314     \new Staff { a' a' a' a' }
1315     \new Staff { g' g' g' g' }
1316   >>
1317 }
1318 @end lilypond
1319
1320 @node Advertencia de que una voz requiere ajustes voiceXx o shiftXx
1321 @unnumberedsubsec Advertencia de que una voz requiere ajustes @code{@bs{}voiceXx} o @code{@bs{}shiftXx}
1322 @translationof Warning this voice needs a voiceXx or shiftXx setting
1323
1324 Si acontecen dos notas de distintas voces son plicas en la misma
1325 dirección y en el mismo momento musical, pero las voces no tienen
1326 especificado ningún desplazamiento de voz específico, aparece el
1327 mensaje @samp{advertencia: esta voz requiere ajustes \voiceXx o
1328 \shiftXx} cuando se compila el archivo de LilyPond.  La
1329 advertencia aparece incluso si las notas no tienen plicas
1330 visibres, por ejemplo redondas, si las plicas de figuras más
1331 breves que tuviesen las misma altura, estuvieran en la misma
1332 dirección.
1333
1334 Recuerde que la dirección de la plica depende de la posición de la
1335 nota sobre el pentagrama a no ser que la dirección de la plica
1336 venga especificada, por ejemplo mediante @code{\voiceOne}.  En
1337 este caso, la advertencia aparece solamente cuando las plicas
1338 están en la misma dirección, es decir, cuando se encuentran en la
1339 misma mitad del pentagrama.
1340
1341 Situando las notas en voces que tengan direcciones de plica y
1342 desplazamientos especificados, por ejemplo usando @code{\voiceOne}
1343 y otras instrucciones, se pueden evitar estos mensajes.
1344
1345 Las notas que están en voces con numeración más alta,
1346 @code{\voiceThree} y siguientes, se desplazan automáticamente para
1347 evitar las colisiones entre columnas.  Esto produce un
1348 desplazamient que es visible en las notas con plica, pero las
1349 redondas no se desplazan de forma visible a no ser que se produzca
1350 una verdadera colisión, o si las voces se cruzan respecto a su
1351 orden natural (cuando una voz con @code{\voiceThree} es más aguda
1352 que otra con @code{\voiceOne}, y casos semejantes).
1353
1354 @seealso
1355 @rlearning{Voces explícitas},
1356 @rlearning{Ejemplos reales de música},
1357 @ruser{Polifonía en un solo pentagrama},
1358 @ruser{Resolución de las colisiones}.