]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/it/usage/lilypond-book.itely
Merge branch 'lilypond/translation' of ssh://thsoft@git.sv.gnu.org/srv/git/lilypond...
[lilypond.git] / Documentation / it / usage / lilypond-book.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
2
3 @ignore
4     Translation of GIT committish: f78131595ebafac25a416671e5a4b9c8b14e79b5
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.13.36"
12
13 @c Note: keep this node named so that `info lilypond-book' brings you here.
14 @node lilypond-book
15 @chapter Eseguire @command{lilypond-book}
16
17 Se si desidera aggiungere a un documento illustrazioni musicali, si può
18 semplicemente fare nello stesso modo in cui si farebbe con altri tipi di
19 immagini: prima si creano le immagini separatamente, in formato PostScript o
20 PNG, poi le si includono in un documento @LaTeX{} o HTML.
21
22 @command{lilypond-book} offre la possibilità di automatizzare tale procedimento: questo
23 programma estrae i frammenti musicali dal documento, esegue @command{lilypond}
24 su di essi e crea un nuovo documento contenente le illustrazioni musicali così
25 ottenute.  Le definizioni relative alla larghezza del rigo e alle dimensioni
26 dei caratteri vengono regolate per adeguarsi alla formattazione del documento.
27
28 Si tratta di un programma separato da @command{lilypond} e viene lanciato
29 dalla linea di comando; per maggiori informazioni, si veda @ref{Command-line
30 usage}.  Chi usa MacOS 10.3 o 10.4 e non riesce ad eseguire
31 @code{lilypond-book} veda @rweb{MacOS X}.
32
33 Questo procedimento può essere applicato ai documenti @LaTeX{}, HTML, Texinfo
34 o DocBook.
35
36 @cindex texinfo
37 @cindex latex
38 @cindex texinfo
39 @cindex texi
40 @cindex html
41 @cindex docbook
42 @cindex documenti, aggiungere musica ai
43 @cindex HTML, musica in
44 @cindex Texinfo, musica in
45 @cindex DocBook, musica in
46 @cindex @LaTeX{}, musica in
47
48 @menu
49 * Un esempio di documento musicologico::
50 * Integrare musica e testo::
51 * Opzioni dei frammenti musicali::
52 * Utilizzo di lilypond-book::
53 * Estensioni dei nomi di file::
54 * Modelli per lilypond-book::
55 * Condividere l'indice::
56 * Metodi alternativi per combinare testo e musica::
57 @end menu
58
59
60 @node Un esempio di documento musicologico
61 @section Un esempio di documento musicologico
62 @translationof An example of a musicological document
63
64 @cindex musicologia
65 Alcuni testi contengono degli esempi musicali: si tratta di
66 trattati musicologici, canzonieri o manuali come questo.  È possibile
67 crearli a mano, semplicemente importando un'immagine PostScript
68 nell'elaboratore di testo.  Tuttavia esiste una procedura automatizzata
69 che permette di ridurre il carico di lavoro richiesto dai documenti in
70 formato HTML, @LaTeX{}, Texinfo e DocBook.
71
72 Uno script chiamato @code{lilypond-book} estrarrà i frammenti musicali, li
73 formatterà e restituirà la notazione risultante.  Ecco un piccolo esempio
74 da usare con @LaTeX{}.  L'esempio contiene anche del testo esplicativo,
75 dunque non è necessario entrare nei dettagli.
76
77 @subheading Input
78
79 @quotation
80 @verbatim
81 \documentclass[a4paper]{article}
82
83 \begin{document}
84
85 I documenti per \verb+lilypond-book+ possono combinare liberamente musica e testo.
86 Ad esempio,
87
88 \begin{lilypond}
89 \relative c' {
90   c2 e2 \times 2/3 { f8 a b } a2 e4
91 }
92 \end{lilypond}
93
94 Le opzioni vengono specificate tra parentesi quadre.
95
96 \begin{lilypond}[fragment,quote,staffsize=26,verbatim]
97   c'4 f16
98 \end{lilypond}
99
100 Se l'esempio è più grande, è possibile metterlo in un file separato e inserirlo
101 con \verb+\lilypondfile+.
102
103 \lilypondfile[quote,noindent]{screech-boink.ly}
104
105 (Se vuoi provare, sostituisci @file{screech-boink.ly} con qualsiasi file @file{.ly}
106 che si trovi nella stessa directory di questo file.)
107
108 \end{document}
109 @end verbatim
110 @end quotation
111
112 @subheading Elaborazione
113
114 Salva il codice precedente in un file chiamato @file{lilybook.lytex}, quindi
115 esegui in un terminale
116
117 @c keep space after @version{} so TeX doesn't choke
118 @example
119 lilypond-book --output=out --pdf lilybook.lytex
120 @emph{lilypond-book (GNU LilyPond) @version{} }
121 @emph{Lettura di lilybook.lytex...}
122 @emph{..tagliato molto output..}
123 @emph{Compilazione di lilybook.tex...}
124 cd out
125 pdflatex lilybook.tex
126 @emph{..tagliato molto output..}
127 xpdf lilybook.pdf
128 @emph{(sostituisci @command{xpdf} col tuo lettore PDF preferito)}
129 @end example
130
131 L'esecuzione di @command{lilypond-book} e @command{pdflatex} crea molti file
132 temporanei e questo potrebbe rendere disordinata la directory di lavoro.  Per
133 ovviare a questo inconveniente, è consigliabile usare l'opzione @code{--output=@var{dir}}.  In questo
134 modo i file verranno salvati in una sottodirectory @file{dir} separata.
135
136 Infine ecco il risultato dell'esempio in @LaTeX{}.@footnote{Questo
137 tutorial è elaborato da Texinfo, dunque l'esempio produce dei risultati
138 leggermente diversi nella formattazione.}  Si conclude qui la parte di
139 tutorial.
140
141 @page
142
143 @subheading Output
144
145 I documenti per \verb+lilypond-book+ possono combinare liberamente musica e testo.
146 Ad esempio,
147
148 @lilypond
149 \relative c' {
150   c2 e2 \times 2/3 { f8 a b } a2 e4
151 }
152 @end lilypond
153
154 Le opzioni vengono specificate tra parentesi quadre.
155
156 @lilypond[fragment,quote,staffsize=26,verbatim]
157 c'4 f16
158 @end lilypond
159
160 Se l'esempio è più grande, è possibile riportarlo in un file a parte e inserirlo
161 con \verb+\lilypondfile+.
162
163 @lilypondfile[quote,noindent]{screech-boink.ly}
164
165 Perché sia visibile la @code{tagline}, predefinita o personalizzata, l'intero
166 frammento deve essere compreso in un costrutto @code{\book @{ @}}.
167
168 @lilypond[papersize=a8,verbatim]
169 \book{
170   \header{
171     title = "Una scala in LilyPond"
172   }
173
174   \relative c' {
175     c d e f g a b c
176   }
177 }
178 @end lilypond
179
180 @page
181
182 @node Integrare musica e testo
183 @section Integrare musica e testo
184 @translationof Integrating music and text
185
186 Questa sezione spiega come integrare LilyPond in vari formati di output.
187
188 @menu
189 * LaTeX::
190 * Texinfo::
191 * HTML::
192 * DocBook::
193 @end menu
194
195 @node LaTeX
196 @subsection @LaTeX{}
197
198 @LaTeX{} costituisce lo standard de facto per le pubblicazioni nell'ambito
199 delle scienze esatte.  Si basa sul motore tipografico @TeX{}, che produce la
200 migliore qualità tipografica possibile.
201
202 Si veda
203 @uref{http://@/www@/.ctan@/.org/@/tex@/-archive/@/info/@/lshort/@/english/,
204 @emph{The Not So Short Introduction to @LaTeX{}}} per una panoramica
205 sull'uso di @LaTeX{}.
206
207 La musica si inserisce in vari modi:
208
209 @example
210 \begin@{lilypond@}[le,opzioni,vanno,qui]
211   CODICE LILYPOND
212 \end@{lilypond@}
213 @end example
214
215 @noindent
216 oppure
217
218 @example
219 \lilypondfile[le,opzioni,vanno,qui]@{@var{nomefile}@}
220 @end example
221
222 @noindent
223 oppure
224
225 @example
226 \lilypond[le,opzioni,vanno,qui]@{ CODICE LILYPOND @}
227 @end example
228
229 Inoltre, @code{\lilypondversion} mostra la versione
230 di lilypond impiegata.
231 L'esecuzione di @command{lilypond-book} produce un file che può essere
232 ulteriormente elaborato con @LaTeX{}.
233
234 Vediamo alcuni esempi.  L'ambiente @code{lilypond}
235
236 @example
237 \begin@{lilypond@}[quote,fragment,staffsize=26]
238   c' d' e' f' g'2 g'2
239 \end@{lilypond@}
240 @end example
241
242 @noindent
243 genera
244
245 @lilypond[quote,fragment,staffsize=26]
246 c' d' e' f' g'2 g'2
247 @end lilypond
248
249 La versione breve
250
251 @example
252 \lilypond[quote,fragment,staffsize=11]@{<c' e' g'>@}
253 @end example
254
255 @noindent
256 genera
257
258 @lilypond[quote,fragment,staffsize=11]{<c' e' g'>}
259
260 @noindent
261 Attualmente non è possibile includere @code{@{} o @code{@}} all'interno di
262 @code{\lilypond@{@}}, dunque questo comando è utile solo se usato con
263 l'opzione @code{fragment}.
264
265 La lunghezza predefinita del rigo musicale sarà regolata in base ai
266 comandi presenti nel preambolo del documento, ovvero la parte del documento
267 che precede @code{\begin@{document@}}.  Il comando @command{lilypond-book}
268 li invia a @LaTeX{} per definire la larghezza del testo.  La larghezza del
269 rigo nei frammenti musicali è quindi regolato in base alla larghezza del
270 testo.  Si noti che questo algoritmo euristico può fallire facilmente; in
271 questi casi occorre usare l'opzione @code{line-width} nel frammento musicale.
272
273 @cindex titoli e lilypond-book
274 @cindex \header nei documenti @LaTeX{}
275
276 Ogni frammento chiamerà le seguenti macro se sono state definite
277 dall'utente:
278
279 @itemize @bullet
280 @item @code{\preLilyPondExample} prima della musica,
281
282 @item @code{\postLilyPondExample} dopo la musica,
283
284 @item @code{\betweenLilyPondSystem[1]} tra i sistemi, se
285 @code{lilypond-book} ha diviso il frammento in più file
286 PostScript.  Prende un parametro e riceve
287 tutti i file già inclusi in questo frammento.
288 Per impostazione predefinita inserisce semplicemente un @code{\linebreak}.
289 @end itemize
290
291 @ignore
292 Broken stuff.  :(
293
294 @cindex Latex, feta symbols
295 @cindex fetachar
296
297 To include feta symbols (such as flat, segno, etc) in a LaTeX
298 document, use @code{\input@{titledefs@}}
299
300 @example
301 \documentclass[a4paper]@{article@}
302
303 \input@{titledefs@}
304
305 \begin@{document@}
306
307 \fetachar\fetasharp
308
309 \end@{document@}
310 @end example
311
312 The font symbol names are defined in the file feta20.tex; to find
313 the location of this file, use the command
314
315 @example
316 kpsewhich feta20.tex
317 @end example
318
319 @end ignore
320
321 @snippets
322
323 Talvolta si ha necessità di mostrare degli elementi musicali (ad esempio le
324 legature di portamento e di valore) che proseguono dopo la fine del
325 frammento.  È possibile inserirli mandando il rigo a capo e
326 impedendo l'inclusione del restante output di LilyPond.
327
328 In @LaTeX{}, si definisce @code{\betweenLilyPondSystem} in modo tale che
329 l'inclusione di altri sistemi venga terminata una volta incluso il
330 numero di sistemi richiesti.  Dato che @code{\betweenLilyPondSystem} viene
331 chiamato la prima volta @emph{dopo} il primo sistema, includere solo il primo
332 sistema è semplice.
333
334 @example
335 \def\betweenLilyPondSystem#1@{\endinput@}
336
337 \begin@{lilypond@}[fragment]
338   c'1\( e'( c'~ \break c' d) e f\)
339 \end@{lilypond@}
340 @end example
341
342 Se serve una maggior quantità di sistemi, occorre usare un condizionale
343 @TeX{} prima di @code{\endinput}.  In questo esempio, sostituisci @q{2} col
344 numero di sistemi che desideri avere nell'output.
345
346 @example
347 \def\betweenLilyPondSystem#1@{
348     \ifnum#1<2\else\expandafter\endinput\fi
349 @}
350 @end example
351
352 @noindent
353 (Dato che @code{\endinput} arresta immediatamente l'elaborazione del file di
354 input corrente, occorre usare @code{\expandafter} per ritardare la chiamata di
355 @code{\endinput} e far sì che avvenga dopo l'esecuzione di @code{\fi}, in modo
356 da bilanciare la condizione @code{\if}-@code{\fi}.)
357
358 Ricorda che la definizione di @code{\betweenLilyPondSystem} è
359 efficace finché @TeX{} esce dal gruppo attuale (ad esempio l'ambiente
360 @LaTeX{}) o è sovrascritto da un'altra definizione (che vale, in
361 gran parte dei casi, per il resto del documento).  Per reimpostare
362 la definizione, si scrive
363
364 @example
365 \let\betweenLilyPondSystem\undefined
366 @end example
367
368 @noindent
369 nel sorgente @LaTeX{}.
370
371 Si potrebbe semplificare la procedura creando una macro @TeX{}
372
373 @example
374 \def\onlyFirstNSystems#1@{
375     \def\betweenLilyPondSystem##1@{%
376       \ifnum##1<#1\else\expandafter\endinput\fi@}
377 @}
378 @end example
379
380 @noindent
381 e poi specificando prima di ogni frammento la quantità di sistemi desiderata,
382
383 @example
384 \onlyFirstNSystems@{3@}
385 \begin@{lilypond@}...\end@{lilypond@}
386 \onlyFirstNSystems@{1@}
387 \begin@{lilypond@}...\end@{lilypond@}
388 @end example
389
390
391 @seealso
392 Esistono opzioni specifiche da linea di comando per @command{lilypond-book} e
393 altri dettagli da conoscere quando si elaborano documenti @LaTeX{}; si veda
394 @ref{Invoking lilypond-book}.
395
396
397 @node Texinfo
398 @subsection Texinfo
399 @translationof Texinfo
400
401 Texinfo è il formato standard per la documentazione del progetto GNU.  Un
402 esempio di documento Texinfo è questo stesso manuale.  Le versioni del manuale
403 in formato HTML, PDF e Info vengono generate da un documento Texinfo.
404
405 Nel file di input, la musica viene indicata con
406
407 @example
408 @@lilypond[options,go,here]
409   IL TUO CODICE LILYPOND
410 @@end lilypond
411 @end example
412
413 @noindent
414 oppure
415
416 @example
417 @@lilypond[le,opzioni,vanno,qui]@{ IL TUO CODICE LILYPOND @}
418 @end example
419
420 @noindent
421 oppure
422
423 @example
424 @@lilypondfile[le,opzioni,vanno,qui]@{@var{nomefile}@}
425 @end example
426
427 Inoltre, @code{@@lilypondversion} mostra la versione di
428 lilypond impiegata.
429
430 Quando si esegue @command{lilypond-book} su di esso, il risultato è un
431 file Texinfo (con estensione @file{.texi}) contenente degli elementi @code{@@image}
432 per l'HTML, Info e l'output per la stampa.  @command{lilypond-book} genera le
433 immagini della musica in formati EPS e PDF per l'utilizzo nell'output per la
434 stampa e in formato PNG per l'utilizzo nell'output HTML e Info.
435
436 Vediamo due piccoli esempi.  Un ambiente @code{lilypond}
437
438 @example
439 @@lilypond[fragment]
440 c' d' e' f' g'2 g'
441 @@end lilypond
442 @end example
443
444 @noindent
445 genera
446
447 @lilypond[fragment]
448 c' d' e' f' g'2 g'
449 @end lilypond
450
451 La versione breve
452
453 @example
454 @@lilypond[fragment,staffsize=11]@{<c' e' g'>@}
455 @end example
456
457 @noindent
458 genera
459
460 @lilypond[fragment,staffsize=11]{<c' e' g'>}
461
462 Diversamente da @LaTeX{}, @code{@@lilypond@{...@}} non genera un'immagine
463 nel testo.  Prende sempre un paragrafo proprio.
464
465
466 @node HTML
467 @subsection HTML
468 @translationof HTML
469
470 La musica si inserisce in questo modo
471
472 @example
473 <lilypond fragment relative=2>
474 \key c \minor c4 es g2
475 </lilypond>
476 @end example
477
478 @noindent
479 @command{lilypond-book} genera quindi un file HTML con gli elementi appropriati
480 per le immagini dei frammenti musicali:
481
482 @lilypond[fragment,relative=2]
483 \key c \minor c4 es g2
484 @end lilypond
485
486 Per le immagini in linea, si usa @code{<lilypond ... />}, dove le opzioni
487 sono distinte dalla musica attraverso i due punti, ad esempio
488
489 @example
490 Un po' di musica in <lilypond relative=2: a b c/> una linea di testo.
491 @end example
492
493 Per includere file separati, si usa
494
495 @example
496 <lilypondfile @var{option1} @var{option2} ...>@var{filename}</lilypondfile>
497 @end example
498
499 Per una lista di opzioni da usare con gli elementi @code{lilypond} e
500 @code{lilypondfile}, si veda @ref{Music fragment options}.
501
502 Inoltre, @code{<lilypondversion/>} mostra la versione di
503 lilypond impiegata.
504
505
506 @cindex titoli in HTML
507 @cindex immagine di anteprima
508 @cindex miniatura
509
510 @node DocBook
511 @subsection DocBook
512 @translationof DocBook
513
514 Per inserire frammenti di codice LilyPond è una buona idea mantenere la
515 conformità del documento DocBook, in modo da poter usare gli editor DocBook, la
516 validazione, etc.  Quindi non si usano elementi personalizzati, ma si
517 specifica una convenzione basata sugli elementi DocBook standard.
518
519 @subheading Convenzioni comuni
520
521 Per inserire un frammento di qualsiasi tipo si usano gli elementi @code{mediaobject}
522 e @code{inlinemediaobject}, in modo che il frammento possa essere formattato
523 in linea o meno.  Le opzioni di formattazione del frammento vengono sempre
524 indicate nella proprietà @code{role} dell'elemento più interno (si vedano
525 le prossime sezioni).  Gli elementi sono scelti in modo da permettere agli editor
526 DocBook di ottenere una formattazione ottimale.  I file DocBook da
527 elaborare con @command{lilypond-book} devono avere estensione @file{.lyxml}.
528
529 @subheading Includere un file LilyPond
530
531 Si tratta del caso più semplice.  Bisogna usare l'estensione @file{.ly} per
532 il file da includere e inserirlo come uno standard @code{imageobject}, con
533 la seguente struttura:
534
535 @example
536 <mediaobject>
537   <imageobject>
538     <imagedata fileref="music1.ly" role="printfilename" />
539   </imageobject>
540 </mediaobject>
541 @end example
542
543 Nota che sei libero di usare @code{mediaobject} o @code{inlinemediaobject}
544 come elemento più esterno.
545
546 @subheading Includere codice LilyPond
547
548 È possibile includere codice LilyPond all'interno di un elemento
549 @code{programlisting} in cui il linguaggio sia impostato su @code{lilypond}
550 e con la seguente struttura:
551
552 @example
553 <inlinemediaobject>
554   <textobject>
555     <programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2">
556 \context Staff \with @{
557   \remove Time_signature_engraver
558   \remove Clef_engraver@}
559   @{ c4( fis) @}
560     </programlisting>
561   </textobject>
562 </inlinemediaobject>
563 @end example
564
565 Come si vede, l'elemento più esterno è @code{mediaobject} o
566 @code{inlinemediaobject} e c'è un @code{textobject} che contiene al
567 suo interno il @code{programlisting}.
568
569 @subheading Elaborare il documento DocBook
570
571 L'esecuzione di @command{lilypond-book} su un file @file{.lyxml} creerà un
572 documento DocBook valido con estensione @file{.xml} che potrà essere
573 ulteriormente elaborato.  Usando
574 @uref{http://@/dblatex@/.sourceforge@/.net@/,dblatex}, creerà automaticamente un file
575 PDF da questo documento.  Per generare l'HTML (HTML Help,
576 JavaHelp etc.) si possono usare i fogli di stile DocBook XSL ufficiali;
577 tuttavia è possibile che sia necessario modificarli un po'.
578
579
580 @node Opzioni dei frammenti musicali
581 @section Opzioni dei frammenti musicali
582 @translationof Music fragment options
583
584 Nelle pagine che seguono, per @q{comando LilyPond} si intende un qualsiasi
585 comando descritto nelle sezioni precedenti che sia gestito da @command{lilypond-book}
586 per produrre un frammento musicale.  Per semplicità, i comandi LilyPond vengono
587 mostrati soltanto nella sintassi @LaTeX{}.
588
589 Nota che la stringa delle opzioni è analizzata da sinistra a destra; se un'opzione
590 ricorre più di una volta, viene applicata nella sua ultima occorrenza.
591
592 Sono disponibili le seguenti opzioni per i comandi LilyPond:
593
594 @table @code
595 @item staffsize=@var{altezza}
596 Imposta la dimensione del pentagramma a @var{altezza}, misurata in punti.
597
598 @item ragged-right
599 Produce linee con margine destro irregolare e spaziatura naturale, ovvero
600 viene aggiunto @code{ragged-right = ##t} al frammento LilyPond.  Questa è
601 l'impostazione predefinita per il comando @code{\lilypond@{@}} se non è presente
602 un'opzione @code{line-width}.  È anche l'impostazione predefinita per l'ambiente
603 @code{lilypond} se viene usata l'opzione @code{fragment} senza specificare
604 esplicitamente la larghezza della linea.
605
606 @item noragged-right
607 Per i frammenti di una sola linea, fa sì che la lunghezza del rigo venga estesa
608 fino a coincidere con la larghezza della linea, ovvero viene aggiunto
609 @code{ragged-right = ##f} al frammento LilyPond.
610
611 @item line-width
612 @itemx line-width=@var{dimensione}\@var{unità}
613 Imposta la lunghezza della linea a @var{dimensione}, usando @var{unità} come
614 unità di misura.  @var{unità} può essere una delle seguenti stringhe: @code{cm},
615 @code{mm}, @code{in} o @code{pt}.  Questa opzione riguarda l'output LilyPond
616 (ovvero, la lunghezza del rigo del frammento musicale), non la formattazione
617 del testo.
618
619 Se usato senza un argomento, imposta la lunghezza della linea a un valore
620 predefinito (calcolato da un algoritmo euristico).
621
622 Se non viene assegnata un'opzione @code{line-width}, @command{lilypond-book}
623 cerca di indovinare un valore predefinito per gli ambienti @code{lilypond} che
624 non usano l'opzione @code{ragged-right}.
625
626 @item papersize=@var{stringa}
627 Dove @var{stringa} è una delle dimensioni del foglio definite in @file{scm/paper.scm},
628 ad esempio @code{a5}, @code{quarto}, @code{11x17} etc.
629
630 I valori non definiti in @file{scm/paper.scm} saranno ignorati, sarà inviato
631 un messaggio di avviso e al frammento sarà assegnata la dimensione predefinita,
632 ovvero @code{a4}.
633
634 @item notime
635 Non viene visualizzata l'indicazione di tempo e disabilita i segni relativi alla scansione ritmica
636 (segno di tempo, barre di divisione) nella partitura.
637
638 @item fragment
639 Fa sì che @command{lilypond-book} aggiunga del codice boilerplate in modo che
640 sia possibile inserire semplicemente, ad esempio,
641
642 @example
643 c'4
644 @end example
645
646 @noindent
647 senza @code{\layout}, @code{\score}, etc.
648
649 @item nofragment
650 Non aggiunge del codice ulteriore per completare il codice LilyPond nei frammenti
651 musicali.  Essendo l'impostazione predefinita, @code{nofragment} di norma
652 è ridondante.
653
654 @item indent=@var{dimensione}\@var{unità}
655 Imposta l'indentazione del primo sistema musicale a @var{dimensione}, usando
656 @var{unità} come unità di misura.  @var{unità} è una delle seguenti stringhe:
657 @code{cm}, @code{mm}, @code{in} o @code{pt}.  Questa opzione riguarda
658 LilyPond, non la formattazione del testo.
659
660 @item noindent
661 Imposta l'indentazione del primo sistema musicale su zero.  Questa opzione
662 interessa LilyPond, non la formattazione del testo.  L'assenza di indentazione è
663 l'impostazione predefinita, dunque normalmente @code{noindent} è ridondante.
664
665 @item quote
666 Riduce la lunghezza della linea di un frammento musicale di @math{2*0.4}@dmn{in}
667 e inserisce l'output in un blocco per le citazioni.  Il valore @q{0.4@dmn{in}}
668 può essere controllato con l'opzione @code{exampleindent}.
669
670 @item exampleindent
671 Imposta la quantità di spazio con cui l'opzione @code{quote} indenta un
672 frammento musicale.
673
674 @item relative
675 @itemx relative=@var{n}
676 Usa la modalità di ottava relativa.  Per impostazione predefinita, le altezze delle note
677 sono riferite al Do@tie{}centrale.  L'argomento opzionale del numero intero
678 specifica l'ottava della nota iniziale: il valore predefinito @code{1} è il
679 Do centrale.  L'opzione @code{relative} funziona solo quando è impostata
680 l'opzione @code{fragment}, quindi @code{fragment} è implicitamente sottinteso
681 da @code{relative}, a prescindere dalla presenza dell'opzione @code{(no)fragment}
682 nel sorgente.
683 @end table
684
685 LilyPond usa @command{lilypond-book} anche per produrre la propria
686 documentazione.  A questo scopo, esistono altre opzioni più complesse
687 per i frammenti musicali.
688
689 @table @code
690 @item verbatim
691 L'argomento di un comando LilyPond viene copiato nel file di output e racchiuso
692 in un blocco di testo, seguito da qualsiasi testo assegnato con l'opzione
693 @code{intertext} (non ancora implementato); quindi viene mostrata la musica
694 vera e propria.  Questa opzione non funziona bene con @code{\lilypond@{@}} se
695 fa parte di un paragrafo.
696
697 Se @code{verbatim} viene usato in un comando @code{lilypondfile}, è possibile
698 includere il testo di una parte soltanto del file sorgente.  Se il file
699 sorgente ha un commento contenente @samp{begin verbatim} (senza
700 virgolette), la citazione del sorgente nel blocco testuale inizierà dopo
701 l'ultima occorrenza di tale commento; in modo analogo, la citazione del testo
702 sorgente si fermerà proprio prima della prima occorrenza di un commento
703 contenente @samp{end verbatim}, se presente.  Nel seguente file sorgente di
704 esempio, la musica viene interpretata in modalità relativa ma il blocco
705 testuale non mostrerà il blocco @code{relative}, ovvero
706
707 @example
708 \relative c' @{ % begin verbatim
709   c4 e2 g4
710   f2 e % end verbatim
711 @}
712 @end example
713
714 @noindent
715 mostrerà il seguente blocco testuale
716
717 @example
718   c4 e2 g4
719   f2 e
720 @end example
721
722 @noindent
723 Se si desidera tradurre i commenti e i nomi delle variabili nell'output
724 verbatim ma non nei sorgenti, si può impostare la variabile d'ambiente
725 @code{LYDOC_LOCALEDIR} sul percorso di una directory; la directory deve
726 contenere un albero dei cataloghi di messaggio @file{.mo} che hanno
727 @code{lilypond-doc} come dominio.
728
729 @item addversion
730 (Solo per l'output Texinfo.)  Aggiunge @code{\version
731 @@w@{"@@version@{@}"@}} nella prima riga dell'output di @code{verbatim}.
732
733 @item texidoc
734 (Solo per l'output Texinfo.)  Se @command{lilypond} viene lanciato con
735 l'opzione @option{--header=@/texidoc} e il file da elaborare si
736 chiama @file{foo.ly}, verrà creato un file @file{foo.texidoc} a patto che
737 ci sia un campo @code{texidoc} nel blocco @code{\header}.  L'opzione @code{texidoc}
738 fa sì che @command{lilypond-book} includa tali file, aggiungendo il loro
739 contenuto in forma di blocco di documentazione proprio prima del frammento
740 di musica.
741
742 Se il file @file{foo.ly} contiene
743
744 @example
745 \header @{
746   texidoc = "Questo file mostra il funzionamento di una singola nota."
747 @}
748 @{ c'4 @}
749 @end example
750
751 @noindent
752 e il documento Texinfo @file{test.texinfo} contiene
753
754 @example
755 @@lilypondfile[texidoc]@{foo.ly@}
756 @end example
757
758 @noindent
759 il seguente comando produce il risultato atteso
760
761 @example
762 lilypond-book --pdf --process="lilypond \
763   -dbackend=eps --header=texidoc" test.texinfo
764 @end example
765
766 Per la maggior parte, i documenti di test di LilyPond (nella directory @file{input}
767 della distribuzione) sono piccoli file @file{.ly} che hanno esattamente questo
768 aspetto.
769
770 Ai fini della localizzazione, se il documento Texinfo document contiene
771 @code{@@documentlanguage @var{LANG}} e l'header di @file{foo.ly}
772 contiene un campo @code{texidoc@var{LANG}}, quando si lancia @command{lilypond}
773 con l'opzione @option{--header=@/texidoc@var{LANG}} verrà incluso
774 @file{foo.texidoc@var{LANG}} invece di @file{foo.texidoc}.
775
776 @item lilyquote
777 (Solo per l'output Texinfo.)  Questa opzione è simile alla citazione, ma solo
778 il frammento musicale (e l'opzionale blocco di testo sottinteso dall'opzione
779 @code{verbatim}) vengono inseriti in un blocco di citazione.  Questa opzione è
780 utile se si vuole citare (@code{quote}) il frammento musicale ma non il
781 blocco della documentazione @code{texidoc}.
782
783 @item doctitle
784 (Solo per l'output Texinfo.) Questa opzione funziona in modo simile
785 all'opzione @code{texidoc}: se @command{lilypond} viene lanciato con
786 l'opzione @option{--header=@/doctitle} e il file da elaborare si chiama
787 @file{foo.ly} e contiene un campo @code{doctitle} nel blocco
788 @code{\header}, viene creato un file @file{foo.doctitle}.  Se si usa
789 l'opzione @code{doctitle}, i contenuti di @file{foo.doctitle},
790 che dovrebbero trovarsi su una singola linea di @var{text}, vengono inseriti
791 nel documento Texinfo come @code{@@lydoctitle @var{text}}.
792 @code{@@lydoctitle} è una macro definita nel documento Texinfo.
793 Lo stesso discorso relativo all'elaborazione @code{texidoc} delle lingue
794 localizzate si applica anche a @code{doctitle}.
795
796 @item nogettext
797 (Solo per l'output Texinfo.) Non tradurre i commenti e i nomi delle
798 variabili nel blocco testuale del frammento citato.
799
800 @item printfilename
801 Se un file di input di LilyPond viene incluso con @code{\lilypondfile}, il
802 nome del file viene mostrato immediatamente prima del frammento musicale.  Per l'output
803 HTML, questo nome è un collegamento.  Viene mostrata solo la base del nome del
804 file, ovvero viene tolta la parte che costituisce il percorso del file.
805
806 @end table
807
808
809 @node Utilizzo di lilypond-book
810 @section Utilizzo di @command{lilypond-book}
811 @translationof Invoking lilypond-book
812
813 @command{lilypond-book} crea un file con una delle seguenti
814 estensioni: @file{.tex}, @file{.texi}, @file{.html} o @file{.xml},
815 a seconda del formato dell'output.  Tutti i file @file{.tex}, @file{.texi} e
816 @file{.xml} necessitano di un'ulteriore elaborazione.
817
818 @subheading Istruzioni specifiche di ogni formato
819
820 @subsubheading @LaTeX{}
821
822 Esistono due modi di elaborare il documento @LaTeX{} per la stampa o la
823 pubblicazione: generare direttamente un file PDF tramite PDF@LaTeX{} oppure
824 generare un file PostScript tramite @LaTeX{}, attraverso un traduttore da DVI a
825 PostScript come @command{dvips}.  Il primo modo è più semplice e raccomandato@footnote{Nota
826 che PDF@LaTeX{} e @LaTeX{} potrebbero non essere entrambi utilizzabili per compilare
827 un qualsiasi documento @LaTeX{}: ecco perché vengono illustrati i due modi.}, e
828 indipendentemente da quello che userai, puoi convertire facilmente PostScript e
829 PDF con strumenti come @command{ps2pdf} e @command{pdf2ps} inclusi nel pacchetto
830 Ghostscript.
831
832 Per creare un file PDF con PDF@LaTeX{}, si usa
833
834 @example
835 lilypond-book --pdf tuofile.lytex
836 pdflatex tuofile.tex
837 @end example
838
839 @cindex caratteri vettoriali
840 @cindex type1, carattere
841 @cindex dvips
842 @cindex utilizzo di dvips
843 Per produrre l'output PDF attraverso @LaTeX{}/@command{dvips}/@command{ps2pdf},
844 bisogna usare questi comandi
845
846 @example
847 lilypond-book tuofile.lytex
848 latex tuofile.tex
849 dvips -Ppdf tuofile.dvi
850 ps2pdf tuofile.ps
851 @end example
852
853 @noindent
854 Il file @file{.dvi} creato da questa sequenza non conterrà le
855 teste delle note.  È normale; se si seguono le istruzioni, le teste
856 verranno incluse nei file @file{.ps} e @file{.pdf}.
857
858 L'esecuzione di @command{dvips} potrebbe generare dei messaggi di avviso
859 relativi ai caratteri; questi messaggi sono innocui e possono
860 essere ignorati.  Se esegui @command{latex} in modalità due colonne, ricorda
861 di aggiungere @code{-t landscape} alle opzioni di @command{dvips}.
862
863 @subsubheading Texinfo
864
865 Per generare un documento Texinfo (in qualsiasi formato di output), si seguono
866 le normali procedure usate con Texinfo; ovvero, si lancia @command{texi2pdf} o
867 @command{texi2dvi} o @command{makeinfo}, a seconda del formato di output
868 che si vuole creare.
869 @ifinfo
870 @xref{Format with texi2dvi, , , texinfo, GNU Texinfo}, e @ref{Creating
871 an Info File, , , texinfo, GNU Texinfo}.
872 @end ifinfo
873 @ifnotinfo
874 Si veda la documentazione di Texinfo per ulteriori dettagli.
875 @end ifnotinfo
876
877
878 @subheading Opzioni da linea di comando
879
880 @command{lilypond-book} accetta le seguenti opzioni da linea di comando:
881
882 @table @code
883 @item -f @var{formato}
884 @itemx --format=@var{formato}
885 Specifica il tipo di documento da elaborare: @code{html}, @code{latex},
886 @code{texi} (il formato predefinito) o @code{docbook}.  Se manca questa opzione,
887 @command{lilypond-book} cerca di rilevare il formato automaticamente, si veda
888 @ref{Filename extensions}.  Attualmente, @code{texi} è equivalente a
889 @code{texi-html}.
890
891 @c This complicated detail is not implemented, comment it out -jm
892 @ignore
893 The @code{texi} document type produces a Texinfo file with music
894 fragments in the printed output only.  For getting images in the HTML
895 version, the format @code{texi-html} must be used instead.
896 @end ignore
897
898 @item -F @var{filtro}
899 @itemx --filter=@var{filtro}
900 Convoglia i frammenti attraverso il @var{filtro}.  @code{lilypond-book} non
901 esegue contemporaneamente il filtro e l'elaborazione.  Ad esempio,
902
903 @example
904 lilypond-book --filter='convert-ly --from=2.0.0 -' mio-libro.tely
905 @end example
906
907 @item -h
908 @itemx --help
909 Mostra un breve messaggio di aiuto.
910
911 @item -I @var{dir}
912 @itemx --include=@var{dir}
913 Aggiunge @var{dir} al percorso di inclusione.  @command{lilypond-book} cerca
914 anche dei frammenti già compilati nel percorso di inclusione e non li riscrive
915 nella directory di output, quindi in alcuni casi è necessario eseguire
916 ulteriori comandi come @command{makeinfo} o @command{latex} con le stesse
917 opzioni @code{-I @var{dir}}.
918
919 @item -o @var{dir}
920 @itemx --output=@var{dir}
921 Salva i file generati nella directory @var{dir}.  L'esecuzione di
922 @command{lilypond-book} genera tanti piccoli file che LilyPond
923 elaborerà.  Per evitare tutto questo disordine nella directory dei
924 sorgenti, si usa l'opzione da linea di comando @option{--output}
925 e si entra in questa directory prima di eseguire @command{latex}
926 o @command{makeinfo}.
927
928 @example
929 lilypond-book --output=out tuofile.lytex
930 cd out
931 ...
932 @end example
933
934 @itemx --skip-lily-check
935 Non si arresta se non viene trovato l'output di lilypond.  Viene usata per la
936 documentazione Info di LilyPond, che è priva di immagini.
937
938 @itemx --skip-png-check
939 Non si arresta se non vengono trovate immagini PNG per i file EPS.  Viene usata
940 per la documentazione Info di LilyPond, che è priva di immagini.
941
942 @itemx --lily-output-dir=@var{dir}
943 Scrive i file lily-XXX nella directory @var{dir}, crea un link nella
944 directory @code{--output}.  Si usa questa opzione per risparmiare tempo nella
945 compilazione di documenti situati in directory diverse che condividono
946 molti identici frammenti.
947
948 @itemx --info-images-dir=@var{dir}
949 Formatta l'output di Texinfo in modo che Info cerchi le immagini della musica
950 in @var{dir}.
951
952 @itemx --latex-program=@var{prog}
953 Lancia l'eseguibile @command{prog} invece di @command{latex}.  Questa opzione
954 è utile, ad esempio, se il documento è elaborato con @command{xelatex}.
955
956 @itemx --left-padding=@var{quantità}
957 Crea una spaziatura corrispondente a questa quantità tra i riquadri EPS.  @var{quantità} è
958 misurata in millimetri e il valore predefinito è 3.0.  Questa opzione si usa
959 se i righi dello spartito oltrepassano il margine destro.
960
961 La larghezza di un sistema molto denso può variare in base agli elementi
962 della notazione attaccati al margine sinistro, come i numeri di battuta e
963 i nomi degli strumenti.  Questa opzione accorcia tutte le linee e le sposta a
964 a destra della stessa quantità.
965
966 @item -P @var{comando}
967 @itemx --process=@var{comando}
968 Elabora i frammenti di LilyPond con @var{comando}.  Il comando predefinito è
969 @code{lilypond}.  @code{lilypond-book} non userà @code{--filter} e
970 @code{--process} contemporaneamente.
971
972 @item --pdf
973 Crea file PDF da usare con PDF@LaTeX{}.
974
975 @itemx --use-source-file-names
976 Salva i file di output dei frammenti con lo stesso nome, esclusa l'estensione,
977 dei sorgenti.  Questa opzione funziona solo con i frammenti inclusi con
978 @code{lilypondfile} e solo se le directory indicate da @code{--output-dir} e
979 @code{--lily-output-dir} sono diverse.
980
981 @item -V
982 @itemx --verbose
983 Mostra un output dettagliato.
984
985 @item -v
986 @itemx --version
987 Mostra informazioni sulla versione.
988 @end table
989
990 @knownissues
991
992 Il comando Texinfo @code{@@pagesizes} non viene inrerpretato.  Allo stesso
993 modo, i comandi @LaTeX{} che modificano i margini e la larghezza della linea
994 dopo il preambolo vengono ignorati.
995
996 Solo il primo @code{\score} di un blocco LilyPond viene elaborato.
997
998
999 @node Estensioni dei nomi di file
1000 @section Estensioni dei nomi di file
1001 @translationof Filename extensions
1002
1003 Si può usare qualsiasi estensione per il file di input, ma se non si usa
1004 l'estensione raccomandata per uno specifico formato potrebbe essere
1005 necessario specificare a mano il formato di output; per i dettagli si veda
1006 @ref{Invoking lilypond-book}.  Altrimenti, @command{lilypond-book} sceglie
1007 automaticamente il formato di output in base all'estensione del file di input.
1008
1009 @quotation
1010 @multitable @columnfractions .2 .5
1011 @item @strong{estensione} @tab @strong{formato di output}
1012 @item
1013 @item @file{.html} @tab HTML
1014 @item @file{.htmly} @tab HTML
1015 @item @file{.itely} @tab Texinfo
1016 @item @file{.latex} @tab @LaTeX{}
1017 @item @file{.lytex} @tab @LaTeX{}
1018 @item @file{.lyxml} @tab DocBook
1019 @item @file{.tely} @tab Texinfo
1020 @item @file{.tex} @tab @LaTeX{}
1021 @item @file{.texi} @tab Texinfo
1022 @item @file{.texinfo} @tab Texinfo
1023 @item @file{.xml} @tab HTML
1024 @end multitable
1025 @end quotation
1026
1027 Se si usa per il file di input la stessa estensione che @command{lilypond-book}
1028 usa per il file di output e se il file di input è nella stessa directory
1029 in cui lavora @command{lilypond-book}, bisogna usare l'opzione @code{--output}
1030 per far sì che @command{lilypond-book} sia eseguito; altrimenti si ferma e
1031 mostra un messaggio di errore simile a @qq{L'output sovrascriverebbe il file di input}.
1032
1033
1034 @node Modelli per lilypond-book
1035 @section Modelli per lilypond-book
1036 @translationof lilypond-book templates
1037
1038 Ecco alcuni modelli da usare con @code{lilypond-book}.  Se non hai familiarità
1039 con questo programma, consulta @ref{lilypond-book}.
1040
1041 @subsection LaTeX
1042
1043 Si possono includere frammenti LilyPond in un documento LaTeX.
1044
1045 @example
1046 \documentclass[]@{article@}
1047
1048 \begin@{document@}
1049
1050 Normale testo LaTeX.
1051
1052 \begin@{lilypond@}
1053 \relative c'' @{
1054   a4 b c d
1055 @}
1056 \end@{lilypond@}
1057
1058 Altro testo LaTeX, seguito da alcune opzioni tra parentesi quadre.
1059
1060 \begin@{lilypond@}[fragment,relative=2,quote,staffsize=26,verbatim]
1061 d4 c b a
1062 \end@{lilypond@}
1063 \end@{document@}
1064 @end example
1065
1066 @subsection Texinfo
1067
1068 Si possono includere frammenti LilyPond in Texinfo; infatti questo intero
1069 manuale è scritto in Texinfo.
1070
1071 @example
1072 \input texinfo @c -*-texinfo-*-
1073 @@node Top
1074 @@top
1075
1076 Testo Texinfo
1077
1078 @@lilypond
1079 \relative c' @{
1080   a4 b c d
1081 @}
1082 @@end lilypond
1083
1084 Altro testo Texinfo, seguito dalle opzioni tra parentesi.
1085
1086 @@lilypond[verbatim,fragment,ragged-right]
1087 d4 c b a
1088 @@end lilypond
1089
1090 @@bye
1091 @end example
1092
1093
1094 @subsection html
1095
1096 @example
1097 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1098 <!-- header_tag -->
1099 <HTML>
1100 <body>
1101
1102 <p>
1103 I documenti per lilypond-book possono combinare liberamente musica e testo.  Ad
1104 esempio,
1105 <lilypond>
1106 \relative c'' @{
1107   a4 b c d
1108 @}
1109 </lilypond>
1110 </p>
1111
1112 <p>
1113 Ancora un po' di Lilypond, questa volta con delle opzioni:
1114
1115 <lilypond fragment quote staffsize=26 verbatim>
1116 a4 b c d
1117 </lilypond>
1118 </p>
1119
1120 </body>
1121 </html>
1122
1123
1124 @end example
1125
1126 @subsection xelatex
1127
1128 @verbatim
1129 \documentclass{article}
1130 \usepackage{ifxetex}
1131 \ifxetex
1132 %elementi specifici di xetex
1133 \usepackage{xunicode,fontspec,xltxtra}
1134 \setmainfont[Numbers=OldStyle]{Times New Roman}
1135 \setsansfont{Arial}
1136 \else
1137 %Questo può essere lasciato vuoto se non si usa pdftex
1138 \usepackage[T1]{fontenc}
1139 \usepackage[utf8]{inputenc}
1140 \usepackage{mathptmx}%Times
1141 \usepackage{helvet}%Helvetica
1142 \fi
1143 %Qui è possibile inserire tutti i pacchetti inclusi anche in pdftex
1144 \usepackage[ngerman,finnish,english]{babel}
1145 \usepackage{graphicx}
1146
1147 \begin{document}
1148 \title{Un breve documento con LilyPond e xelatex}
1149 \maketitle
1150
1151 I comandi abituali di \textbf{font} interni al \emph{testo} funzionano,
1152 perché \textsf{sono supportati da \LaTeX{} e XeteX.}
1153 Se vuoi usare comandi specifici come \verb+\XeTeX+, devi
1154 includerli nuovamente in un ambiente \verb+\ifxetex+.
1155 You can use this to print the \ifxetex \XeTeX{} command \else
1156 XeTeX command \fi which is not known to normal \LaTeX .
1157
1158 Nel testo normale si possono usare semplicemente i comandi LilyPond, come in
1159 questo esempio:
1160
1161 \begin{lilypond}
1162 {a2 b c'8 c' c' c'}
1163 \end{lilypond}
1164
1165 \noindent
1166 e così via.
1167
1168 I tipi di carattere dei frammenti inseriti con LilyPond devono essere impostati
1169 all'interno dei frammenti stessi.  Si legga il manuale di Uso dell'applicazione per
1170 sapere come usare lilypond-book.
1171
1172 \selectlanguage{ngerman}
1173 Auch Umlaute funktionieren ohne die \LaTeX -Befehle, wie auch alle
1174 anderen
1175 seltsamen Zeichen: __ ______, wenn sie von der Schriftart
1176 unterst__tzt werden.
1177 \end{document}
1178 @end verbatim
1179
1180
1181 @node Condividere l'indice
1182 @section Condividere l'indice
1183 @translationof Sharing the table of contents
1184
1185 Queste funzioni sono già incluse nel pacchetto OrchestralLily:
1186
1187 @example
1188 @url{http://repo.or.cz/w/orchestrallily.git}
1189 @end example
1190
1191 Alcuni utenti
1192 preferiscono esportare l'indice da lilypond e leggerlo da dentro
1193 @LaTeX{} per la sua maggiore flessibilità nella gestione del testo.
1194
1195 @subsubheading Esportare l'indice da LilyPond
1196
1197 Per questo esempio si presume che lo spartito abbia vari movimenti nello stesso file
1198 di output di lilypond.
1199
1200 @smallexample
1201 #(define (oly:create-toc-file layout pages)
1202   (let* ((label-table (ly:output-def-lookup layout 'label-page-table)))
1203     (if (not (null? label-table))
1204       (let* ((format-line (lambda (toc-item)
1205              (let* ((label (car toc-item))
1206                     (text  (caddr toc-item))
1207                     (label-page (and (list? label-table)
1208                                      (assoc label label-table)))
1209                     (page (and label-page (cdr label-page))))
1210                (format #f "~a, section, 1, @{~a@}, ~a" page text label))))
1211              (formatted-toc-items (map format-line (toc-items)))
1212              (whole-string (string-join formatted-toc-items ",\n"))
1213              (output-name (ly:parser-output-name parser))
1214              (outfilename (format "~a.toc" output-name))
1215              (outfile (open-output-file outfilename)))
1216         (if (output-port? outfile)
1217             (display whole-string outfile)
1218             (ly:warning (_ "Unable to open output file ~a for the TOC information") outfilename))
1219         (close-output-port outfile)))))
1220
1221 \paper @{
1222   #(define (page-post-process layout pages) (oly:create-toc-file layout pages))
1223 @}
1224 @end smallexample
1225
1226 @subsubheading Importare l'indice in LaTeX
1227
1228 In LaTeX l'intestazione deve includere:
1229
1230 @c no, this doesn't require the smallexample, but since the other
1231 @c two blocks on this page use it, I figured I might as well
1232 @c user it here as well, for consistency. -gp
1233 @smallexample
1234 \usepackage@{pdfpages@}
1235 \includescore@{nameofthescore@}
1236 @end smallexample
1237
1238 @noindent
1239 dove @code{\includescore} viene definito in questo modo:
1240
1241 @smallexample
1242 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1243 % \includescore@{PossibleExtension@}
1244 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1245
1246 % Read in the TOC entries for a PDF file from the corresponding .toc file.
1247 % This requires some heave latex tweaking, since reading in things from a file
1248 % and inserting it into the arguments of a macro is not (easily) possible
1249
1250 % Solution by Patrick Fimml on #latex on April 18, 2009:
1251 % \readfile@{filename@}@{\variable@}
1252 % reads in the contents of the file into \variable (undefined if file
1253 % doesn't exist)
1254 \newread\readfile@@f
1255 \def\readfile@@line#1@{%
1256 @{\catcode`\^^M=10\global\read\readfile@@f to \readfile@@tmp@}%
1257 \edef\do@{\noexpand\g@@addto@@macro@{\noexpand#1@}@{\readfile@@tmp@}@}\do%
1258 \ifeof\readfile@@f\else%
1259 \readfile@@line@{#1@}%
1260 \fi%
1261 @}
1262 \def\readfile#1#2@{%
1263 \openin\readfile@@f=#1 %
1264 \ifeof\readfile@@f%
1265 \typeout@{No TOC file #1 available!@}%
1266 \else%
1267 \gdef#2@{@}%
1268 \readfile@@line@{#2@}%
1269 \fi
1270 \closein\readfile@@f%
1271 @}%
1272
1273
1274 \newcommand@{\includescore@}[1]@{
1275 \def\oly@@fname@{\oly@@basename\@@ifmtarg@{#1@}@{@}@{_#1@}@}
1276 \let\oly@@addtotoc\undefined
1277 \readfile@{\oly@@xxxxxxxxx@}@{\oly@@addtotoc@}
1278 \ifx\oly@@addtotoc\undefined
1279 \includepdf[pages=-]@{\oly@@fname@}
1280 \else
1281 \edef\includeit@{\noexpand\includepdf[pages=-,addtotoc=@{\oly@@addtotoc@}]
1282 @{\oly@@fname@}@}\includeit
1283 \fi
1284 @}
1285 @end smallexample
1286
1287
1288 @node Metodi alternativi per combinare testo e musica
1289 @section Metodi alternativi per combinare testo e musica
1290 @translationof Alternate methods of mixing text and music
1291
1292 Altri modi per combinare testo e musica (senza usare
1293 @command{lilypond-book}) sono trattati in
1294 @ref{LilyPond output in other programs}.
1295
1296