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ó del @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
597 clicar} a la sortida @code{PDF}. Vegeu
598 @ref{Point and click}.
602 @tab Crea imatges de vista prèvia a més de la sortida normal.
606 Aquesta opció està contemplada per tots els @q{rerefons}: @code{pdf},
607 @code{png}, @code{ps}, @code{eps} i @code{svg}, però no per
608 @code{scm}. Genera un fitxer de sortida, en la forma
609 @code{elmeuFitxer.preview.extensió}, que conté els títols i el
610 primer sistema de la música. Si s'estan utilitzant blocs
611 @code{\book} o @code{\bookpart}, apareixen a la sortida els títols de
612 @code{\book}, @code{\bookpart} o @code{\score}, inclòs el primer
613 sistema de cada bloc @code{\score} si la variable de @code{\paper}
614 @code{print-all-headers} està fixada al valor @code{#t}.
616 Per suprimir la sortida actual, utilitzeu les opcions
617 @option{-dprint-pages} o @option{-dno-print-pages} segons les
620 @multitable @columnfractions .33 .16 .51
621 @item @code{print-pages}
623 @tab Genera pàgines completes (és l'opció predeterminada). És útil
624 @option{-dno-print-pages} en combinació amb @option{-dpreview}.
626 @item @code{profile-property-accesses}
628 @tab Conserva les estadístiques de les crides de funció
629 @code{get_property()}.
631 @item @code{protected-scheme-parsing}
633 @tab Continua quan es capten a l'analitzador sintàctic errors del
634 Scheme encastat. Si es fixa a @code{#f}, detenir-se quan hi hagi
635 errors i imprimir un registre de traça de pila.
637 @item @code{read-file-list}
638 @tab @code{#f [fitxer]}
639 @tab Especifica el nom d'un fitxer que conté una llista de fitxers
640 d'entrada per processar.
642 @item @code{relative-includes}
644 @tab Quan es processa una instrucció @code{\include}, cerca el
645 fitxer inclòs de forma relativa al fitxer actual (enlloc del
648 @item @code{resolution}
650 @tab Fixa la resolució per generar imatges de píxels @code{PNG} al
651 valor donat (en ppp).
655 @tab No confiïs en l'entrada @code{.ly}.
659 Quan el servei de tipografia està disponible a través d'un
660 servidor web, @b{S'HAN DE} passar les opcions @option{--safe} o
661 @option{--jail}. L'opció @option{--safe} evita que el codi del
662 Scheme faci un desastre, per exemple:
668 c4^$(ly:gulp-file "/etc/passwd")
673 L'opció @option{-dsafe} funciona avaluant les expressions del
674 Scheme en línia dins d'un mòdul segur especial. Deriva del mòdul
675 @file{safe-r5rs} del GUILE, però a més afegeix unes quantes
676 funcions de l'API del LilyPond que estan relacionades en
677 @file{scm/safe-lily.scm}.
679 A més, el mode segur prohibeix les directives @code{\include} i
680 desactiva la utilització de barres invertides a les cadene de
681 @TeX{}. A més, no és possible importar variables del LilyPond
682 dins del Scheme quan s'està em mode segur.
684 @option{-dsafe} @emph{no} detecta la sobreutilitizació de
685 recursos, per la qual cosa encara és possible fer que el programa
686 es pengi indefinidament, per exemple subministrant estructures de
687 dades cícliques en el rerefons. Per això, si esteu usant el
688 LilyPond en un servidor web accessible públicament, el procés s'ha
689 de limitar tant en l'ús de memòria com de CPU.
691 El mode segur evita que es puguin compilar molts fragments de codi
694 L'opció @option{--jail} és una alternativa encara més segura, però
695 requereix més feina per a la seva configuració. Vegeu
696 @ref{Opcions bàsiques de la línia d'ordres per al LilyPond}.
698 @multitable @columnfractions .33 .16 .51
699 @item @code{separate-log-files}
701 @tab Per als fitxers d'entrada @code{FITXER1.ly},
702 @code{FITXER2.ly}, etc., treu les dades de registre cap als
703 fitxers @code{FITXER1.log}, @code{FITXER2.log}@dots{}
705 @item @code{show-available-fonts}
707 @tab Llista tots els noms dels tipus tipogràfics de lletra
710 @item @code{strict-infinity-checking}
712 @tab Força una terminació abrupta si es troben les excepcions de
713 punt flotant @code{Inf} i @code{NaN}.
715 @item @code{strip-output-dir}
717 @tab No usis els directoris dels fitxers d'entrada en construir
718 els noms dels fitxers de sortida.
720 @item @code{strokeadjust}
722 @tab Força l'ajust dels traços de PostScript. Aquesta opció és
723 rellevant principalment quan es genera un @code{PDF} a partir de
724 la sortida de PostScript (l'ajust del traç està en general activat
725 automàticament per a dispositius de mapa de punts de baixa
726 resolució). Sense aquesta opció, els visors de @code{PDF}
727 tendeixen a produir amplades de plica molt poc consistents a les
728 resolucions típiques de les pantalles d'ordinador. L'opció no
729 afecta de forma molt significativa a la qualitat de la impressió i
730 causa grans increments a la mida del fitxer @code{PDF}.
732 @item @code{svg-woff}
734 @tab Usar fitxers de tipus tipogràfic de lletra de woff al
737 @item @code{trace-memory-frequency}
739 @tab Registra l'ús de cèl·lules del Scheme aquesta quantitat de
740 vegades per segon. Bolca els resultats en @code{FITXER.stacks} i
741 en @code{FITXER.graph}.
743 @item @code{trace-scheme-coverage}
745 @tab Registra la cobertura dels fitxers del Scheme a @code{FITXER.cov}.
749 @tab Sortida detallada, és a dir el nivell de registre en DEBUT
752 @item @code{warning-as-error}
754 @tab Canvia tots els missatges d'advertiment i de @q{error de
755 programació} a errors.
759 @node Variables d'entorn
760 @unnumberedsubsec Variables d'entorn
761 @translationof Environment variables
764 @cindex LILYPOND_DATADIR
766 @command{lilypond} reconeix les següents variables d'entorn:
768 @item LILYPOND_DATADIR
769 Especifica un directori en el qual els missatges de localització i
770 de dades es buscaran de forma predeterminada. El directori ha de
771 contenir subdirectoris anomenats @file{ly/}, @file{ps/},
775 Selecciona l'idioma dels missatges d'advertiment.
777 @item LILYPOND_LOGLEVEL
778 Nivell de registre predeterminat. Si el LilyPond es crida sense
779 cap nivell de registre explícit (és a dir, sense opció de línia d'ordres
780 @option{--loglevel}), s'usa aquest valor.
782 @item LILYPOND_GC_YIELD
783 Una variable, com a percentatge, que ajusta el comportament de
784 l'administració de memòria. Amb valors més alts, el programa usa
785 més memòria; amb valors més baixos, usa més temps de CPU. El
786 valor predeterminat és @code{70}.
791 @node El LilyPond a una gàbia de chroot
792 @unnumberedsubsec El LilyPond a una gàbia de chroot
793 @translationof LilyPond in chroot jail
795 La preparació del servidor perquè executi el LilyPond a una gàbia
796 de chroot és una tasca molt complicada. Els passos estan
797 relacionats més avall. Els exemples que apareixen en cadascú dels
798 passos son vàlids per a Ubuntu GNU/Linux, i poden requerir l'ús de
799 @code{sudo} segons correspongui.
803 @item Instal·leu els paquets necessaris: el LilyPond, el Ghostscript i l'ImageMagick.
805 @item Creeu un usuari nou amb el nom de @code{lily}:
812 Això també crearà un nou grup per a l'usuari @code{lily}, i una
813 carpeta personal, @code{/home/lily}
815 @item A la carpeta personal de l'usuari @code{lily}, creeu un fitxer per usar-lo com a sistema de fitxers separat:
818 dd if=/dev/zero of=/home/lily/loopfile bs=1k count= 200000
822 Aquest exemple crea un fitxer de 200MB per al seu ús com el
823 sistema de fitxers de la gàbia.
825 @item Creeu un dispositiu loop, feu un sistema de fitxers i munteu-lo,
826 després creeu una carpeta que es pugui escriure per l'usuari
831 losetup /dev/loop0 /home/lily/loopfile
832 mkfs -t ext3 /dev/loop0 200000
833 mount -t ext3 /dev/loop0 /mnt/lilyloop
834 mkdir /mnt/lilyloop/lilyhome
835 chown lily /mnt/lilyloop/lilyhome
838 @item En la configuració dels servidors, JAIL serà @code{/mnt/lilyloop}
839 i DIR serà @code{/lilyhome}.
841 @item Creeu un gran arbre de directoris dins de la gàbia copiant els
842 fitxers necessaris, com es mostra en el guió d'exemple que apareix
845 Podeu usar @code{sed} per crear els fitxeres de còpia necessaris per a
849 for i in "/usr/local/lilypond/usr/bin/lilypond" "/bin/sh" "/usr/bin/; \
850 do ldd $i | sed 's/.*=> \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\& \
851 cp -L \/\1\2 \1\2/' | sed 's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p \
852 \1 \&\& cp -L \/\1\2 \1\2/' | sed '/.*=>.*/d'; done
857 @subheading Guió d'exemple per a l'Ubuntu 8.04 de 32 bits
861 ## aquí es fixen els valors predeterminats
865 loopdevice=/dev/loop0
866 jaildir=/mnt/lilyloop
867 # prefix (sense la barra inicial!)
869 # el directori en el qual el LilyPond es troba instal·lat en el sistema
870 lilydir=/$lilyprefix/lilypond/
872 userhome=$home/$username
873 loopfile=$userhome/loopfile
875 dd if=/dev/zero of=$loopfile bs=1k count=200000
877 losetup $loopdevice $loopfile
878 mkfs -t ext3 $loopdevice 200000
879 mount -t ext3 $loopdevice $jaildir
880 mkdir $jaildir/lilyhome
881 chown $username $jaildir/lilyhome
884 mkdir -p bin usr/bin usr/share usr/lib usr/share/fonts $lilyprefix tmp
887 cp -r -L $lilydir $lilyprefix
888 cp -L /bin/sh /bin/rm bin
889 cp -L /usr/bin/convert /usr/bin/gs usr/bin
890 cp -L /usr/share/fonts/truetype usr/share/fonts
892 # Ara la màgia de copiar les biblioteques
893 for i in "$lilydir/usr/bin/lilypond" "$lilydir/usr/bin/guile" "/bin/sh" \
894 "/bin/rm" "/usr/bin/gs" "/usr/bin/convert"; do ldd $i | sed 's/.*=> \
895 \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/' | sed \
896 's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/' \
897 | sed '/.*=>.*/d'; done | sh -s
899 # Els fitxers compartits per al ghostcript...
900 cp -L -r /usr/share/ghostscript usr/share
901 # Els fitxers compartits per a l'ImageMagick
902 cp -L -r /usr/lib/ImageMagick* usr/lib
904 ### Ara, suposant que tenim test.ly a /mnt/lilyloop/lilyhome,
905 ### hauríem de poder executar:
906 ### Observeu que /$lilyprefix/bin/lilypond és un guió, que estableix
907 ### un valor per a LD_LIBRARY_PATH : això és crucial
908 /$lilyprefix/bin/lilypond -jlily,lily,/mnt/lilyloop,/lilyhome test.ly
911 @c " keep quote signs balanced for context-sensitive editors
913 @node Missatges d'error
914 @section Missatges d'error
915 @translationof Error messages
917 @cindex error, missatges d'error
918 @cindex missatges d'error
920 Poden aparèixer diferents missatges d'error en compilar un fitxer:
926 Alguna cosa té un aspecte sospitós. Si estem demanant quelcom
927 fora del comú, entendrem el missatge i podrem ignorar-lo. Tot i
928 així, els advertiments solen indicar que alguna cosa va mal amb el
933 És clar que alguna cosa va malament. El pas actual del
934 processament (anàlisi, interpretació o format visual) es donarà
935 per acabat, però el pas següent se saltarà.
940 És clar que alguna cosa va malament, i el LilyPond no pot
941 continuar. Poques vegades passa això. La causa més freqüent són
942 els tipus de lletra mal instal·lats.
944 @item Error del Scheme
945 @cindex traça del Scheme
946 @cindex crides, traça de
947 @cindex Scheme, error de
948 @cindex error del Scheme
949 Els errors que ocorren en executar el codi del Scheme
950 s'intercepten per part de l'intèrpret del Scheme. Si s'està
951 executant amb les opcions @option{-V} o @option{--verbose}
952 (detallat) aleshores s'imprimeix una traça de crides de la funció
955 @item Error de programació
956 @cindex error de programació
957 @cindex programació, error de
958 Hi ha hagut algun tipus d'inconsistència interna. Aquests
959 missatges d'error estan orientats a ajudar als programadors i als
960 depuradors. Normalment es poden ignorar. En ocasions apareixen
961 en quantitats tan grans que poden entorpir la visió d'altres
962 missatges de sortida.
964 @item Abort (bolcat de core)
965 Això senyala un error de programació seriós que ha causat la
966 interrupció abrupta del programa. Aquests errors es consideren
967 crítics. Si es topa amb un, envieu un informe de fallada.
970 @cindex error, format dels missatges de
972 Si els errors i advertiments es poden lligar a un punt del fitxer
973 d'entrada, els missatges tenen la forma següent:
976 @var{fitxer}:@var{línia}:@var{columna}: @var{missatge}
977 @var{línia d'entrada problemàtica}
980 S'insereix un salt de línia a la línia problemàtica per indicar la
981 columna on es va trobar l'error. Per exemple,
984 prova.ly:2:19: error: no és una duració: 5
989 Aquestes posicions són la millor suposició del LilyPond sobre on
990 s'ha produït el missatge d'error, però (per la seva pròpia
991 naturalesa) els advertiment i errors es produeixen quan passa
992 quelcom inesperat. Si no veieu un error a la línia que s'indica
993 del fitxer d'entrada, intenteu comprovar una o dues línies per
994 sobre de la posició indicada.
996 S'ofereix més informació sobre els errors a la secció @ref{Errors
1000 @section Errors comuns
1001 @translationof Common errors
1003 Les condicions d'error que es descriuen més a sota es produeixen
1004 amb freqüència, tot i que la causa no és òbvia o fàcil de trobar.
1005 Un cop se han vist i comprès, es gestionen sense problema.
1008 * La música se surt de la pàgina::
1009 * Apareix un pentagrama de més::
1010 * Missatge d'error Unbound variable %::
1011 * Missatge d'error FT_Get_Glyph_Name::
1012 * Advertiment sobre que les afinitats del pentagrama sols han de decrèixer::
1013 * Missatge d'error Unexpected new::
1016 @node La música se surt de la pàgina
1017 @unnumberedsubsec La música se surt de la pàgina
1018 @translationof Music runs off the page
1020 La música que se surt de la pàgina pel marge dret o que apareix
1021 exageradament comprimida està causada gairebé sempre per haver
1022 introduït una duració incorrecta per a una nota, produint que la
1023 nota final d'un compàs s'estengui més enllà de la línia
1024 divisòria. Això no és invàlid si la nota final d'un compàs no
1025 acaba sobre la línia divisòria introduïda automàticament, atès que
1026 simplement se suposa que la nota se solapa a sobre del compàs
1027 següent. Però si es produeix una seqüència llarga d'aquestes
1028 notes solapades, la música pot aparèixer comprimida o sortir-se
1029 de la pàgina perquè els salts de línia automàtiques solament se
1030 poden inserir al final dels compassos complets, és a dir, els
1031 compassos en els quals totes les notes acaben abans o just al
1034 @warning{Una duració incorrecta pot fer que s'inhibeixin els salts
1035 de línia, el que portaria a una sola línia de música molt
1036 comprimida o que se surti de la pàgina.}
1038 La duració incorrecta es pot trobar fàcilment si s'utilitzen
1039 comprovacions de compàs, vegeu
1040 @rusernamed{Bar and bar number checks,Comprovació de compàs i de número de compàs}.
1042 Si realment volem tenir una sèrie d'aquests compassos amb notes
1043 solapades, hem d'inserir una línia divisòria invisible on volem
1044 el salt de línia. Per veure més detalls, consulteu
1045 @rusernamed{Bar lines,Barres de compàs}.
1048 @node Apareix un pentagrama de més
1049 @unnumberedsubsec Apareix un pentagrama de més
1050 @translationof An extra staff appears
1052 Si no es creen els contextos explícitament amb @code{\new} o amb
1053 @code{\context}, es crearan discretament tan aviat com es trobi
1054 una instrucció que no es pot aplicar a un context existent. A
1055 partitures senzilles, la creació automàtica dels contextos és
1056 útil, i gairebé tots els exemples dels manuals del LilyPond
1057 s'aprofiten d'aquesta simplificació. Però ocasionalment la
1058 creació discreta de contextos pot fer aflorar pentagrames o
1059 partitures nous o inesperats. Per exemple, podria esperar-se que
1060 el codi següent fet que totes les notes dins del pentagrama
1061 següent estiguessin acolorides de vermell, però de fet el
1062 resultat són dos pentagrames, romanent el de sota amb les
1063 notes amb el color negre predeterminat.
1065 @lilypond[quote,verbatim,relative=2]
1066 \override Staff.NoteHead.color = #red
1070 Això és així perquè no hi ha cap context @code{Staff} quan es
1071 processa la instrucció override de sobreescriptura, es crea un
1072 implícitament i la sobreescriptura s'aplica a aquest context, però
1073 aleshores la instrucció @code{\new Staff} crea un pentagrama nou i
1074 diferent, en el qual es col·loquen les notes. El codi correcte
1075 per acolorir totes les notes de vermell és
1077 @lilypond[quote,verbatim,relative=2]
1079 \override Staff.NoteHead.color = #red
1084 Com a segon exemple, si una instrucció @code{\relative} s'escriu
1085 dins d'una instrucció @code{\repeat}, el resultat són dos
1086 pentagrames, el segon desplaçat respecte al primer, perquè la
1087 instrucció @code{\repeat} genera dos blocs @code{\relative}, cada
1088 un dels quals crea implícitament blocs @code{Staff} i @code{Voice}.
1090 @lilypond[quote,verbatim]
1092 \relative c' { c4 d e f }
1096 El problema es resol instanciant el context @code{Voice}
1099 @lilypond[quote,verbatim]
1102 \relative c' { c4 d e f }
1108 @node Missatge d'error Unbound variable %
1109 @unnumberedsubsec Missatge d'error Unbound variable %
1110 @translationof Error message Unbound variable %
1112 Aquest missatge d'error apareix al final dels missatges de la
1113 consola o del fitxer de registre junt a un missatge @qq{GUILE
1114 ha senyalat un error @dots{}} cada cop que es cridi a una rutina
1115 del Scheme que (incorrectament) contingui un comentari @emph{del
1116 LilyPond} enlloc d'un comentari @emph{del Scheme}.
1118 Els comentaris del LilyPond comencen amb un símbol de
1119 percentatge, (@code{%}), i no s'han d'utilitzar dins de les
1120 rutines del Scheme. Els comentaris del Scheme comencen amb punt i
1123 @node Missatge d'error FT_Get_Glyph_Name
1124 @unnumberedsubsec Missatge d'error FT_Get_Glyph_Name
1125 @translationof Error message FT_Get_Glyph_Name
1127 Aquest missatge d'error apareix a la sortida de la consola o al
1128 fitxer log de registre si un fitxer d'entrada conté un caràcter que
1129 no és ASCII i no s'ha desat en la codificació de caràcters
1130 UTF-8. Per veure més detalls, consulteu
1131 @rusernamed{Text encoding,Codificació del text}.
1133 @node Advertiment sobre que les afinitats del pentagrama sols han de decrèixer
1134 @unnumberedsubsec Advertiment sobre que les afinitats del pentagrama sols han de decrèixer
1135 @translationof Warning staff affinities should only decrease
1137 Aquest advertiment pot aparèixer si no hi ha cap pentagrama a la
1138 sortida impresa, per exemple si sols hi ha un context
1139 @code{ChordName} i un context @code{Lyrics} com a un full guia
1140 d'acords. Els missatges d'advertiment es poden evitar fent que un
1141 dels contextos es comporti com un pentagrama, inserint
1144 \override VerticalAxisGroup.staff-affinity = ##f
1148 al començament. Per veure més detalls, consulteu @qq{Espaiat de
1149 les línies que no són pautes} a
1150 @rusernamed{Flexible vertical spacing within systems,Espaiat vertical flexible dins dels sistemes}.
1152 @node Missatge d'error Unexpected new
1153 @unnumberedsubsec Missatge d'error Unexpected new @code{@bs{}new}
1154 @translationof Error message unexpected new
1156 Un bloc @code{\score} ha de contenir una @emph{única} expressió
1157 musical. Si en comptes d'això conté diverses instruccions
1158 @code{\new Staff}, @code{\new StaffGroup} o contextos semblants
1159 introduïts amb @code{\new} sense que s'hagin tancat entre
1160 claudàtors corbs, @code{@{ @dots{} @}}, o dobles parèntesis en
1161 angle, @code{<< @dots{} >>}, així:
1165 % Invàlid! Genera error: error de sintaxi, \new inesperat
1166 \new Staff @{ @dots{} @}
1167 \new Staff @{ @dots{} @}
1172 aleshores es produirà un missatge d'error.
1174 Per evitar l'error, tanqueu totes les instruccions @code{\new}
1175 dins dels claudàtors corbs o dobles parèntesis d'angle.
1177 L'ús de claudàtors corbs introdueix les instruccions @code{\new}
1178 de forma seqüencial:
1180 @lilypond[quote,verbatim]
1183 \new Staff { a' a' a' a' }
1184 \new Staff { g' g' g' g' }
1190 però és més probable que us trobeu utilitzant angles dobles de
1191 manera que els pentagrames nous s'insereixin en paral·lel, és a
1192 dir, simultàniament:
1194 @lilypond[quote,verbatim]
1197 \new Staff { a' a' a' a' }
1198 \new Staff { g' g' g' g' }