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