musixpss - Pacchetto di estensione per MusiXTeX: legature in PostScript prodotte con MetaPost

versione 0.53 [2009/07/21]

Introduzione

MusiXTeX è un eccellente programma di stampa musicale. Tuttavia l'aspetto delle legature (sia di valore che di portamento) non è dei migliori, a causa dei limiti del sistema impiegato per disegnare gli archi: la combinazione di fonti.

Per disegnare più accuratamente le legature questo pacchetto usa un nuovo metodo che si serve del codice EPS (Encapsulated PostScript) generato da MetaPost.

Caratteristiche

Svantaggi

Contenuto del pacchetto

* Tutti i file di testo (html, tex, mp, c) sono con terminazione in LF (stile unix).

Requisiti

Requisiti raccomandati anche se non essenziali:

Installazione

  1. Si assume che TeX (o pdfTeX), MusiXTeX, e MetaPost siano correttamente installati nel vostro sistema.
  2. Si ponga musixpss.tex nella directory in cui si trova la partitura da compilare, oppure nella "TeX input files directory" nell'albero TEXMF (per esempio $TEXMF/tex/musixtex/misc/).
  3. Si ponga musixpss.mp nella directory in cui si trova la partitura da compilare, oppure nella "MetaPost input files directory" nell'albero TEXMF (per esempio $TEXMF/metapost/musixtex/misc/).
  4. Se il vostro Sistema Operativo è Win32, si ponga musixpss.exe in una directory compresa nel PATH; per esempio la stessa in cui si trova musixflx.exe. Altrimenti è necessario modificare le linee 44-45 di musixpss.c, compilare il programma con un compilatore ANSI C (per esempio: gcc -Wall -O2 -o musixpss musixpss.c ), e porre il file eseguibile in una directory compresa nel PATH.

Uso

