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