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