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..
13 @c Translators: Walter Garcia-Fontes
14 @c Translation checkers:
16 @node Execució del LilyPond
17 @chapter Execució del LilyPond
18 @translationof Running LilyPond
20 Aquest capítol detalla els aspectes tècnics de l'execució del
24 * Utilització normal::
25 * Utilització des de la línia d'ordres::
31 @node Utilització normal
32 @section Utilització normal
33 @translationof Normal usage
35 Gairebé tots els usuaris executen el LilyPond per mitjà d'una
36 interfície gràfica; consulteu @rlearning{Tutorial} si encara
39 @node Utilització des de la línia d'ordres
40 @section Utilització des de la línia d'ordres
41 @translationof Command-line usage
43 Aquesta secció conté informació addicional sobre l'ús del
44 LilyPond a la línia d'ordres. Aquesta forma pot ser preferible
45 per passar-li al programa algunes opcions addicionals. A més a
46 més, existeixen alguns programes complementaris @q{de suport} (com
47 ara @code{midi2ly}) que sols estan disponibles a la línia d'ordres.
49 En parlar de la @q{línia d'ordres}, ens referim a la consola del
50 sistema operatiu. Els usuaris del Windows possiblement estiguin
51 més familiaritzats amb els termes @q{finestra del MS-DOS} o
52 @q{línia de comandes}; Els usuaris del MacOS@tie{}X potser que
53 estiguin més familiaritzats amb els termes @q{terminal} o
54 @q{consola}. Aquests podrien requerir algunes configuracions
55 addicionals i haurien de consultar també l'apartat @rweb{MacOS X}.
57 La descripció de l'ús d'aquesta part dels sistemes operatius
58 excedeix l'àmbit d'aquest manual; us preguem que consulteu altres
59 documents sobre aquest tema si no us resulta familiar la línia
63 * Invocació del LilyPond::
64 * Opcions bàsiques de la línia d'ordres per al LilyPond::
65 * Opcions avançades de la línia d'ordres per al LilyPond::
66 * Variables d'entorn::
67 * El LilyPond a una gàbia de chroot::
70 @node Invocació del LilyPond
71 @unnumberedsubsec Invocació del @command{lilypond}
72 @translationof Invoking lilypond
74 L'executable @command{lilypond} es pot cridar des d'una línia
75 d'ordres de la manera següent:
78 lilypond [@var{opció}]@dots{} @var{fitxer}@dots{}
81 Quan s'invoca amb un nom de fitxer sense extensió, es prova en
82 primer lloc amb la extensió @file{.ly}. Per llegir l'entrada des
83 de stdin, utilitzeu un guió (@code{-}) en substitució de @var{fitxer}.
85 Quan es processa @file{archivo.ly}, la sortida resultant són els
86 fitxers @file{fitxer.ps} i @file{fitxer.pdf}. Es poden
87 especificar diversos fitxers; cadascú d'ells es processarà de
88 forma independent@footnote{L'estat del GUILE no es restableix
89 després de processar un fitxer @code{.ly}, per la qual cosa heu de
90 tenir cura de no modificar cap valor predeterminat des de dins del
93 Si @file{fitxer.ly} conté més d'un bloc @code{\score}, la resta de
94 les partitures s'obtindran com a sortida en fitxers numerats,
95 començant per @file{fitxer-1.pdf}. A més, el valor de
96 @code{output-suffix} (sufix de sortida) s'inserirà entre el nom
97 base i el número. Un fitxer de sortida que contingui
100 #(define output-suffix "violí")
102 #(define output-suffix "violoncel")
107 produirà com a sortida @var{base}@file{-violí.pdf} i
108 @var{base}@file{-violoncel-1.pdf}.
111 @unnumberedsubsubsec Instruccions estàndard de la línia d'ordres
113 Si la vostra terminal (o finestra d'ordres) contempla les
114 redireccions normals, potser us siguin d'utilitat les següents
115 instruccions per redirigir la sortida de la consola d'un fitxer:
120 @code{lilypond fitxer.ly 1>sortidaestandard.log} per redirigir la sortida normal
123 @code{lilypond fitxer.ly 2>sortidaderror.log} per redirigir els missatges d'error
126 @code{lilypond fitxer.ly &>tot.log} per redirigir tota la sortida
130 Consulteu la documentació del vostre intèrpret d'ordres per veure
131 si contempla aquestes opcions, o si la sintaxi és diferent.
132 Observeu que són instruccions de l'intèrpret d'ordres i que no
133 tenen res a veure amb el LilyPond.
135 @node Opcions bàsiques de la línia d'ordres per al LilyPond
136 @unnumberedsubsec Opcions bàsiques de la línia d'ordres per al LilyPond
137 @translationof Basic command line options for LilyPond
139 @cindex invocació de @command{lilypond}
140 @cindex opcions de la línia d'ordres per a @command{lilypond}
141 @cindex línia d'ordres, opcions de
144 Estan contemplades les opcions següents:
148 @item -d, --define-default=@var{variable}=@var{valor}
149 Vegeu @ref{Opcions avançades de la línia d'ordres per al LilyPond}.
151 @cindex Scheme, avaluació d'expressions
152 @cindex expressions del Scheme, avaluació
154 @item -e, --evaluate=@var{expressió}
155 Avalua l'@var{expressió} del Scheme abans d'analitzar els fitxers
156 @file{.ly}. Es poden passar diverses opcions @option{-e}, que
157 s'avaluaran en seqüència.
159 L'expressió s'avaluarà al mòdul @code{guile-user}, de manera que
160 si voleu usar definicions dins d'@var{expressió}, heu d'utilitzar
163 lilypond -e '(define-public a 42)'
167 a la línia d'ordres, i incloure
170 #(use-modules (guile-user))
174 al principi del fitxer @file{.ly}.
176 @warning{Els usuaris de Windows han d'utilitzar cometes dobles en
177 comptes de cometes simples.}
179 @cindex sortida, format
180 @cindex format, sortida
182 @item -f, --format=@var{format}
183 quins formats s'han d'escriure. Les opcions per a @code{format} són
184 @code{ps}, @code{pdf}, i @code{png}.
186 Exemple: @code{lilypond -fpng @var{fitxer}.ly}
189 Mostra un resum de les formes de utilització.
191 @item -H, --header=@var{CAMP}
192 Bolca un camp de capçalera al fitxer @file{NOMBASE.@var{CAMP}}
194 @item -i, --init=@var{archivo}
195 Establir el fitxer d'inici a @var{fitxer} (predeterminat:
198 @cindex fitxers, cerca de
199 @cindex cerca, ruta de
201 @item -I, --include=@var{directori}
202 Afegir el @var{directori} a la ruta de cerca de fitxers
205 Es poden escriure diverses opcions -I. La cerca s'inicia al
206 primer directori definit, i si el fitxer que s'ha d'incloure no es
207 troba, la cerca continua als directoris següents.
209 @cindex chroot, executar dins d'una gàbia
211 @item -j, --jail=@var{usuari},@var{grup},@var{gàbia},@var{directori}
212 Executar @command{lilypond} a una gàbia de chroot.
214 L'opció @option{--jail} (gàbia) proporciona una alternativa més
215 flexible a l'opció @option{-dsafe} quan el procés de tipografia
216 del LilyPond està disponible a un servidor web o quan el LilyPond
217 executa instruccions enviades per fonts externes
218 (vegeu @ref{Opcions avançades de la línia d'ordres per al LilyPond}).
220 L'opció @option{--jail} funciona canviant l'arrel de
221 @command{lilypond} a @var{gàbia} just o abans de començar el
222 procés de compilació en sí. Si es fa això es canvien l'usuari i
223 el grup als que s'han donat a l'opció, i el directori actual es
224 canvia a @var{directori}. Aquesta instal·lació garanteix que no
225 és possible, al menys en teoria, escapar a la gàbia. Observeu que
226 perquè funcioni @option{--jail}, s'ha d'executar
227 @command{lilypond} com root, cosa que normalment es pot fer d'una
228 forma segura utilitzant @command{sudo}.
230 La instal·lació d'una gàbia pot ser un assumpte relativament
231 complex, atès que hem d'assegurar-nos que el LilyPond pot trobar
232 @emph{dins} de la pròpia gàbia tot el que necessita per poder
233 compilar la font. Una típica configuració de gàbia de chroot
234 consta dels següents elements:
238 @item Preparació d'un sistema de fitxers separat
239 S'ha de crear un sistema de fitxers separat per al LilyPond, de
240 forma que es pugui muntar amb opcions segures com @code{noexec},
241 @code{nodev} i @code{nosuid}. D'aquesta forma, és impossible
242 executar programes o escriure directament a un dispositiu des del
243 LilyPond. Si no voleu crear una partició separada, tan sols té
244 que crear un fitxer d'una mida raonable i usar-lo per muntar un
245 dispositiu loop. El sistema de fitxers separat garanteix també
246 que el LilyPond mai no pugui escriure en un espai major del què se
249 @item Preparar un usuari separat
250 Es pot usar un usuari i grup separats (diguem-ne
251 @code{lily}/@code{lily}) amb pocs privilegis per executar el
252 LilyPond dins d'una gàbia. Hauria d'existir un sols directori amb
253 permisos d'escriptura per a aquest usuari, i s'ha de passar el valor
256 @item Preparació de la gàbia
257 El LilyPond necessita llegir alguns fitxers mentre s'executa,
258 Tots aquests fitxers s'han de copiar dins de la gàbia, sota la
259 mateixa ruta en la qual apareixen al sistema de fitxers real de
260 root. Tot el contingut de la instal·lació del LilyPond (per exemple
261 @file{/usr/share/lilypond}) s'ha de copiar.
263 Si sorgeixen problemes, la forma més senzilla de rastrejar-los és
264 executar el LilyPond usant @command{strace}, cosa que li permetrà
265 determinar quins fitxers falten.
267 @item Execució del LilyPond
268 Dins d'una gàbia muntada amb @code{noexec} és impossible executar
269 cap programa extern. Per tant, el LilyPond s'ha d'executar amb un
270 backend que no necessiti un programa extern. Com ja hem
271 mencionat, s'ha d'executar amb privilegis del superusuari (que per
272 suposat perdrà immediatament), possiblement usant @command{sudo}.
273 També de CPU que el LilyPond pot usar (per exemple usant
274 @command{ulimit@tie{}-t}), i, si el vostre sistema operatiu ho
275 contempla, la mida de la memòria que es pot reservar. Vegeu també
276 @ref{El LilyPond a una gàbia de chroot}.
281 @cindex registre, nivell de
282 @cindex sortida neta, fixar el nivell
284 @item -l, --loglevel=@var{NIVELL}
285 Fixa el grau en el qual la sortida de consola és neta al nivell
286 @var{NIVELL}. Els valors possibles són:
291 Cap sortida en absolut, ni tan sols missatges d'error.
294 Sols missatges d'error, cap advertiment o indicacions de progrés.
297 Advertiments i missatges d'error, no de progrés.
300 Missatges de progrés bàsics (èxit), advertiment i errors.
303 Tots els missatges de progrés, advertiments i errors.
305 @item INFO (predeterminat)
306 Missatges de progrés, advertiments, errors i informació d'execució
310 Tots els missatges possibles, fins i tot la informació detallada de
314 @cindex carpeta, dirigir la sortida cap a
315 @cindex sortida, establir el nom del fitxer de
317 @item -o, --output=@var{FITXER} o @var{CARPETA}
318 Estableix el nom del fitxer de sortida predeterminat a
319 @var{FITXER} o, si hi ha una carpeta amb aquest nom, dirigeix la
320 sortida cap a @var{CARPETA}, agafant el nom de fitxer del
321 document d'entrada. S'afegeix el sufix corresponent (per exemple,
322 @code{.pdf} per a PDF) als dos casos.
324 @cindex PS (Postscript), sortida
325 @cindex Postscript (PS), sortida
326 @cindex sortida, PS (Postscript)
331 @cindex PNG (Portable Network Graphics), sortida
332 @cindex sortida, PNG (Portable Network Graphics)
335 Genera imatges de les pàgines en format PNG. Això implica
336 @option{--ps}. La resolució en PPP de la imatge es pot establir
342 @cindex PDF (format de document portàtil), sortida de
343 @cindex sortida, PDF (format de document portàtil)
346 Genera PDF. Implica @option{--ps}.
349 Mostra la informació de la versió.
352 Sigues detallat: mostra les rutes completes de tots els fitxers
353 que se llegeixen, i dóna informació cronomètrica.
356 Mostra la garantia del GNU LilyPond (no ve amb
357 @strong{CAP GARANTIA}!).
362 @node Opcions avançades de la línia d'ordres per al LilyPond
363 @unnumberedsubsec Opcions avançades de la línia d'ordres per al LilyPond
364 @translationof Advanced command line options for LilyPond
368 @item -d@var{[nom-de-opció]}=@var{[valor]}, --define-default=@var{[nom-de-opció]}=@var{[valor]}
369 Estableix la funció del Scheme interna equivalent a @var{valor}.
375 Si no es proporciona cap @var{valor}, s'usa el valor predeterminat
376 Per desactivar una opció es pot anteposar @code{no-} a la
377 @var{variable}, per exemple:
379 @cindex apuntar i clicar, línia d'ordres
392 @noindent Estan contemplades les següents opcions junt als seus
393 respectius valors predeterminats:
395 @multitable @columnfractions .33 .16 .51
396 @item @strong{Símbol}
398 @tab @strong{Explicació/Opcions}
400 @item @code{anti-alias-factor} (factor d'antiàlies)
402 @tab Renderitza a una major resolució (utilitzant el factor
403 donat) i redueix l'escala del resultat per així evitar
404 @q{escales} a les imatges @code{PNG}.
406 @item @code{aux-files} (fitxers auxiliars)
408 @tab Crea fitxeres @code{.tex}, @code{.texi}, @code{.count} al
409 @q{back-end} @code{EPS}.
413 @tab Selecciona un @q{rerefons}. Els fitxers (l'opció
414 predeterminada) inclouen els tipus tipogràfics de lletra @code{TTF},
415 @code{Type1} i @code{OTF}. No es fa cap subconjunt d'aquests tipus
416 de lletra. L'ús de conjunts de caràcters @q{orientals} pot
417 produir fitxers molts grans.
421 @tab PostScript encapsulat. Bolca cada pàgina o sistema com un
422 fitxer @file{EPS} diferent, sense tipus tipogràfics de lletra, i
423 com un fitxer @file{EPS} enquadernat amb totes les pàgines o
424 sistemes que inclouen els tipus de lletra. Utilitzat com a opció
425 predeterminada per part de @command{lilypond-book}.
429 @tab No produeixes cap partitura impresa a la sortida; té el
430 mateix efecte que @code{-dno-print-pages}.
434 @tab Gràfics vectorials escalables. Crea un únic fitxer
435 @code{SVG}, sense tipus tipogràfics de lletra incrustats, per a
436 cada pàgina de sortida. Es recomana instal·lar el tipus de lletra
437 Century Schoolbook, que està inclòs a la instal·lació del
438 LilyPond, per a un renderitzat òptim. Sota l'UNIX, bastarà amb
439 que copieu aquests fitxers de tipus de lletra del directori del
440 Lilypond (normalment @file{/usr/share/lilypond/VERSION/fonts/otf/})
441 al directori @file{~/.fonts/}. La sortida @code{SVG} hauria de
442 ser compatible amb qualsevol editor o client de SVG. També hi ha
443 una opció @code{svg-woff} (vegeu més avall) per usar els fitxers
444 de tipus de lletra woff al @q{rerefons} SVG.
448 @tab Bolcat de les instruccions de dibuix internes basades en
451 @item @code{check-internal-types}
453 @tab Comprova el tipus de cada assignació de propietats.
455 @item @code{clip-systems} (retalla els sistemes de pentagrames)
457 @tab Genera framents d'imatge retallats d'una partitura.
459 @item @code{datadir} (directori de dades)
461 @tab Prefix dels fitxers de dades (sols lectura).
463 @item @code{debug-gc}
465 @tab Bolca estadístiques de depuració de memòria.
467 @item @code{debug-gc-assert-parsed-dead}
469 @tab Per a la depuració de memòria: assegura't que totes les
470 referències a objectes analitzats estiguin mortes. És una opció
471 interna, i s'activa automàticament per a @code{`-ddebug-gc'}.
473 @item @code{debug-lexer}
475 @tab Depuració de l'analitzador lèxic flex.
477 @item @code{debug-page-breaking-scoring}
479 @tab Bolca les partitures per a moltes configuracions de salts de
482 @item @code{debug-parser}
484 f@tab Depuració de l'analitzador sintàctic bison.
486 @item @code{debug-property-callbacks}
488 @tab Depuració de les cadenes cícliues de funcions de callback.
490 @item @code{debug-skylines}
492 @tab Depuració de les línies de horitzó.
494 @item @code{delete-intermediate-files}
496 @tab Elimina els fitxers intermedis @code{.ps} inútils que es
497 creen durant la compilació.
499 @item @code{dump-cpu-profile}
501 @tab Bolcar informació de comptabilització del temps (dependent
504 @item @code{dump-profile}
506 @tab Bolca la informació de memòria i de temps de cada fitxer.
508 @item @code{dump-signatures}
510 @tab Bolca les signatures de sortida de cada sistema. Usat per a
511 les proves de regressió.
513 @item @code{eps-box-padding}
515 @tab Omple la vora esquerra de la capsa contenidora de l'EPS de
516 sortida en la quantitat donada (en mm).
518 @item @code{gs-load-fonts}
520 @tab Carrega els tipus tipogràfics de lletra a través del Ghostscript.
522 @item @code{gs-load-lily-fonts}
524 @tab Carrega sols els tipus de lletra del LilyPond per mitjà del
529 @tab S'executa silenciosament i es redirigeix tota la sortida a un
534 @strong{Nota per als usuaris del Windows:} De manera predeterminada,
535 @code{lilypond.exe} dirigeix tota la sortida de la informació
536 d'avenç cap a la finestra de consola, @code{lilypond-windows.exe}
537 no ho fa i retorna un indicador del sistema, sense cap indicació
538 d'avenç, immediatament en la línia d'ordres. L'opció
539 @option{-dgui} es pot usar en aquest cas per redirigir la sortida
540 a un fitxer de registre.
542 @multitable @columnfractions .33 .16 .51
545 @tab Mostra aquesta ajuda
547 @item @code{include-book-title-preview}
549 @tab Inclou els títols de llibre a les imatges de vista prèvia.
551 @item @code{include-eps-fonts}
553 @tab Incloure els tipus tipogràfics de fonts als fitxers EPS de
554 cadascú dels sistemes.
556 @item @code{include-settings}
558 @tab Inclou el fitxer dels ajustos globals, s'inclou abans que la
559 partitura es processi.
561 @item @code{job-count}
563 @tab Processa en paral·lel, usant el nombre de tasques donat.
565 @item @code{log-file}
566 @tab @code{#f [fitxer]}
567 @tab Si es dóna a una cadena @code{fitxer} como a segon argument,
568 redirigeix la sortida al fitxer de registre @code{fitxer.log}.
570 @item @code{max-markup-depth}
572 @tab Profunditat màxima de l'arbre de l'etiquetatge. Si un
573 etiquetatge té més nivells, suposa que no acabarà per sí mateix,
574 imprimint un advertiment i retornant en el seu lloc un element
577 @item @code{midi-extension}
579 @tab Fixa l'extensió de fitxer predeterminat per al fitxer de
580 sortida MIDI a la cadena donada.
582 @item @code{music-strings-to-paths}
584 @tab Converteix les cadenes de text a rutes quan els glifs
585 pertanyen a un tipus de lletra de tipografia musical.
587 @item @code{paper-size}
589 @tab Estableix la mida predeterminada del paper. Observeu que la
590 cadena ha d'anar tancada entre cometes dobles.
592 @item @code{pixmap-format}
594 @tab Fixa el format de sortida del Ghostsript per a les imatges de píxels.
596 @item @code{point-and-click}
598 @tab Afegeix enllaços d'@q{apuntar i
599 clicar} a la sortida @code{PDF}. Vegeu
600 @ref{Point and click}.
604 @tab Crea imatges de vista prèvia a més de la sortida normal.
608 Aquesta opció està contemplada per tots els @q{rerefons}: @code{pdf},
609 @code{png}, @code{ps}, @code{eps} i @code{svg}, però no per
610 @code{scm}. Genera un fitxer de sortida, en la forma
611 @code{elmeuFitxer.preview.extensió}, que conté els títols i el
612 primer sistema de la música. Si s'estan utilitzant blocs
613 @code{\book} o @code{\bookpart}, apareixen a la sortida els títols de
614 @code{\book}, @code{\bookpart} o @code{\score}, inclòs el primer
615 sistema de cada bloc @code{\score} si la variable de @code{\paper}
616 @code{print-all-headers} està fixada al valor @code{#t}.
618 Per suprimir la sortida actual, utilitzeu les opcions
619 @option{-dprint-pages} o @option{-dno-print-pages} segons les
622 @multitable @columnfractions .33 .16 .51
623 @item @code{print-pages}
625 @tab Genera pàgines completes (és l'opció predeterminada). És útil
626 @option{-dno-print-pages} en combinació amb @option{-dpreview}.
628 @item @code{profile-property-accesses}
630 @tab Conserva les estadístiques de les crides de funció
631 @code{get_property()}.
633 @item @code{protected-scheme-parsing}
635 @tab Continua quan es capten a l'analitzador sintàctic errors del
636 Scheme encastat. Si es fixa a @code{#f}, detenir-se quan hi hagi
637 errors i imprimir un registre de traça de pila.
639 @item @code{read-file-list}
640 @tab @code{#f [fitxer]}
641 @tab Especifica el nom d'un fitxer que conté una llista de fitxers
642 d'entrada per processar.
644 @item @code{relative-includes}
646 @tab Quan es processa una instrucció @code{\include}, cerca el
647 fitxer inclòs de forma relativa al fitxer actual (enlloc del
650 @item @code{resolution}
652 @tab Fixa la resolució per generar imatges de píxels @code{PNG} al
653 valor donat (en ppp).
657 @tab No confiïs en l'entrada @code{.ly}.
661 Quan el servei de tipografia està disponible a través d'un
662 servidor web, @b{S'HAN DE} passar les opcions @option{--safe} o
663 @option{--jail}. L'opció @option{--safe} evita que el codi del
664 Scheme faci un desastre, per exemple:
670 c4^$(ly:gulp-file "/etc/passwd")
675 L'opció @option{-dsafe} funciona avaluant les expressions del
676 Scheme en línia dins d'un mòdul segur especial. Deriva del mòdul
677 @file{safe-r5rs} del GUILE, però a més afegeix unes quantes
678 funcions de l'API del LilyPond que estan relacionades en
679 @file{scm/safe-lily.scm}.
681 A més, el mode segur prohibeix les directives @code{\include} i
682 desactiva la utilització de barres invertides a les cadene de
683 @TeX{}. A més, no és possible importar variables del LilyPond
684 dins del Scheme quan s'està em mode segur.
686 @option{-dsafe} @emph{no} detecta la sobreutilitizació de
687 recursos, per la qual cosa encara és possible fer que el programa
688 es pengi indefinidament, per exemple subministrant estructures de
689 dades cícliques en el rerefons. Per això, si esteu usant el
690 LilyPond en un servidor web accessible públicament, el procés s'ha
691 de limitar tant en l'ús de memòria com de CPU.
693 El mode segur evita que es puguin compilar molts fragments de codi
696 L'opció @option{--jail} és una alternativa encara més segura, però
697 requereix més feina per a la seva configuració. Vegeu
698 @ref{Opcions bàsiques de la línia d'ordres per al LilyPond}.
700 @multitable @columnfractions .33 .16 .51
701 @item @code{separate-log-files}
703 @tab Per als fitxers d'entrada @code{FITXER1.ly},
704 @code{FITXER2.ly}, etc., treu les dades de registre cap als
705 fitxers @code{FITXER1.log}, @code{FITXER2.log}@dots{}
707 @item @code{show-available-fonts}
709 @tab Llista tots els noms dels tipus tipogràfics de lletra
712 @item @code{strict-infinity-checking}
714 @tab Força una terminació abrupta si es troben les excepcions de
715 punt flotant @code{Inf} i @code{NaN}.
717 @item @code{strip-output-dir}
719 @tab No usis els directoris dels fitxers d'entrada en construir
720 els noms dels fitxers de sortida.
722 @item @code{strokeadjust}
724 @tab Força l'ajust dels traços de PostScript. Aquesta opció és
725 rellevant principalment quan es genera un @code{PDF} a partir de
726 la sortida de PostScript (l'ajust del traç està en general activat
727 automàticament per a dispositius de mapa de punts de baixa
728 resolució). Sense aquesta opció, els visors de @code{PDF}
729 tendeixen a produir amplades de plica molt poc consistents a les
730 resolucions típiques de les pantalles d'ordinador. L'opció no
731 afecta de forma molt significativa a la qualitat de la impressió i
732 causa grans increments a la mida del fitxer @code{PDF}.
734 @item @code{svg-woff}
736 @tab Usar fitxers de tipus tipogràfic de lletra de woff al
739 @item @code{trace-memory-frequency}
741 @tab Registra l'ús de cèl·lules del Scheme aquesta quantitat de
742 vegades per segon. Bolca els resultats en @code{FITXER.stacks} i
743 en @code{FITXER.graph}.
745 @item @code{trace-scheme-coverage}
747 @tab Registra la cobertura dels fitxers del Scheme a @code{FITXER.cov}.
751 @tab Sortida detallada, és a dir el nivell de registre en DEBUT
754 @item @code{warning-as-error}
756 @tab Canvia tots els missatges d'advertiment i de @q{error de
757 programació} a errors.
761 @node Variables d'entorn
762 @unnumberedsubsec Variables d'entorn
763 @translationof Environment variables
766 @cindex LILYPOND_DATADIR
768 @command{lilypond} reconeix les següents variables d'entorn:
770 @item LILYPOND_DATADIR
771 Especifica un directori en el qual els missatges de localització i
772 de dades es buscaran de forma predeterminada. El directori ha de
773 contenir subdirectoris anomenats @file{ly/}, @file{ps/},
777 Selecciona l'idioma dels missatges d'advertiment.
779 @item LILYPOND_LOGLEVEL
780 Nivell de registre predeterminat. Si el LilyPond es crida sense
781 cap nivell de registre explícit (és a dir, sense opció de línia d'ordres
782 @option{--loglevel}), s'usa aquest valor.
784 @item LILYPOND_GC_YIELD
785 Una variable, com a percentatge, que ajusta el comportament de
786 l'administració de memòria. Amb valors més alts, el programa usa
787 més memòria; amb valors més baixos, usa més temps de CPU. El
788 valor predeterminat és @code{70}.
793 @node El LilyPond a una gàbia de chroot
794 @unnumberedsubsec El LilyPond a una gàbia de chroot
795 @translationof LilyPond in chroot jail
797 La preparació del servidor perquè executi el LilyPond a una gàbia
798 de chroot és una tasca molt complicada. Els passos estan
799 relacionats més avall. Els exemples que apareixen en cadascú dels
800 passos son vàlids per a Ubuntu GNU/Linux, i poden requerir l'ús de
801 @code{sudo} segons correspongui.
805 @item Instal·leu els paquets necessaris: el LilyPond, el Ghostscript i l'ImageMagick.
807 @item Creeu un usuari nou amb el nom de @code{lily}:
814 Això també crearà un nou grup per a l'usuari @code{lily}, i una
815 carpeta personal, @code{/home/lily}
817 @item A la carpeta personal de l'usuari @code{lily}, creeu un fitxer per usar-lo com a sistema de fitxers separat:
820 dd if=/dev/zero of=/home/lily/loopfile bs=1k count= 200000
824 Aquest exemple crea un fitxer de 200MB per al seu ús com el
825 sistema de fitxers de la gàbia.
827 @item Creeu un dispositiu loop, feu un sistema de fitxers i munteu-lo,
828 després creeu una carpeta que es pugui escriure per l'usuari
833 losetup /dev/loop0 /home/lily/loopfile
834 mkfs -t ext3 /dev/loop0 200000
835 mount -t ext3 /dev/loop0 /mnt/lilyloop
836 mkdir /mnt/lilyloop/lilyhome
837 chown lily /mnt/lilyloop/lilyhome
840 @item En la configuració dels servidors, JAIL serà @code{/mnt/lilyloop}
841 i DIR serà @code{/lilyhome}.
843 @item Creeu un gran arbre de directoris dins de la gàbia copiant els
844 fitxers necessaris, com es mostra en el guió d'exemple que apareix
847 Podeu usar @code{sed} per crear els fitxeres de còpia necessaris per a
851 for i in "/usr/local/lilypond/usr/bin/lilypond" "/bin/sh" "/usr/bin/; \
852 do ldd $i | sed 's/.*=> \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\& \
853 cp -L \/\1\2 \1\2/' | sed 's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p \
854 \1 \&\& cp -L \/\1\2 \1\2/' | sed '/.*=>.*/d'; done
859 @subheading Guió d'exemple per a l'Ubuntu 8.04 de 32 bits
863 ## aquí es fixen els valors predeterminats
867 loopdevice=/dev/loop0
868 jaildir=/mnt/lilyloop
869 # prefix (sense la barra inicial!)
871 # el directori en el qual el LilyPond es troba instal·lat en el sistema
872 lilydir=/$lilyprefix/lilypond/
874 userhome=$home/$username
875 loopfile=$userhome/loopfile
877 dd if=/dev/zero of=$loopfile bs=1k count=200000
879 losetup $loopdevice $loopfile
880 mkfs -t ext3 $loopdevice 200000
881 mount -t ext3 $loopdevice $jaildir
882 mkdir $jaildir/lilyhome
883 chown $username $jaildir/lilyhome
886 mkdir -p bin usr/bin usr/share usr/lib usr/share/fonts $lilyprefix tmp
889 cp -r -L $lilydir $lilyprefix
890 cp -L /bin/sh /bin/rm bin
891 cp -L /usr/bin/convert /usr/bin/gs usr/bin
892 cp -L /usr/share/fonts/truetype usr/share/fonts
894 # Ara la màgia de copiar les biblioteques
895 for i in "$lilydir/usr/bin/lilypond" "$lilydir/usr/bin/guile" "/bin/sh" \
896 "/bin/rm" "/usr/bin/gs" "/usr/bin/convert"; do ldd $i | sed 's/.*=> \
897 \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/' | sed \
898 's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/' \
899 | sed '/.*=>.*/d'; done | sh -s
901 # Els fitxers compartits per al ghostcript...
902 cp -L -r /usr/share/ghostscript usr/share
903 # Els fitxers compartits per a l'ImageMagick
904 cp -L -r /usr/lib/ImageMagick* usr/lib
906 ### Ara, suposant que tenim test.ly a /mnt/lilyloop/lilyhome,
907 ### hauríem de poder executar:
908 ### Observeu que /$lilyprefix/bin/lilypond és un guió, que estableix
909 ### un valor per a LD_LIBRARY_PATH : això és crucial
910 /$lilyprefix/bin/lilypond -jlily,lily,/mnt/lilyloop,/lilyhome test.ly
913 @c " keep quote signs balanced for context-sensitive editors
915 @node Missatges d'error
916 @section Missatges d'error
917 @translationof Error messages
919 @cindex error, missatges d'error
920 @cindex missatges d'error
922 Poden aparèixer diferents missatges d'error en compilar un fitxer:
928 Alguna cosa té un aspecte sospitós. Si estem demanant quelcom
929 fora del comú, entendrem el missatge i podrem ignorar-lo. Tot i
930 així, els advertiments solen indicar que alguna cosa va mal amb el
935 És clar que alguna cosa va malament. El pas actual del
936 processament (anàlisi, interpretació o format visual) es donarà
937 per acabat, però el pas següent se saltarà.
942 És clar que alguna cosa va malament, i el LilyPond no pot
943 continuar. Poques vegades passa això. La causa més freqüent són
944 els tipus de lletra mal instal·lats.
946 @item Error del Scheme
947 @cindex traça del Scheme
948 @cindex crides, traça de
949 @cindex Scheme, error de
950 @cindex error del Scheme
951 Els errors que ocorren en executar el codi del Scheme
952 s'intercepten per part de l'intèrpret del Scheme. Si s'està
953 executant amb les opcions @option{-V} o @option{--verbose}
954 (detallat) aleshores s'imprimeix una traça de crides de la funció
957 @item Error de programació
958 @cindex error de programació
959 @cindex programació, error de
960 Hi ha hagut algun tipus d'inconsistència interna. Aquests
961 missatges d'error estan orientats a ajudar als programadors i als
962 depuradors. Normalment es poden ignorar. En ocasions apareixen
963 en quantitats tan grans que poden entorpir la visió d'altres
964 missatges de sortida.
966 @item Abort (bolcat de core)
967 Això senyala un error de programació seriós que ha causat la
968 interrupció abrupta del programa. Aquests errors es consideren
969 crítics. Si es topa amb un, envieu un informe de fallada.
972 @cindex error, format dels missatges de
974 Si els errors i advertiments es poden lligar a un punt del fitxer
975 d'entrada, els missatges tenen la forma següent:
978 @var{fitxer}:@var{línia}:@var{columna}: @var{missatge}
979 @var{línia d'entrada problemàtica}
982 S'insereix un salt de línia a la línia problemàtica per indicar la
983 columna on es va trobar l'error. Per exemple,
986 prova.ly:2:19: error: no és una duració: 5
991 Aquestes posicions són la millor suposició del LilyPond sobre on
992 s'ha produït el missatge d'error, però (per la seva pròpia
993 naturalesa) els advertiment i errors es produeixen quan passa
994 quelcom inesperat. Si no veieu un error a la línia que s'indica
995 del fitxer d'entrada, intenteu comprovar una o dues línies per
996 sobre de la posició indicada.
998 S'ofereix més informació sobre els errors a la secció @ref{Errors
1002 @section Errors comuns
1003 @translationof Common errors
1005 Les condicions d'error que es descriuen més a sota es produeixen
1006 amb freqüència, tot i que la causa no és òbvia o fàcil de trobar.
1007 Un cop se han vist i comprès, es gestionen sense problema.
1010 * La música se surt de la pàgina::
1011 * Apareix un pentagrama de més::
1012 * Missatge d'error Unbound variable %::
1013 * Missatge d'error FT_Get_Glyph_Name::
1014 * Advertiment sobre que les afinitats del pentagrama sols han de decrèixer::
1015 * Missatge d'error Unexpected new::
1018 @node La música se surt de la pàgina
1019 @unnumberedsubsec La música se surt de la pàgina
1020 @translationof Music runs off the page
1022 La música que se surt de la pàgina pel marge dret o que apareix
1023 exageradament comprimida està causada gairebé sempre per haver
1024 introduït una duració incorrecta per a una nota, produint que la
1025 nota final d'un compàs s'estengui més enllà de la línia
1026 divisòria. Això no és invàlid si la nota final d'un compàs no
1027 acaba sobre la línia divisòria introduïda automàticament, atès que
1028 simplement se suposa que la nota se solapa a sobre del compàs
1029 següent. Però si es produeix una seqüència llarga d'aquestes
1030 notes solapades, la música pot aparèixer comprimida o sortir-se
1031 de la pàgina perquè els salts de línia automàtiques solament se
1032 poden inserir al final dels compassos complets, és a dir, els
1033 compassos en els quals totes les notes acaben abans o just al
1036 @warning{Una duració incorrecta pot fer que s'inhibeixin els salts
1037 de línia, el que portaria a una sola línia de música molt
1038 comprimida o que se surti de la pàgina.}
1040 La duració incorrecta es pot trobar fàcilment si s'utilitzen
1041 comprovacions de compàs, vegeu
1042 @ruser{Comprovació de compàs i de número de compàs}.
1044 Si realment volem tenir una sèrie d'aquests compassos amb notes
1045 solapades, hem d'inserir una línia divisòria invisible on volem
1046 el salt de línia. Per veure més detalls, consulteu
1047 @ruser{Barres de compàs}.
1050 @node Apareix un pentagrama de més
1051 @unnumberedsubsec Apareix un pentagrama de més
1052 @translationof An extra staff appears
1054 Si no es creen els contextos explícitament amb @code{\new} o amb
1055 @code{\context}, es crearan discretament tan aviat com es trobi
1056 una instrucció que no es pot aplicar a un context existent. A
1057 partitures senzilles, la creació automàtica dels contextos és
1058 útil, i gairebé tots els exemples dels manuals del LilyPond
1059 s'aprofiten d'aquesta simplificació. Però ocasionalment la
1060 creació discreta de contextos pot fer aflorar pentagrames o
1061 partitures nous o inesperats. Per exemple, podria esperar-se que
1062 el codi següent fet que totes les notes dins del pentagrama
1063 següent estiguessin acolorides de vermell, però de fet el
1064 resultat són dos pentagrames, romanent el de sota amb les
1065 notes amb el color negre predeterminat.
1067 @lilypond[quote,verbatim,fragment]
1068 \override Staff.NoteHead.color = #red
1072 Això és així perquè no hi ha cap context @code{Staff} quan es
1073 processa la instrucció override de sobreescriptura, es crea un
1074 implícitament i la sobreescriptura s'aplica a aquest context, però
1075 aleshores la instrucció @code{\new Staff} crea un pentagrama nou i
1076 diferent, en el qual es col·loquen les notes. El codi correcte
1077 per acolorir totes les notes de vermell és
1079 @lilypond[quote,verbatim]
1081 \override Staff.NoteHead.color = #red
1086 Com a segon exemple, si una instrucció @code{\relative} s'escriu
1087 dins d'una instrucció @code{\repeat}, el resultat són dos
1088 pentagrames, el segon desplaçat respecte al primer, perquè la
1089 instrucció @code{\repeat} genera dos blocs @code{\relative}, cada
1090 un dels quals crea implícitament blocs @code{Staff} i @code{Voice}.
1092 @lilypond[quote,verbatim]
1094 \relative { c'4 d e f }
1098 El problema es resol instanciant el context @code{Voice}
1101 @lilypond[quote,verbatim]
1104 \relative { c'4 d e f }
1110 @node Missatge d'error Unbound variable %
1111 @unnumberedsubsec Missatge d'error Unbound variable %
1112 @translationof Error message Unbound variable %
1114 Aquest missatge d'error apareix al final dels missatges de la
1115 consola o del fitxer de registre junt a un missatge @qq{GUILE
1116 ha senyalat un error @dots{}} cada cop que es cridi a una rutina
1117 del Scheme que (incorrectament) contingui un comentari @emph{del
1118 LilyPond} enlloc d'un comentari @emph{del Scheme}.
1120 Els comentaris del LilyPond comencen amb un símbol de
1121 percentatge, (@code{%}), i no s'han d'utilitzar dins de les
1122 rutines del Scheme. Els comentaris del Scheme comencen amb punt i
1125 @node Missatge d'error FT_Get_Glyph_Name
1126 @unnumberedsubsec Missatge d'error FT_Get_Glyph_Name
1127 @translationof Error message FT_Get_Glyph_Name
1129 Aquest missatge d'error apareix a la sortida de la consola o al
1130 fitxer log de registre si un fitxer d'entrada conté un caràcter que
1131 no és ASCII i no s'ha desat en la codificació de caràcters
1132 UTF-8. Per veure més detalls, consulteu
1133 @rusernamed{Text encoding,Codificació del text}.
1135 @node Advertiment sobre que les afinitats del pentagrama sols han de decrèixer
1136 @unnumberedsubsec Advertiment sobre que les afinitats del pentagrama sols han de decrèixer
1137 @translationof Warning staff affinities should only decrease
1139 Aquest advertiment pot aparèixer si no hi ha cap pentagrama a la
1140 sortida impresa, per exemple si sols hi ha un context
1141 @code{ChordName} i un context @code{Lyrics} com a un full guia
1142 d'acords. Els missatges d'advertiment es poden evitar fent que un
1143 dels contextos es comporti com un pentagrama, inserint
1146 \override VerticalAxisGroup.staff-affinity = ##f
1150 al començament. Per veure més detalls, consulteu @qq{Espaiat de
1151 les línies que no són pautes} a
1152 @rusernamed{Flexible vertical spacing within systems,Espaiat vertical flexible dins dels sistemes}.
1154 @node Missatge d'error Unexpected new
1155 @unnumberedsubsec Missatge d'error Unexpected new @code{@bs{}new}
1156 @translationof Error message unexpected new
1158 Un bloc @code{\score} ha de contenir una @emph{única} expressió
1159 musical. Si en comptes d'això conté diverses instruccions
1160 @code{\new Staff}, @code{\new StaffGroup} o contextos semblants
1161 introduïts amb @code{\new} sense que s'hagin tancat entre
1162 claus, @code{@{ @dots{} @}}, o dobles parèntesis en
1163 angle, @code{<< @dots{} >>}, així:
1167 % Invàlid! Genera error: error de sintaxi, \new inesperat
1168 \new Staff @{ @dots{} @}
1169 \new Staff @{ @dots{} @}
1174 aleshores es produirà un missatge d'error.
1176 Per evitar l'error, tanqueu totes les instruccions @code{\new}
1177 dins de les claus o dobles parèntesis d'angle.
1179 L'ús de claus introdueix les instruccions @code{\new}
1180 de forma seqüencial:
1182 @lilypond[quote,verbatim]
1185 \new Staff { a' a' a' a' }
1186 \new Staff { g' g' g' g' }
1192 però és més probable que us trobeu utilitzant angles dobles de
1193 manera que els pentagrames nous s'insereixin en paral·lel, és a
1194 dir, simultàniament:
1196 @lilypond[quote,verbatim]
1199 \new Staff { a' a' a' a' }
1200 \new Staff { g' g' g' g' }