autosp - manuale di riferimento, opzioni, esempi di comandi


NOME

autosp - preprocessore per generare comandi di spaziatura delle note per le partiture MusiXTeX

SINOSSI

autosp [-v | --version | -h | --help]

autosp [-d | --dotted] [-l | --log] infile[.aspc] [outfile[.tex]]

DESCRIZIONE

Questo programma semplifica la creazione di partiture MusiXTeX convertendo i comandi (non standard) della forma \anotes ... \en in uno o più comandi convenzionali di spaziatura delle note (\notes \Notes \NOtes ...), determinati da i valori effettivi delle note, con i comandi di spaziatura \sk inseriti se necessario. La codifica per un'intera battuta può essere inserita una parte alla volta, senza preoccuparsi dei cambiamenti di spaziatura delle note all'interno della parte o dei requisiti di spaziatura di altre parti.

Ad esempio, se applicato a


    \anotes\qa J\qa K&\ca l\qa m\ca n\en 

autosp genera


    \Notes\qa J\sk\qa K\sk&\ca l\qa m\sk\ca n\en

Tipicamente, un comando \anotes genera diversi comandi convenzionali di spaziatura delle note.

Se l'argomento infile non ha un'estensione .aspc, l'input viene preso da infile.aspc se quel file esiste.

Se l'argomento outfile non ha un'estensione .tex, l'output viene inviato a outfile.tex. Se non viene fornito alcun argomento outfile, l'output andrà a infile.tex (o a infile.ltx se si incontra una dichiarazione \documentclass).

Per i comandi \anotes, le interruzioni di riga e gli spazi possono precedere i segmenti di nota, consentendo una formattazione sorgente più flessibile; le interruzioni di riga e gli spazi verranno eliminati dall'output.

Per esempio,


  \anotes
    \ibl0K0\qb0K\nbbl0\qb0{.K}\tbbbl0\tbbl0\tql0L&
    \ibbl1m{-2}\qb1{.m}\tbbbl1\tbbl1\qb1l\tql1k\en

è accettabile e genera


  \notesp\ibl0K0\qb0K&\ibbl1m{-2}\qb1{.m}\en
  \nnotes\sk&\tbbbl1\tbbl1\qb1l\en
  \notesp\nbbl0\qb0{.K}&\tql1k\en
  \nnotes\tbbbl0\tbbl0\tql0L&\sk\en

Se viene utilizzata l'opzione -l ( --log ), viene generato un registro molto dettagliato infile.alog.

Se viene utilizzata l'opzione -d ( --dotted ), le note punteggiate sono raggruppate nella forma \qb{n }{.p} non hanno spazio aggiuntivo; si suppone che la nota successiva venga spostata da un comando simile a \roff o da un comando di spaziatura come \qsk o \hqsk. Comandi nella forma \qlp{p}, \qlpp{p}, ..., \qpb{n}{ p} e \qppb{n}{p} sono sempre spaziati come indicato.

Se c'è un solo rigo, le misure consecutive di pausa intera vengono unite in una pausa multi-misura. Le pause sulla battuta possono essere codificate usando la notazione standard \def\atnextbar ma anche il comando non standard \Cpause (o \Cp) in un segmento di nota genera una pausa sulla battuta.

I comandi di spaziatura \sk e \bsk nel sorgente vengono scartati, ma non "small" salta \hsk, \qsk, \tqsk, \hqsk o \qqsk, o il piccolo "backward" salta \hbsk, \bqsk, \btsk, o \bhsk. Inoltre, i comandi non standard \QQsk, \HQsk \TQsk e \Qsk nel sorgente generano salti "globali"; cioè, l'effetto di \qqsk, \hqsk, \tqsk o \qsk, rispettivamente, in ogni rigo. Questi assicurano che i righi rimangano sincronizzati se è necessaria una spaziatura aggiuntiva in uno o più righi.

I salti globali possono anche essere ottenuti all'interno di sequenze di codifica collettiva utilizzando fino a quattro virgole successive per ottenere rispettivamente gli effetti di \QQsk, \HQsk, \TQsk o \Qsk. I salti globali \tqsk (o, per i doppi bemolli, \qsk) vengono inseriti automaticamente prima delle alterazioni ('^', '_', '=', '<', '>') sulle note di codifica collettiva (tranne quando il la nota precedente è "virtuale"; cioè un salto). Se questa spaziatura aggiuntiva automatica non è desiderata in qualche contesto, può essere evitata sostituendo l'accidentale nella sequenza di codifica collettiva con uno qualsiasi dei comandi accidentali espliciti: \sh , \fl, \na, \smallsh, \bigsh, ecc. Se la spaziatura automatica è insufficiente, la spaziatura può essere aumentata aggiungendo virgole sufficienti o usando un comando note convenzionale invece di \anotes.

