Opciones avanzadas de línea de órdenes para LilyPond

La opción -d es la interfaz de la línea de órdenes a la función de Scheme de LilyPond ly:set-option. Esto significa que todas las opciones que se relacionan aquí pueden establecerse también dentro de los propios archivos .ly.

-d, --define-default=opción[=valor]
-d, --define-default=no-opción

Fijar el símbolo interno de Scheme equivalente opción a valor. Por ejemplo, la opción de línea de órdenes

-dbackend=svg

equivale a

#(ly:set-option 'backend 'svg)

dentro de un archivo de entrada de LilyPond.

Si no se proporciona el valor, usar #t como valor (lo que puede producir resultados extraños cuando el tipo esperado para el valor no es booleano). Se puede añadir el prefijo no- a la opción para ‘desactivar’ una opción, aportando #f como valor. Por ejemplo,

-dpoint-and-click='#f'

es lo mismo que

-dno-point-and-click

[Observe que el carácter ‘#’ introduce un comentario en muchos shells. Por este motivo se recomienda siempre entrecomillar las expresiones que lo contengan.]

La siguiente tabla relaciona todos los nombres de opción junto con sus valores. Dentro del código de Scheme, los valores de opción se pueden leer usando la función ly:get-option.

anti-alias-factor número

Generar el gráfico a mayor resolución (usando el factor número) y reducir la escala para evitar el pixelado en las imágenes PNG. Predeterminado: 1.0.

aux-files bool

Si bool es #t, crear archivos .tex, .texi y .count cuando se usa con la opción de backend eps. Predeterminado: #t.

backend símbolo

Usar símbolo como backend para la salida de LilyPond. Los valores posiboles son:

ps

Es el ajuste predeterminado. Los archivos de PostScript incluyen las fuentes TTF, Type1 y OTF. No se genera ningún ‘subconjunto’ de dichas fuentes tipográficas. Advierta que el uso de conjuntos de caracteres ‘orientales’ como el japonés puede dar lugar a archivos de tamaño muy grande.

Para la salida PDF se utiliza también el backend ps; los datos PS resultantes se post-procesan mediante el guión ps2pdf de Ghostscript, que también efectúa subconjuntos de fuentes de manera predeterminada.

svg

Gráficos vectoriales escalables. Por cada página de la salida, se crea un solo archivo SVG. Los glifos musicales se codifican como gráficos vectoriales, pero las fuentes tipográficas del texto no se incrustan en los archivos SVG. Cualquier visor de SVG necesita que las fuentes de texto correspondientes estén disponibles para la correcta representación tanto del texto como de la letra. Se recomienda no utilizar ‘alias’ ni ‘listas’ de fuentes tipográficas por si el visor de SVG no es capaz de manejarlas. Al usar archivos de fuente abierta para la web Web Open Font Format (WOFF), es necesario indicar la opción -dsvg-woff

clip-systems bool

Si bool es #t, extraer fragmentos de música de la partitura. Requiere que la función clip-regions esté definida dentro del bloque \layout. Véase Extracción de fragmentos de música. No se extrae ningún fragmento si se usa con la opción -dno-print-pages. Predetermiadno: #f.

crop bool

Si bool es #t, incorporar toda la música con sus títulos y encabezamientos, sin márgenes, en un archivo de salida de ‘una sola página’. Predeterminado: #f.

datadir

Prefijo de los archivos de datos. Esta opción es de solo lectura; su establecimiento no tiene ningún efecto.

debug-skylines bool

Si bool es #t, efectuar una depuración de las líneas de horizonte. Predeterminado: #f.

delete-intermediate-files bool

Si bool es #t, eliminar los archivos intermedios .ps inútiles que se crean durante la compilación. Predeterminado: #t.

embed-source-code bool

Si bool es #t, empotrar los archivos de entrada en código de LilyPond dentro del documento PDF generado. Predeterminado: #f.

eps-box-padding número

Rellenar el borde izquierdo de la caja contenedora (bounding box) del EPS de salida en número milímetros. Predeterminado: #f (que significa que no se rellena la caja contenedora).

font-export-dir cadena

Fijar el directorio para la exportación de fuentes tipográficas como archivos de PostScript a cadena. Esto es de utilidad cuando queremos crear primero un PDF sin las fuentes incrustadas, e incrustar más tarde las fuentes con Ghostscript como se ve más abajo.

$ lilypond -dfont-export-dir=fontdir -dgs-never-embed-fonts foo.ly
$ gs -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite \
     -sOutputFile=foo.embedded.pdf foo.pdf fontdir/*.font.ps

Nota: a diferencia de font-ps-resdir, este método no puede empotrar las fuentes CID con Ghostscript 9.26 y posteriores.

Nota: de la misma manera que font-ps-resdir, esta opción se salta las fuentes TrueType porque el empotrado de fuentes TrueType produce un desbaratamiento de los caracteres. Para evitar este dessbaratabiento, use gs-never-embed-fonts, pues a pesar de su nombre esta opción empotra las fuentes TrueType.

Predeterminado: #f (que significa no exportar).

font-ps-resdir cadena

Fijar el directorio (como cadena) para construir un subconjunto del directorio de recursos PostScript y usarlo para empotrar las fuentes más tarde. Esto es útil si queremos crear primero un PDF sin las fuentes empotradas y empotrar las fuentes más tarde con Ghostscript como se ve más abajo.

$ lilypond -dfont-ps-resdir=resdir -dgs-never-embed-fonts foo.ly
$ gs -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite \
     -I resdir -I resdir/Font \
     -sOutputFile=foo.embedded.pdf foo.pdf

Nota: es mejor no especificar el directorio que contiene el nombre Resource porque este tiene un significado especial al especificarlo con la opción -I para Ghostscript.

Nota: a diferencia de font-export-dir, este método puede empotrar fuentes CID con Ghostscript 9.26 y posteriores.

Nota: de igual manera que font-export-dir, esta opción se salta las fuentes TrueType porque el empotrado tardío de fuentes TrueType causa un desbaratamiento de los caracteres. Para evitar el desbaratamiento, use gs-never-embed-fonts, ya que este empotra las fuentes TrueType a pesar de su nombre.

Predeterminado: #f (que significa no construir).

gs-load-fonts bool

Si bool es #t, cargar fuentes a través de Ghostscript. Esta opción hace que los archivos de salida de LilyPond solo contenga referencias a todas las fuentes, lo que debe después resolverse a las fuentes reales en un paso de post-procesado por medio de Ghostscript. Predeterminado: #f.

gs-load-lily-fonts bool

Si bool es #t, cargar las fuentes de LilyPond por medio de Ghostscript. Esta opción hace que los archivos de salida de LilyPond contengan solamente referencias a sus fuentes de música, lo que debe después resolverse a las fuentes reales en un paso de post-procesado por medio de Ghostscript. Todas las demás fuentes se dirigen a la salida como es habitual. Predeterminado: #f.

gs-never-embed-fonts bool

Si bool es #t, hacer que Ghostscript incruste solamente tipos de letra TrueType y ningún otro formato de fuente. Predeterminado: #f.

help bool

Si bool es #t, mostrar esta ayuda. Predeterminado: #f.

include-book-title-preview bool

Si bool es #t, incluir los títulos de libro en las imágenes de vista previa. Predeterminado: #t.

include-eps-fonts bool

Si bool es #t, incluir las fuentes tipográficas en los archivos EPS de cada uno de los sistemas. Predeterminado: #t.

include-settings cadena

Incluir el archivo cadena de ajustes globales, que se incluye antes de que la partitura se procese Predeterminado: #f (que significa que no se incluye ningún archivo de ajustes globales).

job-count número

Procesar en paralelo, utilizando número tareas. Predeterminado: #f (que significa que no se hace ningún procesado paralelo).

log-file cadena

Redirigir la salida hacia el archivo de registro cadena.log. Predeterminado: #f (que significa ningún archivo de registro).

max-markup-depth número

Fijar la profundidad máxima del árbol de marcado al valor número. Si un elemento de marcado tiene más niveles, suponer que no va a finalizar por sí mismo, imprimir un mensaje de advertencia y devolver un elemento de marcado nulo en su lugar. Predeterminado: 1024.

midi-extension cadena

Fijar la extensión de archivo predeterminada para los archivos MIDI de salida a .cadena. Predeterminado: "midi".

music-strings-to-paths bool

Si bool es #t, converir las cadenas de texto a trayectos cuando los glifos pertenecen a una fuente musical. Predeterminado: #f.

paper-size extra-quoted-string

Establecer el tamaño predeterminado de papel a extra-quoted-string. Observe que la cadena se debe encerrar dentro de comillas con prefijo de escape. Predeterminado: "\"a4\"".

pixmap-format symbol

Establecer el formato de salida de Ghostscript para las imágenes de matriz de puntos a symbol. Predeterminado: png16m.

point-and-click bool

Si bool es #t, añadir enlaces de ‘apuntar y pulsar’ links a las salidas de PDF y SVG. Véase Apuntar y pulsar. Predeterminado: #t.

preview bool

Si bool es #t, crear imágenes de vista previa además de la salida normal. Predeterminado: #f.

Esta opción está contemplada por todos los ‘back-ends’ (pdf, png, ps, eps y svg), excepto scm. Para un nombre de archivo de entrada archivo y un backend formato, genera un archivo de salida, con el nombre archivo.preview.formato, que contiene los títulos y el primer sistema de la música. Si se están utilizando bloques \book o \bookpart, aparecen en la salida los títulos de \book, \bookpart o \score, incluido el primer sistema de cada bloque \score si la variable de \paper print-all-headers está fijada al valor #t.

Para suprimir la salida usual, utilice las opciones -dprint-pages o -dno-print-pages según sus necesidades.

print-pages bool

Si bool es #t, generar páginas completas. Predeterminado: #t.

La opción -dno-print-pages es útil en combinación con las opciones -dpreview o -dcrop.

protected-scheme-parsing bool

Si bool es #t, continuar cuando se interceptan errores en el código empotrado de Scheme dentro del analizador sintáctico. Si se establece al valor #f, detenerse cuando se produzca algún error e imprimir una traza de la pila. Predeterminado: #t.

relative-includes bool

Cuando se procesa una instrucción \include, buscar el archivo de inclusión en una ruta relativa al archivo actual si bool es #t. Si se establece a #f, buscar el archivo según una ruta relativa al archivo raíz. Predeterminado: #t.

resolution número

Fijar la resolución para generar imágenes de matriz de puntos PNG a número ppp. Predeterminado: 101.

safe #f

No confiar en la entrada .ly.

Cuando el servicio de tipografía está disponible a través de un servidor web, SE DEBEN pasar las opciones -dsafe o --jail. La opción -dsafe evita que el código de Scheme empotrado pueda producir un desastre, p.ej.:

% demasiado peligroso para escribirlo correctamente
#(s ystem "rm -rf /")
% malicioso pero no destructivo
{ c4^$(ly:gulp-file "/etc/passwd") }

La opción -dsafe funciona evaluando las expresiones de Scheme en línea dentro de un módulo seguro especial. Deriva del módulo safe-r5rs de Guile, pero además añade unas cuantas funciones de la API de LilyPond que están relacionadas en scm/safe-lily.scm.

Además, el modo seguro prohíbe las directivas \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.

La opción -dsafe 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 --jail es una alternativa más segura aún, pero requiere más trabajo para su configuración. Véase Opciones básicas de la línea de órdenes para LilyPond.

separate-log-files bool

Para los archivos de entrada archivo1.ly, archivo2.ly, …, dar salida a datos de registro hacia los archivos archivo1.log, archivo2.log, …, si bool es #t. Predeterminado: #f.

show-available-fonts bool

Si bool es #t, imprimir un listado de los nombres de fuente tipográfica disponibles tal y como los proporciona la biblioteca fontconfig. Al final de esta lista, LilyPond presenta los ajustes de configuración del propio fontconfig. Predeterminado: #f.

strip-output-dir bool

Si bool es #t, no utilizar la parte del directorio tomada de las rutas de los archivos cuando se construyen nombres de archivos de salida. Predeterminado: #t.

strokeadjust bool

Si bool es #t, forzar el ajuste de los trazos de PostScript. Esta opción es relevante principalmente cuando se genera un PDF a partir de la salida de PostScript (el ajuste del trazo está por lo general activado automáticamente para dispositivos de mapa de puntos de baja resolución). Sin esta opción, los visores de PDF tienden a producir anchuras de plica muy poco consistentes con las resoluciones típicas de las pantallas de ordenador. Sin embargo, la opción no afecta de forma muy significativa a la calidad de la impresión y causa grandes incrementos en el tamaño del archivo PDF. Predeterminado: #f.

svg-woff bool

Esta opción es necesaria al usar archivos de fuente abierta para la Web, Web Open Font Format (WOFF) con el backend svg. Si bool es #t, se crea un solo archivo SVG para cada página de salida. Aparte de los glifos musicales propios de LilyPond, no se incluye ninguna otra información de fuente tipográfica. Todo visor de SVG necesita, por ello, tener las fuentes disponibles para la representación correcta tanto del texto como de la letra. Asimismo se recomienda no usar alias de fuentes ni listas, por si el visor de SVG no es capaz de manejarlos. Predeterminado: #f.

verbose

Nivel de verbosidad. Esta es una opción de solo lectura; su establecimiento no tiene ningún efecto.

warning-as-error bool

Si bool es #t, cambiar todos los mensajes de advertencia y de ‘error de programación’ a errores. Predeterminado: #f.


LilyPond: manual de utilización del programa v2.25.21 (rama de desarrollo).