]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/es/notation/input.itely
Merge branch 'master' into lilypond/translation
[lilypond.git] / Documentation / es / notation / input.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
2
3 @ignore
4     Translation of GIT committish: 69618c55ab79b032a109ba9f347831ede1048abc
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 Las notas al pie automáticas aceptan tres argumentos; el @var{Objeto de
1093 presentación} que anotar, la posición @var{(x . y)} del indicador y un
1094 elemento de @code{\markup} que aparecerá en la nota, en la parte
1095 inferior de la página.
1096
1097 La instrucción @code{\footnote} debe ir @emph{antes} del grob
1098 al que se adjunta la nota al pie:
1099
1100 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1101 \book {
1102   \header { tagline = ##f }
1103   \relative c' {
1104     \footnote #'(0.5 . -2) #'NoteHead
1105       \markup { The first note }
1106     a'4 b8
1107     \footnote #'(0.5 . 1) #'NoteHead
1108       \markup { The third note }
1109     e c4 d4
1110   }
1111 }
1112 @end lilypond
1113
1114 Para anotar las notas de un acorde, la instrucción
1115 @code{\footnote} debe ir @emph{después} de la nota a la que se
1116 quiere adjuntar la nota al pie como un @code{TextScript}:
1117
1118 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1119 \book {
1120   \header { tagline = ##f }
1121   \relative c' {
1122     <
1123     c-\footnote #'(1 . -1.25) "Here is a C"
1124     es-\footnote #'(2 . -0.25) \markup { \italic "An E-flat" }
1125     g-\footnote #'(2 . 3) \markup { \bold "This is a G" }
1126     >1
1127   }
1128 }
1129 @end lilypond
1130
1131 @warning{Cuando las notas al pie tienen la misma posición vertical, se
1132 imprimen en orden de descendencia: cuando más alta es la nota al pie,
1133 más arriba está en la lista.}
1134
1135 He aquí unos ejemplos más de grobs con notas al pie, que
1136 muestran también la posición relativa de las notas respecto de la
1137 línea informativa y la línea de copyright.
1138
1139 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1140 \book {
1141   \header { copyright = \markup { "Copyright 1970" } }
1142   \relative c' {
1143     \footnote #'(-3 . 0) #'DynamicText
1144       \markup { \bold Forte }
1145
1146     \footnote #'(0 . 1.5) #'Slur
1147       \markup { A slur }
1148     a'4\f(
1149
1150     \footnote #'(0 . -2) #'Beam
1151       \markup { Beam }
1152     b8)[ e]
1153
1154     \footnote #'(1 . -1) #'Stem
1155       \markup  { \teeny { This is a stem } }
1156     c4
1157
1158     \footnote #'(0 . 0.5) #'AccidentalCautionary
1159       \markup \italic { A cautionary accidental }
1160
1161     \footnote #'(0.5 . -0.5) #'TextScript
1162       \markup \italic { Slow Down }
1163     dis?4_"rit."
1164   }
1165 }
1166 @end lilypond
1167
1168 Para los elementos @code{\markup} del nivel superior, se requiere el
1169 uso de la instrucción @code{\auto-footnote}:
1170
1171 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1172 \book {
1173   \header { tagline = ##f }
1174   \markup { \auto-footnote "A simple tune" \italic "By me" }
1175   \relative c' {
1176     a'4 b8 e c4 d
1177   }
1178 }
1179 @end lilypond
1180
1181
1182 @node Notas al pie manuales
1183 @unnumberedsubsubsec Notas al pie manuales
1184 @translationof Manual footnotes
1185
1186 @cindex notas al pie manuales
1187
1188 Las notas al pie manuales toman cuatro argumentos;
1189 el @var{objeto de presentación} que se va a anotar,
1190 la posición @var{(x . y)} del indicador, y dos instrucciones
1191 @code{\markup}; la primera es el indicador adjunto a la nota o grob, y
1192 la segunda es la nota al pie, en la parte inferior de la página.
1193
1194 Como las notas al pie automáticas, las instrucciones
1195 @code{\footnote} manuales deben ir @emph{después} del grob
1196 que la nota al pie está anotando y adjuntada como un
1197 @code{TextScript}:
1198
1199 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1200 \book {
1201   \header { tagline = ##f }
1202   \relative c' {
1203     a'4-\footnote
1204           "1" #'(0.5 . -2) #'NoteHead \markup { \italic "1. The first note" }
1205     b8
1206     e-\footnote
1207           \markup { \bold "2" } #'(0.5 . 1) #'NoteHead "2. The second note"
1208     c4
1209     d\p-\footnote "3" #'(0.5 . -1) #'DynamicText "3. Piano"
1210   }
1211 }
1212 @end lilypond
1213
1214 Para anotar notas de acordes con notas al pie manuales:
1215
1216 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1217 \book {
1218   \header { tagline = ##f }
1219   \relative c' {
1220     <
1221     c-\footnote "1" #'(1 . -1.25) "1. C"
1222     es-\footnote
1223        \markup { \bold "b" } #'(2 . -0.25) "b. E-flat"
1224     g-\footnote "3" #'(2 . 3) \markup { \italic "iii. G" }
1225     >1
1226   }
1227 }
1228 @end lilypond
1229
1230 @warning {Cuando las notas al pie tienen la misma posición vertical, las
1231 anotaciones se imprimen en orden de descendencia; cuanto más alta es
1232 la nota al pie, más arriba está en la lista.}
1233
1234 He aquí algunos ejemplos de grobs anotados manualmente, mostrando
1235 también la posición relativa de las notas al pie respecto a la línea
1236 informativa a la de copyright:
1237
1238 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1239 \book {
1240   \header { tagline = ##f }
1241   \relative c' {
1242     \footnote
1243       \markup { \teeny 1 } #'(-3 . 0) #'DynamicText
1244       \markup { 1. \bold Forte }
1245
1246     \footnote
1247       \markup { \teeny b } #'(0 . 1.5) #'Slur
1248       \markup { b. A slur }
1249     a'4\f(
1250
1251     \footnote
1252       \markup { \teeny 3 } #'(0 . -2) #'Beam
1253       \markup { 3. Beam }
1254     b8)[ e]
1255
1256     \footnote
1257       \markup { 4 } #'(1 . -1) #'Stem
1258       \markup  { \bold 4. { This is a stem } }
1259     c4
1260
1261     \footnote
1262       \markup \concat \teeny { "sharp (v)" }
1263           #'(0 . 0.5) #'AccidentalCautionary
1264       \markup \italic { v. A cautionary accidental }
1265
1266     \footnote
1267       \markup \concat \teeny { "a" } #'(0.5 . -0.5) #'TextScript
1268       \markup \italic { a. Slow Down }
1269     dis?4_"rit."
1270
1271     \breathe
1272     \footnote
1273       \markup { \teeny \musicglyph #"rests.4" }
1274           #'(1.5 . -0.25) #'BreathingSign
1275       \markup { \null }
1276   }
1277 }
1278 @end lilypond
1279
1280 Para anotar manualmente un elemento @code{\markup} del nivel superior:
1281
1282 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1283 \book {
1284   \header { tagline = ##f }
1285   \markup { "A simple tune" \footnote "*" \italic "* By me" }
1286   \relative c' {
1287     a'4 b8 e c4 d4
1288   }
1289 }
1290 @end lilypond
1291
1292 @seealso
1293 Manual de aprendizaje:
1294 @rlearning{Objetos e interfaces}.
1295
1296 Referencia de la notación:
1297 @ref{Globos de ayuda},
1298 @ref{Disposición de la página},
1299 @ref{Indicaciones de texto},
1300 @ref{Guiones de texto},
1301 @ref{Títulos y cabeceras}.
1302
1303 Referencia de funcionamiento interno:
1304 @rinternals{FootnoteEvent},
1305 @rinternals{FootnoteItem},
1306 @rinternals{FootnoteSpanner},
1307 @rinternals{Footnote_engraver}.
1308
1309 @knownissues
1310 Varias notas al pie en la misma página solo pueden ir apiladas unas
1311 sobre otras, y no se pueden imprimir en la misma línea.  Las notas al
1312 pie no se pueden adjuntar a elementos de silencio multicompás
1313 @code{MultiMeasureRests}, y pueden colisionar con el objeto
1314 @code{Staff}, objetos de @code{\markup} y otras anotaciones
1315 @code{footnote}.  Cuando use una cualquiera de las instrucciones
1316 @code{footnote} se requiere un bloque @code{\paper} que contenga
1317 @code{footnote-auto-number = ##f}.
1318
1319
1320 @node Referencia a números de página
1321 @subsection Referencia a números de página
1322 @translationof Reference to page numbers
1323
1324 Un lugar determinado de una partitura puede señalizarse usando la
1325 instrucción @code{\label} (etiqueta), ya sea en el nivel superior o
1326 dentro de la música.  Podemos referirnos a esta etiqueta más tarde
1327 dentro de un elemento de marcado, para obtener el número de la página
1328 en la que se sitúa el punto señalizado, usando la instrucción de
1329 marcado @code{\page-ref}.
1330
1331 @lilypond[verbatim]
1332 \header { tagline = ##f }
1333 \book {
1334   \label #'firstScore
1335   \score {
1336     {
1337       c'1
1338       \pageBreak \mark A \label #'markA
1339       c'1
1340     }
1341   }
1342   \markup { The first score begins on page \page-ref #'firstScore "0" "?" }
1343   \markup { Mark A is on page \page-ref #'markA "0" "?" }
1344 }
1345 @end lilypond
1346
1347 La instrucción de marcado @code{\page-ref} toma tres argumentos:
1348 @enumerate
1349 @item la etiqueta, un símbolo de scheme, p.ej. @code{#'firstScore};
1350 @item un elemento de marcado que se usará como medidor para estimar las dimensiones del marcado;
1351 @item un elemento de marcado que se utilizará en sustitución del número de página si la etiqueta es desconocida.
1352 @end enumerate
1353
1354 El motivo de que se necesite un medidor es que en el momento en que se
1355 están interpretando los marcados, los saltos de página aún no se han
1356 producido y por tanto los números de página no se conocen todavía.
1357 Para sortear este inconveniente, la interpretación real del marcado se
1358 retrasa hasta un momento posterior; sin embargo, las dimensiones del
1359 marcado se tienen que conocer de antemano, así que se usa el medidor
1360 para decidir estas dimensiones.  Si el libro tiene entre 10 y 99
1361 páginas, el medidor puede ser "00", es decir, un número de dos
1362 dígitos.
1363
1364
1365 @predefined
1366 @funindex \label
1367 @code{\label},
1368 @funindex \page-ref
1369 @code{\page-ref}.
1370 @endpredefined
1371
1372
1373 @node Índice general
1374 @subsection Índice general
1375 @translationof Table of contents
1376
1377 Se puede insertar un índice general o tabla de contenidos utilizando
1378 la instrucción @code{\markuplist \table-of-contents}.  Los elementos
1379 que deben aparecer en la tabla de contenidos se introducen con la
1380 instrucción @code{\tocItem}, que se puede usar en el nivel más alto de
1381 la jerarquía del código, o dentro de una expresión musical.
1382
1383 @verbatim
1384 \markuplist \table-of-contents
1385 \pageBreak
1386
1387 \tocItem \markup "Primera partitura"
1388 \score {
1389   {
1390     c'4  % ...
1391     \tocItem \markup "Un punto concreto dentro de la primera partitura"
1392     d'4  % ...
1393   }
1394 }
1395
1396 \tocItem \markup "Segunda partitura"
1397 \score {
1398   {
1399     e'4 % ...
1400   }
1401 }
1402 @end verbatim
1403
1404 Los elementos de marcado que se usan para dar formato al índice
1405 general se encuentran definidos dentro del bloque @code{\paper}.  Los
1406 elementos predeterminados son @code{tocTitleMarkup}, para dar formato
1407 al título de la tabla, y @code{tocItemMarkup}, para aplicar formato a
1408 los elementos del índice, que consisten en el título del elemento y el
1409 número de página.  Estas variables se pueden cambiar por parte del
1410 usuario:
1411
1412 @verbatim
1413 \paper {
1414   %% Traducir el título del índice al español:
1415   tocTitleMarkup = \markup \huge \column {
1416     \fill-line { \null "Índice general" \null }
1417     \hspace #1
1418   }
1419   %% usar una fuente mayor
1420   tocItemMarkup = \markup \large \fill-line {
1421     \fromproperty #'toc:text \fromproperty #'toc:page
1422   }
1423 }
1424 @end verbatim
1425
1426 Observe la forma en que nos referimos al texto y al número de página
1427 del elemento de índice, dentro de la definición @code{tocItemMarkup}.
1428
1429 También se pueden definir nuevas instrucciones y elementos de
1430 marcado para crear índices generales más elaborados:
1431 @itemize
1432 @item en primer lugar, defina una variable de marcado nueva dentro del bloque @code{\paper}
1433 @item luego defina una función de música cuyo propósito es añadir un elemento al índice general
1434 utilizando esta variable de marcado del bloque @code{\paper}.
1435 @end itemize
1436
1437 En el ejemplo siguiente se define un estilo nuevo para introducir los
1438 nombres de los actos de una ópera en el índice general:
1439
1440 @verbatim
1441 \paper {
1442   tocActMarkup = \markup \large \column {
1443     \hspace #1
1444     \fill-line { \null \italic \fromproperty #'toc:text \null }
1445     \hspace #1
1446   }
1447 }
1448
1449 tocAct =
1450 #(define-music-function (parser location text) (markup?)
1451    (add-toc-item! 'tocActMarkup text))
1452 @end verbatim
1453
1454 @lilypond[line-width=11.0\cm]
1455 \header { tagline = ##f }
1456 \paper {
1457   tocActMarkup = \markup \large \column {
1458     \hspace #1
1459     \fill-line { \null \italic \fromproperty #'toc:text \null }
1460     \hspace #1
1461   }
1462 }
1463
1464 tocAct =
1465 #(define-music-function (parser location text) (markup?)
1466    (add-toc-item! 'tocActMarkup text))
1467
1468 \book {
1469   \markuplist \table-of-contents
1470   \tocAct \markup { Atto Primo }
1471   \tocItem \markup { Coro. Viva il nostro Alcide }
1472   \tocItem \markup { Cesare. Presti omai l'Egizzia terra }
1473   \tocAct \markup { Atto Secondo }
1474   \tocItem \markup { Sinfonia }
1475   \tocItem \markup { Cleopatra. V'adoro, pupille, saette d'Amore }
1476   \markup \null
1477 }
1478 @end lilypond
1479
1480 Se pueden añadir puntos de relleno entre un elemento y su número de página:
1481
1482 @lilypond[verbatim,quote]
1483 \header { tagline = ##f }
1484 \paper {
1485   tocItemMarkup = \tocItemWithDotsMarkup
1486 }
1487
1488 \book {
1489   \markuplist \table-of-contents
1490   \tocItem \markup { Allegro }
1491   \tocItem \markup { Largo }
1492   \markup \null
1493 }
1494 @end lilypond
1495
1496
1497 @seealso
1498 Archivos de inicio:
1499 @file{../ly/toc-init.ly}.
1500
1501
1502 @predefined
1503 @funindex \table-of-contents
1504 @code{\table-of-contents},
1505 @funindex \tocItem
1506 @code{\tocItem}.
1507 @endpredefined
1508
1509
1510 @node Trabajar sobre los archivos de entrada
1511 @section Trabajar sobre los archivos de entrada
1512 @translationof Working with input files
1513
1514 @menu
1515 * Inclusión de archivos de LilyPond::
1516 * Distintas ediciones a partir de una misma fuente::
1517 * Caracteres especiales::
1518 @end menu
1519
1520
1521 @node Inclusión de archivos de LilyPond
1522 @subsection Inclusión de archivos de LilyPond
1523 @translationof Including LilyPond files
1524
1525 @funindex \include
1526 @cindex including files
1527
1528 Un proyecto grande se puede dividir en varios archivos.  Para
1529 referirse a otro archivo, utilice
1530
1531 @example
1532 \include "otroarchivo.ly"
1533 @end example
1534
1535 La línea @code{\include "otroarchivo.ly"} equivale a pegar todo el
1536 contenido de @file{otroarchivo.ly} en el archivo actual en el lugar en
1537 que aparece el @code{\include}.  Por ejemplo, en un proyecto grande
1538 podríamos querer archivos distintos para cada parte instrumental y
1539 crear un archivo de @qq{partitura completa} que reúne los archivos
1540 individuales de los instrumentos.  Normalmente el archivo incluido
1541 define un cierto número de variables que a partir de entonces quedan
1542 disponibles para poderlas utilizar en el archivo de la partitura
1543 completa.  En los archivos incluidos se pueden marcar las secciones
1544 etiquetadas para ayudar a hacerlas utilizables en distintos lugares de
1545 la partitura, véase @ref{Distintas ediciones a partir de una misma fuente}.
1546
1547 Los archivos que están en el directorio de trabajo actual se pueden
1548 referenciar simplemente especificando el nombre después de la
1549 instrucción @code{\include}.  Los archivos en otros lugares se pueden
1550 incluir proporcionando una referencia de ruta completa o una ruta
1551 relativa (pero utilice la barra inclinada normal del UNIX, /, no la
1552 barra invertida de DOS/Windows, \, como separador de directorio).  Por
1553 ejemplo, si @file{material.ly} está situado un directorio por encima
1554 del directorio de trabajo actual, utilice
1555
1556 @example
1557 \include "../material.ly"
1558 @end example
1559
1560 @noindent
1561 o si los archivos de las partes orquestales incluidas están todos
1562 situados en un subdirectorio llamado @file{partes} dentro del
1563 directorio actual, use
1564
1565 @example
1566 \include "partes/VI.ly"
1567 \include "partes/VII.ly"
1568 ... etc.
1569 @end example
1570
1571 Los archivos de inclusión también pueden contener enunciados
1572 @code{\include} a su vez.  De forma predeterminada, estos enunciados
1573 @code{\include} de segundo nivel no se interpretan hasta que se
1574 incorporan al archivo principal, por lo que los nombres de archivo que
1575 especifican deben ser relativos al directorio que contiene el archivo
1576 principal, no al directorio que contiene el archivo incluido.  Sin
1577 embargo, este comportamiento se puede modificar pasando la opción
1578 @option{-drelative-includes} en la línea de órdenes (o mediante la
1579 adición de @code{#(ly:set-option 'relative-includes #t)} al principio
1580 del archivo principal de entrada).  Con el valor de
1581 @code{relative-includes} establecido, la ruta de cada instrucción
1582 @code{\include} se considera relativa al archivo que contiene dicha
1583 instrucción.  Este comportamiento es el recomendado y se convertirá en
1584 el comportamiento predeterminado en una versión futura de lilypond.
1585
1586 También se pueden incluir archivos de un directorio que está en una
1587 ruta de búsqueda especificada como opción al invocar a LilyPond desde
1588 la línea de órdenes.  Los archivos incluidos se especifican usando
1589 solamente su nombre de archivo.  Por ejemplo, para compilar mediante
1590 este método un archivo @file{principal.ly} que incluye archivos
1591 situados en un subdirectorio llamado @file{partes}, cambie al
1592 directorio que contiene @file{principal.ly} e introduzca
1593
1594 @example
1595 lilypond --include=partes principal.ly
1596 @end example
1597
1598 y en @file{principal.ly} escriba
1599
1600 @example
1601 \include "VI.ly"
1602 \include "VII.ly"
1603 ... etc.
1604 @end example
1605
1606 Los archivos que se incluyen en muchas partituras se pueden poner en
1607 el directorio de LilyPond @file{../ly} (la localización de este
1608 directorio depende de la instalación: véase
1609 @rlearning{Otras fuentes de información}).  Estos archivos se pueden
1610 incluir sencillamente por su nombre en un enunciado @code{\include}.
1611 De esta forma se incluyen los archivos dependientes del idioma como
1612 @file{espanol.ly}.
1613
1614 LilyPond incluye de forma predeterminada ciertos archivos cuando se
1615 inicia el programa.  Estas inclusiones no son visibles para el
1616 usuario, pero los archivos se pueden identificar ejecutando
1617 @code{lilypond --verbose} desde la línea de órdenes.  Esto presentará
1618 una lista de rutas y archivos que utiliza LilyPond, junto a muchas
1619 otras indicaciones.  De forma alternativa, pueden verse explicaciones
1620 sobre los archivos más importantes de este conjunto en
1621 @rlearning{Otras fuentes de información}.  Estos archivos se pueden
1622 editar, pero los cambios realizados sobre ellos se perderán al
1623 instalar una nueva versión de LilyPond.
1624
1625 Pueden verse ejemplos sencillos sobre el uso de @code{\include} en
1626 @rlearning{Partituras y particellas}.
1627
1628
1629 @seealso
1630 Manual de aprendizaje:
1631 @rlearning{Otras fuentes de información},
1632 @rlearning{Partituras y particellas}.
1633
1634 @knownissues
1635 Si un archivo incluido recibe un nombre igual al de uno de los
1636 archivos de instalación de LilyPond, el archivo que tiene prioridad es
1637 el de los archivos de instalación de LilyPond.
1638
1639
1640 @node Distintas ediciones a partir de una misma fuente
1641 @subsection Distintas ediciones a partir de una misma fuente
1642 @translationof Different editions from one source
1643
1644 Se pueden usar varios métodos para generar la producción de distintas
1645 versiones de una partitura a partir de la misma fuente musical.  Las
1646 variables son quizá el más útil para combinar secciones extensas de
1647 música y/o anotaciones.  Las etiquetas son más útiles para seleccionar
1648 una sección de entre varias secciones de música alternativas, más
1649 cortas, y se pueden usar también para dividir piezas de música en
1650 distintos trozos.
1651
1652 Cualquiera que sea el método utilizado, la separación de la notación
1653 de la estructura de la partitura hará que sea más fácil cambiar la
1654 estructura dejando intacta la notación.
1655
1656
1657 @menu
1658 * Uso de las variables::
1659 * Uso de etiquetas::
1660 * Uso de ajustes globales::
1661 @end menu
1662
1663 @node Uso de las variables
1664 @unnumberedsubsubsec Uso de las variables
1665 @translationof Using variables
1666
1667 @cindex variables, uso de las
1668
1669 Si las secciones de la música se definen dentro de variables, se
1670 pueden reutilizar en distintas partes de la partitura, véase
1671 @rlearning{Organizar las piezas mediante variables}.  Por ejemplo, una
1672 partitura vocal @notation{a cappella} con frecuencia incluye una
1673 reducción de piano de las partes para ensayar que es idéntica a la
1674 música vocal, por lo que ésta sólo se tiene que escribir una vez.  Se
1675 puede combinar sobre un solo pentagrama la música de dos variables,
1676 véase @ref{Combinación automática de las partes}.  He aquí un ejemplo:
1677
1678 @lilypond[verbatim,quote]
1679 sopranoMusic = \relative c'' { a4 b c b8( a) }
1680 altoMusic = \relative g' { e4 e e f }
1681 tenorMusic = \relative c' { c4 b e d8( c) }
1682 bassMusic = \relative c' { a4 gis a d, }
1683 allLyrics = \lyricmode {King of glo -- ry }
1684 <<
1685   \new Staff = "Soprano" \sopranoMusic
1686   \new Lyrics \allLyrics
1687   \new Staff = "Alto" \altoMusic
1688   \new Lyrics \allLyrics
1689   \new Staff = "Tenor" {
1690     \clef "treble_8"
1691     \tenorMusic
1692   }
1693   \new Lyrics \allLyrics
1694   \new Staff = "Bass" {
1695     \clef "bass"
1696     \bassMusic
1697   }
1698   \new Lyrics \allLyrics
1699   \new PianoStaff <<
1700     \new Staff = "RH" {
1701       \set Staff.printPartCombineTexts = ##f
1702       \partcombine
1703       \sopranoMusic
1704       \altoMusic
1705     }
1706     \new Staff = "LH" {
1707       \set Staff.printPartCombineTexts = ##f
1708       \clef "bass"
1709       \partcombine
1710       \tenorMusic
1711       \bassMusic
1712     }
1713   >>
1714 >>
1715 @end lilypond
1716
1717 Se pueden producir partituras distintas que presenten sólo las partes
1718 vocales o sólo la parte de piano, cambiando solamente los enunciados
1719 estructurales, sin modificar la notación musical.
1720
1721 Para partituras extensas, las definiciones de variable se pueden poner
1722 en archivos separados que se incluyen más tarde, véase @ref{Inclusión de archivos de LilyPond}.
1723
1724
1725 @node Uso de etiquetas
1726 @unnumberedsubsubsec Uso de etiquetas
1727 @translationof Using tags
1728
1729 @funindex \tag
1730 @funindex \keepWithTag
1731 @funindex \removeWithTag
1732 @funindex \pushToTag
1733 @funindex \appendToTag
1734 @cindex etiqueta
1735 @cindex mantener música etiquetada
1736 @cindex quitar música etiquetada
1737 @cindex división en música etiquetada
1738
1739 La instrucción @code{\tag #'@var{parteA}} marca una expresión musical
1740 con el nombre @var{parteA}.  Las expresiones etiquetadas de esta
1741 manera se pueden seleccionar o filtrar más tarde por su nombre, usando
1742 bien @code{\keepWithTag #'@var{nombre}} o bien @code{\removeWithTag
1743 #'@var{nombre}}.  El resultado de la aplicación de estos filtros a la
1744 música etiquetada es como sigue:
1745
1746 @multitable @columnfractions .5 .5
1747 @headitem Filtro
1748   @tab Resultado
1749 @item
1750 Música etiquetada precedida de @code{\keepWithTag #'@var{nombre}}
1751 @tab
1752 Se incluye la música no etiquetada y la música etiquetada con
1753 @var{nombre}; se excluye la música etiquetada con cualquier otro
1754 nombre de etiqueta.
1755 @item
1756 Música etiquetada precedida de @code{\removeWithTag #'@var{nombre}}
1757 @tab
1758 Se incluye la música no etiquetada y la música etiquetada con
1759 cualquier nombre de etiqueta distinto a @var{nombre}; se excluye la
1760 música etiquetada con @var{nombre}.
1761 @item
1762 Música etiquetada no precedida de @code{\keepWithTag} ni de
1763 @code{\removeWithTag}
1764 @tab Se incluye toda la música etiquetada y no etiquetada.
1765 @end multitable
1766
1767 Los argumentos de las instrucciones @code{\tag}, @code{\keepWithTag} y
1768 @code{\removeWithTag} deben ser un símbolo (como @code{#'partitura} o
1769 @code{#'parte}), seguido de una expresión musical.
1770
1771 En el ejemplo siguiente vemos dos versiones de una pieza musical, una
1772 que muestra trinos con la notación usual y otra con los trinos
1773 expandidos explícitamente:
1774
1775 @lilypond[verbatim,quote]
1776 music = \relative g' {
1777   g8. c32 d
1778   \tag #'trills { d8.\trill }
1779   \tag #'expand { \repeat unfold 3 { e32 d } }
1780   c32 d
1781  }
1782
1783 \score {
1784   \keepWithTag #'trills \music
1785 }
1786 \score {
1787   \keepWithTag #'expand \music
1788 }
1789 @end lilypond
1790
1791 @noindent
1792 De forma alternativa, a veces es más fácil excluir secciones de música:
1793
1794 @lilypond[verbatim,quote]
1795 music = \relative g' {
1796   g8. c32 d
1797   \tag #'trills { d8.\trill }
1798   \tag #'expand {\repeat unfold 3 { e32 d } }
1799   c32 d
1800  }
1801
1802 \score {
1803   \removeWithTag #'expand
1804   \music
1805 }
1806 \score {
1807   \removeWithTag #'trills
1808   \music
1809 }
1810 @end lilypond
1811
1812 El filtrado con etiquetas se puede aplicar a articulaciones, textos,
1813 etc. anteponiendo
1814
1815 @example
1816 -\tag #'@var{mi-etiqueta}
1817 @end example
1818
1819 a una articulación.  Por ejemplo, esto define una nota con una
1820 indicación opcional de digitación y una nota con una anotación
1821 condicional:
1822
1823 @example
1824 c1-\tag #'finger ^4
1825 c1-\tag #'warn ^"¡Ojo!"
1826 @end example
1827
1828 Se pueden poner varias etiquetas sobre expresiones con varias entradas
1829 de @code{\tag}:
1830
1831 @lilypond[quote,verbatim]
1832 music = \relative c'' {
1833   \tag #'a \tag #'both { a4 a a a }
1834   \tag #'b \tag #'both { b4 b b b }
1835 }
1836 <<
1837 \keepWithTag #'a \music
1838 \keepWithTag #'b \music
1839 \keepWithTag #'both \music
1840 >>
1841 @end lilypond
1842
1843 Se pueden aplicar varios filtros @code{\removeWithTag} a una sola
1844 expresión musical para quitar varias secciones etiquetadas con nombres
1845 distintos:
1846
1847 @lilypond[verbatim,quote]
1848 music = \relative c'' {
1849 \tag #'A { a4 a a a }
1850 \tag #'B { b4 b b b }
1851 \tag #'C { c4 c c c }
1852 \tag #'D { d4 d d d }
1853 }
1854 {
1855 \removeWithTag #'B
1856 \removeWithTag #'C
1857 \music
1858 }
1859 @end lilypond
1860
1861 Dos o más filtros @code{\keepWithTag} aplicados a una sola expresión
1862 musical producen la eliminación de @emph{todas} las secciones
1863 etiquetadas, porque el primer filtro quita todas las secciones
1864 etiquetadas excepto la que se nombra, y el segundo filtro elimina
1865 incluso esa sección etiquetada.
1866
1867 A vecespodemos desear dividir la música en un determinado lugar dentro
1868 de una expresión musical existente.  Podemos usar @code{\pushToTag} y
1869 @code{\appendToTag} para añadir material delante o al final de los
1870 @code{elements} de una construcción musical existente.  No toda
1871 construcción musical tiene la parte @code{elements}, pero las músicas
1872 secuenciaes y simultáneas son dos apuestas seguras:
1873
1874 @lilypond[verbatim,quote]
1875 test = { \tag #'here { \tag #'here <<c''>> } }
1876
1877 {
1878   \pushToTag #'here c'
1879   \pushToTag #'here e'
1880   \pushToTag #'here g' \test
1881   \appendToTag #'here c'
1882   \appendToTag #'here e'
1883   \appendToTag #'here g' \test
1884 }
1885 @end lilypond
1886
1887 Las dos instrucciones admiten una etiqueta, el material que dividir en
1888 cada ocurrencia de la etiqueta, y la expresión etiquetada.  Las
1889 instrucciones aseguran que se copia todo lo que cambian, de forma que
1890 el código original @code{\test} retiene su significado.
1891
1892 @seealso
1893 Manual de aprendizaje:
1894 @rlearning{Organizar las piezas mediante variables}.
1895
1896 Referencia de la notación:
1897 @ref{Combinación automática de las partes},
1898 @ref{Inclusión de archivos de LilyPond}.
1899
1900
1901 @ignore
1902 @c This warning is more general than this placement implies.
1903 @c Rests are not merged whether or not they come from tagged sections.
1904 @c Should be deleted?  -td
1905
1906
1907 @knownissues
1908
1909 Multiple rests are not merged if you create a score with more
1910 than one tagged section at the same place.
1911
1912 @end ignore
1913
1914 @node Uso de ajustes globales
1915 @unnumberedsubsubsec Uso de ajustes globales
1916 @translationof Using global settings
1917
1918 @cindex include-settings
1919
1920 Se pueden incluir ajustes globales a partir de un archivo distinto:
1921
1922 @example
1923 lilypond -dinclude-settings=MIS_AJUSTES.ly MI_PARTITURA.ly
1924 @end example
1925
1926 En archivos diferentes se pueden almacenar  grupos de ajustes como
1927 el tamaño de la página o las fuentes tipográficas.  Ello permite
1928 hacer diferentes ediciones de la mism a partitura así como aplicar
1929 ajustes estándar a muchas partituras, simplemente por medio de la
1930 especificación del archivo de ajustes adecuado.
1931
1932 Esta técnica también funciona bien con el uso de hojas de estilo,
1933 como se estudia en @rlearning{Hojas de estilo}.
1934
1935 @seealso
1936 Manual de aprendizaje:
1937 @rlearning{Organizar las piezas mediante variables},
1938 @rlearning{Hojas de estilo}.
1939
1940 Referencia de la notación:
1941 @ref{Inclusión de archivos de LilyPond}.
1942
1943 @node Caracteres especiales
1944 @subsection Caracteres especiales
1945 @translationof Special characters
1946
1947 @cindex caracteres especiales
1948 @cindex caracteres no ASCII
1949
1950 @menu
1951 * Codificación del texto::
1952 * Unicode::
1953 * Alias de ASCII::
1954 @end menu
1955
1956
1957 @node Codificación del texto
1958 @unnumberedsubsubsec Codificación del texto
1959 @translationof Text encoding
1960
1961 @cindex UTF-8
1962
1963 LilyPond usa el conjunto de caracteres definido por el consorcio
1964 Unicode y la norma ISO/IEC 10646.  Define un nombre único y un código
1965 para los conjuntos de caracteres que se utilizan en prácticamente
1966 todos los idiomas modernos y también en muchos otros.  Unicode se
1967 puede implementar utilizando varios esquemas de codificación
1968 distintos.  LilyPond usa la codificación UTF-8 (UTF son las siglas de
1969 @emph{Unicode Transformation Format}, o formato de transformación de
1970 Unicode) que representa todos los caracteres comunes de Latin en un
1971 solo byte, y representa otros caracteres usando un formato de longitud
1972 variable de hasta cuatro bytes.
1973
1974 El aspecto visual real de los caracteres viene determinado por los
1975 glifos que se definen en las fuentes tipográficas concretas que se
1976 tengan disponibles: una fuente tipográfica define la asignación de un
1977 subconjunto de los códigos de Unicode a glifos.  LilyPond usa la
1978 biblioteca Pango para representar y disponer tipográficamente textos
1979 multilingües.
1980
1981 LilyPond no realiza ninguna conversión en la codificación de la
1982 entrada.  Esto significa que cualquier text, ya sea el título, la
1983 letra de la canción o una instrucción musical que contenga caracteres
1984 distintos a los del conjunto ASCII, se deben codificar en UTF-8.  La
1985 forma más fácil de escribir dicho texto es utilizar un editor
1986 preparado para Unicode y guardar el archivo con la codificación UTF-8.
1987 Casi todos los editores modernos populares contemplan el UTF-8, por
1988 ejemplo lo hacen vim, Emacs, jEdit, y GEdit.  Todos los sistemas MS
1989 Windows posteriores a NT usan Unicode como codificación de caracteres
1990 nativa, de manera que incluso el accesorio Bloc de Notas (Notepad)
1991 puede editar y guardar un archivo en el formato UTF-8.  Una
1992 alternativa más funcional para Windows es BabelPad.
1993
1994 Si un archivo de entrada que contiene un carácter que no es ASCII, no
1995 se guarda en el formato UTF-8, se genera el mensaje de error
1996
1997 @example
1998 FT_Get_Glyph_Name () error: argumento inválido
1999 @end example
2000
2001 He aquí un ejemplo que muestra texto cirílico, hebreo y portugués:
2002
2003 @lilypond[quote]
2004 %c No verbatim here as the code does not display correctly in PDF
2005 % Cyrillic
2006 bulgarian = \lyricmode {
2007   Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
2008 }
2009
2010 % Hebrew
2011 hebrew = \lyricmode {
2012   זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
2013 }
2014
2015 % Portuguese
2016 portuguese = \lyricmode {
2017   à vo -- cê uma can -- ção legal
2018 }
2019
2020 \relative c' {
2021   c2 d e f g f e
2022 }
2023 \addlyrics { \bulgarian }
2024 \addlyrics { \hebrew }
2025 \addlyrics { \portuguese }
2026 @end lilypond
2027
2028
2029 @node Unicode
2030 @unnumberedsubsubsec Unicode
2031
2032 @cindex Unicode
2033
2034 Para introducir un carácter aislado para el que se conoce el punto de
2035 código Unicode pero no está disponible en el editor que se está
2036 usando, use @code{\char ##xhhhh} o bien @code{\char #dddd} dentro de
2037 un bloque @code{\markup}, donde @code{hhhh} es el código hexadecimal
2038 del carácter en cuestión y @code{dddd} es su valor decimal
2039 correspondiente.  Pueden omitirse los ceros iniciales, pero es
2040 costumbre indicar los cuatro caracteres en la representación
2041 hexadecimal (observe que @emph{no} debe utilizarse la codificación
2042 UTF-8 del punto de código Unicode después de @code{\char}, pues la
2043 codificación UTF-8 contiene bits adicionales que indican el número de
2044 octetos).  Hay tablas de códigos Unicode y un índice de nombres de
2045 caracteres que da el punto de código en hexadecimal para cualquier
2046 carácter en el portal del Consorcio Unicode,
2047 @uref{http://www.unicode.org/}.
2048
2049
2050 Por ejemplo, tanto @code{\char ##x03BE} como @code{\char #958}
2051 insertan el carácter Unicode U+03BE, que tiene el nombre Unicode
2052 @qq{Letra griega Xi pequeña}.
2053
2054 Se puede escribir de esta forma cualquier punto de código Unicode, y
2055 si todos los caracteres especiales se escriben en este formato no es
2056 necesario guardar el archivo de entrada en formato UTF-8.  Por
2057 supuesto, debe estar instalada y estar disponible para LilyPond una
2058 fuente tipográfica que contenga codificados todos estos caracteres.
2059
2060 El ejemplo siguiente muestra valores hexadecimales Unicode que se usan
2061 en cuatro lugares: en una llamada de ensayo, como texto de
2062 articulación, en la letra y como texto independiente bajo la
2063 partitura:
2064
2065 @lilypond[quote,verbatim]
2066 \score {
2067   \relative c'' {
2068     c1 \mark \markup { \char ##x03EE }
2069     c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } }
2070   }
2071   \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } }
2072 }
2073 \markup { "Copyright 2008--2012" \char ##x00A9 }
2074 @end lilypond
2075
2076 @cindex copyright, símbolo de
2077
2078 Para escribir el símbolo de copyright en la nota de créditos, utilice:
2079
2080 @example
2081 \header @{
2082   copyright = \markup @{ \char ##x00A9 "2008" @}
2083 @}
2084 @end example
2085
2086
2087 @node Alias de ASCII
2088 @unnumberedsubsubsec Alias de ASCII
2089 @translationof ASCII aliases
2090
2091 Se puede incluir una lista de alias de ASCII para caracteres
2092 especiales:
2093
2094 @lilypond[quote,verbatim]
2095 \paper {
2096   #(include-special-characters)
2097 }
2098
2099 \markup "&flqq; &ndash; &OE;uvre incomplète&hellip; &frqq;"
2100
2101 \score {
2102   \new Staff { \repeat unfold 9 a'4 }
2103   \addlyrics {
2104     This is al -- so wor -- kin'~in ly -- rics: &ndash;_&OE;&hellip;
2105   }
2106 }
2107
2108 \markup \column {
2109   "The replacement can be disabled:"
2110   "&ndash; &OE; &hellip;"
2111   \override #'(replacement-alist . ()) "&ndash; &OE; &hellip;"
2112 }
2113 @end lilypond
2114
2115 También podemos hacer nuestros propios alias, ya sea de forma global:
2116
2117 @lilypond[quote,verbatim]
2118 \paper {
2119   #(add-text-replacements!
2120     '(("100" . "hundred")
2121       ("dpi" . "dots per inch")))
2122 }
2123 \markup "A 100 dpi."
2124 @end lilypond
2125
2126 o local:
2127
2128 @lilypond[quote,verbatim]
2129 \markup \replace #'(("100" . "hundred")
2130                     ("dpi" . "dots per inch")) "A 100 dpi."
2131 @end lilypond
2132
2133 @seealso
2134 Referencia de la notación:
2135 @ref{Lista de caracteres especiales}.
2136
2137 Archivos instalados:
2138 @file{ly/text-replacements.ly}.
2139
2140
2141
2142 @node Controlar la salida
2143 @section Controlar la salida
2144 @translationof Controlling output
2145
2146 @menu
2147 * Extracción de fragmentos de música::
2148 * Saltar la música corregida::
2149 * Formatos de salida alternativos::
2150 * Sustituir la tipografía de la notación::
2151 @end menu
2152
2153 @node Extracción de fragmentos de música
2154 @subsection Extracción de fragmentos de música
2155 @translationof Extracting fragments of music
2156
2157 Es posible citar pequeños fragmentos de una partitura grande
2158 directamente a partir de la salida.  Puede compararse con la
2159 separación de una pieza de una partitura, recortándola con tijeras.
2160
2161 Esto se hace definiendo los compases que se deben recortar.  Por
2162 ejemplo, la inclusión de la siguiente definición
2163
2164 @verbatim
2165 \layout {
2166   clip-regions
2167   = #(list
2168       (cons
2169        (make-rhythmic-location 5 1 2)
2170        (make-rhythmic-location 7 3 4)))
2171 }
2172 @end verbatim
2173
2174 @noindent
2175 extrae un fragmento empezando por la mitad del quinto compás y
2176 finalizando en el séptimo compás.  El significado de @code{5 1 2} es:
2177 después de una blanca (1/2) en el compás 5, y el de @code{7 3 4}
2178 después de tres negras del compás 7.
2179
2180 Se pueden definir más zonas de recorte añadiendo más parejas de
2181 definición de tiempo rhythmic-location a la lista.
2182
2183 Para poder utilizar esta funcionalidad, LilyPond se debe invocar con
2184 la opción @option{-dclip-systems}.  Los recortes aparecen en la salida
2185 como archivos EPS, y se convierten en PDF y PNG si estos formatos
2186 también están activados.
2187
2188 Para ver más información sobre los formatos de salida, consulte
2189 @rprogram{Invocar a LilyPond}.
2190
2191
2192 @node Saltar la música corregida
2193 @subsection Saltar la música corregida
2194 @translationof Skipping corrected music
2195
2196 @funindex skipTypesetting
2197 @funindex showFirstLength
2198 @funindex showLastLength
2199
2200 Al escribir o copiar música, normalmente sólo es interesante de ver y
2201 corregir la música cercana al final (donde estamos añadiendo las
2202 notas).  Para acelerar este proceso de corrección, es posible saltar
2203 la composición tipográfica de todos excepto unos pocos de los últimos
2204 compases.  Esto se consigue poniendo
2205
2206 @verbatim
2207 showLastLength = R1*5
2208 \score { ... }
2209 @end verbatim
2210
2211 @noindent
2212 en nuestro archivo fuente.  Esto hará que se tracen sólo los últimos
2213 cinco compases (suponiendo un compás de 4/4) de cada una de las
2214 partituras @code{\score} del archivo de entrada.  Para piezas largas,
2215 el tipografiado de únicamente una parte pequeña es con frecuencia un
2216 orden de magnitud más rápido que el de la obra completa.  Si estamos
2217 trabajando sobre el principio de una partitura que ya hemos
2218 tipografiado (p.ej., para añadir una parte instrumental nueva),
2219 también puede ser útil la propiedad @code{showFirstLength}.
2220
2221 Este mecanismo de pasar por alto partes de un partitura se puede
2222 controlar con un grano más fino mediante la propiedad
2223 @code{Score.skipTypesetting}.  Cuando su valor está establecido, no se
2224 lleva a cabo ningún tipografiado en absoluto.
2225
2226 Esta propiedad se usa también para controlar la salida al archivo
2227 MIDI.  Observe que pasa por alto todos los eventos, incluidos el tempo
2228 y los cambios de instrumento.  Está usted advertido.
2229
2230 @lilypond[quote,relative=2,ragged-right,verbatim]
2231 c8 d
2232 \set Score.skipTypesetting = ##t
2233 e8 e e e e e e e
2234 \set Score.skipTypesetting = ##f
2235 c8 d b bes a g c2
2236 @end lilypond
2237
2238 En música polifónica, @code{Score.skipTypesetting} afecta a todas las
2239 voces y pentagramas, ahorrando más tiempo incluso.
2240
2241 @node Formatos de salida alternativos
2242 @subsection Formatos de salida alternativos
2243 @translationof Alternative output formats
2244
2245 @cindex salida de gráficos de vector escalables
2246 @cindex SVG, salida
2247 @cindex salida de PostScript encapsulado
2248 @cindex EPS, salida
2249 @cindex PostScript encapsulado, salida de
2250
2251 Los formatos de salida predeterminados para la partitura impresa son
2252 el formato de documento portátil (PDF) y PostScript (PS).  Los
2253 formatos de salida Gráficos de vector escalables (SVG), PostScript
2254 encapsulado (EPS) y Gráficos de red portátiles (PNG) también están
2255 disponibles a través de opciones de la línea de órdenes, véase
2256 @rprogram{Opciones de la línea de órdenes para lilypond}.
2257
2258
2259 @node Sustituir la tipografía de la notación
2260 @subsection Sustituir la tipografía de la notación
2261 @translationof Replacing the notation font
2262
2263 Gonville es una alternativa a la tipografía Feta que se utiliza en
2264 LilyPond y se puede descargar de:
2265 @example
2266 @uref{http://www.chiark.greenend.org.uk/~sgtatham/gonville/ ,http://www.chiark.greenend.org.uk/~sgtatham/gonville/}
2267 @end example
2268
2269 Aquí presentamos algunos compases de muestra tipografiados con la
2270 fuente Gonville:
2271
2272 @c NOTE: these images are a bit big, but that's important
2273 @c       for the font comparison.  -gp
2274 @sourceimage{Gonville_after,,,}
2275
2276 Aquí hay unos compases de muestra tipografiados en la fuente Feta de
2277 LilyPond:
2278
2279 @sourceimage{Gonville_before,,,}
2280
2281 @subsubheading Instrucciones de instalación para MacOS
2282
2283 Descargue y extraiga el archivo zip. Copie la carpeta @code{lilyfonts}
2284 a @file{@var{SHARE_DIR}/lilypond/current}; para más información,
2285 consulte @rlearning{Otras fuentes de información}.  Renombre la carpeta
2286 @code{fonts} existente a @code{fonts_orig} y la carpeta
2287 @code{lilyfonts} a @code{fonts}.  Para volver a la fuente Feta,
2288 invierta el proceso.
2289
2290 @seealso
2291 Manual de aprendizaje:
2292 @rlearning{Otras fuentes de información}.
2293
2294 @knownissues
2295
2296 Gonville no se puede usar para tipografiar notación de @q{Música
2297 Antigua} y es probable que cualquier nuevo glifo en versiones
2298 posteriores de LilyPond no existan en la familia
2299 tipográfica Gonville.  Diríjase a la página web del autor para obtener más
2300 información sobre éste y otros asuntos, entre ellos el régimen de
2301 licencias de Gonville.
2302
2303
2304 @node Salida MIDI
2305 @section Salida MIDI
2306 @translationof MIDI output
2307
2308 @cindex sonido
2309 @cindex MIDI
2310
2311 El MIDI (Musical Instrument Digital Interface, Interfase Digital para
2312 Instrumentos Musicales) es un estándar para interconectar y controlar
2313 instrumentos musicales electrónicos.  Un archivo o secuencia MIDI es
2314 una serie de notas dentro de un conjunto de pistas.  No es un archivo
2315 de sonidos reales; se necesita un programa reproductor especial para
2316 traducir la serie de notas en sonidos de verdad.
2317
2318 Cualquier música se puede convertir a archivos MIDI, de manera que
2319 podamos escuchar lo que hayamos introducido.  Esto es muy conveniente
2320 para comprobar la corrección de la música; las octavas equivocadas o
2321 las alteraciones erróneas se ponen de relieve muy claramente al
2322 escuchar la salida MIDI.
2323
2324 La salida estándar de MIDI es un poco primitiva; de forma opcional, se
2325 encuentra disponible una salida MIDI mejorada y mucho más realista,
2326 por medio de @ref{El script Articulate}.
2327
2328 La salida MIDI reserva un canal por cada pentagrama, y reserva
2329 el canal 10 para la percusión.  Sólo hay 16 canales MIDI por cada
2330 dispositivo, por lo que si la partitura tiene más de 15 pautas, los
2331 canales MIDI se reutilizarán.
2332
2333 @menu
2334 * Crear archivos MIDI::
2335 * El bloque MIDI::
2336 * ¿Qué sale por el MIDI?::
2337 * Repeticiones y MIDI::
2338 * Control de los matices en el MIDI::
2339 * Percusión en MIDI::
2340 * El script Articulate::
2341 @end menu
2342
2343 @node Crear archivos MIDI
2344 @subsection Crear archivos MIDI
2345 @translationof Creating MIDI files
2346
2347 Para crear un MIDI a partir de una pieza de música, escriba un bloque
2348 @code{\midi} en la partitura, por ejemplo:
2349
2350 @example
2351 \score @{
2352   @var{...música...}
2353   \midi @{ @}
2354 @}
2355 @end example
2356
2357 Si hay un bloque @code{\midi} dentro de un @code{\score} que no tenga
2358 ningún bloque @code{\layout}, solamente se producirá MIDI.  Si se
2359 necesita una notación impresa, debe haber también un bloque
2360 @code{\layout}:
2361
2362 @example
2363 \score @{
2364   @var{...música...}
2365   \midi @{ @}
2366   \layout @{ @}
2367 @}
2368 @end example
2369
2370 Se traducen correctamente a la salida MIDI la altura y duración de las
2371 notas, las ligaduras de unión, matices y cambios de tempo.  Las
2372 indicaciones dinámicas, crescendi y decrescendi se traducen a niveles
2373 de volumen MIDI.  Las marcas dinámicas se traducen a una fracción fija
2374 del rango de volumen MIDI disponible.  Los crescendi y decrescendi
2375 hacen que el volumen varía linealmente entre sus dos extremos. El
2376 efecto de las indicaciones dinámicas sobre la salida MIDI se puede
2377 eliminar por completo, véase @ref{El bloque MIDI}.
2378
2379 El tempo inicial y los cambios de tempo posteriores se pueden
2380 especificar utilizando la instrucción @code{\tempo} dentro de la
2381 propia notación musical.  Se reflejan en cambios de tempo en la salida
2382 MIDI.  Esta instrucción normalmente hace que se imprima la indicación
2383 metronómica, pero esto se puede eliminar, véase @ref{Indicaciones metronómicas}.
2384 Más abajo se describe una forma alternativa de especificar el tempo
2385 MIDI inicial o global, véase @ref{El bloque MIDI}.
2386
2387 Debido a ciertas limitaciones de Windows, la extensión predeterminada
2388 para los archivos MIDI en Windows es @code{.mid}. Otros sistemas
2389 operativos utilizan la extensión @code{.midi}.  Si prefiere una
2390 extensión diferente, inserte la siguiente línea en el nivel jerárquico
2391 superior del archivo de entrada, antes del inicio de cualquier bloque
2392 @code{\book}, @code{\bookpart} o @code{\score}:
2393
2394 @example
2395 #(ly:set-option 'midi-extension "midi")
2396 @end example
2397
2398 La línea anterior establece la extensión predeterminada para los
2399 archivos MIDI a @code{.midi}.
2400
2401 De forma alternativa, esta opción se puede también proporcionar en la
2402 línea de órdenes:
2403
2404 @example
2405 lilypond … -dmidi-extension=midi archivoLily.ly
2406 @end example
2407
2408
2409 @unnumberedsubsubsec Nombres de instrumentos
2410
2411 @cindex instrumento, nombres de
2412 @funindex Staff.midiInstrument
2413
2414 El nombre del instrumento MIDI se establece mediante la propiedad
2415 @code{Staff.midiInstrument}.  El nombre del instrumento se debe elegir
2416 de entre los que están en la lista que aparece en @ref{Instrumentos MIDI}.
2417
2418 @example
2419 \new Staff @{
2420   \set Staff.midiInstrument = #"glockenspiel"
2421   @var{...notes...}
2422 @}
2423 @end example
2424
2425 @example
2426 \new Staff \with @{midiInstrument = #"cello"@} @{
2427   @var{...notes...}
2428 @}
2429 @end example
2430
2431 Si el instrumento elegido no coincide exactamente con uno de los
2432 instrumentos de la lista de instrumentos MIDI, se usará el instrumento
2433 Piano de Cola (@code{"acoustic grand"}).
2434
2435 @snippets
2436
2437 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
2438 {changing-midi-output-to-one-channel-per-voice.ly}
2439
2440 @knownissues
2441
2442 @c In 2.11 the following no longer seems to be a problem -td
2443 @ignore
2444 Unterminated (de)crescendos will not render properly in the midi file,
2445 resulting in silent passages of music.  The workaround is to explicitly
2446 terminate the (de)crescendo.  For example,
2447
2448 @example
2449 @{ a4\< b c d\f @}
2450 @end example
2451
2452 @noindent
2453 will not work properly but
2454
2455 @example
2456 @{ a4\< b c d\!\f @}
2457 @end example
2458
2459 @noindent
2460 will.
2461 @end ignore
2462
2463 Los cambios del volumen MIDI sólo tienen lugar al principio de la
2464 nota, por lo que los crescendi y decrescendi no pueden afectar al
2465 volumen de una sola nota.
2466
2467 No todos los reproductores de MIDI manejar adecuadamente los cambios de
2468 tempo de la salida MIDI.  Entre los reproductores que se sabe que
2469 funcionan se encuentran el Reproductor de Medios de MS Windows y
2470 @uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
2471
2472
2473 @node El bloque MIDI
2474 @subsection El bloque MIDI
2475 @translationof MIDI block
2476
2477 @cindex bloque MIDI
2478
2479 Si se requiere una salida MIDI, debe aparecer un bloque @code{\midi}
2480 dentro de un bloque de partitura.  Es análogo al bloque layout de
2481 diseño de página, pero algo más simple.  Con frecuencia, el bloque
2482 @code{\midi} se deja vacío, pero puede contener reorganizaciones de
2483 contextos, definiciones de contexto nuevas o código para fijar valores
2484 de propiedades.  Por ejemplo, en el ejemplo siguiente se establece el
2485 tempo inicial exportado al archivo MIDI sin hacer que se imprima una
2486 indicación de tempo:
2487
2488 @example
2489 \score @{
2490   @var{...música...}
2491   \midi @{
2492     \context @{
2493       \Score
2494       tempoWholesPerMinute = #(ly:make-moment 72 4)
2495     @}
2496   @}
2497 @}
2498 @end example
2499
2500 En este ejemplo, el tempo se establece a 72 pulsos de negra por
2501 minuto.  Esta clase de especificación de tempo no puede tomar como
2502 argumento una figura con puntillo.  Si necesitamos una figura con
2503 puntillo, dividimos la nota con puntillo en figuras más pequeñas.  Por
2504 ejemplo, un tempo de 90 negras con puntillo por minuto se puede
2505 especificar como 270 corcheas por minuto:
2506
2507 @example
2508 tempoWholesPerMinute = #(ly:make-moment 270 8)
2509 @end example
2510
2511 @cindex MIDI, definiciones de contexto
2512
2513 Las definiciones de contexto siguen con precisión la misma sintaxis
2514 que la de un bloque @code{\layout}.  Los módulos de traducción para el
2515 sonido reciben el nombre de ejecutantes.  Los contextos para la salida
2516 MIDI se definen en @file{../ly/performer-init.ly}, véase
2517 @rlearning{Otras fuentes de información}.  Por ejemplo, para eliminar
2518 el efecto de los matices de la salida MIDI, inserte las líneas
2519 siguientes en el bloque @code{\midi@{ @}}.
2520
2521 @example
2522 \midi @{
2523   ...
2524   \context @{
2525     \Voice
2526     \remove "Dynamic_performer"
2527   @}
2528 @}
2529 @end example
2530
2531 La salida MIDI se crea sólo cuando se incluye un bloque @code{\midi}
2532 dentro de un bloque de partitura definido con una instrucción
2533 @code{\score}.
2534
2535 @example
2536 \score @{
2537   @{ @dots{}notas@dots{} @}
2538   \midi @{ @}
2539 @}
2540 @end example
2541
2542 @node ¿Qué sale por el MIDI?
2543 @subsection ¿Qué sale por el MIDI?
2544 @translationof What goes into the MIDI output?
2545
2546 @unnumberedsubsubsec Contemplado en el MIDI
2547
2548 @cindex alturas en MIDI
2549 @cindex MIDI, alturas
2550 @cindex cuartos de tono en MIDI
2551 @cindex MIDI, cuartos de tono
2552 @cindex microtonos en MIDI
2553 @cindex MIDI, microtonos
2554 @cindex acordes, nombres de, en MIDI
2555 @cindex MIDI, nombres de
2556 @cindex duraciones en MIDI
2557 @cindex MIDI, duraciones
2558 @cindex Articlulate, scripts
2559 @cindex MIDI, articulaciones
2560 @cindex articulaciones en MIDI
2561 @cindex trinos en MIDI
2562 @cindex grupetos en MIDI
2563 @cindex rallentando en MIDI
2564 @cindex accelerando en MIDI
2565 @c TODO etc
2566
2567 Los siguientes elementos de notación se reflejan en la salida MIDI:
2568
2569 @itemize
2570 @item Alturas
2571 @item Microtonos (véase @ref{Alteraciones accidentales}. La reproducción necesita un reproductor que contemple la curvatura de tono o @emph{pitch bend}.)
2572 @item Acordes escritos como nombres de acorde
2573 @item Ritmos escritos como duraciones de las notas, incluidos los grupos de valoración especial
2574 @item Trémolos escritos sin @q{@code{:}[@var{número}]}
2575 @item Ligaduras de unión
2576 @item Matices o indicaciones de dinámica
2577 @item Crescendi y decrescendi sobre varias notas
2578 @item Cambios de tempo insertados con una marca metronómica
2579 @item Letra de las canciones
2580 @end itemize
2581
2582 Utilizando @ref{El script Articulate}, a la lista anterior se añaden
2583 una serie de elementos:
2584
2585 @itemize
2586 @item Articulaciones (ligaduras de expresión, picados, etc)
2587 @item Trinos, mordentes circulares
2588 @item Rallentando y accelerando
2589 @end itemize
2590
2591
2592 @unnumberedsubsubsec No contemplado en el MIDI
2593
2594 @c TODO index as above
2595
2596 Los siguientes elementos de notación no tienen ningún efecto sobre la
2597 salida MIDI, a no ser que utilicemos @ref{El script Articulate}:
2598
2599 @itemize
2600 @item Duraciones escritas como anotaciones, p.ej. el swing
2601 @item Cambios de tempo escritos como anotaciones sin marca de tempo
2602 @item Staccato y otras articulaciones y ornamentos
2603 @item Ligaduras de expresión y de fraseo
2604 @item Crescendi y decrescendi sobre una nota única
2605 @item Trémolos introducidos con @q{@code{:}[@var{número}]}
2606 @item Bajo cifrado
2607 @item Acordes microtonales
2608 @end itemize
2609
2610
2611 @node Repeticiones y MIDI
2612 @subsection Repeticiones y MIDI
2613 @translationof Repeats in MIDI
2614
2615 @cindex repeticiones, expandir
2616 @funindex \unfoldRepeats
2617
2618 Con un poco de trucaje, se puede hacer que cualquier tipo de
2619 repetición esté presente en la salida MIDI.  Esto se consigue mediante
2620 la aplicación de la función musical @code{\unfoldRepeats}.  Esta
2621 función cambia todas las repeticiones a repeticiones desplegadas.
2622
2623 @lilypond[quote,verbatim]
2624 \unfoldRepeats {
2625   \repeat tremolo 8 { c'32 e' }
2626   \repeat percent 2 { c''8 d'' }
2627   \repeat volta 2 { c'4 d' e' f' }
2628   \alternative {
2629     { g' a' a' g' }
2630     { f' e' d' c' }
2631   }
2632 }
2633 \bar "|."
2634 @end lilypond
2635
2636 En partituras con varias voces, el desplegado de las repeticiones en
2637 la salida MIDI solo se produce correctamente si @emph{todas y cada
2638 una} de las voces incluye las repeticiones de manera completa y
2639 explícita.
2640
2641 Al crear un archivo de partitura que use @code{\unfoldRepeats} para el
2642 MIDI, es necesario hacer dos bloques @code{\score}: uno para el MIDI
2643 (con repeticiones desplegadas) y otro para la notación impresa (con
2644 repeticiones de volta --primera y segunda vez--, tremolo --trémolo--,
2645 y percent --repetición de compases--).  Por ejemplo,
2646
2647 @example
2648 \score @{
2649   @var{..música..}
2650   \layout @{ .. @}
2651 @}
2652 \score @{
2653   \unfoldRepeats @var{..música..}
2654   \midi @{ .. @}
2655 @}
2656 @end example
2657
2658
2659 @node Control de los matices en el MIDI
2660 @subsection Control de los matices en el MIDI
2661 @translationof Controlling MIDI dynamics
2662
2663 La dinámica en el MIDI está implementada por medio del intérprete
2664 Dynamic_performer que reside de forma predeterminada dentro del
2665 contexto Voice.  Es posible controlar el volumen MIDI general, el
2666 volumen relativo de los matices dinámicos y el volumen relativo de los
2667 distintos instrumentos.
2668
2669 @unnumberedsubsubsec Indicaciones dinámicas
2670
2671 Los matices o indicaciones de dinámica se traducen a una fracción fija
2672 del rango de volumen MIDI disponible.  Las fracciones predeterminadas
2673 se extienden desde 0.25 para @notation{ppppp} hasta 0.95 para
2674 @notation{fffff}.  El conjunto de indicaciones dinámicas y las
2675 fracciones asociadas pueden verse en @file{../scm/midi.scm}, véase
2676 @rlearning{Otras fuentes de información}.  Este conjunto de fracciones
2677 se puede cambiar o extender proporcionando una función que toma como
2678 argumento una indicación dinámica y devuelve la fracción requerida, y
2679 estableciendo @code{Score.dynamicAbsoluteVolumeFunction} a esta
2680 función.
2681
2682 Por ejemplo, si se requiere una indicación dinámica
2683 @notation{rinforzando}, @code{\rfz}, ésta no tiene ningún efecto
2684 predeterminado sobre el volumen MIDI, pues no está incluida en el
2685 conjunto predeterminado.  De igual manera, si se define una indicación
2686 dinámica nueva con @code{make-dynamic-script}, ésta tampoco estará
2687 incluida en el conjunto predeterminado.  El ejemplo siguiente muestra
2688 cómo hay que añadir el volumen MIDI para estas indicaciones dinámicas.
2689 La función Scheme establece la fracción a 0.9 si se encuentra una
2690 indicación dinámica rfz, y en caso contrario llama a la función
2691 predeterminada.
2692
2693 @lilypond[verbatim,quote]
2694 #(define (myDynamics dynamic)
2695     (if (equal? dynamic "rfz")
2696       0.9
2697       (default-dynamic-absolute-volume dynamic)))
2698
2699 \score {
2700   \new Staff {
2701     \set Staff.midiInstrument = #"cello"
2702     \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
2703     \new Voice {
2704       \relative c'' {
2705         a4\pp b c-\rfz
2706       }
2707     }
2708   }
2709   \layout {}
2710   \midi {}
2711 }
2712 @end lilypond
2713
2714 Como alternativa, si se necesitara redefinir la tabla completa de
2715 fracciones, sería mejor usar el procedimiento
2716 @notation{default-dynamic-absolute-volume} que aparece en
2717 @file{../scm/midi.scm} y la tabla asociada como modelo.  El último
2718 ejemplo de esta sección muestra cómo se puede hacer esto.
2719
2720 @unnumberedsubsubsec Volumen maestro MIDI
2721
2722 El volumen general máximo y mínimo de las indicaciones dinámicas de
2723 MIDI se controla estableciendo valores para las propiedades
2724 @code{midiMinimumVolume} y @code{midiMaximumVolume} en el nivel de
2725 @code{Score}.  Estas propiedades tienen efecto solamente sobre las
2726 indicaciones dinámicas, por ello si queremos que tengan validez desde
2727 el comienzo de la partitura, se debe colocar allí una indicación de
2728 dinámica.  La fracción que corresponde a cada indicación dinámica se
2729 modifica con esta fórmula:
2730
2731 @example
2732 midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * fracción
2733 @end example
2734
2735 En el ejemplo siguiente, el rango de intensidad dinámica del volumen
2736 general MIDI está limitado al intervalo desde 0.2 hasta 0.5.
2737
2738 @lilypond[verbatim,quote]
2739 \score {
2740   <<
2741     \new Staff {
2742       \key g \major
2743       \time 2/2
2744       \set Staff.midiInstrument = #"flute"
2745       \new Voice \relative c''' {
2746         r2 g\mp g fis~
2747         fis4 g8 fis e2~
2748         e4 d8 cis d2
2749       }
2750     }
2751     \new Staff {
2752       \key g \major
2753       \set Staff.midiInstrument = #"clarinet"
2754       \new Voice \relative c'' {
2755         b1\p a2. b8 a
2756         g2. fis8 e
2757         fis2 r
2758       }
2759     }
2760   >>
2761   \layout {}
2762   \midi {
2763     \context {
2764       \Score
2765       tempoWholesPerMinute = #(ly:make-moment 72 2)
2766       midiMinimumVolume = #0.2
2767       midiMaximumVolume = #0.5
2768     }
2769   }
2770 }
2771 @end lilypond
2772
2773 @unnumberedsubsubsec Balance entre instrumentos (i)
2774
2775 Si las propiedades de volumen MIDI máximo y mínimo están establecidas
2776 en el contexto @code{Staff} se pueden controlar los volúmenes
2777 relativos de los instrumentos MIDI.  Esto proporciona un ecualizador
2778 de instrumentos básico que puede realzar significativamente la calidad
2779 de la salida MIDI.
2780
2781 En este ejemplo se reduce el volumen del clarinete con relación al de
2782 la flauta.  Debe haber una indicación dinámica en la primera nota de
2783 cada instrumento para que esto funcione correctamente.
2784
2785 @lilypond[verbatim,quote]
2786 \score {
2787   <<
2788     \new Staff {
2789       \key g \major
2790       \time 2/2
2791       \set Staff.midiInstrument = #"flute"
2792       \set Staff.midiMinimumVolume = #0.7
2793       \set Staff.midiMaximumVolume = #0.9
2794       \new Voice \relative c''' {
2795         r2 g\mp g fis~
2796         fis4 g8 fis e2~
2797         e4 d8 cis d2
2798       }
2799     }
2800     \new Staff {
2801       \key g \major
2802       \set Staff.midiInstrument = #"clarinet"
2803       \set Staff.midiMinimumVolume = #0.3
2804       \set Staff.midiMaximumVolume = #0.6
2805       \new Voice \relative c'' {
2806         b1\p a2. b8 a
2807         g2. fis8 e
2808         fis2 r
2809       }
2810     }
2811   >>
2812   \layout {}
2813   \midi {
2814     \context {
2815       \Score
2816       tempoWholesPerMinute = #(ly:make-moment 72 2)
2817     }
2818   }
2819 }
2820 @end lilypond
2821
2822 @unnumberedsubsubsec Balance entre instrumentos (ii)
2823
2824 Si las propiedades de volumen MIDI máximo y mínimo no están
2825 establecidas, de forma predeterminada LilyPond aplica un pequeño grado
2826 de ecualización a algunos instrumentos.  Los instrumentos y la
2827 ecualización que se aplica se muestra en la tabla
2828 @notation{instrument-equalizer-alist} en @file{../scm/midi.scm}.
2829
2830 El ecualizador básico predeterminado se puede sustituir estableciendo
2831 @code{instrumentEqualizer} en el contexto @code{Score} a un
2832 procedimiento Scheme nuevo que acepte el nombre de un instrumento MIDI
2833 como único argumento y devuelva un par de fracciones que dan los
2834 volúmenes máximo y mínimo que se aplican a dicho instrumento.  Esta
2835 sustitución se hace de la misma forma que mostramos para restablecer
2836 la fracción de volumen absoluto @code{dynamicAbsoluteVolumeFunction}
2837 al comienzo de esta sección.  El ecualizador predeterminado,
2838 @notation{default-instrument-equalizer}, en
2839 @file{../scm/midi.scm}, muestra cómo se puede escribir tal
2840 procedimiento.
2841
2842 El ejemplo siguiente establece los volúmenes relativos de la flauta y
2843 del clarinete a los mismos valores que el ejemplo anterior.
2844
2845 @lilypond[verbatim,quote]
2846 #(define my-instrument-equalizer-alist '())
2847
2848 #(set! my-instrument-equalizer-alist
2849   (append
2850     '(
2851       ("flute" . (0.7 . 0.9))
2852       ("clarinet" . (0.3 . 0.6)))
2853     my-instrument-equalizer-alist))
2854
2855 #(define (my-instrument-equalizer s)
2856   (let ((entry (assoc s my-instrument-equalizer-alist)))
2857     (if entry
2858       (cdr entry))))
2859
2860 \score {
2861   <<
2862     \new Staff {
2863       \key g \major
2864       \time 2/2
2865       \set Score.instrumentEqualizer = #my-instrument-equalizer
2866       \set Staff.midiInstrument = #"flute"
2867       \new Voice \relative c''' {
2868         r2 g\mp g fis~
2869         fis4 g8 fis e2~
2870         e4 d8 cis d2
2871       }
2872     }
2873     \new Staff {
2874       \key g \major
2875       \set Staff.midiInstrument = #"clarinet"
2876       \new Voice \relative c'' {
2877         b1\p a2. b8 a
2878         g2. fis8 e
2879         fis2 r
2880       }
2881     }
2882   >>
2883   \layout { }
2884   \midi {
2885     \context {
2886       \Score
2887       tempoWholesPerMinute = #(ly:make-moment 72 2)
2888     }
2889   }
2890 }
2891 @end lilypond
2892
2893 @ignore
2894 @c Delete when satisfied this is adequately covered elsewhere -td
2895
2896 @n ode Microtones in MIDI
2897 @s ubsection Microtones in MIDI
2898
2899 @cindex microtones in MIDI
2900
2901 Microtones consisting of half sharps and half flats are exported
2902 to the MIDI file and render correctly in MIDI players which support
2903 pitch bending.  See @ref{Nombres de las notas en otros idiomas}.  Here is
2904 an example showing all the half sharps and half flats.  It can be
2905 copied out and compiled to test microtones in your MIDI player.
2906
2907 @lilypond[verbatim,quote]
2908 \score {
2909   \relative c' {
2910     c4 cih cis cisih
2911     d4 dih ees eeh
2912     e4 eih f fih
2913     fis4 fisih g gih
2914     gis4 gisih a aih
2915     bes4 beh b bih
2916   }
2917   \layout {}
2918   \midi {}
2919 }
2920 @end lilypond
2921 @end ignore
2922
2923
2924 @node Percusión en MIDI
2925 @subsection Percusión en MIDI
2926 @translationof Percussion in MIDI
2927
2928 La notación de los instrumentos de percusión se realiza normalmente en
2929 un contexto @code{DrumStaff} y cuando se hace de esta forma se les da
2930 salida correctamente por el canal MIDI@tie{}10, pero ciertos
2931 instrumentos de percusión de altura determinada, como el xilófono,
2932 marimba, vibráfono, timbales, etc., se tratan como instrumentos
2933 @qq{normales} y la música para estos instrumentos se debe introducir
2934 en contextos de @code{Staff} normales, no en un contexto
2935 @code{DrumStaff}, para obtener la salida MIDI correcta.
2936
2937 Ciertos sonidos de altura indeterminada que están incluidos en el
2938 estándar General MIDI, como el tom melódico, el tambor taiko, los
2939 tambores sintéticos, etc., no se pueden acceder a través del canal
2940 MIDI@tie{}10, por lo que la notación para dichos instrumentos se debe
2941 introducir también en un contexto normal de @code{Staff}, utilizando
2942 las alturas normales adecuadas.
2943
2944 Muchos instrumentos de percusión no están incluidos dentro del
2945 estándar General MIDI, p.ej. las castañuelas.  El método más
2946 fácil (aunque no satisfactorio) de producir una salida MIDI al
2947 escribir para estos instrumentos es sustituirlos por el sonido más
2948 parecido del conjunto estándar.
2949
2950 @c TODO Expand with examples, and any other issues
2951
2952 @knownissues
2953
2954 Debido a que el estándar General MIDI no contiene golpes de aro
2955 (@emph{rim shots}), para este propósito se utiliza en su lugar el
2956 golpe lateral de baqueta (@emph{sidestick}).
2957
2958 @node El script Articulate
2959 @subsection El script Articulate
2960 @translationof The Articulate script
2961
2962 Es posible obtener una salida MIDI más real si se utiliza el script
2963 Articulate.  Éste trata de tener en cuenta las articulaciones
2964 (ligaduras de expresión, picados, etc), mediante la sustitución de las
2965 notas con secuencias musicales de silencios y notas escaladas en el
2966 tiempo de forma apropiada.  También trata de desplegar los trinos,
2967 grupetos circulares, etc. y responder a las indicaciones de
2968 rallentando y accelerando.
2969
2970 Para utilizar el script Articulate, tenemos que incluirlo al principio
2971 de nuestro archivo de entrada:
2972
2973 @example
2974 \include "articulate.ly"
2975 @end example
2976
2977 y en la sección @code{\score}, hacer lo siguiente:
2978
2979 @example
2980 \unfoldRepeats \articulate <<
2981         resto de la partitura...
2982 >>
2983 @end example
2984
2985 Después de alterar el código de entrada de esta manera el resultado
2986 visual se altera profundamente, pero el bloque @code{\midi} estándar
2987 produce un archivo MIDI mejorado.
2988
2989 Si bien no es esencial para que funcione el script Articulate, podemos
2990 insertar la instrucción @code{\unfoldRepeats} según aparece en el
2991 ejemplo anterior, dado que habilita la ejecución de abreviaturas tales
2992 como los @notation{trinos}.
2993
2994 @knownissues
2995
2996 Articulate acorta los acordes, y ciertos fragmentos de música
2997 (especialmente la música de órgano) es posible que suene peor.
2998
2999
3000 @node Extraer información musical
3001 @section Extraer información musical
3002 @translationof Extracting musical information
3003
3004 Además de crear un resultado visual y MIDI,
3005 LilyPond es capaz de presentar información
3006 musical en forma de texto.
3007
3008 @menu
3009 * Impresión del código de notación de LilyPond::
3010 * Impresión de las expresiones musicales de Scheme::
3011 * Guardar los eventos musicales en un archivo::
3012 @end menu
3013
3014 @node Impresión del código de notación de LilyPond
3015 @subsection Displaying LilyPond notation
3016 @translationof Displaying LilyPond notation
3017
3018 @funindex \displayLilyMusic
3019 La impresión textual de una expresión musical en notación de LilyPond
3020 puede hacerse con la función musical @code{\displayLilyMusic}.
3021 Para ver el resultado, lo más usual es llamar a LilyPond
3022 mediante la línea de órdenes.  Por ejemplo,
3023
3024 @example
3025 @{
3026   \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
3027 @}
3028 @end example
3029
3030 imprime lo siguiente:
3031
3032 @example
3033 @{ a,4 cis e fis g @}
3034 @end example
3035
3036 De forma predeterminada, LilyPond imprime estos mensajes en la consola
3037 junto al resto de los mensajes de la compilación de LilyPond.
3038 Para discernir entre estos mensajes y
3039 guardar el resultado de @code{\display@{MATERIAL@}}, redireccione la
3040 salida hacia un archivo.
3041
3042 @example
3043 lilypond archivo.ly >resultado.txt
3044 @end example
3045
3046
3047 @node Impresión de las expresiones musicales de Scheme
3048 @subsection Impresión de las expresiones musicales de Scheme
3049 @translationof Displaying scheme music expressions
3050
3051 Véase @rextend{Presentación de las expresiones musicales}.
3052
3053
3054 @node Guardar los eventos musicales en un archivo
3055 @subsection Guardar los eventos musicales en un archivo
3056 @translationof Saving music events to a file
3057
3058 Los eventos musicales se pueden guardar en un archivo pentagrama a
3059 pentagrama mediante la inclusión de un archivo en nuestra partitura
3060 principal.
3061
3062 @example
3063 \include "event-listener.ly"
3064 @end example
3065
3066 De esta forma se crean uno o más archivos llamados
3067 @file{FILENAME-STAFFNAME.notes} ó @file{FILENAME-unnamed-staff.notes}
3068 para cada pentagrama.  Observe que si tiene más de un pentagrama sin
3069 nombre, los eventos de todos los pentagramas se mezclarán entre sí
3070 dentro del mismo archivo.  El resultado tiene el aspecto siguiente:
3071
3072 @example
3073 0.000   note     57       4   p-c 2 12
3074 0.000   dynamic  f
3075 0.250   note     62       4   p-c 7 12
3076 0.500   note     66       8   p-c 9 12
3077 0.625   note     69       8   p-c 14 12
3078 0.750   rest     4
3079 0.750   breathe
3080 @end example
3081
3082 La sintaxis consiste en una línea delimitada por caracteres de
3083 tabulación, con dos campos fijos en cada línea seguidos de parámetros
3084 opcionales.
3085
3086 @example
3087 @var{tiempo}  @var{tipo}  @var{...parámetros...}
3088 @end example
3089
3090 Esta información se puede leer fácilmente por parte de otros programas
3091 como guiones de Python, y pueden ser muy útiles para aquellos
3092 investigadores que desean realizar un análisis musical o hacer
3093 experimientos de reproducción con LilyPond.
3094
3095
3096 @knownissues
3097
3098 No todos los eventos musicales de lilypond están contemplados por
3099 @file{event-listener.ly}.  Se pretende que sea una @qq{prueba de
3100 concepto} bien realizada.  Si algunos eventos que quiere ver no
3101 aparecen incluidos, copie @file{event-listener.ly} en su carpeta de
3102 lilypond y modifique el archivo de forma que produzca la información
3103 que desea.