Si assume che la partitura MusiXTeX da compilare sia nominata foo.tex.

  1. Si elabori il codice MusiXTeX della partitura foo.tex nella maniera consueta.
  2. Si aggiunga la linea \input musixpss.tex\relax dopo \input musixtex.tex.
  3. Si compili la partitura secondo la normale procedura MusiXTeX (passi 1, 2, 3):
    tex foo
    musixflx foo
    tex foo
    Durante il passo 3 appariranno alcuni avvisi del tipo No file foo.1 (o foo.1) sullo schermo e nel file LOG. Sarà inoltre generato il file foo.slu contenente i parametri delle legature.
  4. (Passo 4) Si lanci il programma
    musixpss foo
    Il programma musixpss.exe trasformerà foo.slu in foo.mp che sarà usato come file di input per MetaPost. L'estensione sarà forzatamente imposta come .slu, senza considerare se esiste o no.
  5. (Passo 5) Si lanci MetaPost.
    mpost foo
    dove però la linea di comando può variare a seconda del sistema operativo (si vedano le istruzioni relative all'OS impiegato). Saranno generati i file EPS files foo.1, foo.2 ... contenenti ciscuno una legatura.
  6. (Passo 6 -- non necessario per il modo ottimizzato per dvips/dvipdfm) Si lanci ancora una volta TeX:
    tex foo
    I messaggi di avviso spariranno e i comandi \special per l'inclusione dei file EPS files saranno scritti nel file DVI.
  7. Si lancino infine una delle applicazioni DVI, Ghostscript, Acrobat Reader, ecc.

Quando si corregge e si ricompila la partitura, non è necessario cancellare i file temporanei EPS (foo.1, foo.2 ecc.). A volte è sufficiente una sola esecuzione di TeX, se non ci sono state variazioni né in foo.mx2, né in foo.slu (ma si tratta di un caso abbastanza raro). Se invece vi sono molti cambiamenti nella partitura la cancellazione dei file EPS temporanei prima della nuova compilazione renderà più spedito il processo del Passo 3 sia che si usi musixpss nel modo generico sia che si impieghi la procedura esclusiva per pdfTeX.

Opzioni e funzioni avanzate

Selezione del modo operativo

Questo pacchetto possiede 3 modi operativi distinti per adattarsi ai diversi ambienti di elaborazione.

Il funzionamento predefinito è quello generico ('general mode'). Questo modo garantisce la stessa compatibilità del file dvi del pacchetto graphics di LaTeX2e con l'opzione [dvips], poiché le procedure interne sono pressoché le stesse. Si impieghi questo modo per le diverse applicazioni in generale.

Il 'modo ottimizzato per dvips/dvipdfm' è predisposto per dvips e per dvipdfm. Questo modo rende inutile il Passo 6 e perciò permette una procedura di compilazione più veloce di quella necessaria con il 'modo generico', poiché la procedura interna è assai più semplice. Inoltre questo sistema permette un migliore allineamento delle legature. Il file DVI prodotto in tal modo, non è però compatibile con alcune delle applicazioni DVI a causa del basso livello qui impiegato (non il livello LaTeX2e) per l'inserimento dei comandi di \special{PSfile=...} da elaborare con dvips.

Il 'modo esclusivo per pdfTeX' è esattamente ciò che indica il nome. Questo modo funziona con pdfTeX ver. 1.10a-devel o successive. Sono noti errori imprevedibili se si usano alcune vecchie versioni dei file macro di supporto supp-pdf.tex e supp-mis.tex. In tal caso è necessario aggiornare questi due file nel sistema pdfTeX.

L'autore spera di adattare questo pacchetto anche ad altre applicazioni DVI non elencate sopra (xdvi ecc.), ma non possiede altri applicativi oltre a quelli delle normali distribuzioni TeX. Informazioni e resoconti di tentativi in tal senso sono graditi.

Dalla ver.0.52, sono state aggiunte le seguenti due definizioni per la selezione automatica del modo operativo. In questo caso musixpss.tex controlla se si sta facendo uso della compilazione convenzionale TeX oppure di pdfTeX e seleziona automaticamente l'appropriata procedura. Le altre caratteristiche sono uguali a quelle del modo generico.

modo operativo modo generico modo ottimizzato per dvips / dvipdfm modo esclusivo per pdfTeX selezione automatica fra fra i modi generico e pdfTeX selezione automatica fra fra i modi dvips e pdfTeX
applicazioni DVI generiche* OK a seconda dell'applicazione DVI NG OK a seconda dell'applicazione DVI
dvips/dvipdfm(x) OK OK NG OK OK
pdfTeX NG NG OK OK OK
*qualsiasi applicazione DVI compatibile con il pacchetto graphicx di LaTeX2e con l'opzione [dvips], per esempio dviout, ecc.
modi operativi modo generico modo ottimizzato per dvips / dvipdfm modo esclusivo per pdfTeX
codice \input musixtex
\input musixpss
\relax
\input musixtex
\input musixpss
\relax
\psslurmode{dvips}%
\input musixtex
\input musixpss
\relax
\psslurmode{pdftex}%
procedura 6 passi
+ DVIware
  1. tex foo
  2. musixflx foo
  3. tex foo
  4. musixpss foo
  5. mpost foo
  6. tex foo
  7. %DVIWARE% foo
5 passi
+ dvips o dvipdfm(x)
  1. tex foo
  2. musixflx foo
  3. tex foo
  4. musixpss foo
  5. mpost foo
  6. dvips foo
    (or dvipdfm(x) foo)
6 passi
+ Acrobat Reader
  1. pdftex foo
  2. musixflx foo
  3. pdftex foo
  4. musixpss foo
  5. mpost foo
  6. pdftex foo
  7. (AcroRd32) foo
modi operativi selezione automatica fra i modi generico e pdfTeX selezione automatica fra i modi dvips e pdfTeX
codice \input musixtex
\input musixpss
\psslurmode{auto-pdftex-general}%
\input musixtex
\input musixpss
\psslurmode{auto-pdftex-dvips}%

Aggiustamento dello spessore delle legature

Lo spessore delle legature può essere modificato ridefinendo il comando macro \psslurthickadj. Per esempio, \def\psslurthickadj{2.5} rende le legature 2.5 volte più spesse che nel modo default.

Selezione del tipo di lagature (EPS o basate su fonti)

L'impiego delle legature EPS può essere disattivato o riattivato in ogni punto della partitura con il comando:

Funzioni di supporto: eliminazione dei file EPS intermedi

Questa funzione permette di cancellare i file EPS intermedi ed è utile prima di una completa ricompilazione della partitura.

musixpss -clean foo.slu
oppure
musixpss foo.slu -clean

rimuovono tutti i file EPS intermedi foo.1, foo.2, ...foo.n. (i file con estensione .slu possono essere omessi).

Nota: la funzione è molto elementare, perciò va usata con prudenza dopo aver controllato il sorgente C del programma. L'autore non assume alcuna responsabilità per l'eventuale perdita di dati importanti.

Licenza

GNU GPL ver.2 o versioni successive. Si veda il file gpl-2.0.txt per i dettagli.
Attualmente l'autore ha scelto la versione GNU GPL 2 come criterio base di licenza per questo pacchetto, tuttavia egli non si oppone al passaggio alla versione GNU GPL 3 se qualcuno decide di inserire il pacchetto in un altro programma.

Si veda anche

Autore

Hiroaki MORIMOTO <CQX05646 (atmark) nifty (dot) com>

Ringraziamenti

L'autore ringrazia Luigi Cataldi per la traduzione italiana di questo documento e per le segnalazioni d'uso (nota del traduttore: il traduttore dal canto suo è molto lieto di esserse stato d'aiuto nella realizzazione di un pacchetto così utile per MusiXTeX).


Versioni

versione 0.10 [2001/02/10] (primo rilascio pubblico)

versione 0.20 [2001/02/23]

versione 0.21 [2001/04/30]

versione 0.22 [2001/06/15]

versione 0.23 [2001/10/17]

versione 0.30 [2001/10/21] (primo annuncio fatto alla TeX-music Mailing List)

versione 0.40 [2001/11/03]

versione 0.41 [2002/06/01]

versione 0.50 [2003/01/05]

versione 0.51 [2004/02/21]

versione 0.51.1 [2004/03/21]

versione 0.52 [2007/01/01]

versione 0.53 [2009/07/21]

Da fare:


Copyright (C) 2001-2009 Hiroaki MORIMOTO
Qualsiasi commento, suggerimento e segnalazione di malfunzionamento è gradito. Vi prego di comunicarmi attraverso la 'TeX-music Mailing List' eventuali problemi o qualsiasi idea di miglioramento del programma.