]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/es/notation/input.itely
Doc-es: update Changes, Input, Repeats, Rhythms, Simultaneous, SearchBox.
[lilypond.git] / Documentation / es / notation / input.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
2
3 @ignore
4     Translation of GIT committish: f98d7c04289d42711d20e4b4509a870098e01609
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.15.25"
12
13 @node Entrada y salida generales
14 @chapter Entrada y salida generales
15 @translationof General input and output
16
17 Esta sección trata de asuntos relacionados con la entrada y salida
18 generales de LilyPond, más que con la notación específica.
19
20 @menu
21 * Estructura del código de entrada::
22 * Títulos y cabeceras::
23 * Trabajar sobre los archivos de entrada::
24 * Controlar la salida::
25 * Salida MIDI::
26 * Extraer información musical::
27 @end menu
28
29
30 @node Estructura del código de entrada
31 @section Estructura del código de entrada
32 @translationof Input structure
33
34 El formato principal de entrada para LilyPond son archivos de texto.
35 Por convenio, el nombre de estos archivos termina en @file{.ly}.
36
37 @menu
38 * Estructura de una partitura::
39 * Varias partituras en un libro::
40 * Varios archivos de salida a partir de uno de entrada::
41 * Nombres de los archivos de salida::
42 * Estructura del archivo::
43 @end menu
44
45
46 @node Estructura de una partitura
47 @subsection Estructura de una partitura
48 @translationof Structure of a score
49
50 @funindex \score
51
52 Un bloque @code{\score} debe contener una expresión musical única
53 delimitada por un par de llaves:
54
55 @example
56 \score @{
57 ...
58 @}
59 @end example
60
61 @c outer?
62 @warning{Sólo puede haber @strong{una} expresión musical dentro del
63 bloque @code{\score}, y @strong{debe} estar encerrada entre llaves.}
64
65 Esta expresión musical única puede tener cualquier tamaño, y puede
66 contener otras expresiones musicales hasta cualquier grado de
67 complejidad.  Todos los siguientes ejemplos son expresiones musicales:
68
69 @example
70 @{ c'4 c' c' c' @}
71 @end example
72
73 @lilypond[verbatim,quote]
74 {
75   { c'4 c' c' c' }
76   { d'4 d' d' d' }
77 }
78 @end lilypond
79
80 @lilypond[verbatim,quote]
81 <<
82   \new Staff { c'4 c' c' c' }
83   \new Staff { d'4 d' d' d' }
84 >>
85 @end lilypond
86
87 @example
88 @{
89   \new GrandStaff <<
90     \new StaffGroup <<
91       \new Staff @{ \flute @}
92       \new Staff @{ \oboe @}
93     >>
94     \new StaffGroup <<
95       \new Staff @{ \violinI @}
96       \new Staff @{ \violinII @}
97     >>
98   >>
99 @}
100 @end example
101
102 Los comentarios son una excepción a esta regla general (para ver otras
103 excepciones, consulte @ref{Estructura del archivo}).  Tanto los comentarios de
104 una línea como los que están delimitados por @code{%@{ .. %@}} se
105 pueden escribir en cualquier lugar dentro del archivo de entrada.  Se
106 pueden escribir dentro o fuera del bloque @code{\score}, y dentro o
107 fuera de la expresión musical única dentro del bloque @code{\score}.
108
109 Recuerde que incluso dentro de un archivo que contenga solamente un
110 bloque @code{\score}, éste se encuentra incluido implícitamente dentro
111 de un bloque @code{\book}.  Un bloque @code{\book} dentro de un
112 archivo fuente produce al menos un archivo de salida, y de forma
113 predeterminada el nombre del archivo de salida que se produce está
114 derivado del nombre del archivo de entrada, de forma que
115 @file{fandangoforelephants.ly} da como resultado
116 @file{fandangoforelephants.pdf}.
117
118 (Para ver más detalles acerca de los bloques @code{\book}, consulte
119 @ref{Varias partituras en un libro}, @ref{Varios archivos de salida a
120 partir de uno de entrada} y @ref{Estructura del archivo}.)
121
122 @seealso
123 Manual de aprendizaje:
124 @rlearning{Trabajar sobre los archivos de entrada},
125 @rlearning{Explicación de las expresiones musicales},
126 @rlearning{La partitura es una (única) expresión musical compuesta}.
127
128
129 @node Varias partituras en un libro
130 @subsection Varias partituras en un libro
131 @translationof Multiple scores in a book
132
133 @funindex \book
134 @cindex movimientos, varios
135
136 Un documento puede contener varias piezas de música y texto.  Son
137 ejemplos un libro de estudios o una parte orquestal con varios
138 movimientos.  Cada movimiento se introduce con un bloque
139 @code{\score}:
140
141 @example
142 \score @{
143   @var{..música..}
144 @}
145 @end example
146
147 y los textos se introducen con un bloque @code{\markup}:
148
149 @example
150 \markup @{
151   @var{..texto..}
152 @}
153 @end example
154
155 @funindex \book
156
157 Todos los movimientos y textos que aparecen en el mismo archivo
158 @file{.ly} se tipografían normalmente en la forma de un solo archivo
159 de salida.
160
161 @example
162 \score @{
163   @var{..}
164 @}
165 \markup @{
166   @var{..}
167 @}
168 \score @{
169   @var{..}
170 @}
171 @end example
172
173 Una excepción importante se da dentro de los documentos de
174 lilypond-book, en los que tenemos que escribir explícitamente un
175 bloque @code{\book}, pues en caso contrario sólo aparecerá en la
176 salida el primer @code{\score} o @code{\markup}.
177
178 El encabezamiento de cada pieza se puede poner dentro del bloque
179 @code{\score}.  Antes de cada movimiento, se imprime el nombre de la
180 pieza (@code{piece}) extraído del encabezamiento.  El título del libro
181 entero se puede poner dentro del bloque @code{\book}, pero si no está
182 presente se inserta el encabezamiento @code{\header} que está al
183 principio del archivo.
184
185 @example
186 \header @{
187   title = "Ocho miniaturas"
188   composer = "Igor Stravinsky"
189 @}
190 \score @{
191   @dots{}
192   \header @{ piece = "Romanze" @}
193 @}
194 \markup @{
195    ..texto de la segunda estrofa..
196 @}
197 \markup @{
198    ..texto de la tercera estrofa..
199 @}
200 \score @{
201   @dots{}
202   \header @{ piece = "Menuetto" @}
203 @}
204 @end example
205
206
207 @funindex \bookpart
208
209 Se pueden agrupar distintas piezas de música en partes de un libro
210 utilizando bloques @code{\bookpart}.  Las partes de libro se separan
211 por medio de saltos de página, y pueden dar comienzo con un título,
212 como el libro propiamente dicho, mediante la especificación del bloque
213 @code{\header}.
214
215 @example
216 \bookpart @{
217   \header @{
218     title = "Título del libro"
219     subtitle = "Primera parte"
220   @}
221   \score @{ @dots{} @}
222   @dots{}
223 @}
224 \bookpart @{
225   \header @{
226     subtitle = "Segunda parte"
227   @}
228   \score @{ @dots{} @}
229   @dots{}
230 @}
231 @end example
232
233 @node Varios archivos de salida a partir de uno de entrada
234 @subsection Varios archivos de salida a partir de uno de entrada
235 @translationof Multiple output files from one input file
236
237 Si queremos varios archivos de salida a partir del mismo archivo
238 @file{.ly}, podemos escribir varios bloques @code{\book}, donde cada
239 uno de estos bloques @code{\book} dará como resultado un archivo de
240 salida distinto.  Si no especificamos ningún bloque @code{\book} en el
241 archivo, LilyPond trata implícitamente todo el archivo como un solo
242 bloque @code{\book}, véase @ref{Estructura del archivo}.
243
244 Al producir varios archivos a partir de un solo archivo fuente,
245 Lilypond se asegura de que ninguno de los archivos de salida de ningún
246 bloque @code{\book} sobreescribe el archivo de salida producido por un
247 @code{\book} anterior del mismo archivo de entrada.
248
249 Lo hace añadiendo un sufijo al nombre de la salida para cada libro
250 @code{\book} que utiliza el nombre del archivo de salida
251 predeterminado, derivado del archivo fuente de entrada.
252
253 El comportamiento predeterminado es añadir un sufijo con el número de
254 versión para cada nombre que pueda coincidir; así:
255
256 @example
257 \book @{
258   \score @{ @dots{} @}
259   \layout @{ @dots{} @}
260 @}
261 \book @{
262   \score @{ @dots{} @}
263   \layout @{ @dots{} @}
264 @}
265 \book @{
266   \score @{ @dots{} @}
267   \layout @{ @dots{} @}
268 @}
269 @end example
270
271 en el archivo fuente @file{eightminiatures.ly}, produce
272
273 @itemize
274 @item
275 @file{eightminiatures.pdf},
276 @item
277 @file{eightminiatures-1.pdf} y
278 @item
279 @file{eightminiatures-2.pdf}.
280 @end itemize
281
282 @node Nombres de los archivos de salida
283 @subsection Nombres de los archivos de salida
284 @translationof Output file names
285
286 @funindex \bookOutputSuffix
287 @funindex \bookOutputName
288
289 Lilypond le ofrece unos mecanismos que le permiten controlar los
290 nombres de archivo que se utilizan por parte de los diversos motores
291 finales al producir los archivos de salida.
292
293 En la sección anterior vimos cómo Lilypond evita las coincidencias de
294 nombres al producir varias salidas a partir de un único archivo fuente
295 de entrada.  También podemos especificar nuestros propios sufijos para
296 cada bloque @code{\book}, de manera que podemos producir, por ejemplo,
297 archivos con los nombres @file{eightminiatures-Romanze.pdf},
298 @file{eightminiatures-Menuetto.pdf} y
299 @file{eightminiatures-Nocturne.pdf} añadiendo una declaración
300 @code{\bookOutputSuffix} dentro de cada bloque @code{\book}.
301
302 @example
303 \book @{
304   \bookOutputSuffix "Romanze"
305   \score @{ @dots{} @}
306   \layout @{ @dots{} @}
307 @}
308 \book @{
309   \bookOutputSuffix "Menuetto"
310   \score @{ @dots{} @}
311   \layout @{ @dots{} @}
312 @}
313 \book @{
314   \bookOutputSuffix "Nocturne"
315   \score @{ @dots{} @}
316   \layout @{ @dots{} @}
317 @}
318 @end example
319
320 También podemos especificar un nombre de archivo de salida diferente
321 para cada bloque @code{book}, mediante la utilización de declaraciones
322 @code{\bookOutputName}:
323
324 @example
325 \book @{
326   \bookOutputName "Romanze"
327   \score @{ @dots{} @}
328   \layout @{ @dots{} @}
329 @}
330 \book @{
331   \bookOutputName "Menuetto"
332   \score @{ @dots{} @}
333   \layout @{ @dots{} @}
334 @}
335 \book @{
336   \bookOutputName "Nocturne"
337   \score @{ @dots{} @}
338   \layout @{ @dots{} @}
339 @}
340 @end example
341
342 El código anterior produce los siguientes archivos de salida:
343
344 @itemize
345 @item
346 @file{Romanze.pdf},
347 @item
348 @file{Menuetto.pdf} y
349 @item
350 @file{Nocturne.pdf}.
351 @end itemize
352
353 @node Estructura del archivo
354 @subsection Estructura del archivo
355 @translationof File structure
356
357 @funindex \paper
358 @funindex \midi
359 @funindex \layout
360 @funindex \header
361 @funindex \score
362 @funindex \book
363 @funindex \bookpart
364
365 Un archivo @file{.ly} puede contener cualquier número de expresiones
366 del nivel superior, donde una expresión del nivel superior es una de
367 las siguientes posibilidades:
368
369 @itemize
370 @item
371 Una definición de salida, como @code{\paper}, @code{\midi} y
372 @code{\layout}.  Tal definición en el nivel más alto cambia los
373 ajustes predeterminados para todo el libro.  Si se introduce más de
374 una de estas definiciones del mismo tipo en el nivel más alto,
375 cualquier definición en una expresión posterior tiene prioridad.
376
377 @item
378 Una expresión directa de Scheme, como
379 @code{#(set-default-paper-size "a7" 'landscape)} o
380 @code{#(ly:set-option 'point-and-click #f)}.
381
382 @item
383 Un bloque @code{\header}.  Esto establece el bloque de encabezamiento
384 global.  Es el bloque que contiene las definiciones de los ajustes
385 para todo el libro, como el compositor, título, etc.
386
387 @item
388 Un bloque @code{\score}.  Esta partitura se reúne con otras partituras
389 del nivel superior, y se combina con ellas formando un @code{\book}
390 (libro) único.  Este comportamiento se puede cambiar estableciendo el
391 valor de la variable @code{toplevel-score-handler} en el nivel
392 superior.  El @emph{handler} predeterminado se define en el archivo de
393 inicio @file{../scm/lily.scm}.
394
395 @item
396 Un bloque @code{\book} combina lógicamente varios movimientos (es
397 decir, varios bloques @code{\score}) en un solo documento.  Si hay
398 varias partituras @code{\score}, se crea un solo archivo de salida
399 para cada bloque @code{\book}, en el que se concatenan todos los
400 movimientos correspondientes.  La única razón para especificar
401 explícitamente bloques @code{\book} en un archivo de entrada
402 @file{.ly} es si queremos crear varios archivos de salida a partir de
403 un único archivo de entrada.  Una excepción se da dentro de los
404 documentos de lilypond-book, en los que tenemos que escribir
405 explícitamente un bloque @code{\book} si queremos tener más de una
406 única partitura @code{\score} o marcado @code{\markup} en el mismo
407 ejemplo.  Se puede cambiar este comportamiento estableciendo el valor
408 de la variable @code{toplevel-book-handler} en el nivel superior.  El
409 @emph{handler} predeterminado se define en el archivo de inicio
410 @file{../scm/lily.scm}.
411
412 @item
413 Un bloque @code{\bookpart}.  Un libro puede dividirse en varias
414 partes, utilizando bloques @code{\bookpart}, con objeto de facilitar
415 la inserción de saltos de página o usar distintos ajustes de
416 @code{\paper} en las distintas partes.
417
418 @item
419 Una expresión musical compuesta, como
420 @example
421 @{ c'4 d' e'2 @}
422 @end example
423
424 Esto añade la pieza al @code{\score} y la conforma dentro de un libro
425 único junto a todas las demás partituras @code{\score} y expresiones
426 musicales del nivel superior.  En otras palabras, un archivo que
427 contiene sólo la expresión musical anterior se traduce a
428
429 @example
430 \book @{
431   \score @{
432     \new Staff @{
433       \new Voice @{
434         @{ c'4 d' e'2 @}
435       @}
436     @}
437     \layout @{ @}
438   @}
439   \paper @{ @}
440   \header @{ @}
441 @}
442 @end example
443
444 Se puede cambiar este comportamiento estableciendo el valor de la
445 variable @code{toplevel-music-handler} en el nivel más alto.  El
446 @emph{handler} predeterminado se define en el archivo de inicio
447 @file{../scm/lily.scm}.
448
449 @item
450 Un texto de marcado, por ejemplo una estrofa
451 @example
452 \markup @{
453    2.  Estrofa dos, línea uno
454 @}
455 @end example
456
457 Los textos de marcado se colocan encima, en medio o debajo de las
458 partituras o expresiones musicales, según donde aparezcan escritos.
459
460 @cindex variables
461
462 @item
463 Una variable, como
464 @example
465 fulano = @{ c4 d e d @}
466 @end example
467
468 Esto se puede utilizar más tarde en el archivo escribiendo
469 @code{\fulano}.  El nombre de las variables ha de ser exclusivamente
470 alfabético; sin números, guiones ni barras bajas.
471
472 @end itemize
473
474 El ejemplo siguiente muestra tres cosas que se pueden introducir en el
475 nivel superior:
476
477 @example
478 \layout @{
479   % No justificar la salida
480   ragged-right = ##t
481 @}
482
483 \header @{
484    title = "Do-re-mi"
485 @}
486
487 @{ c'4 d' e2 @}
488 @end example
489
490 En cualquier punto del archivo se pueden introducir cualquiera de las
491 instrucciones léxicas siguientes:
492
493 @itemize
494 @item @code{\version}
495 @item @code{\include}
496 @item @code{\sourcefilename}
497 @item @code{\sourcefileline}
498 @item
499 Un comentario de una línea, determinado por un símbolo @code{%} al principio.
500
501 @item
502 Un comentario de varias líneas, delimitado por @code{%@{ .. %@}}.
503
504 @end itemize
505
506 @cindex espacios en blanco
507
508 Por lo general se ignoran los espacios entre elementos del flujo de
509 entrada, y se pueden omitir o aumentar tranquilamente para mejorar la
510 legibilidad.  Sin embargo, los espacios se deben utilizar siempre para
511 evitar errores, en las siguientes situaciones:
512
513 @itemize
514 @item Alrededor de todas y cada una de las llaves curvas de apertura y cierre.
515 @item A continuación de las instrucciones y variables, es decir, todos los elementos
516 que comienzan con un signo @code{\} de barra invertida.
517 @item A continuación de todo elemento que se deba interpretar como expresión
518 de Scheme, es decir, todo elemento que comience por un signo@tie{}@code{#}.
519 @item Para separar los elementos de una expresión de Scheme.
520 @item Dentro de @code{lyricmode} para separar todos los términos de las instrucciones
521 @code{\override} y @code{\set}.  Concretamente, hay que usar espacios
522 alrededor del punto y el signo igual en instrucciones como
523 @code{\override Score . LyricText #'font-size = #5} y antes y después
524 de la instrucción completa.
525
526 @end itemize
527
528 @seealso
529 Manual de aprendizaje:
530 @rlearning{Cómo funcionan los archivos de entrada de LilyPond}.
531
532
533 @node Títulos y cabeceras
534 @section Títulos y cabeceras
535 @translationof Titles and headers
536
537 Casi toda la música impresa tiene un título y el nombre del
538 compositor; ciertas piezas tienen mucha más información.
539
540 @menu
541 * Crear títulos cabeceras y pies de página::
542 * Cabeceras pies y títulos personalizados::
543 * Crear notas al pie::
544 * Referencia a números de página::
545 * Índice general::
546 @end menu
547
548
549 @node Crear títulos cabeceras y pies de página
550 @subsection Crear títulos, cabeceras y pies de página
551 @translationof Creating titles headers and footers
552
553 @menu
554 * Explicación de los bloques de títulos::
555 * Presentación predeterminada de los bloques de título del libro y la partitura::
556 * Disposición predeterminada de las cabeceras y pies de página::
557 @end menu
558
559
560 @node Explicación de los bloques de títulos
561 @unnumberedsubsubsec Explicación de los bloques de títulos
562 @translationof Title blocks explained
563
564 @c TODO: figure out how \bookpart titles work
565
566 Existen dos clases de bloques de títulos: el bloque principal de
567 títulos que aparece encima del primer bloque @code{\score} de un
568 libro, y los bloques individuales de título que aparecen dentro de
569 cada bloque @code{\score}.  Los campos de texto para los dos tipos de
570 bloque se introducen mediante un bloque @code{\header}.
571
572 Si el libro tiene una única partitura, el bloque @code{\header} se
573 puede situar dentro o fuera del bloque @code{\score}.
574
575 @warning{Recuerde que al añadir un bloque @bs{}@code{header} dentro de
576 un bloque @bs{}@code{score}, la expresión musical debe aparecer antes
577 del bloque @bs{}@code{header}.}
578
579 @lilypond[papersize=a5,quote,verbatim,noragged-right]
580 \header {
581   title = "SUITE I."
582   composer = "J. S. Bach."
583 }
584
585 \score {
586   \new Staff \relative g, {
587     \clef bass
588     \key g \major
589     \repeat unfold 2 { g16( d' b') a b d, b' d, } |
590     \repeat unfold 2 { g,16( e' c') b c e, c' e, } |
591   }
592   \header {
593     piece = "Prélude."
594   }
595 }
596
597 \score {
598   \new Staff \relative b {
599     \clef bass
600     \key g \major
601     \partial 16 b16 |
602     <g, d' b'~>4 b'16 a( g fis) g( d e fis) g( a b c) |
603     d16( b g fis) g( e d c) b(c d e) fis( g a b) |
604   }
605   \header {
606     piece = "Allemande."
607   }
608 }
609 @end lilypond
610
611 Los campos de texto extraídos del bloque prinicipal de título de un
612 libro se pueden imprimir en todos los bloques @code{\score}, o
613 suprimirse manualmente:
614
615 @lilypond[papersize=a5,quote,verbatim,noragged-right]
616 \book {
617   \paper {
618     print-all-headers = ##t
619   }
620   \header {
621     title = "DAS WOHLTEMPERIRTE CLAVIER"
622     subtitle = "TEIL I"
623     % Do not display the tagline for this book
624     tagline = ##f
625   }
626   \markup { \vspace #1 }
627   \score {
628     \new PianoStaff <<
629       \new Staff { s1 }
630       \new Staff { \clef "bass" s1 }
631     >>
632     \header {
633       title = "PRAELUDIUM I"
634       opus = "BWV 846"
635       % Do not display the subtitle for this score
636       subtitle = ##f
637     }
638   }
639   \score {
640     \new PianoStaff <<
641       \new Staff { s1 }
642       \new Staff { \clef "bass" s1 }
643     >>
644     \header {
645       title = "FUGA I"
646       subsubtitle = "A 4 VOCI"
647       opus = "BWV 846"
648       % Do not display the subtitle for this score
649       subtitle = ##f
650     }
651   }
652 }
653 @end lilypond
654
655 @seealso
656 Referencia de la notación:
657 @ref{Estructura del archivo},
658 @ref{Personalización de los bloques de título}.
659
660
661 @node Presentación predeterminada de los bloques de título del libro y la partitura
662 @unnumberedsubsubsec Presentación predeterminada de los bloques de título del libro y la partitura
663 @translationof Default layout of book and score title blocks
664
665 La disposición y formato de los bloques de título están controlados
666 por medio de dos variables de @code{\paper}: @code{bookTitleMarkup}
667 para el bloque de título @code{\header} principal y
668 @code{scoreTitleMarkup} para los bloques @code{\header} individuales
669 dentro de un bloque @code{\score}.
670
671 @lilypond[papersize=a6,quote,verbatim,noragged-right]
672 \header {
673   % The following fields are centered
674   dedication = "Dedication"
675   title = "Title"
676   subtitle = "Subtitle"
677   subsubtitle = "Subsubtitle"
678   instrument = "Instrument"
679
680   % The following fields are left-aligned on the left side
681   poet = "Poet"
682   meter = "Meter"
683
684   % The following fields are right-aligned on the right side
685   composer = "Composer"
686   arranger = "Arranger"
687 }
688
689 \score {
690   { s1 }
691   \header {
692     % The following fields are placed at opposite ends of the same line
693     piece = "Piece"
694     opus = "Opus"
695   }
696 }
697 @end lilypond
698
699 @c Is the bit about \null markups true? -mp
700
701 Los campos de texto que se dejan sin establecer dentro de un bloque
702 @code{\header} se sustituyen por elementos de marcado nulos
703 @code{\null} de manera que no ocupen espacio innecesariamente.
704
705 Los ajustes predeterminados para @code{scoreTitleMarkup} sitúan los
706 campos de texto @code{piece} y @code{opus} en extremos opuestos de la
707 misma línea.
708
709 @cindex breakbefore
710
711 Utilice la variable @code{breakbefore} dentro de un bloque
712 @code{\header} que está propiamente dentro de un bloque @code{\score}
713 para hacer que los títulos del bloque @code{\header} del nivel
714 superior aparezcan ocupando toda la primera página, empezando la
715 música (definida en el bloque @code{\score}) en la página siguiente.
716
717 @lilypond[papersize=a8landscape,verbatim,noragged-right]
718 \book {
719   \header {
720     title = "This is my Title"
721     subtitle = "This is my Subtitle"
722     copyright = "This is the bottom of the first page"
723   }
724   \score {
725     \repeat unfold 4 { e'' e'' e'' e'' }
726     \header {
727       piece = "This is the Music"
728       breakbefore = ##t
729     }
730   }
731 }
732 @end lilypond
733
734 @seealso
735 Manual de aprendizaje:
736 @rlearning{Cómo funcionan los archivos de entrada de LilyPond}
737
738 Referencia de la notación:
739 @ref{Estructura del archivo}.
740
741 Archivos de inicio:
742 @file{ly/titling-init.ly}.
743
744 @node Disposición predeterminada de las cabeceras y pies de página
745 @unnumberedsubsubsec Disposición predeterminada de las cabeceras y pies de página
746 @translationof Default layout of headers and footers
747
748 Las @emph{cabeceras} y los @emph{pies} de página son líneas de texto
749 que aparecen en la parte más alta y en la más baja de las páginas
750 separadas del texto principal de un libro.  Se controlan mediante las
751 siguientes variables de @code{\paper}:
752
753 @itemize
754 @item @code{oddHeaderMarkup} (marcado de cabecera impar)
755 @item @code{evenHeaderMarkup} (marcado de cabecera par)
756 @item @code{oddFooterMarkup} (marcado de pie impar)
757 @item @code{evenFooterMarkup} (marcado de pie par)
758 @end itemize
759
760 Estas variables de marcado sólo pueden acceder a los campos de texto
761 extraídos de bloques @code{\header} del nivel superior (que se aplican
762 a todas las partituras del libro) y se definen en el archivo
763 @file{ly/titling-init.ly}.  De forma predeterminada:
764
765 @itemize
766
767 @item
768 los números de página se sitúan automáticamente en el extremo superior
769 izquierdo (si es par) o superior derecho (si es impar), a partir de la
770 segunda página.
771
772 @item
773 el campo de texto @code{instrument} se sitúa en el centro en cada
774 página, a partir de la segunda página.
775
776 @item
777 el texto de @code{copyright} se centra en la parte baja de la primera
778 página.
779
780 @item
781 la línea @code{tagline} se centra al final de la última página, y
782 debajo del texto de @code{copyright} si sólo hay una página.
783
784 @end itemize
785
786 @lilypond[papersize=a8landscape]
787 \book {
788   \score {
789     \relative c' {
790       c4 d e f
791     }
792   }
793 }
794 @end lilypond
795
796 La línea de etiqueta tagline predeterminada se puede cambiar añadiendo un campo
797 @code{tagline} en el bloque @code{\header} del nivel superior.
798
799 @lilypond[papersize=a8landscape,verbatim]
800 \book {
801   \header {
802     tagline = "... music notation for Everyone"
803   }
804   \score {
805     \relative c' {
806       c4 d e f
807     }
808   }
809 }
810 @end lilypond
811
812 Para eliminar la línea @code{tagline}, establezca su valor a
813 @code{##f}.
814
815
816 @node Cabeceras pies y títulos personalizados
817 @subsection Cabeceras, pies y títulos personalizados
818 @translationof Custom headers footers and titles
819
820 @c TODO: somewhere put a link to header spacing info
821 @c       (you'll have to explain it more in NR 4).
822
823 @menu
824 * Formateo personalizado del texto de los bloques de título::
825 * Personalización de los bloques de título::
826 * Disposición personalizada de cabeceras y pies de página::
827 @end menu
828
829
830 @node Formateo personalizado del texto de los bloques de título
831 @unnumberedsubsubsec Formateo personalizado del texto de los bloques de título
832 @translationof Custom text formatting for title blocks
833
834 Se pueden usar instrucciones @code{\markup} estándar para personalizar
835 el texto de cualquier cabecera, pie o título dentro del bloque
836 @code{\header}.
837
838 @lilypond[quote,verbatim,noragged-right]
839 \score {
840   { s1 }
841   \header {
842     piece = \markup { \fontsize #4 \bold "PRAELUDIUM I" }
843     subtitle = \markup { \italic "(Excerpt)" }
844   }
845 }
846 @end lilypond
847
848 @seealso
849 Referencia de la notación:
850 @ref{Formatear el texto}.
851
852
853 @node Personalización de los bloques de título
854 @unnumberedsubsubsec Personalización de los bloques de título
855 @translationof Custom layout for title blocks
856
857 Las instrucciones @code{\markup} dentro del bloque @code{\header} son
858 útiles para dar un formato simple al texto, pero no permiten un
859 control preciso sobre la colocación de los títulos.  Para personalizar
860 la colocación de los campos de texto, use una o las dos variables de
861 @code{\paper} siguientes:
862
863 @itemize
864 @item @code{bookTitleMarkup} (marcado de título del libro)
865 @item @code{scoreTitleMarkup} (marcado de título de la partitura)
866 @end itemize
867
868 Estas variables de marcado se estudian en
869 @ref{Presentación predeterminada de los bloques de título del libro y la partitura}.
870
871 Los ajustes predeterminados para @code{scoreTitleMarkup} tal y como
872 están definidos en el archivo @file{ly/titling-init.ly} son:
873
874 @example
875 scoreTitleMarkup = \markup @{ \column @{
876   \on-the-fly #print-all-headers @{ \bookTitleMarkup \hspace #1 @}
877   \fill-line @{
878     \fromproperty #'header:piece
879     \fromproperty #'header:opus
880   @}
881 @}
882 @}
883 @end example
884
885 Esto sitúa los campos de texto @code{piece} y @code{opus} en extremos
886 opuestos de la misma línea:
887
888 @lilypond[quote,verbatim,noragged-right]
889 \score {
890   { s1 }
891   \header {
892     piece = "PRAELUDIUM I"
893     opus = "BWV 846"
894   }
895 }
896 @end lilypond
897
898 Este ejemplo redefine @code{scoreTitleMarkup} de manera que el campo
899 de texto @code{piece} aparece centrado y en un tipo de letra grande y
900 en negrita.
901
902 @lilypond[papersize=a5,quote,verbatim,noragged-right]
903 \book {
904   \paper {
905     indent = 0\mm
906     scoreTitleMarkup = \markup {
907       \fill-line {
908         \null
909         \fontsize #4 \bold \fromproperty #'header:piece
910         \fromproperty #'header:opus
911       }
912     }
913   }
914   \header { tagline = ##f }
915   \score {
916     { s1 }
917     \header {
918       piece = "PRAELUDIUM I"
919       opus = "BWV 846"
920     }
921   }
922 }
923 @end lilypond
924
925 Los campos de texto reservados normalmente para el bloque principal de
926 título se pueden insertar dentro de los bloques de título de las
927 partituras individuales con la variable @code{print-all-headers}
928 establecida dentro del bloque @code{\paper}.  Una desventaja de la
929 utilización de este método es que los campos de texto que están
930 orientados específicamente para el bloque @code{\header} del nivel
931 superior han de suprimirse manualmente en cada uno de los bloques
932 @code{\score}.  Véase @ref{Explicación de los bloques de títulos}.
933
934 Para evitarlo, añada el campo de texto deseado a la definición de
935 @code{scoreTitleMarkup}.  En el ejemplo siguiente, el campo de texto
936 @code{composer} (asociado normalmente con @code{bookTitleMarkup}) se
937 añade a @code{scoreTitleMarkup}, permitiendo que cada partitura
938 muestre un compositor diferente:
939
940 @lilypond[papersize=a5,quote,verbatim,noragged-right]
941 \book {
942   \paper {
943     indent = 0\mm
944     scoreTitleMarkup = \markup {
945       \fill-line {
946         \null
947         \fontsize #4 \bold \fromproperty #'header:piece
948         \fromproperty #'header:composer
949       }
950     }
951   }
952   \header { tagline = ##f }
953   \score {
954     { s1 }
955     \header {
956       piece = "MENUET"
957       composer = "Christian Petzold"
958     }
959   }
960   \score {
961     { s1 }
962     \header {
963       piece = "RONDEAU"
964       composer = "François Couperin"
965     }
966   }
967 }
968 @end lilypond
969
970 También podemos crear nuestros propios campos de texto personalizados,
971 y referirnos a ellos en la definición del elemento de marcado.
972
973 @lilypond[papersize=a5,quote,verbatim,noragged-right]
974 \book {
975   \paper {
976     indent = 0\mm
977     scoreTitleMarkup = \markup {
978       \fill-line {
979         \null
980         \override #`(direction . ,UP) {
981           \dir-column {
982             \center-align \fontsize #-1 \bold
983               \fromproperty #'header:mycustomtext %% User-defined field
984             \center-align \fontsize #4 \bold
985               \fromproperty #'header:piece
986           }
987         }
988         \fromproperty #'header:opus
989       }
990     }
991   }
992   \header { tagline = ##f }
993   \score {
994     { s1 }
995     \header {
996       piece = "FUGA I"
997       mycustomtext = "A 4 VOCI" %% User-defined field
998       opus = "BWV 846"
999     }
1000   }
1001 }
1002 @end lilypond
1003
1004 @seealso
1005 Referencia de la notación:
1006 @ref{Explicación de los bloques de títulos}.
1007
1008
1009 @node Disposición personalizada de cabeceras y pies de página
1010 @unnumberedsubsubsec Disposición personalizada de cabeceras y pies de página
1011 @translationof Custom layout for headers and footers
1012
1013 @c can make-header and make-footer be removed from
1014 @c paper-defaults-init.ly? -mp
1015
1016 Las instrucciones @code{\markup} dentro del bloque @code{\header} son
1017 de utilidad para dar formato al texto de una manera sencilla, pero no
1018 permiten un control preciso sobre la colocación de las cabeceras y los
1019 pies de página.  Para personalizar la colocación de los campos de
1020 texto, use una o más de las siguientes variables de @code{\paper}:
1021
1022 @itemize
1023 @item @code{oddHeaderMarkup} (marcado de encabezamiento impar)
1024 @item @code{evenHeaderMarkup} (marcado de encabezamiento par)
1025 @item @code{oddFooterMarkup} (marcado de pie de página impar)
1026 @item @code{evenFooterMarkup} (marcado de pie de página par)
1027 @end itemize
1028
1029 El ejemplo siguiente centra los números de página en la parte baja de
1030 las páginas.  En primer lugar, los ajustes predeterminados para
1031 @code{oddHeaderMarkup} y @code{evenHeaderMarkup} se eliminan
1032 definiéndolos como un marcado @emph{nulo}.  Después de esto, se
1033 redefine @code{oddFooterMarkup} con el número de página centrado.
1034 Finalmente, @code{evenFooterMarkup} recibe la misma disposición
1035 definiéndola como @code{\oddFooterMarkup}:
1036
1037 @lilypond[papersize=a8,quote,verbatim,noragged-right]
1038 \book {
1039   \paper {
1040     print-page-number = ##t
1041     print-first-page-number = ##t
1042     oddHeaderMarkup = \markup \null
1043     evenHeaderMarkup = \markup \null
1044     oddFooterMarkup = \markup {
1045       \fill-line {
1046         \on-the-fly #print-page-number-check-first
1047         \fromproperty #'page:page-number-string
1048       }
1049     }
1050     evenFooterMarkup = \oddFooterMarkup
1051   }
1052   \score {
1053     \new Staff { s1 \break s1 \break s1 }
1054   }
1055 }
1056 @end lilypond
1057
1058 @seealso
1059 Notation Reference:
1060 @ref{Explicación de los bloques de títulos},
1061 @ref{Presentación predeterminada de los bloques de título del libro y la partitura}.
1062
1063 @node Crear notas al pie
1064 @subsection Crear notas al pie
1065 @translationof Creating footnotes
1066
1067 Se pueden crear dos tipos de notas al pie: automáticas y manuales.
1068
1069 @menu
1070 * Panorámica de las notas al pie::
1071 * Notas al pie automáticas::
1072 * Notas al pie manuales::
1073 @end menu
1074
1075 @node Panorámica de las notas al pie
1076 @unnumberedsubsubsec Panorámica de las notas al pie
1077 @translationof Footnotes overview
1078
1079 Las notas al pie automáticas crean indicadores numéricos
1080 incrementales; las notas al pie manuales, en cambio, permiten crear un
1081 indicador personalizado. Se pueden anotar todos los grobs (objetos
1082 gráficos), elementos @code{\markup} del nivel superior y las notas de
1083 los acordes.
1084
1085 El orden en que se dibuja cada grob determina el orden en que se crean
1086 los indicadores (y por tanto las notas al pie) durante la compilación.
1087
1088 @node Notas al pie automáticas
1089 @unnumberedsubsubsec Notas al pie automáticas
1090 @translationof Automatic footnotes
1091
1092 De las dos instrucciones utilizadas para crear notas al pie
1093 automáticas, utilice @code{\footnoteGrob} para los grobs
1094 individuales (es decir: la cabeza de las notas, plicas, ligaduras de
1095 expresión, matices dinámicos y elementos de @code{\markup} si se
1096 utilizan @code{TextScripts}); y @code{\footnote} para anotar las
1097 notas de un acorde.
1098
1099 Las dos instrucciones aceptan tres argumentos; el @var{Objeto de
1100 presentación} que anotar, la posición @var{(x . y)} del indicador y un
1101 elemento de @code{\markup} que aparecerá en la nota, en la parte
1102 inferior de la página.
1103
1104 La instrucción @code{\footnoteGrob} debe ir @emph{antes} del grob
1105 al que se adjunta la nota al pie:
1106
1107 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1108 \book {
1109   \header { tagline = ##f }
1110   \relative c' {
1111     \footnote #'(0.5 . -2) #'NoteHead
1112       \markup { The first note }
1113     a'4 b8
1114     \footnote #'(0.5 . 1) #'NoteHead
1115       \markup { The third note }
1116     e c4 d4
1117   }
1118 }
1119 @end lilypond
1120
1121 Para anotar las notas de un acorde, la instrucción
1122 @code{\footnote} debe ir @emph{después} de la nota a la que se
1123 quiere adjuntar la nota al pie como un @code{TextScript}:
1124
1125 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1126 \book {
1127   \header { tagline = ##f }
1128   \relative c' {
1129     <
1130     c-\footnote #'(1 . -1.25) "Here is a C"
1131     es-\footnote #'(2 . -0.25) \markup { \italic "An E-flat" }
1132     g-\footnote #'(2 . 3) \markup { \bold "This is a G" }
1133     >1
1134   }
1135 }
1136 @end lilypond
1137
1138 @warning{Cuando las notas al pie tienen la misma posición vertical, se
1139 imprimen en orden de descendencia: cuando más alta es la nota al pie,
1140 más arriba está en la lista.}
1141
1142 He aquí unos ejemplos de grobs con notas al pie automáticas, que
1143 muestran también la posición relativa de las notas respecto de la
1144 línea informativa y la línea de copyright.
1145
1146 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1147 \book {
1148   \header { copyright = \markup { "Copyright 1970" } }
1149   \relative c' {
1150     \footnote #'(-3 . 0) #'DynamicText
1151       \markup { \bold Forte }
1152
1153     \footnote #'(0 . 1.5) #'Slur
1154       \markup { A slur }
1155     a'4\f(
1156
1157     \footnote #'(0 . -2) #'Beam
1158       \markup { Beam }
1159     b8)[ e]
1160
1161     \footnote #'(1 . -1) #'Stem
1162       \markup  { \teeny { This is a stem } }
1163     c4
1164
1165     \footnote #'(0 . 0.5) #'AccidentalCautionary
1166       \markup \italic { A cautionary accidental }
1167
1168     \footnote #'(0.5 . -0.5) #'TextScript
1169       \markup \italic { Slow Down }
1170     dis?4_"rit."
1171   }
1172 }
1173 @end lilypond
1174
1175 Para los elementos @code{\markup} del nivel superior, se requiere el
1176 uso de la instrucción @code{\auto-footnote}:
1177
1178 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1179 \book {
1180   \header { tagline = ##f }
1181   \markup { \auto-footnote "A simple tune" \italic "By me" }
1182   \relative c' {
1183     a'4 b8 e c4 d
1184   }
1185 }
1186 @end lilypond
1187
1188
1189 @node Notas al pie manuales
1190 @unnumberedsubsubsec Notas al pie manuales
1191 @translationof Manual footnotes
1192
1193 @funindex \footnote
1194 @funindex \footnoteGrob
1195 @cindex notas al pie manuales
1196
1197 Existen dos instrucciones para crear notas al pie manuales;
1198 @code{\footnote} para elementos de @code{\markup} del nivel superior y
1199 notas de acordes; y @code{\footnoteGrob} para grobs individuales (y
1200 elementos de @code{\markup} cuando se usan @code{TextScripts}).
1201
1202 Si se están anotando grobs, la instrucción @code{\footnote} toma
1203 cuatro argumentos; el @var{objeto de presentación} que se va a anotar,
1204 la posición @var{(x . y)} del indicador, y dos instrucciones
1205 @code{\markup}; la primera es el indicador adjunto a la nota o grob, y
1206 la segunda es la nota al pie, en la parte inferior de la página.
1207
1208 La instrucción @code{\footnoteGrob} debe ir @emph{después} del grob
1209 que la nota al pie está anotando y adjuntada como un
1210 @code{TextScript}:
1211
1212 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1213 \book {
1214   \header { tagline = ##f }
1215   \relative c' {
1216     a'4-\footnote
1217           "1" #'(0.5 . -2) #'NoteHead \markup { \italic "1. The first note" }
1218     b8
1219     e-\footnote
1220           \markup { \bold "2" } #'(0.5 . 1) #'NoteHead "2. The second note"
1221     c4
1222     d\p-\footnote "3" #'(0.5 . -1) #'DynamicText "3. Piano"
1223   }
1224 }
1225 @end lilypond
1226
1227 Para anotar notas de acordes, la instrucción @code{\footnote} debe ir
1228 @emph{después} de la nota que se está anotando con una nota al pie, y
1229 adjuntarse como un @code{TextScript}:
1230
1231 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1232 \book {
1233   \header { tagline = ##f }
1234   \relative c' {
1235     <
1236     c-\footnote "1" #'(1 . -1.25) "1. C"
1237     es-\footnote
1238        \markup { \bold "b" } #'(2 . -0.25) "b. E-flat"
1239     g-\footnote "3" #'(2 . 3) \markup { \italic "iii. G" }
1240     >1
1241   }
1242 }
1243 @end lilypond
1244
1245 @warning {Cuando las notas al pie tienen la misma posición vertical, las
1246 anotaciones se imprimen en orden de descendencia; cuanto más alta es
1247 la nota al pie, más arriba está en la lista.}
1248
1249 He aquí algunos ejemplos de grobs anotados manualmente, mostrando
1250 también la posición relativa de las notas al pie respecto a la línea
1251 informativa a la de copyright:
1252
1253 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1254 \book {
1255   \header { tagline = ##f }
1256   \relative c' {
1257     \footnote
1258       \markup { \teeny 1 } #'(-3 . 0) #'DynamicText
1259       \markup { 1. \bold Forte }
1260
1261     \footnote
1262       \markup { \teeny b } #'(0 . 1.5) #'Slur
1263       \markup { b. A slur }
1264     a'4\f(
1265
1266     \footnote
1267       \markup { \teeny 3 } #'(0 . -2) #'Beam
1268       \markup { 3. Beam }
1269     b8)[ e]
1270
1271     \footnote
1272       \markup { 4 } #'(1 . -1) #'Stem
1273       \markup  { \bold 4. { This is a stem } }
1274     c4
1275
1276     \footnote
1277       \markup \concat \teeny { "sharp (v)" } #'(0 . 0.5) #'AccidentalCautionary
1278       \markup \italic { v. A cautionary accidental }
1279
1280     \footnote
1281       \markup \concat \teeny { "a" } #'(0.5 . -0.5) #'TextScript
1282       \markup \italic { a. Slow Down }
1283     dis?4_"rit."
1284
1285     \breathe
1286     \footnote
1287       \markup { \teeny \musicglyph #"rests.4" } #'(1.5 . -0.25) #'BreathingSign
1288       \markup { \null }
1289   }
1290 }
1291 @end lilypond
1292
1293 Para anotar manualmente un elemento @code{\markup} del nivel superior:
1294
1295 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1296 \book {
1297   \header { tagline = ##f }
1298   \markup { "A simple tune" \footnote "*" \italic "* By me" }
1299   \relative c' {
1300     a'4 b8 e c4 d4
1301   }
1302 }
1303 @end lilypond
1304
1305 @seealso
1306 Manual de aprendizaje:
1307 @rlearning{Objetos e interfaces}.
1308
1309 Referencia de la notación:
1310 @ref{Globos de ayuda},
1311 @ref{Disposición de la página},
1312 @ref{Indicaciones de texto},
1313 @ref{Guiones de texto},
1314 @ref{Títulos y cabeceras}.
1315
1316 Referencia de funcionamiento interno:
1317 @rinternals{FootnoteEvent},
1318 @rinternals{FootnoteItem},
1319 @rinternals{FootnoteSpanner},
1320 @rinternals{Footnote_engraver}.
1321
1322 @knownissues
1323 Varias notas al pie en la misma página solo pueden ir apiladas unas
1324 sobre otras, y no se pueden imprimir en la misma línea.  Las notas al
1325 pie no se pueden adjuntar a elementos de silencio multicompás
1326 @code{MultiMeasureRests}, y pueden colisionar con el objeto
1327 @code{Staff}, objetos de @code{\markup} y otras anotaciones
1328 @code{footnote}.  Cuando use una cualquiera de las instrucciones
1329 @code{footnote} se requiere un bloque @code{\paper} que contenga
1330 @code{footnote-auto-number = ##f}.
1331
1332
1333 @node Referencia a números de página
1334 @subsection Referencia a números de página
1335 @translationof Reference to page numbers
1336
1337 Un lugar determinado de una partitura puede señalizarse usando la
1338 instrucción @code{\label} (etiqueta), ya sea en el nivel superior o
1339 dentro de la música.  Podemos referirnos a esta etiqueta más tarde
1340 dentro de un elemento de marcado, para obtener el número de la página
1341 en la que se sitúa el punto señalizado, usando la instrucción de
1342 marcado @code{\page-ref}.
1343
1344 @lilypond[verbatim]
1345 \header { tagline = ##f }
1346 \book {
1347   \label #'firstScore
1348   \score {
1349     {
1350       c'1
1351       \pageBreak \mark A \label #'markA
1352       c'1
1353     }
1354   }
1355   \markup { The first score begins on page \page-ref #'firstScore "0" "?" }
1356   \markup { Mark A is on page \page-ref #'markA "0" "?" }
1357 }
1358 @end lilypond
1359
1360 La instrucción de marcado @code{\page-ref} toma tres argumentos:
1361 @enumerate
1362 @item la etiqueta, un símbolo de scheme, p.ej. @code{#'firstScore};
1363 @item un elemento de marcado que se usará como medidor para estimar las dimensiones del marcado;
1364 @item un elemento de marcado que se utilizará en sustitución del número de página si la etiqueta es desconocida.
1365 @end enumerate
1366
1367 El motivo de que se necesite un medidor es que en el momento en que se
1368 están interpretando los marcados, los saltos de página aún no se han
1369 producido y por tanto los números de página no se conocen todavía.
1370 Para sortear este inconveniente, la interpretación real del marcado se
1371 retrasa hasta un momento posterior; sin embargo, las dimensiones del
1372 marcado se tienen que conocer de antemano, así que se usa el medidor
1373 para decidir estas dimensiones.  Si el libro tiene entre 10 y 99
1374 páginas, el medidor puede ser "00", es decir, un número de dos
1375 dígitos.
1376
1377
1378 @predefined
1379 @funindex \label
1380 @code{\label},
1381 @funindex \page-ref
1382 @code{\page-ref}.
1383 @endpredefined
1384
1385
1386 @node Índice general
1387 @subsection Índice general
1388 @translationof Table of contents
1389
1390 Se puede insertar un índice general o tabla de contenidos utilizando
1391 la instrucción @code{\markuplist \table-of-contents}.  Los elementos
1392 que deben aparecer en la tabla de contenidos se introducen con la
1393 instrucción @code{\tocItem}, que se puede usar en el nivel más alto de
1394 la jerarquía del código, o dentro de una expresión musical.
1395
1396 @verbatim
1397 \markuplist \table-of-contents
1398 \pageBreak
1399
1400 \tocItem \markup "Primera partitura"
1401 \score {
1402   {
1403     c'4  % ...
1404     \tocItem \markup "Un punto concreto dentro de la primera partitura"
1405     d'4  % ...
1406   }
1407 }
1408
1409 \tocItem \markup "Segunda partitura"
1410 \score {
1411   {
1412     e'4 % ...
1413   }
1414 }
1415 @end verbatim
1416
1417 Los elementos de marcado que se usan para dar formato al índice
1418 general se encuentran definidos dentro del bloque @code{\paper}.  Los
1419 elementos predeterminados son @code{tocTitleMarkup}, para dar formato
1420 al título de la tabla, y @code{tocItemMarkup}, para aplicar formato a
1421 los elementos del índice, que consisten en el título del elemento y el
1422 número de página.  Estas variables se pueden cambiar por parte del
1423 usuario:
1424
1425 @verbatim
1426 \paper {
1427   %% Traducir el título del índice al español:
1428   tocTitleMarkup = \markup \huge \column {
1429     \fill-line { \null "Índice general" \null }
1430     \hspace #1
1431   }
1432   %% usar una fuente mayor
1433   tocItemMarkup = \markup \large \fill-line {
1434     \fromproperty #'toc:text \fromproperty #'toc:page
1435   }
1436 }
1437 @end verbatim
1438
1439 Observe la forma en que nos referimos al texto y al número de página
1440 del elemento de índice, dentro de la definición @code{tocItemMarkup}.
1441
1442 También se pueden definir nuevas instrucciones y elementos de
1443 marcado para crear índices generales más elaborados:
1444 @itemize
1445 @item en primer lugar, defina una variable de marcado nueva dentro del bloque @code{\paper}
1446 @item luego defina una función de música cuyo propósito es añadir un elemento al índice general
1447 utilizando esta variable de marcado del bloque @code{\paper}.
1448 @end itemize
1449
1450 En el ejemplo siguiente se define un estilo nuevo para introducir los
1451 nombres de los actos de una ópera en el índice general:
1452
1453 @verbatim
1454 \paper {
1455   tocActMarkup = \markup \large \column {
1456     \hspace #1
1457     \fill-line { \null \italic \fromproperty #'toc:text \null }
1458     \hspace #1
1459   }
1460 }
1461
1462 tocAct =
1463 #(define-music-function (parser location text) (markup?)
1464    (add-toc-item! 'tocActMarkup text))
1465 @end verbatim
1466
1467 @lilypond[line-width=11.0\cm]
1468 \header { tagline = ##f }
1469 \paper {
1470   tocActMarkup = \markup \large \column {
1471     \hspace #1
1472     \fill-line { \null \italic \fromproperty #'toc:text \null }
1473     \hspace #1
1474   }
1475 }
1476
1477 tocAct =
1478 #(define-music-function (parser location text) (markup?)
1479    (add-toc-item! 'tocActMarkup text))
1480
1481 \book {
1482   \markuplist \table-of-contents
1483   \tocAct \markup { Atto Primo }
1484   \tocItem \markup { Coro. Viva il nostro Alcide }
1485   \tocItem \markup { Cesare. Presti omai l'Egizzia terra }
1486   \tocAct \markup { Atto Secondo }
1487   \tocItem \markup { Sinfonia }
1488   \tocItem \markup { Cleopatra. V'adoro, pupille, saette d'Amore }
1489   \markup \null
1490 }
1491 @end lilypond
1492
1493 Se pueden añadir puntos de relleno entre un elemento y su número de página:
1494
1495 @lilypond[verbatim,quote]
1496 \header { tagline = ##f }
1497 \paper {
1498   tocItemMarkup = \tocItemWithDotsMarkup
1499 }
1500
1501 \book {
1502   \markuplist \table-of-contents
1503   \tocItem \markup { Allegro }
1504   \tocItem \markup { Largo }
1505   \markup \null
1506 }
1507 @end lilypond
1508
1509
1510 @seealso
1511 Archivos de inicio:
1512 @file{../ly/toc-init.ly}.
1513
1514
1515 @predefined
1516 @funindex \table-of-contents
1517 @code{\table-of-contents},
1518 @funindex \tocItem
1519 @code{\tocItem}.
1520 @endpredefined
1521
1522
1523 @node Trabajar sobre los archivos de entrada
1524 @section Trabajar sobre los archivos de entrada
1525 @translationof Working with input files
1526
1527 @menu
1528 * Inclusión de archivos de LilyPond::
1529 * Distintas ediciones a partir de una misma fuente::
1530 * Caracteres especiales::
1531 @end menu
1532
1533
1534 @node Inclusión de archivos de LilyPond
1535 @subsection Inclusión de archivos de LilyPond
1536 @translationof Including LilyPond files
1537
1538 @funindex \include
1539 @cindex including files
1540
1541 Un proyecto grande se puede dividir en varios archivos.  Para
1542 referirse a otro archivo, utilice
1543
1544 @example
1545 \include "otroarchivo.ly"
1546 @end example
1547
1548 La línea @code{\include "otroarchivo.ly"} equivale a pegar todo el
1549 contenido de @file{otroarchivo.ly} en el archivo actual en el lugar en
1550 que aparece el @code{\include}.  Por ejemplo, en un proyecto grande
1551 podríamos querer archivos distintos para cada parte instrumental y
1552 crear un archivo de @qq{partitura completa} que reúne los archivos
1553 individuales de los instrumentos.  Normalmente el archivo incluido
1554 define un cierto número de variables que a partir de entonces quedan
1555 disponibles para poderlas utilizar en el archivo de la partitura
1556 completa.  En los archivos incluidos se pueden marcar las secciones
1557 etiquetadas para ayudar a hacerlas utilizables en distintos lugares de
1558 la partitura, véase @ref{Distintas ediciones a partir de una misma fuente}.
1559
1560 Los archivos que están en el directorio de trabajo actual se pueden
1561 referenciar simplemente especificando el nombre después de la
1562 instrucción @code{\include}.  Los archivos en otros lugares se pueden
1563 incluir proporcionando una referencia de ruta completa o una ruta
1564 relativa (pero utilice la barra inclinada normal del UNIX, /, no la
1565 barra invertida de DOS/Windows, \, como separador de directorio).  Por
1566 ejemplo, si @file{material.ly} está situado un directorio por encima
1567 del directorio de trabajo actual, utilice
1568
1569 @example
1570 \include "../material.ly"
1571 @end example
1572
1573 @noindent
1574 o si los archivos de las partes orquestales incluidas están todos
1575 situados en un subdirectorio llamado @file{partes} dentro del
1576 directorio actual, use
1577
1578 @example
1579 \include "partes/VI.ly"
1580 \include "partes/VII.ly"
1581 ... etc.
1582 @end example
1583
1584 Los archivos de inclusión también pueden contener enunciados
1585 @code{\include} a su vez.  De forma predeterminada, estos enunciados
1586 @code{\include} de segundo nivel no se interpretan hasta que se
1587 incorporan al archivo principal, por lo que los nombres de archivo que
1588 especifican deben ser relativos al directorio que contiene el archivo
1589 principal, no al directorio que contiene el archivo incluido.  Sin
1590 embargo, este comportamiento se puede modificar pasando la opción
1591 @option{-drelative-includes} en la línea de órdenes (o mediante la
1592 adición de @code{#(ly:set-option 'relative-includes #t)} al principio
1593 del archivo principal de entrada).  Con el valor de
1594 @code{relative-includes} establecido, la ruta de cada instrucción
1595 @code{\include} se considera relativa al archivo que contiene dicha
1596 instrucción.  Este comportamiento es el recomendado y se convertirá en
1597 el comportamiento predeterminado en una versión futura de lilypond.
1598
1599 También se pueden incluir archivos de un directorio que está en una
1600 ruta de búsqueda especificada como opción al invocar a LilyPond desde
1601 la línea de órdenes.  Los archivos incluidos se especifican usando
1602 solamente su nombre de archivo.  Por ejemplo, para compilar mediante
1603 este método un archivo @file{principal.ly} que incluye archivos
1604 situados en un subdirectorio llamado @file{partes}, cambie al
1605 directorio que contiene @file{principal.ly} e introduzca
1606
1607 @example
1608 lilypond --include=partes principal.ly
1609 @end example
1610
1611 y en @file{principal.ly} escriba
1612
1613 @example
1614 \include "VI.ly"
1615 \include "VII.ly"
1616 ... etc.
1617 @end example
1618
1619 Los archivos que se incluyen en muchas partituras se pueden poner en
1620 el directorio de LilyPond @file{../ly} (la localización de este
1621 directorio depende de la instalación: véase
1622 @rlearning{Otras fuentes de información}).  Estos archivos se pueden
1623 incluir sencillamente por su nombre en un enunciado @code{\include}.
1624 De esta forma se incluyen los archivos dependientes del idioma como
1625 @file{espanol.ly}.
1626
1627 LilyPond incluye de forma predeterminada ciertos archivos cuando se
1628 inicia el programa.  Estas inclusiones no son visibles para el
1629 usuario, pero los archivos se pueden identificar ejecutando
1630 @code{lilypond --verbose} desde la línea de órdenes.  Esto presentará
1631 una lista de rutas y archivos que utiliza LilyPond, junto a muchas
1632 otras indicaciones.  De forma alternativa, pueden verse explicaciones
1633 sobre los archivos más importantes de este conjunto en
1634 @rlearning{Otras fuentes de información}.  Estos archivos se pueden
1635 editar, pero los cambios realizados sobre ellos se perderán al
1636 instalar una nueva versión de LilyPond.
1637
1638 Pueden verse ejemplos sencillos sobre el uso de @code{\include} en
1639 @rlearning{Partituras y particellas}.
1640
1641
1642 @seealso
1643 Manual de aprendizaje:
1644 @rlearning{Otras fuentes de información},
1645 @rlearning{Partituras y particellas}.
1646
1647 @knownissues
1648 Si un archivo incluido recibe un nombre igual al de uno de los
1649 archivos de instalación de LilyPond, el archivo que tiene prioridad es
1650 el de los archivos de instalación de LilyPond.
1651
1652
1653 @node Distintas ediciones a partir de una misma fuente
1654 @subsection Distintas ediciones a partir de una misma fuente
1655 @translationof Different editions from one source
1656
1657 Se pueden usar varios métodos para generar la producción de distintas
1658 versiones de una partitura a partir de la misma fuente musical.  Las
1659 variables son quizá el más útil para combinar secciones extensas de
1660 música y/o anotaciones.  Las etiquetas son más útiles para seleccionar
1661 una sección de entre varias secciones de música alternativas, más
1662 cortas, y se pueden usar también para dividir piezas de música en
1663 distintos trozos.
1664
1665 Cualquiera que sea el método utilizado, la separación de la notación
1666 de la estructura de la partitura hará que sea más fácil cambiar la
1667 estructura dejando intacta la notación.
1668
1669
1670 @menu
1671 * Uso de las variables::
1672 * Uso de etiquetas::
1673 * Uso de ajustes globales::
1674 @end menu
1675
1676 @node Uso de las variables
1677 @unnumberedsubsubsec Uso de las variables
1678 @translationof Using variables
1679
1680 @cindex variables, uso de las
1681
1682 Si las secciones de la música se definen dentro de variables, se
1683 pueden reutilizar en distintas partes de la partitura, véase
1684 @rlearning{Organizar las piezas mediante variables}.  Por ejemplo, una
1685 partitura vocal @notation{a cappella} con frecuencia incluye una
1686 reducción de piano de las partes para ensayar que es idéntica a la
1687 música vocal, por lo que ésta sólo se tiene que escribir una vez.  Se
1688 puede combinar sobre un solo pentagrama la música de dos variables,
1689 véase @ref{Combinación automática de las partes}.  He aquí un ejemplo:
1690
1691 @lilypond[verbatim,quote]
1692 sopranoMusic = \relative c'' { a4 b c b8( a) }
1693 altoMusic = \relative g' { e4 e e f }
1694 tenorMusic = \relative c' { c4 b e d8( c) }
1695 bassMusic = \relative c' { a4 gis a d, }
1696 allLyrics = \lyricmode {King of glo -- ry }
1697 <<
1698   \new Staff = "Soprano" \sopranoMusic
1699   \new Lyrics \allLyrics
1700   \new Staff = "Alto" \altoMusic
1701   \new Lyrics \allLyrics
1702   \new Staff = "Tenor" {
1703     \clef "treble_8"
1704     \tenorMusic
1705   }
1706   \new Lyrics \allLyrics
1707   \new Staff = "Bass" {
1708     \clef "bass"
1709     \bassMusic
1710   }
1711   \new Lyrics \allLyrics
1712   \new PianoStaff <<
1713     \new Staff = "RH" {
1714       \set Staff.printPartCombineTexts = ##f
1715       \partcombine
1716       \sopranoMusic
1717       \altoMusic
1718     }
1719     \new Staff = "LH" {
1720       \set Staff.printPartCombineTexts = ##f
1721       \clef "bass"
1722       \partcombine
1723       \tenorMusic
1724       \bassMusic
1725     }
1726   >>
1727 >>
1728 @end lilypond
1729
1730 Se pueden producir partituras distintas que presenten sólo las partes
1731 vocales o sólo la parte de piano, cambiando solamente los enunciados
1732 estructurales, sin modificar la notación musical.
1733
1734 Para partituras extensas, las definiciones de variable se pueden poner
1735 en archivos separados que se incluyen más tarde, véase @ref{Inclusión de archivos de LilyPond}.
1736
1737
1738 @node Uso de etiquetas
1739 @unnumberedsubsubsec Uso de etiquetas
1740 @translationof Using tags
1741
1742 @funindex \tag
1743 @funindex \keepWithTag
1744 @funindex \removeWithTag
1745 @funindex \pushToTag
1746 @funindex \appendToTag
1747 @cindex etiqueta
1748 @cindex mantener música etiquetada
1749 @cindex quitar música etiquetada
1750 @cindex división en música etiquetada
1751
1752 La instrucción @code{\tag #'@var{parteA}} marca una expresión musical
1753 con el nombre @var{parteA}.  Las expresiones etiquetadas de esta
1754 manera se pueden seleccionar o filtrar más tarde por su nombre, usando
1755 bien @code{\keepWithTag #'@var{nombre}} o bien @code{\removeWithTag
1756 #'@var{nombre}}.  El resultado de la aplicación de estos filtros a la
1757 música etiquetada es como sigue:
1758
1759 @multitable @columnfractions .5 .5
1760 @headitem Filtro
1761   @tab Resultado
1762 @item
1763 Música etiquetada precedida de @code{\keepWithTag #'@var{nombre}}
1764 @tab
1765 Se incluye la música no etiquetada y la música etiquetada con
1766 @var{nombre}; se excluye la música etiquetada con cualquier otro
1767 nombre de etiqueta.
1768 @item
1769 Música etiquetada precedida de @code{\removeWithTag #'@var{nombre}}
1770 @tab
1771 Se incluye la música no etiquetada y la música etiquetada con
1772 cualquier nombre de etiqueta distinto a @var{nombre}; se excluye la
1773 música etiquetada con @var{nombre}.
1774 @item
1775 Música etiquetada no precedida de @code{\keepWithTag} ni de
1776 @code{\removeWithTag}
1777 @tab Se incluye toda la música etiquetada y no etiquetada.
1778 @end multitable
1779
1780 Los argumentos de las instrucciones @code{\tag}, @code{\keepWithTag} y
1781 @code{\removeWithTag} deben ser un símbolo (como @code{#'partitura} o
1782 @code{#'parte}), seguido de una expresión musical.
1783
1784 En el ejemplo siguiente vemos dos versiones de una pieza musical, una
1785 que muestra trinos con la notación usual y otra con los trinos
1786 expandidos explícitamente:
1787
1788 @lilypond[verbatim,quote]
1789 music = \relative g' {
1790   g8. c32 d
1791   \tag #'trills { d8.\trill }
1792   \tag #'expand { \repeat unfold 3 { e32 d } }
1793   c32 d
1794  }
1795
1796 \score {
1797   \keepWithTag #'trills \music
1798 }
1799 \score {
1800   \keepWithTag #'expand \music
1801 }
1802 @end lilypond
1803
1804 @noindent
1805 De forma alternativa, a veces es más fácil excluir secciones de música:
1806
1807 @lilypond[verbatim,quote]
1808 music = \relative g' {
1809   g8. c32 d
1810   \tag #'trills { d8.\trill }
1811   \tag #'expand {\repeat unfold 3 { e32 d } }
1812   c32 d
1813  }
1814
1815 \score {
1816   \removeWithTag #'expand
1817   \music
1818 }
1819 \score {
1820   \removeWithTag #'trills
1821   \music
1822 }
1823 @end lilypond
1824
1825 El filtrado con etiquetas se puede aplicar a articulaciones, textos,
1826 etc. anteponiendo
1827
1828 @example
1829 -\tag #'@var{mi-etiqueta}
1830 @end example
1831
1832 a una articulación.  Por ejemplo, esto define una nota con una
1833 indicación opcional de digitación y una nota con una anotación
1834 condicional:
1835
1836 @example
1837 c1-\tag #'finger ^4
1838 c1-\tag #'warn ^"¡Ojo!"
1839 @end example
1840
1841 Se pueden poner varias etiquetas sobre expresiones con varias entradas
1842 de @code{\tag}:
1843
1844 @lilypond[quote,verbatim]
1845 music = \relative c'' {
1846   \tag #'a \tag #'both { a4 a a a }
1847   \tag #'b \tag #'both { b4 b b b }
1848 }
1849 <<
1850 \keepWithTag #'a \music
1851 \keepWithTag #'b \music
1852 \keepWithTag #'both \music
1853 >>
1854 @end lilypond
1855
1856 Se pueden aplicar varios filtros @code{\removeWithTag} a una sola
1857 expresión musical para quitar varias secciones etiquetadas con nombres
1858 distintos:
1859
1860 @lilypond[verbatim,quote]
1861 music = \relative c'' {
1862 \tag #'A { a4 a a a }
1863 \tag #'B { b4 b b b }
1864 \tag #'C { c4 c c c }
1865 \tag #'D { d4 d d d }
1866 }
1867 {
1868 \removeWithTag #'B
1869 \removeWithTag #'C
1870 \music
1871 }
1872 @end lilypond
1873
1874 Dos o más filtros @code{\keepWithTag} aplicados a una sola expresión
1875 musical producen la eliminación de @emph{todas} las secciones
1876 etiquetadas, porque el primer filtro quita todas las secciones
1877 etiquetadas excepto la que se nombra, y el segundo filtro elimina
1878 incluso esa sección etiquetada.
1879
1880 A vecespodemos desear dividir la música en un determinado lugar dentro
1881 de una expresión musical existente.  Podemos usar @code{\pushToTag} y
1882 @code{\appendToTag} para añadir material delante o al final de los
1883 @code{elements} de una construcción musical existente.  No toda
1884 construcción musical tiene la parte @code{elements}, pero las músicas
1885 secuenciaes y simultáneas son dos apuestas seguras:
1886
1887 @lilypond[verbatim,quote]
1888 test = { \tag #'here { \tag #'here <<c''>> } }
1889
1890 {
1891   \pushToTag #'here c'
1892   \pushToTag #'here e'
1893   \pushToTag #'here g' \test
1894   \appendToTag #'here c'
1895   \appendToTag #'here e'
1896   \appendToTag #'here g' \test
1897 }
1898 @end lilypond
1899
1900 Las dos instrucciones admiten una etiqueta, el material que dividir en
1901 cada ocurrencia de la etiqueta, y la expresión etiquetada.  Las
1902 instrucciones aseguran que se copia todo lo que cambian, de forma que
1903 el código original @code{\test} retiene su significado.
1904
1905 @seealso
1906 Manual de aprendizaje:
1907 @rlearning{Organizar las piezas mediante variables}.
1908
1909 Referencia de la notación:
1910 @ref{Combinación automática de las partes},
1911 @ref{Inclusión de archivos de LilyPond}.
1912
1913
1914 @ignore
1915 @c This warning is more general than this placement implies.
1916 @c Rests are not merged whether or not they come from tagged sections.
1917 @c Should be deleted?  -td
1918
1919
1920 @knownissues
1921
1922 Multiple rests are not merged if you create a score with more
1923 than one tagged section at the same place.
1924
1925 @end ignore
1926
1927 @node Uso de ajustes globales
1928 @unnumberedsubsubsec Uso de ajustes globales
1929 @translationof Using global settings
1930
1931 @cindex include-settings
1932
1933 Se pueden incluir ajustes globales a partir de un archivo distinto:
1934
1935 @example
1936 lilypond -dinclude-settings=MIS_AJUSTES.ly MI_PARTITURA.ly
1937 @end example
1938
1939 En archivos diferentes se pueden almacenar  grupos de ajustes como
1940 el tamaño de la página o las fuentes tipográficas.  Ello permite
1941 hacer diferentes ediciones de la mism a partitura así como aplicar
1942 ajustes estándar a muchas partituras, simplemente por medio de la
1943 especificación del archivo de ajustes adecuado.
1944
1945 Esta técnica también funciona bien con el uso de hojas de estilo,
1946 como se estudia en @rlearning{Hojas de estilo}.
1947
1948 @seealso
1949 Manual de aprendizaje:
1950 @rlearning{Organizar las piezas mediante variables},
1951 @rlearning{Hojas de estilo}.
1952
1953 Referencia de la notación:
1954 @ref{Inclusión de archivos de LilyPond}.
1955
1956 @node Caracteres especiales
1957 @subsection Caracteres especiales
1958 @translationof Special characters
1959
1960 @cindex caracteres especiales
1961 @cindex caracteres no ASCII
1962
1963 @menu
1964 * Codificación del texto::
1965 * Unicode::
1966 * Alias de ASCII::
1967 @end menu
1968
1969
1970 @node Codificación del texto
1971 @unnumberedsubsubsec Codificación del texto
1972 @translationof Text encoding
1973
1974 @cindex UTF-8
1975
1976 LilyPond usa el conjunto de caracteres definido por el consorcio
1977 Unicode y la norma ISO/IEC 10646.  Define un nombre único y un código
1978 para los conjuntos de caracteres que se utilizan en prácticamente
1979 todos los idiomas modernos y también en muchos otros.  Unicode se
1980 puede implementar utilizando varios esquemas de codificación
1981 distintos.  LilyPond usa la codificación UTF-8 (UTF son las siglas de
1982 @emph{Unicode Transformation Format}, o formato de transformación de
1983 Unicode) que representa todos los caracteres comunes de Latin en un
1984 solo byte, y representa otros caracteres usando un formato de longitud
1985 variable de hasta cuatro bytes.
1986
1987 El aspecto visual real de los caracteres viene determinado por los
1988 glifos que se definen en las fuentes tipográficas concretas que se
1989 tengan disponibles: una fuente tipográfica define la asignación de un
1990 subconjunto de los códigos de Unicode a glifos.  LilyPond usa la
1991 biblioteca Pango para representar y disponer tipográficamente textos
1992 multilingües.
1993
1994 LilyPond no realiza ninguna conversión en la codificación de la
1995 entrada.  Esto significa que cualquier text, ya sea el título, la
1996 letra de la canción o una instrucción musical que contenga caracteres
1997 distintos a los del conjunto ASCII, se deben codificar en UTF-8.  La
1998 forma más fácil de escribir dicho texto es utilizar un editor
1999 preparado para Unicode y guardar el archivo con la codificación UTF-8.
2000 Casi todos los editores modernos populares contemplan el UTF-8, por
2001 ejemplo lo hacen vim, Emacs, jEdit, y GEdit.  Todos los sistemas MS
2002 Windows posteriores a NT usan Unicode como codificación de caracteres
2003 nativa, de manera que incluso el accesorio Bloc de Notas (Notepad)
2004 puede editar y guardar un archivo en el formato UTF-8.  Una
2005 alternativa más funcional para Windows es BabelPad.
2006
2007 Si un archivo de entrada que contiene un carácter que no es ASCII, no
2008 se guarda en el formato UTF-8, se genera el mensaje de error
2009
2010 @example
2011 FT_Get_Glyph_Name () error: argumento inválido
2012 @end example
2013
2014 He aquí un ejemplo que muestra texto cirílico, hebreo y portugués:
2015
2016 @lilypond[quote]
2017 %c No verbatim here as the code does not display correctly in PDF
2018 % Cyrillic
2019 bulgarian = \lyricmode {
2020   Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
2021 }
2022
2023 % Hebrew
2024 hebrew = \lyricmode {
2025   זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
2026 }
2027
2028 % Portuguese
2029 portuguese = \lyricmode {
2030   à vo -- cê uma can -- ção legal
2031 }
2032
2033 \relative c' {
2034   c2 d e f g f e
2035 }
2036 \addlyrics { \bulgarian }
2037 \addlyrics { \hebrew }
2038 \addlyrics { \portuguese }
2039 @end lilypond
2040
2041
2042 @node Unicode
2043 @unnumberedsubsubsec Unicode
2044
2045 @cindex Unicode
2046
2047 Para introducir un carácter aislado para el que se conoce el punto de
2048 código Unicode pero no está disponible en el editor que se está
2049 usando, use @code{\char ##xhhhh} o bien @code{\char #dddd} dentro de
2050 un bloque @code{\markup}, donde @code{hhhh} es el código hexadecimal
2051 del carácter en cuestión y @code{dddd} es su valor decimal
2052 correspondiente.  Pueden omitirse los ceros iniciales, pero es
2053 costumbre indicar los cuatro caracteres en la representación
2054 hexadecimal (observe que @emph{no} debe utilizarse la codificación
2055 UTF-8 del punto de código Unicode después de @code{\char}, pues la
2056 codificación UTF-8 contiene bits adicionales que indican el número de
2057 octetos).  Hay tablas de códigos Unicode y un índice de nombres de
2058 caracteres que da el punto de código en hexadecimal para cualquier
2059 carácter en el portal del Consorcio Unicode,
2060 @uref{http://www.unicode.org/}.
2061
2062
2063 Por ejemplo, tanto @code{\char ##x03BE} como @code{\char #958}
2064 insertan el carácter Unicode U+03BE, que tiene el nombre Unicode
2065 @qq{Letra griega Xi pequeña}.
2066
2067 Se puede escribir de esta forma cualquier punto de código Unicode, y
2068 si todos los caracteres especiales se escriben en este formato no es
2069 necesario guardar el archivo de entrada en formato UTF-8.  Por
2070 supuesto, debe estar instalada y estar disponible para LilyPond una
2071 fuente tipográfica que contenga codificados todos estos caracteres.
2072
2073 El ejemplo siguiente muestra valores hexadecimales Unicode que se usan
2074 en cuatro lugares: en una llamada de ensayo, como texto de
2075 articulación, en la letra y como texto independiente bajo la
2076 partitura:
2077
2078 @lilypond[quote,verbatim]
2079 \score {
2080   \relative c'' {
2081     c1 \mark \markup { \char ##x03EE }
2082     c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } }
2083   }
2084   \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } }
2085 }
2086 \markup { "Copyright 2008--2012" \char ##x00A9 }
2087 @end lilypond
2088
2089 @cindex copyright, símbolo de
2090
2091 Para escribir el símbolo de copyright en la nota de créditos, utilice:
2092
2093 @example
2094 \header @{
2095   copyright = \markup @{ \char ##x00A9 "2008" @}
2096 @}
2097 @end example
2098
2099
2100 @node Alias de ASCII
2101 @unnumberedsubsubsec Alias de ASCII
2102 @translationof ASCII aliases
2103
2104 Se puede incluir una lista de alias de ASCII para caracteres
2105 especiales:
2106
2107 @lilypond[quote,verbatim]
2108 \paper {
2109   #(include-special-characters)
2110 }
2111
2112 \markup "&flqq; &ndash; &OE;uvre incomplète&hellip; &frqq;"
2113
2114 \score {
2115   \new Staff { \repeat unfold 9 a'4 }
2116   \addlyrics {
2117     This is al -- so wor -- kin'~in ly -- rics: &ndash;_&OE;&hellip;
2118   }
2119 }
2120
2121 \markup \column {
2122   "The replacement can be disabled:"
2123   "&ndash; &OE; &hellip;"
2124   \override #'(replacement-alist . ()) "&ndash; &OE; &hellip;"
2125 }
2126 @end lilypond
2127
2128 También podemos hacer nuestros propios alias, ya sea de forma global:
2129
2130 @lilypond[quote,verbatim]
2131 \paper {
2132   #(add-text-replacements!
2133     '(("100" . "hundred")
2134       ("dpi" . "dots per inch")))
2135 }
2136 \markup "A 100 dpi."
2137 @end lilypond
2138
2139 o local:
2140
2141 @lilypond[quote,verbatim]
2142 \markup \replace #'(("100" . "hundred")
2143                     ("dpi" . "dots per inch")) "A 100 dpi."
2144 @end lilypond
2145
2146 @seealso
2147 Referencia de la notación:
2148 @ref{Lista de caracteres especiales}.
2149
2150 Archivos instalados:
2151 @file{ly/text-replacements.ly}.
2152
2153
2154
2155 @node Controlar la salida
2156 @section Controlar la salida
2157 @translationof Controlling output
2158
2159 @menu
2160 * Extracción de fragmentos de música::
2161 * Saltar la música corregida::
2162 * Formatos de salida alternativos::
2163 * Sustituir la tipografía de la notación::
2164 @end menu
2165
2166 @node Extracción de fragmentos de música
2167 @subsection Extracción de fragmentos de música
2168 @translationof Extracting fragments of music
2169
2170 Es posible citar pequeños fragmentos de una partitura grande
2171 directamente a partir de la salida.  Puede compararse con la
2172 separación de una pieza de una partitura, recortándola con tijeras.
2173
2174 Esto se hace definiendo los compases que se deben recortar.  Por
2175 ejemplo, la inclusión de la siguiente definición
2176
2177 @verbatim
2178 \layout {
2179   clip-regions
2180   = #(list
2181       (cons
2182        (make-rhythmic-location 5 1 2)
2183        (make-rhythmic-location 7 3 4)))
2184 }
2185 @end verbatim
2186
2187 @noindent
2188 extrae un fragmento empezando por la mitad del quinto compás y
2189 finalizando en el séptimo compás.  El significado de @code{5 1 2} es:
2190 después de una blanca (1/2) en el compás 5, y el de @code{7 3 4}
2191 después de tres negras del compás 7.
2192
2193 Se pueden definir más zonas de recorte añadiendo más parejas de
2194 definición de tiempo rhythmic-location a la lista.
2195
2196 Para poder utilizar esta funcionalidad, LilyPond se debe invocar con
2197 la opción @option{-dclip-systems}.  Los recortes aparecen en la salida
2198 como archivos EPS, y se convierten en PDF y PNG si estos formatos
2199 también están activados.
2200
2201 Para ver más información sobre los formatos de salida, consulte
2202 @rprogram{Invocar a LilyPond}.
2203
2204
2205 @node Saltar la música corregida
2206 @subsection Saltar la música corregida
2207 @translationof Skipping corrected music
2208
2209 @funindex skipTypesetting
2210 @funindex showFirstLength
2211 @funindex showLastLength
2212
2213 Al escribir o copiar música, normalmente sólo es interesante de ver y
2214 corregir la música cercana al final (donde estamos añadiendo las
2215 notas).  Para acelerar este proceso de corrección, es posible saltar
2216 la composición tipográfica de todos excepto unos pocos de los últimos
2217 compases.  Esto se consigue poniendo
2218
2219 @verbatim
2220 showLastLength = R1*5
2221 \score { ... }
2222 @end verbatim
2223
2224 @noindent
2225 en nuestro archivo fuente.  Esto hará que se tracen sólo los últimos
2226 cinco compases (suponiendo un compás de 4/4) de cada una de las
2227 partituras @code{\score} del archivo de entrada.  Para piezas largas,
2228 el tipografiado de únicamente una parte pequeña es con frecuencia un
2229 orden de magnitud más rápido que el de la obra completa.  Si estamos
2230 trabajando sobre el principio de una partitura que ya hemos
2231 tipografiado (p.ej., para añadir una parte instrumental nueva),
2232 también puede ser útil la propiedad @code{showFirstLength}.
2233
2234 Este mecanismo de pasar por alto partes de un partitura se puede
2235 controlar con un grano más fino mediante la propiedad
2236 @code{Score.skipTypesetting}.  Cuando su valor está establecido, no se
2237 lleva a cabo ningún tipografiado en absoluto.
2238
2239 Esta propiedad se usa también para controlar la salida al archivo
2240 MIDI.  Observe que pasa por alto todos los eventos, incluidos el tempo
2241 y los cambios de instrumento.  Está usted advertido.
2242
2243 @lilypond[quote,relative=2,ragged-right,verbatim]
2244 c8 d
2245 \set Score.skipTypesetting = ##t
2246 e8 e e e e e e e
2247 \set Score.skipTypesetting = ##f
2248 c8 d b bes a g c2
2249 @end lilypond
2250
2251 En música polifónica, @code{Score.skipTypesetting} afecta a todas las
2252 voces y pentagramas, ahorrando más tiempo incluso.
2253
2254 @node Formatos de salida alternativos
2255 @subsection Formatos de salida alternativos
2256 @translationof Alternative output formats
2257
2258 @cindex salida de gráficos de vector escalables
2259 @cindex SVG, salida
2260 @cindex salida de PostScript encapsulado
2261 @cindex EPS, salida
2262 @cindex PostScript encapsulado, salida de
2263
2264 Los formatos de salida predeterminados para la partitura impresa son
2265 el formato de documento portátil (PDF) y PostScript (PS).  Los
2266 formatos de salida Gráficos de vector escalables (SVG), PostScript
2267 encapsulado (EPS) y Gráficos de red portátiles (PNG) también están
2268 disponibles a través de opciones de la línea de órdenes, véase
2269 @rprogram{Opciones de la línea de órdenes para lilypond}.
2270
2271
2272 @node Sustituir la tipografía de la notación
2273 @subsection Sustituir la tipografía de la notación
2274 @translationof Replacing the notation font
2275
2276 Gonville es una alternativa a la tipografía Feta que se utiliza en
2277 LilyPond y se puede descargar de:
2278 @example
2279 @uref{http://www.chiark.greenend.org.uk/~sgtatham/gonville/ ,http://www.chiark.greenend.org.uk/~sgtatham/gonville/}
2280 @end example
2281
2282 Aquí presentamos algunos compases de muestra tipografiados con la
2283 fuente Gonville:
2284
2285 @c NOTE: these images are a bit big, but that's important
2286 @c       for the font comparison.  -gp
2287 @sourceimage{Gonville_after,,,}
2288
2289 Aquí hay unos compases de muestra tipografiados en la fuente Feta de
2290 LilyPond:
2291
2292 @sourceimage{Gonville_before,,,}
2293
2294 @subsubheading Instrucciones de instalación para MacOS
2295
2296 Descargue y extraiga el archivo zip. Copie la carpeta @code{lilyfonts}
2297 a @file{@var{SHARE_DIR}/lilypond/current}; para más información,
2298 consulte @rlearning{Otras fuentes de información}.  Renombre la carpeta
2299 @code{fonts} existente a @code{fonts_orig} y la carpeta
2300 @code{lilyfonts} a @code{fonts}.  Para volver a la fuente Feta,
2301 invierta el proceso.
2302
2303 @seealso
2304 Manual de aprendizaje:
2305 @rlearning{Otras fuentes de información}.
2306
2307 @knownissues
2308
2309 Gonville no se puede usar para tipografiar notación de @q{Música
2310 Antigua} y es probable que cualquier nuevo glifo en versiones
2311 posteriores de LilyPond no existan en la familia
2312 tipográfica Gonville.  Diríjase a la página web del autor para obtener más
2313 información sobre éste y otros asuntos, entre ellos el régimen de
2314 licencias de Gonville.
2315
2316
2317 @node Salida MIDI
2318 @section Salida MIDI
2319 @translationof MIDI output
2320
2321 @cindex sonido
2322 @cindex MIDI
2323
2324 El MIDI (Musical Instrument Digital Interface, Interfase Digital para
2325 Instrumentos Musicales) es un estándar para interconectar y controlar
2326 instrumentos musicales electrónicos.  Un archivo o secuencia MIDI es
2327 una serie de notas dentro de un conjunto de pistas.  No es un archivo
2328 de sonidos reales; se necesita un programa reproductor especial para
2329 traducir la serie de notas en sonidos de verdad.
2330
2331 Cualquier música se puede convertir a archivos MIDI, de manera que
2332 podamos escuchar lo que hayamos introducido.  Esto es muy conveniente
2333 para comprobar la corrección de la música; las octavas equivocadas o
2334 las alteraciones erróneas se ponen de relieve muy claramente al
2335 escuchar la salida MIDI.
2336
2337 La salida estándar de MIDI es un poco primitiva; de forma opcional, se
2338 encuentra disponible una salida MIDI mejorada y mucho más realista,
2339 por medio de @ref{El script Articulate}.
2340
2341 La salida MIDI reserva un canal por cada pentagrama, y reserva
2342 el canal 10 para la percusión.  Sólo hay 16 canales MIDI por cada
2343 dispositivo, por lo que si la partitura tiene más de 15 pautas, los
2344 canales MIDI se reutilizarán.
2345
2346 @menu
2347 * Crear archivos MIDI::
2348 * El bloque MIDI::
2349 * ¿Qué sale por el MIDI?::
2350 * Repeticiones y MIDI::
2351 * Control de los matices en el MIDI::
2352 * Percusión en MIDI::
2353 * El script Articulate::
2354 @end menu
2355
2356 @node Crear archivos MIDI
2357 @subsection Crear archivos MIDI
2358 @translationof Creating MIDI files
2359
2360 Para crear un MIDI a partir de una pieza de música, escriba un bloque
2361 @code{\midi} en la partitura, por ejemplo:
2362
2363 @example
2364 \score @{
2365   @var{...música...}
2366   \midi @{ @}
2367 @}
2368 @end example
2369
2370 Si hay un bloque @code{\midi} dentro de un @code{\score} que no tenga
2371 ningún bloque @code{\layout}, solamente se producirá MIDI.  Si se
2372 necesita una notación impresa, debe haber también un bloque
2373 @code{\layout}:
2374
2375 @example
2376 \score @{
2377   @var{...música...}
2378   \midi @{ @}
2379   \layout @{ @}
2380 @}
2381 @end example
2382
2383 Se traducen correctamente a la salida MIDI la altura y duración de las
2384 notas, las ligaduras de unión, matices y cambios de tempo.  Las
2385 indicaciones dinámicas, crescendi y decrescendi se traducen a niveles
2386 de volumen MIDI.  Las marcas dinámicas se traducen a una fracción fija
2387 del rango de volumen MIDI disponible.  Los crescendi y decrescendi
2388 hacen que el volumen varía linealmente entre sus dos extremos. El
2389 efecto de las indicaciones dinámicas sobre la salida MIDI se puede
2390 eliminar por completo, véase @ref{El bloque MIDI}.
2391
2392 El tempo inicial y los cambios de tempo posteriores se pueden
2393 especificar utilizando la instrucción @code{\tempo} dentro de la
2394 propia notación musical.  Se reflejan en cambios de tempo en la salida
2395 MIDI.  Esta instrucción normalmente hace que se imprima la indicación
2396 metronómica, pero esto se puede eliminar, véase @ref{Indicaciones metronómicas}.
2397 Más abajo se describe una forma alternativa de especificar el tempo
2398 MIDI inicial o global, véase @ref{El bloque MIDI}.
2399
2400 Debido a ciertas limitaciones de Windows, la extensión predeterminada
2401 para los archivos MIDI en Windows es @code{.mid}. Otros sistemas
2402 operativos utilizan la extensión @code{.midi}.  Si prefiere una
2403 extensión diferente, inserte la siguiente línea en el nivel jerárquico
2404 superior del archivo de entrada, antes del inicio de cualquier bloque
2405 @code{\book}, @code{\bookpart} o @code{\score}:
2406
2407 @example
2408 #(ly:set-option 'midi-extension "midi")
2409 @end example
2410
2411 La línea anterior establece la extensión predeterminada para los
2412 archivos MIDI a @code{.midi}.
2413
2414 De forma alternativa, esta opción se puede también proporcionar en la
2415 línea de órdenes:
2416
2417 @example
2418 lilypond … -dmidi-extension=midi archivoLily.ly
2419 @end example
2420
2421
2422 @unnumberedsubsubsec Nombres de instrumentos
2423
2424 @cindex instrumento, nombres de
2425 @funindex Staff.midiInstrument
2426
2427 El nombre del instrumento MIDI se establece mediante la propiedad
2428 @code{Staff.midiInstrument}.  El nombre del instrumento se debe elegir
2429 de entre los que están en la lista que aparece en @ref{Instrumentos MIDI}.
2430
2431 @example
2432 \new Staff @{
2433   \set Staff.midiInstrument = #"glockenspiel"
2434   @var{...notes...}
2435 @}
2436 @end example
2437
2438 @example
2439 \new Staff \with @{midiInstrument = #"cello"@} @{
2440   @var{...notes...}
2441 @}
2442 @end example
2443
2444 Si el instrumento elegido no coincide exactamente con uno de los
2445 instrumentos de la lista de instrumentos MIDI, se usará el instrumento
2446 Piano de Cola (@code{"acoustic grand"}).
2447
2448 @snippets
2449
2450 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
2451 {changing-midi-output-to-one-channel-per-voice.ly}
2452
2453 @knownissues
2454
2455 @c In 2.11 the following no longer seems to be a problem -td
2456 @ignore
2457 Unterminated (de)crescendos will not render properly in the midi file,
2458 resulting in silent passages of music.  The workaround is to explicitly
2459 terminate the (de)crescendo.  For example,
2460
2461 @example
2462 @{ a4\< b c d\f @}
2463 @end example
2464
2465 @noindent
2466 will not work properly but
2467
2468 @example
2469 @{ a4\< b c d\!\f @}
2470 @end example
2471
2472 @noindent
2473 will.
2474 @end ignore
2475
2476 Los cambios del volumen MIDI sólo tienen lugar al principio de la
2477 nota, por lo que los crescendi y decrescendi no pueden afectar al
2478 volumen de una sola nota.
2479
2480 No todos los reproductores de MIDI manejar adecuadamente los cambios de
2481 tempo de la salida MIDI.  Entre los reproductores que se sabe que
2482 funcionan se encuentran el Reproductor de Medios de MS Windows y
2483 @uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
2484
2485
2486 @node El bloque MIDI
2487 @subsection El bloque MIDI
2488 @translationof MIDI block
2489
2490 @cindex bloque MIDI
2491
2492 Si se requiere una salida MIDI, debe aparecer un bloque @code{\midi}
2493 dentro de un bloque de partitura.  Es análogo al bloque layout de
2494 diseño de página, pero algo más simple.  Con frecuencia, el bloque
2495 @code{\midi} se deja vacío, pero puede contener reorganizaciones de
2496 contextos, definiciones de contexto nuevas o código para fijar valores
2497 de propiedades.  Por ejemplo, en el ejemplo siguiente se establece el
2498 tempo inicial exportado al archivo MIDI sin hacer que se imprima una
2499 indicación de tempo:
2500
2501 @example
2502 \score @{
2503   @var{...música...}
2504   \midi @{
2505     \context @{
2506       \Score
2507       tempoWholesPerMinute = #(ly:make-moment 72 4)
2508     @}
2509   @}
2510 @}
2511 @end example
2512
2513 En este ejemplo, el tempo se establece a 72 pulsos de negra por
2514 minuto.  Esta clase de especificación de tempo no puede tomar como
2515 argumento una figura con puntillo.  Si necesitamos una figura con
2516 puntillo, dividimos la nota con puntillo en figuras más pequeñas.  Por
2517 ejemplo, un tempo de 90 negras con puntillo por minuto se puede
2518 especificar como 270 corcheas por minuto:
2519
2520 @example
2521 tempoWholesPerMinute = #(ly:make-moment 270 8)
2522 @end example
2523
2524 @cindex MIDI, definiciones de contexto
2525
2526 Las definiciones de contexto siguen con precisión la misma sintaxis
2527 que la de un bloque @code{\layout}.  Los módulos de traducción para el
2528 sonido reciben el nombre de ejecutantes.  Los contextos para la salida
2529 MIDI se definen en @file{../ly/performer-init.ly}, véase
2530 @rlearning{Otras fuentes de información}.  Por ejemplo, para eliminar
2531 el efecto de los matices de la salida MIDI, inserte las líneas
2532 siguientes en el bloque @code{\midi@{ @}}.
2533
2534 @example
2535 \midi @{
2536   ...
2537   \context @{
2538     \Voice
2539     \remove "Dynamic_performer"
2540   @}
2541 @}
2542 @end example
2543
2544 La salida MIDI se crea sólo cuando se incluye un bloque @code{\midi}
2545 dentro de un bloque de partitura definido con una instrucción
2546 @code{\score}.
2547
2548 @example
2549 \score @{
2550   @{ @dots{}notas@dots{} @}
2551   \midi @{ @}
2552 @}
2553 @end example
2554
2555 @node ¿Qué sale por el MIDI?
2556 @subsection ¿Qué sale por el MIDI?
2557 @translationof What goes into the MIDI output?
2558
2559 @unnumberedsubsubsec Contemplado en el MIDI
2560
2561 @cindex alturas en MIDI
2562 @cindex MIDI, alturas
2563 @cindex cuartos de tono en MIDI
2564 @cindex MIDI, cuartos de tono
2565 @cindex microtonos en MIDI
2566 @cindex MIDI, microtonos
2567 @cindex acordes, nombres de, en MIDI
2568 @cindex MIDI, nombres de
2569 @cindex duraciones en MIDI
2570 @cindex MIDI, duraciones
2571 @cindex Articlulate, scripts
2572 @cindex MIDI, articulaciones
2573 @cindex articulaciones en MIDI
2574 @cindex trinos en MIDI
2575 @cindex grupetos en MIDI
2576 @cindex rallentando en MIDI
2577 @cindex accelerando en MIDI
2578 @c TODO etc
2579
2580 Los siguientes elementos de notación se reflejan en la salida MIDI:
2581
2582 @itemize
2583 @item Alturas
2584 @item Microtonos (véase @ref{Alteraciones accidentales}. La reproducción necesita un reproductor que contemple la curvatura de tono o @emph{pitch bend}.)
2585 @item Acordes escritos como nombres de acorde
2586 @item Ritmos escritos como duraciones de las notas, incluidos los grupos de valoración especial
2587 @item Trémolos escritos sin @q{@code{:}[@var{número}]}
2588 @item Ligaduras de unión
2589 @item Matices o indicaciones de dinámica
2590 @item Crescendi y decrescendi sobre varias notas
2591 @item Cambios de tempo insertados con una marca metronómica
2592 @item Letra de las canciones
2593 @end itemize
2594
2595 Utilizando @ref{El script Articulate}, a la lista anterior se añaden
2596 una serie de elementos:
2597
2598 @itemize
2599 @item Articulaciones (ligaduras de expresión, picados, etc)
2600 @item Trinos, mordentes circulares
2601 @item Rallentando y accelerando
2602 @end itemize
2603
2604
2605 @unnumberedsubsubsec No contemplado en el MIDI
2606
2607 @c TODO index as above
2608
2609 Los siguientes elementos de notación no tienen ningún efecto sobre la
2610 salida MIDI, a no ser que utilicemos @ref{El script Articulate}:
2611
2612 @itemize
2613 @item Duraciones escritas como anotaciones, p.ej. el swing
2614 @item Cambios de tempo escritos como anotaciones sin marca de tempo
2615 @item Staccato y otras articulaciones y ornamentos
2616 @item Ligaduras de expresión y de fraseo
2617 @item Crescendi y decrescendi sobre una nota única
2618 @item Trémolos introducidos con @q{@code{:}[@var{número}]}
2619 @item Bajo cifrado
2620 @item Acordes microtonales
2621 @end itemize
2622
2623
2624 @node Repeticiones y MIDI
2625 @subsection Repeticiones y MIDI
2626 @translationof Repeats in MIDI
2627
2628 @cindex repeticiones, expandir
2629 @funindex \unfoldRepeats
2630
2631 Con un poco de trucaje, se puede hacer que cualquier tipo de
2632 repetición esté presente en la salida MIDI.  Esto se consigue mediante
2633 la aplicación de la función musical @code{\unfoldRepeats}.  Esta
2634 función cambia todas las repeticiones a repeticiones desplegadas.
2635
2636 @lilypond[quote,verbatim]
2637 \unfoldRepeats {
2638   \repeat tremolo 8 { c'32 e' }
2639   \repeat percent 2 { c''8 d'' }
2640   \repeat volta 2 { c'4 d' e' f' }
2641   \alternative {
2642     { g' a' a' g' }
2643     { f' e' d' c' }
2644   }
2645 }
2646 \bar "|."
2647 @end lilypond
2648
2649 En partituras con varias voces, el desplegado de las repeticiones en
2650 la salida MIDI solo se produce correctamente si @emph{todas y cada
2651 una} de las voces incluye las repeticiones de manera completa y
2652 explícita.
2653
2654 Al crear un archivo de partitura que use @code{\unfoldRepeats} para el
2655 MIDI, es necesario hacer dos bloques @code{\score}: uno para el MIDI
2656 (con repeticiones desplegadas) y otro para la notación impresa (con
2657 repeticiones de volta --primera y segunda vez--, tremolo --trémolo--,
2658 y percent --repetición de compases--).  Por ejemplo,
2659
2660 @example
2661 \score @{
2662   @var{..música..}
2663   \layout @{ .. @}
2664 @}
2665 \score @{
2666   \unfoldRepeats @var{..música..}
2667   \midi @{ .. @}
2668 @}
2669 @end example
2670
2671
2672 @node Control de los matices en el MIDI
2673 @subsection Control de los matices en el MIDI
2674 @translationof Controlling MIDI dynamics
2675
2676 La dinámica en el MIDI está implementada por medio del intérprete
2677 Dynamic_performer que reside de forma predeterminada dentro del
2678 contexto Voice.  Es posible controlar el volumen MIDI general, el
2679 volumen relativo de los matices dinámicos y el volumen relativo de los
2680 distintos instrumentos.
2681
2682 @unnumberedsubsubsec Indicaciones dinámicas
2683
2684 Los matices o indicaciones de dinámica se traducen a una fracción fija
2685 del rango de volumen MIDI disponible.  Las fracciones predeterminadas
2686 se extienden desde 0.25 para @notation{ppppp} hasta 0.95 para
2687 @notation{fffff}.  El conjunto de indicaciones dinámicas y las
2688 fracciones asociadas pueden verse en @file{../scm/midi.scm}, véase
2689 @rlearning{Otras fuentes de información}.  Este conjunto de fracciones
2690 se puede cambiar o extender proporcionando una función que toma como
2691 argumento una indicación dinámica y devuelve la fracción requerida, y
2692 estableciendo @code{Score.dynamicAbsoluteVolumeFunction} a esta
2693 función.
2694
2695 Por ejemplo, si se requiere una indicación dinámica
2696 @notation{rinforzando}, @code{\rfz}, ésta no tiene ningún efecto
2697 predeterminado sobre el volumen MIDI, pues no está incluida en el
2698 conjunto predeterminado.  De igual manera, si se define una indicación
2699 dinámica nueva con @code{make-dynamic-script}, ésta tampoco estará
2700 incluida en el conjunto predeterminado.  El ejemplo siguiente muestra
2701 cómo hay que añadir el volumen MIDI para estas indicaciones dinámicas.
2702 La función Scheme establece la fracción a 0.9 si se encuentra una
2703 indicación dinámica rfz, y en caso contrario llama a la función
2704 predeterminada.
2705
2706 @lilypond[verbatim,quote]
2707 #(define (myDynamics dynamic)
2708     (if (equal? dynamic "rfz")
2709       0.9
2710       (default-dynamic-absolute-volume dynamic)))
2711
2712 \score {
2713   \new Staff {
2714     \set Staff.midiInstrument = #"cello"
2715     \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
2716     \new Voice {
2717       \relative c'' {
2718         a4\pp b c-\rfz
2719       }
2720     }
2721   }
2722   \layout {}
2723   \midi {}
2724 }
2725 @end lilypond
2726
2727 Como alternativa, si se necesitara redefinir la tabla completa de
2728 fracciones, sería mejor usar el procedimiento
2729 @notation{default-dynamic-absolute-volume} que aparece en
2730 @file{../scm/midi.scm} y la tabla asociada como modelo.  El último
2731 ejemplo de esta sección muestra cómo se puede hacer esto.
2732
2733 @unnumberedsubsubsec Volumen maestro MIDI
2734
2735 El volumen general máximo y mínimo de las indicaciones dinámicas de
2736 MIDI se controla estableciendo valores para las propiedades
2737 @code{midiMinimumVolume} y @code{midiMaximumVolume} en el nivel de
2738 @code{Score}.  Estas propiedades tienen efecto solamente sobre las
2739 indicaciones dinámicas, por ello si queremos que tengan validez desde
2740 el comienzo de la partitura, se debe colocar allí una indicación de
2741 dinámica.  La fracción que corresponde a cada indicación dinámica se
2742 modifica con esta fórmula:
2743
2744 @example
2745 midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * fracción
2746 @end example
2747
2748 En el ejemplo siguiente, el rango de intensidad dinámica del volumen
2749 general MIDI está limitado al intervalo desde 0.2 hasta 0.5.
2750
2751 @lilypond[verbatim,quote]
2752 \score {
2753   <<
2754     \new Staff {
2755       \key g \major
2756       \time 2/2
2757       \set Staff.midiInstrument = #"flute"
2758       \new Voice \relative c''' {
2759         r2 g\mp g fis~
2760         fis4 g8 fis e2~
2761         e4 d8 cis d2
2762       }
2763     }
2764     \new Staff {
2765       \key g \major
2766       \set Staff.midiInstrument = #"clarinet"
2767       \new Voice \relative c'' {
2768         b1\p a2. b8 a
2769         g2. fis8 e
2770         fis2 r
2771       }
2772     }
2773   >>
2774   \layout {}
2775   \midi {
2776     \context {
2777       \Score
2778       tempoWholesPerMinute = #(ly:make-moment 72 2)
2779       midiMinimumVolume = #0.2
2780       midiMaximumVolume = #0.5
2781     }
2782   }
2783 }
2784 @end lilypond
2785
2786 @unnumberedsubsubsec Balance entre instrumentos (i)
2787
2788 Si las propiedades de volumen MIDI máximo y mínimo están establecidas
2789 en el contexto @code{Staff} se pueden controlar los volúmenes
2790 relativos de los instrumentos MIDI.  Esto proporciona un ecualizador
2791 de instrumentos básico que puede realzar significativamente la calidad
2792 de la salida MIDI.
2793
2794 En este ejemplo se reduce el volumen del clarinete con relación al de
2795 la flauta.  Debe haber una indicación dinámica en la primera nota de
2796 cada instrumento para que esto funcione correctamente.
2797
2798 @lilypond[verbatim,quote]
2799 \score {
2800   <<
2801     \new Staff {
2802       \key g \major
2803       \time 2/2
2804       \set Staff.midiInstrument = #"flute"
2805       \set Staff.midiMinimumVolume = #0.7
2806       \set Staff.midiMaximumVolume = #0.9
2807       \new Voice \relative c''' {
2808         r2 g\mp g fis~
2809         fis4 g8 fis e2~
2810         e4 d8 cis d2
2811       }
2812     }
2813     \new Staff {
2814       \key g \major
2815       \set Staff.midiInstrument = #"clarinet"
2816       \set Staff.midiMinimumVolume = #0.3
2817       \set Staff.midiMaximumVolume = #0.6
2818       \new Voice \relative c'' {
2819         b1\p a2. b8 a
2820         g2. fis8 e
2821         fis2 r
2822       }
2823     }
2824   >>
2825   \layout {}
2826   \midi {
2827     \context {
2828       \Score
2829       tempoWholesPerMinute = #(ly:make-moment 72 2)
2830     }
2831   }
2832 }
2833 @end lilypond
2834
2835 @unnumberedsubsubsec Balance entre instrumentos (ii)
2836
2837 Si las propiedades de volumen MIDI máximo y mínimo no están
2838 establecidas, de forma predeterminada LilyPond aplica un pequeño grado
2839 de ecualización a algunos instrumentos.  Los instrumentos y la
2840 ecualización que se aplica se muestra en la tabla
2841 @notation{instrument-equalizer-alist} en @file{../scm/midi.scm}.
2842
2843 El ecualizador básico predeterminado se puede sustituir estableciendo
2844 @code{instrumentEqualizer} en el contexto @code{Score} a un
2845 procedimiento Scheme nuevo que acepte el nombre de un instrumento MIDI
2846 como único argumento y devuelva un par de fracciones que dan los
2847 volúmenes máximo y mínimo que se aplican a dicho instrumento.  Esta
2848 sustitución se hace de la misma forma que mostramos para restablecer
2849 la fracción de volumen absoluto @code{dynamicAbsoluteVolumeFunction}
2850 al comienzo de esta sección.  El ecualizador predeterminado,
2851 @notation{default-instrument-equalizer}, en
2852 @file{../scm/midi.scm}, muestra cómo se puede escribir tal
2853 procedimiento.
2854
2855 El ejemplo siguiente establece los volúmenes relativos de la flauta y
2856 del clarinete a los mismos valores que el ejemplo anterior.
2857
2858 @lilypond[verbatim,quote]
2859 #(define my-instrument-equalizer-alist '())
2860
2861 #(set! my-instrument-equalizer-alist
2862   (append
2863     '(
2864       ("flute" . (0.7 . 0.9))
2865       ("clarinet" . (0.3 . 0.6)))
2866     my-instrument-equalizer-alist))
2867
2868 #(define (my-instrument-equalizer s)
2869   (let ((entry (assoc s my-instrument-equalizer-alist)))
2870     (if entry
2871       (cdr entry))))
2872
2873 \score {
2874   <<
2875     \new Staff {
2876       \key g \major
2877       \time 2/2
2878       \set Score.instrumentEqualizer = #my-instrument-equalizer
2879       \set Staff.midiInstrument = #"flute"
2880       \new Voice \relative c''' {
2881         r2 g\mp g fis~
2882         fis4 g8 fis e2~
2883         e4 d8 cis d2
2884       }
2885     }
2886     \new Staff {
2887       \key g \major
2888       \set Staff.midiInstrument = #"clarinet"
2889       \new Voice \relative c'' {
2890         b1\p a2. b8 a
2891         g2. fis8 e
2892         fis2 r
2893       }
2894     }
2895   >>
2896   \layout { }
2897   \midi {
2898     \context {
2899       \Score
2900       tempoWholesPerMinute = #(ly:make-moment 72 2)
2901     }
2902   }
2903 }
2904 @end lilypond
2905
2906 @ignore
2907 @c Delete when satisfied this is adequately covered elsewhere -td
2908
2909 @n ode Microtones in MIDI
2910 @s ubsection Microtones in MIDI
2911
2912 @cindex microtones in MIDI
2913
2914 Microtones consisting of half sharps and half flats are exported
2915 to the MIDI file and render correctly in MIDI players which support
2916 pitch bending.  See @ref{Nombres de las notas en otros idiomas}.  Here is
2917 an example showing all the half sharps and half flats.  It can be
2918 copied out and compiled to test microtones in your MIDI player.
2919
2920 @lilypond[verbatim,quote]
2921 \score {
2922   \relative c' {
2923     c4 cih cis cisih
2924     d4 dih ees eeh
2925     e4 eih f fih
2926     fis4 fisih g gih
2927     gis4 gisih a aih
2928     bes4 beh b bih
2929   }
2930   \layout {}
2931   \midi {}
2932 }
2933 @end lilypond
2934 @end ignore
2935
2936
2937 @node Percusión en MIDI
2938 @subsection Percusión en MIDI
2939 @translationof Percussion in MIDI
2940
2941 La notación de los instrumentos de percusión se realiza normalmente en
2942 un contexto @code{DrumStaff} y cuando se hace de esta forma se les da
2943 salida correctamente por el canal MIDI@tie{}10, pero ciertos
2944 instrumentos de percusión de altura determinada, como el xilófono,
2945 marimba, vibráfono, timbales, etc., se tratan como instrumentos
2946 @qq{normales} y la música para estos instrumentos se debe introducir
2947 en contextos de @code{Staff} normales, no en un contexto
2948 @code{DrumStaff}, para obtener la salida MIDI correcta.
2949
2950 Ciertos sonidos de altura indeterminada que están incluidos en el
2951 estándar General MIDI, como el tom melódico, el tambor taiko, los
2952 tambores sintéticos, etc., no se pueden acceder a través del canal
2953 MIDI@tie{}10, por lo que la notación para dichos instrumentos se debe
2954 introducir también en un contexto normal de @code{Staff}, utilizando
2955 las alturas normales adecuadas.
2956
2957 Muchos instrumentos de percusión no están incluidos dentro del
2958 estándar General MIDI, p.ej. las castañuelas.  El método más
2959 fácil (aunque no satisfactorio) de producir una salida MIDI al
2960 escribir para estos instrumentos es sustituirlos por el sonido más
2961 parecido del conjunto estándar.
2962
2963 @c TODO Expand with examples, and any other issues
2964
2965 @knownissues
2966
2967 Debido a que el estándar General MIDI no contiene golpes de aro
2968 (@emph{rim shots}), para este propósito se utiliza en su lugar el
2969 golpe lateral de baqueta (@emph{sidestick}).
2970
2971 @node El script Articulate
2972 @subsection El script Articulate
2973 @translationof The Articulate script
2974
2975 Es posible obtener una salida MIDI más real si se utiliza el script
2976 Articulate.  Éste trata de tener en cuenta las articulaciones
2977 (ligaduras de expresión, picados, etc), mediante la sustitución de las
2978 notas con secuencias musicales de silencios y notas escaladas en el
2979 tiempo de forma apropiada.  También trata de desplegar los trinos,
2980 grupetos circulares, etc. y responder a las indicaciones de
2981 rallentando y accelerando.
2982
2983 Para utilizar el script Articulate, tenemos que incluirlo al principio
2984 de nuestro archivo de entrada:
2985
2986 @example
2987 \include "articulate.ly"
2988 @end example
2989
2990 y en la sección @code{\score}, hacer lo siguiente:
2991
2992 @example
2993 \unfoldRepeats \articulate <<
2994         resto de la partitura...
2995 >>
2996 @end example
2997
2998 Después de alterar el código de entrada de esta manera el resultado
2999 visual se altera profundamente, pero el bloque @code{\midi} estándar
3000 produce un archivo MIDI mejorado.
3001
3002 Si bien no es esencial para que funcione el script Articulate, podemos
3003 insertar la instrucción @code{\unfoldRepeats} según aparece en el
3004 ejemplo anterior, dado que habilita la ejecución de abreviaturas tales
3005 como los @notation{trinos}.
3006
3007 @knownissues
3008
3009 Articulate acorta los acordes, y ciertos fragmentos de música
3010 (especialmente la música de órgano) es posible que suene peor.
3011
3012
3013 @node Extraer información musical
3014 @section Extraer información musical
3015 @translationof Extracting musical information
3016
3017 Además de crear un resultado visual y MIDI,
3018 LilyPond es capaz de presentar información
3019 musical en forma de texto.
3020
3021 @menu
3022 * Impresión del código de notación de LilyPond::
3023 * Impresión de las expresiones musicales de Scheme::
3024 * Guardar los eventos musicales en un archivo::
3025 @end menu
3026
3027 @node Impresión del código de notación de LilyPond
3028 @subsection Displaying LilyPond notation
3029 @translationof Displaying LilyPond notation
3030
3031 @funindex \displayLilyMusic
3032 La impresión textual de una expresión musical en notación de LilyPond
3033 puede hacerse con la función musical @code{\displayLilyMusic}.
3034 Para ver el resultado, lo más usual es llamar a LilyPond
3035 mediante la línea de órdenes.  Por ejemplo,
3036
3037 @example
3038 @{
3039   \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
3040 @}
3041 @end example
3042
3043 imprime lo siguiente:
3044
3045 @example
3046 @{ a,4 cis e fis g @}
3047 @end example
3048
3049 De forma predeterminada, LilyPond imprime estos mensajes en la consola
3050 junto al resto de los mensajes de la compilación de LilyPond.
3051 Para discernir entre estos mensajes y
3052 guardar el resultado de @code{\display@{MATERIAL@}}, redireccione la
3053 salida hacia un archivo.
3054
3055 @example
3056 lilypond archivo.ly >resultado.txt
3057 @end example
3058
3059
3060 @node Impresión de las expresiones musicales de Scheme
3061 @subsection Impresión de las expresiones musicales de Scheme
3062 @translationof Displaying scheme music expressions
3063
3064 Véase @rextend{Presentación de las expresiones musicales}.
3065
3066
3067 @node Guardar los eventos musicales en un archivo
3068 @subsection Guardar los eventos musicales en un archivo
3069 @translationof Saving music events to a file
3070
3071 Los eventos musicales se pueden guardar en un archivo pentagrama a
3072 pentagrama mediante la inclusión de un archivo en nuestra partitura
3073 principal.
3074
3075 @example
3076 \include "event-listener.ly"
3077 @end example
3078
3079 De esta forma se crean uno o más archivos llamados
3080 @file{FILENAME-STAFFNAME.notes} ó @file{FILENAME-unnamed-staff.notes}
3081 para cada pentagrama.  Observe que si tiene más de un pentagrama sin
3082 nombre, los eventos de todos los pentagramas se mezclarán entre sí
3083 dentro del mismo archivo.  El resultado tiene el aspecto siguiente:
3084
3085 @example
3086 0.000   note     57       4   p-c 2 12
3087 0.000   dynamic  f
3088 0.250   note     62       4   p-c 7 12
3089 0.500   note     66       8   p-c 9 12
3090 0.625   note     69       8   p-c 14 12
3091 0.750   rest     4
3092 0.750   breathe
3093 @end example
3094
3095 La sintaxis consiste en una línea delimitada por caracteres de
3096 tabulación, con dos campos fijos en cada línea seguidos de parámetros
3097 opcionales.
3098
3099 @example
3100 @var{tiempo}  @var{tipo}  @var{...parámetros...}
3101 @end example
3102
3103 Esta información se puede leer fácilmente por parte de otros programas
3104 como guiones de Python, y pueden ser muy útiles para aquellos
3105 investigadores que desean realizar un análisis musical o hacer
3106 experimientos de reproducción con LilyPond.
3107
3108
3109 @knownissues
3110
3111 No todos los eventos musicales de lilypond están contemplados por
3112 @file{event-listener.ly}.  Se pretende que sea una @qq{prueba de
3113 concepto} bien realizada.  Si algunos eventos que quiere ver no
3114 aparecen incluidos, copie @file{event-listener.ly} en su carpeta de
3115 lilypond y modifique el archivo de forma que produzca la información
3116 que desea.