1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
4 Translation of GIT committish: 7f48cb638958a728209577caa41bbaca8a2e4ef2
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..
13 @c Note: keep this node named so that `info lilypond-book' brings you here.
15 @chapter Ejecución de @command{lilypond-book}
16 @translationof lilypond-book
18 Si quiere añadir imágenes de música a un documento, puede hacerlo
19 simplemente de la forma en que lo haría con otros tipos de
20 imágenes. Las imágenes se crean por separado, dando como
21 resultado una salida PostScript o imágenes PNG, y luego se
22 incluyen en un documento de @LaTeX{} o de HTML.
24 @command{lilypond-book} ofrece una manera de automatizar este
25 proceso: este programa extrae los fragmentos de música del
26 documento, ejecuta @command{lilypond} sobre cada uno de ellos, y
27 devuelve como salida el documento con la música sustituida por las
28 imágenes. Las definiciones de ancho de línea y tamaño de letra de
29 la música se ajustan de forma que coincidan con los ajustes de su
32 Es un programa distinto a @command{lilypond} propiamente dicho, y
33 se ejecuta sobre la línea de órdenes; para ver más información,
34 consulte @ref{Utilización desde la línea de órdenes}. Si
35 experimenta algún problema al ejecutar @code{lilypond-book} sobre
36 Windows o Mac OS X utilizando la línea de órdenes, consulte
37 @rweb{Windows} o @rweb{MacOS X}.
39 Este procedimiento se puede aplicar a documentos de @LaTeX{},
40 HTML, Texinfo o 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
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::
66 @node Un ejemplo de documento musicológico
67 @section Un ejemplo de documento musicológico
68 @translationof An example of a musicological document
71 Ciertos textos contienen ejemplos musicales. Son tratados
72 musicales, cancioneros o manuales como este mismo. Estos textos
73 se pueden hacer a mano, importando simplemente una imagen en
74 formato PostScript en el editor de textos. Sin embargo, hay un
75 procedimiento automático para reducir la carga de trabajo que esto
76 implica los documentos de HTML, @LaTeX{}, Texinfo y DocBook.
78 Un guión ejecutable llamado @code{lilypond-book} extrae los
79 fragmentos de música, les da formato y vuelve a poner en su lugar
80 la partitura resultante. A continuación presentamos un pequeño
81 ejemplo de su utilización con @LaTeX{}. El ejemplo contiene
82 también texto explicativo, por lo que no vamos a comentarlo
89 \documentclass[a4paper]{article}
93 Los documentos para \verb+lilypond-book+ pueden mezclar libremente
94 música y texto. Por ejemplo:
98 c'2 e2 \tuplet 3/2 { f8 a b } a2 e4
102 Las opciones se escriben entre corchetes.
104 \begin{lilypond}[fragment,quote,staffsize=26,verbatim]
108 Los ejemplos grandes se pueden grabar en archivos separados e
109 introducirse con \verb+\lilypondfile+.
111 \lilypondfile[quote,noindent]{screech-and-boink.ly}
113 (Si es necesario, sustituya @file{screech-and-boink.ly}
114 por cualquier archivo @file{.ly}
115 situado en el mismo directorio que este archivo.)
121 @subheading Procesado
123 Guarde el código anterior como un archivo llamado
124 @file{lilybook.lytex}, y luego ejecute en un terminal:
126 @c keep space after @version{} so TeX doesn't choke
128 lilypond-book --output=out --pdf lilybook.lytex
129 @emph{lilypond-book (GNU LilyPond) @version{} }
130 @emph{Leyendo lilybook.lytex...}
131 @emph{@dots{}montañas de mensajes suprimidos@dots{}}
132 @emph{Compilando lilybook.tex@dots{}}
135 @emph{@dots{}montañas de mensajes suprimidos@dots{}}
137 @emph{(sustituya @command{xpdf} por su visor de PDF favorito)}
140 La ejecución de @command{lilypond-book} y @command{latex} crea un
141 gran número de archivos temporales, que podrían abarrotar el
142 directorio de trabajo. Para poner remedio a esto utilice la
143 opción @option{--output=@var{directorio}}. Creará los archivos en
144 un subdirectorio aparte @file{directorio}.
146 Finalmente el resultado del ejemplo de @LaTeX{} que acabamos de
147 mostrar@footnote{Este tutorial se procesa con Texinfo, por lo que
148 el ejemplo presenta un resultado en la disposición ligeramente
149 distinto.}. Así acaba la sección del tutorial.
155 Los documentos para @command{lilypond-book} pueden mezclar
156 libremente música y texto. Por ejemplo:
160 c'2 e2 \tuplet 3/2 { f8 a b } a2 e4
164 Las opciones se escriben entre corchetes.
166 @lilypond[fragment,quote,staffsize=26,verbatim]
170 Los ejemplos grandes se pueden grabar en archivos separados e
171 introducirse con @code{\lilypondfile}.
173 @lilypondfile[quote,noindent]{screech-and-boink.ly}
175 Si se requiere un campo @code{tagline}, ya sea predeterminado o
176 personalizado, entonces el fragmento completo se debe incluir
177 dentro de una construcción @code{\book @{ @}}.
180 @lilypond[papersize=a8,verbatim]
183 title = "Una escala en LilyPond"
194 @node Integrar música y texto
195 @section Integrar música y texto
196 @translationof Integrating music and text
198 Aquí vamos a explicar cómo integrar LilyPond con algunos otros
212 @LaTeX{} es el estándar de facto para la publicación en el mundo
213 de las ciencias exactas. Está construido encima del motor de
214 composición tipográfica @TeX{}, proporcionando la tipografía de
215 mejor calidad que existe.
218 @uref{http://@/www@/.ctan@/.org/@/tex@/-archive/@/info/@/lshort/@/english/,
219 @emph{The Not So Short Introduction to @LaTeX{}}} (Introducción no tan
220 breve a @LaTeX{}) para ver una panorámica sobre cómo usar @LaTeX{}.
222 @code{lilypond-book} aporta las instrucciones y entornos
223 siguientes para incluir música dentro de archivos de @LaTeX{}:
228 la instrucción @code{\lilypond@{@dots{}@}}, donde podemos escribir
229 directamente fragmentos cortos de código de LilyPond
232 el entorno @code{\begin@{lilypond@}@dots{}\end@{lilypond@}}, donde
233 podemos introducir directamente bloques más largos de código de
237 la instrucción @code{\lilypondfile@{@dots{}@}} para insertar un
241 la instrucción @code{\musicxmlfile@{@dots{}@}} para insertar un
242 archivo de MusicXML, que se procesa por parte de
243 @code{musicxml2ly} y @code{lilypond}.
247 En el archivo de entrada, se especifica la música con cualquiera
248 de las instrucciones siguientes:
251 \begin@{lilypond@}[las,opciones,van,aquí]
252 EL CÓDIGO DE LILYPOND
255 \lilypond[las,opciones,van,aquí]@{ EL CÓDIGO DE LILYPOND @}
257 \lilypondfile[las,opciones,van,aquí]@{@var{archivo}@}
259 \musicxmlfile[las,opciones,van,aquí]@{@var{archivo}@}
265 De forma adicional, @code{\lilypondversion} imprime la versión
268 La ejecución de @command{lilypond-book} deja como resultado un
269 archivo que se puede procesar posteriormente con @LaTeX{}.
271 A continuación mostramos algunos ejemplos. El entorno
275 \begin@{lilypond@}[quote,fragment,staffsize=26]
283 @lilypond[quote,fragment,staffsize=26]
290 \lilypond[quote,fragment,staffsize=11]@{<c' e' g'>@}
296 @lilypond[quote,fragment,staffsize=11]{<c' e' g'>}
299 Por el momento no es posible incluir llaves @code{@{} o @code{@}}
300 dentro de @code{\lilypond@{@}}, así que esta instrucción solamente
301 es útil con la opción @code{fragment}.
303 El ancho predeterminado de las líneas de música se ajusta mediante
304 el examen de las instrucciones del preámbulo del documento, la
305 parte del documento que está antes de @code{\begin@{document@}}.
306 La instrucción @command{lilypond-book} los envía a @LaTeX{} para
307 averiguar la anchura del texto. El ancho de la línea para los
308 fragmentos de música se ajusta entonces al ancho del texto.
309 Observe que este algoritmo heurístico puede fácilmente fallar; en
310 estos casos es necesario usar la opción @code{line-width} del
313 @cindex títulos y lilypond-book
314 @cindex \header dentro de documentos @LaTeX{}
316 Cada fragmento ejecutará los macros siguientes si han sido
317 definidos por el usuario:
320 @item @code{\preLilyPondExample} que se llama antes de la música,
322 @item @code{\postLilyPondExample} que se llama después de la música,
324 @item @code{\betweenLilyPondSystem[1]} se llama entre los sistemas si
325 @code{lilypond-book} ha dividido el fragmento en varios archivos
326 PostScript. Se debe definir de forma que tome un parámetro y
327 recibirá el número de archivos ya incluidos dentro del fragmento
328 actual. La acción predeterminada es simplemente insertar un
335 @cindex Latex, feta symbols
338 To include feta symbols (such as flat, segno, etc) in a LaTeX
339 document, use @code{\input@{titledefs@}}
342 \documentclass[a4paper]@{article@}
353 The font symbol names are defined in the file feta20.tex; to find
354 the location of this file, use the command
364 A veces es útil mostrar elementos de música (como ligaduras) como
365 si continuasen más allá del final del fragmento. Esto se puede
366 hacer dividiendo el pentagrama y suprimiendo la inclusión del
367 resto de la salida de LilyPond.
369 En @LaTeX{}, defina @code{\betweenLilyPondSystem} de tal forma que
370 la la inclusión de otros sistemas se dé por terminada una vez que
371 se ha alcanzado el número deseado de sistemas requeridos. Puesto
372 que @code{\betweenLilyPondSystem} se llama en primer lugar
373 @emph{después} del primer sistema, incluir solamente el primer
374 sistema es algo trivial.
377 \def\betweenLilyPondSystem#1@{\endinput@}
379 \begin[fragment]@{lilypond@}
380 c'1\( e'( c'~ \break c' d) e f\)
384 Si se necesita un mayor número de sistemas, se tiene que usar un
385 condicional de @TeX{} antes del @code{\endinput}. En este
386 ejemplo, sustituya el @q{2} por el número de sistemas que quiere
390 \def\betweenLilyPondSystem#1@{
391 \ifnum#1<2\else\expandafter\endinput\fi
396 (Dado que @code{\endinput} detiene inmediatamente el procesado del
397 archivo de entrada actual, necesitamos @code{\expandafter} para
398 posponer la llamada de @code{\endinput} después de ejecutar
399 @code{\fi} de manera que la cláusula @code{\if}-@code{\fi} esté
402 Recuerde que la definición de @code{\betweenLilyPondSystem} es
403 efectiva hasta que @TeX{} abandona el grupo actual (como el
404 entorno @LaTeX{}) o se sobreescribe por otra definición (lo que
405 casi siempre es por el resto del documento). Para reponer la
409 \let\betweenLilyPondSystem\undefined
413 dentro de la fuente de @LaTeX{}.
415 Se puede simplificar esto definiendo un macro de @TeX{}:
418 \def\onlyFirstNSystems#1@{
419 \def\betweenLilyPondSystem##1@{\ifnum##1<#1\else\endinput\fi@}
424 y luego diciendo solamente cuántos sistemas quiere antes de cada
428 \onlyFirstNSystems@{3@}
429 \begin@{lilypond@}@dots{}\end@{lilypond@}
430 \onlyFirstNSystems@{1@}
431 \begin@{lilypond@}@dots{}\end@{lilypond@}
436 Hay opciones de línea de órdenes específicas de
437 @command{lilypond-book} y otros detalles que conocer para procesar
438 documentos de@LaTeX{} véase @ref{Invocar lilypond-book}.
443 @translationof Texinfo
445 Texinfo es el formato estándar para la documentación del proyecto
446 GNU. Este mismo manual es un ejemplo de documento Texinfo. Las
447 versiones HTML, PDF e Info del manual se hacen a partir del
450 @code{lilypond-book} aporta las siguientes instrucciones y
451 entornos para incluir música dentro de archivos de Texinfo:
456 la instrucción @code{@@lilypond@{@dots{}@}}, donde podemos
457 introducir directamente fragmentos cortos de código de LilyPond
460 el entorno @code{@@lilypond@dots{}@@end lilypond}, donde podemos
461 escribir directamente bloques más extensos de código de LilyPond
464 la instrucción @code{@@lilypondfile@{@dots{}@}} para insertar un
468 la instrucción @code{@@musicxmlfile@{@dots{}@}} para insertar un
469 archivo de MusicXML, que se procesa después por parte de
470 @code{musicxml2ly} y de @code{lilypond}.
474 En el archivo de entrada, la música se especifica con cualquiera
475 de las instrucciones siguientes:
478 @@lilypond[las,opciones,van,aquí]
479 EL CÓDIGO DE LILYPOND
482 @@lilypond[las,opciones,van,aquí]@{ EL CÓDIGO DE LILYPOND @}
484 @@lilypondfile[las,opciones,van,aquí]@{@var{archivo}@}
486 @@musicxmlfile[las,opciones,van,aquí]@{@var{archivo}@}
489 De forma adicional, @code{@@lilypondversion} imprime la versión
492 Cuando se ejecuta @command{lilypond-book} sobre el archivo, se
493 obtiene como resultado un archivo Texinfo (con la extensión
494 @file{.texi}) que contiene etiquetas @code{@@image} para el HTML,
495 Info y la salida impresa. @command{lilypond-book} genera imágenes
496 de la música en formatos EPS y PDF para usarlos en la salida
497 impresa, y en formato PNG para usarlos en las salidas HTML e Info.
499 Aquí podemos ver dos ejemplos sencillos. Un entorno
518 @@lilypond[fragment,staffsize=11]@{<c' e' g'>@}
524 @lilypond[fragment,staffsize=11]{<c' e' g'>}
526 A diferencia de @LaTeX{}, @code{@@lilypond@{@dots{}@}} no genera
527 una imagen en línea. Siempre consiste en un párrafo para ella
535 @code{lilypond-book} aporta las siguientes instrucciones y
536 entornos para incluir música dentro de archivos HTML:
541 la instrucción @code{<lilypond @dots{} />}, donde podemos
542 introducir directamente fragmentos cortos de código de LilyPond
545 el entorno @code{<lilyond>@dots{}</lilypond>}, donde podemos
546 escribir directamente bloques más extensos de código de LilyPond
549 la instrucción @code{<lilypondfile>@dots{}</lilypondfile>} para
550 insertar un archivo de LilyPond
553 la instrucción @code{<musicxmlfile>@dots{}</musicxmlfile>} para
554 insertar un archivo de MusicXML, que se procesa después por parte
555 de @code{musicxml2ly} y de @code{lilypond}.
559 En el archivo de entrada, la música se especifica con cualquiera
560 de las instrucciones siguientes:
563 <lilypond las opciones van aquí>
564 EL CÓDIGO DE LILYPOND
567 <lilypond las opciones van aquí: EL CÓDIGO DE LILYPOND />
569 <lilypondfile las opciones van aquí>@var{archivo}</lilypondfile>
571 <musicxmlfile las opciones van aquí>@var{archivo}</musicxmlfile>
574 Por ejemplo, podemos escribr
576 <lilypond fragment relative=2>
577 \key c \minor c4 es g2
582 @command{lilypond-book} entonces produce un archivo HTML con las
583 etiquetas de imagen adecuadas para los fragmentos de música:
585 @lilypond[fragment,relative=2]
586 \key c \minor c4 es g2
589 Para imágenes en línea, utilice @code{<lilypond @dots{} />}, donde
590 las opciones están separadas de la música por el símbolo de dos
594 Algo de música dentro de <lilypond relative=2: a b c/> una línea
598 Para incluir archivos externos, escriba
601 <lilypondfile @var{opción1} @var{opción2} @dots{}>@var{archivo}</lilypondfile>
604 @code{<musicxmlfile>} usa la misma sintaxis que
605 @code{<lilypondfile>}, pero sencillamente referencia un archivo de
606 MusicXML en lugar de un archivo de LilyPond.
608 Para ver una lista de las opciones que utilizar con las etiquetas
609 @code{lilypond} o @code{lilypondfile}, véase @ref{Opciones de
610 fragmentos de música}.
612 De forma adicional, @code{<lilypondversion/>} imprime la versión
615 @cindex títulos en HTML
616 @cindex vista previa, imagen
621 @translationof DocBook
623 Para insertar fragmentos de LilyPond es bueno tratar de mantener
624 la conformidad del documento de DocBook, permitiendo así el uso de
625 editores de DocBook, validación, etc. Así pues, no usamos
626 etiquetas personalizadas, sólo especificamos una convención basada
627 en los elementos estándar de DocBook.
629 @subheading Convenciones usuales
631 Para insertar toda clase de fragmentos utilizamos los elementos
632 @code{mediaobject} y @code{inlinemediaobject}, de forma que
633 nuestros fragmentos puedan ser formateados en línea o no en línea.
634 Las opciones de formateo del fragmento se escriben siempre dentro
635 de la propiedad @code{role} del elemento más interno (véanse las
636 secciones siguientes). Las etiquetas se eligen de forma que
637 permitan a los editores de DocBook formatear el contenido
638 satisfactoriamente. Los archivos de DocBook que se van a procesar
639 con @command{lilypond-book} deben tener la extensión
642 @subheading Incluir un archivo de LilyPond
644 Este es el caso más sencillo. Debemos usar la extensión
645 @file{.ly} para el archivo incluido, e insertarlo como un
646 @code{imageobject} estándar, con la estructura siguiente:
651 <imagedata fileref="music1.ly" role="printfilename" />
656 Observe que puede usar mediaobject o inlinemediaobject como el
657 elemento más externo, a elección suya.
659 @subheading Incluir código de LilyPond
661 Se puede incluir código de LilyPond mediante la utilización de un
662 elemento @code{programlisting}, en que el lenguaje se establece
663 como @code{lilypond} con la estructura siguiente:
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"@}
678 Como puede ver, el elemento más externo es un @code{mediaobject} o
679 un @code{inlinemediaobject}, y hay un elemento @code{textobject}
680 que lleva el @code{programlisting} en su interior.
682 @subheading Procesar el documento de DocBook
684 Al ejecutar @command{lilypond-book} sobre el archivo @file{.lyxml}
685 se creará un documento de DocBook válido que se puede procesar
686 posteriormente con la extensión @file{.xml}. Si usa
687 @uref{http://@/dblatex@/.sourceforge@/.net@/,dblatex}, creará un
688 archivo PDF a partir de este documento automáticamente. Para la
689 generación de HTML (HTML Help, JavaHelp, etc.) puede usar las
690 hojas de estilo oficiales XSL de DocBook, aunque es posible que
691 tenga que aplicarles algún tipo de personalización.
694 @node Opciones de fragmentos de música
695 @section Opciones de fragmentos de música
696 @translationof Music fragment options
698 Durante los próximos párrafos, una @q{instrucción de LilyPond} se
699 refiere a cualquier instrucción descrita en las secciones
700 anteriores que se maneja por parte de @command{lilypond-book} para
701 que produzca un fragmento de música. Por simplicidad, las
702 instrucciones de LilyPond solamente se muestran en la sintaxis de
705 Observe que la cadena de opciones se analiza de izquierda a
706 derecha; si una opción aparece varias veces, se toma la última
709 Están disponibles las siguientes opciones para las instrucciones
713 @item staffsize=@var{altura}
714 Establecer la altura del pentagrama como @var{altura}, medida en
718 Producir líneas no justificadas por la derecha y con espaciado
719 natural, es decir, se añade @code{ragged-right = ##t} al fragmento
720 de LilyPond. Los fragmentos de una sola línea siempre se
721 tipografían de forma predeterminada sin justificación por la
722 derecha, a no ser que se use explícitamente la opción
723 @code{noragged-right}.
726 Para fragmentos de una sola línea, permitir que la longitud del
727 pentagrama se amplíe hasta igualar la anchura de la línea, es
728 decir, se añade @code{ragged-right = ##f} al fragmento de
732 @itemx line-width=@var{tamaño}\@var{unidades}
733 Establecer el ancho de línea como @var{tamaño}, utilizando
734 @var{unidades} como unidad. @var{unidades} es una de las
735 siguientes cadenas: @code{cm}, @code{mm}, @code{in} o @code{pt}.
736 Esta opción afecta a la salida de LilyPond (esto es, a la longitud
737 del pentagrama del fragmento musical), no al formato del texto.
739 Si se usa sin ningún argumento, se establece el ancho de la línea
740 a un valor predeterminado (calculado con un algoritmo heurístico).
742 Si no se da ninguna opción @code{line-width},
743 @command{lilypond-book} trata de adivinar un valor predeterminado
744 para los entornos @code{lilypond} que no usan la opción
747 @item papersize=@var{cadena}
748 Donde @var{cadena} es un tamaño del papel definido en el archivo
749 @file{scm/paper.scm}, es decir, @code{a5}, @code{quarto},
752 Los valores no definidos en el archivo @file{scm/paper.scm} se
753 ignoran, se emite una advertencia y el fragmento se imprime
754 utilizando el tamaño predeterminado @code{a4}.
757 No imprimir la indicación de compás, y desactivar las indicaciones
758 temporales de la música (indicación del compás y líneas
762 Hacer que @command{lilypond-book} añada algunos códigos necesarios
763 para que podamos escribir simplemente, por ejemplo,
770 sin @code{\layout}, @code{\score}, etc.
773 No incluir el código adicional que completa la sintaxis de
774 LilyPond en los fragmentos de música. Al ser la opción
775 predeterminada, @code{nofragment} normalmente es redundante.
777 @item indent=@var{tamaño}\@var{unidades}
778 Establecer el sangrado del primer sistema de pentagramas como
779 @var{tamaño}, utilizando @var{unidades} como
780 unidad. @var{unidades} es una de las siguientes cadenas:
781 @code{cm}, @code{mm}, @code{in} o @code{pt}. Esta opción afecta a
782 LilyPond, no al formato del texto.
785 Establecer el sangrado del primer sistema de la música como cero.
786 Esta opción afecta a LilyPond, no al formato del texto. Puesto
787 que el valor predeterminado es que no haya ningún sangrado,
788 @code{noindent} normalmente es redundante.
791 Reducir la longitud de la línea de un fragmento musical en
792 @math{2*0.4}@dmn{in} (pulgadas) y colocar la salida dentro de un
793 bloque de cita (quotation). El valor de @q{0.4@dmn{in}} se puede
794 controlar con la opción @code{exampleindent}.
797 Establecer la longitud del sangrado que la opción @code{quote}
798 aplica al fragmento musical.
801 @itemx relative=@var{n}
802 Usar el modo de octava relativa. De forma predeterminada, las
803 notas se especifican con relación al Do@tie{}central. El
804 argumento entero opcional especifica la octava de la nota inicial,
805 donde el valor predeterminado @code{1} es el Do central. La
806 opción @code{relative} sólo funciona cuando está establecida la
807 opción @code{fragment}, de manera que @code{fragment} viene
808 implicada automáticamente por @code{relative}, independientemente
809 de la presencia de @code{fragment} o de @code{nofragment} en la
814 LilyPond utiliza también @command{lilypond-book} para producir su
815 propia documentación. Para hacerlo, están a nuestra disposición
816 ciertas opciones algo esotéricas para los fragmentos musicales.
820 El argumento de una instrucción de LilyPond se copia al archivo de
821 salida y se incluye dentro de un bloque «verbatim» o
822 preformateado, seguido del texto que se escriba con la opción
823 @code{intertext} (que no funciona aún); después se imprime la
824 música en sí. Esta opción no funciona bien con
825 @code{\lilypond@{@}} si forma parte de un párrafo.
827 Si se usa la opción @code{verbatim} dentro de una instrucción
828 @code{lilypondfile}, es posible incluir con estilo preformateado
829 sólo una parte del archivo fuente. Si el archivo de código fuente
830 contiene un comentario que contiene @samp{begin verbatim} (sin las
831 comillas), la cita del bloque de estilo preformateado empezará
832 después de la última vez que aparezca este comentario; de forma
833 similar, la cita del bloque preformateado se detendrá justo antes
834 de la primera vez que aparezca un comentario que contenga
835 @samp{end verbatim}, si lo hay. En el siguiente ejemplo de código
836 fuente, la música se interpreta en el modo relativo, pero la cita
837 preformateada no presentará el bloque @code{relative}, es decir
840 \relative @{ % begin verbatim
847 se imprime como un bloque preformateado como
855 Si queremos traducir los comentarios y los nombres de variable en
856 la salida literal pero no en el código fuente, podemos establecer
857 el valor de la variable de entorno @code{LYDOC_LOCALEDIR} a la
858 ruta de un directorio; este directorio debe contener un árbol de
859 catálogos de mensajes @file{.mo} con @code{lilypond-doc} como
863 (Sólo para la salida de Texinfo.) Anteponer la línea
864 @code{\version @@w@{"@@version@{@}"@}} a la salida de
868 (Sólo para la salida de Texinfo.) Si se llama a
869 @command{lilypond} con la opción @option{--header=@/texidoc}, y el
870 archivo que se procesa se llama @file{fulanito.ly}, crea un
871 archivo @file{fulanito.texidoc} si existe un campo @code{texidoc}
872 dentro del bloque @code{\header} de cabecera. La opción
873 @code{texidoc} hace que @command{lilypond-book} incluya estos
874 archivos, añadiendo su contenido como un bloque de documentación
875 inmediatamente antes del fragmento musical (pero fuera del entorno
876 @code{example} generado por la opción @code{quote}).
878 Suponiendo que el archivo @file{fulanito.ly} contiene
882 texidoc = "Este archivo es un ejemplo de una sola nota."
888 y que tenemos lo siguiente en nuestro documento de Texinfo
889 @file{prueba.texinfo}
892 @@lilypondfile[texidoc]@{fulanito.ly@}
896 la siguiente orden da como salida el resultado esperado:
899 lilypond-book --pdf --process="lilypond \
900 -dbackend=eps --header=texidoc" test.texinfo
903 La mayoría de los documentos de prueba de LilyPond (en el
904 directorio @file{input} de la distribución) son pequeños archivos
905 @file{.ly} que tienen exactamente este aspecto.
907 Por motivos de localización de idioma, si el documento de Texinfo
908 contiene @code{@@documentlanguage @var{LANG}} y la cabecera de
909 @file{loquesea.ly} contiene un campo @code{texidoc@var{LANG}}, y
910 @command{lilypond} se ejecuta con
911 @option{--header=@/texidoc@var{LANG}}, entonces se incluirá
912 @file{loquesea.texidoc@var{LANG}} en lugar de
913 @file{loquesea.texidoc}.
916 (Sólo para la salida de Texinfo.) Esta opción funciona de forma
917 parecida a la opción @code{texidoc}: si @command{lilypond} se
918 llama con la opción @option{--header=@/doctitle}, y el archivo que
919 procesar se llama @file{loquesea.ly} y contiene un campo
920 @code{doctitle} en el bloque @code{\header}, crea un archivo
921 @file{loquesea.doctitle}. Cuando se usa la opción
922 @code{doctitle}, el contenido de @file{loquesea.doctitle}, que
923 debería ser una línea única de @var{texto}, se inserta en el
924 documento de Texinfo como @code{@@lydoctitle @var{texto}}.
925 @code{@@lydoctitle} debe ser un macro definido en el documento de
926 Texinfo. La misma indicación referida al procesado de
927 @code{texidoc} con idiomas localizados se aplica a
931 (Sólo para la salida de Texinfo.) No traducir los comentarios y
932 nombres de variable en el fragmento de código literal citado.
935 Si un archivo de entrada de LilyPond se incluye con
936 @code{\lilypondfile}, imprimir el nombre del archivo
937 inmediatamente antes del fragmento musical. Para la salida HTML,
938 esto es un enlace. Sólo se imprime el nombre base del archivo, es
939 decir, se elimina la parte del directorio de la ruta del archivo.
944 @node Invocar lilypond-book
945 @section Invocar @command{lilypond-book}
946 @translationof Invoking lilypond-book
948 @command{lilypond-book} produce un archivo con una de las
949 siguientes extensiones: @file{.tex}, @file{.texi}, @file{.html} o
950 @file{.xml}, dependiendo del formato de salida. Todos los
951 archivos @file{.tex}, @file{.texi} y @file{.xml} necesitan un
954 @subheading Instrucciones específicas de formato
956 @subsubheading @LaTeX{}
958 Hay dos formas de procesar el documento en @LaTeX{} para su
959 impresión o publicación: hacer un archivo PDF directamente con
960 PDF@LaTeX{}, o generar un archivo PostScript con @LaTeX{} a través
961 de un traductor de DVI a PostScript como @command{dvips}. la
962 primera forma es más sencilla y es la que se
963 recomienda@footnote{Observe que PDF@LaTeX{} y @LaTeX{} podrían no
964 ser utilizables para compilar cualquier documento @LaTeX{}, y es
965 por lo que explicamos las dos formas.}, y cualquiera que sea el
966 método que utilice, podrá convertir fácilmente entre PostScript y
967 PDF con herramientas como @command{ps2pdf} y @command{pdf2ps} que
968 vienen incluidas con Ghostscript.
970 Para producir un archivo PDF por medio de PDF@LaTeX{}, utilice:
973 lilypond-book --pdf miarchivo.pdftex
974 pdflatex miarchivo.tex
977 @cindex tipografías de outline
978 @cindex type1, tipografías
980 @cindex invocación de dvips
982 Para producir una salida PDF por medio de
983 @LaTeX{}/@command{dvips}/@command{ps2pdf}:
986 lilypond-book miarchivo.lytex
988 dvips -Ppdf miarchivo.dvi
993 El archivo @file{.dvi} creado por este proceso no contiene las
994 cabezas de las notas. Esto es normal; si sigue las instrucciones,
995 las cabezas aparecerán en los archivos @file{.ps} y @file{.pdf}.
997 La ejecución de @command{dvips} puede dar como resultado algunas
998 advertencias sobre las fuentes tipográficas; son inocuas y se
999 pueden ignorar. Si está ejecutando @command{latex} en modo de dos
1000 columnas, recuerde añadir @option{-t landscape} a las opciones de
1003 Entornos tales como:
1006 \begin@{lilypond@} @dots{} \end@{lilypond@}
1010 no se interpretan por parte de @LaTeX{}. En su lugar, el programa
1011 @code{lilypond-book} extrae estos @q{entornos} como archivos
1012 independientes y ejecuta LilyPond sobre ellos. Después, toma las
1013 imágenes resultantes y crea un archivo @file{.tex} en el que los
1014 macros @code{\begin@{lilypond@}}@dots{}@code{\end@{lilypond@}} se
1015 sustituyen por instrucciones de @q{inserción de gráficos}. A
1016 continuación, se ejecuta @LaTeX{} (aunque @LaTeX{} se ha ejecutado
1017 anteriormente, lo habrá sido sobre un archivo @q{vacío} para
1018 calcular cosas como el @code{\linewidth}).
1022 La instrucción @code{\pageBreak} no funciona dentro de un entorno
1023 @code{\begin@{lilypond@} @dots{} \end@{lilypond@}}.
1025 Muchas variables del bloque @code{\paper} tampoco funcionan dentro
1026 de un entorno @code{\begin@{lilypond@} @dots{} \end@{lilypond@}}.
1027 Use @code{\newcommand} con @code{\betweenLilyPondSystem} en el
1031 \newcommand@{\betweenLilyPondSystem@}[1]@{\vspace@{36mm@}\linebreak@}
1035 @subsubheading Texinfo
1037 Para producir un documento de Texinfo (en cualquier formato de
1038 salida), siga el procedimiento normal para Texinfo, esto es: o
1039 bien llame a @command{texi2pdf} o a @command{texi2dvi} o a
1040 @command{makeinfo}, según el formato de la salida que quiera
1043 @xref{Format with texi2dvi, , , texinfo, GNU Texinfo}, y
1044 @ref{Creating an Info File, , , texinfo, GNU Texinfo}.
1047 Consulte la documentación de Texinfo para ver más detalles.
1051 @subheading Opciones de la línea de órdenes
1053 @command{lilypond-book} acepta las siguientes opciones de la línea
1057 @item -f @var{formato}
1058 @itemx --format=@var{formato}
1059 Especificar el tipo del documento que se va a procesar:
1060 @code{html}, @code{latex}, @code{texi} (predeterminado) o
1061 @code{docbook}. Si falta esta opción, @command{lilypond-book}
1062 tratará de detectar el formato automáticamente, véase
1063 @ref{Extensiones de nombres de archivo}. Por el momento,
1064 @code{texi} es lo mismo que @code{texi-html}.
1066 @c This complicated detail is not implemented, comment it out -jm
1068 The @code{texi} document type produces a Texinfo file with music
1069 fragments in the printed output only. For getting images in the HTML
1070 version, the format @code{texi-html} must be used instead.
1073 @item -F @var{filtro}
1074 @itemx --filter=@var{filtro}
1075 Conducir los fragmentos a través de @var{filter} por medio de una
1076 tubería. @code{lilypond-book} no obedecerá --filter y --process
1077 al mismo tiempo. Por ejemplo,
1080 lilypond-book --filter='convert-ly --from=2.0.0 -' mi-libro.tely
1085 Imprimir un breve mensaje de ayuda.
1087 @item -I @var{directorio}
1088 @itemx --include=@var{directorio}
1089 Añadir @var{directorio} a la ruta de inclusión.
1090 @command{lilypond-book} busca también los fragmentos ya compilados
1091 en la ruta de inclusión, y no los vuelve a escribir en el
1092 directorio de salida, así que en ciertos casos es necesario
1093 invocar instrucciones de procesado posteriores como
1094 @command{makeinfo} o @command{latex} con las mismas opciones
1095 @option{-I @var{directorio}}.
1097 @item -l @var{nivel_de_registro}
1098 @itemx --loglevel=@var{nivel_de_registro}
1099 Fijar el nivel en que la salida es prolija, al valor
1100 @var{nivel_de_registro}. Los valores posibles son @code{NONE}
1101 (nada), @code{ERROR} (errores), @code{WARNING} (advertencias),
1102 @code{PROGRESS} (avance; predeterminado) y @code{DEBUG}
1103 (depuración). Si esta opción no se utiliza, y la variable de
1104 entorno @code{LILYPOND_BOOK_LOGLEVEL} está establecida, se usa su
1105 valor como el nivel de registro.
1107 @item -o @var{directorio}
1108 @itemx --output=@var{directorio}
1109 Colocar los archivos generados en el @var{directorio}. La
1110 ejecución de @command{lilypond-book} genera montañas de pequeños
1111 archivos que luego procesará LilyPond. Para evitar toda esta
1112 parafernalia en el mismo directorio que la fuente, utilice la
1113 opción @option{--output}, y cambie a este directorio antes de
1114 ejecutar @command{latex} o @command{makeinfo}.
1117 lilypond-book --output=out miarchivo.lytex
1122 @item --skip-lily-check
1123 Evitar el fracaso si no se encuentra ninguna salida de lilypond.
1124 Se usa para la documentación de LilyPond en formato Info sin
1127 @item --skip-png-check
1128 Evitar el fracaso si no se encuentran las imágenes PNG de los
1129 archivos EPS. Se usa para la documentación de LilyPond en formato
1132 @item --lily-output-dir=@var{directorio}
1133 Escribir archivos lily-XXX en el directorio @var{directorio},
1134 enlazar en el directorio de @option{--output}. Use esta opción
1135 para ahorrar tiempo de construcción para documentos de distintos
1136 directorios que comparten muchos fragmentos idénticos de código.
1138 @item --lily-loglevel=@var{nivel_de_registro}
1139 Fijar el nivel en que la salida es prolija para las llamadas de la
1140 instrucción invocada @command{lilypond}, al valor
1141 @var{nivel_de_registro}. Los valores posibles son @code{NONE}
1142 (nada), @code{ERROR} (errores), @code{WARNING} (advertencias),
1143 @code{BASIC_PROGRESS} (avance básico), @code{PROGRESS} (avance),
1144 @code{INFO} (información; predeterminado) y @code{DEBUG}
1145 (depuración). Si no se utiliza esta opción y la variable de
1146 entorno @code{LILYPOND_LOGLEVEL} está establecida, su valor se usa
1147 como nivel de registro.
1150 @item --info-images-dir=@var{directorio}
1151 Dar formato a la salida de Texinfo de manera que Info busque las
1152 imágenes de música en @var{directorio}.
1154 @item --latex-program=@var{prog}
1155 Ejecutar el programa @command{prog} en vez de @command{latex}.
1156 Esto es útil si nuestro documento se procesa con
1157 @command{xelatex}, por ejemplo.
1159 @item --left-padding=@var{cantidad}
1160 Rellenar las cajas EPS en esta medida, alrededor. @var{cantidad}
1161 se mide en milímetros, y es 3.0 como valor predeterminado. Esta
1162 opción se debe usar si las líneas de música están muy pegadas al
1165 El ancho de un sistema que está muy ajustado dentro de su
1166 rectángulo puede variar, debido a los elementos de notación que
1167 están pegados al margen izquierdo, como los números de compás y el
1168 nombre del instrumento. Esta opción acorta todas las líneas y las
1169 mueve a la derecha en la misma medida.
1171 @item -P @var{instrucción}
1172 @itemx --process=@var{instrucción}
1173 Procesar los fragmentos de LilyPond utilizando @var{instrucción}.
1174 La instrucción predeterminada es @code{lilypond}.
1175 @code{lilypond-book} no obedecerá a @option{--filter} y a
1176 @option{--process} al mismo tiempo.
1179 Crear archivos PDF para su uso con PDF@LaTeX{}.
1181 @item --redirect-lilypond-output
1182 De forma predeterminada, la salida se imprime por la consola.
1183 Esta opción redirecciona toda la salida hacia archivos de registro
1184 situados en el mismo directorio que los archivos fuente.
1186 @item --use-source-file-names
1187 Escribir los archivos de salida de los fragmentos de música con el
1188 mismo nombre de base que su archivo fuente. Esta opción sólo
1189 funciona para fragmentos incluidos con @code{lilypondfile} y sólo
1190 si los directorios determinados por las opciones
1191 @option{--output-dir} y @option{--lily-output-dir} son distintos.
1195 Ser prolijo. Equivale a @code{--loglevel=DEBUG}.
1199 Imprimir la información de la versión.
1204 La instrucción de Texinfo @code{@@pagesizes} no se interpreta. De
1205 forma similar, las instrucciones de @LaTeX{} que cambian los
1206 márgenes y anchos de línea después del preámbulo se ignoran.
1208 Sólo se procesa el primer @code{\score} de un bloque LilyPond.
1211 @node Extensiones de nombres de archivo
1212 @section Extensiones de nombres de archivo
1213 @translationof Filename extensions
1215 Puede usar cualquier extensión para el nombre del archivo de
1216 entrada, pero si no usa la extensión recomendada para un formato
1217 en particular tendrá que especificar manualmente el formato de
1218 salida; para ver más detalles, consulte @ref{Invocar
1219 lilypond-book}. En caso contrario, @command{lilypond-book}
1220 selecciona automáticamente el formato de salida basándose en la
1221 extensión del nombre del archivo de entrada.
1224 @multitable @columnfractions .2 .5
1225 @item @strong{extensión} @tab @strong{formato de salida}
1227 @item @file{.html} @tab HTML
1228 @item @file{.htmly} @tab HTML
1229 @item @file{.itely} @tab Texinfo
1230 @item @file{.latex} @tab @LaTeX{}
1231 @item @file{.lytex} @tab @LaTeX{}
1232 @item @file{.lyxml} @tab DocBook
1233 @item @file{.tely} @tab Texinfo
1234 @item @file{.tex} @tab @LaTeX{}
1235 @item @file{.texi} @tab Texinfo
1236 @item @file{.texinfo} @tab Texinfo
1237 @item @file{.xml} @tab HTML
1241 Si usa la misma extensión para el archivo de entrada que la que
1242 usa @command{lilypond-book} para el archivo de salida, y si el
1243 archivo de entrada está en el mismo directorio que el directorio
1244 de trabajo de @command{lilypond-book}, debe usar la opción
1245 @option{--output} para que funcione @command{lilypond-book}, pues
1246 en caso contrario saldrá con un mensaje de error como @qq{La
1247 salida sobreescribirá al archivo de entrada}.
1250 @node Plantillas de lilypond-book
1251 @section Plantillas de lilypond-book
1252 @translationof lilypond-book templates
1254 Estas plantillas se usan para @code{lilypond-book}. Si no está
1255 familiarizado con este programa, consulte
1256 @rprogram{LilyPond-book}.
1260 Podemos insertar fragmentos de LilyPond dentro de un documento de
1264 \documentclass[]@{article@}
1268 Texto normal en LaTeX.
1276 Más texto en LaTeX, y las opciones dentro de los corchetes.
1278 \begin@{lilypond@}[fragment,relative=2,quote,staffsize=26,verbatim]
1286 Podemos insertar fragmentos de LilyPond dentro de Texinfo; de
1287 hecho, todo el presente manual está escrito en Texinfo.
1290 \input texinfo @c -*-texinfo-*-
1302 Más texto en Texinfo, y las opciones dentro de los corchetes.
1304 @@lilypond[verbatim,fragment,ragged-right]
1315 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1321 Los documentos para lilypond-book pueden mezclar música y texto libremente. Por
1331 Otro poco de lilypond, esta vez con opciones:
1333 <lilypond fragment quote staffsize=26 verbatim>
1347 \documentclass{article}
1348 \usepackage{ifxetex}
1350 %xetex specific stuff
1351 \usepackage{xunicode,fontspec,xltxtra}
1352 \setmainfont[Numbers=OldStyle]{Times New Roman}
1355 %Esto se puede dejar vacío si no vamos a utilizar pdftex
1356 \usepackage[T1]{fontenc}
1357 \usepackage[utf8]{inputenc}
1358 \usepackage{mathptmx}%Times
1359 \usepackage{helvet}%Helvetica
1361 %Aquí insertamos todos los paquetes que pdftex también entiende
1362 \usepackage[ngerman,finnish,english]{babel}
1363 \usepackage{graphicx}
1366 \title{Un documento breve con LilyPond y xelatex}
1369 Las instrucciones \textbf{font} normales dentro del \emph{texto}
1370 funcionan, porque \textsf{están contempladas por \LaTeX{} y
1371 XeteX.} Si queremos usar instrucciones específicas como
1372 \verb+\XeTeX+, debemos incluirlas de nuevo dentro de un entorno
1373 \verb+\ifxetex+. Podemos utilizar esto para imprimir la
1374 instrucción \ifxetex \XeTeX{} \else XeTeX \fi que no es conocida
1375 para el \LaTeX\ normal.
1377 Dentro del texto normal podemos utilizar instrucciones de LilyPond
1378 fácilmente, de esta forma:
1385 y así sucesivamente.
1387 La fuente tipográfica de los fragmentos, establecida con LilyPond,
1388 tendrá que establecerse desde dentro del fragmento. Para esto
1389 puede leer la parte de lilypond-book en el manual de utilización.
1391 \selectlanguage{ngerman}
1392 Auch Umlaute funktionieren ohne die \LaTeX -Befehle, wie auch alle
1394 seltsamen Zeichen: __ ______, wenn sie von der Schriftart
1395 unterst__tzt werden.
1400 @node Compartir el índice general
1401 @section Compartir el índice general
1402 @translationof Sharing the table of contents
1404 Estas funciones ya existen en el paquete OrchestralLily:
1407 @url{http://repo.or.cz/w/orchestrallily.git}
1410 Para conseguir más flexibilidad en el manejo del texto, algunos
1411 usuarios prefieren exportar la el índice general o tabla de
1412 contenidos desde lilypond y leerla dentro de @LaTeX{}.
1414 @subsubheading Exportación del índice general desde LilyPond
1416 Esto supone que nuestra partitura tiene varios movimientos dentro
1417 del mismo archivo de salida de lilypond.
1420 #(define (oly:create-toc-file layout pages)
1421 (let* ((label-table (ly:output-def-lookup layout 'label-page-table)))
1422 (if (not (null? label-table))
1423 (let* ((format-line (lambda (toc-item)
1424 (let* ((label (car toc-item))
1425 (text (caddr toc-item))
1426 (label-page (and (list? label-table)
1427 (assoc label label-table)))
1428 (page (and label-page (cdr label-page))))
1429 (format #f "~a, section, 1, @{~a@}, ~a" page text label))))
1430 (formatted-toc-items (map format-line (toc-items)))
1431 (whole-string (string-join formatted-toc-items ",\n"))
1432 (output-name (ly:parser-output-name))
1433 (outfilename (format "~a.toc" output-name))
1434 (outfile (open-output-file outfilename)))
1435 (if (output-port? outfile)
1436 (display whole-string outfile)
1437 (ly:warning (_ "Unable to open output file ~a for the TOC information") outfilename))
1438 (close-output-port outfile)))))
1441 #(define (page-post-process layout pages) (oly:create-toc-file layout pages))
1445 @subsubheading Importación del índice general dentro de LaTeX
1447 En LaTeX, la cabecera debe incluir lo siguiente:
1449 @c no, this doesn't require the smallexample, but since the other
1450 @c two blocks on this page use it, I figured I might as well
1451 @c user it here as well, for consistency. -gp
1453 \usepackage@{pdfpages@}
1454 \includescore@{nombredelapartitura@}
1458 donde @code{\includescore} está definido como:
1461 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1462 % \includescore@{PossibleExtension@}
1463 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1465 % Leer las entradas del índice general para un archivo PDF
1466 % a partir del archivo .toc correspondeiente.
1467 % Esto requiere bastantes trucos de latex, porque leer cosas de un archivo
1468 % e insertarlo dentro de los argumentos de un macro no es posible
1471 % Solución de Patrick Fimml en el canal #latex el 18 de abril de 2009:
1472 % \readfile@{filename@}@{\variable@}
1473 % lee el contenido del archivo en \variable (no definida si el
1474 % archivo no existe)
1475 \newread\readfile@@f
1476 \def\readfile@@line#1@{%
1477 @{\catcode`\^^M=10\global\read\readfile@@f to \readfile@@tmp@}%
1478 \edef\do@{\noexpand\g@@addto@@macro@{\noexpand#1@}@{\readfile@@tmp@}@}\do%
1479 \ifeof\readfile@@f\else%
1480 \readfile@@line@{#1@}%
1483 \def\readfile#1#2@{%
1484 \openin\readfile@@f=#1 %
1486 \typeout@{No TOC file #1 available!@}%
1489 \readfile@@line@{#2@}%
1491 \closein\readfile@@f%
1495 \newcommand@{\includescore@}[1]@{
1496 \def\oly@@fname@{\oly@@basename\@@ifmtarg@{#1@}@{@}@{_#1@}@}
1497 \let\oly@@addtotoc\undefined
1498 \readfile@{\oly@@xxxxxxxxx@}@{\oly@@addtotoc@}
1499 \ifx\oly@@addtotoc\undefined
1500 \includepdf[pages=-]@{\oly@@fname@}
1502 \edef\includeit@{\noexpand\includepdf[pages=-,addtotoc=@{\oly@@addtotoc@}]
1503 @{\oly@@fname@}@}\includeit
1509 @node Métodos alternativos para mezclar texto y música
1510 @section Métodos alternativos para mezclar texto y música
1511 @translationof Alternate methods of mixing text and music
1513 Otras formas de mezclar texto y música (sin
1514 @command{lilypond-book}) se estudian en @ref{Otros programas}.