1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
4 Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
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 imágenes.
20 Las imágenes se crean por separado, dando como resultado una salida
21 PostScript o imágenes PNG, y luego se incluyen en un documento de
24 @command{lilypond-book} ofrece una manera de automatizar este proceso:
25 este programa extrae los fragmentos de música del documento, ejecuta
26 @command{lilypond} sobre cada uno de ellos, y devuelve como salida el
27 documento con la música sustituida por las imágenes. Las definiciones
28 de ancho de línea y tamaño de letra de la música se ajustan de forma
29 que coincidan con los ajustes de su documento.
31 Es un programa distinto a @command{lilypond} propiamente dicho, y se
32 ejecuta sobre la línea de órdenes; para ver más información, consulte
33 @ref{Utilización desde la línea de órdenes}. Si tiene MacOS 10.3 o
34 10.4 y experimenta algún problema al ejecutar @code{lilypond-book},
35 consulte @rweb{MacOS X}.
37 Este procedimiento se puede aplicar a documentos de @LaTeX{}, HTML,
46 @cindex documentos, insertar música en
47 @cindex HTML, música dentro de
48 @cindex Texinfo, música dentro de
49 @cindex DocBook, música dentro de
50 @cindex @LaTeX{}, música dentro de
53 * Un ejemplo de documento musicológico::
54 * Integrar música y texto::
55 * Opciones de fragmentos de música::
56 * Invocar lilypond-book::
57 * Extensiones de nombres de archivo::
58 * Plantillas de lilypond-book::
59 * Compartir el índice general::
60 * Métodos alternativos para mezclar texto y música::
64 @node Un ejemplo de documento musicológico
65 @section Un ejemplo de documento musicológico
66 @translationof An example of a musicological document
69 Ciertos textos contienen ejemplos musicales. Son tratados musicales,
70 cancioneros o manuales como este mismo. Estos textos se pueden hacer
71 a mano, importando simplemente una imagen en formato PostScript en el
72 editor de textos. Sin embargo, hay un procedimiento automático para
73 reducir la carga de trabajo que esto implica los documentos de HTML,
74 @LaTeX{}, Texinfo y DocBook.
76 Un guión ejecutable llamado @code{lilypond-book} extrae los fragmentos
77 de música, les da formato y vuelve a poner en su lugar la partitura
78 resultante. A continuación presentamos un pequeño ejemplo de su
79 utilización con @LaTeX{}. El ejemplo contiene también texto
80 explicativo, por lo que no vamos a comentarlo posteriormente.
86 \documentclass[a4paper]{article}
90 Los documentos para \verb+lilypond-book+ pueden mezclar libremente
91 música y texto. Por ejemplo:
95 c2 e2 \times 2/3 { f8 a b } a2 e4
99 Las opciones se escriben entre corchetes.
101 \begin{lilypond}[fragment,quote,staffsize=26,verbatim]
105 Los ejemplos grandes se pueden grabar en archivos separados e
106 introducirse con \verb+\lilypondfile+.
108 \lilypondfile[quote,noindent]{screech-boink.ly}
110 (Si es necesario, sustituya screech-boink.ly por cualquier archivo .ly
111 situado en el mismo directorio que este archivo.)
117 @subheading Procesado
119 Guarde el código anterior como un archivo llamado
120 @file{lilybook.lytex}, y luego ejecute en un terminal:
122 @c keep space after @version{} so TeX doesn't choke
124 lilypond-book --output=out --pdf lilybook.lytex
125 @emph{lilypond-book (GNU LilyPond) @version{} }
126 @emph{Leyendo lilybook.lytex...}
127 @emph{..montañas de mensajes suprimidos..}
128 @emph{Compilando lilybook.tex...}
131 @emph{..montañas de mensajes suprimidos..}
133 @emph{(sustituya @command{xpdf} por su visor de PDF favorito)}
136 La ejecución de @command{lilypond-book} y @command{latex} crea un gran
137 número de archivos temporales, que podrían abarrotar el directorio de
138 trabajo. Para poner remedio a esto utilice la opción
139 @code{--output=@var{directorio}}. Creará los archivos en un
140 subdirectorio aparte @file{directorio}.
142 Finalmente el resultado del ejemplo de @LaTeX{} que acabamos de
143 mostrar@footnote{Este tutorial se procesa con Texinfo, por lo que el
144 ejemplo presenta un resultado en la disposición ligeramente
145 distinto.}. Así acaba la sección del tutorial.
151 Los documentos para @command{lilypond-book} pueden mezclar libremente
152 música y texto. Por ejemplo:
156 c2 e2 \times 2/3 { f8 a b } a2 e4
160 Las opciones se escriben entre corchetes.
162 @lilypond[fragment,quote,staffsize=26,verbatim]
166 Los ejemplos grandes se pueden grabar en archivos separados e
167 introducirse con @code{\lilypondfile}.
169 @lilypondfile[quote,noindent]{screech-boink.ly}
174 @node Integrar música y texto
175 @section Integrar música y texto
176 @translationof Integrating music and text
178 Aquí vamos a explicar cómo integrar LilyPond con algunos otros
192 @LaTeX{} es el estándar de facto para la publicación en el mundo de
193 las ciencias exactas. Está construido encima del motor de composición
194 tipográfica @TeX{}, proporcionando la tipografía de mejor calidad que
198 @uref{http://@/www@/.ctan@/.org/@/tex@/-archive/@/info/@/lshort/@/english/,
199 @emph{The Not So Short Introduction to @LaTeX{}}} (Introducción no tan
200 breve a @LaTeX{}) para ver una panorámica sobre cómo usar @LaTeX{}.
202 La música se introduce usando
205 \begin@{lilypond@}[las,opciones,van,aquí]
206 EL CÓDIGO DE LILYPOND
214 \lilypondfile[las,opciones,van,aquí]@{@var{archivo}@}
221 \lilypond[las,opciones,van,aquí]@{ EL CÓDIGO DE LILYPOND @}
224 De forma adicional, @code{\lilypondversion} imprime la versión actual
227 La ejecución de @command{lilypond-book} deja como resultado un archivo
228 que se puede procesar posteriormente con @LaTeX{}.
230 A continuación mostramos algunos ejemplos. El entorno @code{lilypond}
233 \begin@{lilypond@}[quote,fragment,staffsize=26]
241 @lilypond[quote,fragment,staffsize=26]
248 \lilypond[quote,fragment,staffsize=11]@{<c' e' g'>@}
254 @lilypond[quote,fragment,staffsize=11]{<c' e' g'>}
257 Por el momento no es posible incluir llaves @code{@{} o @code{@}}
258 dentro de @code{\lilypond@{@}}, así que esta instrucción solamente es
259 útil con la opción @code{fragment}.
261 El ancho predeterminado de las líneas de música se ajusta mediante el
262 examen de las instrucciones del preámbulo del documento, la parte del
263 documento que está antes de @code{\begin@{document@}}. La instrucción
264 @command{lilypond-book} los envía a @LaTeX{} para averiguar la anchura
265 del texto. El ancho de la línea para los fragmentos de música se
266 ajusta entonces al ancho del texto. Observe que este algoritmo
267 heurístico puede fácilmente fallar; en estos casos es necesario usar
268 la opción @code{line-width} del fragmento de música.
270 @cindex títulos y lilypond-book
271 @cindex \header dentro de documentos @LaTeX{}
273 Cada fragmento ejecutará los macros siguientes si han sido definidos
277 @item @code{\preLilyPondExample} que se llama antes de la música,
279 @item @code{\postLilyPondExample} que se llama después de la música,
281 @item @code{\betweenLilyPondSystem[1]} se llama entre los sistemas si
282 @code{lilypond-book} ha dividido el fragmento en varios archivos
283 PostScript. Se debe definir de forma que tome un parámetro y recibirá
284 el número de archivos ya incluidos dentro del fragmento actual. La
285 acción predeterminada es simplemente insertar un @code{\linebreak}.
291 @cindex Latex, feta symbols
294 To include feta symbols (such as flat, segno, etc) in a LaTeX
295 document, use @code{\input@{titledefs@}}
298 \documentclass[a4paper]@{article@}
309 The font symbol names are defined in the file feta20.tex; to find
310 the location of this file, use the command
320 A veces es útil mostrar elementos de música (como ligaduras) como si
321 continuasen más allá del final del fragmento. Esto se puede hacer
322 dividiendo el pentagrama y suprimiendo la inclusión del resto de la
325 En @LaTeX{}, defina @code{\betweenLilyPondSystem} de tal forma que la
326 la inclusión de otros sistemas se dé por terminada una vez que se ha
327 alcanzado el número deseado de sistemas requeridos. Puesto que
328 @code{\betweenLilyPondSystem} se llama en primer lugar @emph{después}
329 del primer sistema, incluir solamente el primer sistema es algo
333 \def\betweenLilyPondSystem#1@{\endinput@}
335 \begin[fragment]@{lilypond@}
336 c'1\( e'( c'~ \break c' d) e f\)
340 Si se necesita un mayor número de sistemas, se tiene que usar un
341 condicional de @TeX{} antes del @code{\endinput}. En este ejemplo,
342 sustituya el @q{2} por el número de sistemas que quiere en la salida:
345 \def\betweenLilyPondSystem#1@{
346 \ifnum#1<2\else\expandafter\endinput\fi
351 (Dado que @code{\endinput} detiene inmediatamente el procesado del
352 archivo de entrada actual, necesitamos @code{\expandafter} para
353 posponer la llamada de @code{\endinput} después de ejecutar
354 @code{\fi} de manera que la cláusula @code{\if}-@code{\fi} esté
357 Recuerde que la definición de @code{\betweenLilyPondSystem} es
358 efectiva hasta que @TeX{} abandona el grupo actual (como el entorno
359 @LaTeX{}) o se sobreescribe por otra definición (lo que casi siempre
360 es por el resto del documento). Para reponer la definición, escriba
363 \let\betweenLilyPondSystem\undefined
367 dentro de la fuente de @LaTeX{}.
369 Se puede simplificar esto definiendo un macro de @TeX{}:
372 \def\onlyFirstNSystems#1@{
373 \def\betweenLilyPondSystem##1@{\ifnum##1<#1\else\endinput\fi@}
378 y luego diciendo solamente cuántos sistemas quiere antes de cada
382 \onlyFirstNSystems@{3@}
383 \begin@{lilypond@}...\end@{lilypond@}
384 \onlyFirstNSystems@{1@}
385 \begin@{lilypond@}...\end@{lilypond@}
390 Hay opciones de línea de órdenes específicas de
391 @command{lilypond-book} y otros detalles que conocer para procesar
392 documentos de@LaTeX{} véase @ref{Invocar lilypond-book}.
397 @translationof Texinfo
399 Texinfo es el formato estándar para la documentación del proyecto GNU.
400 Este mismo manual es un ejemplo de documento Texinfo. Las versiones
401 HTML, PDF e Info del manual se hacen a partir del documento Texinfo.
404 En el archivo de entrada, la música se especifica con
407 @@lilypond[las,opciones,van,aquí]
408 EL CÓDIGO DE LILYPOND
416 @@lilypond[las,opciones,van,aquí]@{ EL CÓDIGO DE LILYPOND @}
423 @@lilypondfile[las,opciones,van,aquí]@{@var{archivo}@}
426 De forma adicional, @code{@@lilypondversion} imprime la versión actual
429 Cuando se ejecuta @command{lilypond-book} sobre el archivo, se obtiene
430 como resultado un archivo Texinfo (con la extensión @file{.texi}) que
431 contiene etiquetas @code{@@image} para el HTML, Info y la salida
432 impresa. @command{lilypond-book} genera imágenes de la música en
433 formatos EPS y PDF para usarlos en la salida impresa, y en formato PNG
434 para usarlos en las salidas HTML e Info.
436 Aquí podemos ver dos ejemplos sencillos. Un entorno @code{lilypond}
454 @@lilypond[fragment,staffsize=11]@{<c' e' g'>@}
460 @lilypond[fragment,staffsize=11]{<c' e' g'>}
462 No como @LaTeX{}, @code{@@lilypond@{...@}} no genera una imagen en
463 línea. Siempre consiste en un párrafo para ella sola.
470 La música se introduce usando
473 <lilypond fragment relative=2>
474 \key c \minor c4 es g2
479 @command{lilypond-book} entonces produce un archivo HTML con las
480 etiquetas de imagen adecuadas para los fragmentos de música:
482 @lilypond[fragment,relative=2]
483 \key c \minor c4 es g2
486 Para imágenes en línea, utilice @code{<lilypond ... />}, donde las
487 opciones están separadas de la música por el símbolo de dos puntos,
491 Algo de música dentro de <lilypond relative=2: a b c/> una línea de texto.
494 Para incluir archivos externos, escriba
497 <lilypondfile @var{opción1} @var{opción2} ...>@var{archivo}</lilypondfile>
500 De forma adicional, @code{<lilypondversion/>} imprime la versión
503 @cindex títulos en HTML
504 @cindex vista previa, imagen
509 @translationof DocBook
511 Para insertad fragmentos de LilyPond es bueno tratar de mantener la
512 conformidad del documento de DocBook, permitiendo así el uso de
513 editores de DocBook, validación, etc. Así pues, no usamos etiquetas
514 personalizadas, sólo especificamos una convención basada en los
515 elementos estándar de DocBook.
517 @subheading Convenciones usuales
519 Para insertar toda clase de fragmentos utilizamos los elementos
520 @code{mediaobject} y @code{inlinemediaobject}, de forma que nuestros
521 fragmentos puedan ser formateados en línea o no en línea. Las
522 opciones de formateo del fragmento se escriben siempre dentro de la
523 propiedad @code{role} del elemento más interno (véanse las secciones
524 siguientes). Las etiquetas se eligen de forma que permitan a los
525 editores de DocBook formatear el contenido satisfactoriamente. Los
526 archivos de DocBook que se van a procesar con @command{lilypond-book}
527 deben tener la extensión @file{.lyxml}.
529 @subheading Incluir un archivo de LilyPond
531 Este es el caso más sencillo. Debemos usar la extensión @file{.ly}
532 para el archivo incluido, e insertarlo como un @code{imageobject}
533 estándar, con la estructura siguiente:
538 <imagedata fileref="music1.ly" role="printfilename" />
543 Observe que puede usar mediaobject o inlinemediaobject como el
544 elemento más externo, a elección suya.
546 @subheading Incluir código de LilyPond
548 Se puede incluir código de LilyPond mediante la utilización de un
549 elemento @code{programlisting}, en que el lenguaje se establece como
550 @code{lilypond} con la estructura siguiente:
555 <programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2">
556 \context Staff \with @{
557 \remove Time_signature_engraver
558 \remove Clef_engraver@}
565 Como puede ver, el elemento más externo es un @code{mediaobject} o un
566 @code{inlinemediaobject}, y hay un elemento @code{textobject} que
567 lleva el @code{programlisting} en su interior.
569 @subheading Procesar el documento de DocBook
571 Al ejecutar @command{lilypond-book} sobre el archivo @file{.lyxml} se
572 creará un documento de DocBook válido que se puede procesar
573 posteriormente con la extensión @file{.xml}. Si usa
574 @uref{http://@/dblatex@/.sourceforge@/.net@/,dblatex}, creará un
575 archivo PDF a partir de este documento automáticamente. Para la
576 generación de HTML (HTML Help, JavaHelp, etc.) puede usar las hojas de
577 estilo oficiales XSL de DocBook, aunque es posible que tenga que
578 aplicarles algún tipo de personalización.
581 @node Opciones de fragmentos de música
582 @section Opciones de fragmentos de música
583 @translationof Music fragment options
585 Durante los próximos párrafos, una @q{instrucción de LilyPond} se
586 refiere a cualquier instrucción descrita en las secciones anteriores
587 que se maneja por parte de @command{lilypond-book} para que produzca
588 un fragmento de música. Por simplicidad, las instrucciones de
589 LilyPond solamente se muestran en la sintaxis de @LaTeX{}.
591 Observe que la cadena de opciones se analiza de izquierda a derecha;
592 si una opción aparece varias veces, se toma la última solamente.
594 Están disponibles las siguientes opciones para las instrucciones de
598 @item staffsize=@var{altura}
599 Establecer la altura del pentagrama como @var{altura}, medida en
603 Producir líneas no justificadas por la derecha y con espaciado
604 natural, es decir, se añade @code{ragged-right = ##t} al fragmento de
605 LilyPond. Esta es la opción predeterminada para la instrucción
606 @code{\lilypond@{@}} si no está presente la opción @code{line-width}.
607 También es la opción predeterminada para el entorno @code{lilypond} si
608 está establecida la opción @code{fragment}, y no se especifica la
609 anchura de la línea explícitamente.
612 Para fragmentos de una sola línea, permitir que la longitud del
613 pentagrama se amplíe hasta igualar la anchura de la línea, es decir,
614 se añade @code{ragged-right = ##f} al fragmento de LilyPond.
617 @itemx line-width=@var{tamaño}\@var{unidades}
618 Establecer el ancho de línea como @var{tamaño}, utilizando
619 @var{unidades} como unidad. @var{unidades} es una de las siguientes
620 cadenas: @code{cm}, @code{mm}, @code{in} o @code{pt}. Esta opción
621 afecta a la salida de LilyPond (esto es, a la longitud del pentagrama
622 del fragmento musical), no al formato del texto.
624 Si se usa sin ningún argumento, se establece el ancho de la línea a un
625 valor predeterminado (calculado con un algoritmo heurístico).
627 Si no se da ninguna opción @code{line-width}, @command{lilypond-book}
628 trata de adivinar un valor predeterminado para los entornos
629 @code{lilypond} que no usan la opción @code{ragged-right}.
632 No imprimir la indicación de compás, y desactivar las indicaciones
633 temporales de la música (indicación del compás y líneas divisorias).
636 Hacer que @command{lilypond-book} añada algunos códigos necesarios
637 para que podamos escribir simplemente, por ejemplo,
644 sin @code{\layout}, @code{\score}, etc.
647 No incluir el código adicional que completa la sintaxis de
648 LilyPond en los fragmentos de música. Al ser la opción
649 predeterminada, @code{nofragment} normalmente es redundante.
651 @item indent=@var{tamaño}\@var{unidades}
652 Establecer el sangrado del primer sistema de pentagramas como
653 @var{tamaño}, utilizando @var{unidades} como unidad. @var{unidades} es
654 una de las siguientes cadenas: @code{cm}, @code{mm}, @code{in} o
655 @code{pt}. Esta opción afecta a LilyPond, no al formato del texto.
658 Establecer el sangrado del primer sistema de la música como cero.
659 Esta opción afecta a LilyPond, no al formato del texto. Puesto que el
660 valor predeterminado es que no haya ningún sangrado, @code{noindent}
661 normalmente es redundante.
664 Reducir la longitud de la línea de un fragmento musical en
665 @math{2*0.4}@dmn{in} (pulgadas) y colocar la salida dentro de un
666 bloque de cita (quotation). El valor de @q{0.4@dmn{in}} se puede
667 controlar con la opción @code{exampleindent}.
670 Establecer la longitud del sangrado que la opción @code{quote} aplica
671 al fragmento musical.
674 @itemx relative=@var{n}
675 Usar el modo de octava relativa. De forma predeterminada, las notas
676 se especifican con relación al Do@tie{}central. El argumento entero
677 opcional especifica la octava de la nota inicial, donde el valor
678 predeterminado @code{1} es el Do central. La opción @code{relative}
679 sólo funciona cuando está establecida la opción @code{fragment}, de
680 manera que @code{fragment} viene implicada automáticamente por
681 @code{relative}, independientemente de la presencia de @code{fragment}
682 o de @code{nofragment} en la fuente.
686 LilyPond utiliza también @command{lilypond-book} para producir su
687 propia documentación. Para hacerlo, están a nuestra disposición
688 ciertas opciones algo esotéricas para los fragmentos musicales.
692 El argumento de una instrucción de LilyPond se copia al archivo de
693 salida y se incluye dentro de un bloque «verbatim» o preformateado,
694 seguido del texto que se escriba con la opción @code{intertext} (que
695 no funciona aún); después se imprime la música en sí. Esta opción no
696 funciona bien con @code{\lilypond@{@}} si forma parte de un párrafo.
698 Si se usa la opción @code{verbatim} dentro de una instrucción
699 @code{lilypondfile}, es posible incluir con estilo preformateado sólo
700 una parte del archivo fuente. Si el archivo de código fuente contiene
701 un comentario que contiene @samp{begin verbatim} (sin las comillas),
702 la cita del bloque de estilo preformateado empezará después de la
703 última vez que aparezca este comentario; de forma similar, la cita del
704 bloque preformateado se detendrá justo antes de la primera vez que
705 aparezca un comentario que contenga @samp{end verbatim}, si lo hay.
706 En el siguiente ejemplo de código fuente, la música se interpreta en
707 el modo relativo, pero la cita preformateada no presentará el bloque
708 @code{relative}, es decir
711 \relative c' @{ % begin verbatim
718 se imprimirá como un bloque preformateado como
726 Si queremos traducir los comentarios y los nombres de variable en la
727 salida literal pero no en el código fuente, podemos establecer el
728 valor de la variable de entorno @code{LYDOC_LOCALEDIR} a la ruta de un
729 directorio; este directorio debe contener un árbol de catálogos de
730 mensajes @file{.mo} con @code{lilypond-doc} como dominio.
733 (Sólo para la salida de Texinfo.) Anteponer la línea @code{\version
734 @@w@{"@@version@{@}"@}} a la salida de @code{verbatim}.
737 (Sólo para la salida de Texinfo.) Si se llama a @command{lilypond}
738 con la opción @option{--header=@/texidoc}, y el archivo que se procesa
739 se llama @file{fulanito.ly}, crea un archivo
740 @file{fulanito.texidoc} si existe un campo @code{texidoc} dentro del
741 bloque @code{\header} de cabecera. La opción @code{texidoc} hace que
742 @command{lilypond-book} incluya estos archivos, añadiendo su contenido
743 como un bloque de documentación inmediatamente antes del fragmento
746 Suponiendo que el archivo @file{fulanito.ly} contiene
750 texidoc = "Este archivo es un ejemplo de una sola nota."
756 y que tenemos lo siguiente en nuestro documento de Texinfo
757 @file{prueba.texinfo}
760 @@lilypondfile[texidoc]@{fulanito.ly@}
764 la siguiente orden da como salida el resultado esperado:
767 lilypond-book --pdf --process="lilypond \
768 -dbackend=eps --header=texidoc" test.texinfo
771 La mayoría de los documentos de prueba de LilyPond (en el directorio
772 @file{input} de la distribución) son pequeños archivos @file{.ly} que
773 tienen exactamente este aspecto.
775 Por motivos de localización de idioma, si el documento de Texinfo
776 contiene @code{@@documentlanguage @var{LANG}} y la cabecera de
777 @file{loquesea.ly} contiene un campo @code{texidoc@var{LANG}}, y
778 @command{lilypond} se ejecuta con
779 @option{--header=@/texidoc@var{LANG}}, entonces se incluirá
780 @file{loquesea.texidoc@var{LANG}} en lugar de
781 @file{loquesea.texidoc}.
784 (Sólo para la salida de Texinfo.) Esta opción es similar a quote,
785 pero se pone dentro del bloque de cita solamente el fragmento de
786 música (y el bloque preformateado que se da en la opción
787 @code{verbatim}). Esta opción es útil si queremos citar
788 (@code{quote}) el fragmento musical pero no el bloque de documentación
792 (Sólo para la salida de Texinfo.) Esta opción funciona de forma
793 parecida a la opción @code{texidoc}: si @command{lilypond} se llama
794 con la opción @option{--header=@/doctitle}, y el archivo que procesar
795 se llama @file{loquesea.ly} y contiene un campo @code{doctitle} en
796 el bloque @code{\header}, crea un archivo @file{loquesea.doctitle}.
797 Cuando se usa la opción @code{doctitle}, el contenido de
798 @file{loquesea.doctitle}, que debería ser una línea única de
799 @var{texto}, se inserta en el documento de Texinfo como
800 @code{@@lydoctitle @var{texto}}. @code{@@lydoctitle} debe ser un
801 macro definido en el documento de Texinfo. La misma indicación
802 referida al procesado de @code{texidoc} con idiomas localizados se
803 aplica a @code{doctitle}.
806 (Sólo para la salida de Texinfo.) No traducir los comentarios y
807 nombres de variable en el fragmento de código literal citado.
810 Si un archivo de entrada de LilyPond se incluye con
811 @code{\lilypondfile}, imprimir el nombre del archivo inmediatamente
812 antes del fragmento musical. Para la salida HTML, esto es un enlace.
813 Sólo se imprime el nombre base del archivo, es decir, se elimina la
814 parte del directorio de la ruta del archivo.
819 @node Invocar lilypond-book
820 @section Invocar @command{lilypond-book}
821 @translationof Invoking lilypond-book
823 @command{lilypond-book} produce un archivo con una de las siguientes
824 extensiones: @file{.tex}, @file{.texi}, @file{.html} o @file{.xml},
825 dependiendo del formato de salida. Todos los archivos @file{.tex},
826 @file{.texi} y @file{.xml} necesitan un procesado posterior.
828 @subheading Instrucciones específicas de formato
830 @subsubheading @LaTeX{}
832 Hay dos formas de procesar el documento en @LaTeX{} para su impresión
833 o publicación: hacer un archivo PDF directamente con PDF@LaTeX{}, o
834 generar un archivo PostScript con @LaTeX{} a través de un traductor de
835 DVI a PostScript como @command{dvips}. la primera forma es más
836 sencilla y es la que se recomienda@footnote{Observe que PDF@LaTeX{} y
837 @LaTeX{} podrían no ser utilizables para compilar cualquier documento
838 @LaTeX{}, y es por lo que explicamos las dos formas.}, y cualquiera
839 que sea el método que utilice, podrá convertir fácilmente entre
840 PostScript y PDF con herramientas como @command{ps2pdf} y
841 @command{pdf2ps} que vienen incluidas con GhostScript.
843 Para producir un archivo PDF por medio de PDF@LaTeX{}, utilice
846 lilypond-book --pdf miarchivo.pdftex
847 pdflatex miarchivo.tex
850 @cindex tipografías de outline
851 @cindex type1, tipografías
853 @cindex invocación de dvips
855 Para producir una salida PDF por medio de
856 @LaTeX{}/@command{dvips}/@command{ps2pdf}, debe hacer
859 lilypond-book miarchivo.lytex
861 dvips -Ppdf miarchivo.dvi
866 El archivo @file{.dvi} creado por este proceso no contiene las cabezas
867 de las notas. Esto es normal; si sigue las instrucciones, las cabezas
868 aparecerán en los archivos @file{.ps} y @file{.pdf}.
870 La ejecución de @command{dvips} puede dar como resultado algunas
871 advertencias sobre las fuentes tipográficas; son inocuas y se pueden
872 ignorar. Si está ejecutando @command{latex} en modo de dos columnas,
873 recuerde añadir @code{-t landscape} a las opciones de @command{dvips}.
875 @subsubheading Texinfo
877 Para producir un documento de Texinfo (en cualquier formato de
878 salida), siga el procedimiento normal para Texinfo, esto es: o bien
879 llame a @command{texi2pdf} o a @command{texi2dvi} o a
880 @command{makeinfo}, según el formato de la salida que quiera crear.
882 @xref{Format with texi2dvi, , , texinfo, GNU Texinfo}, y @ref{Creating
883 an Info File, , , texinfo, GNU Texinfo}.
886 Consulte la documentación de Texinfo para ver más detalles.
890 @subheading Opciones de la línea de órdenes
892 @command{lilypond-book} acepta las siguientes opciones de la línea de
896 @item -f @var{formato}
897 @itemx --format=@var{formato}
898 Especificar el tipo del documento que se va a procesar: @code{html},
899 @code{latex}, @code{texi} (predeterminado) o @code{docbook}. Si falta
900 esta opción, @command{lilypond-book} tratará de detectar el formato
901 automáticamente, véase @ref{Extensiones de nombres de archivo}. Por el
902 momento, @code{texi} es lo mismo que @code{texi-html}.
904 @c This complicated detail is not implemented, comment it out -jm
906 The @code{texi} document type produces a Texinfo file with music
907 fragments in the printed output only. For getting images in the HTML
908 version, the format @code{texi-html} must be used instead.
911 @item -F @var{filtro}
912 @itemx --filter=@var{filtro}
913 Conducir los fragmentos a través de @var{filter} por medio de una
914 tubería. @code{lilypond-book} no obedecerá --filter y --process al
915 mismo tiempo. Por ejemplo,
918 lilypond-book --filter='convert-ly --from=2.0.0 -' mi-libro.tely
923 Imprimir un breve mensaje de ayuda.
925 @item -I @var{directorio}
926 @itemx --include=@var{directorio}
927 Añadir @var{directorio} a la ruta de inclusión.
928 @command{lilypond-book} busca también los fragmentos ya compilados en
929 la ruta de inclusión, y no los vuelve a escribir en el directorio de
930 salida, así que en ciertos casos es necesario invocar instrucciones de
931 procesado posteriores como @command{makeinfo} o @command{latex} con
932 las mismas opciones @code{-I @var{directorio}}.
934 @item -o @var{directorio}
935 @itemx --output=@var{directorio}
936 Colocar los archivos generados en el @var{directorio}. La ejecución
937 de @command{lilypond-book} genera montañas de pequeños archivos que
938 luego procesará LilyPond. Para evitar toda esta parafernalia en el
939 mismo directorio que la fuente, utilice la opción @option{--output}, y
940 cambie a este directorio antes de ejecutar @command{latex} o
944 lilypond-book --output=out miarchivo.lytex
949 @itemx --skip-lily-check
950 Evitar el fracaso si no se encuentra ninguna salida de lilypond. Se
951 usa para la documentación de LilyPond en formato Info sin imágenes.
953 @itemx --skip-png-check
954 Evitar el fracaso si no se encuentran las imágenes PNG de los archivos
955 EPS. Se usa para la documentación de LilyPond en formato Info sin
958 @itemx --lily-output-dir=@var{directorio}
959 Escribir archivos lily-XXX en el directorio @var{directorio}, enlazar
960 en el directorio de @code{--output}. Use esta opción para ahorrar
961 tiempo de construcción para documentos de distintos directorios que
962 comparten muchos fragmentos idénticos de código.
964 @itemx --info-images-dir=@var{directorio}
965 Dar formato a la salida de Texinfo de manera que Info busque las
966 imágenes de música en @var{directorio}.
968 @itemx --latex-program=@var{prog}
969 Ejecutar el programa @command{prog} en vez de @command{latex}. Esto
970 es útil si nuestro documento se procesa con @command{xelatex}, por
973 @itemx --left-padding=@var{cantidad}
974 Rellenar las cajas EPS en esta medida, alrededor. @var{cantidad} se
975 mide en milímetros, y es 3.0 como valor predeterminado. Esta opción
976 se debe usar si las líneas de música están muy pegadas al margen
979 El ancho de un sistema que está muy ajustado dentro de su rectángulo
980 puede variar, debido a los elementos de notación que están pegados al
981 margen izquierdo, como los números de compás y el nombre del
982 instrumento. Esta opción acorta todas las líneas y las mueve a la
983 derecha en la misma medida.
986 @item -P @var{instrucción}
987 @itemx --process=@var{instrucción}
988 Procesar los fragmentos de LilyPond utilizando @var{instrucción}. La
989 instrucción predeterminada es @code{lilypond}. @code{lilypond-book}
990 no obedecerá a @code{--filter} y a @code{--process} al mismo tiempo.
993 Crear archivos PDF para su uso con PDF@LaTeX{}.
995 @itemx --use-source-file-names
996 Escribir los archivos de salida de los fragmentos de música con el
997 mismo nombre de base que su archivo fuente. Esta opción sólo funciona
998 para fragmentos incluidos con @code{lilypondfile} y sólo si los
999 directorios determinados por las opciones @code{--output-dir} y
1000 @code{--lily-output-dir} son distintos.
1008 Imprimir la información de la versión.
1013 La instrucción de Texinfo @code{@@pagesizes} no se interpreta. De
1014 forma similar, las instrucciones de @LaTeX{} que cambian los márgenes
1015 y anchos de línea después del preámbulo se ignoran.
1017 Sólo se procesa el primer @code{\score} de un bloque LilyPond.
1020 @node Extensiones de nombres de archivo
1021 @section Extensiones de nombres de archivo
1022 @translationof Filename extensions
1024 Puede usar cualquier extensión para el nombre del archivo de entrada,
1025 pero si no usa la extensión recomendada para un formato en particular
1026 tendrá que especificar manualmente el formato de salida; para ver más
1027 detalles, consulte @ref{Invocar lilypond-book}. En caso contrario,
1028 @command{lilypond-book} selecciona automáticamente el formato de
1029 salida basándose en la extensión del nombre del archivo de entrada.
1032 @multitable @columnfractions .2 .5
1033 @item @strong{extensión} @tab @strong{formato de salida}
1035 @item @file{.html} @tab HTML
1036 @item @file{.htmly} @tab HTML
1037 @item @file{.itely} @tab Texinfo
1038 @item @file{.latex} @tab @LaTeX{}
1039 @item @file{.lytex} @tab @LaTeX{}
1040 @item @file{.lyxml} @tab DocBook
1041 @item @file{.tely} @tab Texinfo
1042 @item @file{.tex} @tab @LaTeX{}
1043 @item @file{.texi} @tab Texinfo
1044 @item @file{.texinfo} @tab Texinfo
1045 @item @file{.xml} @tab HTML
1049 Si usa la misma extensión para el archivo de entrada que la que usa
1050 @command{lilypond-book} para el archivo de salida, y si el archivo de
1051 entrada está en el mismo directorio que el directorio de trabajo de
1052 @command{lilypond-book}, debe usar la opción @code{--output} para que
1053 funcione @command{lilypond-book}, pues en caso contrario saldrá con un
1054 mensaje de error como @qq{La salida sobreescribirá al archivo de
1057 @node Plantillas de lilypond-book
1058 @section Plantillas de lilypond-book
1059 @translationof lilypond-book templates
1061 Estas plantillas se usan para @code{lilypond-book}. Si no está
1062 familiarizado con este programa, consulte @rprogram{LilyPond-book}.
1066 Podemos insertar fragmentos de LilyPond dentro de un documento de
1070 \documentclass[]@{article@}
1074 Texto normal en LaTeX.
1082 Más texto en LaTeX, y las opciones dentro de los corchetes.
1084 \begin@{lilypond@}[fragment,relative=2,quote,staffsize=26,verbatim]
1092 Podemos insertar fragmentos de LilyPond dentro de Texinfo; de hecho,
1093 todo el presente manual está escrito en Texinfo.
1096 \input texinfo @c -*-texinfo-*-
1108 Más texto en Texinfo, y las opciones dentro de los corchetes.
1110 @@lilypond[verbatim,fragment,ragged-right]
1121 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1127 Los documentos para lilypond-book pueden mezclar música y texto libremente. Por
1134 Otro poco de lilypond, esta vez con opciones:
1136 <lilypond fragment quote staffsize=26 verbatim>
1150 \documentclass{article}
1151 \usepackage{ifxetex}
1153 %xetex specific stuff
1154 \usepackage{xunicode,fontspec,xltxtra}
1155 \setmainfont[Numbers=OldStyle]{Times New Roman}
1158 %Esto se puede dejar vacío si no vamos a utilizar pdftex
1159 \usepackage[T1]{fontenc}
1160 \usepackage[utf8]{inputenc}
1161 \usepackage{mathptmx}%Times
1162 \usepackage{helvet}%Helvetica
1164 %Aquí insertamos todos los paquetes que pdftex también entiende
1165 \usepackage[ngerman,finnish,english]{babel}
1166 \usepackage{graphicx}
1169 \title{Un documento breve con LilyPond y xelatex}
1172 Las instrucciones \textbf{font} normales dentro del \emph{texto}
1173 funcionan, porque \textsf{están contempladas por \LaTeX{} y XeteX.}
1174 Si queremos usar instrucciones específicas como \verb+\XeTeX+, debemos
1175 incluirlas de nuevo dentro de un entorno \verb+\ifxetex+. Podemos
1176 utilizar esto para imprimir la instrucción \ifxetex \XeTeX{} \else
1177 XeTeX \fi que no es conocida para el \LaTeX\ normal.
1179 Dentro del texto normal podemos utilizar instrucciones de LilyPond
1180 fácilmente, de esta forma:
1187 y así sucesivamente.
1189 La fuente tipográfica de los fragmentos, establecida con LilyPond,
1190 tendrá que establecerse desde dentro del fragmento. Para esto puede
1191 leer la parte de lilypond-book en el manual de utilización.
1193 \selectlanguage{ngerman}
1194 Auch Umlaute funktionieren ohne die \LaTeX -Befehle, wie auch alle
1196 seltsamen Zeichen: __ ______, wenn sie von der Schriftart
1197 unterst__tzt werden.
1202 @node Compartir el índice general
1203 @section Compartir el índice general
1204 @translationof Sharing the table of contents
1206 Estas funciones ya existen en el paquete OrchestralLily:
1209 @url{http://repo.or.cz/w/orchestrallily.git}
1212 Para conseguir más flexibilidad en el manejo del texto, algunos
1213 usuarios prefieren exportar la el índice general o tabla de contenidos
1214 desde lilypond y leerla dentro de @LaTeX{}.
1216 @subsubheading Exportación del índice general desde LilyPond
1218 Esto supone que nuestra partitura tiene varios movimientos dentor del
1219 mismo archivo de salida de lilypond.
1222 #(define (oly:create-toc-file layout pages)
1223 (let* ((label-table (ly:output-def-lookup layout 'label-page-table)))
1224 (if (not (null? label-table))
1225 (let* ((format-line (lambda (toc-item)
1226 (let* ((label (car toc-item))
1227 (text (caddr toc-item))
1228 (label-page (and (list? label-table)
1229 (assoc label label-table)))
1230 (page (and label-page (cdr label-page))))
1231 (format #f "~a, section, 1, @{~a@}, ~a" page text label))))
1232 (formatted-toc-items (map format-line (toc-items)))
1233 (whole-string (string-join formatted-toc-items ",\n"))
1234 (output-name (ly:parser-output-name parser))
1235 (outfilename (format "~a.toc" output-name))
1236 (outfile (open-output-file outfilename)))
1237 (if (output-port? outfile)
1238 (display whole-string outfile)
1239 (ly:warning (_ "Unable to open output file ~a for the TOC information") outfilename))
1240 (close-output-port outfile)))))
1243 #(define (page-post-process layout pages) (oly:create-toc-file layout pages))
1247 @subsubheading Importación del índice general dentro de LaTeX
1249 En LaTeX, la cabecera debe incluir lo siguiente:
1251 @c no, this doesn't require the smallexample, but since the other
1252 @c two blocks on this page use it, I figured I might as well
1253 @c user it here as well, for consistency. -gp
1255 \usepackage@{pdfpages@}
1256 \includescore@{nombredelapartitura@}
1260 donde @code{\includescore} está definido como:
1263 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1264 % \includescore@{PossibleExtension@}
1265 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1267 % Leer las entradas del índice general para un archivo PDF
1268 % a partir del archivo .toc correspondeiente.
1269 % Esto requiere bastantes trucos de latex, porque leer cosas de un archivo
1270 % e insertarlo dentro de los argumentos de un macro no es posible
1273 % Solución de Patrick Fimml en el canal #latex el 18 de abril de 2009:
1274 % \readfile@{filename@}@{\variable@}
1275 % lee el contenido del archivo en \variable (no definida si el
1276 % archivo no existe)
1277 \newread\readfile@@f
1278 \def\readfile@@line#1@{%
1279 @{\catcode`\^^M=10\global\read\readfile@@f to \readfile@@tmp@}%
1280 \edef\do@{\noexpand\g@@addto@@macro@{\noexpand#1@}@{\readfile@@tmp@}@}\do%
1281 \ifeof\readfile@@f\else%
1282 \readfile@@line@{#1@}%
1285 \def\readfile#1#2@{%
1286 \openin\readfile@@f=#1 %
1288 \typeout@{No TOC file #1 available!@}%
1291 \readfile@@line@{#2@}%
1293 \closein\readfile@@f%
1297 \newcommand@{\includescore@}[1]@{
1298 \def\oly@@fname@{\oly@@basename\@@ifmtarg@{#1@}@{@}@{_#1@}@}
1299 \let\oly@@addtotoc\undefined
1300 \readfile@{\oly@@xxxxxxxxx@}@{\oly@@addtotoc@}
1301 \ifx\oly@@addtotoc\undefined
1302 \includepdf[pages=-]@{\oly@@fname@}
1304 \edef\includeit@{\noexpand\includepdf[pages=-,addtotoc=@{\oly@@addtotoc@}]
1305 @{\oly@@fname@}@}\includeit
1311 @node Métodos alternativos para mezclar texto y música
1312 @section Métodos alternativos para mezclar texto y música
1313 @translationof Alternate methods of mixing text and music
1315 Otras formas de mezclar texto y música (sin @command{lilypond-book})
1316 se estudian en @ref{Insertar la salida de LilyPond dentro de otros programas}.