]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/es/usage/lilypond-book.itely
Merge branch 'master' into lilypond/translation
[lilypond.git] / Documentation / es / usage / lilypond-book.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
2
3 @ignore
4     Translation of GIT committish: 0cc0c4fb20b70e717db7e8f43cbb0c1878cd8395
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.14.0"
12
13 @c Note: keep this node named so that `info lilypond-book' brings you here.
14 @node lilypond-book
15 @chapter Ejecución de @command{lilypond-book}
16 @translationof lilypond-book
17
18 Si quiere añadir imágenes de música a un documento, puede hacerlo
19 simplemente de la forma en que lo haría con otros tipos de imágenes.
20 Las imágenes se crean por separado, dando como resultado una salida
21 PostScript o imágenes PNG, y luego se incluyen en un documento de
22 @LaTeX{} o de HTML.
23
24 @command{lilypond-book} ofrece una manera de automatizar este proceso:
25 este programa extrae los fragmentos de música del documento, ejecuta
26 @command{lilypond} sobre cada uno de ellos, y devuelve como salida el
27 documento con la música sustituida por las imágenes.  Las definiciones
28 de ancho de línea y tamaño de letra de la música se ajustan de forma
29 que coincidan con los ajustes de su documento.
30
31 Es un programa distinto a @command{lilypond} propiamente dicho, y se
32 ejecuta sobre la línea de órdenes; para ver más información, consulte
33 @ref{Utilización desde la línea de órdenes}.  Si experimenta algún
34 problema al ejecutar @code{lilypond-book} sobre Windows o Mac OS X
35 utilizando la línea de órdenes, consulte @rweb{Windows} o @rweb{MacOS X}.
36
37 Este procedimiento se puede aplicar a documentos de @LaTeX{}, HTML,
38 Texinfo o DocBook.
39
40 @cindex texinfo
41 @cindex LaTex
42 @cindex texinfo
43 @cindex texi
44 @cindex HTML
45 @cindex docbook
46 @cindex documentos, insertar música en
47 @cindex HTML, insertar música en
48 @cindex Texinfo, insertar música en
49 @cindex DocBook, insertar música en
50 @cindex LaTeX, insertar música en
51
52 @menu
53 * Un ejemplo de documento musicológico::
54 * Integrar música y texto::
55 * Opciones de fragmentos de música::
56 * Invocar lilypond-book::
57 * Extensiones de nombres de archivo::
58 * Plantillas de lilypond-book::
59 * Compartir el índice general::
60 * Métodos alternativos para mezclar texto y música::
61 @end menu
62
63
64 @node Un ejemplo de documento musicológico
65 @section Un ejemplo de documento musicológico
66 @translationof An example of a musicological document
67
68 @cindex musicología
69 Ciertos textos contienen ejemplos musicales.  Son tratados musicales,
70 cancioneros o manuales como este mismo.  Estos textos se pueden hacer
71 a mano, importando simplemente una imagen en formato PostScript en el
72 editor de textos.  Sin embargo, hay un procedimiento automático para
73 reducir la carga de trabajo que esto implica los documentos de HTML,
74 @LaTeX{}, Texinfo y DocBook.
75
76 Un guión ejecutable llamado @code{lilypond-book} extrae los fragmentos
77 de música, les da formato y vuelve a poner en su lugar la partitura
78 resultante.  A continuación presentamos un pequeño ejemplo de su
79 utilización con @LaTeX{}.  El ejemplo contiene también texto
80 explicativo, por lo que no vamos a comentarlo posteriormente.
81
82 @subheading Entrada
83
84 @quotation
85 @verbatim
86 \documentclass[a4paper]{article}
87
88 \begin{document}
89
90 Los documentos para \verb+lilypond-book+ pueden mezclar libremente
91 música y texto. Por ejemplo:
92
93 \begin{lilypond}
94 \relative c' {
95   c2 e2 \times 2/3 { f8 a b } a2 e4
96 }
97 \end{lilypond}
98
99 Las opciones se escriben entre corchetes.
100
101 \begin{lilypond}[fragment,quote,staffsize=26,verbatim]
102   c'4 f16
103 \end{lilypond}
104
105 Los ejemplos grandes se pueden grabar en archivos separados e
106 introducirse con \verb+\lilypondfile+.
107
108 \lilypondfile[quote,noindent]{screech-and-boink.ly}
109
110 (Si es necesario, sustituya @file{screech-and-boink.ly}
111 por cualquier archivo @file{.ly}
112 situado en el mismo directorio que este archivo.)
113
114 \end{document}
115 @end verbatim
116 @end quotation
117
118 @subheading Procesado
119
120 Guarde el código anterior como un archivo llamado
121 @file{lilybook.lytex}, y luego ejecute en un terminal:
122
123 @c keep space after @version{} so TeX doesn't choke
124 @example
125 lilypond-book --output=out --pdf lilybook.lytex
126 @emph{lilypond-book (GNU LilyPond) @version{} }
127 @emph{Leyendo lilybook.lytex...}
128 @emph{..montañas de mensajes suprimidos..}
129 @emph{Compilando lilybook.tex...}
130 cd out
131 pdflatex lilybook
132 @emph{..montañas de mensajes suprimidos..}
133 xpdf lilybook
134 @emph{(sustituya @command{xpdf} por su visor de PDF favorito)}
135 @end example
136
137 La ejecución de @command{lilypond-book} y @command{latex} crea un gran
138 número de archivos temporales, que podrían abarrotar el directorio de
139 trabajo.  Para poner remedio a esto utilice la opción
140 @option{--output=@var{directorio}}.  Creará los archivos en un
141 subdirectorio aparte @file{directorio}.
142
143 Finalmente el resultado del ejemplo de @LaTeX{} que acabamos de
144 mostrar@footnote{Este tutorial se procesa con Texinfo, por lo que el
145 ejemplo presenta un resultado en la disposición ligeramente
146 distinto.}.  Así acaba la sección del tutorial.
147
148 @page
149
150 @subheading Salida
151
152 Los documentos para @command{lilypond-book} pueden mezclar libremente
153 música y texto.  Por ejemplo:
154
155 @lilypond
156 \relative c' {
157   c2 e2 \times 2/3 { f8 a b } a2 e4
158 }
159 @end lilypond
160
161 Las opciones se escriben entre corchetes.
162
163 @lilypond[fragment,quote,staffsize=26,verbatim]
164 c'4 f16
165 @end lilypond
166
167 Los ejemplos grandes se pueden grabar en archivos separados e
168 introducirse con @code{\lilypondfile}.
169
170 @lilypondfile[quote,noindent]{screech-and-boink.ly}
171
172 Si se requiere un campo @code{tagline}, ya sea predeterminado o
173 personalizado, entonces el fragmento completo se debe incluir dentro
174 de una construcción @code{\book @{ @}}.
175
176 @c KEEP LY
177 @lilypond[papersize=a8,verbatim]
178 \book{
179   \header{
180     title = "Una escala en LilyPond"
181   }
182
183   \relative c' {
184     c d e f g a b c
185   }
186 }
187 @end lilypond
188
189 @page
190
191 @node Integrar música y texto
192 @section Integrar música y texto
193 @translationof Integrating music and text
194
195 Aquí vamos a explicar cómo integrar LilyPond con algunos otros
196 formatos de salida.
197
198 @menu
199 * LaTeX::
200 * Texinfo::
201 * HTML::
202 * DocBook::
203 @end menu
204
205 @node LaTeX
206 @subsection @LaTeX{}
207 @translationof LaTeX
208
209 @LaTeX{} es el estándar de facto para la publicación en el mundo de
210 las ciencias exactas.  Está construido encima del motor de composición
211 tipográfica @TeX{}, proporcionando la tipografía de mejor calidad que
212 existe.
213
214 Consulte
215 @uref{http://@/www@/.ctan@/.org/@/tex@/-archive/@/info/@/lshort/@/english/,
216 @emph{The Not So Short Introduction to @LaTeX{}}} (Introducción no tan
217 breve a @LaTeX{}) para ver una panorámica sobre cómo usar @LaTeX{}.
218
219 @code{lilypond-book} aporta las instrucciones y entornos siguientes
220 para incluir música dentro de archivos de @LaTeX{}:
221
222 @itemize
223
224 @item
225 la instrucción @code{\lilypond@{...@}}, donde podemos escribir directamente fragmentos cortos de código de LilyPond
226
227 @item
228 el entorno @code{\begin@{lilypond@}...\end@{lilypond@}}, donde podemos
229 introducir directamente bloques más largos de código de LilyPond
230
231 @item
232 la instrucción @code{\lilypondfile@{...@}} para insertar un archivo de LilyPond
233
234 @item
235 la instrucción @code{\musicxmlfile@{...@}} para insertar un archivo de
236 MusicXML, que se procesa por parte de @code{musicxml2ly} y
237 @code{lilypond}.
238
239 @end itemize
240
241 En el archivo de entrada, se especifica la música con cualquiera de
242 las instrucciones siguientes:
243
244 @example
245 \begin@{lilypond@}[las,opciones,van,aquí]
246   EL CÓDIGO DE LILYPOND
247 \end@{lilypond@}
248
249 \lilypond[las,opciones,van,aquí]@{ EL CÓDIGO DE LILYPOND @}
250
251 \lilypondfile[las,opciones,van,aquí]@{@var{archivo}@}
252
253 \musicxmlfile[las,opciones,van,aquí]@{@var{archivo}@}
254 @end example
255
256
257 @noindent
258
259 De forma adicional, @code{\lilypondversion} imprime la versión actual
260 de lilypond.
261
262 La ejecución de @command{lilypond-book} deja como resultado un archivo
263 que se puede procesar posteriormente con @LaTeX{}.
264
265 A continuación mostramos algunos ejemplos.  El entorno @code{lilypond}
266
267 @example
268 \begin@{lilypond@}[quote,fragment,staffsize=26]
269   c' d' e' f' g'2 g'2
270 \end@{lilypond@}
271 @end example
272
273 @noindent
274 produce
275
276 @lilypond[quote,fragment,staffsize=26]
277 c' d' e' f' g'2 g'2
278 @end lilypond
279
280 La versión corta
281
282 @example
283 \lilypond[quote,fragment,staffsize=11]@{<c' e' g'>@}
284 @end example
285
286 @noindent
287 produce
288
289 @lilypond[quote,fragment,staffsize=11]{<c' e' g'>}
290
291 @noindent
292 Por el momento no es posible incluir llaves @code{@{} o @code{@}}
293 dentro de @code{\lilypond@{@}}, así que esta instrucción solamente es
294 útil con la opción @code{fragment}.
295
296 El ancho predeterminado de las líneas de música se ajusta mediante el
297 examen de las instrucciones del preámbulo del documento, la parte del
298 documento que está antes de @code{\begin@{document@}}.  La instrucción
299 @command{lilypond-book} los envía a @LaTeX{} para averiguar la anchura
300 del texto.  El ancho de la línea para los fragmentos de música se
301 ajusta entonces al ancho del texto.  Observe que este algoritmo
302 heurístico puede fácilmente fallar; en estos casos es necesario usar
303 la opción @code{line-width} del fragmento de música.
304
305 @cindex títulos y lilypond-book
306 @cindex \header dentro de documentos @LaTeX{}
307
308 Cada fragmento ejecutará los macros siguientes si han sido definidos
309 por el usuario:
310
311 @itemize @bullet
312 @item @code{\preLilyPondExample} que se llama antes de la música,
313
314 @item @code{\postLilyPondExample} que se llama después de la música,
315
316 @item @code{\betweenLilyPondSystem[1]} se llama entre los sistemas si
317 @code{lilypond-book} ha dividido el fragmento en varios archivos
318 PostScript.  Se debe definir de forma que tome un parámetro y recibirá
319 el número de archivos ya incluidos dentro del fragmento actual.  La
320 acción predeterminada es simplemente insertar un @code{\linebreak}.
321 @end itemize
322
323 @ignore
324 Broken stuff.  :(
325
326 @cindex Latex, feta symbols
327 @cindex fetachar
328
329 To include feta symbols (such as flat, segno, etc) in a LaTeX
330 document, use @code{\input@{titledefs@}}
331
332 @example
333 \documentclass[a4paper]@{article@}
334
335 \input@{titledefs@}
336
337 \begin@{document@}
338
339 \fetachar\fetasharp
340
341 \end@{document@}
342 @end example
343
344 The font symbol names are defined in the file feta20.tex; to find
345 the location of this file, use the command
346
347 @example
348 kpsewhich feta20.tex
349 @end example
350
351 @end ignore
352
353 @snippets
354
355 A veces es útil mostrar elementos de música (como ligaduras) como si
356 continuasen más allá del final del fragmento.  Esto se puede hacer
357 dividiendo el pentagrama y suprimiendo la inclusión del resto de la
358 salida de LilyPond.
359
360 En @LaTeX{}, defina @code{\betweenLilyPondSystem} de tal forma que la
361 la inclusión de otros sistemas se dé por terminada una vez que se ha
362 alcanzado el número deseado de sistemas requeridos.  Puesto que
363 @code{\betweenLilyPondSystem} se llama en primer lugar @emph{después}
364 del primer sistema, incluir solamente el primer sistema es algo
365 trivial.
366
367 @example
368 \def\betweenLilyPondSystem#1@{\endinput@}
369
370 \begin[fragment]@{lilypond@}
371   c'1\( e'( c'~ \break c' d) e f\)
372 \end@{lilypond@}
373 @end example
374
375 Si se necesita un mayor número de sistemas, se tiene que usar un
376 condicional de @TeX{} antes del @code{\endinput}.  En este ejemplo,
377 sustituya el @q{2} por el número de sistemas que quiere en la salida:
378
379 @example
380 \def\betweenLilyPondSystem#1@{
381     \ifnum#1<2\else\expandafter\endinput\fi
382 @}
383 @end example
384
385 @noindent
386 (Dado que @code{\endinput} detiene inmediatamente el procesado del
387 archivo de entrada actual, necesitamos @code{\expandafter} para
388 posponer la llamada de @code{\endinput} después de ejecutar
389 @code{\fi} de manera que la cláusula @code{\if}-@code{\fi} esté
390 equilibrada.)
391
392 Recuerde que la definición de @code{\betweenLilyPondSystem} es
393 efectiva hasta que @TeX{} abandona el grupo actual (como el entorno
394 @LaTeX{}) o se sobreescribe por otra definición (lo que casi siempre
395 es por el resto del documento).  Para reponer la definición, escriba
396
397 @example
398 \let\betweenLilyPondSystem\undefined
399 @end example
400
401 @noindent
402 dentro de la fuente de @LaTeX{}.
403
404 Se puede simplificar esto definiendo un macro de @TeX{}:
405
406 @example
407 \def\onlyFirstNSystems#1@{
408     \def\betweenLilyPondSystem##1@{\ifnum##1<#1\else\endinput\fi@}
409 @}
410 @end example
411
412 @noindent
413 y luego diciendo solamente cuántos sistemas quiere antes de cada
414 fragmento:
415
416 @example
417 \onlyFirstNSystems@{3@}
418 \begin@{lilypond@}...\end@{lilypond@}
419 \onlyFirstNSystems@{1@}
420 \begin@{lilypond@}...\end@{lilypond@}
421 @end example
422
423
424 @seealso
425 Hay opciones de línea de órdenes específicas de
426 @command{lilypond-book} y otros detalles que conocer para procesar
427 documentos de@LaTeX{} véase @ref{Invocar lilypond-book}.
428
429
430 @node Texinfo
431 @subsection Texinfo
432 @translationof Texinfo
433
434 Texinfo es el formato estándar para la documentación del proyecto GNU.
435 Este mismo manual es un ejemplo de documento Texinfo.  Las versiones
436 HTML, PDF e Info del manual se hacen a partir del documento Texinfo.
437
438 @code{lilypond-book} aporta las siguientes instrucciones y entornos
439 para incluir música dentro de archivos de Texinfo:
440
441 @itemize
442
443 @item
444 la instrucción @code{@@lilypond@{...@}}, donde podemos introducir
445 directamente fragmentos cortos de código de LilyPond
446
447 @item
448 el entorno @code{@@lilypond...@@end lilypond}, donde podemos escribir
449 directamente bloques más extensos de código de LilyPond
450
451 @item
452 la instrucción @code{@@lilypondfile@{...@}} para insertar un archivo
453 de LilyPond
454
455 @item
456 la instrucción @code{@@musicxmlfile@{...@}} para insertar un archivo
457 de MusicXML, que se procesa después por parte de @code{musicxml2ly} y
458 de @code{lilypond}.
459
460 @end itemize
461
462 En el archivo de entrada, la música se especifica con cualquiera de
463 las instrucciones siguientes:
464
465 @example
466 @@lilypond[las,opciones,van,aquí]
467   EL CÓDIGO DE LILYPOND
468 @@end lilypond
469
470 @@lilypond[las,opciones,van,aquí]@{ EL CÓDIGO DE LILYPOND @}
471
472 @@lilypondfile[las,opciones,van,aquí]@{@var{archivo}@}
473
474 @@musicxmlfile[las,opciones,van,aquí]@{@var{archivo}@}
475 @end example
476
477 De forma adicional, @code{@@lilypondversion} imprime la versión actual
478 de lilypond.
479
480 Cuando se ejecuta @command{lilypond-book} sobre el archivo, se obtiene
481 como resultado un archivo Texinfo (con la extensión @file{.texi}) que
482 contiene etiquetas @code{@@image} para el HTML, Info y la salida
483 impresa.  @command{lilypond-book} genera imágenes de la música en
484 formatos EPS y PDF para usarlos en la salida impresa, y en formato PNG
485 para usarlos en las salidas HTML e Info.
486
487 Aquí podemos ver dos ejemplos sencillos.  Un entorno @code{lilypond}
488
489 @example
490 @@lilypond[fragment]
491 c' d' e' f' g'2 g'
492 @@end lilypond
493 @end example
494
495 @noindent
496 produce
497
498 @lilypond[fragment]
499 c' d' e' f' g'2 g'
500 @end lilypond
501
502 La versión corta
503
504 @example
505 @@lilypond[fragment,staffsize=11]@{<c' e' g'>@}
506 @end example
507
508 @noindent
509 produce
510
511 @lilypond[fragment,staffsize=11]{<c' e' g'>}
512
513 A diferencia de @LaTeX{}, @code{@@lilypond@{...@}} no genera una imagen en
514 línea.  Siempre consiste en un párrafo para ella sola.
515
516
517 @node HTML
518 @subsection HTML
519 @translationof HTML
520
521 @code{lilypond-book} aporta las siguientes instrucciones y entornos
522 para incluir música dentro de archivos HTML:
523
524 @itemize
525
526 @item
527 la instrucción @code{<lilypond ... />}, donde podemos introducir
528 directamente fragmentos cortos de código de LilyPond
529
530 @item
531 el entorno @code{<lilyond>...</lilypond>}, donde podemos escribir
532 directamente bloques más extensos de código de LilyPond
533
534 @item
535 la instrucción @code{<lilypondfile>...</lilypondfile>} para insertar
536 un archivo de LilyPond
537
538 @item
539 la instrucción @code{<musicxmlfile>...</musicxmlfile>} para insertar
540 un archivo de MusicXML, que se procesa después por parte de
541 @code{musicxml2ly} y de @code{lilypond}.
542
543 @end itemize
544
545 En el archivo de entrada, la música se especifica con cualquiera de
546 las instrucciones siguientes:
547
548 @example
549 <lilypond las opciones van aquí>
550   EL CÓDIGO DE LILYPOND
551 </lilypond>
552
553 <lilypond las opciones van aquí: EL CÓDIGO DE LILYPOND />
554
555 <lilypondfile las opciones van aquí>@var{archivo}</lilypondfile>
556
557 <musicxmlfile las opciones van aquí>@var{archivo}</musicxmlfile>
558 @end example
559
560 Por ejemplo, podemos escribr
561 @example
562 <lilypond fragment relative=2>
563 \key c \minor c4 es g2
564 </lilypond>
565 @end example
566
567 @noindent
568 @command{lilypond-book} entonces produce un archivo HTML con las
569 etiquetas de imagen adecuadas para los fragmentos de música:
570
571 @lilypond[fragment,relative=2]
572 \key c \minor c4 es g2
573 @end lilypond
574
575 Para imágenes en línea, utilice @code{<lilypond ... />}, donde las
576 opciones están separadas de la música por el símbolo de dos puntos,
577 por ejemplo
578
579 @example
580 Algo de música dentro de <lilypond relative=2: a b c/> una línea de texto.
581 @end example
582
583 Para incluir archivos externos, escriba
584
585 @example
586 <lilypondfile @var{opción1} @var{opción2} ...>@var{archivo}</lilypondfile>
587 @end example
588
589 @code{<musicxmlfile>} usa la misma sintaxis que @code{<lilypondfile>},
590 pero sencillamente referencia un archivo de MusicXML en lugar de un
591 archivo de LilyPond.
592
593 Para ver una lista de las opciones que utilizar con las etiquetas
594 @code{lilypond} o @code{lilypondfile}, véase
595 @ref{Opciones de fragmentos de música}.
596
597 De forma adicional, @code{<lilypondversion/>} imprime la versión
598 actual de lilypond.
599
600 @cindex títulos en  HTML
601 @cindex vista previa, imagen
602 @cindex miniatura
603
604 @node DocBook
605 @subsection DocBook
606 @translationof DocBook
607
608 Para insertad fragmentos de LilyPond es bueno tratar de mantener la
609 conformidad del documento de DocBook, permitiendo así el uso de
610 editores de DocBook, validación, etc. Así pues, no usamos etiquetas
611 personalizadas, sólo especificamos una convención basada en los
612 elementos estándar de DocBook.
613
614 @subheading Convenciones usuales
615
616 Para insertar toda clase de fragmentos utilizamos los elementos
617 @code{mediaobject} y @code{inlinemediaobject}, de forma que nuestros
618 fragmentos puedan ser formateados en línea o no en línea.  Las
619 opciones de formateo del fragmento se escriben siempre dentro de la
620 propiedad @code{role} del elemento más interno (véanse las secciones
621 siguientes).  Las etiquetas se eligen de forma que permitan a los
622 editores de DocBook formatear el contenido satisfactoriamente.  Los
623 archivos de DocBook que se van a procesar con @command{lilypond-book}
624 deben tener la extensión @file{.lyxml}.
625
626 @subheading Incluir un archivo de LilyPond
627
628 Este es el caso más sencillo.  Debemos usar la extensión @file{.ly}
629 para el archivo incluido, e insertarlo como un @code{imageobject}
630 estándar, con la estructura siguiente:
631
632 @example
633 <mediaobject>
634   <imageobject>
635     <imagedata fileref="music1.ly" role="printfilename" />
636   </imageobject>
637 </mediaobject>
638 @end example
639
640 Observe que puede usar mediaobject o inlinemediaobject como el
641 elemento más externo, a elección suya.
642
643 @subheading Incluir código de LilyPond
644
645 Se puede incluir código de LilyPond mediante la utilización de un
646 elemento @code{programlisting}, en que el lenguaje se establece como
647 @code{lilypond} con la estructura siguiente:
648
649 @example
650 <inlinemediaobject>
651   <textobject>
652     <programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2">
653 \context Staff \with @{
654   \remove Time_signature_engraver
655   \remove Clef_engraver@}
656   @{ c4( fis) @}
657     </programlisting>
658   </textobject>
659 </inlinemediaobject>
660 @end example
661
662 Como puede ver, el elemento más externo es un @code{mediaobject} o un
663 @code{inlinemediaobject}, y hay un elemento @code{textobject} que
664 lleva el @code{programlisting} en su interior.
665
666 @subheading Procesar el documento de DocBook
667
668 Al ejecutar @command{lilypond-book} sobre el archivo @file{.lyxml} se
669 creará un documento de DocBook válido que se puede procesar
670 posteriormente con la extensión @file{.xml}.  Si usa
671 @uref{http://@/dblatex@/.sourceforge@/.net@/,dblatex}, creará un
672 archivo PDF a partir de este documento automáticamente.  Para la
673 generación de HTML (HTML Help, JavaHelp, etc.) puede usar las hojas de
674 estilo oficiales XSL de DocBook, aunque es posible que tenga que
675 aplicarles algún tipo de personalización.
676
677
678 @node Opciones de fragmentos de música
679 @section Opciones de fragmentos de música
680 @translationof Music fragment options
681
682 Durante los próximos párrafos, una @q{instrucción de LilyPond} se
683 refiere a cualquier instrucción descrita en las secciones anteriores
684 que se maneja por parte de @command{lilypond-book} para que produzca
685 un fragmento de música.  Por simplicidad, las instrucciones de
686 LilyPond solamente se muestran en la sintaxis de @LaTeX{}.
687
688 Observe que la cadena de opciones se analiza de izquierda a derecha;
689 si una opción aparece varias veces, se toma la última solamente.
690
691 Están disponibles las siguientes opciones para las instrucciones de
692 LilyPond:
693
694 @table @code
695 @item staffsize=@var{altura}
696 Establecer la altura del pentagrama como @var{altura}, medida en
697 puntos.
698
699 @item ragged-right
700 Producir líneas no justificadas por la derecha y con espaciado
701 natural, es decir, se añade @code{ragged-right = ##t} al fragmento de
702 LilyPond.  Los fragmentos de una sola línea siempre se tipografían de
703 forma predeterminada sin justificación por la derecha, a no ser que se
704 use explícitamente la opción @code{noragged-right}.
705
706 @item noragged-right
707 Para fragmentos de una sola línea, permitir que la longitud del
708 pentagrama se amplíe hasta igualar la anchura de la línea, es decir,
709 se añade @code{ragged-right = ##f} al fragmento de LilyPond.
710
711 @item line-width
712 @itemx line-width=@var{tamaño}\@var{unidades}
713 Establecer el ancho de línea como @var{tamaño}, utilizando
714 @var{unidades} como unidad.  @var{unidades} es una de las siguientes
715 cadenas: @code{cm}, @code{mm}, @code{in} o @code{pt}.  Esta opción
716 afecta a la salida de LilyPond (esto es, a la longitud del pentagrama
717 del fragmento musical), no al formato del texto.
718
719 Si se usa sin ningún argumento, se establece el ancho de la línea a un
720 valor predeterminado (calculado con un algoritmo heurístico).
721
722 Si no se da ninguna opción @code{line-width}, @command{lilypond-book}
723 trata de adivinar un valor predeterminado para los entornos
724 @code{lilypond} que no usan la opción @code{ragged-right}.
725
726 @item papersize=@var{cadena}
727 Donde @var{cadena} es un tamaño del papel definido en el archivo
728 @file{scm/paper.scm}, es decir, @code{a5}, @code{quarto},
729 @code{11x17}, etc.
730
731 Los valores no definidos en el archivo @file{scm/paper.scm} se
732 ignoran, se emite una advertencia y el fragmento se imprime utilizando
733 el tamaño predeterminado @code{a4}.
734
735 @item notime
736 No imprimir la indicación de compás, y desactivar las indicaciones
737 temporales de la música (indicación del compás y líneas divisorias).
738
739 @item fragment
740 Hacer que @command{lilypond-book} añada algunos códigos necesarios
741 para que podamos escribir simplemente, por ejemplo,
742
743 @example
744 c'4
745 @end example
746
747 @noindent
748 sin @code{\layout}, @code{\score}, etc.
749
750 @item nofragment
751 No incluir el código adicional que completa la sintaxis de
752 LilyPond en los fragmentos de música.  Al ser la opción
753 predeterminada, @code{nofragment} normalmente es redundante.
754
755 @item indent=@var{tamaño}\@var{unidades}
756 Establecer el sangrado del primer sistema de pentagramas como
757 @var{tamaño}, utilizando @var{unidades} como unidad. @var{unidades} es
758 una de las siguientes cadenas: @code{cm}, @code{mm}, @code{in} o
759 @code{pt}.  Esta opción afecta a LilyPond, no al formato del texto.
760
761 @item noindent
762 Establecer el sangrado del primer sistema de la música como cero.
763 Esta opción afecta a LilyPond, no al formato del texto.  Puesto que el
764 valor predeterminado es que no haya ningún sangrado, @code{noindent}
765 normalmente es redundante.
766
767 @item quote
768 Reducir la longitud de la línea de un fragmento musical en
769 @math{2*0.4}@dmn{in} (pulgadas) y colocar la salida dentro de un
770 bloque de cita (quotation).  El valor de @q{0.4@dmn{in}} se puede
771 controlar con la opción @code{exampleindent}.
772
773 @item exampleindent
774 Establecer la longitud del sangrado que la opción @code{quote} aplica
775 al fragmento musical.
776
777 @item relative
778 @itemx relative=@var{n}
779 Usar el modo de octava relativa.  De forma predeterminada, las notas
780 se especifican con relación al Do@tie{}central.  El argumento entero
781 opcional especifica la octava de la nota inicial, donde el valor
782 predeterminado @code{1} es el Do central.  La opción @code{relative}
783 sólo funciona cuando está establecida la opción @code{fragment}, de
784 manera que @code{fragment} viene implicada automáticamente por
785 @code{relative}, independientemente de la presencia de @code{fragment}
786 o de @code{nofragment} en la fuente.
787
788 @end table
789
790 LilyPond utiliza también @command{lilypond-book} para producir su
791 propia documentación.  Para hacerlo, están a nuestra disposición
792 ciertas opciones algo esotéricas para los fragmentos musicales.
793
794 @table @code
795 @item verbatim
796 El argumento de una instrucción de LilyPond se copia al archivo de
797 salida y se incluye dentro de un bloque «verbatim» o preformateado,
798 seguido del texto que se escriba con la opción @code{intertext} (que
799 no funciona aún); después se imprime la música en sí.  Esta opción no
800 funciona bien con @code{\lilypond@{@}} si forma parte de un párrafo.
801
802 Si se usa la opción @code{verbatim} dentro de una instrucción
803 @code{lilypondfile}, es posible incluir con estilo preformateado sólo
804 una parte del archivo fuente.  Si el archivo de código fuente contiene
805 un comentario que contiene @samp{begin verbatim} (sin las comillas),
806 la cita del bloque de estilo preformateado empezará después de la
807 última vez que aparezca este comentario; de forma similar, la cita del
808 bloque preformateado se detendrá justo antes de la primera vez que
809 aparezca un comentario que contenga @samp{end verbatim}, si lo hay.
810 En el siguiente ejemplo de código fuente, la música se interpreta en
811 el modo relativo, pero la cita preformateada no presentará el bloque
812 @code{relative}, es decir
813
814 @example
815 \relative c' @{ % begin verbatim
816   c4 e2 g4
817   f2 e % end verbatim
818 @}
819 @end example
820
821 @noindent
822 se imprime como un bloque preformateado como
823
824 @example
825   c4 e2 g4
826   f2 e
827 @end example
828
829 @noindent
830 Si queremos traducir los comentarios y los nombres de variable en la
831 salida literal pero no en el código fuente, podemos establecer el
832 valor de la variable de entorno @code{LYDOC_LOCALEDIR} a la ruta de un
833 directorio; este directorio debe contener un árbol de catálogos de
834 mensajes @file{.mo} con @code{lilypond-doc} como dominio.
835
836 @item addversion
837 (Sólo para la salida de Texinfo.)  Anteponer la línea @code{\version
838 @@w@{"@@version@{@}"@}} a la salida de @code{verbatim}.
839
840 @item texidoc
841 (Sólo para la salida de Texinfo.)  Si se llama a @command{lilypond}
842 con la opción @option{--header=@/texidoc}, y el archivo que se procesa
843 se llama @file{fulanito.ly}, crea un archivo @file{fulanito.texidoc}
844 si existe un campo @code{texidoc} dentro del bloque @code{\header} de
845 cabecera.  La opción @code{texidoc} hace que @command{lilypond-book}
846 incluya estos archivos, añadiendo su contenido como un bloque de
847 documentación inmediatamente antes del fragmento musical (pero fuera
848 del entorno @code{example} generado por la opción @code{quote}).
849
850 Suponiendo que el archivo @file{fulanito.ly} contiene
851
852 @example
853 \header @{
854   texidoc = "Este archivo es un ejemplo de una sola nota."
855 @}
856 @{ c'4 @}
857 @end example
858
859 @noindent
860 y que tenemos lo siguiente en nuestro documento de Texinfo
861 @file{prueba.texinfo}
862
863 @example
864 @@lilypondfile[texidoc]@{fulanito.ly@}
865 @end example
866
867 @noindent
868 la siguiente orden da como salida el resultado esperado:
869
870 @example
871 lilypond-book --pdf --process="lilypond \
872   -dbackend=eps --header=texidoc" test.texinfo
873 @end example
874
875 La mayoría de los documentos de prueba de LilyPond (en el directorio
876 @file{input} de la distribución) son pequeños archivos @file{.ly} que
877 tienen exactamente este aspecto.
878
879 Por motivos de localización de idioma, si el documento de Texinfo
880 contiene @code{@@documentlanguage @var{LANG}} y la cabecera de
881 @file{loquesea.ly} contiene un campo @code{texidoc@var{LANG}}, y
882 @command{lilypond} se ejecuta con
883 @option{--header=@/texidoc@var{LANG}}, entonces se incluirá
884 @file{loquesea.texidoc@var{LANG}} en lugar de
885 @file{loquesea.texidoc}.
886
887 @item doctitle
888 (Sólo para la salida de Texinfo.) Esta opción funciona de forma
889 parecida a la opción @code{texidoc}: si @command{lilypond} se llama
890 con la opción @option{--header=@/doctitle}, y el archivo que procesar
891 se llama @file{loquesea.ly} y contiene un campo @code{doctitle} en
892 el bloque @code{\header}, crea un archivo @file{loquesea.doctitle}.
893 Cuando se usa la opción @code{doctitle}, el contenido de
894 @file{loquesea.doctitle}, que debería ser una línea única de
895 @var{texto}, se inserta en el documento de Texinfo como
896 @code{@@lydoctitle @var{texto}}.  @code{@@lydoctitle} debe ser un
897 macro definido en el documento de Texinfo.  La misma indicación
898 referida al procesado de @code{texidoc} con idiomas localizados se
899 aplica a @code{doctitle}.
900
901 @item nogettext
902 (Sólo para la salida de Texinfo.) No traducir los comentarios y
903 nombres de variable en el fragmento de código literal citado.
904
905 @item printfilename
906 Si un archivo de entrada de LilyPond se incluye con
907 @code{\lilypondfile}, imprimir el nombre del archivo inmediatamente
908 antes del fragmento musical.  Para la salida HTML, esto es un enlace.
909 Sólo se imprime el nombre base del archivo, es decir, se elimina la
910 parte del directorio de la ruta del archivo.
911
912 @end table
913
914
915 @node Invocar lilypond-book
916 @section Invocar @command{lilypond-book}
917 @translationof Invoking lilypond-book
918
919 @command{lilypond-book} produce un archivo con una de las siguientes
920 extensiones: @file{.tex}, @file{.texi}, @file{.html} o @file{.xml},
921 dependiendo del formato de salida.  Todos los archivos @file{.tex},
922 @file{.texi} y @file{.xml} necesitan un procesado posterior.
923
924 @subheading Instrucciones específicas de formato
925
926 @subsubheading @LaTeX{}
927
928 Hay dos formas de procesar el documento en @LaTeX{} para su impresión
929 o publicación: hacer un archivo PDF directamente con PDF@LaTeX{}, o
930 generar un archivo PostScript con @LaTeX{} a través de un traductor de
931 DVI a PostScript como @command{dvips}.  la primera forma es más
932 sencilla y es la que se recomienda@footnote{Observe que PDF@LaTeX{} y
933 @LaTeX{} podrían no ser utilizables para compilar cualquier documento
934 @LaTeX{}, y es por lo que explicamos las dos formas.}, y cualquiera
935 que sea el método que utilice, podrá convertir fácilmente entre
936 PostScript y PDF con herramientas como @command{ps2pdf} y
937 @command{pdf2ps} que vienen incluidas con Ghostscript.
938
939 Para producir un archivo PDF por medio de PDF@LaTeX{}, utilice
940
941 @example
942 lilypond-book --pdf miarchivo.pdftex
943 pdflatex miarchivo.tex
944 @end example
945
946 @cindex tipografías de outline
947 @cindex type1, tipografías
948 @cindex dvips
949 @cindex invocación de dvips
950
951 Para producir una salida PDF por medio de
952 @LaTeX{}/@command{dvips}/@command{ps2pdf}, debe hacer
953
954 @example
955 lilypond-book miarchivo.lytex
956 latex miarchivo.tex
957 dvips -Ppdf miarchivo.dvi
958 ps2pdf miarchivo.ps
959 @end example
960
961 @noindent
962 El archivo @file{.dvi} creado por este proceso no contiene las cabezas
963 de las notas.  Esto es normal; si sigue las instrucciones, las cabezas
964 aparecerán en los archivos @file{.ps} y @file{.pdf}.
965
966 La ejecución de @command{dvips} puede dar como resultado algunas
967 advertencias sobre las fuentes tipográficas; son inocuas y se pueden
968 ignorar.  Si está ejecutando @command{latex} en modo de dos columnas,
969 recuerde añadir @option{-t landscape} a las opciones de @command{dvips}.
970
971 @knownissues
972 La instrucción @code{\pageBreak} no funciona dentro de un entorno
973 @code{\begin@{lilypond@} @dots{} \end@{lilypond@}}.
974
975 Muchas variables del bloque @code{\paper} tampoco funcionan dentro de
976 un entorno @code{\begin@{lilypond@} @dots{} \end@{lilypond@}}.  Use
977 @code{\newcommand} con @code{\betweenLilyPondSystem} en el preámbulo:
978
979 @example
980 \newcommand@{\betweenLilyPondSystem@}[1]@{\vspace@{36mm@}\linebreak@}
981 @end example
982
983
984 @subsubheading Texinfo
985
986 Para producir un documento de Texinfo (en cualquier formato de
987 salida), siga el procedimiento normal para Texinfo, esto es: o bien
988 llame a @command{texi2pdf} o a @command{texi2dvi} o a
989 @command{makeinfo}, según el formato de la salida que quiera crear.
990 @ifinfo
991 @xref{Format with texi2dvi, , , texinfo, GNU Texinfo}, y @ref{Creating
992 an Info File, , , texinfo, GNU Texinfo}.
993 @end ifinfo
994 @ifnotinfo
995 Consulte la documentación de Texinfo para ver más detalles.
996 @end ifnotinfo
997
998
999 @subheading Opciones de la línea de órdenes
1000
1001 @command{lilypond-book} acepta las siguientes opciones de la línea de
1002 órdenes:
1003
1004 @table @code
1005 @item -f @var{formato}
1006 @itemx --format=@var{formato}
1007 Especificar el tipo del documento que se va a procesar: @code{html},
1008 @code{latex}, @code{texi} (predeterminado) o @code{docbook}.  Si falta
1009 esta opción, @command{lilypond-book} tratará de detectar el formato
1010 automáticamente, véase @ref{Extensiones de nombres de archivo}. Por el
1011 momento, @code{texi} es lo mismo que @code{texi-html}.
1012
1013 @c This complicated detail is not implemented, comment it out -jm
1014 @ignore
1015 The @code{texi} document type produces a Texinfo file with music
1016 fragments in the printed output only.  For getting images in the HTML
1017 version, the format @code{texi-html} must be used instead.
1018 @end ignore
1019
1020 @item -F @var{filtro}
1021 @itemx --filter=@var{filtro}
1022 Conducir los fragmentos a través de @var{filter} por medio de una
1023 tubería.  @code{lilypond-book} no obedecerá --filter y --process al
1024 mismo tiempo.  Por ejemplo,
1025
1026 @example
1027 lilypond-book --filter='convert-ly --from=2.0.0 -' mi-libro.tely
1028 @end example
1029
1030 @item -h
1031 @itemx --help
1032 Imprimir un breve mensaje de ayuda.
1033
1034 @item -I @var{directorio}
1035 @itemx --include=@var{directorio}
1036 Añadir @var{directorio} a la ruta de inclusión.
1037 @command{lilypond-book} busca también los fragmentos ya compilados en
1038 la ruta de inclusión, y no los vuelve a escribir en el directorio de
1039 salida, así que en ciertos casos es necesario invocar instrucciones de
1040 procesado posteriores como @command{makeinfo} o @command{latex} con
1041 las mismas opciones @option{-I @var{directorio}}.
1042
1043 @item -l @var{nivel_de_registro}
1044 @itemx --loglevel=@var{nivel_de_registro}
1045 Fijar el nivel en que la salida es prolija, al valor
1046 @var{nivel_de_registro}. Los valores posibles son @code{NONE} (nada),
1047 @code{ERROR} (errores), @code{WARNING} (advertencias), @code{PROGRESS}
1048 (avance; predeterminado) y @code{DEBUG} (depuración). Si esta opción
1049 no se utiliza, y la variable de entorno @code{LILYPOND_BOOK_LOGLEVEL}
1050 está establecida, se usa su valor como el nivel de registro.
1051
1052 @item -o @var{directorio}
1053 @itemx --output=@var{directorio}
1054 Colocar los archivos generados en el @var{directorio}.  La ejecución
1055 de @command{lilypond-book} genera montañas de pequeños archivos que
1056 luego procesará LilyPond.  Para evitar toda esta parafernalia en el
1057 mismo directorio que la fuente, utilice la opción @option{--output}, y
1058 cambie a este directorio antes de ejecutar @command{latex} o
1059 @command{makeinfo}.
1060
1061 @example
1062 lilypond-book --output=out miarchivo.lytex
1063 cd out
1064 ...
1065 @end example
1066
1067 @itemx --skip-lily-check
1068 Evitar el fracaso si no se encuentra ninguna salida de lilypond.  Se
1069 usa para la documentación de LilyPond en formato Info sin imágenes.
1070
1071 @itemx --skip-png-check
1072 Evitar el fracaso si no se encuentran las imágenes PNG de los archivos
1073 EPS.  Se usa para la documentación de LilyPond en formato Info sin
1074 imágenes.
1075
1076 @itemx --lily-output-dir=@var{directorio}
1077 Escribir archivos lily-XXX en el directorio @var{directorio}, enlazar
1078 en el directorio de @option{--output}.  Use esta opción para ahorrar
1079 tiempo de construcción para documentos de distintos directorios que
1080 comparten muchos fragmentos idénticos de código.
1081
1082 @itemx --lily-loglevel=@var{nivel_de_registro}
1083 Fijar el nivel en que la salida es prolija para las llamadas de la
1084 instrucción invocada @command{lilypond}, al valor
1085 @var{nivel_de_registro}.  Los valores posibles son @code{NONE} (nada),
1086 @code{ERROR} (errores), @code{WARNING} (advertencias),
1087 @code{BASIC_PROGRESS} (avance básico), @code{PROGRESS} (avance),
1088 @code{INFO} (información; predeterminado) y @code{DEBUG}
1089 (depuración). Si no se utiliza esta opción y la variable de entorno
1090 @code{LILYPOND_LOGLEVEL} está establecida, su valor se usa como nivel
1091 de registro.
1092
1093
1094 @itemx --info-images-dir=@var{directorio}
1095 Dar formato a la salida de Texinfo de manera que Info busque las
1096 imágenes de música en @var{directorio}.
1097
1098 @itemx --latex-program=@var{prog}
1099 Ejecutar el programa @command{prog} en vez de @command{latex}.  Esto
1100 es útil si nuestro documento se procesa con @command{xelatex}, por
1101 ejemplo.
1102
1103 @itemx --left-padding=@var{cantidad}
1104 Rellenar las cajas EPS en esta medida, alrededor. @var{cantidad} se
1105 mide en milímetros, y es 3.0 como valor predeterminado.  Esta opción
1106 se debe usar si las líneas de música están muy pegadas al margen
1107 derecho.
1108
1109 El ancho de un sistema que está muy ajustado dentro de su rectángulo
1110 puede variar, debido a los elementos de notación que están pegados al
1111 margen izquierdo, como los números de compás y el nombre del
1112 instrumento.  Esta opción acorta todas las líneas y las mueve a la
1113 derecha en la misma medida.
1114
1115 @item -P @var{instrucción}
1116 @itemx --process=@var{instrucción}
1117 Procesar los fragmentos de LilyPond utilizando @var{instrucción}.  La
1118 instrucción predeterminada es @code{lilypond}.  @code{lilypond-book}
1119 no obedecerá a @option{--filter} y a @option{--process} al mismo tiempo.
1120
1121 @item --pdf
1122 Crear archivos PDF para su uso con PDF@LaTeX{}.
1123
1124 @item --redirect-lilypond-output
1125 De forma predeterminada, la salida se imprime por la consola.  Esta
1126 opción redirecciona toda la salida hacia archivos de registro situados
1127 en el mismo directorio que los archivos fuente.
1128
1129 @itemx --use-source-file-names
1130 Escribir los archivos de salida de los fragmentos de música con el
1131 mismo nombre de base que su archivo fuente.  Esta opción sólo funciona
1132 para fragmentos incluidos con @code{lilypondfile} y sólo si los
1133 directorios determinados por las opciones @option{--output-dir} y
1134 @option{--lily-output-dir} son distintos.
1135
1136 @item -V
1137 @itemx --verbose
1138 Ser prolijo.  Equivale a @code{--loglevel=DEBUG}.
1139
1140 @item -v
1141 @itemx --version
1142 Imprimir la información de la versión.
1143 @end table
1144
1145 @knownissues
1146
1147 La instrucción de Texinfo @code{@@pagesizes} no se interpreta.  De
1148 forma similar, las instrucciones de @LaTeX{} que cambian los márgenes
1149 y anchos de línea después del preámbulo se ignoran.
1150
1151 Sólo se procesa el primer @code{\score} de un bloque LilyPond.
1152
1153
1154 @node Extensiones de nombres de archivo
1155 @section Extensiones de nombres de archivo
1156 @translationof Filename extensions
1157
1158 Puede usar cualquier extensión para el nombre del archivo de entrada,
1159 pero si no usa la extensión recomendada para un formato en particular
1160 tendrá que especificar manualmente el formato de salida; para ver más
1161 detalles, consulte @ref{Invocar lilypond-book}.  En caso contrario,
1162 @command{lilypond-book} selecciona automáticamente el formato de
1163 salida basándose en la extensión del nombre del archivo de entrada.
1164
1165 @quotation
1166 @multitable @columnfractions .2 .5
1167 @item @strong{extensión} @tab @strong{formato de salida}
1168 @item
1169 @item @file{.html} @tab HTML
1170 @item @file{.htmly} @tab HTML
1171 @item @file{.itely} @tab Texinfo
1172 @item @file{.latex} @tab @LaTeX{}
1173 @item @file{.lytex} @tab @LaTeX{}
1174 @item @file{.lyxml} @tab DocBook
1175 @item @file{.tely} @tab Texinfo
1176 @item @file{.tex} @tab @LaTeX{}
1177 @item @file{.texi} @tab Texinfo
1178 @item @file{.texinfo} @tab Texinfo
1179 @item @file{.xml} @tab HTML
1180 @end multitable
1181 @end quotation
1182
1183 Si usa la misma extensión para el archivo de entrada que la que usa
1184 @command{lilypond-book} para el archivo de salida, y si el archivo de
1185 entrada está en el mismo directorio que el directorio de trabajo de
1186 @command{lilypond-book}, debe usar la opción @option{--output} para que
1187 funcione @command{lilypond-book}, pues en caso contrario saldrá con un
1188 mensaje de error como @qq{La salida sobreescribirá al archivo de
1189 entrada}.
1190
1191
1192 @node Plantillas de lilypond-book
1193 @section Plantillas de lilypond-book
1194 @translationof lilypond-book templates
1195
1196 Estas plantillas se usan para @code{lilypond-book}.  Si no está
1197 familiarizado con este programa, consulte @rprogram{LilyPond-book}.
1198
1199 @subsection LaTeX
1200
1201 Podemos insertar fragmentos de LilyPond dentro de un documento de
1202 LaTeX.
1203
1204 @example
1205 \documentclass[]@{article@}
1206
1207 \begin@{document@}
1208
1209 Texto normal en LaTeX.
1210
1211 \begin@{lilypond@}
1212 \relative c'' @{
1213   a4 b c d
1214 @}
1215 \end@{lilypond@}
1216
1217 Más texto en LaTeX, y las opciones dentro de los corchetes.
1218
1219 \begin@{lilypond@}[fragment,relative=2,quote,staffsize=26,verbatim]
1220 d4 c b a
1221 \end@{lilypond@}
1222 \end@{document@}
1223 @end example
1224
1225 @subsection Texinfo
1226
1227 Podemos insertar fragmentos de LilyPond dentro de Texinfo; de hecho,
1228 todo el presente manual está escrito en Texinfo.
1229
1230 @example
1231 \input texinfo @c -*-texinfo-*-
1232 @@node Top
1233 @@top
1234
1235 Texto en Texinfo
1236
1237 @@lilypond
1238 \relative c' @{
1239   a4 b c d
1240 @}
1241 @@end lilypond
1242
1243 Más texto en Texinfo, y las opciones dentro de los corchetes.
1244
1245 @@lilypond[verbatim,fragment,ragged-right]
1246 d4 c b a
1247 @@end lilypond
1248
1249 @@bye
1250 @end example
1251
1252
1253 @subsection html
1254
1255 @example
1256 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1257 <!-- header_tag -->
1258 <HTML>
1259 <body>
1260
1261 <p>
1262 Los documentos para lilypond-book pueden mezclar música y texto libremente.  Por
1263 ejemplo,
1264 <lilypond>
1265 \relative c'' @{
1266   a4 b c d
1267
1268 <p>
1269 Otro poco de lilypond, esta vez con opciones:
1270
1271 <lilypond fragment quote staffsize=26 verbatim>
1272 a4 b c d
1273 </lilypond>
1274 </p>
1275
1276 </body>
1277 </html>
1278
1279
1280 @end example
1281
1282 @subsection xelatex
1283
1284 @verbatim
1285 \documentclass{article}
1286 \usepackage{ifxetex}
1287 \ifxetex
1288 %xetex specific stuff
1289 \usepackage{xunicode,fontspec,xltxtra}
1290 \setmainfont[Numbers=OldStyle]{Times New Roman}
1291 \setsansfont{Arial}
1292 \else
1293 %Esto se puede dejar vacío si no vamos a utilizar pdftex
1294 \usepackage[T1]{fontenc}
1295 \usepackage[utf8]{inputenc}
1296 \usepackage{mathptmx}%Times
1297 \usepackage{helvet}%Helvetica
1298 \fi
1299 %Aquí insertamos todos los paquetes que pdftex también entiende
1300 \usepackage[ngerman,finnish,english]{babel}
1301 \usepackage{graphicx}
1302
1303 \begin{document}
1304 \title{Un documento breve con LilyPond y xelatex}
1305 \maketitle
1306
1307 Las instrucciones \textbf{font} normales dentro del \emph{texto}
1308 funcionan, porque \textsf{están contempladas por \LaTeX{} y XeteX.}
1309 Si queremos usar instrucciones específicas como \verb+\XeTeX+, debemos
1310 incluirlas de nuevo dentro de un entorno \verb+\ifxetex+.  Podemos
1311 utilizar esto para imprimir la instrucción \ifxetex \XeTeX{} \else
1312 XeTeX \fi que no es conocida para el \LaTeX\ normal.
1313
1314 Dentro del texto normal podemos utilizar instrucciones de LilyPond
1315 fácilmente, de esta forma:
1316
1317 \begin{lilypond}
1318 {a2 b c'8 c' c' c'}
1319 \end{lilypond}
1320
1321 \noindent
1322 y así sucesivamente.
1323
1324 La fuente tipográfica de los fragmentos, establecida con LilyPond,
1325 tendrá que establecerse desde dentro del fragmento. Para esto puede
1326 leer la parte de lilypond-book en el manual de utilización.
1327
1328 \selectlanguage{ngerman}
1329 Auch Umlaute funktionieren ohne die \LaTeX -Befehle, wie auch alle
1330 anderen
1331 seltsamen Zeichen: __ ______, wenn sie von der Schriftart
1332 unterst__tzt werden.
1333 \end{document}
1334 @end verbatim
1335
1336
1337 @node Compartir el índice general
1338 @section Compartir el índice general
1339 @translationof Sharing the table of contents
1340
1341 Estas funciones ya existen en el paquete OrchestralLily:
1342
1343 @example
1344 @url{http://repo.or.cz/w/orchestrallily.git}
1345 @end example
1346
1347 Para conseguir más flexibilidad en el manejo del texto, algunos
1348 usuarios prefieren exportar la el índice general o tabla de contenidos
1349 desde lilypond y leerla dentro de @LaTeX{}.
1350
1351 @subsubheading Exportación del índice general desde LilyPond
1352
1353 Esto supone que nuestra partitura tiene varios movimientos dentor del
1354 mismo archivo de salida de lilypond.
1355
1356 @smallexample
1357 #(define (oly:create-toc-file layout pages)
1358   (let* ((label-table (ly:output-def-lookup layout 'label-page-table)))
1359     (if (not (null? label-table))
1360       (let* ((format-line (lambda (toc-item)
1361              (let* ((label (car toc-item))
1362                     (text  (caddr toc-item))
1363                     (label-page (and (list? label-table)
1364                                      (assoc label label-table)))
1365                     (page (and label-page (cdr label-page))))
1366                (format #f "~a, section, 1, @{~a@}, ~a" page text label))))
1367              (formatted-toc-items (map format-line (toc-items)))
1368              (whole-string (string-join formatted-toc-items ",\n"))
1369              (output-name (ly:parser-output-name parser))
1370              (outfilename (format "~a.toc" output-name))
1371              (outfile (open-output-file outfilename)))
1372         (if (output-port? outfile)
1373             (display whole-string outfile)
1374             (ly:warning (_ "Unable to open output file ~a for the TOC information") outfilename))
1375         (close-output-port outfile)))))
1376
1377 \paper @{
1378   #(define (page-post-process layout pages) (oly:create-toc-file layout pages))
1379 @}
1380 @end smallexample
1381
1382 @subsubheading Importación del índice general dentro de LaTeX
1383
1384 En LaTeX, la cabecera debe incluir lo siguiente:
1385
1386 @c no, this doesn't require the smallexample, but since the other
1387 @c two blocks on this page use it, I figured I might as well
1388 @c user it here as well, for consistency. -gp
1389 @smallexample
1390 \usepackage@{pdfpages@}
1391 \includescore@{nombredelapartitura@}
1392 @end smallexample
1393
1394 @noindent
1395 donde @code{\includescore} está definido como:
1396
1397 @smallexample
1398 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1399 % \includescore@{PossibleExtension@}
1400 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1401
1402 % Leer las entradas del índice general para un archivo PDF
1403 % a partir del archivo .toc correspondeiente.
1404 % Esto requiere bastantes trucos de latex, porque leer cosas de un archivo
1405 % e insertarlo dentro de los argumentos de un macro no es posible
1406 % fácilmente.
1407
1408 % Solución de Patrick Fimml en el canal #latex el 18 de abril de 2009:
1409 % \readfile@{filename@}@{\variable@}
1410 % lee el contenido del archivo en \variable (no definida si el
1411 % archivo no existe)
1412 \newread\readfile@@f
1413 \def\readfile@@line#1@{%
1414 @{\catcode`\^^M=10\global\read\readfile@@f to \readfile@@tmp@}%
1415 \edef\do@{\noexpand\g@@addto@@macro@{\noexpand#1@}@{\readfile@@tmp@}@}\do%
1416 \ifeof\readfile@@f\else%
1417 \readfile@@line@{#1@}%
1418 \fi%
1419 @}
1420 \def\readfile#1#2@{%
1421 \openin\readfile@@f=#1 %
1422 \ifeof\readfile@@f%
1423 \typeout@{No TOC file #1 available!@}%
1424 \else%
1425 \gdef#2@{@}%
1426 \readfile@@line@{#2@}%
1427 \fi
1428 \closein\readfile@@f%
1429 @}%
1430
1431
1432 \newcommand@{\includescore@}[1]@{
1433 \def\oly@@fname@{\oly@@basename\@@ifmtarg@{#1@}@{@}@{_#1@}@}
1434 \let\oly@@addtotoc\undefined
1435 \readfile@{\oly@@xxxxxxxxx@}@{\oly@@addtotoc@}
1436 \ifx\oly@@addtotoc\undefined
1437 \includepdf[pages=-]@{\oly@@fname@}
1438 \else
1439 \edef\includeit@{\noexpand\includepdf[pages=-,addtotoc=@{\oly@@addtotoc@}]
1440 @{\oly@@fname@}@}\includeit
1441 \fi
1442 @}
1443 @end smallexample
1444
1445
1446 @node Métodos alternativos para mezclar texto y música
1447 @section Métodos alternativos para mezclar texto y música
1448 @translationof Alternate methods of mixing text and music
1449
1450 Otras formas de mezclar texto y música (sin @command{lilypond-book})
1451 se estudian en @ref{Insertar la salida de LilyPond dentro de otros programas}.
1452
1453