]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/ca/usage/running.itely
Doc-ca: Replaced l.l by l·l since in principle not it is save to use it
[lilypond.git] / Documentation / ca / usage / running.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: ca -*-
2
3 @ignore
4     Translation of GIT committish: 93d725094ee629b2d5200ab5a75b609579a62973
5
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..
9 @end ignore
10
11 @c \version "2.17.6"
12
13
14 @node Execució del LilyPond
15 @chapter Execució del LilyPond
16 @translationof Running LilyPond
17
18 Aquest capítol detalla els aspectes tècnics de l'execució del
19 LilyPond.
20
21 @menu
22 * Utilització normal::
23 * Utilització des de la línia d'ordres::
24 * Missatges d'error::
25 * Errors comuns::
26 @end menu
27
28
29 @node Utilització normal
30 @section Utilització normal
31 @translationof Normal usage
32
33 Gairebé tots els usuaris executen el LilyPond per mitjà d'una
34 interfície gràfica; consulteu @rlearning{Tutorial} si encara
35 no l'heu llegit.
36
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
40
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.
46
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}.
54
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
58 d'ordres.
59
60 @menu
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::
66 @end menu
67
68 @node Invocació del LilyPond
69 @unnumberedsubsec Invocació del @command{lilypond}
70 @translationof Invoking lilypond
71
72 L'executable @command{lilypond} es pot cridar des d'una línia
73 d'ordres de la manera següent:
74
75 @example
76 lilypond [@var{opció}]@dots{} @var{fitxer}@dots{}
77 @end example
78
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}.
82
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
89 Scheme.}.
90
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
96
97 @example
98 #(define output-suffix "violí")
99 \score @{ @dots{} @}
100 #(define output-suffix "violoncel")
101 \score @{ @dots{} @}
102 @end example
103
104 @noindent
105 produirà com a sortida @var{base}@file{-violí.pdf} i
106 @var{base}@file{-violoncel-1.pdf}.
107
108
109 @unnumberedsubsubsec Instruccions estàndard de la línia d'ordres
110
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:
114
115 @itemize
116
117 @item
118 @code{lilypond fitxer.ly 1>sortidaestandard.log} per redirigir la sortida normal
119
120 @item
121 @code{lilypond fitxer.ly 2>sortidaderror.log} per redirigir els missatges d'error
122
123 @item
124 @code{lilypond fitxer.ly &>tot.log} per redirigir tota la sortida
125
126 @end itemize
127
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.
132
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
136
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
140 @cindex modificadors
141
142 Estan contemplades les opcions següents:
143
144 @table @code
145
146 @item -d, --define-default=@var{variable}=@var{valor}
147 Vegeu @ref{Opcions avançades de la línia d'ordres per al LilyPond}.
148
149 @cindex Scheme, avaluació d'expressions
150 @cindex expressions del Scheme, avaluació
151
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.
156
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
159
160 @example
161 lilypond -e '(define-public a 42)'
162 @end example
163
164 @noindent
165 a la línia d'ordres, i incloure
166
167 @example
168 #(use-modules (guile-user))
169 @end example
170
171 @noindent
172 al principi del fitxer @file{.ly}.
173
174 @warning{Els usuaris de Windows han d'utilitzar cometes dobles en
175 comptes de cometes simples.}
176
177 @cindex sortida, format
178 @cindex format, sortida
179
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}.
183
184 Exemple: @code{lilypond -fpng @var{fitxer}.ly}
185
186 @item -h, --help
187 Mostra un resum de les formes de utilització.
188
189 @item -H, --header=@var{CAMP}
190 Bolca un camp de capçalera al fitxer @file{NOMBASE.@var{CAMP}}
191
192 @item -i, --init=@var{archivo}
193 Establir el fitxer d'inici a @var{fitxer} (predeterminat:
194 @file{init.ly}).
195
196 @cindex fitxers, cerca de
197 @cindex cerca, ruta de
198
199 @item -I, --include=@var{directori}
200 Afegir el @var{directori} a la ruta de cerca de fitxers
201 d'entrada.
202
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.
206
207 @cindex chroot, executar dins d'una gàbia
208
209 @item -j, --jail=@var{usuari},@var{grup},@var{gàbia},@var{directori}
210 Executar @command{lilypond} a una gàbia de chroot.
211
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}).
217
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}.
227
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:
233
234 @table @asis
235
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
245 li permeti.
246
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
252 @var{directori}.
253
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.
260
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.
264
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}.
275
276 @end table
277
278 @cindex loglevel
279 @cindex registre, nivell de
280 @cindex sortida neta, fixar el nivell
281
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:
285
286 @table @code
287
288 @item NONE
289 Cap sortida en absolut, ni tan sols missatges d'error.
290
291 @item ERROR
292 Sols missatges d'error, cap advertiment o indicacions de progrés.
293
294 @item WARN
295 Advertiments i missatges d'error, no de progrés.
296
297 @item BASIC_PROGRESS
298 Missatges de progrés bàsics (èxit), advertiment i errors.
299
300 @item PROGRESS
301 Tots els missatges de progrés, advertiments i errors.
302
303 @item INFO (predeterminat)
304 Missatges de progrés, advertiments, errors i informació d'execució
305 addicional.
306
307 @item DEBUG
308 Tots els missatges possibles, fins i tot la informació detallada de
309 depuració.
310 @end table
311
312 @cindex carpeta, dirigir la sortida cap a
313 @cindex sortida, establir el nom del fitxer de
314
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.
321
322 @cindex PS (Postscript), sortida
323 @cindex Postscript (PS), sortida
324 @cindex sortida, PS (Postscript)
325
326 @item --ps
327 Generar PostScript.
328
329 @cindex PNG (Portable Network Graphics), sortida
330 @cindex sortida, PNG (Portable Network Graphics)
331
332 @item --png
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
335 amb
336 @example
337 -dresolution=110
338 @end example
339
340 @cindex PDF (format de document portàtil), sortida de
341 @cindex sortida, PDF (format de document portàtil)
342
343 @item --pdf
344 Genera PDF.  Implica @option{--ps}.
345
346 @item -v, --version
347 Mostra la informació de la versió.
348
349 @item -V, --verbose
350 Sigues detallat: mostra les rutes completes de tots els fitxers
351 que se llegeixen, i dóna informació cronomètrica.
352
353 @item -w, --warranty
354 Mostra la garantia del GNU LilyPond (no ve amb
355 @strong{CAP GARANTIA}!).
356
357 @end table
358
359
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
363
364 @table @code
365
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}.
368
369 @example
370 -dbackend=svg
371 @end example
372
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:
376
377 @cindex apuntar i clicar, línia d'ordres
378
379 @example
380 -dno-point-and-click
381 @end example
382
383 @noindent
384 és el mateix que
385 @example
386 -dpoint-and-click=#f
387 @end example
388 @end table
389
390 @noindent Estan contemplades les següents opcions junt als seus
391 respectius valors  predeterminats:
392
393 @multitable @columnfractions .33 .16 .51
394 @item @strong{Símbol}
395 @tab @strong{Valor}
396 @tab @strong{Explicació/Opcions}
397
398 @item @code{anti-alias-factor} (factor d'antiàlies)
399 @tab @code{1}
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}.
403
404 @item @code{aux-files} (fitxers auxiliars)
405 @tab @code{#t}
406 @tab Crea fitxeres  @code{.tex}, @code{.texi}, @code{.count} al
407 @q{back-end} @code{EPS}.
408
409 @item @code{backend}
410 @tab @code{ps}
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.
416
417 @item
418 @tab @code{eps}
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}.
424
425 @item
426 @tab @code{null}
427 @tab No produeixes cap partitura impresa a la sortida; té el
428 mateix efecte que @code{-dno-print-pages}.
429
430 @item
431 @tab @code{svg}
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.
443
444 @item
445 @tab @code{scm}
446 @tab Bolcat de les instruccions de dibuix internes basades en
447 Scheme, en brut.
448
449 @item @code{check-internal-types}
450 n@tab @code{#f}
451 @tab Comprova el tipus de cada assignació de propietats.
452
453 @item @code{clip-systems} (retalla els sistemes de pentagrames)
454 @tab @code{#f}
455 @tab Genera framents d'imatge retallats d'una partitura.
456
457 @item @code{datadir} (directori de dades)
458 @tab
459 @tab Prefix dels fitxers de dades (sols lectura).
460
461 @item @code{debug-gc}
462 @tab @code{#f}
463 @tab Bolca estadístiques de depuració de memòria.
464
465 @item @code{debug-gc-assert-parsed-dead}
466 @tab @code{#f}
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'}.
470
471 @item @code{debug-lexer}
472 @tab @code{#f}
473 @tab Depuració de l'analitzador lèxic flex.
474
475 @item @code{debug-page-breaking-scoring}
476 @tab @code{#f}
477 @tab Bolca les partitures per a moltes configuracions de salts de
478 pàgina diferents.
479
480 @item @code{debug-parser}
481 @tab @code{#f}
482 f@tab Depuració de l'analitzador sintàctic bison.
483
484 @item @code{debug-property-callbacks}
485 @tab @code{#f}
486 @tab Depuració de les cadenes cícliues de funcions de callback.
487
488 @item @code{debug-skylines}
489 @tab @code{#f}
490 @tab Depuració de les línies de horitzó.
491
492 @item @code{delete-intermediate-files}
493 @tab @code{#t}
494 @tab Elimina els fitxers intermedis @code{.ps} inútils que es
495 creen durant la compilació.
496
497 @item @code{dump-cpu-profile}
498 @tab @code{#f}
499 @tab Bolcar informació de comptabilització del temps (dependent
500 del sistema).
501
502 @item @code{dump-profile}
503 @tab @code{#f}
504 @tab Bolca la informació de memòria i de temps de cada fitxer.
505
506 @item @code{dump-signatures}
507 @tab @code{#f}
508 @tab Bolca les signatures de sortida de cada sistema.  Usat per a
509 les proves de regressió.
510
511 @item @code{eps-box-padding}
512 @tab @code{#f}
513 @tab Omple la vora esquerra de la capsa contenidora de l'EPS de
514 sortida en la quantitat donada (en mm).
515
516 @item @code{gs-load-fonts}
517 @tab @code{#f}
518 @tab Carrega els tipus tipogràfics de lletra a través del Ghostscript.
519
520 @item @code{gs-load-lily-fonts}
521 @tab @code{#f}
522 @tab Carrega sols els tipus de lletra del LilyPond per mitjà del
523 Ghostscript.
524
525 @item @code{gui}
526 @tab @code{#f}
527 @tab S'executa silenciosament i es redirigeix tota la sortida a un
528 fitxer de registre.
529 @end multitable
530
531 @noindent
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.
539
540 @multitable @columnfractions .33 .16 .51
541 @item @code{help}
542 @tab @code{#f}
543 @tab Mostra aquesta ajuda
544
545 @item @code{include-book-title-preview}
546 @tab @code{#t}
547 @tab Inclou els títols de llibre a les imatges de vista prèvia.
548
549 @item @code{include-eps-fonts}
550 @tab @code{#t}
551 @tab Incloure els tipus tipogràfics de fonts als fitxers EPS de
552 cadascú dels sistemes.
553
554 @item @code{include-settings}
555 @tab @code{#f}
556 @tab Inclou el fitxer dels ajustos globals, s'inclou abans que la
557 partitura es processi.
558
559 @item @code{job-count}
560 @tab @code{#f}
561 @tab Processa en paral·lel, usant el nombre de tasques donat.
562
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}.
567
568 @item @code{max-markup-depth}
569 @tab @code{1024}
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
573 d'etiquetatge nul.
574
575 @item @code{midi-extension}
576 @tab @code{"midi"}
577 @tab Fixa l'extensió de fitxer predeterminat per al fitxer de
578 sortida MIDI a la cadena donada.
579
580 @item @code{music-strings-to-paths}
581 @tab @code{#f}
582 @tab Converteix les cadenes de text a rutes quan els glifs
583 pertanyen a un tipus de lletra de tipografia musical.
584
585 @item @code{paper-size}
586 @tab @code{\"a4\"}
587 @tab Estableix la mida predeterminada del paper.  Observeu que la
588 cadena ha d'anar tancada entre cometes dobles.
589
590 @item @code{pixmap-format}
591 @tab @code{png16m}
592 @tab Fixa el format de sortida del Ghostsript per a les imatges de píxels.
593
594 @item @code{point-and-click}
595 @tab @code{#f}
596 @tab Afegeix enllaços d'@q{apuntar i
597 clicar} a la sortida @code{PDF}. Vegeu
598 @ref{Point and click}.
599
600 @item @code{preview}
601 @tab @code{#f}
602 @tab Crea imatges de vista prèvia a més de la sortida normal.
603 @end multitable
604
605 @noindent
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}.
615
616 Per suprimir la sortida actual, utilitzeu les opcions
617 @option{-dprint-pages} o @option{-dno-print-pages} segons les
618 vostres necessitats.
619
620 @multitable @columnfractions .33 .16 .51
621 @item @code{print-pages}
622 @tab @code{#t}
623 @tab Genera pàgines completes (és l'opció predeterminada).  És útil
624 @option{-dno-print-pages} en combinació amb @option{-dpreview}.
625
626 @item @code{profile-property-accesses}
627 @tab @code{#f}
628 @tab Conserva les estadístiques de les crides de funció
629 @code{get_property()}.
630
631 @item @code{protected-scheme-parsing}
632 @tab @code{#t}
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.
636
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.
641
642 @item @code{relative-includes}
643 @tab @code{#f}
644 @tab Quan es processa una instrucció @code{\include}, cerca el
645 fitxer inclòs de forma relativa al fitxer actual (enlloc del
646 fitxer principal).
647
648 @item @code{resolution}
649 @tab @code{101}
650 @tab Fixa la resolució per generar imatges de píxels @code{PNG} al
651 valor donat (en ppp).
652
653 @item @code{safe}
654 @tab @code{#f}
655 @tab No confiïs en l'entrada @code{.ly}.
656 @end multitable
657
658 @noindent
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:
663
664 @quotation
665 @verbatim
666 #(system "rm -rf /")
667 {
668   c4^$(ly:gulp-file "/etc/passwd")
669 }
670 @end verbatim
671 @end quotation
672
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}.
678
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.
683
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.
690
691 El mode segur evita que es puguin compilar molts fragments de codi
692 útils.
693
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}.
697
698 @multitable @columnfractions .33 .16 .51
699 @item @code{separate-log-files}
700 @tab @code{#f}
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{}
704
705 @item @code{show-available-fonts}
706 @tab @code{#f}
707 @tab Llista tots els noms dels tipus tipogràfics de lletra
708 disponibles.
709
710 @item @code{strict-infinity-checking}
711 @tab @code{#f}
712 @tab Força una terminació abrupta si es troben les excepcions de
713 punt flotant @code{Inf} i @code{NaN}.
714
715 @item @code{strip-output-dir}
716 @tab @code{#t}
717 @tab No usis els directoris dels fitxers d'entrada en construir
718 els noms dels fitxers de sortida.
719
720 @item @code{strokeadjust}
721 @tab @code{#f}
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}.
731
732 @item @code{svg-woff}
733 @tab @code{#f}
734 @tab Usar fitxers de tipus tipogràfic de lletra de woff al
735 rerefons SVG.
736
737 @item @code{trace-memory-frequency}
738 @tab @code{#f}
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}.
742
743 @item @code{trace-scheme-coverage}
744 @tab @code{#f}
745 @tab Registra la cobertura dels fitxers del Scheme a @code{FITXER.cov}.
746
747 @item @code{verbose}
748 @tab @code{#f}
749 @tab Sortida detallada, és a dir el nivell de registre en DEBUT
750 (sols lectura).
751
752 @item @code{warning-as-error}
753 @tab @code{#f}
754 @tab Canvia tots els missatges d'advertiment i de @q{error de
755 programació} a errors.
756 @end multitable
757
758
759 @node Variables d'entorn
760 @unnumberedsubsec Variables d'entorn
761 @translationof Environment variables
762
763 @cindex LANG
764 @cindex LILYPOND_DATADIR
765
766 @command{lilypond} reconeix les següents variables d'entorn:
767 @table @code
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/},
772 @file{tex/}, etc.
773
774 @item LANG
775 Selecciona l'idioma dels missatges d'advertiment.
776
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.
781
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}.
787
788 @end table
789
790
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
794
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.
800
801 @itemize
802
803 @item Instal·leu els paquets necessaris: el LilyPond, el Ghostscript i l'ImageMagick.
804
805 @item Creeu un usuari nou amb el nom de @code{lily}:
806
807 @example
808 adduser lily
809 @end example
810
811 @noindent
812 Això també crearà un nou grup per a l'usuari @code{lily}, i una
813 carpeta personal, @code{/home/lily}
814
815 @item A la carpeta personal de l'usuari @code{lily}, creeu un fitxer per usar-lo com a sistema de fitxers separat:
816
817 @example
818 dd if=/dev/zero of=/home/lily/loopfile bs=1k count= 200000
819 @end example
820
821 @noindent
822 Aquest exemple crea un fitxer de 200MB per al seu ús com el
823 sistema de fitxers de la gàbia.
824
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
827 @code{lily}:
828
829 @example
830 mkdir /mnt/lilyloop
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
836 @end example
837
838 @item En la configuració dels servidors, JAIL serà @code{/mnt/lilyloop}
839 i DIR serà @code{/lilyhome}.
840
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
843 més avall.
844
845 Podeu usar @code{sed} per crear els fitxeres de còpia necessaris per a
846 un executable donat:
847
848 @example
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
853 @end example
854
855 @end itemize
856
857 @subheading Guió d'exemple per a l'Ubuntu 8.04 de 32 bits
858
859 @example
860 #!/bin/sh
861 ## aquí es fixen els valors predeterminats
862
863 username=lily
864 home=/home
865 loopdevice=/dev/loop0
866 jaildir=/mnt/lilyloop
867 # prefix (sense la barra inicial!)
868 lilyprefix=usr/local
869 # el directori en el qual el LilyPond es troba instal·lat en el sistema
870 lilydir=/$lilyprefix/lilypond/
871
872 userhome=$home/$username
873 loopfile=$userhome/loopfile
874 adduser $username
875 dd if=/dev/zero of=$loopfile bs=1k count=200000
876 mkdir $jaildir
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
882 cd $jaildir
883
884 mkdir -p bin usr/bin usr/share usr/lib usr/share/fonts $lilyprefix tmp
885 chmod a+w tmp
886
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
891
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
898
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
903
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
909 @end example
910
911 @c " keep quote signs balanced for context-sensitive editors
912
913 @node Missatges d'error
914 @section Missatges d'error
915 @translationof Error messages
916
917 @cindex error, missatges d'error
918 @cindex missatges d'error
919
920 Poden aparèixer diferents missatges d'error en compilar un fitxer:
921
922 @table @emph
923
924 @item Advertiment
925 @cindex advertiment
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
929 fitxer d'entrada.
930
931 @item Error
932 @cindex error
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à.
936
937 @item Error fatal
938 @cindex error fatal
939 @cindex fatal, error
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.
943
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ó
953 ofensiva.
954
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.
963
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.
968 @end table
969
970 @cindex error, format dels missatges de
971
972 Si els errors i advertiments es poden lligar a un punt del fitxer
973 d'entrada, els missatges tenen la forma següent:
974
975 @example
976 @var{fitxer}:@var{línia}:@var{columna}: @var{missatge}
977 @var{línia d'entrada problemàtica}
978 @end example
979
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,
982
983 @example
984 prova.ly:2:19: error: no és una duració: 5
985   @{ c'4 e'
986            5 g' @}
987 @end example
988
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.
995
996 S'ofereix més informació sobre els errors a la secció @ref{Errors
997 comuns}.
998
999 @node Errors comuns
1000 @section Errors comuns
1001 @translationof Common errors
1002
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.
1006
1007 @menu
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::
1014 @end menu
1015
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
1019
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
1032 final del compàs.
1033
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.}
1037
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}.
1041
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}.
1046
1047
1048 @node Apareix un pentagrama de més
1049 @unnumberedsubsec Apareix un pentagrama de més
1050 @translationof An extra staff appears
1051
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.
1064
1065 @lilypond[quote,verbatim,relative=2]
1066 \override Staff.NoteHead.color = #red
1067 \new Staff { a }
1068 @end lilypond
1069
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
1076
1077 @lilypond[quote,verbatim,relative=2]
1078 \new Staff {
1079   \override Staff.NoteHead.color = #red
1080   a
1081 }
1082 @end lilypond
1083
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}.
1089
1090 @lilypond[quote,verbatim]
1091 \repeat unfold 2 {
1092   \relative c' { c4 d e f }
1093 }
1094 @end lilypond
1095
1096 El problema es resol instanciant el context @code{Voice}
1097 explícitament:
1098
1099 @lilypond[quote,verbatim]
1100 \new Voice {
1101   \repeat unfold 2 {
1102     \relative c' { c4 d e f }
1103   }
1104 }
1105 @end lilypond
1106
1107
1108 @node Missatge d'error Unbound variable %
1109 @unnumberedsubsec Missatge d'error Unbound variable %
1110 @translationof Error message Unbound variable %
1111
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}.
1117
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
1121 coma, (@code{;}).
1122
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
1126
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}.
1132
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
1136
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
1142
1143 @example
1144 \override VerticalAxisGroup.staff-affinity = ##f
1145 @end example
1146
1147 @noindent
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}.
1151
1152 @node Missatge d'error Unexpected new
1153 @unnumberedsubsec Missatge d'error Unexpected new @code{@bs{}new}
1154 @translationof Error message unexpected new
1155
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í:
1162
1163 @example
1164 \score @{
1165   % Invàlid! Genera error: error de sintaxi, \new inesperat
1166   \new Staff @{ @dots{} @}
1167   \new Staff @{ @dots{} @}
1168 @}
1169 @end example
1170
1171 @noindent
1172 aleshores es produirà un missatge d'error.
1173
1174 Per evitar l'error, tanqueu totes les instruccions @code{\new}
1175 dins dels claudàtors corbs o dobles parèntesis d'angle.
1176
1177 L'ús de claudàtors corbs introdueix les instruccions @code{\new}
1178 de forma seqüencial:
1179
1180 @lilypond[quote,verbatim]
1181 \score {
1182   {
1183     \new Staff { a' a' a' a' }
1184     \new Staff { g' g' g' g' }
1185   }
1186 }
1187 @end lilypond
1188
1189 @noindent
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:
1193
1194 @lilypond[quote,verbatim]
1195 \score {
1196   <<
1197     \new Staff { a' a' a' a' }
1198     \new Staff { g' g' g' g' }
1199   >>
1200 }
1201 @end lilypond