Un segmento di nota può essere completamente vuoto, ma se un segmento di nota deve iniziare o contenere uno "spazio", il valore della nota di quello spazio deve essere reso esplicito con un comando della forma \ha{*}, \qa{. *}, \qa{*}, \ca{*}, ecc.

Dalla versione 2017-06-14, gli effetti delle chiamate \TransformNotes sono implementati dal preprocessore autosp. Ciò consente l'uso di musixlyr nelle partiture autosp; musixlyr.tex non è compatibile con l'implementazione musixtnt.tex di \TransformNotes.

Tutti gli altri comandi MusiXTeX convenzionali vengono emessi esattamente come indicato nell'input.

OPERAZIONE

autosp determina la spaziatura per le note ordinarie dai comandi di nota stessi; Per esempio,

+
\qa, \qu, \ql, \qp 

risultato in

\NOtes; 
+

\ca, \cu, \cl, \ds

risultato in

\Notes; 

e così via. La spaziatura per le note congiunte è determinata dalla molteplicità delle travature, così che \ib... risulta in \Notes, \ibb... risulta in \notes, ecc.

La codifica collettiva delle sequenze di note (incluse alterazioni e punti) viene gestita espandendo la sequenza in una sequenza di singoli comandi di nota.

autosp ridimensiona le note in base al valore della dimensione dello strumento pertinente.

LIMITAZIONI

autosp presuppone che & e | (piuttosto che \nextinstrument e \nextstaff) sono usati per separare strumenti e pentagrammi.

Appoggiature e abbellimenti si riconoscono dall'uso di \tinynotesize; viene utilizzata una spaziatura tra le note di 1,45\elemskip. Se questo non è adatto e non può essere corretto con un piccolo salto, è possibile utilizzare un comando \vnotes con qualsiasi spaziatura desiderata.

autosp supporta x-tuplet introdotti usando \xtuplet{x} o \xxtuplet{x:y} e <triplette introdotte utilizzando uno dei seguenti comandi (indipendentemente da qualsiasi ridefinizione di \txt o \tuplettxt):


  \triolet
  \uptrio
  \downtrio
  \uptuplet
  \downtuplet

autosp presuppone che un x-tuplet debba essere riprodotto in (x-1)/x della durata apparente del x-tuplet. Così, per esempio, si suppone che una terzina di ottavi venga suonata nel tempo di una semiminima. Se questo presupposto non è valido, l'x-tuplet deve essere codificato esplicitamente usando un comando \vnotes adatto; vedere la prima battuta di barsant2.aspc per un esempio di gruppo irregolare x non standard: una tupla di 5 note di 64esimi con una durata prevista di sei 64esimi.

In alcune partiture poliritmiche, il numero \txt può essere spostato, anche se le note stesse sono spaziate correttamente. In questi casi, è possibile sopprimere il normale output di \txt usando i comandi non standard \Triolet (nessun argomento) o \Xtuplet{k}\ e posizionando un numero nella posizione corretta usando \zcn (cioè,\zcharnote).

autosp può gestire gruppi irregolari x simultanei in più righi a condizione che i valori x e la durata totale delle note siano identici.

In alcune partiture barocche, in particolare di J.S. Bach, una sedicesima nota con travatura è allineata verticalmente con la terza nota di una terzina di crome in un altro rigo (il che implica che dovrebbero essere suonate simultaneamente); per esempio.,


    \ibl0L0\qb0{.L}\tqql0L

verrebbe suonato come se fosse annotato


    \uptrio{b}10\ql L\hroff{\cl L}

La seguente codifica allineerà la sedicesima nota con tratto d'unione con la terza nota di una terzina in un altro pentagramma:


    \ibl0L0\qb0{.L}\hbsk\tqql0L

e, analogamente, per terzine di note da un sedicesimo:


    \ibbu0J0\qb0{.J}\hbsk\nqqqu0J\qb0{.J}\hbsk\tqqqu0J

In genere, le macro definite dall'utente non vengono elaborate o espanse; tuttavia, definizioni della forma


    \def\atnextbar{\znotes ... \en}

generare definizioni che tengano conto di \TransformNotes.

Si presume che tutto il personale abbia lo stesso contatore; vedi kinder2.aspc per un esempio di come aggirare questo problema.

autosp potrebbe non essere efficace per la musica con più di una voce in un singolo rigo. Potrebbe essere consigliabile usare un rigo separato per ogni voce, per evitare \anotes quando necessario, o per omettere inizialmente certe voci e aggiungerle nel file TeX risultante.

ESEMPI

Vedere i file quod2.aspc, kinder2.aspc, geminiani.aspc e barsant2.aspc per i punteggi adatti per l'input in autosp. Il programma tex2aspc può essere utilizzato per convertire partiture MusiXTeX "legacy" in formato .aspc.

GUARDA ANCHE

msxlint(1) tex2aspc(1)

musixdoc.pdf

AUTORE

Questo programma e la pagina di manuale sono stati scritti da Bob Tennent rdt@cs.queensu.ca.