+Esta sección contiene información adicional sobre el uso de LilyPond
+en la línea de órdenes. Esta forma puede ser preferible para pasarle
+al programa algunas opciones adicionales. Además, existen algunos
+programas complementarios @q{de apoyo} (como @code{midi2ly}) que sólo
+están disponibles en la línea de órdenes.
+
+Al hablar de la @q{línea de órdenes}, nos referimos a la consola del
+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{Setup for MacOS X}.
+
+La descripción del uso de esta parte de los sistemas operativos se
+sale del ámbito de este manuual; le rogamos que consulte otros
+documentos sobre este tema si no le resulta familiar la línea de
+órdenes.
+
+@menu
+* Invoking lilypond::
+* Command line options for lilypond::
+* Environment variables::
+@end menu
+
+@node Invoking lilypond
+@subsection Invoking @command{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:
+
+@example
+lilypond [@var{opción}]@dots{} @var{archivo}@dots{}
+@end example
+
+Cuando se invoca con un nombre de archivo sin extensión, se prueba en
+primer lugar con la extensión @file{.ly}. Para leer la entrada desde
+stdin, utilice un guión (@code{-}) en sustitución de @var{archivo}.
+
+Cuando se procesa @file{archivo.ly}, la salida resultante son los
+archivos @file{archivo.ps} y @file{archivo.pdf}. Se pueden
+especificar varios archivos; cada uno de ellos se procesará de forma
+independiente@footnote{El estado de GUILE no se restablece después de
+procesar un archivo @code{.ly}, por lo que debe tener cuidado de no
+modificar ningún valor predeterminado desde dentro de Scheme.}.
+
+Si @file{archivo.ly} contiene más de un bloque @code{\score}, el resto
+de las partituras se obtendrán como salida en archivos numerados,
+empezando por @file{archivo-1.pdf}. además, el valor de
+@code{output-suffix} (sufijo de salida) se insertará entre el nombre
+base y el número. Un archivo de entrada que contenga
+
+@example
+#(define output-suffix "violin")
+\book @{ @dots{} @}
+#(define output-suffix "cello")
+\book @{ @dots{} @}
+@end example
+
+@noindent
+producirá como salida @var{base}@file{-violin.pdf} y
+@var{base}@file{-cello-1.pdf}.
+
+
+@node Command line options for lilypond
+@subsection Command line options for @command{lilypond}
+
+Están contempladas las siguientes opciones:
+
+@table @code
+
+@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
+evaluarán en secuencia.
+
+La expresión se evaluará en el módulo @code{guile-user}, de manera que
+si quiere usar definiciones dentro de @var{expresión}, debe utilizar
+
+@example
+lilypond -e '(define-public a 42)'
+@end example
+
+@noindent
+en la línea de órdenes, e incluir
+
+@example
+#(use-modules (guile-user))
+@end example
+
+@noindent
+al principio del archivo @code{.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}.
+
+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 alimentándo 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). Vuelca cada
+página como un archivo @file{SVG} distinto, 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
+
+
+
+@item -h,--help
+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).
+
+@item --ps
+Generar PostScript.
+
+@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
+
+@item --pdf
+Generar PDF. Implica @code{--ps}.
+
+@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
+LilyPond está disponible a través de un servidor web o cuando LilyPond
+ejecuta archivos fuente procedentes del exterior.