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