@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: e18567dccce0f16b680e6b7e562329e5f8bcae59
+ Translation of GIT committish: 2055f35c47a045a50a01ff4dba8524322cfc3b48
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.14.0"
@node Ejecutar LilyPond
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
* Invocar a LilyPond::
* Opciones de la línea de órdenes para lilypond::
* Variables de entorno::
+* LilyPond en una jaula de chroot::
@end menu
@node Invocar a LilyPond
@var{base}@file{-cello-1.pdf}.
+@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 de la línea de órdenes para lilypond
@unnumberedsubsec Opciones de la línea de órdenes para @command{lilypond}
@translationof Command line options for lilypond
@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
@cindex safe, línea de órdenes
@item safe
-No confiar en la entrada @code{.ly}.
+No confiar en la entrada @file{.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
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}.
+@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{}.
@item -H,--header=@var{CAMPO}
Volcar un campo de cabecera al archivo @file{NOMBREBASE.@var{CAMPO}}
+@cindex archivos, búsqueda de
+@cindex búsqueda, ruta de
@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
+
+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 -i,--init=@var{archivo}
Establecer el archivo de inicio a @var{archivo} (predeterminado:
@file{init.ly}).
-@item -o,--output=@var{ARCHIVO}
+@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}. Se añade el sufijo correspondiente (por ejemplo,
-@code{.pdf} para PDF).
+@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.
@item --ps
Generar PostScript.
Selecciona el idioma de los mensajes de advertencia.
@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}.
@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
* 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 La música se sale de la página
@unnumberedsubsec Aparece un pentagrama de más
@translationof An extra staff appears
-Si no se crean los contextos explícitamente con @code{\new}, 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.
+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
@lilypond[quote,verbatim]
\repeat unfold 2 {
- \relative c' { c d e f }
+ \relative c' { c4 d e f }
}
@end lilypond
-La forma correcta es invertir el orden de las instrucciones
-@code{\repeat} y @code{\relative}, así:
+El problema se resuelve instanciando el contexto @code{Voice}
+explícitamente:
@lilypond[quote,verbatim]
-\relative c' {
- \repeat unfold 2 { c d e f }
+\new Voice {
+ \repeat unfold 2 {
+ \relative c' { c4 d e f }
+ }
}
@end lilypond
@node Error aparente en ../ly/init.ly
-@unnumberedsubsubsec Error aparente en @code{../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 @code{../ly/init.ly} si el archivo de entrada no está
+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 @ref{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.
+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,
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{Explicación de la letra}.
+@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
@node Mensaje de error Unbound variable %
-@unnumberedsubsubsec 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
(@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
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
+\override VerticalAxisGroup #'staff-affinity = ##f
+@end example
+@noindent
+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}.