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

versione 0.51 [2004/02/21]

Introduzione

MusiXTeX è un eccellente programma di stampa musicale. Tuttavia l'aspetto delle legature (sia di valore che di portamento) non è dei migliori, inoltre il sistema impiegato per disegnare gli archi non è dei più perfetti poiché è basato sulla combinazione di diverse fonti.

Questo pacchetto fornisce un nuovo e più accurato metodo per disegnare le legature, che fa uso del codice EPS (Encapsulated PostScript) generato da MetaPost.

Caratteristiche

Svantaggi

Contenuto del pacchetto

* Tutti i file di testo sono codificati con terminazione LF (secondo lo stile UNIX).

Requisiti

Anche se non essenziali, quelli che seguono sono requisiti raccomandati.

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 directry" 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, 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 after \input musixtex.tex .

  3. Si compili la partitura secondo la normale procedura MusiXTeX (Passi 1, 2, 3):

    tex foo
    musixflx foo
    tex foo

    Sullo schermo e nel file LOG appariranno avvisi del tipo No file foo.1.. Sarà generato il file addizionaleile 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 l'esistenza o meno dei file.

  5. (Passo 5) Si lanci MetaPost.

    mpost foo

    dove però la linea di comando può variare a seconda del sistema; si vedano le istruzioni relative al vostro sistema. Saranno generati i file EPS files foo.1, foo.2 ... contenenti ciscuno una legatura.

  6. (Passo 6) 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 lanci uno dei programmi DVIwares, come 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) . Nella maggior parte dei casi è necessario ricompilare interamente la partitura. In tal caso la cancellazione dei file EPS temporanei 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 alcune funzioni avanzate

Selezione del modo operativo

Questo pacchetto possiede 3 modi operativi distinti per adattarsi a diverse possibilità di elaborazione successiva.

Il funzionamento di default è quello generico (general mode). Questo modo garantisce la stessa compatibilità sia se si usa solo l'uscita grafica DVI come pacchetto grafico del LaTeX2e sia che si usi l'opzione [dvips], poiché le procedure interne sono pressoché le stesse. Si impieghi questo modo per le diverse applicazioni in generale.

'dvips/dvipdfm optimized mode' è 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 'general mode', poiché la procedura interna è assai più semplice. Inoltre questo sistema permette un migliore allineamento delle legature. Il file DVI prodotto in tal modo, non è tuttavia compatibile con alcune delle applicazioni DVI a causa della differenza fra il basso livello qui impiegato (low-level) e il livello LaTeX2e (LaTeX2e-level) per l'inserimento dei comandi di \special{PSfile=...} da elaborare con dvips.

'pdfTeX exclusive mode' è 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 (DVIwares) non elencate qui di seguito (xdvi ecc.), ma non possiede altri applicativi oltre a quelli delle normali distribuzioni TeX. Informazioni e resoconti di tentativi in tal senso sono graditi sia attraverso la 'TeX-music Mailing List', sia direttamente via e-mail.

modo operativo

general mode

dvips optimized mode

pdfTeX exclusive mode

general DVIwares*

OK

a seconda del tipo di DVIware

NG

dvips

OK

OK

NG

dvipdfm

OK

OK

NG

pdfTeX

NG

NG

OK

*Qualsiasi DVIware compatibile con LaTeX2e graphicx package con opzione [dvips]. Per esempio dviout, ecc.

modo operativo

general mode

dvips optimized mode

pdfTeX exclusive mode

codice

\input musixtex
\input musixpss
\relax

\input musixtex
\input musixpss
\relax
\psslurmode{dvips}%

\input musixtex
\input musixpss
\relax
\psslurmode{pdftex}%

procedura

Totale 6 passi
+ DVIware

  1. tex foo

  2. musixflx foo

  3. tex foo

  4. musixpss foo

  5. mpost foo

  6. tex foo

  7. %DVIWARE% foo

Totale 5 passi
+ dvips or dvipdfm

  1. tex foo

  2. musixflx foo

  3. tex foo

  4. musixpss foo

  5. mpost foo

  6. dvips foo
    (or dvipdfm foo)

Totale 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

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.

Passaggio dalle legature tipo EPS a quelle basate su fonti

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

Questo può forse permettere la coesistenza con il pacchetto 'PostScript Slurs Type K' ...??

Funzioni di supporto: eliminazione dei file EPS intermedi

Il programma possiede una funzione che permette di cancellare i file EPS intermedi, utile prima di una completa ricompilazione della partitura.

musixpss -clean foo.slu

oppure, con lo stesso risultato

musixpss foo.slu -clean

In questo modo saranno eliminati tutti i file EPS foo.1, foo.2, ...foo.n . (i file con estensione .slu potrebbero non essere rimossi)

Licenza

Free Software; basata sulla GNU GPL ver. 2 (o successiva). Si veda il file COPYING.txt per ulteriori dettagli.

Si veda anche

Autore

Hiroaki MORIMOTO
mailto: CQX05646@nifty.com


History

version 0.10 [2001/02/10] (first public release)

version 0.20 [2001/02/23]

version 0.21 [2001/04/30]

version 0.22 [2001/06/15]

version 0.23 [2001/10/17]

version 0.30 [2001/10/21] (first announcement to TeX-music Mailing List)

version 0.40 [2001/11/03]

version 0.41 [2002/06/01]

version 0.50 [2003/01/05]

version 0.51 [2004/02/21]

TODO:


Copyright (C) 2001-2004 Hiroaki MORIMOTO
All kinds of comments, suggestions, and bug reports are welcome. If you find any problems or ideas, please tell me via 'TeX-music Mailing List' or direct email.
mailto: CQX05646@nifty.com