X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fes%2Fusage%2Flilypond-book.itely;h=5cbd078adf8a51fc1410fabffedaa3440d065a88;hb=0944220870073052dd6b73b7485dfd5b6e617065;hp=97859b9d6029fd26b3f2f5205f020087ddd36e07;hpb=7bd6884c300f1a032b5b9f2e0b9ffa5a7938244a;p=lilypond.git diff --git a/Documentation/es/usage/lilypond-book.itely b/Documentation/es/usage/lilypond-book.itely index 97859b9d60..5cbd078adf 100644 --- a/Documentation/es/usage/lilypond-book.itely +++ b/Documentation/es/usage/lilypond-book.itely @@ -1,14 +1,14 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @ignore - Translation of GIT committish: d43f0a2575409659fbdd21b9b17b5f8440cc7268 + Translation of GIT committish: 7f48cb638958a728209577caa41bbaca8a2e4ef2 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' Guide, node Updating translation committishes.. @end ignore -@c \version "2.12.0" +@c \version "2.19.22" @c Note: keep this node named so that `info lilypond-book' brings you here. @node lilypond-book @@ -16,38 +16,40 @@ @translationof lilypond-book Si quiere añadir imágenes de música a un documento, puede hacerlo -simplemente de la forma en que lo haría con otros tipos de imágenes. -Las imágenes se crean por separado, dando como resultado una salida -PostScript o imágenes PNG, y luego se incluyen en un documento de -@LaTeX{} o de HTML. - -@command{lilypond-book} ofrece una manera de automatizar este proceso: -este programa extrae los fragmentos de música del documento, ejecuta -@command{lilypond} sobre cada uno de ellos, y devuelve como salida el -documento con la música sustituida por las imágenes. Las definiciones -de ancho de línea y tamaño de letra de la música se ajustan de forma -que coincidan con los ajustes de su documento. - -Es un programa distinto a @command{lilypond} propiamente dicho, y se -ejecuta sobre la línea de órdenes; para ver más información, consulte -@ref{Utilización desde la línea de órdenes}. Si tiene MacOS 10.3 o -10.4 y experimenta algún problema al ejecutar @code{lilypond-book}, -consulte @rweb{MacOS X}. - -Este procedimiento se puede aplicar a documentos de @LaTeX{}, HTML, -Texinfo o DocBook. +simplemente de la forma en que lo haría con otros tipos de +imágenes. Las imágenes se crean por separado, dando como +resultado una salida PostScript o imágenes PNG, y luego se +incluyen en un documento de @LaTeX{} o de HTML. + +@command{lilypond-book} ofrece una manera de automatizar este +proceso: este programa extrae los fragmentos de música del +documento, ejecuta @command{lilypond} sobre cada uno de ellos, y +devuelve como salida el documento con la música sustituida por las +imágenes. Las definiciones de ancho de línea y tamaño de letra de +la música se ajustan de forma que coincidan con los ajustes de su +documento. + +Es un programa distinto a @command{lilypond} propiamente dicho, y +se ejecuta sobre la línea de órdenes; para ver más información, +consulte @ref{Utilización desde la línea de órdenes}. Si +experimenta algún problema al ejecutar @code{lilypond-book} sobre +Windows o Mac OS X utilizando la línea de órdenes, consulte +@rweb{Windows} o @rweb{MacOS X}. + +Este procedimiento se puede aplicar a documentos de @LaTeX{}, +HTML, Texinfo o DocBook. @cindex texinfo -@cindex latex +@cindex LaTex @cindex texinfo @cindex texi -@cindex html +@cindex HTML @cindex docbook @cindex documentos, insertar música en -@cindex HTML, música dentro de -@cindex Texinfo, música dentro de -@cindex DocBook, música dentro de -@cindex @LaTeX{}, música dentro de +@cindex HTML, insertar música en +@cindex Texinfo, insertar música en +@cindex DocBook, insertar música en +@cindex LaTeX, insertar música en @menu * Un ejemplo de documento musicológico:: @@ -56,6 +58,7 @@ Texinfo o DocBook. * Invocar lilypond-book:: * Extensiones de nombres de archivo:: * Plantillas de lilypond-book:: +* Compartir el índice general:: * Métodos alternativos para mezclar texto y música:: @end menu @@ -65,18 +68,19 @@ Texinfo o DocBook. @translationof An example of a musicological document @cindex musicología -Ciertos textos contienen ejemplos musicales. Son tratados musicales, -cancioneros o manuales como este mismo. Estos textos se pueden hacer -a mano, importando simplemente una imagen en formato PostScript en el -editor de textos. Sin embargo, hay un procedimiento automático para -reducir la carga de trabajo que esto implica los documentos de HTML, -@LaTeX{}, Texinfo y DocBook. - -Un guión ejecutable llamado @code{lilypond-book} extrae los fragmentos -de música, les da formato y vuelve a poner en su lugar la partitura -resultante. A continuación presentamos un pequeño ejemplo de su -utilización con @LaTeX{}. El ejemplo contiene también texto -explicativo, por lo que no vamos a comentarlo posteriormente. +Ciertos textos contienen ejemplos musicales. Son tratados +musicales, cancioneros o manuales como este mismo. Estos textos +se pueden hacer a mano, importando simplemente una imagen en +formato PostScript en el editor de textos. Sin embargo, hay un +procedimiento automático para reducir la carga de trabajo que esto +implica los documentos de HTML, @LaTeX{}, Texinfo y DocBook. + +Un guión ejecutable llamado @code{lilypond-book} extrae los +fragmentos de música, les da formato y vuelve a poner en su lugar +la partitura resultante. A continuación presentamos un pequeño +ejemplo de su utilización con @LaTeX{}. El ejemplo contiene +también texto explicativo, por lo que no vamos a comentarlo +posteriormente. @subheading Entrada @@ -90,8 +94,8 @@ Los documentos para \verb+lilypond-book+ pueden mezclar libremente música y texto. Por ejemplo: \begin{lilypond} -\relative c' { - c2 e2 \times 2/3 { f8 a b } a2 e4 +\relative { + c'2 e2 \tuplet 3/2 { f8 a b } a2 e4 } \end{lilypond} @@ -104,9 +108,10 @@ Las opciones se escriben entre corchetes. Los ejemplos grandes se pueden grabar en archivos separados e introducirse con \verb+\lilypondfile+. -\lilypondfile[quote,noindent]{screech-boink.ly} +\lilypondfile[quote,noindent]{screech-and-boink.ly} -(Si es necesario, sustituya screech-boink.ly por cualquier archivo .ly +(Si es necesario, sustituya @file{screech-and-boink.ly} +por cualquier archivo @file{.ly} situado en el mismo directorio que este archivo.) \end{document} @@ -123,36 +128,36 @@ Guarde el código anterior como un archivo llamado lilypond-book --output=out --pdf lilybook.lytex @emph{lilypond-book (GNU LilyPond) @version{} } @emph{Leyendo lilybook.lytex...} -@emph{..montañas de mensajes suprimidos..} -@emph{Compilando lilybook.tex...} +@emph{@dots{}montañas de mensajes suprimidos@dots{}} +@emph{Compilando lilybook.tex@dots{}} cd out pdflatex lilybook -@emph{..montañas de mensajes suprimidos..} +@emph{@dots{}montañas de mensajes suprimidos@dots{}} xpdf lilybook @emph{(sustituya @command{xpdf} por su visor de PDF favorito)} @end example -La ejecución de @command{lilypond-book} y @command{latex} crea un gran -número de archivos temporales, que podrían abarrotar el directorio de -trabajo. Para poner remedio a esto utilice la opción -@code{--output=@var{directorio}}. Creará los archivos en un -subdirectorio aparte @file{directorio}. +La ejecución de @command{lilypond-book} y @command{latex} crea un +gran número de archivos temporales, que podrían abarrotar el +directorio de trabajo. Para poner remedio a esto utilice la +opción @option{--output=@var{directorio}}. Creará los archivos en +un subdirectorio aparte @file{directorio}. Finalmente el resultado del ejemplo de @LaTeX{} que acabamos de -mostrar@footnote{Este tutorial se procesa con Texinfo, por lo que el -ejemplo presenta un resultado en la disposición ligeramente +mostrar@footnote{Este tutorial se procesa con Texinfo, por lo que +el ejemplo presenta un resultado en la disposición ligeramente distinto.}. Así acaba la sección del tutorial. @page @subheading Salida -Los documentos para @command{lilypond-book} pueden mezclar libremente -música y texto. Por ejemplo: +Los documentos para @command{lilypond-book} pueden mezclar +libremente música y texto. Por ejemplo: @lilypond -\relative c' { - c2 e2 \times 2/3 { f8 a b } a2 e4 +\relative { + c'2 e2 \tuplet 3/2 { f8 a b } a2 e4 } @end lilypond @@ -165,8 +170,24 @@ c'4 f16 Los ejemplos grandes se pueden grabar en archivos separados e introducirse con @code{\lilypondfile}. -@lilypondfile[quote,noindent]{screech-boink.ly} +@lilypondfile[quote,noindent]{screech-and-boink.ly} +Si se requiere un campo @code{tagline}, ya sea predeterminado o +personalizado, entonces el fragmento completo se debe incluir +dentro de una construcción @code{\book @{ @}}. + +@c KEEP LY +@lilypond[papersize=a8,verbatim] +\book{ + \header{ + title = "Una escala en LilyPond" + } + + \relative { + c' d e f g a b c + } +} +@end lilypond @page @@ -188,45 +209,67 @@ formatos de salida. @subsection @LaTeX{} @translationof LaTeX -@LaTeX{} es el estándar de facto para la publicación en el mundo de -las ciencias exactas. Está construido encima del motor de composición -tipográfica @TeX{}, proporcionando la tipografía de mejor calidad que -existe. +@LaTeX{} es el estándar de facto para la publicación en el mundo +de las ciencias exactas. Está construido encima del motor de +composición tipográfica @TeX{}, proporcionando la tipografía de +mejor calidad que existe. Consulte @uref{http://@/www@/.ctan@/.org/@/tex@/-archive/@/info/@/lshort/@/english/, @emph{The Not So Short Introduction to @LaTeX{}}} (Introducción no tan breve a @LaTeX{}) para ver una panorámica sobre cómo usar @LaTeX{}. -La música se introduce usando +@code{lilypond-book} aporta las instrucciones y entornos +siguientes para incluir música dentro de archivos de @LaTeX{}: + +@itemize + +@item +la instrucción @code{\lilypond@{@dots{}@}}, donde podemos escribir +directamente fragmentos cortos de código de LilyPond + +@item +el entorno @code{\begin@{lilypond@}@dots{}\end@{lilypond@}}, donde +podemos introducir directamente bloques más largos de código de +LilyPond + +@item +la instrucción @code{\lilypondfile@{@dots{}@}} para insertar un +archivo de LilyPond + +@item +la instrucción @code{\musicxmlfile@{@dots{}@}} para insertar un +archivo de MusicXML, que se procesa por parte de +@code{musicxml2ly} y @code{lilypond}. + +@end itemize + +En el archivo de entrada, se especifica la música con cualquiera +de las instrucciones siguientes: @example \begin@{lilypond@}[las,opciones,van,aquí] EL CÓDIGO DE LILYPOND \end@{lilypond@} -@end example -@noindent -o bien +\lilypond[las,opciones,van,aquí]@{ EL CÓDIGO DE LILYPOND @} -@example \lilypondfile[las,opciones,van,aquí]@{@var{archivo}@} + +\musicxmlfile[las,opciones,van,aquí]@{@var{archivo}@} @end example -@noindent -o bien -@example -\lilypond[las,opciones,van,aquí]@{ EL CÓDIGO DE LILYPOND @} -@end example +@noindent -De forma adicional, @code{\lilypondversion} imprime la versión actual -de lilypond. +De forma adicional, @code{\lilypondversion} imprime la versión +actual de lilypond. -La ejecución de @command{lilypond-book} deja como resultado un archivo -que se puede procesar posteriormente con @LaTeX{}. +La ejecución de @command{lilypond-book} deja como resultado un +archivo que se puede procesar posteriormente con @LaTeX{}. -A continuación mostramos algunos ejemplos. El entorno @code{lilypond} +A continuación mostramos algunos ejemplos. El entorno +@code{lilypond} @example \begin@{lilypond@}[quote,fragment,staffsize=26] @@ -254,23 +297,24 @@ produce @noindent Por el momento no es posible incluir llaves @code{@{} o @code{@}} -dentro de @code{\lilypond@{@}}, así que esta instrucción solamente es -útil con la opción @code{fragment}. - -El ancho predeterminado de las líneas de música se ajusta mediante el -examen de las instrucciones del preámbulo del documento, la parte del -documento que está antes de @code{\begin@{document@}}. La instrucción -@command{lilypond-book} los envía a @LaTeX{} para averiguar la anchura -del texto. El ancho de la línea para los fragmentos de música se -ajusta entonces al ancho del texto. Observe que este algoritmo -heurístico puede fácilmente fallar; en estos casos es necesario usar -la opción @code{line-width} del fragmento de música. +dentro de @code{\lilypond@{@}}, así que esta instrucción solamente +es útil con la opción @code{fragment}. + +El ancho predeterminado de las líneas de música se ajusta mediante +el examen de las instrucciones del preámbulo del documento, la +parte del documento que está antes de @code{\begin@{document@}}. +La instrucción @command{lilypond-book} los envía a @LaTeX{} para +averiguar la anchura del texto. El ancho de la línea para los +fragmentos de música se ajusta entonces al ancho del texto. +Observe que este algoritmo heurístico puede fácilmente fallar; en +estos casos es necesario usar la opción @code{line-width} del +fragmento de música. @cindex títulos y lilypond-book @cindex \header dentro de documentos @LaTeX{} -Cada fragmento ejecutará los macros siguientes si han sido definidos -por el usuario: +Cada fragmento ejecutará los macros siguientes si han sido +definidos por el usuario: @itemize @bullet @item @code{\preLilyPondExample} que se llama antes de la música, @@ -279,9 +323,10 @@ por el usuario: @item @code{\betweenLilyPondSystem[1]} se llama entre los sistemas si @code{lilypond-book} ha dividido el fragmento en varios archivos -PostScript. Se debe definir de forma que tome un parámetro y recibirá -el número de archivos ya incluidos dentro del fragmento actual. La -acción predeterminada es simplemente insertar un @code{\linebreak}. +PostScript. Se debe definir de forma que tome un parámetro y +recibirá el número de archivos ya incluidos dentro del fragmento +actual. La acción predeterminada es simplemente insertar un +@code{\linebreak}. @end itemize @ignore @@ -316,17 +361,17 @@ kpsewhich feta20.tex @snippets -A veces es útil mostrar elementos de música (como ligaduras) como si -continuasen más allá del final del fragmento. Esto se puede hacer -dividiendo el pentagrama y suprimiendo la inclusión del resto de la -salida de LilyPond. +A veces es útil mostrar elementos de música (como ligaduras) como +si continuasen más allá del final del fragmento. Esto se puede +hacer dividiendo el pentagrama y suprimiendo la inclusión del +resto de la salida de LilyPond. -En @LaTeX{}, defina @code{\betweenLilyPondSystem} de tal forma que la -la inclusión de otros sistemas se dé por terminada una vez que se ha -alcanzado el número deseado de sistemas requeridos. Puesto que -@code{\betweenLilyPondSystem} se llama en primer lugar @emph{después} -del primer sistema, incluir solamente el primer sistema es algo -trivial. +En @LaTeX{}, defina @code{\betweenLilyPondSystem} de tal forma que +la la inclusión de otros sistemas se dé por terminada una vez que +se ha alcanzado el número deseado de sistemas requeridos. Puesto +que @code{\betweenLilyPondSystem} se llama en primer lugar +@emph{después} del primer sistema, incluir solamente el primer +sistema es algo trivial. @example \def\betweenLilyPondSystem#1@{\endinput@} @@ -337,12 +382,13 @@ trivial. @end example Si se necesita un mayor número de sistemas, se tiene que usar un -condicional de @TeX{} antes del @code{\endinput}. En este ejemplo, -sustituya el @q{2} por el número de sistemas que quiere en la salida: +condicional de @TeX{} antes del @code{\endinput}. En este +ejemplo, sustituya el @q{2} por el número de sistemas que quiere +en la salida: @example \def\betweenLilyPondSystem#1@{ - \ifnum##1<2\else\expandafter\endinput\fi + \ifnum#1<2\else\expandafter\endinput\fi @} @end example @@ -354,9 +400,10 @@ posponer la llamada de @code{\endinput} después de ejecutar equilibrada.) Recuerde que la definición de @code{\betweenLilyPondSystem} es -efectiva hasta que @TeX{} abandona el grupo actual (como el entorno -@LaTeX{}) o se sobreescribe por otra definición (lo que casi siempre -es por el resto del documento). Para reponer la definición, escriba +efectiva hasta que @TeX{} abandona el grupo actual (como el +entorno @LaTeX{}) o se sobreescribe por otra definición (lo que +casi siempre es por el resto del documento). Para reponer la +definición, escriba @example \let\betweenLilyPondSystem\undefined @@ -379,9 +426,9 @@ fragmento: @example \onlyFirstNSystems@{3@} -\begin@{lilypond@}...\end@{lilypond@} +\begin@{lilypond@}@dots{}\end@{lilypond@} \onlyFirstNSystems@{1@} -\begin@{lilypond@}...\end@{lilypond@} +\begin@{lilypond@}@dots{}\end@{lilypond@} @end example @@ -395,44 +442,62 @@ documentos de@LaTeX{} véase @ref{Invocar lilypond-book}. @subsection Texinfo @translationof Texinfo -Texinfo es el formato estándar para la documentación del proyecto GNU. -Este mismo manual es un ejemplo de documento Texinfo. Las versiones -HTML, PDF e Info del manual se hacen a partir del documento Texinfo. +Texinfo es el formato estándar para la documentación del proyecto +GNU. Este mismo manual es un ejemplo de documento Texinfo. Las +versiones HTML, PDF e Info del manual se hacen a partir del +documento Texinfo. + +@code{lilypond-book} aporta las siguientes instrucciones y +entornos para incluir música dentro de archivos de Texinfo: +@itemize -En el archivo de entrada, la música se especifica con +@item +la instrucción @code{@@lilypond@{@dots{}@}}, donde podemos +introducir directamente fragmentos cortos de código de LilyPond + +@item +el entorno @code{@@lilypond@dots{}@@end lilypond}, donde podemos +escribir directamente bloques más extensos de código de LilyPond + +@item +la instrucción @code{@@lilypondfile@{@dots{}@}} para insertar un +archivo de LilyPond + +@item +la instrucción @code{@@musicxmlfile@{@dots{}@}} para insertar un +archivo de MusicXML, que se procesa después por parte de +@code{musicxml2ly} y de @code{lilypond}. + +@end itemize + +En el archivo de entrada, la música se especifica con cualquiera +de las instrucciones siguientes: @example @@lilypond[las,opciones,van,aquí] EL CÓDIGO DE LILYPOND @@end lilypond -@end example -@noindent -o bien - -@example @@lilypond[las,opciones,van,aquí]@{ EL CÓDIGO DE LILYPOND @} -@end example -@noindent -o bien - -@example @@lilypondfile[las,opciones,van,aquí]@{@var{archivo}@} + +@@musicxmlfile[las,opciones,van,aquí]@{@var{archivo}@} @end example -De forma adicional, @code{@@lilypondversion} imprime la versión actual -de lilypond. +De forma adicional, @code{@@lilypondversion} imprime la versión +actual de lilypond. -Cuando se ejecuta @command{lilypond-book} sobre el archivo, se obtiene -como resultado un archivo Texinfo (con la extensión @file{.texi}) que -contiene etiquetas @code{@@image} para el HTML, Info y la salida -impresa. @command{lilypond-book} genera imágenes de la música en -formatos EPS y PDF para usarlos en la salida impresa, y en formato PNG -para usarlos en las salidas HTML e Info. +Cuando se ejecuta @command{lilypond-book} sobre el archivo, se +obtiene como resultado un archivo Texinfo (con la extensión +@file{.texi}) que contiene etiquetas @code{@@image} para el HTML, +Info y la salida impresa. @command{lilypond-book} genera imágenes +de la música en formatos EPS y PDF para usarlos en la salida +impresa, y en formato PNG para usarlos en las salidas HTML e Info. -Aquí podemos ver dos ejemplos sencillos. Un entorno @code{lilypond} +Aquí podemos ver dos ejemplos sencillos. Un entorno +@code{lilypond} @example @@lilypond[fragment] @@ -458,16 +523,55 @@ produce @lilypond[fragment,staffsize=11]{} -No como @LaTeX{}, @code{@@lilypond@{...@}} no genera una imagen en -línea. Siempre consiste en un párrafo para ella sola. +A diferencia de @LaTeX{}, @code{@@lilypond@{@dots{}@}} no genera +una imagen en línea. Siempre consiste en un párrafo para ella +sola. @node HTML @subsection HTML @translationof HTML -La música se introduce usando +@code{lilypond-book} aporta las siguientes instrucciones y +entornos para incluir música dentro de archivos HTML: + +@itemize + +@item +la instrucción @code{}, donde podemos +introducir directamente fragmentos cortos de código de LilyPond + +@item +el entorno @code{@dots{}}, donde podemos +escribir directamente bloques más extensos de código de LilyPond + +@item +la instrucción @code{@dots{}} para +insertar un archivo de LilyPond + +@item +la instrucción @code{@dots{}} para +insertar un archivo de MusicXML, que se procesa después por parte +de @code{musicxml2ly} y de @code{lilypond}. + +@end itemize + +En el archivo de entrada, la música se especifica con cualquiera +de las instrucciones siguientes: +@example + + EL CÓDIGO DE LILYPOND + + + + +@var{archivo} + +@var{archivo} +@end example + +Por ejemplo, podemos escribr @example \key c \minor c4 es g2 @@ -482,20 +586,29 @@ etiquetas de imagen adecuadas para los fragmentos de música: \key c \minor c4 es g2 @end lilypond -Para imágenes en línea, utilice @code{}, donde las -opciones están separadas de la música por el símbolo de dos puntos, -por ejemplo +Para imágenes en línea, utilice @code{}, donde +las opciones están separadas de la música por el símbolo de dos +puntos, por ejemplo @example -Algo de música dentro de una línea de texto. +Algo de música dentro de una línea +de texto. @end example Para incluir archivos externos, escriba @example -@var{archivo} +@var{archivo} @end example +@code{} usa la misma sintaxis que +@code{}, pero sencillamente referencia un archivo de +MusicXML en lugar de un archivo de LilyPond. + +Para ver una lista de las opciones que utilizar con las etiquetas +@code{lilypond} o @code{lilypondfile}, véase @ref{Opciones de +fragmentos de música}. + De forma adicional, @code{} imprime la versión actual de lilypond. @@ -507,29 +620,30 @@ actual de lilypond. @subsection DocBook @translationof DocBook -Para insertad fragmentos de LilyPond es bueno tratar de mantener la -conformidad del documento de DocBook, permitiendo así el uso de -editores de DocBook, validación, etc. Así pues, no usamos etiquetas -personalizadas, sólo especificamos una convención basada en los -elementos estándar de DocBook. +Para insertar fragmentos de LilyPond es bueno tratar de mantener +la conformidad del documento de DocBook, permitiendo así el uso de +editores de DocBook, validación, etc. Así pues, no usamos +etiquetas personalizadas, sólo especificamos una convención basada +en los elementos estándar de DocBook. @subheading Convenciones usuales Para insertar toda clase de fragmentos utilizamos los elementos -@code{mediaobject} y @code{inlinemediaobject}, de forma que nuestros -fragmentos puedan ser formateados en línea o no en línea. Las -opciones de formateo del fragmento se escriben siempre dentro de la -propiedad @code{role} del elemento más interno (véanse las secciones -siguientes). Las etiquetas se eligen de forma que permitan a los -editores de DocBook formatear el contenido satisfactoriamente. Los -archivos de DocBook que se van a procesar con @command{lilypond-book} -deben tener la extensión @file{.lyxml}. +@code{mediaobject} y @code{inlinemediaobject}, de forma que +nuestros fragmentos puedan ser formateados en línea o no en línea. +Las opciones de formateo del fragmento se escriben siempre dentro +de la propiedad @code{role} del elemento más interno (véanse las +secciones siguientes). Las etiquetas se eligen de forma que +permitan a los editores de DocBook formatear el contenido +satisfactoriamente. Los archivos de DocBook que se van a procesar +con @command{lilypond-book} deben tener la extensión +@file{.lyxml}. @subheading Incluir un archivo de LilyPond -Este es el caso más sencillo. Debemos usar la extensión @file{.ly} -para el archivo incluido, e insertarlo como un @code{imageobject} -estándar, con la estructura siguiente: +Este es el caso más sencillo. Debemos usar la extensión +@file{.ly} para el archivo incluido, e insertarlo como un +@code{imageobject} estándar, con la estructura siguiente: @example @@ -545,36 +659,36 @@ elemento más externo, a elección suya. @subheading Incluir código de LilyPond Se puede incluir código de LilyPond mediante la utilización de un -elemento @code{programlisting}, en que el lenguaje se establece como -@code{lilypond} con la estructura siguiente: +elemento @code{programlisting}, en que el lenguaje se establece +como @code{lilypond} con la estructura siguiente: @example \context Staff \with @{ - \remove Time_signature_engraver - \remove Clef_engraver@} + \remove "Time_signature_engraver" + \remove "Clef_engraver"@} @{ c4( fis) @} @end example -Como puede ver, el elemento más externo es un @code{mediaobject} o un -@code{inlinemediaobject}, y hay un elemento @code{textobject} que -lleva el @code{programlisting} en su interior. +Como puede ver, el elemento más externo es un @code{mediaobject} o +un @code{inlinemediaobject}, y hay un elemento @code{textobject} +que lleva el @code{programlisting} en su interior. @subheading Procesar el documento de DocBook -Al ejecutar @command{lilypond-book} sobre el archivo @file{.lyxml} se -creará un documento de DocBook válido que se puede procesar +Al ejecutar @command{lilypond-book} sobre el archivo @file{.lyxml} +se creará un documento de DocBook válido que se puede procesar posteriormente con la extensión @file{.xml}. Si usa @uref{http://@/dblatex@/.sourceforge@/.net@/,dblatex}, creará un archivo PDF a partir de este documento automáticamente. Para la -generación de HTML (HTML Help, JavaHelp, etc.) puede usar las hojas de -estilo oficiales XSL de DocBook, aunque es posible que tenga que -aplicarles algún tipo de personalización. +generación de HTML (HTML Help, JavaHelp, etc.) puede usar las +hojas de estilo oficiales XSL de DocBook, aunque es posible que +tenga que aplicarles algún tipo de personalización. @node Opciones de fragmentos de música @@ -582,16 +696,18 @@ aplicarles algún tipo de personalización. @translationof Music fragment options Durante los próximos párrafos, una @q{instrucción de LilyPond} se -refiere a cualquier instrucción descrita en las secciones anteriores -que se maneja por parte de @command{lilypond-book} para que produzca -un fragmento de música. Por simplicidad, las instrucciones de -LilyPond solamente se muestran en la sintaxis de @LaTeX{}. +refiere a cualquier instrucción descrita en las secciones +anteriores que se maneja por parte de @command{lilypond-book} para +que produzca un fragmento de música. Por simplicidad, las +instrucciones de LilyPond solamente se muestran en la sintaxis de +@LaTeX{}. -Observe que la cadena de opciones se analiza de izquierda a derecha; -si una opción aparece varias veces, se toma la última solamente. +Observe que la cadena de opciones se analiza de izquierda a +derecha; si una opción aparece varias veces, se toma la última +solamente. -Están disponibles las siguientes opciones para las instrucciones de -LilyPond: +Están disponibles las siguientes opciones para las instrucciones +de LilyPond: @table @code @item staffsize=@var{altura} @@ -600,36 +716,47 @@ puntos. @item ragged-right Producir líneas no justificadas por la derecha y con espaciado -natural, es decir, se añade @code{ragged-right = ##t} al fragmento de -LilyPond. Esta es la opción predeterminada para la instrucción -@code{\lilypond@{@}} si no está presente la opción @code{line-width}. -También es la opción predeterminada para el entorno @code{lilypond} si -está establecida la opción @code{fragment}, y no se especifica la -anchura de la línea explícitamente. +natural, es decir, se añade @code{ragged-right = ##t} al fragmento +de LilyPond. Los fragmentos de una sola línea siempre se +tipografían de forma predeterminada sin justificación por la +derecha, a no ser que se use explícitamente la opción +@code{noragged-right}. @item noragged-right Para fragmentos de una sola línea, permitir que la longitud del -pentagrama se amplíe hasta igualar la anchura de la línea, es decir, -se añade @code{ragged-right = ##f} al fragmento de LilyPond. +pentagrama se amplíe hasta igualar la anchura de la línea, es +decir, se añade @code{ragged-right = ##f} al fragmento de +LilyPond. @item line-width @itemx line-width=@var{tamaño}\@var{unidades} Establecer el ancho de línea como @var{tamaño}, utilizando -@var{unidades} como unidad. @var{unidades} es una de las siguientes -cadenas: @code{cm}, @code{mm}, @code{in} o @code{pt}. Esta opción -afecta a la salida de LilyPond (esto es, a la longitud del pentagrama -del fragmento musical), no al formato del texto. +@var{unidades} como unidad. @var{unidades} es una de las +siguientes cadenas: @code{cm}, @code{mm}, @code{in} o @code{pt}. +Esta opción afecta a la salida de LilyPond (esto es, a la longitud +del pentagrama del fragmento musical), no al formato del texto. + +Si se usa sin ningún argumento, se establece el ancho de la línea +a un valor predeterminado (calculado con un algoritmo heurístico). -Si se usa sin ningún argumento, se establece el ancho de la línea a un -valor predeterminado (calculado con un algoritmo heurístico). +Si no se da ninguna opción @code{line-width}, +@command{lilypond-book} trata de adivinar un valor predeterminado +para los entornos @code{lilypond} que no usan la opción +@code{ragged-right}. -Si no se da ninguna opción @code{line-width}, @command{lilypond-book} -trata de adivinar un valor predeterminado para los entornos -@code{lilypond} que no usan la opción @code{ragged-right}. +@item papersize=@var{cadena} +Donde @var{cadena} es un tamaño del papel definido en el archivo +@file{scm/paper.scm}, es decir, @code{a5}, @code{quarto}, +@code{11x17}, etc. + +Los valores no definidos en el archivo @file{scm/paper.scm} se +ignoran, se emite una advertencia y el fragmento se imprime +utilizando el tamaño predeterminado @code{a4}. @item notime No imprimir la indicación de compás, y desactivar las indicaciones -temporales de la música (indicación del compás y líneas divisorias). +temporales de la música (indicación del compás y líneas +divisorias). @item fragment Hacer que @command{lilypond-book} añada algunos códigos necesarios @@ -649,15 +776,16 @@ predeterminada, @code{nofragment} normalmente es redundante. @item indent=@var{tamaño}\@var{unidades} Establecer el sangrado del primer sistema de pentagramas como -@var{tamaño}, utilizando @var{unidades} como unidad. @var{unidades} es -una de las siguientes cadenas: @code{cm}, @code{mm}, @code{in} o -@code{pt}. Esta opción afecta a LilyPond, no al formato del texto. +@var{tamaño}, utilizando @var{unidades} como +unidad. @var{unidades} es una de las siguientes cadenas: +@code{cm}, @code{mm}, @code{in} o @code{pt}. Esta opción afecta a +LilyPond, no al formato del texto. @item noindent Establecer el sangrado del primer sistema de la música como cero. -Esta opción afecta a LilyPond, no al formato del texto. Puesto que el -valor predeterminado es que no haya ningún sangrado, @code{noindent} -normalmente es redundante. +Esta opción afecta a LilyPond, no al formato del texto. Puesto +que el valor predeterminado es que no haya ningún sangrado, +@code{noindent} normalmente es redundante. @item quote Reducir la longitud de la línea de un fragmento musical en @@ -666,19 +794,20 @@ bloque de cita (quotation). El valor de @q{0.4@dmn{in}} se puede controlar con la opción @code{exampleindent}. @item exampleindent -Establecer la longitud del sangrado que la opción @code{quote} aplica -al fragmento musical. +Establecer la longitud del sangrado que la opción @code{quote} +aplica al fragmento musical. @item relative @itemx relative=@var{n} -Usar el modo de octava relativa. De forma predeterminada, las notas -se especifican con relación al Do@tie{}central. El argumento entero -opcional especifica la octava de la nota inicial, donde el valor -predeterminado @code{1} es el Do central. La opción @code{relative} -sólo funciona cuando está establecida la opción @code{fragment}, de -manera que @code{fragment} viene implicada automáticamente por -@code{relative}, independientemente de la presencia de @code{fragment} -o de @code{nofragment} en la fuente. +Usar el modo de octava relativa. De forma predeterminada, las +notas se especifican con relación al Do@tie{}central. El +argumento entero opcional especifica la octava de la nota inicial, +donde el valor predeterminado @code{1} es el Do central. La +opción @code{relative} sólo funciona cuando está establecida la +opción @code{fragment}, de manera que @code{fragment} viene +implicada automáticamente por @code{relative}, independientemente +de la presencia de @code{fragment} o de @code{nofragment} en la +fuente. @end table @@ -689,32 +818,33 @@ ciertas opciones algo esotéricas para los fragmentos musicales. @table @code @item verbatim El argumento de una instrucción de LilyPond se copia al archivo de -salida y se incluye dentro de un bloque «verbatim» o preformateado, -seguido del texto que se escriba con la opción @code{intertext} (que -no funciona aún); después se imprime la música en sí. Esta opción no -funciona bien con @code{\lilypond@{@}} si forma parte de un párrafo. +salida y se incluye dentro de un bloque «verbatim» o +preformateado, seguido del texto que se escriba con la opción +@code{intertext} (que no funciona aún); después se imprime la +música en sí. Esta opción no funciona bien con +@code{\lilypond@{@}} si forma parte de un párrafo. Si se usa la opción @code{verbatim} dentro de una instrucción -@code{lilypondfile}, es posible incluir con estilo preformateado sólo -una parte del archivo fuente. Si el archivo de código fuente contiene -un comentario que contiene @samp{begin verbatim} (sin las comillas), -la cita del bloque de estilo preformateado empezará después de la -última vez que aparezca este comentario; de forma similar, la cita del -bloque preformateado se detendrá justo antes de la primera vez que -aparezca un comentario que contenga @samp{end verbatim}, si lo hay. -En el siguiente ejemplo de código fuente, la música se interpreta en -el modo relativo, pero la cita preformateada no presentará el bloque -@code{relative}, es decir +@code{lilypondfile}, es posible incluir con estilo preformateado +sólo una parte del archivo fuente. Si el archivo de código fuente +contiene un comentario que contiene @samp{begin verbatim} (sin las +comillas), la cita del bloque de estilo preformateado empezará +después de la última vez que aparezca este comentario; de forma +similar, la cita del bloque preformateado se detendrá justo antes +de la primera vez que aparezca un comentario que contenga +@samp{end verbatim}, si lo hay. En el siguiente ejemplo de código +fuente, la música se interpreta en el modo relativo, pero la cita +preformateada no presentará el bloque @code{relative}, es decir @example -\relative c' @{ % begin verbatim - c4 e2 g4 +\relative @{ % begin verbatim + c'4 e2 g4 f2 e % end verbatim @} @end example @noindent -se imprimirá como un bloque preformateado como +se imprime como un bloque preformateado como @example c4 e2 g4 @@ -722,27 +852,30 @@ se imprimirá como un bloque preformateado como @end example @noindent -Si queremos traducir los comentarios y los nombres de variable en la -salida literal pero no en el código fuente, podemos establecer el -valor de la variable de entorno @code{LYDOC_LOCALEDIR} a la ruta de un -directorio; este directorio debe contener un árbol de catálogos de -mensajes @file{.mo} con @code{lilypond-doc} como dominio. +Si queremos traducir los comentarios y los nombres de variable en +la salida literal pero no en el código fuente, podemos establecer +el valor de la variable de entorno @code{LYDOC_LOCALEDIR} a la +ruta de un directorio; este directorio debe contener un árbol de +catálogos de mensajes @file{.mo} con @code{lilypond-doc} como +dominio. @item addversion -(Sólo para la salida de Texinfo.) Anteponer la línea @code{\version -@@w@{"@@version@{@}"@}} a la salida de @code{verbatim}. +(Sólo para la salida de Texinfo.) Anteponer la línea +@code{\version @@w@{"@@version@{@}"@}} a la salida de +@code{verbatim}. @item texidoc -(Sólo para la salida de Texinfo.) Si se llama a @command{lilypond} -con la opción @option{--header=@/texidoc}, y el archivo que se procesa -se llama @file{fulanito@/.ly}, crea un archivo -@file{fulanito@/.texidoc} si existe un campo @code{texidoc} dentro del -bloque @code{\header} de cabecera. La opción @code{texidoc} hace que -@command{lilypond-book} incluya estos archivos, añadiendo su contenido -como un bloque de documentación inmediatamente antes del fragmento -musical. - -Suponiendo que el archivo @file{fulanito@/.ly} contiene +(Sólo para la salida de Texinfo.) Si se llama a +@command{lilypond} con la opción @option{--header=@/texidoc}, y el +archivo que se procesa se llama @file{fulanito.ly}, crea un +archivo @file{fulanito.texidoc} si existe un campo @code{texidoc} +dentro del bloque @code{\header} de cabecera. La opción +@code{texidoc} hace que @command{lilypond-book} incluya estos +archivos, añadiendo su contenido como un bloque de documentación +inmediatamente antes del fragmento musical (pero fuera del entorno +@code{example} generado por la opción @code{quote}). + +Suponiendo que el archivo @file{fulanito.ly} contiene @example \header @{ @@ -767,39 +900,32 @@ lilypond-book --pdf --process="lilypond \ -dbackend=eps --header=texidoc" test.texinfo @end example -La mayoría de los documentos de prueba de LilyPond (en el directorio -@file{input} de la distribución) son pequeños archivos @file{.ly} que -tienen exactamente este aspecto. +La mayoría de los documentos de prueba de LilyPond (en el +directorio @file{input} de la distribución) son pequeños archivos +@file{.ly} que tienen exactamente este aspecto. Por motivos de localización de idioma, si el documento de Texinfo contiene @code{@@documentlanguage @var{LANG}} y la cabecera de -@file{loquesea@/.ly} contiene un campo @code{texidoc@var{LANG}}, y +@file{loquesea.ly} contiene un campo @code{texidoc@var{LANG}}, y @command{lilypond} se ejecuta con @option{--header=@/texidoc@var{LANG}}, entonces se incluirá -@file{loquesea@/.texidoc@var{LANG}} en lugar de -@file{loquesea@/.texidoc}. - -@item lilyquote -(Sólo para la salida de Texinfo.) Esta opción es similar a quote, -pero se pone dentro del bloque de cita solamente el fragmento de -música (y el bloque preformateado que se da en la opción -@code{verbatim}). Esta opción es útil si queremos citar -(@code{quote}) el fragmento musical pero no el bloque de documentación -@code{texidoc}. +@file{loquesea.texidoc@var{LANG}} en lugar de +@file{loquesea.texidoc}. @item doctitle (Sólo para la salida de Texinfo.) Esta opción funciona de forma -parecida a la opción @code{texidoc}: si @command{lilypond} se llama -con la opción @option{--header=@/doctitle}, y el archivo que procesar -se llama @file{loquesea@/.ly} y contiene un campo @code{doctitle} en -el bloque @code{\header}, crea un archivo @file{loquesea@/.doctitle}. -Cuando se usa la opción @code{doctitle}, el contenido de -@file{loquesea@/.doctitle}, que debería ser una línea única de -@var{texto}, se inserta en el documento de Texinfo como -@code{@@lydoctitle @var{texto}}. @code{@@lydoctitle} debe ser un -macro definido en el documento de Texinfo. La misma indicación -referida al procesado de @code{texidoc} con idiomas localizados se -aplica a @code{doctitle}. +parecida a la opción @code{texidoc}: si @command{lilypond} se +llama con la opción @option{--header=@/doctitle}, y el archivo que +procesar se llama @file{loquesea.ly} y contiene un campo +@code{doctitle} en el bloque @code{\header}, crea un archivo +@file{loquesea.doctitle}. Cuando se usa la opción +@code{doctitle}, el contenido de @file{loquesea.doctitle}, que +debería ser una línea única de @var{texto}, se inserta en el +documento de Texinfo como @code{@@lydoctitle @var{texto}}. +@code{@@lydoctitle} debe ser un macro definido en el documento de +Texinfo. La misma indicación referida al procesado de +@code{texidoc} con idiomas localizados se aplica a +@code{doctitle}. @item nogettext (Sólo para la salida de Texinfo.) No traducir los comentarios y @@ -807,10 +933,10 @@ nombres de variable en el fragmento de código literal citado. @item printfilename Si un archivo de entrada de LilyPond se incluye con -@code{\lilypondfile}, imprimir el nombre del archivo inmediatamente -antes del fragmento musical. Para la salida HTML, esto es un enlace. -Sólo se imprime el nombre base del archivo, es decir, se elimina la -parte del directorio de la ruta del archivo. +@code{\lilypondfile}, imprimir el nombre del archivo +inmediatamente antes del fragmento musical. Para la salida HTML, +esto es un enlace. Sólo se imprime el nombre base del archivo, es +decir, se elimina la parte del directorio de la ruta del archivo. @end table @@ -819,27 +945,29 @@ parte del directorio de la ruta del archivo. @section Invocar @command{lilypond-book} @translationof Invoking lilypond-book -@command{lilypond-book} produce un archivo con una de las siguientes -extensiones: @file{.tex}, @file{.texi}, @file{.html} o @file{.xml}, -dependiendo del formato de salida. Todos los archivos @file{.tex}, -@file{.texi} y @file{.xml} necesitan un procesado posterior. +@command{lilypond-book} produce un archivo con una de las +siguientes extensiones: @file{.tex}, @file{.texi}, @file{.html} o +@file{.xml}, dependiendo del formato de salida. Todos los +archivos @file{.tex}, @file{.texi} y @file{.xml} necesitan un +procesado posterior. @subheading Instrucciones específicas de formato @subsubheading @LaTeX{} -Hay dos formas de procesar el documento en @LaTeX{} para su impresión -o publicación: hacer un archivo PDF directamente con PDF@LaTeX{}, o -generar un archivo PostScript con @LaTeX{} a través de un traductor de -DVI a PostScript como @command{dvips}. la primera forma es más -sencilla y es la que se recomienda@footnote{Observe que PDF@LaTeX{} y -@LaTeX{} podrían no ser utilizables para compilar cualquier documento -@LaTeX{}, y es por lo que explicamos las dos formas.}, y cualquiera -que sea el método que utilice, podrá convertir fácilmente entre -PostScript y PDF con herramientas como @command{ps2pdf} y -@command{pdf2ps} que vienen incluidas con GhostScript. +Hay dos formas de procesar el documento en @LaTeX{} para su +impresión o publicación: hacer un archivo PDF directamente con +PDF@LaTeX{}, o generar un archivo PostScript con @LaTeX{} a través +de un traductor de DVI a PostScript como @command{dvips}. la +primera forma es más sencilla y es la que se +recomienda@footnote{Observe que PDF@LaTeX{} y @LaTeX{} podrían no +ser utilizables para compilar cualquier documento @LaTeX{}, y es +por lo que explicamos las dos formas.}, y cualquiera que sea el +método que utilice, podrá convertir fácilmente entre PostScript y +PDF con herramientas como @command{ps2pdf} y @command{pdf2ps} que +vienen incluidas con Ghostscript. -Para producir un archivo PDF por medio de PDF@LaTeX{}, utilice +Para producir un archivo PDF por medio de PDF@LaTeX{}, utilice: @example lilypond-book --pdf miarchivo.pdftex @@ -852,7 +980,7 @@ pdflatex miarchivo.tex @cindex invocación de dvips Para producir una salida PDF por medio de -@LaTeX{}/@command{dvips}/@command{ps2pdf}, debe hacer +@LaTeX{}/@command{dvips}/@command{ps2pdf}: @example lilypond-book miarchivo.lytex @@ -862,24 +990,58 @@ ps2pdf miarchivo.ps @end example @noindent -El archivo @file{.dvi} creado por este proceso no contiene las cabezas -de las notas. Esto es normal; si sigue las instrucciones, las cabezas -aparecerán en los archivos @file{.ps} y @file{.pdf}. +El archivo @file{.dvi} creado por este proceso no contiene las +cabezas de las notas. Esto es normal; si sigue las instrucciones, +las cabezas aparecerán en los archivos @file{.ps} y @file{.pdf}. La ejecución de @command{dvips} puede dar como resultado algunas -advertencias sobre las fuentes tipográficas; son inocuas y se pueden -ignorar. Si está ejecutando @command{latex} en modo de dos columnas, -recuerde añadir @code{-t landscape} a las opciones de @command{dvips}. +advertencias sobre las fuentes tipográficas; son inocuas y se +pueden ignorar. Si está ejecutando @command{latex} en modo de dos +columnas, recuerde añadir @option{-t landscape} a las opciones de +@command{dvips}. + +Entornos tales como: + +@example +\begin@{lilypond@} @dots{} \end@{lilypond@} +@end example + +@noindent +no se interpretan por parte de @LaTeX{}. En su lugar, el programa +@code{lilypond-book} extrae estos @q{entornos} como archivos +independientes y ejecuta LilyPond sobre ellos. Después, toma las +imágenes resultantes y crea un archivo @file{.tex} en el que los +macros @code{\begin@{lilypond@}}@dots{}@code{\end@{lilypond@}} se +sustituyen por instrucciones de @q{inserción de gráficos}. A +continuación, se ejecuta @LaTeX{} (aunque @LaTeX{} se ha ejecutado +anteriormente, lo habrá sido sobre un archivo @q{vacío} para +calcular cosas como el @code{\linewidth}). + +@knownissues + +La instrucción @code{\pageBreak} no funciona dentro de un entorno +@code{\begin@{lilypond@} @dots{} \end@{lilypond@}}. + +Muchas variables del bloque @code{\paper} tampoco funcionan dentro +de un entorno @code{\begin@{lilypond@} @dots{} \end@{lilypond@}}. +Use @code{\newcommand} con @code{\betweenLilyPondSystem} en el +preámbulo: + +@example +\newcommand@{\betweenLilyPondSystem@}[1]@{\vspace@{36mm@}\linebreak@} +@end example + @subsubheading Texinfo Para producir un documento de Texinfo (en cualquier formato de -salida), siga el procedimiento normal para Texinfo, esto es: o bien -llame a @command{texi2pdf} o a @command{texi2dvi} o a -@command{makeinfo}, según el formato de la salida que quiera crear. +salida), siga el procedimiento normal para Texinfo, esto es: o +bien llame a @command{texi2pdf} o a @command{texi2dvi} o a +@command{makeinfo}, según el formato de la salida que quiera +crear. @ifinfo -@xref{Format with texi2dvi, , , texinfo, GNU Texinfo}, y @ref{Creating -an Info File, , , texinfo, GNU Texinfo}. +@xref{Format with texi2dvi, , , texinfo, GNU Texinfo}, y +@ref{Creating an Info File, , , texinfo, GNU Texinfo}. @end ifinfo @ifnotinfo Consulte la documentación de Texinfo para ver más detalles. @@ -888,17 +1050,18 @@ Consulte la documentación de Texinfo para ver más detalles. @subheading Opciones de la línea de órdenes -@command{lilypond-book} acepta las siguientes opciones de la línea de -órdenes: +@command{lilypond-book} acepta las siguientes opciones de la línea +de órdenes: @table @code @item -f @var{formato} @itemx --format=@var{formato} -Especificar el tipo del documento que se va a procesar: @code{html}, -@code{latex}, @code{texi} (predeterminado) o @code{docbook}. Si falta -esta opción, @command{lilypond-book} tratará de detectar el formato -automáticamente, véase @ref{Extensiones de nombres de archivo}. Por el -momento, @code{texi} es lo mismo que @code{texi-html}. +Especificar el tipo del documento que se va a procesar: +@code{html}, @code{latex}, @code{texi} (predeterminado) o +@code{docbook}. Si falta esta opción, @command{lilypond-book} +tratará de detectar el formato automáticamente, véase +@ref{Extensiones de nombres de archivo}. Por el momento, +@code{texi} es lo mismo que @code{texi-html}. @c This complicated detail is not implemented, comment it out -jm @ignore @@ -910,8 +1073,8 @@ version, the format @code{texi-html} must be used instead. @item -F @var{filtro} @itemx --filter=@var{filtro} Conducir los fragmentos a través de @var{filter} por medio de una -tubería. @code{lilypond-book} no obedecerá --filter y --process al -mismo tiempo. Por ejemplo, +tubería. @code{lilypond-book} no obedecerá --filter y --process +al mismo tiempo. Por ejemplo, @example lilypond-book --filter='convert-ly --from=2.0.0 -' mi-libro.tely @@ -924,83 +1087,112 @@ Imprimir un breve mensaje de ayuda. @item -I @var{directorio} @itemx --include=@var{directorio} Añadir @var{directorio} a la ruta de inclusión. -@command{lilypond-book} busca también los fragmentos ya compilados en -la ruta de inclusión, y no los vuelve a escribir en el directorio de -salida, así que en ciertos casos es necesario invocar instrucciones de -procesado posteriores como @command{makeinfo} o @command{latex} con -las mismas opciones @code{-I @var{directorio}}. +@command{lilypond-book} busca también los fragmentos ya compilados +en la ruta de inclusión, y no los vuelve a escribir en el +directorio de salida, así que en ciertos casos es necesario +invocar instrucciones de procesado posteriores como +@command{makeinfo} o @command{latex} con las mismas opciones +@option{-I @var{directorio}}. + +@item -l @var{nivel_de_registro} +@itemx --loglevel=@var{nivel_de_registro} +Fijar el nivel en que la salida es prolija, al valor +@var{nivel_de_registro}. Los valores posibles son @code{NONE} +(nada), @code{ERROR} (errores), @code{WARNING} (advertencias), +@code{PROGRESS} (avance; predeterminado) y @code{DEBUG} +(depuración). Si esta opción no se utiliza, y la variable de +entorno @code{LILYPOND_BOOK_LOGLEVEL} está establecida, se usa su +valor como el nivel de registro. @item -o @var{directorio} @itemx --output=@var{directorio} -Colocar los archivos generados en el @var{directorio}. La ejecución -de @command{lilypond-book} genera montañas de pequeños archivos que -luego procesará LilyPond. Para evitar toda esta parafernalia en el -mismo directorio que la fuente, utilice la opción @option{--output}, y -cambie a este directorio antes de ejecutar @command{latex} o -@command{makeinfo}. +Colocar los archivos generados en el @var{directorio}. La +ejecución de @command{lilypond-book} genera montañas de pequeños +archivos que luego procesará LilyPond. Para evitar toda esta +parafernalia en el mismo directorio que la fuente, utilice la +opción @option{--output}, y cambie a este directorio antes de +ejecutar @command{latex} o @command{makeinfo}. @example lilypond-book --output=out miarchivo.lytex cd out -... +@dots{} @end example -@itemx --skip-lily-check -Evitar el fracaso si no se encuentra ninguna salida de lilypond. Se -usa para la documentación de LilyPond en formato Info sin imágenes. - -@itemx --skip-png-check -Evitar el fracaso si no se encuentran las imágenes PNG de los archivos -EPS. Se usa para la documentación de LilyPond en formato Info sin +@item --skip-lily-check +Evitar el fracaso si no se encuentra ninguna salida de lilypond. +Se usa para la documentación de LilyPond en formato Info sin imágenes. -@itemx --lily-output-dir=@var{directorio} -Escribir archivos lily-XXX en el directorio @var{directorio}, enlazar -en el directorio de @code{--output}. Use esta opción para ahorrar -tiempo de construcción para documentos de distintos directorios que -comparten muchos fragmentos idénticos de código. - -@itemx --info-images-dir=@var{directorio} +@item --skip-png-check +Evitar el fracaso si no se encuentran las imágenes PNG de los +archivos EPS. Se usa para la documentación de LilyPond en formato +Info sin imágenes. + +@item --lily-output-dir=@var{directorio} +Escribir archivos lily-XXX en el directorio @var{directorio}, +enlazar en el directorio de @option{--output}. Use esta opción +para ahorrar tiempo de construcción para documentos de distintos +directorios que comparten muchos fragmentos idénticos de código. + +@item --lily-loglevel=@var{nivel_de_registro} +Fijar el nivel en que la salida es prolija para las llamadas de la +instrucción invocada @command{lilypond}, al valor +@var{nivel_de_registro}. Los valores posibles son @code{NONE} +(nada), @code{ERROR} (errores), @code{WARNING} (advertencias), +@code{BASIC_PROGRESS} (avance básico), @code{PROGRESS} (avance), +@code{INFO} (información; predeterminado) y @code{DEBUG} +(depuración). Si no se utiliza esta opción y la variable de +entorno @code{LILYPOND_LOGLEVEL} está establecida, su valor se usa +como nivel de registro. + + +@item --info-images-dir=@var{directorio} Dar formato a la salida de Texinfo de manera que Info busque las imágenes de música en @var{directorio}. -@itemx --latex-program=@var{prog} -Ejecutar el programa @command{prog} en vez de @command{latex}. Esto -es útil si nuestro documento se procesa con @command{xelatex}, por -ejemplo. +@item --latex-program=@var{prog} +Ejecutar el programa @command{prog} en vez de @command{latex}. +Esto es útil si nuestro documento se procesa con +@command{xelatex}, por ejemplo. -@itemx --left-padding=@var{cantidad} -Rellenar las cajas EPS en esta medida, alrededor. @var{cantidad} se -mide en milímetros, y es 3.0 como valor predeterminado. Esta opción -se debe usar si las líneas de música están muy pegadas al margen -derecho. - -El ancho de un sistema que está muy ajustado dentro de su rectángulo -puede variar, debido a los elementos de notación que están pegados al -margen izquierdo, como los números de compás y el nombre del -instrumento. Esta opción acorta todas las líneas y las mueve a la -derecha en la misma medida. +@item --left-padding=@var{cantidad} +Rellenar las cajas EPS en esta medida, alrededor. @var{cantidad} +se mide en milímetros, y es 3.0 como valor predeterminado. Esta +opción se debe usar si las líneas de música están muy pegadas al +margen derecho. +El ancho de un sistema que está muy ajustado dentro de su +rectángulo puede variar, debido a los elementos de notación que +están pegados al margen izquierdo, como los números de compás y el +nombre del instrumento. Esta opción acorta todas las líneas y las +mueve a la derecha en la misma medida. @item -P @var{instrucción} @itemx --process=@var{instrucción} -Procesar los fragmentos de LilyPond utilizando @var{instrucción}. La -instrucción predeterminada es @code{lilypond}. @code{lilypond-book} -no obedecerá a @code{--filter} y a @code{--process} al mismo tiempo. +Procesar los fragmentos de LilyPond utilizando @var{instrucción}. +La instrucción predeterminada es @code{lilypond}. +@code{lilypond-book} no obedecerá a @option{--filter} y a +@option{--process} al mismo tiempo. @item --pdf Crear archivos PDF para su uso con PDF@LaTeX{}. -@itemx --use-source-file-names +@item --redirect-lilypond-output +De forma predeterminada, la salida se imprime por la consola. +Esta opción redirecciona toda la salida hacia archivos de registro +situados en el mismo directorio que los archivos fuente. + +@item --use-source-file-names Escribir los archivos de salida de los fragmentos de música con el -mismo nombre de base que su archivo fuente. Esta opción sólo funciona -para fragmentos incluidos con @code{lilypondfile} y sólo si los -directorios determinados por las opciones @code{--output-dir} y -@code{--lily-output-dir} son distintos. +mismo nombre de base que su archivo fuente. Esta opción sólo +funciona para fragmentos incluidos con @code{lilypondfile} y sólo +si los directorios determinados por las opciones +@option{--output-dir} y @option{--lily-output-dir} son distintos. @item -V @itemx --verbose -Ser prolijo. +Ser prolijo. Equivale a @code{--loglevel=DEBUG}. @item -v @itemx --version @@ -1010,8 +1202,8 @@ Imprimir la información de la versión. @knownissues La instrucción de Texinfo @code{@@pagesizes} no se interpreta. De -forma similar, las instrucciones de @LaTeX{} que cambian los márgenes -y anchos de línea después del preámbulo se ignoran. +forma similar, las instrucciones de @LaTeX{} que cambian los +márgenes y anchos de línea después del preámbulo se ignoran. Sólo se procesa el primer @code{\score} de un bloque LilyPond. @@ -1020,18 +1212,20 @@ Sólo se procesa el primer @code{\score} de un bloque LilyPond. @section Extensiones de nombres de archivo @translationof Filename extensions -Puede usar cualquier extensión para el nombre del archivo de entrada, -pero si no usa la extensión recomendada para un formato en particular -tendrá que especificar manualmente el formato de salida; para ver más -detalles, consulte @ref{Invocar lilypond-book}. En caso contrario, -@command{lilypond-book} selecciona automáticamente el formato de -salida basándose en la extensión del nombre del archivo de entrada. +Puede usar cualquier extensión para el nombre del archivo de +entrada, pero si no usa la extensión recomendada para un formato +en particular tendrá que especificar manualmente el formato de +salida; para ver más detalles, consulte @ref{Invocar +lilypond-book}. En caso contrario, @command{lilypond-book} +selecciona automáticamente el formato de salida basándose en la +extensión del nombre del archivo de entrada. @quotation @multitable @columnfractions .2 .5 @item @strong{extensión} @tab @strong{formato de salida} @item @item @file{.html} @tab HTML +@item @file{.htmly} @tab HTML @item @file{.itely} @tab Texinfo @item @file{.latex} @tab @LaTeX{} @item @file{.lytex} @tab @LaTeX{} @@ -1044,20 +1238,22 @@ salida basándose en la extensión del nombre del archivo de entrada. @end multitable @end quotation -Si usa la misma extensión para el archivo de entrada que la que usa -@command{lilypond-book} para el archivo de salida, y si el archivo de -entrada está en el mismo directorio que el directorio de trabajo de -@command{lilypond-book}, debe usar la opción @code{--output} para que -funcione @command{lilypond-book}, pues en caso contrario saldrá con un -mensaje de error como @qq{La salida sobreescribirá al archivo de -entrada}. +Si usa la misma extensión para el archivo de entrada que la que +usa @command{lilypond-book} para el archivo de salida, y si el +archivo de entrada está en el mismo directorio que el directorio +de trabajo de @command{lilypond-book}, debe usar la opción +@option{--output} para que funcione @command{lilypond-book}, pues +en caso contrario saldrá con un mensaje de error como @qq{La +salida sobreescribirá al archivo de entrada}. + @node Plantillas de lilypond-book @section Plantillas de lilypond-book @translationof lilypond-book templates Estas plantillas se usan para @code{lilypond-book}. Si no está -familiarizado con este programa, consulte @rprogram{LilyPond-book}. +familiarizado con este programa, consulte +@rprogram{LilyPond-book}. @subsection LaTeX @@ -1072,8 +1268,8 @@ LaTeX. Texto normal en LaTeX. \begin@{lilypond@} -\relative c'' @{ - a4 b c d +\relative @{ + a'4 b c d @} \end@{lilypond@} @@ -1087,8 +1283,8 @@ d4 c b a @subsection Texinfo -Podemos insertar fragmentos de LilyPond dentro de Texinfo; de hecho, -todo el presente manual está escrito en Texinfo. +Podemos insertar fragmentos de LilyPond dentro de Texinfo; de +hecho, todo el presente manual está escrito en Texinfo. @example \input texinfo @c -*-texinfo-*- @@ -1098,7 +1294,7 @@ todo el presente manual está escrito en Texinfo. Texto en Texinfo @@lilypond -\relative c' @{ +\relative @{ a4 b c d @} @@end lilypond @@ -1125,8 +1321,11 @@ d4 c b a Los documentos para lilypond-book pueden mezclar música y texto libremente. Por ejemplo, -\relative c'' @{ - a4 b c d +\relative @{ + a'4 b c d +@} + +

Otro poco de lilypond, esta vez con opciones: @@ -1168,11 +1367,12 @@ a4 b c d \maketitle Las instrucciones \textbf{font} normales dentro del \emph{texto} -funcionan, porque \textsf{están contempladas por \LaTeX{} y XeteX.} -Si queremos usar instrucciones específicas como \verb+\XeTeX+, debemos -incluirlas de nuevo dentro de un entorno \verb+\ifxetex+. Podemos -utilizar esto para imprimir la instrucción \ifxetex \XeTeX{} \else -XeTeX \fi que no es conocida para el \LaTeX\ normal. +funcionan, porque \textsf{están contempladas por \LaTeX{} y +XeteX.} Si queremos usar instrucciones específicas como +\verb+\XeTeX+, debemos incluirlas de nuevo dentro de un entorno +\verb+\ifxetex+. Podemos utilizar esto para imprimir la +instrucción \ifxetex \XeTeX{} \else XeTeX \fi que no es conocida +para el \LaTeX\ normal. Dentro del texto normal podemos utilizar instrucciones de LilyPond fácilmente, de esta forma: @@ -1185,8 +1385,8 @@ fácilmente, de esta forma: y así sucesivamente. La fuente tipográfica de los fragmentos, establecida con LilyPond, -tendrá que establecerse desde dentro del fragmento. Para esto puede -leer la parte de lilypond-book en el manual de utilización. +tendrá que establecerse desde dentro del fragmento. Para esto +puede leer la parte de lilypond-book en el manual de utilización. \selectlanguage{ngerman} Auch Umlaute funktionieren ohne die \LaTeX -Befehle, wie auch alle @@ -1197,11 +1397,118 @@ unterst__tzt werden. @end verbatim +@node Compartir el índice general +@section Compartir el índice general +@translationof Sharing the table of contents + +Estas funciones ya existen en el paquete OrchestralLily: + +@example +@url{http://repo.or.cz/w/orchestrallily.git} +@end example + +Para conseguir más flexibilidad en el manejo del texto, algunos +usuarios prefieren exportar la el índice general o tabla de +contenidos desde lilypond y leerla dentro de @LaTeX{}. + +@subsubheading Exportación del índice general desde LilyPond + +Esto supone que nuestra partitura tiene varios movimientos dentro +del mismo archivo de salida de lilypond. + +@smallexample +#(define (oly:create-toc-file layout pages) + (let* ((label-table (ly:output-def-lookup layout 'label-page-table))) + (if (not (null? label-table)) + (let* ((format-line (lambda (toc-item) + (let* ((label (car toc-item)) + (text (caddr toc-item)) + (label-page (and (list? label-table) + (assoc label label-table))) + (page (and label-page (cdr label-page)))) + (format #f "~a, section, 1, @{~a@}, ~a" page text label)))) + (formatted-toc-items (map format-line (toc-items))) + (whole-string (string-join formatted-toc-items ",\n")) + (output-name (ly:parser-output-name)) + (outfilename (format "~a.toc" output-name)) + (outfile (open-output-file outfilename))) + (if (output-port? outfile) + (display whole-string outfile) + (ly:warning (_ "Unable to open output file ~a for the TOC information") outfilename)) + (close-output-port outfile))))) + +\paper @{ + #(define (page-post-process layout pages) (oly:create-toc-file layout pages)) +@} +@end smallexample + +@subsubheading Importación del índice general dentro de LaTeX + +En LaTeX, la cabecera debe incluir lo siguiente: + +@c no, this doesn't require the smallexample, but since the other +@c two blocks on this page use it, I figured I might as well +@c user it here as well, for consistency. -gp +@smallexample +\usepackage@{pdfpages@} +\includescore@{nombredelapartitura@} +@end smallexample + +@noindent +donde @code{\includescore} está definido como: + +@smallexample +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \includescore@{PossibleExtension@} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Leer las entradas del índice general para un archivo PDF +% a partir del archivo .toc correspondeiente. +% Esto requiere bastantes trucos de latex, porque leer cosas de un archivo +% e insertarlo dentro de los argumentos de un macro no es posible +% fácilmente. + +% Solución de Patrick Fimml en el canal #latex el 18 de abril de 2009: +% \readfile@{filename@}@{\variable@} +% lee el contenido del archivo en \variable (no definida si el +% archivo no existe) +\newread\readfile@@f +\def\readfile@@line#1@{% +@{\catcode`\^^M=10\global\read\readfile@@f to \readfile@@tmp@}% +\edef\do@{\noexpand\g@@addto@@macro@{\noexpand#1@}@{\readfile@@tmp@}@}\do% +\ifeof\readfile@@f\else% +\readfile@@line@{#1@}% +\fi% +@} +\def\readfile#1#2@{% +\openin\readfile@@f=#1 % +\ifeof\readfile@@f% +\typeout@{No TOC file #1 available!@}% +\else% +\gdef#2@{@}% +\readfile@@line@{#2@}% +\fi +\closein\readfile@@f% +@}% + + +\newcommand@{\includescore@}[1]@{ +\def\oly@@fname@{\oly@@basename\@@ifmtarg@{#1@}@{@}@{_#1@}@} +\let\oly@@addtotoc\undefined +\readfile@{\oly@@xxxxxxxxx@}@{\oly@@addtotoc@} +\ifx\oly@@addtotoc\undefined +\includepdf[pages=-]@{\oly@@fname@} +\else +\edef\includeit@{\noexpand\includepdf[pages=-,addtotoc=@{\oly@@addtotoc@}] +@{\oly@@fname@}@}\includeit +\fi +@} +@end smallexample + + @node Métodos alternativos para mezclar texto y música @section Métodos alternativos para mezclar texto y música @translationof Alternate methods of mixing text and music -Otras formas de mezclar texto y música (sin @command{lilypond-book}) -se estudian en @ref{Insertar la salida de LilyPond dentro de otros programas}. - - +Otras formas de mezclar texto y música (sin +@command{lilypond-book}) se estudian en @ref{Otros programas}.