1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: ca -*-
4 Translation of GIT committish: 93d725094ee629b2d5200ab5a75b609579a62973
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. For details, see the Contributors'
8 Guide, node Updating translation committishes..
14 @node Execució del LilyPond
15 @chapter Execució del LilyPond
16 @translationof Running LilyPond
18 Aquest capítol detalla els aspectes tècnics de l'execució del
22 * Utilització normal::
23 * Utilització des de la línia d'ordres::
29 @node Utilització normal
30 @section Utilització normal
31 @translationof Normal usage
33 Gairebé tots els usuaris executen el LilyPond per mitjà d'una
34 interfície gràfica; consulteu @rlearning{Tutorial} si encara
37 @node Utilització des de la línia d'ordres
38 @section Utilització des de la línia d'ordres
39 @translationof Command-line usage
41 Aquesta secció conté informació addicional sobre l'ús del
42 LilyPond a la línia d'ordres. Aquesta forma pot ser preferible
43 per passar-li al programa algunes opcions addicionals. A més a
44 més, existeixen alguns programes complementaris @q{de suport} (com
45 ara @code{midi2ly}) que sols estan disponibles a la línia d'ordres.
47 En parlar de la @q{línia d'ordres}, ens referim a la consola del
48 sistema operatiu. Els usuaris del Windows possiblement estiguin
49 més familiaritzats amb els termes @q{finestra del MS-DOS} o
50 @q{línia de comandes}; Els usuaris del MacOS@tie{}X potser que
51 estiguin més familiaritzats amb els termes @q{terminal} o
52 @q{consola}. Aquests podrien requerir algunes configuracions
53 addicionals i haurien de consultar també l'apartat @rweb{MacOS X}.
55 La descripció de l'ús d'aquesta part dels sistemes operatius
56 excedeix l'àmbit d'aquest manual; us preguem que consulteu altres
57 documents sobre aquest tema si no us resulta familiar la línia
61 * Invocació del LilyPond::
62 * Opcions bàsiques de la línia d'ordres per al LilyPond::
63 * Opcions avançades de la línia d'ordres per al LilyPond::
64 * Variables d'entorn::
65 * El LilyPond a una gàbia de chroot::
68 @node Invocació del LilyPond
69 @unnumberedsubsec Invocació @command{lilypond}
70 @translationof Invoking lilypond
72 L'executable @command{lilypond} es pot cridar des d'una línia
73 d'ordres de la manera següent:
76 lilypond [@var{opció}]@dots{} @var{fitxer}@dots{}
79 Quan s'invoca amb un nom de fitxer sense extensió, es prova en
80 primer lloc amb la extensió @file{.ly}. Per llegir l'entrada des
81 de stdin, utilitzeu un guió (@code{-}) en substitució de @var{fitxer}.
83 Quan es processa @file{archivo.ly}, la sortida resultant són els
84 fitxers @file{fitxer.ps} i @file{fitxer.pdf}. Es poden
85 especificar diversos fitxers; cadascú d'ells es processarà de
86 forma independent@footnote{L'estat del GUILE no es restableix
87 després de processar un fitxer @code{.ly}, per la qual cosa heu de
88 tenir cura de no modificar cap valor predeterminat des de dins del
91 Si @file{fitxer.ly} conté més d'un bloc @code{\score}, la resta de
92 les partitures s'obtindran com a sortida en fitxers numerats,
93 començant per @file{fitxer-1.pdf}. A més, el valor de
94 @code{output-suffix} (sufix de sortida) s'inserirà entre el nom
95 base i el número. Un fitxer de sortida que contingui
98 #(define output-suffix "violí")
100 #(define output-suffix "violoncel")
105 produirà com a sortida @var{base}@file{-violí.pdf} i
106 @var{base}@file{-violoncel-1.pdf}.
109 @unnumberedsubsubsec Instruccions estàndard de la línia d'ordres
111 Si la vostra terminal (o finestra d'ordres) contempla les
112 redireccions normals, potser us siguin d'utilitat les següents
113 instruccions per redirigir la sortida de la consola d'un fitxer:
118 @code{lilypond fitxer.ly 1>sortidaestandard.log} per redirigir la sortida normal
121 @code{lilypond fitxer.ly 2>sortidaderror.log} per redirigir els missatges d'error
124 @code{lilypond fitxer.ly &>tot.log} per redirigir tota la sortida
128 Consulteu la documentació del vostre intèrpret d'ordres per veure
129 si contempla aquestes opcions, o si la sintaxi és diferent.
130 Observeu que són instruccions de l'intèrpret d'ordres i que no
131 tenen res a veure amb el LilyPond.
133 @node Opcions bàsiques de la línia d'ordres per al LilyPond
134 @unnumberedsubsec Opcions bàsiques de la línia d'ordres per al LilyPond
135 @translationof Basic command line options for LilyPond
137 @cindex invocació de @command{lilypond}
138 @cindex opcions de la línia d'ordres per a @command{lilypond}
139 @cindex línia d'ordres, opcions de
142 Estan contemplades les opcions següents:
146 @item -d, --define-default=@var{variable}=@var{valor}
147 Vegeu @ref{Opcions avançades de la línia d'ordres per al LilyPond}.
149 @cindex Scheme, avaluació d'expressions
150 @cindex expressions del Scheme, avaluació
152 @item -e, --evaluate=@var{expressió}
153 Avalua l'@var{expressió} del Scheme abans d'analitzar els fitxers
154 @file{.ly}. Es poden passar diverses opcions @option{-e}, que
155 s'avaluaran en seqüència.
157 L'expressió s'avaluarà al mòdul @code{guile-user}, de manera que
158 si voleu usar definicions dins d'@var{expressió}, heu d'utilitzar
161 lilypond -e '(define-public a 42)'
165 a la línia d'ordres, i incloure
168 #(use-modules (guile-user))
172 al principi del fitxer @file{.ly}.
174 @warning{Els usuaris de Windows han d'utilitzar cometes dobles en
175 comptes de cometes simples.}
177 @cindex sortida, format
178 @cindex format, sortida
180 @item -f, --format=@var{format}
181 quins formats s'han d'escriure. Les opcions per a @code{format} són
182 @code{ps}, @code{pdf}, i @code{png}.
184 Exemple: @code{lilypond -fpng @var{fitxer}.ly}
187 Mostra un resum de les formes de utilització.
189 @item -H, --header=@var{CAMP}
190 Bolca un camp de capçalera al fitxer @file{NOMBASE.@var{CAMP}}
192 @item -i, --init=@var{archivo}
193 Establir el fitxer d'inici a @var{fitxer} (predeterminat:
196 @cindex fitxers, cerca de
197 @cindex cerca, ruta de
199 @item -I, --include=@var{directori}
200 Afegir el @var{directori} a la ruta de cerca de fitxers
203 Es poden escriure diverses opcions -I. La cerca s'inicia al
204 primer directori definit, i si el fitxer que s'ha d'incloure no es
205 troba, la cerca continua als directoris següents.
207 @cindex chroot, executar dins d'una gàbia
209 @item -j, --jail=@var{usuari},@var{grup},@var{gàbia},@var{directori}
210 Executar @command{lilypond} a una gàbia de chroot.
212 L'opció @option{--jail} (gàbia) proporciona una alternativa més
213 flexible a l'opció @option{-dsafe} quan el procés de tipografia
214 del LilyPond està disponible a un servidor web o quan el LilyPond
215 executa instruccions enviades per fonts externes
216 (vegeu @ref{Opcions avançades de la línia d'ordres per al LilyPond}).
218 L'opció @option{--jail} funciona canviant l'arrel de
219 @command{lilypond} a @var{gàbia} just o abans de començar el
220 procés de compilació en sí. Si es fa això es canvien l'usuari i
221 el grup als que s'han donat a l'opció, i el directori actual es
222 canvia a @var{directori}. Aquesta instal·lació garanteix que no
223 és possible, al menys en teoria, escapar a la gàbia. Observeu que
224 perquè funcioni @option{--jail}, s'ha d'executar
225 @command{lilypond} com root, cosa que normalment es pot fer d'una
226 forma segura utilitzant @command{sudo}.
228 La instal·lació d'una gàbia pot ser un assumpte relativament
229 complex, atès que hem d'assegurar-nos que el LilyPond pot trobar
230 @emph{dins} de la pròpia gàbia tot el que necessita per poder
231 compilar la font. Una típica configuració de gàbia de chroot
232 consta dels següents elements:
236 @item Preparació d'un sistema de fitxers separat
237 S'ha de crear un sistema de fitxers separat per al LilyPond, de
238 forma que es pugui muntar amb opcions segures com @code{noexec},
239 @code{nodev} i @code{nosuid}. D'aquesta forma, és impossible
240 executar programes o escriure directament a un dispositiu des del
241 LilyPond. Si no voleu crear una partició separada, tan sols té
242 que crear un fitxer d'una mida raonable i usar-lo per muntar un
243 dispositiu loop. El sistema de fitxers separat garanteix també
244 que el LilyPond mai no pugui escriure en un espai major del què se
247 @item Preparar un usuari separat
248 Es pot usar un usuari i grup separats (diguem-ne
249 @code{lily}/@code{lily}) amb pocs privilegis per executar el
250 LilyPond dins d'una gàbia. Hauria d'existir un sols directori amb
251 permisos d'escriptura per a aquest usuari, i s'ha de passar el valor
254 @item Preparació de la gàbia
255 El LilyPond necessita llegir alguns fitxers mentre s'executa,
256 Tots aquests fitxers s'han de copiar dins de la gàbia, sota la
257 mateixa ruta en la qual apareixen al sistema de fitxers real de
258 root. Tot el contingut de la instal·lació del LilyPond (per exemple
259 @file{/usr/share/lilypond}) s'ha de copiar.
261 Si sorgeixen problemes, la forma més senzilla de rastrejar-los és
262 executar el LilyPond usant @command{strace}, cosa que li permetrà
263 determinar quins fitxers falten.
265 @item Execució del LilyPond
266 Dins d'una gàbia muntada amb @code{noexec} és impossible executar
267 cap programa extern. Per tant, el LilyPond s'ha d'executar amb un
268 backend que no necessiti un programa extern. Com ja hem
269 mencionat, s'ha d'executar amb privilegis del superusuari (que per
270 suposat perdrà immediatament), possiblement usant @command{sudo}.
271 També de CPU que el LilyPond pot usar (per exemple usant
272 @command{ulimit@tie{}-t}), i, si el vostre sistema operatiu ho
273 contempla, la mida de la memòria que es pot reservar. Vegeu també
274 @ref{El LilyPond a una gàbia de chroot}.
279 @cindex registre, nivell de
280 @cindex sortida neta, fixar el nivell
282 @item -l, --loglevel=@var{NIVELL}
283 Fixa el grau en el qual la sortida de consola és neta al nivell
284 @var{NIVELL}. Els valors possibles són:
289 Cap sortida en absolut, ni tan sols missatges d'error.
292 Sols missatges d'error, cap advertiment o indicacions de progrés.
295 Advertiments i missatges d'error, no de progrés.
298 Missatges de progrés bàsics (èxit), advertiment i errors.
301 Tots els missatges de progrés, advertiments i errors.
303 @item INFO (predeterminat)
304 Missatges de progrés, advertiments, errors i informació d'execució
308 Tots els missatges possibles, fins i tot la informació detallada de
312 @cindex carpeta, dirigir la sortida cap a
313 @cindex sortida, establir el nom del fitxer de
315 @item -o, --output=@var{FITXER} o @var{CARPETA}
316 Estableix el nom del fitxer de sortida predeterminat a
317 @var{FITXER} o, si hi ha una carpeta amb aquest nom, dirigeix la
318 sortida cap a @var{CARPETA}, agafant el nom de fitxer del
319 document d'entrada. S'afegeix el sufix corresponent (per exemple,
320 @code{.pdf} per a PDF) als dos casos.
322 @cindex PS (Postscript), sortida
323 @cindex Postscript (PS), sortida
324 @cindex sortida, PS (Postscript)
329 @cindex PNG (Portable Network Graphics), sortida
330 @cindex sortida, PNG (Portable Network Graphics)
333 Genera imatges de les pàgines en format PNG. Això implica
334 @option{--ps}. La resolució en PPP de la imatge es pot establir
340 @cindex PDF (format de document portàtil), sortida de
341 @cindex sortida, PDF (format de document portàtil)
344 Genera PDF. Implica @option{--ps}.
347 Mostra la informació de la versió.
350 Sigues detallat: mostra les rutes completes de tots els fitxers
351 que se llegeixen, i dóna informació cronomètrica.
354 Mostra la garantia del GNU LilyPond (no ve amb
355 @strong{CAP GARANTIA}!).
360 @node Opcions avançades de la línia d'ordres per al LilyPond
361 @unnumberedsubsec Opcions avançades de la línia d'ordres per al LilyPond
362 @translationof Advanced command line options for LilyPond
366 @item -d@var{[nom-de-opció]}=@var{[valor]}, --define-default=@var{[nom-de-opció]}=@var{[valor]}
367 Estableix la funció del Scheme interna equivalent a @var{valor}.
373 Si no es proporciona cap @var{valor}, s'usa el valor predeterminat
374 Per desactivar una opció es pot anteposar @code{no-} a la
375 @var{variable}, per exemple:
377 @cindex apuntar i clicar, línia d'ordres
390 @noindent Estan contemplades les següents opcions junt als seus
391 respectius valors predeterminats:
393 @multitable @columnfractions .33 .16 .51
394 @item @strong{Símbol}
396 @tab @strong{Explicació/Opcions}
398 @item @code{anti-alias-factor} (factor d'antiàlies)
400 @tab Renderitza a una major resolució (utilitzant el factor
401 donat) i redueix l'escala del resultat per així evitar
402 @q{escales} a les imatges @code{PNG}.
404 @item @code{aux-files} (fitxers auxiliars)
406 @tab Crea fitxeres @code{.tex}, @code{.texi}, @code{.count} al
407 @q{back-end} @code{EPS}.
411 @tab Selecciona un @q{rerefons}. Els fitxers (l'opció
412 predeterminada) inclouen els tipus tipogràfics de lletra @code{TTF},
413 @code{Type1} i @code{OTF}. No es fa cap subconjunt d'aquests tipus
414 de lletra. L'ús de conjunts de caràcters @q{orientals} pot
415 produir fitxers molts grans.
419 @tab PostScript encapsulat. Bolca cada pàgina o sistema com un
420 fitxer @file{EPS} diferent, sense tipus tipogràfics de lletra, i
421 com un fitxer @file{EPS} enquadernat amb totes les pàgines o
422 sistemes que inclouen els tipus de lletra. Utilitzat com a opció
423 predeterminada per part de @command{lilypond-book}.
427 @tab No produeixes cap partitura impresa a la sortida; té el
428 mateix efecte que @code{-dno-print-pages}.
432 @tab Gràfics vectorials escalables. Crea un únic fitxer
433 @code{SVG}, sense tipus tipogràfics de lletra incrustats, per a
434 cada pàgina de sortida. Es recomana instal·lar el tipus de lletra
435 Century Schoolbook, que està inclòs a la instal·lació del
436 LilyPond, per a un renderitzat òptim. Sota l'UNIX, bastarà amb
437 que copieu aquests fitxers de tipus de lletra del directori del
438 Lilypond (normalment @file{/usr/share/lilypond/VERSION/fonts/otf/})
439 al directori @file{~/.fonts/}. La sortida @code{SVG} hauria de
440 ser compatible amb qualsevol editor o client de SVG. També hi ha
441 una opció @code{svg-woff} (vegeu més avall) per usar els fitxers
442 de tipus de lletra woff al @q{rerefons} SVG.
446 @tab Bolcat de les instruccions de dibuix internes basades en
449 @item @code{check-internal-types}
451 @tab Comprova el tipus de cada assignació de propietats.
453 @item @code{clip-systems} (retalla els sistemes de pentagrames)
455 @tab Genera framents d'imatge retallats d'una partitura.
457 @item @code{datadir} (directori de dades)
459 @tab Prefix dels fitxers de dades (sols lectura).
461 @item @code{debug-gc}
463 @tab Bolca estadístiques de depuració de memòria.
465 @item @code{debug-gc-assert-parsed-dead}
467 @tab Per a la depuració de memòria: assegura't que totes les
468 referències a objectes analitzats estiguin mortes. És una opció
469 interna, i s'activa automàticament per a @code{`-ddebug-gc'}.
471 @item @code{debug-lexer}
473 @tab Depuració de l'analitzador lèxic flex.
475 @item @code{debug-page-breaking-scoring}
477 @tab Bolca les partitures per a moltes configuracions de salts de
480 @item @code{debug-parser}
482 f@tab Depuració de l'analitzador sintàctic bison.
484 @item @code{debug-property-callbacks}
486 @tab Depuració de les cadenes cícliues de funcions de callback.
488 @item @code{debug-skylines}
490 @tab Depuració de les línies de horitzó.
492 @item @code{delete-intermediate-files}
494 @tab Elimina els fitxers intermedis @code{.ps} inútils que es
495 creen durant la compilació.
497 @item @code{dump-cpu-profile}
499 @tab Bolcar informació de comptabilització del temps (dependent
502 @item @code{dump-profile}
504 @tab Bolca la informació de memòria i de temps de cada fitxer.
506 @item @code{dump-signatures}
508 @tab Bolca les signatures de sortida de cada sistema. Usat per a
509 les proves de regressió.
511 @item @code{eps-box-padding}
513 @tab Omple la vora esquerra de la capsa contenidora de l'EPS de
514 sortida en la quantitat donada (en mm).
516 @item @code{gs-load-fonts}
518 @tab Carrega els tipus tipogràfics de lletra a través del Ghostscript.
520 @item @code{gs-load-lily-fonts}
522 @tab Carrega sols els tipus de lletra del LilyPond per mitjà del
527 @tab S'executa silenciosament i es redirigeix tota la sortida a un
532 @strong{Nota per als usuaris del Windows:} De manera predeterminada,
533 @code{lilypond.exe} dirigeix tota la sortida de la informació
534 d'avenç cap a la finestra de consola, @code{lilypond-windows.exe}
535 no ho fa i retorna un indicador del sistema, sense cap indicació
536 d'avenç, immediatament en la línia d'ordres. L'opció
537 @option{-dgui} es pot usar en aquest cas per redirigir la sortida
538 a un fitxer de registre.
540 @multitable @columnfractions .33 .16 .51
543 @tab Mostra aquesta ajuda
545 @item @code{include-book-title-preview}
547 @tab Inclou els títols de llibre a les imatges de vista prèvia.
549 @item @code{include-eps-fonts}
551 @tab Incloure els tipus tipogràfics de fonts als fitxers EPS de
552 cadascú dels sistemes.
554 @item @code{include-settings}
556 @tab Inclou el fitxer dels ajustos globals, s'inclou abans que la
557 partitura es processi.
559 @item @code{job-count}
561 @tab Processa en paral·lel, usant el nombre de tasques donat.
563 @item @code{log-file}
564 @tab @code{#f [fitxer]}
565 @tab Si es dóna a una cadena @code{fitxer} como a segon argument,
566 redirigeix la sortida al fitxer de registre @code{fitxer.log}.
568 @item @code{max-markup-depth}
570 @tab Profunditat màxima de l'arbre de l'etiquetatge. Si un
571 etiquetatge té més nivells, suposa que no acabarà per sí mateix,
572 imprimint un advertiment i retornant en el seu lloc un element
575 @item @code{midi-extension}
577 @tab Fixa l'extensió de fitxer predeterminat per al fitxer de
578 sortida MIDI a la cadena donada.
580 @item @code{music-strings-to-paths}
582 @tab Converteix les cadenes de text a rutes quan els glifs
583 pertanyen a un tipus de lletra de tipografia musical.
585 @item @code{paper-size}
587 @tab Estableix la mida predeterminada del paper. Observeu que la
588 cadena ha d'anar tancada entre cometes dobles.
590 @item @code{pixmap-format}
592 @tab Fixa el format de sortida del Ghostsript per a les imatges de píxels.
594 @item @code{point-and-click}
596 @tab Afegeix enllaços d'@q{apuntar i clicar} a la sortida @code{PDF}. Vegeu
597 @ref{Point and click}.
601 @tab Crea imatges de vista prèvia a més de la sortida normal.
605 Aquesta opció està contemplada per tots els @q{rerefons}: @code{pdf},
606 @code{png}, @code{ps}, @code{eps} i @code{svg}, però no per
607 @code{scm}. Genera un fitxer de sortida, en la forma
608 @code{elmeuFitxer.preview.extensió}, que conté els títols i el
609 primer sistema de la música. Si s'estan utilitzant blocs
610 @code{\book} o @code{\bookpart}, apareixen a la sortida els títols de
611 @code{\book}, @code{\bookpart} o @code{\score}, inclòs el primer
612 sistema de cada bloc @code{\score} si la variable de @code{\paper}
613 @code{print-all-headers} està fixada al valor @code{#t}.
615 Per suprimir la sortida actual, utilitzeu les opcions
616 @option{-dprint-pages} o @option{-dno-print-pages} segons les
619 @multitable @columnfractions .33 .16 .51
620 @item @code{print-pages}
622 @tab Genera pàgines completes (és l'opció predeterminada). És útil
623 @option{-dno-print-pages} en combinació amb @option{-dpreview}.
625 @item @code{profile-property-accesses}
627 @tab Conserva les estadístiques de les crides de funció
628 @code{get_property()}.
630 @item @code{protected-scheme-parsing}
632 @tab Continua quan es capten a l'analitzador sintàctic errors del
633 Scheme encastat. Si es fixa a @code{#f}, detenir-se quan hi hagi
634 errors i imprimir un registre de traça de pila.
636 @item @code{read-file-list}
637 @tab @code{#f [fitxer]}
638 @tab Especifica el nom d'un fitxer que conté una llista de fitxers
639 d'entrada per processar.
641 @item @code{relative-includes}
643 @tab Quan es processa una instrucció @code{\include}, cerca el
644 fitxer inclòs de forma relativa al fitxer actual (enlloc del
647 @item @code{resolution}
649 @tab Fixa la resolució per generar imatges de píxels @code{PNG} al
650 valor donat (en ppp).
654 @tab No confiïs en l'entrada @code{.ly}.
658 Quan el servei de tipografia està disponible a través d'un
659 servidor web, @b{S'HAN DE} passar les opcions @option{--safe} o
660 @option{--jail}. L'opció @option{--safe} evita que el codi del
661 Scheme faci un desastre, per exemple:
667 c4^$(ly:gulp-file "/etc/passwd")
672 L'opció @option{-dsafe} funciona avaluant les expressions del
673 Scheme en línia dins d'un mòdul segur especial. Deriva del mòdul
674 @file{safe-r5rs} del GUILE, però a més afegeix unes quantes
675 funcions de l'API del LilyPond que estan relacionades en
676 @file{scm/safe-lily.scm}.
678 A més, el mode segur prohibeix les directives @code{\include} i
679 desactiva la utilització de barres invertides a les cadene de
680 @TeX{}. A més, no és possible importar variables del LilyPond
681 dins del Scheme quan s'està em mode segur.
683 @option{-dsafe} @emph{no} detecta la sobreutilitizació de
684 recursos, per la qual cosa encara és possible fer que el programa
685 es pengi indefinidament, per exemple subministrant estructures de
686 dades cícliques en el rerefons. Per això, si esteu usant el
687 LilyPond en un servidor web accessible públicament, el procés s'ha
688 de limitar tant en l'ús de memòria com de CPU.
690 El mode segur evita que es puguin compilar molts fragments de codi
693 L'opció @option{--jail} és una alternativa encara més segura, però
694 requereix més feina per a la seva configuració. Vegeu
695 @ref{Opcions bàsiques de la línia d'ordres per al LilyPond}.
697 @multitable @columnfractions .33 .16 .51
698 @item @code{separate-log-files}
700 @tab Per als fitxers d'entrada @code{FITXER1.ly},
701 @code{FITXER2.ly}, etc., treu les dades de registre cap als
702 fitxers @code{FITXER1.log}, @code{FITXER2.log}@dots{}
704 @item @code{show-available-fonts}
706 @tab Llista tots els noms dels tipus tipogràfics de lletra
709 @item @code{strict-infinity-checking}
711 @tab Força una terminació abrupta si es troben les excepcions de
712 punt flotant @code{Inf} i @code{NaN}.
714 @item @code{strip-output-dir}
716 @tab No usis els directoris dels fitxers d'entrada en construir
717 els noms dels fitxers de sortida.
719 @item @code{strokeadjust}
721 @tab Força l'ajust dels traços de PostScript. Aquesta opció és
722 rellevant principalment quan es genera un @code{PDF} a partir de
723 la sortida de PostScript (l'ajust del traç està en general activat
724 automàticament per a dispositius de mapa de punts de baixa
725 resolució). Sense aquesta opció, els visors de @code{PDF}
726 tendeixen a produir amplades de plica molt poc consistents a les
727 resolucions típiques de les pantalles d'ordinador. L'opció no
728 afecta de forma molt significativa a la qualitat de la impressió i
729 causa grans increments a la mida del fitxer @code{PDF}.
731 @item @code{svg-woff}
733 @tab Usar fitxers de tipus tipogràfic de lletra de woff al
736 @item @code{trace-memory-frequency}
738 @tab Registra l'ús de cèl·lules del Scheme aquesta quantitat de
739 vegades per segon. Bolca els resultats en @code{FITXER.stacks} i
740 en @code{FITXER.graph}.
742 @item @code{trace-scheme-coverage}
744 @tab Registra la cobertura dels fitxers del Scheme a @code{FITXER.cov}.
748 @tab Sortida detallada, és a dir el nivell de registre en DEBUT
751 @item @code{warning-as-error}
753 @tab Canvia tots els missatges d'advertiment i de @q{error de
754 programació} a errors.
758 @node Variables d'entorn
759 @unnumberedsubsec Variables d'entorn
760 @translationof Environment variables
763 @cindex LILYPOND_DATADIR
765 @command{lilypond} reconeix les següents variables d'entorn:
767 @item LILYPOND_DATADIR
768 Especifica un directori en el qual els missatges de localització i
769 de dades es buscaran de forma predeterminada. El directori ha de
770 contenir subdirectoris anomenats @file{ly/}, @file{ps/},
774 Selecciona l'idioma dels missatges d'advertiment.
776 @item LILYPOND_LOGLEVEL
777 Nivell de registre predeterminat. Si el LilyPond es crida sense
778 cap nivell de registre explícit (és a dir, sense opció de línia d'ordres
779 @option{--loglevel}), s'usa aquest valor.
781 @item LILYPOND_GC_YIELD
782 Una variable, com a percentatge, que ajusta el comportament de
783 l'administració de memòria. Amb valors més alts, el programa usa
784 més memòria; amb valors més baixos, usa més temps de CPU. El
785 valor predeterminat és @code{70}.
790 @node El LilyPond a una gàbia de chroot
791 @unnumberedsubsec El LilyPond en una gàbia de chroot
792 @translationof LilyPond in chroot jail
794 La preparació del servidor perquè executi el LilyPond a una gàbia
795 de chroot és una tasca molt complicada. Els passos estan
796 relacionats més avall. Els exemples que apareixen en cadascú dels
797 passos son vàlids per a Ubuntu GNU/Linux, i poden requerir l'ús de
798 @code{sudo} segons correspongui.
802 @item Instal·leu els paquets necessaris: el LilyPond, el Ghostscript i l'ImageMagick.
804 @item Creeu un usuari nou amb el nom de @code{lily}:
811 Això també crearà un nou grup per a l'usuari @code{lily}, i una
812 carpeta personal, @code{/home/lily}
814 @item A la carpeta personal de l'usuari @code{lily}, creeu un fitxer per usar-lo com a sistema de fitxers separat:
817 dd if=/dev/zero of=/home/lily/loopfile bs=1k count= 200000
821 Aquest exemple crea un fitxer de 200MB per al seu ús com el
822 sistema de fitxers de la gàbia.
824 @item Creeu un dispositiu loop, feu un sistema de fitxers i munteu-lo,
825 després creeu una carpeta que es pugui escriure per l'usuari
830 losetup /dev/loop0 /home/lily/loopfile
831 mkfs -t ext3 /dev/loop0 200000
832 mount -t ext3 /dev/loop0 /mnt/lilyloop
833 mkdir /mnt/lilyloop/lilyhome
834 chown lily /mnt/lilyloop/lilyhome
837 @item En la configuració dels servidors, JAIL serà @code{/mnt/lilyloop}
838 i DIR serà @code{/lilyhome}.
840 @item Creeu un gran arbre de directoris dins de la gàbia copiant els
841 fitxers necessaris, com es mostra en el guió d'exemple que apareix
844 Podeu usar @code{sed} per crear els fitxeres de còpia necessaris per a
848 for i in "/usr/local/lilypond/usr/bin/lilypond" "/bin/sh" "/usr/bin/; \
849 do ldd $i | sed 's/.*=> \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\& \
850 cp -L \/\1\2 \1\2/' | sed 's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p \
851 \1 \&\& cp -L \/\1\2 \1\2/' | sed '/.*=>.*/d'; done
856 @subheading Guió d'exemple per a l'Ubuntu 8.04 de 32 bits
860 ## aquí es fixen els valors predeterminats
864 loopdevice=/dev/loop0
865 jaildir=/mnt/lilyloop
866 # prefix (sense la barra inicial!)
868 # el directori en el qual el LilyPond es troba instal·lat en el sistema
869 lilydir=/$lilyprefix/lilypond/
871 userhome=$home/$username
872 loopfile=$userhome/loopfile
874 dd if=/dev/zero of=$loopfile bs=1k count=200000
876 losetup $loopdevice $loopfile
877 mkfs -t ext3 $loopdevice 200000
878 mount -t ext3 $loopdevice $jaildir
879 mkdir $jaildir/lilyhome
880 chown $username $jaildir/lilyhome
883 mkdir -p bin usr/bin usr/share usr/lib usr/share/fonts $lilyprefix tmp
886 cp -r -L $lilydir $lilyprefix
887 cp -L /bin/sh /bin/rm bin
888 cp -L /usr/bin/convert /usr/bin/gs usr/bin
889 cp -L /usr/share/fonts/truetype usr/share/fonts
891 # Ara la màgia de copiar les biblioteques
892 for i in "$lilydir/usr/bin/lilypond" "$lilydir/usr/bin/guile" "/bin/sh" \
893 "/bin/rm" "/usr/bin/gs" "/usr/bin/convert"; do ldd $i | sed 's/.*=> \
894 \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/' | sed \
895 's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/' \
896 | sed '/.*=>.*/d'; done | sh -s
898 # Els fitxers compartits per al ghostcript...
899 cp -L -r /usr/share/ghostscript usr/share
900 # Els fitxers compartits per a l'ImageMagick
901 cp -L -r /usr/lib/ImageMagick* usr/lib
903 ### Ara, suposant que tenim test.ly a /mnt/lilyloop/lilyhome,
904 ### hauríem de poder executar:
905 ### Observeu que /$lilyprefix/bin/lilypond és un guió, que estableix
906 ### un valor per a LD_LIBRARY_PATH : això és crucial
907 /$lilyprefix/bin/lilypond -jlily,lily,/mnt/lilyloop,/lilyhome test.ly
910 @c " keep quote signs balanced for context-sensitive editors
912 @node Missatges d'error
913 @section Missatges d'error
914 @translationof Error messages
916 @cindex error, missatges d'error
917 @cindex missatges d'error
919 Poden aparèixer diferents missatges d'error en compilar un fitxer:
925 Alguna cosa té un aspecte sospitós. Si estem demanant quelcom
926 fora del comú, entendrem el missatge i podrem ignorar-lo. Tot i
927 així, els advertiments solen indicar que alguna cosa va mal amb el
932 És clar que alguna cosa va malament. El pas actual del
933 processament (anàlisi, interpretació o format visual) es donarà
934 per acabat, però el pas següent se saltarà.
939 És clar que alguna cosa va malament, i el LilyPond no pot
940 continuar. Poques vegades passa això. La causa més freqüent són
941 els tipus de lletra mal instal·lats.
943 @item Error del Scheme
944 @cindex traça del Scheme
945 @cindex crides, traça de
946 @cindex Scheme, error de
947 @cindex error del Scheme
948 Els errors que ocorren en executar el codi del Scheme
949 s'intercepten per part de l'intèrpret del Scheme. Si s'està
950 executant amb les opcions @option{-V} o @option{--verbose}
951 (detallat) aleshores s'imprimeix una traça de crides de la funció
954 @item Error de programació
955 @cindex error de programació
956 @cindex programació, error de
957 Hi ha hagut algun tipus d'inconsistència interna. Aquests
958 missatges d'error estan orientats a ajudar als programadors i als
959 depuradors. Normalment es poden ignorar. En ocasions apareixen
960 en quantitats tan grans que poden entorpir la visió d'altres
961 missatges de sortida.
963 @item Abort (bolcat de core)
964 Això senyala un error de programació seriós que ha causat la
965 interrupció abrupta del programa. Aquests errors es consideren
966 crítics. Si es topa amb un, envieu un informe de fallada.
969 @cindex error, format dels missatges de
971 Si els errors i advertiments es poden lligar a un punt del fitxer
972 d'entrada, els missatges tenen la forma següent:
975 @var{fitxer}:@var{línia}:@var{columna}: @var{missatge}
976 @var{línia d'entrada problemàtica}
979 S'insereix un salt de línia a la línia problemàtica per indicar la
980 columna on es va trobar l'error. Per exemple,
983 prova.ly:2:19: error: no és una duració: 5
988 Aquestes posicions són la millor suposició del LilyPond sobre on
989 s'ha produït el missatge d'error, però (per la seva pròpia
990 naturalesa) els advertiment i errors es produeixen quan passa
991 quelcom inesperat. Si no veieu un error a la línia que s'indica
992 del fitxer d'entrada, intenteu comprovar una o dues línies per
993 sobre de la posició indicada.
995 S'ofereix més informació sobre els errors a la secció @ref{Errors
999 @section Errors comuns
1000 @translationof Common errors
1002 Les condicions d'error que es descriuen més a sota es produeixen
1003 amb freqüència, tot i que la causa no és òbvia o fàcil de trobar.
1004 Un cop se han vist i comprès, es gestionen sense problema.
1007 * La música se surt de la pàgina::
1008 * Apareix un pentagrama de més::
1009 * Missatge d'error Unbound variable %::
1010 * Missatge d'error FT_Get_Glyph_Name::
1011 * Advertiment sobre que les afinitats del pentagrama sols han de decrèixer::
1012 * Missatge d'error Unexpected new::
1015 @node La música se surt de la pàgina
1016 @unnumberedsubsec La música se surt de la pàgina
1017 @translationof Music runs off the page
1019 La música que se surt de la pàgina pel marge dret o que apareix
1020 exageradament comprimida està causada gairebé sempre per haver
1021 introduït una duració incorrecta per a una nota, produint que la
1022 nota final d'un compàs s'estengui més enllà de la línia
1023 divisòria. Això no és invàlid si la nota final d'un compàs no
1024 acaba sobre la línia divisòria introduïda automàticament, atès que
1025 simplement se suposa que la nota se solapa a sobre del compàs
1026 següent. Però si es produeix una seqüència llarga d'aquestes
1027 notes solapades, la música pot aparèixer comprimida o sortir-se
1028 de la pàgina perquè els salts de línia automàtiques solament se
1029 poden inserir al final dels compassos complets, és a dir, els
1030 compassos en els quals totes les notes acaben abans o just al
1033 @warning{Una duració incorrecta pot fer que s'inhibeixin els salts
1034 de línia, el que portaria a una sola línia de música molt
1035 comprimida o que se surti de la pàgina.}
1037 La duració incorrecta es pot trobar fàcilment si s'utilitzen
1038 comprovacions de compàs, vegeu @ruser{Comprovació de compàs i de
1041 Si realment volem tenir una sèrie d'aquests compassos amb notes
1042 solapades, hem d'inserir una línia divisòria invisible on volem
1043 el salt de línia. Per veure més detalls, consulteu
1044 @ruser{Barres de compàs}.
1047 @node Apareix un pentagrama de més
1048 @unnumberedsubsec Apareix un pentagrama de més
1049 @translationof An extra staff appears
1051 Si no es creen els contextos explícitament amb @code{\new} o amb
1052 @code{\context}, es crearan discretament tan aviat com es trobi
1053 una instrucció que no es pot aplicar a un context existent. A
1054 partitures senzilles, la creació automàtica dels contextos és
1055 útil, i gairebé tots els exemples dels manuals del LilyPond
1056 s'aprofiten d'aquesta simplificació. Però ocasionalment la
1057 creació discreta de contextos pot fer aflorar pentagrames o
1058 partitures nous o inesperats. Per exemple, podria esperar-se que
1059 el codi següent fet que totes les notes dins del pentagrama
1060 següent estiguessin acolorides de vermell, però de fet el
1061 resultat són dos pentagrames, romanent el de sota amb les
1062 notes amb el color negre predeterminat.
1064 @lilypond[quote,verbatim,relative=2]
1065 \override Staff.NoteHead.color = #red
1069 Això és així perquè no hi ha cap context @code{Staff} quan es
1070 processa la instrucció override de sobreescriptura, es crea un
1071 implícitament i la sobreescriptura s'aplica a aquest context, però
1072 aleshores la instrucció @code{\new Staff} crea un pentagrama nou i
1073 diferent, en el qual es col·loquen les notes. El codi correcte
1074 per acolorir totes les notes de vermell és
1076 @lilypond[quote,verbatim,relative=2]
1078 \override Staff.NoteHead.color = #red
1083 Com a segon exemple, si una instrucció @code{\relative} s'escriu
1084 dins d'una instrucció @code{\repeat}, el resultat són dos
1085 pentagrames, el segon desplaçat respecte al primer, perquè la
1086 instrucció @code{\repeat} genera dos blocs @code{\relative}, cada
1087 un dels quals crea implícitament blocs @code{Staff} i @code{Voice}.
1089 @lilypond[quote,verbatim]
1091 \relative c' { c4 d e f }
1095 El problema es resol instanciant el context @code{Voice}
1098 @lilypond[quote,verbatim]
1101 \relative c' { c4 d e f }
1107 @node Missatge d'error Unbound variable %
1108 @unnumberedsubsec Missatge d'error Unbound variable %
1109 @translationof Error message Unbound variable %
1111 Aquest missatge d'error apareix al final dels missatges de la
1112 consola o del fitxer de registre junt a un missatge @qq{GUILE
1113 ha senyalat un error @dots{}} cada cop que es cridi a una rutina
1114 del Scheme que (incorrectament) contingui un comentari @emph{del
1115 LilyPond} enlloc d'un comentari @emph{del Scheme}.
1117 Els comentaris del LilyPond comencen amb un símbol de
1118 percentatge, (@code{%}), i no s'han d'utilitzar dins de les
1119 rutines del Scheme. Els comentaris del Scheme comencen amb punt i
1122 @node Missatge d'error FT_Get_Glyph_Name
1123 @unnumberedsubsec Missatge d'error FT_Get_Glyph_Name
1124 @translationof Error message FT_Get_Glyph_Name
1126 Aquest missatge d'error apareix a la sortida de la consola o al
1127 fitxer log de registre si un fitxer d'entrada conté un caràcter que
1128 no és ASCII i no s'ha desat en la codificació de caràcters
1129 UTF-8. Per veure més detalls, consulteu @ruser{Codificació del
1132 @node Advertiment sobre que les afinitats del pentagrama sols han de decrèixer
1133 @unnumberedsubsec Advertiment sobre que les afinitats del pentagrama sols han de decrèixer
1134 @translationof Warning staff affinities should only decrease
1136 Aquest advertiment pot aparèixer si no hi ha cap pentagrama a la
1137 sortida impresa, per exemple si sols hi ha un context
1138 @code{ChordName} i un context @code{Lyrics} com a un full guia
1139 d'acords. Els missatges d'advertiment es poden evitar fent que un
1140 dels contextos es comporti com un pentagrama, inserint
1143 \override VerticalAxisGroup.staff-affinity = ##f
1147 al començament. Per veure més detalls, consulteu @qq{Espaiat de
1148 les línies que no són pautes} a @ruser{Espaiat vertical flexible
1149 dins dels sistemes}.
1151 @node Missatge d'error Unexpected new
1152 @unnumberedsubsec Missatge d'error Unexpected new @code{@bs{}new}
1153 @translationof Error message unexpected new
1155 Un bloc @code{\score} ha de contenir una @emph{única} expressió
1156 musical. Si en comptes d'això conté diverses instruccions
1157 @code{\new Staff}, @code{\new StaffGroup} o contextos semblants
1158 introduïts amb @code{\new} sense que s'hagin tancat entre
1159 claudàtors corbs, @code{@{ @dots{} @}}, o dobles parèntesis en
1160 angle, @code{<< @dots{} >>}, així:
1164 % Invàlid! Genera error: error de sintaxi, \new inesperat
1165 \new Staff @{ @dots{} @}
1166 \new Staff @{ @dots{} @}
1171 aleshores es produirà un missatge d'error.
1173 Per evitar l'error, tanqueu totes les instruccions @code{\new}
1174 dins dels claudàtors corbs o dobles parèntesis d'angle.
1176 L'ús de claudàtors corbs introdueix les instruccions @code{\new}
1177 de forma seqüencial:
1179 @lilypond[quote,verbatim]
1182 \new Staff { a' a' a' a' }
1183 \new Staff { g' g' g' g' }
1189 però és més probable que us trobeu utilitzant angles dobles de
1190 manera que els pentagrames nous s'insereixin en paral·lel, és a
1191 dir, simultàniament:
1193 @lilypond[quote,verbatim]
1196 \new Staff { a' a' a' a' }
1197 \new Staff { g' g' g' g' }