X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fes%2Fusage%2Frunning.itely;h=eb17cbf331593409c229fbe7fdd7c7053a1310ca;hb=ac1f5ee6bc66e39e4fec27434ebb7c7300bab71e;hp=cdaa99e5bc09ad81e652a7e69214b627f9731990;hpb=aa8523e4fa16352a1708065e447aac65426d82a4;p=lilypond.git diff --git a/Documentation/es/usage/running.itely b/Documentation/es/usage/running.itely index cdaa99e5bc..eb17cbf331 100644 --- a/Documentation/es/usage/running.itely +++ b/Documentation/es/usage/running.itely @@ -1,13 +1,14 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @ignore - Translation of GIT committish: 45945bd973aa9161b10e3f517902afb7ef4b4a56 + Translation of GIT committish: c610645cc9a77cba1a2798280965db142d649ac5 When revising a translation, copy the HEAD committish of the - version that you are working on. See TRANSLATION for details. + 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.15.18" @node Ejecutar LilyPond @@ -21,8 +22,7 @@ LilyPond. * Utilización normal:: * Utilización desde la línea de órdenes:: * Mensajes de error:: -* Actualizar ficheros con convert-ly:: -* Informar de fallos:: +* Errores comunes:: @end menu @@ -49,7 +49,8 @@ sistema operativo. Los usuarios de Windows posiblemente estén más familiarizados con los términos @q{ventana de MS-DOS} o @q{línea de comandos}; Los usuarios de MacOS@tie{}X puede que estén más familiarizados con los términos @q{terminal} o @q{consola}. Éstos -deberían consultar también el apartado @ref{Configuración para MacOS X}. +podrían requerir algunas configuraciones adicionales y deberían +consultar también el apartado @rweb{MacOS X}. La descripción del uso de esta parte de los sistemas operativos se sale del ámbito de este manual; le rogamos que consulte otros @@ -58,18 +59,16 @@ documentos sobre este tema si no le resulta familiar la línea de @menu * Invocar a LilyPond:: -* Opciones de la línea de órdenes para lilypond:: +* Opciones básicas de la línea de órdenes para LilyPond:: +* Opciones avanzadas de línea de órdenes para LilyPond:: * Variables de entorno:: +* LilyPond en una jaula de chroot:: @end menu @node Invocar a LilyPond -@subsection Invocar @command{lilypond} +@unnumberedsubsec Invocar @command{lilypond} @translationof Invoking lilypond -@cindex invocar @command{lilypond} -@cindex opciones de la línea de órdenes para @command{lilypond} -@cindex órdenes, opciones de la línea de - El ejecutable @command{lilypond} se puede llamar desde la línea de órdenes de la siguiente manera: @@ -106,17 +105,52 @@ producirá como salida @var{base}@file{-violin.pdf} y @var{base}@file{-cello-1.pdf}. -@node Opciones de la línea de órdenes para lilypond -@subsection Opciones de la línea de órdenes para @command{lilypond} -@translationof Command line options for lilypond +@unnumberedsubsubsec Instrucciones estándar de la línea de órdenes + +Si su terminal (o ventana de órdenes) contempla las redirecciones +normales, quizá le sean de utilidad las siguientes instrucciones para +redirigir la salida de la consola a un archivo: + +@itemize + +@item +@code{lilypond archivo.ly 1>salidaestandar.log} para redirigir la salida normal + +@item +@code{lilypond archivo.ly 2>salidadeerror.log} para redirigir los mensajes de error + +@item +@code{lilypond archivo.ly &>todo.log} para redirigir toda la salida + +@end itemize + +Consulte la documentación de su shell para ver si contempla estas +opciones, o si la sintaxis es distinta. Observe que son instrucciones +del shell y que no tienen nada que ver con lilypond. + + +@node Opciones básicas de la línea de órdenes para LilyPond +@unnumberedsubsec Opciones básicas de la línea de órdenes para LilyPond +@translationof Basic command line options for LilyPond + +@cindex invocación de @command{lilypond} +@cindex opciones de la línea de órdenes para @command{lilypond} +@cindex línea de órdenes, opciones de +@cindex modificadores Están contempladas las siguientes opciones: @table @code +@item -d,--define-default=@var{variable}=@var{valor} +Véase @ref{Opciones avanzadas de línea de órdenes para LilyPond}. + +@cindex Scheme, evaluación de expresiones +@cindex expresiones de Scheme, evaluación + @item -e,--evaluate=@var{expresión} Evaluar la @var{expresión} de Scheme antes de analizar los archivos -@file{.ly}. Se pueden pasar varias opciones @code{-e}, que se +@file{.ly}. Se pueden pasar varias opciones @option{-e}, que se evaluarán en secuencia. La expresión se evaluará en el módulo @code{guile-user}, de manera que @@ -134,150 +168,18 @@ en la línea de órdenes, e incluir @end example @noindent -al principio del archivo @code{.ly}. +al principio del archivo @file{.ly}. -@item -f,--format=@var{formato} -Formato de la salida. Como @code{formato} se puede elegir entre -@code{svg}, @code{ps}, @code{pdf} y @code{png}. +@warning{Los usuarios de Windows deben utilizar comillas dobles en lugar de apóstrofos simples.} -Ejemplo: @code{lilypond -fpng @var{archivo}.ly} - -@item -d,--define-default=@var{variable}=@var{valor} -Establece la opción interna del programa @var{variable} al valor de -Scheme @var{valor}. Si no se proporciona ningún @var{valor}, se usa -@var{#t}. Para desactivar una opción se puede anteponer @code{no-} a -la @var{variable}, p.ej.: - -@cindex apuntar y pulsar, línea de órdenes - -@example --dno-point-and-click -@end example - -@noindent -es lo mismo que -@example --dpoint-and-click='#f' -@end example - -A continuación veremos algunas opciones interesantes. - -@table @samp -@item help -La ejecución de @code{lilypond -dhelp} imprimirá todas las opciones -@code{-d} que están disponibles. - -@item paper-size -Esta opción establece el tamaño predeterminado del papel, -@example --dpaper-size=\"letter\" -@end example - -@noindent -Observe que la cadena se debe incluir dentro de comillas escapadas -( @code{\"} ). - -@c Match " in previous line to help context-sensitive editors - -@item safe -No confiar en la entrada @code{.ly}. - -Cuando el proceso de tipografía de LilyPond se encuentra disponible a -través de un servidor web, @b{SE DEBEN} pasar las opciones -@code{--safe} (seguro) o @code{--jail} (jaula). La opción -@code{--safe} evita que el código de Scheme en línea arme un desastre, -por ejemplo - -@quotation -@verbatim -#(system "rm -rf /") -{ - c4^#(ly:export (ly:gulp-file "/etc/passwd")) -} -@end verbatim -@end quotation - -La opción @code{-dsafe} funciona evaluando las expresiones en línea de -Scheme dentro de un módulo especial seguro. Este módulo seguro deriva -del módulo GUILE @file{safe-r5rs}, pero añade ciertas funciones del -API de LilyPond. Estas funciones se relacionan en -@file{scm/@/safe@/-lily@/.scm}. - -Además, el modo seguro prohíbe las directivas @code{\include} e -inhabilita el uso de barras invertidas en las cadenas de @TeX{}. - -En el modo seguro, no es posible la importación de variables de -LilyPond dentro de Scheme. - -@code{-dsafe} @emph{no} detecta la sobreutilización de recursos. Aún -es posible hacer que el programa se cuelgue indefinidamente, por -ejemplo alimentando el backend con estructuras de datos cíclicas. Por -tanto, si se está utilizando LilyPond sobre un servidor web accesible -públicamente, el proceso debe limitarse tanto en el uso de CPU como de -memoria. - -El modo seguro impide que muchos fragmentos útiles de código de -LilyPond se puedan compilar. La opción @code{--jail} es una -alternativa más segura, pero su preparación requiere más trabajo. - -@cindex salida, establecer el formato de -@item backend -el formato de salida que usar para el back-end o extremo final. -Para el @code{formato} se puede elegir entre -@table @code -@item ps -@cindex PostScript, salida -para PostScript. - -Los archivos PostScript incluyen las tipografías TTF, Type1 y OTF. No -se seleccionan subconjuntos de estas tipografías. Cuando se usan -conjuntos de caracteres orientales, esto puede dar lugar a archivos -enormes. - -@item eps - para obtener PostScript encapsulado. Esto vuelca cada una de las -páginas/sistemas como un archivo @file{EPS} distinto, sin tipografías, -y como un solo archivo @file{EPS} encuadernado con todas las -páginas/sistemas con las tipografías incluidas. - -Este modo se usa de forma predeterminada por parte de -@command{lilypond-book}. - -@item svg -@cindex SVG (Scalable Vector Graphics) - para obtener SVG (gráficos vectoriales escalables). - -Crea un único archivo SVG que contiene toda la salida de música, con -las tipografías incrustadas. Se necesita un visor de SVG que -contemple las tipografías incrustadas, o un visor de SVG que pueda -sustituir las tipografías incrustadas por tipografías OTF. Bajo UNIX, -puede usar @uref{http://www.inkscape.org,Inkscape} (versión 0.42 o -posterior), después de copiar las tipografías OTF del directorio de -LilyPond (que normalmente es -@file{/usr/share/lilypond/VERSIÓN/fonts/otf/}) al directorio -@file{~/.fonts/}. - -@item scm -@cindex Scheme, volcado de - para obtener un volcado de las instrucciones internas de dibujo -basadas en Scheme, en bruto. -@item null - no producir una salida impresa; tiene el mismo efecto que @code{-dno-print-pages}. -@end table - -Ejemplo: @code{lilypond -dbackend=svg @var{archivo}.ly} - -@item preview -Generar un archivo de salida que contenga solamente los títulos de -cabecera y el primer sistema de la primera página. - -@item print-pages -Generar las páginas completas, el ajuste predeterminado. -@code{-dno-print-pages} es útil en combinación con @code{-dpreview}. - -@end table +@cindex output, format +@cindex format, output +@item -f,--format=@var{format} +which formats should be written. Choices for @code{format} are +@code{ps}, @code{pdf}, and @code{png}. +Example: @code{lilypond -fpng @var{filename}.ly} @item -h,--help Mostrar un resumen de las formas de utilización. @@ -285,59 +187,50 @@ Mostrar un resumen de las formas de utilización. @item -H,--header=@var{CAMPO} Volcar un campo de cabecera al archivo @file{NOMBREBASE.@var{CAMPO}} -@item --include, -I=@var{directorio} -Añadir el @var{directorio} a la ruta de búsqueda de archivos de -entrada. -@cindex archivos, búsqueda de -@cindex búsqueda, ruta de - @item -i,--init=@var{archivo} Establecer el archivo de inicio a @var{archivo} (predeterminado: @file{init.ly}). -@item -o,--output=@var{ARCHIVO} -Establecer el nombre del archivo de salida predeterminado a -@var{ARCHIVO}. Se añade el sufijo correspondiente (por ejemplo, -@code{.pdf} para PDF). +@cindex archivos, búsqueda de +@cindex búsqueda, ruta de -@item --ps -Generar PostScript. +@item -I, --include=@var{directorio} +Añadir el @var{directorio} a la ruta de búsqueda de archivos de +entrada. -@item --png -Generar imágenes de las páginas en formato PNG. Esto implica -@code{--ps}. La resolución en PPP de la imagen se puede establecer -con -@example --dresolution=110 -@end example +Se pueden escribir varias opciones -I. La búsqueda se inicia en el +primer directorio definido, y si el archivo que se debe incluir no se +encuentra, la búsqueda continúa en los directorios siguientes. -@item --pdf -Generar PDF. Implica @code{--ps}. +@cindex chroot, ejecutar dentro de una jaula @item -j,--jail=@var{usuario},@var{grupo},@var{jaula},@var{directorio} Ejecutar @command{lilypond} en una jaula de chroot. -La opción @code{--jail} (jaula) proporciona una alternativa más -flexible a la opción @code{--safe} cuando el proceso de tipografía de +La opción @option{--jail} (jaula) proporciona una alternativa más +flexible a la opción @option{-dsafe} cuando el proceso de tipografía de LilyPond está disponible a través de un servidor web o cuando LilyPond -ejecuta archivos fuente procedentes del exterior. +ejecuta instrucciones enviadas por fuentes externas +(véase @ref{Opciones avanzadas de línea de órdenes para LilyPond}). -La opción @code{--jail} funciona cambiando la raíz de +La opción @option{--jail} funciona cambiando la raíz de @command{lilypond} a @var{jaula} justo antes de comenzar el proceso de compilación en sí. Entonces se cambian el usuario y el grupo a los que se han dado en la opción, y el directorio actual se cambia a @var{directorio}. Esta instalación garantiza que no es posible, al menos en teoría, escapar de la jaula. Observe que para que funcione -@code{--jail} se debe ejecutar @command{lilypond} como root, lo que +@option{--jail}, se debe ejecutar @command{lilypond} como root, lo que normalmente se puede hacer de una forma segura utilizando @command{sudo}. -La instalación de una jaula es un asunto algo delicado, pues debemos -asegurarnos de que LilyPond puede encontrar @emph{dentro de la jaula} -todo lo que necesita para poder compilar la fuente. Una configuración -típica consta de los siguientes elementos: +La instalación de una jaula puede ser un asunto relativamente +complejo, pues debemos asegurarnos de que LilyPond puede encontrar +@emph{dentro} de la propia jaula todo lo que necesita para poder +compilar la fuente. Una típica configuración de jaula de chroot +consta de los siguientes elementos: @table @asis + @item Preparar un sistema de archivos separado Se debe crear un sistema de archivos separado para LilyPond, de forma que se pueda montar con opciones seguras como @code{noexec}, @@ -369,14 +262,84 @@ archivos faltan. @item Ejecutar LilyPond Dentro de una jaula montada con @code{noexec} es imposible ejecutar ningún programa externo. Por tanto, LilyPond se debe ejecutar con un -backend que no necesite tal programa. Como ya mencionamos, también se +backend que no necesite tal programa. Como ya hemos mencionado, se debe ejecutar con privilegios del superusuario (que por supuesto -perderá inmediatamente), posiblemente usando @command{sudo}. Es buena -idea limitar el número de segundos de tiempo de CPU que LilyPond puede -usar (p.ej., usando @command{ulimit -t}), y, si su sistema operativo -lo contempla, el tamaño de la memoria que se puede reservar. +perderá inmediatamente), posiblemente usando @command{sudo}. También +es una práctica recomendable limitar el número de segundos de tiempo +de CPU que LilyPond puede usar (p.ej., usando +@command{ulimit@tie{}-t}), y, si su sistema operativo lo contempla, el +tamaño de la memoria que se puede reservar. Véase también +@ref{LilyPond en una jaula de chroot}. + @end table +@cindex loglevel +@cindex registro, nivel de +@cindex salida prolija, fijar el nivel + +@item -l,--loglevel=@var{LEVEL} +Fijar el grado en que la salida de consola es prolija al nivel +@var{LEVEL}. Los valores posibles son: + +@table @code + +@item NONE +Ninguna salida en absoluto, ni siquiera mensajes de error. + +@item ERROR +Solamente mensajes de error, no advertencias o indicaciones de progreso. + +@item WARN +Advertencias y mensajes de error, no de progreso. + +@item BASIC_PROGRESS +Mensajes de progreso básicos (éxito), advertencias y errores. + +@item PROGRESS +Todos los mensajes de progreso, advertencias y errores. + +@item INFO (predeterminado) +Mensajes de progreso, advertencias, errores e información de ejecución +adicional. + +@item DEBUG +Todos los mensajes posibles, incuida la información de depuración +prolija. +@end table + +@cindex carpeta, dirigir la salida hacia +@cindex salida, establecer el nombre del archivo de + +@item -o,--output=@var{ARCHIVO} o @var{CARPETA} +Establecer el nombre del archivo de salida predeterminado a +@var{ARCHIVO} o, si existe una carpeta con ese nombre, dirigir la +salida hacia @var{CARPETA}, tomando el nombre de archivo del documento +de entrada. Se añade el sufijo correspondiente (por ejemplo, +@code{.pdf} para PDF) en los dos casos. + +@cindex PS (Postscript), salida +@cindex Postscript (PS), salida +@cindex salida, PS (Postscript) + +@item --ps +Generar PostScript. + +@cindex PNG (Portable Network Graphics), salida +@cindex salida, PNG (Portable Network Graphics) + +@item --png +Generar imágenes de las páginas en formato PNG. Esto implica +@option{--ps}. La resolución en PPP de la imagen se puede establecer +con +@example +-dresolution=110 +@end example + +@cindex PDF (formato de documento portátil), salida de +@cindex salida, PDF (formato de documento portátil) + +@item --pdf +Generar PDF. Implica @option{--ps}. @item -v,--version Mostrar la información de la versión. @@ -388,13 +351,392 @@ leen, y dar información cronométrica. @item -w,--warranty Mostrar la garantía con que viene GNU LilyPond (¡no viene con @strong{NINGUNA GARANTÍA}!). + +@end table + + +@node Opciones avanzadas de línea de órdenes para LilyPond +@unnumberedsubsec Opciones avanzadas de línea de órdenes para LilyPond +@translationof Advanced command line options for LilyPond + +@table @code + +@item -d@var{[option-name]}=@var{[value]},--define-default=@var{[option-name]}=@var{[value]} +Establece la función de Scheme interna equivalente a @var{valor}. Si +no se proporciona ningún @var{valor}, se usa el valor predeterminado. +Para desactivar una opción se puede anteponer @code{no-} a la +@var{variable}, p.ej.: + +@cindex point and click, command line + +@example +-dno-point-and-click +@end example + +@noindent +is the same as +@example +-dpoint-and-click=#f +@end example @end table +@noindent Están contempladas las siguientes opciones junto a sus respectivos +valores predeterminados: + +@multitable @columnfractions .33 .16 .51 +@item @strong{Símbolo} +@tab @strong{Valor} +@tab @strong{Explicación/Opciones} + +@item @code{anti-alias-factor} (factor de antialias) +@tab @code{1} +@tab Renderizar a mayor resolución (utilizando el factor dado) y reducir la +escala del resultado para así evitar @q{escaleras} en las imágenes +@code{PNG}. + +@item @code{aux-files} (archivos auxiliares) +@tab @code{#t} +@tab Crear archivos @code{.tex}, @code{.texi}, @code{.count} en el +@q{back-end} @code{EPS}. + +@item @code{backend} +@tab @code{'ps} +@tab Seleccionar un @q{back-end}. Los archivos (la opción predeterminada) +incluyen las fuentes tipográficas @code{TTF}, @code{Type1} y +@code{OTF}. No se hace ningún subconjunto de estas fuentes. El uso +de conjuntos de caracteres @q{orientales} puede dar lugar a archivos +muy grandes. + +@item +@tab @code{'eps} +@tab PostScript encapsulado. Vuelca cada página o sistema como un archivo +@file{EPS} distinto, sin fuentes tipográficas, y como un archivo +@file{EPS} encuadernado con todas las páginas o sistemas que incluye +las fuentes. Utilizado como opción predeterminada por parte de +@command{lilypond-book}. + +@item +@tab @code{'null} +@tab No producir ninguna partitura impresa a la salida; tiene el mismo +efecto que @code{-dno-print-pages}. + +@item +@tab @code{'svg} +@tab Grácifos vectoriales escalables. Crea un solo archivo @code{SVG}, sin +fuentes tipográficas incrustadas, por cada página de salida. Se +recomienda instalar las fuentes Century Schoolbook, incluidas con la +instalación de LilyPond, para un renderizado óptimo. Bajo UNIX, +bastará con que copie estaos archivos de fuente del directorio de +LilyPond (normalmente @file{/usr/share/lilypond/VERSION/fonts/otf/}) +al directorio @file{~/.fonts/}. La salida @code{SVG} debería ser +compatible con cualquier editor o cliente de SVG. También hay una +opción @code{svg-woff} (véase más abajo) para usar los archivos de +fuente woff en el @q{back-end} SVG. + +@item +@tab @code{'scm} +@tab Volcado de las instrucciones de dibujo internas basadas en Scheme, en +bruto. + +@item @code{check-internal-types} +@tab @code{#f} +@tab Comprobar el tipo de cada asignación de propiedades. + +@item @code{clip-systems} (recortar los sistemas) +@tab @code{#f} +@tab Generar fragmentos de imagen recortados de una partitura. + +@item @code{datadir} (directorio de datos) +@tab +@tab Prefijo de los archivos de datos (sólo lectura). + +@item @code{debug-gc} +@tab @code{#f} +@tab Volcar estadísticas de depuración de memoria. + +@item @code{debug-gc-assert-parsed-dead} +@tab @code{#f} +@tab Para la depuración de memoria: asegurarse de que todas las referencias +a objetos analizados están muertas. Es una opción interna, y se +activa automáticamente para @code{`-ddebug-gc'}. + +@item @code{debug-lexer} +@tab @code{#f} +@tab Depuración del analizador léxico flex. + +@item @code{debug-page-breaking-scoring} +@tab @code{#f} +@tab Volcar las partituras para muchas configuraciones de saltos de página +diferentes. + +@item @code{debug-parser} +@tab @code{#f} +@tab Depuración del analizador sintáctico bison. + +@item @code{debug-property-callbacks} +@tab @code{#f} +@tab Depuración de las cadenas cíclicas de funciones de callback. + +@item @code{debug-skylines} +@tab @code{#f} +@tab Depuración de las líneas de horizonte. + +@item @code{delete-intermediate-files} +@tab @code{#t} +@tab Eliminar los archivos intermedios @code{.ps} inútiles ques e crean +durante la compilación. + +@item @code{dump-cpu-profile} +@tab @code{#f} +@tab Volcar información de cuenta de tiempo (dependiente del sistema). + +@item @code{dump-profile} +@tab @code{#f} +@tab Volcar de la información de memoria y de tiempo para cada archivo. + +@item @code{dump-signatures} +@tab @code{#f} +@tab Volcar las firmas de salida de cada sistema. Usado para las pruebas +de regresión. + +@item @code{eps-box-padding} +@tab @code{#f} +@tab Rellenar el borde izquierdo de la caja contenedora del EPS de salida +en la cantidad dada (en mm). + +@item @code{gs-load-fonts} +@tab @code{#f} +@tab Cargar las fuentes tipográficas a través de Ghostscript. + +@item @code{gs-load-lily-fonts} +@tab @code{#f} +@tab Cargar sólo las fuentes de LilyPond por medio de Ghostscript. + +@item @code{gui} +@tab @code{#f} +@tab Se ejecuta silenciosamente y se redirige toda la salida a un archivo +de registro. +@end multitable + +@noindent +@strong{Nota para los usuarios de Windows:} De manera predeterminada, +@code{lilypond.exe} dirige toda la salida de la información de avance +hacia la ventana de consola, @code{lilypond-windows.exe} no lo hace y +devuelve un indicador del sistema, sin ninguna indicación del avance, +inmediatamente en la línea de órdenes. La opción @option{-dgui} se +puede usar en este caso para redirigir la salida a un archivo de +registro. + +@multitable @columnfractions .33 .16 .51 +@item @code{help} +@tab @code{#f} +@tab Mostrar esta ayuda. + +@item @code{include-book-title-preview} +@tab @code{#t} +@tab Incluir los títulos de libro en las imágenes de vista previa. + +@item @code{include-eps-fonts} +@tab @code{#t} +@tab Incluir las fuentes tipográficas en los archivos EPS de cada uno de +los sistemas. + +@item @code{include-settings} +@tab @code{#f} +@tab Incluir el archivo de los ajustes globales, se incluye antes de que la +partitura se procese. + +@item @code{job-count} +@tab @code{#f} +@tab Procesar en paralelo, usando el número de tareas dado. + +@item @code{log-file} +@tab @code{#f [file]} +@tab Si se da una cadena @code{NOMBRE} como segundo argumento, +redirigir la salida al archivo de registro @code{NOMBRE.log}. + +@item @code{max-markup-depth} +@tab @code{1024} +@tab Profundidad máxima del árbol de marcado. Si un marcado tiene más niveles, +suponer que no terminará por sí mismo, imprimiento una advertencia y +devolviendo en su lugar un elemento de marcado nulo. + +@item @code{midi-extension} +@tab @code{"midi"} +@tab Fijar la extensión de archivo predeterminada para el archivo de salida +MIDI a la cadena dada. + +@item @code{music-strings-to-paths} +@tab @code{#f} +@tab Convertir las cadenas de texto a rutas cuando los glifos pertenecen a +una fuente de tipografía musical. + +@item @code{old-relative} +@tab @code{#f} +@tab Hacer que el modo @code{\relative} para la música simultánea funcione +de manera similar a la sintaxis de los acordes. + +@item @code{paper-size} +@tab @code{\"a4\"} +@tab Establecer el tamaño predeterminado del papel. Observe que la cadena +debe ir encerrada entre comillas dobles. + +@item @code{pixmap-format} +@tab @code{png16m} +@tab Fijar el formato de salida de Ghostscript para las imágenes de píxeles. + +@item @code{point-and-click} +@tab @code{#f} +@tab Añadir enlaces de @q{apuntar y pulsar} a la salida @code{PDF}. Véase +@ref{Apuntar y pulsar}. + +@item @code{preview} +@tab @code{#f} +@tab Crear imágenes de vista previa además de la salida normal. +@end multitable + +@noindent +Esta opción está contemplada por todos los @q{back-ends}: @code{pdf}, +@code{png}, @code{ps}, @code{eps} y @code{svg}, pero no por +@code{scm}. Genera un archivo de salida, en la forma +@code{miArchivo.preview.extensión}, que contiene los títulos y el +primer sistema de la música. Si se están utilizando bloques +@code{\book} o @code{\bookpart}, aparecen en la salida los títulos de +@code{\book}, @code{\bookpart} o @code{\score}, incluido el primer +sistema de cada bloque @code{\score} si la variable de @code{\paper} +@code{print-all-headers} está fijada al valor @code{#t}. + +Para suprimir la salida usual, utilice las opciones +@option{-dprint-pages} o @option{-dno-print-pages} según sus +necesidades. + +@multitable @columnfractions .33 .16 .51 +@item @code{print-pages} +@tab @code{#t} +@tab Generar páginas completas (es la opción predeterminada). Es útil +@option{-dno-print-pages} en combinación con @option{-dpreview}. + +@item @code{profile-property-accesses} +@tab @code{#f} +@tab Conservar las estadísticas de las llamadas de función +@code{get_property()}. + +@item @code{protected-scheme-parsing} +@tab @code{#t} +@tab Continuar cuando se captan en el analizador sintáctico errores del +Scheme empotrado. Si se fija a @code{#f}, detenerse cuando haya +errores e imprimir un registro de traza de pila. + +@item @code{read-file-list} +@tab @code{#f [archivo]} +@tab Especificar el nobmre de un archivo que contiene una lista de archivos +de entrada para procesar. + +@item @code{relative-includes} +@tab @code{#f} +@tab Cuando se procesa una instrucción @code{\include} command, buscar el +archivo incluido de forma relativa al archivo actual (en lugar del +archivo principal). + +@item @code{resolution} +@tab @code{101} +@tab Fijar la resolución para generar imágenes de píxeles @code{PNG} al +valor dado (en ppp). + +@item @code{safe} +@tab @code{#f} +@tab No confiar en la entrada @code{.ly}. +@end multitable + +@noindent +Cuando el servicio de tipografía está disponible a través de un +servidor web, @b{SE DEBEN} pasar las opciones @option{--safe} o +@option{--jail}. La opción @option{--safe} evita que el código de +Scheme monte un desastre, p.ej.: + +@quotation +@verbatim +#(system "rm -rf /") +{ + c4^$(ly:gulp-file "/etc/passwd") +} +@end verbatim +@end quotation + +La opción @option{-dsafe} funciona evaluando las expresiones de Scheme +en línea dentro de un módulo seguro especial. Deriva del módulo +@file{safe-r5rs} de GUILE, pero además añade unas cuantas funciones de +la API de LIlyPond que están relacionadas en @file{scm/safe-lily.scm}. + +Además, el modo seguro prohíbe las directivas @code{\include} y +desactiva la utilización de barras invertidas en las cadenas de +@TeX{}. Asimismo, no es posible importar variables de LilyPond dentro +de Scheme cuando se está en modo seguro. + +@option{-dsafe} @emph{no} detecta la sobreutilización de recursos, por +lo que aún es posible hacer que el programa se cuelgue +indefinidamente, por ejemplo suministrando estructuras de datos +cíclicas en el backend. Por ello, si está usando LilyPond en un +servidor web accesible públicamente, el proceso se debe limitar tanto +en el uso de memoria como de CPU. + +El modo seguro evita que se puedan compilar muchos fragmentos de +código útiles. + +La opción @option{--jail} es una aliternativa más segura aún, pero +requiere más trabajo para su configuración. Véase +@ref{Opciones básicas de la línea de órdenes para LilyPond}. + +@multitable @columnfractions .33 .16 .51 +@item @code{separate-log-files} +@tab @code{#f} +@tab Para los archivos de entrada @code{ARCHIVO1.ly}, @code{ARCHIVO2.ly}, +etc. sacar los datos de registro hacia los archivos @code{ARCHIVO1.log}, +@code{ARCHIVO2.log}, ... + +@item @code{show-available-fonts} +@tab @code{#f} +@tab Listar todos los nombres de las fuentes tipográficas disponibles. + +@item @code{strict-infinity-checking} +@tab @code{#f} +@tab Forzar una terminación abrupta si se encuentran las excepciones de +punto flotante @code{Inf} y @code{NaN}. + +@item @code{strip-output-dir} +@tab @code{#t} +@tab No usar los directorios de los archivos de entrada al construir los +nombres de los archivos de salida. + +@item @code{svg-woff} +@tab @code{#f} +@tab Usar archivos de fuente tipográfica de woff en el backend SVG. + +@item @code{trace-memory-frequency} +@tab @code{#f} +@tab Registrar el uso de células de Scheme esta cantidad de veces por +segundo. Volcar los resultados en @code{ARCHIVO.stacks} y en +@code{ARCHIVO.graph}. + +@item @code{trace-scheme-coverage} +@tab @code{#f} +@tab Registrar la cobertura de los archivos de Scheme en @code{ARCHIVO.cov}. + +@item @code{verbose} +@tab @code{#f} +@tab Salida prolija, es decir el nivel de registro en DEBUG (sólo lectura). + +@item @code{warning-as-error} +@tab @code{#f} +@tab Cambiar todos los mensajes de advertencia y de @q{error de +programación} a errores. +@end multitable + + @node Variables de entorno -@subsection Variables de entorno +@unnumberedsubsec Variables de entorno @translationof Environment variables - @cindex LANG @cindex LILYPOND_DATADIR @@ -409,9 +751,13 @@ etc. @item LANG Selecciona el idioma de los mensajes de advertencia. +@item LILYPOND_LOGLEVEL +Nivel de registro predeterminado. Si LilyPond se llama sin ningún +nivel de registro explícito (es decir, sin opción de línea de órdenes +@option{--loglevel}), se usa este valor. + @item LILYPOND_GC_YIELD -Con esta variable se puede ajustar la huella y el desempeño de -memoria. Es un porcentaje que ajusta el comportamiento de la +Una variable, como porcentaje, que ajusta el comportamiento de la administración de memoria. Con valores más altos, el programa usa más memoria; con valores más bajos, usa más tiempo de CPU. El valor predeterminado es @code{70}. @@ -419,6 +765,128 @@ predeterminado es @code{70}. @end table +@node LilyPond en una jaula de chroot +@unnumberedsubsec LilyPond en una jaula de chroot +@translationof LilyPond in chroot jail + +La preparación del servidor para que ejecute LilyPond en una jaula de +chroot es una tarea muy complicada. Los pasos están relacionados más +abajo. Los ejemplos que aparecen en cada uno de los pasos son válidos +para Ubuntu Linux, y pueden requerir el uso de @code{sudo} según +corresponda. + +@itemize + +@item Instale los paquetes necesarios: LilyPond, Ghostscript e ImageMagick. + +@item Cree un usuario nuevo con el nombre de @code{lily}: + +@example +adduser lily +@end example + +@noindent +Esto también creará un nuevo grupo para el usuario @code{lily}, y una +carpeta personal, @code{/home/lily} + +@item En la carpeta personal del usuario @code{lily}, cree un archivo para usarlo como un sistema de archivos separado: + +@example +dd if=/dev/zero of=/home/lily/loopfile bs=1k count= 200000 +@end example + +@noindent +Este ejemplo crea un archivo de 200MB para su uso como el sistema de +archivos de la jaula. + +@item Cree un dispositivo loop, haga un sistema de archivos y móntelo, +después cree una carpeta que sea escribible por el usuario +@code{lily}: + +@example +mkdir /mnt/lilyloop +losetup /dev/loop0 /home/lily/loopfile +mkfs -t ext3 /dev/loop0 200000 +mount -t ext3 /dev/loop0 /mnt/lilyloop +mkdir /mnt/lilyloop/lilyhome +chown lily /mnt/lilyloop/lilyhome +@end example + +@item En la configuración de los servidores, JAIL será @code{/mnt/lilyloop} +y DIR será @code{/lilyhome}. + +@item Cree un gran árbol de directorios dentro de la jaula copiando los +archivos necesarios, como se muestra en el guión de ejemplo que aparece +más abajo. + +Puede usar @code{sed} para crear los archivos de copia necesarios para +un ejecutable dado: + +@example +for i in "/usr/local/lilypond/usr/bin/lilypond" "/bin/sh" "/usr/bin/; \ + do ldd $i | sed 's/.*=> \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\& \ + cp -L \/\1\2 \1\2/' | sed 's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p \ + \1 \&\& cp -L \/\1\2 \1\2/' | sed '/.*=>.*/d'; done +@end example + +@end itemize + +@subheading Guión de ejemplo para Ubuntu 8.04 de 32 bits + +@example +#!/bin/sh +## aquí se fijan los valores predeterminados + +username=lily +home=/home +loopdevice=/dev/loop0 +jaildir=/mnt/lilyloop +# prefijo (¡sin la barra inicial!) +lilyprefix=usr/local +# el directorio en que lilypond se encuentra instalado en el sistema +lilydir=/$lilyprefix/lilypond/ + +userhome=$home/$username +loopfile=$userhome/loopfile +adduser $username +dd if=/dev/zero of=$loopfile bs=1k count=200000 +mkdir $jaildir +losetup $loopdevice $loopfile +mkfs -t ext3 $loopdevice 200000 +mount -t ext3 $loopdevice $jaildir +mkdir $jaildir/lilyhome +chown $username $jaildir/lilyhome +cd $jaildir + +mkdir -p bin usr/bin usr/share usr/lib usr/share/fonts $lilyprefix tmp +chmod a+w tmp + +cp -r -L $lilydir $lilyprefix +cp -L /bin/sh /bin/rm bin +cp -L /usr/bin/convert /usr/bin/gs usr/bin +cp -L /usr/share/fonts/truetype usr/share/fonts + +# Ahora la magia de copiar las bibliotecas +for i in "$lilydir/usr/bin/lilypond" "$lilydir/usr/bin/guile" "/bin/sh" \ + "/bin/rm" "/usr/bin/gs" "/usr/bin/convert"; do ldd $i | sed 's/.*=> \ + \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/' | sed \ + 's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/' \ + | sed '/.*=>.*/d'; done | sh -s + +# Los archivos compartidos para ghostscript... + cp -L -r /usr/share/ghostscript usr/share +# Los archivos compartidos para ImageMagick + cp -L -r /usr/lib/ImageMagick* usr/lib + +### Ahora, suponiendo que tenemos test.ly en /mnt/lilyloop/lilyhome, +### deberíamos poder ejecutar: +### Observe que /$lilyprefix/bin/lilypond es un guión, que establece +### un valor para LD_LIBRARY_PATH : esto es crucial + /$lilyprefix/bin/lilypond -jlily,lily,/mnt/lilyloop,/lilyhome test.ly +@end example + +@c " keep quote signs balanced for context-sensitive editors + @node Mensajes de error @section Mensajes de error @translationof Error messages @@ -456,7 +924,7 @@ esto. La causa más frecuente son las tipografías mal instaladas. @cindex error de Scheme Los errores que ocurren al ejecutar código de Scheme se interceptan por parte del intérprete de Scheme. Si se está ejecutando con las -opciones @code{-V} o @code{--verbose} (prolijo) entonces se imprime +opciones @option{-V} o @option{--verbose} (prolijo) entonces se imprime una traza de llamadas de la función ofensiva. @item Error de programación @@ -476,7 +944,7 @@ críticos. Si se topa con uno, envíe un informe de fallo. @cindex error, formato de los mensajes de -Se los errores y advertencias se pueden ligar a un punto del archivo +Si los errores y advertencias se pueden ligar a un punto del archivo de entrada, los mensajes tienen la forma siguiente: @example @@ -499,241 +967,192 @@ advertencias y errores se producen cuando ocurre algo inesperado. Si no ve un error en la línea que se indica del archivo de entrada, trate de comprobar una o dos líneas por encima de la posición indicada. +Se ofrece más información sobre los errores en la sección @ref{Errores +comunes}. + -@node Actualizar ficheros con convert-ly -@section Actualizar ficheros con @command{convert-ly} -@translationof Updating files with convert-ly +@node Errores comunes +@section Errores comunes +@translationof Common errors -@cindex actualización de un archivo de LilyPond -@cindex convert-ly +Las condiciones de error que se describen más abajo se producen con +frecuencia, aunque su causa no es obvia o fácil de encontrar. Una vez +se han visto y comprendido, se manejan sin problema. -La sintaxis del lenguaje de entrada de LilyPond se modifica de forma -habitual para simplificarla o mejorarla de distintas maneras. Como -efecto secundario, el intérprete de LilyPond a menudo ya no es -compatible con los archivos de entrada antiguos. Para poner remedio a -esto se puede utilizar el programa @command{convert-ly} para manejar -casi todos los cambios de sintaxis entre versiones de LilyPond. @menu -* Invocar convert-ly:: -* Opciones de la línea de órdenes para convert-ly:: -* Problemas con convert-ly:: +* La música se sale de la página:: +* Aparece un pentagrama de más:: +* Error aparente en ../ly/init.ly:: +* Mensaje de error Unbound variable %:: +* Mensaje de error FT_Get_Glyph_Name:: +* Advertencia sobre que las afinidades del pentagrama sólo deben decrecer:: @end menu -@node Invocar convert-ly -@subsection Invocar @command{convert-ly} -@translationof Invoking convert-ly - -@command{convert-ly} utiliza los enunciados @code{\version} de los -archivos de entrada para detectar el número de versión antiguo. En -casi todos los casos, para actualizar el archivo de entrada basta con -ejecutar - -@example -convert-ly -e miarchivo.ly -@end example - -@noindent -dentro del directorio que contiene el archivo. Con esto se actualiza -@code{miarchivo.ly} @emph{in situ} y se preserva el archivo original -@code{miarchivo.ly~}. - -Para convertir de una vez todos los archivos de entrada que hay en un -directorio, use - -@example -convert-ly -e *.ly -@end example +@node La música se sale de la página +@unnumberedsubsec La música se sale de la página +@translationof Music runs off the page + +La música que se sale de la página por el margen derecho o que aparece +exageradamente comprimida está causada casi siempre por haber +introducido una duración incorrecta para una nota, produciendo que la +nota final de un compás se extienda más allá de la línea divisoria. +Esto no es inválido si la nota final de un compás no termina sobre la +línea divisoria introducida automáticamente, pues simplemente se +supone que la nota se solapa encima del siguiente compás. Pero si se +produce una larga secuencia tales notas solapadas, la música puede +aparecer comprimida o salirse de la página porque los saltos de línea +automáticos solamente se pueden insertar al final de compases +completos, es decir, aquellos en que todas las notas terminan antes de +o justo al final del compás. + +@warning{Una duración incorrecta puede hacer que se inhiban los saltos +de línea, lo que llevaría a una sola línea de música muy comprimida o +que se salga de la página.} + +La duración incorrecta se puede encontrar fácilmente si se utilizan +comprobaciones de compás, véase @ruser{Comprobación de compás y de +número de compás}. + +Si realmente queremos tener una serie de estos compases con notas +solapadas, debemos insertar una línea divisoria invisible donde +queramos el salto de línea. Para ver más detalles, consulte +@ruser{Barras de compás}. + + +@node Aparece un pentagrama de más +@unnumberedsubsec Aparece un pentagrama de más +@translationof An extra staff appears + +Si no se crean los contextos explícitamente con @code{\new} o con +@code{\context}, se crearán discretamente tan pronto como se encuentra +una instrucción que no se puede aplicar a un contexto existente. En +partituras sencillas, la creación automática de los contextos es útil, +y casi todos los ejemplos de los manuales de LilyPond se aprovechan de +esta simplificación. Pero ocasionalmente la creación discreta de +contextos puede hacer aflorar pentagramas o partituras nuevos e +inesperados. Por ejemplo, podría esperarse que el código siguiente +hiciera que todas las notas dentro del pentagrama siguiente estuvieran +coloreadas de rojo, pero de hecho el resultado son dos pentagramas, +permaneciendo el de abajo con las notas en el color negro +predeterminado. + +@lilypond[quote,verbatim,relative=2] +\override Staff.NoteHead #'color = #red +\new Staff { a } +@end lilypond + +Esto es así porque no existe ningún contexto @code{Staff} cuando se +procesa la instrucción override de sobreescritura, se crea uno +implícitamente y la sobreescritura se aplica a éste, pero entonces la +instrucción @code{\new Staff} crea un pentagrama nuevo y distinto, en +el que se colocan las notas. El código correcto para colorear todas +las notas de rojo es + +@lilypond[quote,verbatim,relative=2] +\new Staff { + \override Staff.NoteHead #'color = #red + a +} +@end lilypond + +Como segundo ejemplo, si una instrucción @code{\relative} se escribe +dentro de una instrucción @code{\repeat}, el resultado son dos +pentagramas, el segundo desplazado respecto al primero, porque la +instrucción @code{\repeat} genera dos bloques @code{\relative}, +cada uno de los cuales crea implícitamente bloques @code{Staff} y +@code{Voice}. + +@lilypond[quote,verbatim] +\repeat unfold 2 { + \relative c' { c4 d e f } +} +@end lilypond +El problema se resuelve instanciando el contexto @code{Voice} +explícitamente: -De forma alternativa, si queremos especificar un nombre distinto para -el archivo actualizado, preservando el archivo original con el mismo -nombre, haga +@lilypond[quote,verbatim] +\new Voice { + \repeat unfold 2 { + \relative c' { c4 d e f } + } +} +@end lilypond + + +@node Error aparente en ../ly/init.ly +@unnumberedsubsec Error aparente en @code{../ly/init.ly} +@translationof Apparent error in ../ly/init.ly + +Pueden aparecer varios mensajes de error extraños acerca de errores de +sintaxis en @file{../ly/init.ly} si el archivo de entrada no está +correctamente formado, por ejemplo si no contiene llaves o comillas +correctamente emparejados. + +El error más común es la falta de una llave de cierre, (@code{@}}), al +final de un bloque @code{score}. Aquí la solución es obvia: compruebe +que el bloque @code{score} está correctamente cerrado. La estructura +correcta de un archivo de entrada está descrita en @rlearning{Cómo +funcionan los archivos de entrada de LilyPond}. Usando un editor que +resalte automáticamente las llaves correspondientes es de mucha ayuda +para evitar estos errores. + +Una segunda causa frecuente es la falta de un espacio entre la última +sílaba de un bloque lyrics (de letra) y la llave de cierre, +(@code{@}}). Sin esta separación, se considera que la llave forma +parte de la sílaba. Siempre se aconseja asegurarse de que hay +espacios antes y después de @emph{todas} las llaves. Para conocer la +importancia de este asunto al utilizar letras de canciones, consulte +@ruser{Introducir la letra}. + +Este mensaje de error también puede aparecer si se omiten las comillas +de terminación (@code{"}). En este caso, un mensaje de error +adicional debería indicar un número de línea cercano al de aquella +donde está el error. Las comillas desbalanceadas estarán por lo +general una o dos líneas por encima. + + +@node Mensaje de error Unbound variable % +@unnumberedsubsec Mensaje de error Unbound variable % +@translationof Error message Unbound variable % + +Este mensaje de error aparece al final de los mensajes de la consola o +del archivo de registro junto a un mensaje @qq{GUILE señaló un error +@dots{}} cada vez que se llame a una rutina de Scheme que +(incorrectamente) contenga un comentario @emph{de LilyPond} en lugar +de un comentario @emph{de Scheme}. + +Los comentarios de LilyPond comienzan con un símbolo de porcentaje, +(@code{%}), y no se deben utilizar dentro de las rutinas de Scheme. +Los comentarios de Scheme comienzan con punto y coma, (@code{;}). + +@node Mensaje de error FT_Get_Glyph_Name +@unnumberedsubsec Mensaje de error FT_Get_Glyph_Name +@translationof Error message FT_Get_Glyph_Name + +Este mensaje de error aparece en la salida de la consola o en el +archivo log de registro si un archivo de entrada contiene un carácter +que no es ASCII y no se ha guardado en la codificación de caracteres +UTF-8. Para ver más detalles, consulte @ruser{Codificación del +texto}. + + +@node Advertencia sobre que las afinidades del pentagrama sólo deben decrecer +@unnumberedsubsec Advertencia sobre que las afinidades del pentagrama sólo deben decrecer +@translationof Warning staff affinities should only decrease + +Esta advertencia puede aparecer si no hay ningún pentagrama en la +salida impresa, por ejemplo si sólo hay un contexto @code{ChordName} y +un contexto @code{Lyrics} como en una hoja guía de acordes. Los +mensajes de advertencia se pueden evitar haciendo que uno de los +contextos se comporte como un pentagrama, insertando @example -convert-ly miarchivo.ly > minuevoarchivo.ly +\override VerticalAxisGroup #'staff-affinity = ##f @end example -@command{convert-ly} siempre convierte al último cambio de sintaxis -que es capaz de manejar. Esto supone que el número de @code{\version} -que aparece en el archivo convertidoo suele ser más bajo que la -versión del propio programa @command{convert-ly}. - -El programa imprimirá una relación de los números de versión para los -que se han hecho conversiones. Si no se imprime ningún número de -versión, el archivo ya está actualizado. - @noindent -Los usuarios de MacOS@tie{}X pueden ejecutar esta instrucción bajo el -menú @code{Compilar > Actualizar sintaxis}. - -Los usuarios de Windows deben introducir esta instrucción en una -ventana del terminal del sistema, que se encuentra por lo general bajo -@code{Inicio > Accesorios > Símbolo del sistema}. - - -@node Opciones de la línea de órdenes para convert-ly -@subsection Opciones de la línea de órdenes para @command{convert-ly} -@translationof Command line options for convert-ly - - -En general, el programa se invoca de la manera siguiente: - -@example -convert-ly [@var{opción}]@dots{} @var{archivo}@dots{} -@end example - - -Se pueden dar las siguientes opciones: - -@table @code -@item -e,--edit -Aplicar las conversiones directamente al archivo de entrada, -modificándolo in situ. - -@item -f,--from=@var{versión_de_origen} -Establece la versión desde la que convertir. Si no aparece esta -opción, @command{convert-ly} tratará de adivinarla, basándose en el -enunciado @code{\version} del archivo. Ejemplo: @code{--from=2.10.25} - -@item -n,--no-version -Normalmente @command{convert-ly} añade un indicador @code{\version} a -la salida. La especificación de esta opción lo suprime. - -@item -s, --show-rules -Mostrar todas las conversiones conocidas y salir. - -@item --to=@var{versión_final} -Fijar la versión de destino de la conversión. De forma predeterminada -se convierte a la última versión disponible. - -@item -h, --help -Imprimir la ayuda de la utilización. -@end table - -Para actualizar fragmentos de LilyPond en archivos de texinfo, use - -@example -convert-ly --from=... --to=... --no-version *.itely -@end example - -Para ver los cambios en la sintaxis de LilyPond entre dos versiones -dadas, use - -@example -convert-ly --from=... --to=... -s -@end example - - -@node Problemas con convert-ly -@subsection Problemas con @code{convert-ly} -@translationof Problems with convert-ly - -Al ejecutar convert-ly en una ventana del Símbolo del Sistema bajo -Windows sobre un archivo que tiene espacios en el nombre o en la ruta, -es necesario encerrar todo el nombre del archivo de entrada con tres -(!) pares de comillas: - -@example -convert-ly """D:/Mis partituras/Oda.ly""" > "D:/Mis partituras/nueva Oda.ly" -@end example - -Si la orden simple @command{convert-ly -e *.ly} no funciona porque la -instrucción expandida se hace muy larga, en vez de ello la orden -@command{convert-ly} se puede poner dentro de un bucle. Este ejemplo -para UNIX actualiza todos los documentos @code{.ly} del directorio -actual - -@example -for f in *.ly; do convert-ly -e $f; done; -@end example - -En la ventana del terminal de órdenes de Windows, la instrucción -correspondiente es - -@example -for %x in (*.ly) do convert-ly -e """%x""" -@end example - -No se manejan todos los cambios en el lenguaje. Sólo se puede -especificar una opción de salida. La actualización automática de -Scheme y los interfaces Scheme de LilyPond es bastante improbable; -prepárese para trucar el código de Scheme a mano. - -@verbatim -Hay algunas cosas que convert-ly no puede manejar. He aquí una lista -de aquellas limitaciones que han dado lugar a protestas de la -comunidad. - -Se ha escogido esta estructura de informe de fallo porque convert-ly -tiene una estructura que no permite implementar de forma progresiva -todos los cambios necesarios. Así pues esto es sólo una lista de -deseos, y se incluye aquí como referencia. - -1.6->2.0: - No siempre convierte el bajo cifrado correctamente, específicamente cosas como {< ->}. El comentario de Mats sobre cómo solventar el problema: - Para poder ejecutar convert-ly - sobre él, primero sustituí todas las apariciones de '{<' a algo mudo como '{#' - y de forma similar sustituí '>}' con '&}'. Después de la conversión, pude - volver a cambiarlos de '{ #' a '{ <' y de '& }' a '> }'. - No convierte todos los marcados de texto correctamente. En sintaxis antigua, - se podían agrupar varios marcados entre paréntesis, p.ej. - -#'((bold italic) "cadena") - Esto se convierte incorrectamente en - -\markup{{\bold italic} "cadena"} - en vez del correcto - -\markup{\bold \italic "cadena"} -2.0->2.2: - No maneja \partcombine - No hace \addlyrics => \lyricsto, esto rompe algunas partituras con varias estrofas. -2.0->2.4: - \magnify no se cambia por \fontsize. - - \magnify #m => \fontsize #f, donde f = 6ln(m)/ln(2) - remove-tag no se cambia. - - \applyMusic #(remove-tag '. . .) => \keepWithTag #'. . . - first-page-number no se cambia. - - first-page-number no => print-first-page-number = ##f - Los saltos de línea en las cadenas de cabecera no se convierten. - - \\\\ como salto de línea en las cadenas de \header => \markup \center-align < - "Primera línea" "Segunda línea" > - Los terminadores de crescendo y decrescendo no se convierten. - - \rced => \! - - \rc => \! -2.2->2.4: - \turnOff (usado en \set Staff.VoltaBracket = \turnOff) no se convierte -adecuadamente. -2.4.2->2.5.9 - \markup{ \center-align <{ ... }> } se tendría que convertir en: - \markup{ \center-align {\line { ... }} } - pero ahora, falta el \line. -2.4->2.6 - Los caracteres especiales de LaTeX como $~$ en el texto no se convierten a UTF8. -2.8 - \score{} ahora debe empezar con una expresión musical. Cualquier otra cosa - (en particular, \header{}) debe ir después de la música. -@end verbatim - - -@node Informar de fallos -@section Informar de fallos -@translationof Reporting bugs - -@cindex bugs (fallos) -@cindex fallos (bugs) -@cindex informes de fallo - -Si tiene una entrada que produce una interrupción abrupta o una salida -errónea, entonces eso es un bug (fallo). Hay una lista de los fallos -actuales en nuestro rastreador de fallos de Google Code: - -@uref{http://code.google.com/p/lilypond/issues/list} - -Si descubre un error que no está en la lista, le rogamos que envíe un -informe del fallo siguiendo las instrucciones que aparecen en - -@uref{http://lilypond.org/web/devel/participating/bugs} - -Le rogamos, asimismo, que para los informes prepare y envíe ejemplos -mínimos de los fallos. No tenemos los recursos para investigar -informes que no sean lo más pequeños posible. +al comienzo. Para ver más detalles, consulte @qq{Espaciado de las +líneas que no son pautas} en @ruser{Espaciado vertical flexible dentro +de los sistemas}.